SEC01-BP07 Identifikasikan ancaman dan prioritaskan mitigasi menggunakan model ancaman - AWS Well-Architected Framework

SEC01-BP07 Identifikasikan ancaman dan prioritaskan mitigasi menggunakan model ancaman

Lakukan pemodelan ancaman untuk mengidentifikasi dan menyediakan daftar potensi ancaman terbaru serta mitigasi terkait untuk beban kerja Anda. Tentukan prioritas ancaman dan sesuaikan mitigasi kontrol keamanan Anda untuk mencegah, mendeteksi, dan merespons ancaman. Periksa kembali dan kelola sesuai dengan konteks beban kerja Anda, serta lanskap keamanan yang terus berubah.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Tinggi

Panduan implementasi

Apa itu pemodelan ancaman?

“Pemodelan ancaman digunakan untuk mengidentifikasi, mengomunikasikan, serta memahami ancaman dan mitigasi untuk melindungi suatu nilai.” – The Open Web Application Security Project (OWASP) Application Threat Modeling

Mengapa pemodelan ancaman sebaiknya dilakukan?

Sistem begitu kompleks. Kompleksitas dan kemampuannya akan makin meningkat seiring waktu, sehingga memberikan nilai bisnis yang lebih banyak dan meningkatkan keterlibatan serta kepuasan pelanggan. Artinya, keputusan desain IT perlu mempertimbangkan peningkatan jumlah kasus penggunaan. Perubahan kompleksitas dan jumlah kasus penggunaan ini biasanya menjadikan pendekatan tidak terstruktur tidak efektif untuk menemukan dan memitigasi ancaman. Maka, Anda memerlukan pendekatan sistematis untuk menghitung potensi ancaman terhadap sistem, serta untuk melakukan dan memprioritaskan mitigasi untuk memastikan organisasi Anda dapat meningkatkan postur keamanan sistem secara keseluruhan dengan maksimal meski dengan sumber daya terbatas.

Pemodelan ancaman dirancang untuk memberikan pendekatan sistematis ini, yang bertujuan untuk menemukan dan mengatasi masalah dalam proses desain lebih awal, saat biaya dan upaya mitigasi relatif rendah dibandingkan setelahnya dalam siklus hidup. Pendekatan ini selaras dengan prinsip industri keamanan shift-left. Pada intinya, pemodelan ancaman akan terintegrasi dengan proses manajemen risiko organisasi serta membantu menentukan kontrol mana yang akan diimplementasikan menggunakan pendekatan berbasis ancaman.

Kapan seharusnya pemodelan ancaman dilakukan?

Mulai pemodelan ancaman dalam siklus hidup beban kerja Anda sedini mungkin. Hal ini membuat Anda lebih fleksibel dalam menentukan tindakan untuk mengatasi ancaman yang teridentifikasi. Seperti halnya bug perangkat lunak, makin dini Anda mengidentifikasi ancaman, makin hemat biaya penanganannya. Model ancaman adalah dokumen hidup (living document) dan akan terus berkembang seiring perubahan beban kerja Anda. Tinjau kembali model ancaman Anda dari waktu ke waktu, termasuk saat terjadi perubahan besar, perubahan dalam lanskap ancaman, atau saat mengadopsi fitur atau layanan baru.

Langkah implementasi

Bagaimana cara menjalankan pemodelan ancaman?

Pemodelan ancaman bisa dijalankan dengan banyak cara. Seperti halnya bahasa pemrograman, setiap model memiliki kelebihan dan kekurangannya masing-masing. Pilih cara yang paling tepat untuk Anda. Salah satu pendekatannya adalah memulai dengan Shostack’s 4 Question Frame for Threat Modeling yang berisi pertanyaan terbuka agar pengujian pemodelan ancaman Anda terstruktur:

  1. Apa yang sedang Anda kerjakan?

    Pertanyaan ini bertujuan untuk membantu memahami dan menentukan sistem yang sedang Anda bangun serta detail sistem tersebut yang relevan dengan keamanan. Membuat model atau diagram adalah salah satu cara paling populer untuk menjawab pertanyaan ini karena dapat membantu Anda memvisualisasikan apa yang sedang Anda bangun, misalnya, menggunakan diagram alur data. Menuliskan asumsi dan detail penting tentang sistem Anda juga dapat membantu Anda menentukan cakupan. Hal ini membantu menyatukan fokus semua orang yang berkontribusi dalam model ancaman, serta menghindari topik di luar cakupan (termasuk versi lama sistem Anda) yang memakan banyak waktu. Misalnya, jika Anda sedang membuat aplikasi web, sepertinya tidak layak untuk membuang waktu melakukan pemodelan ancaman untuk urutan boot tepercaya pada sistem operasi untuk klien browser karena desain Anda tidak akan dapat memengaruhi hal ini.

  2. Apa saja potensi permasalahannya?

    Di sini Anda dapat mengidentifikasi ancaman terhadap sistem Anda. Ancaman adalah tindakan atau peristiwa yang disengaja atau tidak disengaja, yang dampaknya tidak diharapkan dan dapat memengaruhi keamanan sistem Anda. Tanpa mengetahui dengan jelas apa saja potensi permasalahannya, Anda tidak akan tahu cara penanganannya.

    Tidak ada daftar khusus tentang apa saja masalah yang dapat terjadi. Pembuatan daftar ini memerlukan diskusi dan kolaborasi antara setiap individu di dalam tim Anda serta pihak terkait yang terlibat dalam pengujian pemodelan ancaman. Anda dapat melengkapi diskusi dengan model untuk mengidentifikasi ancaman, seperti STRIDE, yang menunjukkan berbagai kategori evaluasi: Penipuan (Spoofing), Manipulasi (Tampering), Penolakan (Repudiation), Kebocoran Informasi (Information Disclosure), Penolakan Layanan (Denial of Service), dan Peningkatan Hak Akses (Elevation of Privilege). Selain itu, Anda mungkin ingin melengkapi diskusi dengan meninjau daftar yang sudah ada dan penelitian untuk inspirasi, termasuk OWASP Top 10, HiTrust Threat Catalog, dan katalog ancaman milik organisasi Anda.

  3. Apa tindakan yang akan Anda lakukan?

    Sama seperti pertanyaan sebelumnya, tidak ada daftar khusus untuk semua kemungkinan mitigasi. Input dalam langkah ini adalah ancaman yang teridentifikasi, pelaku, dan area peningkatan dari langkah sebelumnya.

    Keamanan dan kepatuhan adalah tanggung jawab bersama antara Anda dan AWS. Perlu dipahami bahwa pertanyaan “Tindakan apa yang akan kita lakukan?” harus disertai dengan pertanyaan “Siapa yang bertanggung untuk melakukan hal ini?”. Memahami keseimbangan tanggung jawab antara Anda dan AWS membantu Anda menentukan cakupan pengujian pemodelan ancaman ke mitigasi dalam kontrol Anda, yang biasanya merupakan gabungan dari opsi konfigurasi layanan AWS dan mitigasi dari sistem Anda sendiri.

    Untuk porsi tanggung jawab bersama AWS, Anda akan melihat bahwa layanan AWS masuk dalam cakupan banyak program kepatuhan. Program-program tersebut akan membantu Anda memahami penerapan kontrol yang andal di AWS untuk menjaga keamanan dan kepatuhan cloud. Laporan audit dari program-program ini dapat diunduh oleh pelanggan AWS melalui AWS Artifact.

    Apa pun layanan AWS yang Anda gunakan, selalu ada elemen yang menjadi tanggung jawab pelanggan, dan mitigasi yang diselaraskan dengan tanggung jawab ini harus disertakan dalam model ancaman Anda. Untuk mitigasi kontrol keamanan bagi layanan AWS sendiri, Anda perlu mempertimbangkan implementasi kontrol keamanan di seluruh domain, termasuk domain seperti manajemen akses dan identitas (autentikasi dan otorisasi), perlindungan data (diam dan bergerak), keamanan infrastruktur, pencatatan log, dan pemantauan. Dokumentasi untuk setiap layanan AWS memiliki bab keamanan khusus yang menyediakan panduan tentang kontrol keamanan yang perlu dipertimbangkan sebagai mitigasi. Pertimbangkan kode yang Anda tulis dan dependensi kodenya karena hal ini sangat penting, serta tentukan kontrol yang dapat Anda terapkan untuk mengatasi ancaman. Kontrol ini dapat berupa validasi input, penanganan sesi, dan penanganan ikatan. Fokus pada kode kustom karena sebagian besar kerentanan seringnya terjadi di area ini.

  4. Apakah kita melakukannya dengan baik?

    Tujuannya adalah agar tim dan organisasi Anda dapat meningkatkan kualitas model ancaman dan kecepatan dalam melakukan pemodelan ancaman dari waktu ke waktu. Peningkatan ini adalah hasil dari gabungan praktik, pembelajaran, pengajaran, dan peninjauan. Agar Anda dan tim Anda dapat mempelajari lebih lanjut dan melakukan praktik langsung, sebaiknya ikuti lokakarya atau kursus pelatihan Pemodelan ancaman yang benar bagi builder. Selain itu, jika Anda mencari panduan tentang cara mengintegrasikan pemodelan ancaman ke dalam siklus hidup pengembangan organisasi Anda, lihat postingan Cara melakukan pendekatan terhadap pemodelan ancaman di AWS Security Blog.

Threat Composer

Untuk membantu dan memandu Anda dalam membuat model ancaman, pertimbangkan untuk menggunakan alat Threat Composer, yang bertujuan untuk mempercepat waktu mencapai nilai saat membuat model ancaman. Alat ini membantu Anda melakukan hal berikut:

  • Menulis pernyataan ancaman berguna yang selaras dengan tata bahasa ancaman yang bekerja dalam alur kerja non-linear alami

  • Menghasilkan model ancaman yang dapat dibaca manusia

  • Membuat model ancaman yang dapat dibaca mesin untuk memungkinkan Anda memperlakukan model ancaman sebagai kode

  • Membantu Anda mengidentifikasi area peningkatan kualitas dan cakupan dengan cepat menggunakan Dasbor Wawasan

Untuk referensi lebih lanjut, kunjungi Threat Composer dan beralih ke Ruang Kerja Contoh yang ditentukan sistem.

Sumber daya

Praktik Terbaik Terkait:

Dokumen terkait:

Video terkait:

Pelatihan terkait:

Alat terkait: