Salah satu tantangan terbesar dalam membangun sistem yang aman adalah mengenali ancaman sebelum sistem digunakan. Banyak celah keamanan muncul bukan karena teknologi yang digunakan kurang baik, tetapi karena potensi risiko tidak teridentifikasi sejak tahap perancangan. Ketika masalah baru ditemukan setelah aplikasi berjalan, biaya perbaikan biasanya menjadi lebih besar dan dapat mengganggu operasional.
Untuk mengurangi risiko tersebut, banyak tim pengembang menerapkan threat modelling. Salah satu metode yang paling sering digunakan adalah STRIDE, yaitu kerangka kerja yang membantu mengelompokkan ancaman ke dalam enam kategori utama. Dengan pendekatan ini, proses identifikasi ancaman menjadi lebih sistematis dan tidak hanya bergantung pada pengalaman atau dugaan.
STRIDE dapat diterapkan pada berbagai jenis sistem, mulai dari aplikasi web, layanan cloud, API, perangkat Internet of Things (IoT), hingga aplikasi berbasis Artificial Intelligence. Metode ini juga cukup mudah dipahami sehingga cocok digunakan oleh tim yang baru mulai menerapkan threat modelling.
1. Pahami Terlebih Dahulu Cara Kerja Sistem
Sebelum menggunakan STRIDE, tim perlu memahami bagaimana sistem bekerja.
Identifikasi seluruh komponen yang terlibat, seperti pengguna, aplikasi, API, basis data, layanan eksternal, server, hingga infrastruktur pendukung. Selain itu, pahami bagaimana data berpindah dari satu komponen ke komponen lainnya.
Semakin jelas gambaran arsitektur sistem, semakin mudah proses identifikasi ancaman dilakukan.
2. Buat Gambaran Alur Data
Langkah berikutnya adalah menyusun Data Flow Diagram (DFD) atau gambaran sederhana mengenai alur data di dalam sistem.
Diagram tersebut menunjukkan:
- siapa yang mengakses sistem;
- komponen yang memproses data;
- lokasi penyimpanan data;
- hubungan antar layanan;
- jalur komunikasi antar komponen.
Melalui gambaran ini, tim dapat mengetahui bagian mana yang perlu dianalisis menggunakan STRIDE.
3. Evaluasi Setiap Komponen Menggunakan STRIDE
Setelah memahami arsitektur sistem, lakukan evaluasi pada setiap komponen menggunakan enam kategori STRIDE.
Spoofing
Tanyakan apakah seseorang dapat menyamar sebagai pengguna, perangkat, atau layanan yang sah.
Contoh pertanyaan:
- Apakah autentikasi sudah cukup kuat?
- Apakah identitas pengguna dapat dipalsukan?
Tampering
Periksa kemungkinan perubahan data atau konfigurasi tanpa izin.
Contoh pertanyaan:
- Apakah data dapat dimodifikasi selama proses pengiriman?
- Apakah konfigurasi sistem terlindungi dari perubahan yang tidak sah?
Repudiation
Evaluasi apakah setiap aktivitas penting dapat ditelusuri.
Contoh pertanyaan:
- Apakah sistem mencatat aktivitas pengguna?
- Apakah perubahan data dapat diketahui siapa pelakunya?
Information Disclosure
Analisis kemungkinan terjadinya kebocoran informasi.
Contoh pertanyaan:
- Apakah data sensitif dilindungi?
- Apakah pengguna hanya dapat mengakses informasi sesuai haknya?
Denial of Service
Periksa apakah layanan dapat terganggu akibat beban yang berlebihan atau penyalahgunaan.
Contoh pertanyaan:
- Bagaimana jika jumlah permintaan meningkat secara drastis?
- Apakah sistem memiliki mekanisme pembatasan permintaan?
Elevation of Privilege
Evaluasi kemungkinan pengguna memperoleh hak akses yang lebih tinggi.
Contoh pertanyaan:

- Apakah pengguna biasa dapat memperoleh hak administrator?
- Apakah kontrol akses sudah diterapkan dengan benar?
4. Catat Seluruh Ancaman yang Ditemukan
Setiap ancaman yang berhasil diidentifikasi perlu didokumentasikan.
Informasi yang biasanya dicatat meliputi:
- komponen yang terdampak;
- kategori STRIDE;
- penyebab munculnya risiko;
- dampak yang mungkin terjadi;
- rekomendasi mitigasi.
Dokumentasi ini akan memudahkan tim saat menentukan prioritas perbaikan.
5. Tentukan Tingkat Risiko
Tidak semua ancaman memiliki tingkat dampak yang sama.
Setelah seluruh risiko dicatat, lakukan penilaian berdasarkan kemungkinan terjadinya ancaman dan besarnya dampak terhadap sistem.
Risiko dengan dampak tinggi dan peluang yang besar biasanya menjadi prioritas utama untuk ditangani terlebih dahulu.
Pendekatan ini membantu organisasi menggunakan sumber daya secara lebih efektif.
6. Susun Strategi Mitigasi
Tahap berikutnya adalah menentukan langkah pengamanan berdasarkan ancaman yang telah ditemukan.
Beberapa contoh mitigasi antara lain:
- menerapkan autentikasi multifaktor untuk mengurangi risiko spoofing;
- mengenkripsi data agar tidak mudah dimodifikasi maupun dibaca pihak lain;
- mencatat seluruh aktivitas penting melalui audit log;
- membatasi hak akses berdasarkan peran pengguna;
- menerapkan rate limiting untuk mengurangi risiko gangguan layanan;
- melakukan pengujian keamanan secara berkala.
Strategi mitigasi sebaiknya disesuaikan dengan tingkat risiko dan kebutuhan organisasi.
7. Contoh Penerapan STRIDE
Sebuah perusahaan mengembangkan aplikasi manajemen inventaris yang dapat diakses oleh beberapa cabang.
Tim terlebih dahulu membuat Data Flow Diagram untuk memahami bagaimana pengguna mengakses aplikasi, bagaimana data diproses, dan bagaimana informasi disimpan di basis data.
Selanjutnya, setiap komponen dianalisis menggunakan STRIDE. Tim menemukan bahwa proses login berpotensi mengalami spoofing karena belum mendukung autentikasi multifaktor. Selain itu, audit log belum mencatat seluruh aktivitas administrator, sehingga muncul risiko repudiation. API juga belum memiliki pembatasan permintaan yang memadai sehingga berpotensi mengalami gangguan layanan.
Berdasarkan hasil tersebut, perusahaan memperkuat autentikasi, melengkapi mekanisme audit log, menerapkan rate limiting, serta memperbaiki kontrol akses sebelum aplikasi digunakan secara penuh.
8. STRIDE Perlu Digunakan Secara Berkala
Threat modelling bukan kegiatan yang dilakukan satu kali selama proyek berlangsung.
Ketika sistem mengalami perubahan, seperti penambahan fitur, integrasi dengan layanan baru, atau perubahan arsitektur, ancaman baru juga dapat muncul.
Karena itu, evaluasi menggunakan STRIDE sebaiknya dilakukan secara berkala agar strategi keamanan tetap sesuai dengan kondisi sistem yang terus berkembang.
KESIMPULAN
Mengidentifikasi ancaman sejak tahap perancangan merupakan salah satu cara paling efektif untuk meningkatkan keamanan sistem. Dengan menggunakan STRIDE, tim memiliki kerangka kerja yang membantu mengevaluasi setiap komponen secara sistematis sehingga potensi risiko lebih mudah ditemukan.
Melalui proses mulai dari memahami arsitektur, memetakan alur data, mengevaluasi setiap kategori ancaman, hingga menyusun strategi mitigasi, organisasi dapat membangun sistem yang lebih aman sebelum digunakan oleh pengguna. Pendekatan ini tidak hanya membantu mengurangi risiko keamanan, tetapi juga membuat proses pengembangan menjadi lebih terarah dan efisien.









