Rekomendasi untuk analisis ancaman

Berlaku untuk rekomendasi daftar periksa Azure Well-Architected Framework Security ini:

SE:02 Tetapkan garis besar keamanan yang selaras dengan persyaratan kepatuhan, standar industri, dan rekomendasi platform. Ukur arsitektur dan operasi beban kerja Anda secara teratur terhadap garis besar untuk mempertahankan atau meningkatkan postur keamanan Anda dari waktu ke waktu.

Panduan terkait: Rekomendasi untuk mengamankan siklus hidup pengembangan

Analisis komprehensif untuk mengidentifikasi ancaman, serangan, kerentanan, dan tindakan penghitung sangat penting selama fase desain beban kerja. Pemodelan ancaman adalah latihan rekayasa yang mencakup menentukan persyaratan keamanan, mengidentifikasi dan mengurangi ancaman, dan memvalidasi mitigasi tersebut. Anda dapat menggunakan teknik ini pada setiap tahap pengembangan atau produksi aplikasi, tetapi paling efektif selama tahap desain fungsionalitas baru.

Panduan ini menjelaskan rekomendasi untuk melakukan pemodelan ancaman sehingga Anda dapat mengidentifikasi celah keamanan dengan cepat dan merancang pertahanan keamanan Anda.

Definisi 

Istilah Definisi
Siklus hidup pengembangan perangkat lunak (SDLC) Proses multistage dan sistematis untuk mengembangkan sistem perangkat lunak.
STRIDE Taksonomi yang ditentukan Microsoft untuk mengategorikan jenis ancaman.
Pemodelan ancaman Proses untuk mengidentifikasi potensi kerentanan keamanan dalam aplikasi dan sistem, mengurangi risiko, dan memvalidasi kontrol keamanan.

Strategi desain utama

Pemodelan ancaman adalah proses penting yang harus diintegrasikan organisasi ke dalam SDLC-nya. Pemodelan ancaman bukan hanya tugas pengembang. Ini adalah tanggung jawab bersama antara:

  • Tim beban kerja, yang bertanggung jawab atas aspek teknis sistem.
  • Pemangku kepentingan bisnis, yang memahami hasil bisnis dan memiliki minat yang tinggi pada keamanan.

Sering kali ada keterputusan antara kepemimpinan organisasi dan tim teknis terkait kebutuhan bisnis untuk beban kerja kritis. Pemutusan sambungan ini dapat menyebabkan hasil yang tidak diinginkan, terutama untuk investasi keamanan.

Ketika tim beban kerja melakukan latihan pemodelan ancaman, tim harus mempertimbangkan persyaratan bisnis dan teknis. Tim beban kerja dan pemangku kepentingan bisnis harus menyetujui kebutuhan khusus keamanan beban kerja sehingga mereka dapat melakukan investasi yang memadai dalam penanggulangan.

Persyaratan keamanan berfungsi sebagai panduan untuk seluruh proses pemodelan ancaman. Untuk menjadikannya latihan yang efektif, tim beban kerja harus memiliki pola pikir keamanan dan dilatih dalam alat pemodelan ancaman.

Memahami cakupan latihan

Pemahaman yang jelas tentang cakupan sangat penting untuk pemodelan ancaman yang efektif. Ini membantu memfokuskan upaya dan sumber daya pada area yang paling penting. Strategi ini melibatkan mendefinisikan batas-batas sistem, mengambil inventori aset yang perlu dilindungi, dan memahami tingkat investasi yang diperlukan dalam kontrol keamanan.

Mengumpulkan informasi tentang setiap komponen

Diagram arsitektur beban kerja adalah titik awal untuk mengumpulkan informasi karena menyediakan representasi visual sistem. Diagram menyoroti dimensi teknis sistem. Misalnya, ini menunjukkan alur pengguna, bagaimana data bergerak melalui jaringan, tingkat sensitivitas data dan jenis informasi, dan jalur akses identitas.

Analisis terperinci ini sering dapat memberikan wawasan tentang potensi kerentanan dalam desain. Penting untuk memahami fungsionalitas setiap komponen dan dependensinya.

Mengevaluasi potensi ancaman

Analisis setiap komponen dari perspektif luar dalam. Misalnya, seberapa mudah penyerang dapat memperoleh akses ke data sensitif? Jika penyerang mendapatkan akses ke lingkungan, dapatkah mereka bergerak secara lateral dan berpotensi mengakses atau bahkan memanipulasi sumber daya lain? Pertanyaan-pertanyaan ini membantu Anda memahami bagaimana penyerang dapat mengeksploitasi aset beban kerja.

Mengklasifikasikan ancaman dengan menggunakan metodologi industri

Salah satu metodologi untuk mengklasifikasikan ancaman adalah STRIDE, yang digunakan Siklus Hidup Pengembangan Keamanan Microsoft. Mengklasifikasikan ancaman membantu Anda memahami sifat setiap ancaman dan menggunakan kontrol keamanan yang sesuai.

Mengurangi ancaman

Mendokumenkan semua ancaman yang diidentifikasi. Untuk setiap ancaman, tentukan kontrol keamanan dan respons terhadap serangan jika kontrol tersebut gagal. Tentukan proses dan garis waktu yang meminimalkan paparan kerentanan yang diidentifikasi dalam beban kerja, sehingga kerentanan tersebut tidak dapat dibiarkan tanpa alamat.

Gunakan pendekatan asumsikan pelanggaran . Ini dapat membantu mengidentifikasi kontrol yang diperlukan dalam desain untuk mengurangi risiko jika kontrol keamanan utama gagal. Evaluasi seberapa besar kemungkinan kontrol utama gagal. Jika gagal, berapa tingkat potensi risiko organisasi? Juga, apa efektivitas kontrol kompensasi? Berdasarkan evaluasi, terapkan langkah-langkah pertahanan mendalam untuk mengatasi potensi kegagalan kontrol keamanan.

Berikut adalah contohnya:

Ajukan pertanyaan ini Untuk menentukan kontrol bahwa...
Apakah koneksi diautentikasi melalui ID Microsoft Entra, Keamanan Lapisan Transportasi (TLS) dengan autentikasi bersama, atau protokol keamanan modern lain yang disetujui tim keamanan:

- Antara pengguna dan aplikasi?

- Antara komponen aplikasi dan layanan?
Mencegah akses tidak sah ke komponen dan data aplikasi.
Apakah Anda membatasi akses hanya ke akun yang perlu menulis atau mengubah data dalam aplikasi? Mencegah gangguan atau perubahan data yang tidak berwenang.
Apakah aktivitas aplikasi dicatat dan dimasukkan ke dalam sistem manajemen informasi dan peristiwa keamanan (SIEM) melalui Azure Monitor atau solusi serupa? Mendeteksi dan menyelidiki serangan dengan cepat.
Apakah data penting dilindungi dengan enkripsi yang disetujui tim keamanan? Mencegah penyalinan yang tidak berwenang atas data tidak aktif.
Apakah lalu lintas jaringan masuk dan keluar dienkripsi melalui TLS? Mencegah penyalinan data dalam transit.
Apakah aplikasi dilindungi dari serangan penolakan layanan terdistribusi (DDoS) melalui layanan seperti Azure DDoS Protection? Mendeteksi serangan yang dirancang untuk membebani aplikasi sehingga aplikasi tidak dapat digunakan.
Apakah kredensial atau kunci masuk penyimpanan aplikasi untuk mengakses aplikasi, database, atau layanan lain? Identifikasi apakah serangan dapat menggunakan aplikasi Anda untuk menyerang sistem lain.
Apakah kontrol aplikasi memungkinkan Anda untuk memenuhi persyaratan peraturan? Lindungi data privat pengguna dan hindari denda kepatuhan.

Melacak hasil pemodelan ancaman

Kami sangat menyarankan Anda menggunakan alat pemodelan ancaman. Alat dapat mengotomatiskan proses mengidentifikasi ancaman dan menghasilkan laporan komprehensif dari semua ancaman yang diidentifikasi. Pastikan untuk mengomunikasikan hasilnya kepada semua tim yang tertarik.

Lacak hasilnya sebagai bagian dari backlog tim beban kerja untuk memungkinkan akuntabilitas secara tepat waktu. Tetapkan tugas kepada individu yang bertanggung jawab untuk mengurangi risiko tertentu yang diidentifikasi oleh pemodelan ancaman.

Saat Anda menambahkan fitur baru ke solusi, perbarui model ancaman dan integrasikan ke dalam proses manajemen kode. Jika Anda menemukan masalah keamanan, pastikan ada proses untuk melakukan triase masalah berdasarkan tingkat keparahan. Proses ini akan membantu Anda menentukan kapan dan bagaimana memulihkan masalah (misalnya, dalam siklus rilis berikutnya atau dalam rilis yang lebih cepat).

Meninjau persyaratan beban kerja yang penting bagi bisnis secara teratur

Temui secara teratur dengan sponsor eksekutif untuk menentukan persyaratan. Tinjauan ini memberikan kesempatan untuk menyelaraskan ekspektasi dan memastikan alokasi sumber daya operasional dengan inisiatif.

Fasilitasi Azure

Siklus Hidup Pengembangan Keamanan Microsoft menyediakan alat pemodelan ancaman untuk membantu proses pemodelan ancaman. Alat ini tersedia tanpa biaya tambahan. Untuk informasi selengkapnya, lihat halaman Pemodelan Ancaman.

Contoh

Contoh ini dibangun pada lingkungan Teknologi Informasi (TI) yang ditetapkan dalam garis besar keamanan (SE:01). Pendekatan ini memberikan pemahaman luas tentang lanskap ancaman di berbagai skenario IT.

Diagram yang memperlihatkan contoh garis besar keamanan organisasi dengan lanskap ancaman.

  1. Persona Siklus Hidup Pengembangan. Ada banyak persona yang terlibat dalam siklus hidup pengembangan, termasuk pengembang, penguji, pengguna akhir, dan administrator. Semuanya dapat disusupi dan membahayakan lingkungan Anda melalui kerentanan atau ancaman yang dibuat dengan sengaja.

  2. Penyerang potensial. Penyerang mempertimbangkan berbagai alat yang tersedia dengan mudah digunakan kapan saja untuk mengeksplorasi kerentanan Anda dan memulai serangan.

  3. Kontrol keamanan. Sebagai bagian dari analisis ancaman, identifikasi layanan keamanan Azure yang akan digunakan untuk melindungi solusi Anda dan seberapa efektif solusi tersebut.

  4. Pengumpulan log. Log dari sumber daya Azure dan beberapa komponen lokal dapat dikirim ke Azure Log Analytics sehingga Anda dapat memahami perilaku solusi yang dikembangkan dan mencoba menangkap kerentanan awal.

  5. Solusi manajemen peristiwa informasi keamanan (SIEM). Microsoft Azure Sentinel dapat ditambahkan bahkan pada tahap awal solusi sehingga Anda dapat membangun beberapa kueri analitik untuk mengurangi ancaman dan kerentanan, mengantisipasi lingkungan keamanan Anda saat Anda dalam produksi.

  6. Microsoft Defender untuk Cloud mungkin membuat beberapa rekomendasi keamanan untuk meningkatkan postur keamanan.

Open Web Application Security Project (OWASP) telah mendokumentasikan pendekatan pemodelan ancaman untuk aplikasi.

Daftar periksa keamanan

Lihat kumpulan rekomendasi lengkap.