Diterbitkan: 8 April 2024
Kontributor: Annie Badman, Amber Forrest

Apa itu DAST?

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.

Mengapa DAST penting

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.

Bagaimana cara kerja DAST? 

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:

Pemindaian

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. 

Analisis

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.

Simulasi serangan

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.

Pelaporan

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.

Mengatasi positif palsu

Alat DAST terkadang menghasilkan positif palsu, secara keliru menandai sesuatu sebagai kerentanan. Ketika ini terjadi, seringkali perlu untuk mendapatkan validasi dan prioritas manusia.

Jenis alat DAST

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. 

DAST lama 

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. 

DAST modern

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.

Pro dan kontra dari DAST

DAST sering dianggap sebagai bagian penting dari pengujian keamanan aplikasi web. Beberapa keunggulan uniknya meliputi:

  • Keserbagunaan. Pengguna dapat menggunakan DAST pada berbagai tahap siklus pengembangan perangkat lunak. DAST dapat menguji aplikasi web dalam kondisi berjalan dan aplikasi yang telah diterapkan tanpa modifikasi, sehingga lebih mudah untuk mengevaluasi sistem lama.
  • Otomatisasi. Alat DAST dengan mudah diintegrasikan ke dalam pipeline DevOps dan CI/CD, sehingga memungkinkan untuk menjalankan pengujian keamanan otomatis di awal proses pengembangan dan secara signifikan mengurangi biaya perbaikan. 
  • Agnostik bahasa. Karena DAST bekerja dari luar ke dalam, DAST tidak bergantung pada bahasa pemrograman yang digunakan dalam aplikasi dan dapat bekerja pada banyak kerangka kerja yang berbeda. DAST secara efektif menguji antarmuka web dan API, meniru cara penyerang menemukan kerentanan. 
  • Lebih sedikit hasil positif palsu. DAST biasanya menghasilkan positif dan negatif palsu yang lebih rendah saat mensimulasikan tindakan pengguna daripada metode lain, seperti SAST.
  • Pengujian yang realistis dan dapat diulang. Karena meniru perilaku penyerang di dunia nyata, DAST merupakan solusi praktis untuk mengidentifikasi kerentanan yang dapat dieksploitasi oleh aktor jahat. DAST juga menawarkan keuntungan dari pengujian yang dapat diulang, sehingga memungkinkan penilaian kerentanan yang berkelanjutan seiring dengan perkembangan aplikasi.
  • Penemuan kerentanan yang komprehensif. DAST dapat mengungkap berbagai kerentanan, termasuk injeksi SQL, XSS, dan kesalahan konfigurasi.
  • Penyelarasan standar industri. Bisnis sering menggunakan DAST untuk mematuhi standar industri dan membantu pelaporan peraturan, seperti kepatuhan PCI. Banyak perusahaan menggunakan daftar OWASP Top 10 sebagai tolok ukur kepatuhan untuk risiko keamanan aplikasi.

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:

  • Fokus pada kode yang dapat dieksekusi. Karena DAST sebagian besar menguji bagian aplikasi web yang telah diterapkan (yaitu, kode yang sudah dapat dijalankan), DAST dapat melewatkan bagian yang masih dalam pengembangan.
  • Tantangan autentikasi. DAST mungkin kurang efektif dengan autentikasi non-standar dan logika bisnis yang rumit, tetapi alat DAST profesional menyertakan modul panduan untuk situasi ini.
  • Dampak operasional. Tanpa penyetelan yang tepat, pengujian DAST dapat memengaruhi operasi aplikasi normal dan mungkin memperkenalkan data sampel atau memperlambat aplikasi. Akibatnya, banyak yang menjalankan DAST di lingkungan pementasan atau klon produksi daripada produksi langsung.
DAST vs. SAST

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.

Solusi terkait
IBM Security MaaS360

Kelola dan lindungi tenaga kerja mobile Anda dengan manajemen titik akhir terpadu (UEM) yang didorong oleh AI.

Jelajahi IBM Security MaaS360

Solusi keamanan data

Lindungi data di hybrid cloud dengan lebih baik dan sederhanakan persyaratan kepatuhan. 

Jelajahi solusi keamanan IBM

Solusi keamanan aplikasi

Membangun, menerapkan, dan mengulangi aplikasi secara aman di mana saja dengan mengubah DevOps menjadi DevSecOps termasuk tenaga kerja, proses, dan peralatan.

Jelajahi layanan keamanan aplikasi
Ambil langkah selanjutnya

Karena model kerja yang fleksibel telah menjadi norma baru, karyawan harus tetap produktif saat bekerja dari mana saja, di perangkat apa pun, dengan cara yang terlindungi. Dari manajemen titik akhir hingga keamanan native, IBM Security MaaS360 menyediakan solusi UEM menyeluruh. 

Jelajahi MaaS360 Pesan demo langsung