Apa itu pengujian keamanan aplikasi dinamis (DAST)?

Penyusun

Annie Badman

Staff Writer

IBM Think

Amber Forrest

Staff Editor | Senior Inbound, Social & Digital Content Strategist

IBM Think

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.

Apakah tim Anda akan mampu mendeteksi zero-day berikutnya tepat waktu?

Bergabunglah dengan para pemimpin keamanan yang mengandalkan Buletin Think untuk berita yang dikurasi tentang AI, keamanan siber, data, dan otomatisasi. Pelajari dengan cepat dari tutorial pakar dan penjelas—dikirimkan langsung ke kotak masuk Anda. Lihat Pernyataan Privasi IBM®.

Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM® kami untuk informasi lebih lanjut.

https://www.ibm.com/id-id/privacy

Mengapa DAST penting

Pengembang saat ini bekerja dengan cepat, sering kali memperbarui area kode tertentu beberapa kali sehari tanpa gambaran komprehensif tentang seluruh basis kode. 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, pustaka, dan dependensi, sekaligus mengelola ancaman keamanan siber yang terus berkembang.

Hasilnya adalah area permukaan serangan yang terus meningkat untuk kerentanan keamanan yang makin mempersulit penulisan kode yang aman dan perlindungan 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 DAST modern (lihat di bawah) juga terintegrasi dengan lancar ke DevOps dan saluran CI/CD untuk menawarkan antarmuka untuk semua tahap pengembangan, termasuk pada awal alur kerja pengembangan aplikasi.

Integrasi pembangunan 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 pada awal siklus proses pengembangan perangkat lunak (SDLC) untuk remediasi yang lebih hemat biaya dan memakan 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, DAST meniru tindakan yang mungkin diambil aktor ancaman jahat ketika mencoba menerobos aplikasi web.

Secara umum, DAST mencakup lima langkah berikut:

Pemindaian

Sebagai langkah pertama, pemindai DAST menyimulasikan 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 ditetapkan 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, DAST mencatat lokasi dan responsnya untuk referensi di masa mendatang, yang 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 subjenis resmi, para pakar keamanan sering kali mengategorikannya ke dalam dua kelompok informal, yaitu alat DAST modern dan alat DAST lama, dengan otomatisasi/integrasi dan validasi kerentanan sebagai perbedaan utama.

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 respons, 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 DevOps dan saluran CI/CD, sehingga alat ini dapat menjalankan pengujian keamanan otomatis pada awal proses pengembangan dan secara signifikan mengurangi biaya remediasi.
  • Tidak bergantung pada bahasa. Karena DAST bekerja dari luar ke dalam, alat ini 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.
  • Keselarasan dengan 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 aplikasi yang berjalan, 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 penetrasi manual, 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), alat ini dapat melewatkan bagian yang masih dalam pengembangan.
  • Tantangan seputar autentikasi. DAST mungkin kurang efektif dengan autentikasi nonstandar 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 memunculkan data sampel atau memperlambat aplikasi. Akibatnya, banyak yang menjalankan DAST di klon lingkungan pengujian akhir atau produksi, bukan dalam produksi yang sebenarnya.

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
Solusi keamanan perusahaan

Transformasikan program keamanan Anda dengan solusi dari penyedia keamanan perusahaan terbesar

Jelajahi solusi keamanan siber
Layanan keamanan siber

Transformasikan bisnis Anda dan kelola risiko dengan konsultasi keamanan siber, cloud, dan layanan keamanan terkelola.

    Jelajahi layanan keamanan siber
    Keamanan siber dengan kecerdasan buatan (AI)

    Tingkatkan kecepatan, akurasi, dan produktivitas tim keamanan dengan solusi keamanan siber yang didukung AI.

    Jelajahi keamanan siber AI
    Ambil langkah selanjutnya

    Baik Anda memerlukan solusi keamanan data, manajemen titik akhir, maupun solusi manajemen identitas dan akses (IAM), pakar kami siap untuk bekerja bersama Anda demi mencapai postur keamanan yang kuat. Mentransformasi bisnis Anda dan mengelola risiko bersama pemimpin industri global dalam konsultasi keamanan siber, cloud, dan layanan keamanan terkelola.

    Jelajahi solusi keamanan siber Temukan layanan keamanan siber