Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tantangan signifikan dalam mengoperasikan sistem yang kompleks seperti Microsoft Azure adalah memastikan bahwa hanya perangkat lunak sah yang berjalan di sistem. Perangkat lunak yang tidak sah menghadirkan beberapa risiko bagi bisnis apa pun:
- Risiko keamanan seperti alat serangan khusus, malware khusus, dan perangkat lunak pihak ketiga dengan kerentanan yang diketahui
- Risiko kepatuhan ketika proses manajemen perubahan yang disetujui tidak digunakan untuk membawa perangkat lunak baru
- Risiko kualitas dari perangkat lunak yang dikembangkan secara eksternal, yang mungkin tidak memenuhi kebutuhan operasional bisnis
Azure menghadapi tantangan yang sama dengan kompleksitas yang signifikan. Ribuan server menjalankan perangkat lunak yang dikembangkan dan dipelihara oleh ribuan insinyur. Skala ini menghadirkan permukaan serangan besar yang tidak dapat ditangani oleh proses bisnis saja.
Menambahkan gerbang otorisasi
Azure menggunakan proses rekayasa yang kaya yang menerapkan gerbang pada keamanan, kepatuhan, dan kualitas perangkat lunak yang diterapkan. Proses ini mencakup kontrol akses ke kode sumber, tinjauan kode sebangsa, analisis statis untuk kerentanan keamanan, Siklus Hidup Pengembangan Keamanan (SDL) Microsoft, serta pengujian fungsional dan kualitas. Microsoft perlu menjamin bahwa perangkat lunak yang diterapkan mengalir melalui proses ini. Integritas kode membantu mencapai jaminan tersebut.
Integritas kode sebagai gerbang otorisasi
Integritas kode adalah layanan tingkat kernel yang mulai tersedia sejak Server Windows 2016. Integritas kode dapat menerapkan kebijakan pengendalian eksekusi yang ketat setiap kali driver atau pustaka tautan dinamis (DLL) dimuat, biner eksekusi dijalankan, atau skrip dijalankan. Sistem serupa, seperti DM-Verity, ada untuk Linux. Kebijakan integritas kode terdiri dari serangkaian indikator otorisasi, baik sertifikat penandatanganan kode maupun hash file SHA-256 , yang dicocokkan kernel sebelum memuat atau menjalankan biner atau skrip.
Integritas kode memungkinkan administrator sistem untuk mendefinisikan kebijakan yang hanya mengizinkan biner dan skrip yang ditandatangani oleh sertifikat tertentu atau yang cocok dengan hash SHA-256 tertentu. Kernel memberlakukan kebijakan ini dengan memblokir eksekusi segala sesuatu yang tidak memenuhi kebijakan yang ditetapkan.
Kebijakan integritas kode dapat memblokir perangkat lunak penting dalam produksi dan menyebabkan gangguan kecuali kebijakan tersebut benar-benar benar. Mengingat kekhawatiran ini, Anda mungkin bertanya mengapa pemantauan keamanan tidak cukup untuk mendeteksi eksekusi perangkat lunak yang tidak sah. Integritas kode memiliki mode audit yang, alih-alih mencegah eksekusi, dapat memberi peringatan saat perangkat lunak tidak sah dijalankan. Pemberitahuan dapat memberikan nilai tambah besar dalam menangani risiko kepatuhan. Namun, untuk risiko keamanan seperti ransomware atau malware kustom, menunda respons bahkan beberapa detik bisa menjadi perbedaan antara perlindungan dan musuh mendapatkan pijakan permanen di armada Anda. Di Azure, Microsoft berinvestasi secara signifikan untuk mengelola risiko integritas kode yang berkontribusi pada gangguan yang berdampak pada pelanggan.
Proses kompilasi
Seperti yang telah dijelaskan sebelumnya, sistem build Azure memiliki serangkaian pengujian yang kaya untuk memastikan perubahan perangkat lunak aman dan sesuai dengan standar. Setelah sebuah build berlangsung melalui validasi, sistem build menandatanganinya menggunakan sertifikat build Azure. Sertifikat menunjukkan bahwa build telah melewati seluruh proses manajemen perubahan. Tes terakhir yang dijalani build ini adalah Code Signature Validation (CSV). CSV mengonfirmasi bahwa biner yang baru dibangun memenuhi kebijakan integritas kode sebelum Microsoft menerapkannya ke produksi. Validasi ini membuat Microsoft sangat yakin bahwa biner yang ditandatangani secara keliru tidak akan menyebabkan gangguan yang memengaruhi pelanggan. Jika CSV menemukan masalah, build akan rusak dan insinyur terkait akan dipanggil untuk menyelidiki dan memperbaiki masalah tersebut.
Keamanan selama penyebaran
Meskipun Azure melakukan CSV untuk setiap build, beberapa perubahan atau ketidakkonsistenan dalam produksi mungkin tetap menyebabkan gangguan terkait integritas kode. Misalnya, sebuah mesin mungkin menjalankan versi lama dari kebijakan integritas kode, atau dalam kondisi tidak sehat yang menghasilkan positif palsu pada integritas kode. Pada skala Azure, Microsoft telah melihat semuanya. Azure terus melindungi dari risiko terjadinya gangguan layanan selama penerapan.
Semua perubahan di Azure harus diterapkan melalui serangkaian tahap. Tahap pertama adalah instance pengujian internal Azure. Tahap berikutnya hanya melayani tim produk Microsoft lainnya. Tahap akhir melayani pelanggan pihak ketiga. Ketika Azure menerapkan perubahan, perubahan tersebut berpindah ke setiap tahap secara bergiliran dan berhenti sejenak untuk mengukur kesehatan tahap tersebut. Jika perubahan tidak berdampak negatif, maka akan lanjut ke tahap berikutnya. Jika Microsoft melakukan perubahan buruk pada kebijakan integritas kode, penerapan bertahap akan mendeteksi perubahan tersebut dan membatalkannya.
Penanganan insiden
Bahkan dengan perlindungan berlapis ini, server dalam armada dapat memblokir perangkat lunak yang sudah diotorisasi dengan benar dan menyebabkan masalah yang berhadapan langsung dengan pelanggan, salah satu skenario terburuk Microsoft. Lapisan pertahanan terakhir adalah investigasi manusia. Setiap kali integritas kode memblokir sebuah file, sistem akan memicu peringatan agar insinyur yang sedang bertugas dapat menyelidikinya. Peringatan ini memungkinkan para insinyur memulai investigasi keamanan dan melakukan intervensi, baik masalahnya merupakan indikator serangan nyata, positif palsu, atau situasi lain yang berdampak pada pelanggan. Peringatan ini meminimalkan waktu yang dibutuhkan untuk mengurangi masalah integritas kode.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang cara Microsoft mendorong integritas dan keamanan platform, lihat: