Bagikan melalui


Pengesahan boot dan host terukur

Artikel ini menjelaskan bagaimana Microsoft memastikan integritas dan keamanan host melalui pengesahan boot dan host terukur.

Boot terukur

Trusted Platform Module (TPM) adalah komponen audit anti-perubahan dan aman secara kriptografis dengan firmware yang disediakan oleh pihak ketiga tepercaya. Log konfigurasi boot berisi pengukuran rantai hash yang dicatat di Platform Configuration Registers (PCR) saat terakhir kali host menjalani urutan bootstrap. Gambar berikut menunjukkan proses pencatatan ini. Secara bertahap menambahkan pengukuran yang sebelumnya di-hash ke hash pengukuran berikutnya dan menjalankan algoritme hash pada gabungan yang mencapai rantai hash.

Diagram yang menunjukkan rantai hash Host Attestation Service.

Pengesahan dilakukan saat host melengkapi bukti status konfigurasinya menggunakan log konfigurasi boot (TCGLog). Pemalsuan log boot sulit karena TPM tidak mengekspos nilai PCR-nya selain operasi baca dan perluasan. Selain itu, info masuk yang disediakan oleh Host Attestation Service disegel ke nilai PCR tertentu. Penggunaan rantai hash membuatnya secara komputasi tidak layak untuk memalsukan atau membuka info masuk di luar pita.

Host Attestation Service

Host Attestation Service adalah tindakan pencegahan yang memeriksa apakah komputer host dapat dipercaya sebelum diizinkan untuk berinteraksi dengan data pelanggan atau beban kerja. Host Attestation Service memeriksa dengan memvalidasi pernyataan kepatuhan (bukti yang dapat diverifikasi dari kepatuhan host) yang dikirim oleh setiap host terhadap kebijakan pengesahan (definisi status aman). Integritas sistem ini dijamin oleh akar kepercayaan yang disediakan oleh TPM.

Host Attestation Service hadir di setiap kluster Azure dalam lingkungan khusus yang dikunci. Lingkungan yang dikunci termasuk layanan penjaga gerbang lainnya yang berpartisipasi dalam protokol bootstrap komputer host. Infrastruktur kunci publik (PKI) bertindak sebagai perantara untuk memvalidasi pembuktian permintaan pengesahan dan sebagai penerbit identitas (kontingen pada pengesahan host yang sukses). Info masuk pasca-pengesahan yang dikeluarkan untuk host yang membuktikan disegel ke identitasnya. Hanya host yang meminta yang dapat membuka info masuk dan memanfaatkannya untuk mendapatkan izin bertambah bertahap. Ini mencegah serangan man-in-the-middle dan spoofing.

Jika host Azure tiba dari pabrik dengan kesalahan konfigurasi keamanan atau dirusak di pusat data, TCGLog-nya berisi indikator penyusupan yang ditandai oleh Host Attestation Service pada pengesahan berikutnya, yang menyebabkan kegagalan pengesahan. Kegagalan pengesahan mencegah armada Azure memercayai host yang menyinggung. Pencegahan ini secara efektif memblokir semua komunikasi ke dan dari host dan memicu alur kerja insiden. Investigasi dan analisis post-mortem mendetail dilakukan untuk menentukan akar penyebab dan setiap potensi indikasi penyusupan. Hanya setelah analisis selesai bahwa host diremediasi dan memiliki kesempatan untuk bergabung dengan armada Azure dan mengambil beban kerja pelanggan.

Berikut adalah arsitektur tingkat tinggi dari layanan pengesahan host:

Diagram yang menunjukkan arsitektur Host Attestation Service.

Pengukuran pengesahan

Berikut adalah contoh dari banyak pengukuran yang diambil hari ini.

Kunci Boot Aman dan Boot Aman

Dengan memvalidasi bahwa penyerapan database tanda tangan dan database tanda tangan yang dicabut sudah benar, Host Attestation Service memastikan agen klien mempertimbangkan perangkat lunak yang tepat untuk dipercaya. Dengan memvalidasi tanda tangan database kunci pendaftaran kunci publik dan kunci platform publik, Host Attestation Service memastikan bahwa hanya pihak tepercaya yang memiliki izin untuk memodifikasi definisi perangkat lunak apa yang dianggap tepercaya. Terakhir, dengan memastikan bahwa boot aman aktif, Host Attestation Service memvalidasi definisi ini sedang diberlakukan.

Kontrol debug

Debugger adalah alat yang kuat untuk pengembang. Namun, akses tak terbatas ke memori dan perintah debug lainnya dapat melemahkan perlindungan data dan integritas sistem jika diberikan kepada pihak yang tidak tepercaya. Host Attestation Service memastikan segala jenis penelusuran kesalahan dinonaktifkan pada boot di komputer produksi.

Integritas kode

UEFI Secure Boot memastikan bahwa hanya perangkat lunak tingkat rendah tepercaya yang dapat berjalan selama urutan boot. Namun, pemeriksaan yang sama juga harus diterapkan di lingkungan pasca-boot untuk driver dan executable lainnya dengan akses kernel-mode. Untuk itu, kebijakan integritas kode (CI) digunakan untuk menentukan driver, biner, dan executable lainnya yang dianggap tepercaya dengan menentukan tanda tangan yang valid dan tidak valid. Kebijakan ini diberlakukan. Pelanggaran kebijakan membuat pemberitahuan kepada tim respons insiden keamanan untuk penyelidikan.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang apa yang kami lakukan untuk mendorong integritas dan keamanan platform, lihat: