Diterbitkan: 8 April 2024
Kontributor: Annie Badman, Amber Forrest
Pengujian keamanan aplikasi dinamis (DAST) adalah metode pengujian keamanan siber yang digunakan untuk mengidentifikasi kerentanan dan kesalahan konfigurasi pada aplikasi web, API, dan yang terbaru, aplikasi seluler.
Dibandingkan dengan jenis pengujian keamanan aplikasi (AppSec) lainnya, DAST menonjol karena pendekatan outside-in miliknya. Sementara alat lain memerlukan kode sumber dan akses internal ke aplikasi untuk menilai kerentanan keamanan, DAST menguji aplikasi di lingkungan waktu proses mereka dari luar, menggunakan simulasi serangan untuk meniru aktor jahat. Untuk alasan ini, DAST kadang-kadang disebut pengujian outside-in atau pengujian kotak hitam, yaitu metode pengujian di mana sistem diperiksa tanpa penguji mengakses, menyelidiki, atau bahkan mengetahui tentang cara kerja internal.
Pengembang saat ini bekerja dengan cepat, sering kali memperbarui area kode tertentu beberapa kali sehari tanpa melihat keseluruhan basis kode secara komprehensif. Mereka sangat bergantung pada komponen pihak ketiga dan sumber terbuka dan sering kali kesulitan untuk berkolaborasi secara efektif dengan tim keamanan. Sebagian besar juga bekerja pada aplikasi yang semakin kompleks, dengan banyak fitur, perpustakaan, dan dependensi, sambil mengelola ancaman keamanan siber yang terus berkembang.
Hasilnya adalah area permukaan yang terus meningkat untuk kerentanan keamanan yang meningkatkan kesulitan dalam menulis kode yang aman dan melindungi informasi sensitif dari pelanggaran data. Pengembang membutuhkan cara untuk menguji potensi kerentanan saat mereka bekerja, tanpa mengorbankan produktivitas mereka.
DAST membantu mewujudkan hal ini dengan mengotomatiskan proses pengujian keamanan. Ini bekerja dengan meniru tindakan peretas dunia nyata, bekerja dari luar untuk mengungkap potensi kerentanan dalam aplikasi yang sedang berjalan. DAST memungkinkan pengembang untuk menguji kode mereka dan melihat dampaknya terhadap keamanan aplikasi secara keseluruhan sebelum ditayangkan dan unggul dalam menunjukkan masalah keamanan, seperti kesalahan autentikasi dan kerentanan kode, yang sering kali terlewatkan oleh metode pengujian lain, seperti Analisis Komposisi Perangkat Lunak (SCA).
Alat bantu DAST modern (lihat di bawah) juga terintegrasi dengan lancar ke dalam pipeline DevOps dan CI/CD untuk menawarkan antarmuka untuk semua tahap pengembangan, termasuk di awal alur kerja pengembangan aplikasi.
Integrasi build dan penerapan adalah salah satu alasan tim DevOps biasanya mengadopsi DAST di lingkungan DevOps/DevSecOps sebagai bagian dari pendekatan “shift left” di mana pengujian dilakukan di awal siklus hidup pengembangan perangkat lunak (SDLC) untuk perbaikan yang lebih hemat biaya dan lebih sedikit waktu. Prinsip DevOps lainnya yang ditingkatkan alat DAST termasuk memprioritaskan otomatisasi, kolaborasi, dan masukan berkelanjutan sehingga pengembang dan tim keamanan dapat tetap tangkas dan produktif tanpa mengorbankan keamanan.
Karena DAST mengambil pendekatan kotak hitam, ia meniru tindakan yang mungkin diambil aktor ancaman jahat ketika mencoba melanggar aplikasi web.
Secara umum, DAST mencakup lima langkah berikut:
Sebagai langkah pertama, pemindai DAST mensimulasikan interaksi pengguna dengan aplikasi waktu proses dengan mengirimkan berbagai permintaan HTTP. Pemetaan ini mengidentifikasi semua halaman, tautan, fungsi (untuk aplikasi web satu halaman), dan titik masuk sebagaimana didefinisikan dalam pengujian API melalui dokumen definisi API.
Saat permintaan dikirim, alat DAST mulai menganalisis respons aplikasi, mencari anomali, pesan kesalahan, dan perilaku tak terduga yang mungkin mengindikasikan kerentanan aplikasi web. Ketika pemindaian DAST mendeteksi potensi kerentanan, ia mencatat lokasi dan responsnya untuk referensi di masa mendatang, memungkinkan pengujian manual jika perlu.
Alat DAST juga mulai meniru serangan umum seperti injeksi SQL, Cross-Site Scripting (XSS), dan Pemalsuan Permintaan Lintas Situs (CSRF) untuk menemukan kerentanan keamanan, seperti kesalahan konfigurasi, eksposur data, dan masalah autentikasi, yang mungkin dieksploitasi oleh para pelaku ancaman.
Setelah analisis dan simulasi serangan, alat DAST menghasilkan laporan yang menguraikan kerentanan yang teridentifikasi, tingkat keparahannya, dan skenario serangan potensial untuk memandu pengembang dan tim keamanan. Perlu diingat bahwa solusi DAST hanya berfokus pada identifikasi masalah keamanan dan menyerahkan remediasi apa pun kepada tim pengembangan.
Alat DAST terkadang menghasilkan positif palsu, secara keliru menandai sesuatu sebagai kerentanan. Ketika ini terjadi, seringkali perlu untuk mendapatkan validasi dan prioritas manusia.
Meskipun alat pengujian DAST tidak memiliki sub-jenis resmi, para ahli keamanan sering kali mengkategorikannya ke dalam dua kelompok informal, yaitu alat DAST modern dan alat DAST lama, dengan perbedaan utama adalah otomatisasi/integrasi dan validasi kerentanan.
Alat DAST lama sering kali tidak memiliki fitur otomatisasi, meskipun proses pemindaiannya dilakukan secara otomatis. Mereka biasanya berfokus pada pengujian dasar, yaitu mengirim permintaan, menerima tanggapan, dan membuat penilaian awal, dan tidak menawarkan validasi kerentanan penuh, hanya daftar potensi masalah keamanan.
Alat DAST modern memiliki tingkat otomatisasi yang lebih tinggi dan menawarkan ulasan yang lebih menyeluruh terhadap kerentanan aplikasi web.
Solusi DAST modern dapat diintegrasikan dengan lancar ke dalam SDLC dan beroperasi secara transparan di latar belakang. Selain itu, server otomatisasi dapat memicu alat DAST modern dan menyajikan hasil pemindaian sebagai tiket dalam pelacak masalah pengembang. Beberapa alat DAST modern bahkan menyediakan bukti eksploitasi, sehingga menghilangkan kebutuhan verifikasi manual yang memakan waktu oleh penguji penetrasi atau pakar keamanan.
DAST sering dianggap sebagai bagian penting dari pengujian keamanan aplikasi web. Beberapa keunggulan uniknya meliputi:
Meskipun banyak manfaatnya, DAST memiliki keterbatasan. Meskipun DAST terampil dalam mengidentifikasi kelemahan keamanan dalam menjalankan aplikasi, DAST mungkin tidak mengungkap semua kerentanan, terutama yang memerlukan serangkaian tindakan tertentu. Menggabungkan DAST dengan metode lain, seperti pengujian keamanan aplikasi statis (SAST—lihat di bawah), pengujian keamanan aplikasi interaktif (IAST), analisis komposisi perangkat lunak (SCA), dan pengujian penetrasimanual, dapat membantu melengkapi DAST dan menawarkan program keamanan yang lebih komprehensif .
Keterbatasan lain dari DAST dapat mencakup:
DAST dan SAST, atau pengujian keamanan aplikasi statis, adalah dua metode pengujian yang digunakan untuk mengidentifikasi kerentanan keamanan dalam aplikasi web. Namun saat DAST menilai aplikasi di lingkungan produksinya, meniru serangan pengguna yang berbahaya, dan mengidentifikasi masalah keamanan, SAST menyelidiki kode sumbernya, mencari kerentanan dalam aplikasi situs web.
Pakar keamanan siber umumnya menyarankan untuk menggunakan SAST dan DAST saat menangani risiko keamanan untuk mendapatkan pandangan lengkap tentang potensi kerentanan. Misalnya, dalam memeriksa kode sumber program, alat SAST dapat menemukan berbagai kerentanan keamanan yang mungkin terlewatkan oleh DAST, termasuk injeksi SQL, buffer overflow, serangan XXE, dan 10 risiko OWASP Top 10 lainnya.
Menggunakan metodologi SAST juga mendorong pengujian awal selama pengembangan, mengurangi kemungkinan kelemahan keamanan dalam kode sumber aplikasi selama fase selanjutnya, yang mengarah pada waktu pengembangan yang lebih singkat dan meningkatkan keamanan secara keseluruhan.
Kelola dan lindungi tenaga kerja mobile Anda dengan manajemen titik akhir terpadu (UEM) yang didorong oleh AI.
Lindungi data di hybrid cloud dengan lebih baik dan sederhanakan persyaratan kepatuhan.
Membangun, menerapkan, dan mengulangi aplikasi secara aman di mana saja dengan mengubah DevOps menjadi DevSecOps termasuk tenaga kerja, proses, dan peralatan.