Home » Ilmu Komputer » Perbedaan SAST vs DAST dan Penjelasannya

Perbedaan SAST vs DAST dan Penjelasannya

by gilfen
by gilfen

Section Artikel

Apa itu SAST vs DAST?

Semua aplikasi memerlukan sekuritas yang baik. Banyak data informasi penting dalam aplikasi yang dapat dicuri dan menyebabkan kerugian, terutama konsekuensi finansial dan bisnis. Identifikasi kerentanan aplikasi perlu dilakukan guna mengurangi risiko pencurian data.

Ada dua pendekatan pengujian yang sering digunakan untuk mengidentifikasi masalah sebelum aplikasi diluncurkan, yaitu SAST atau DAST.

SAST dan DAST merupakan metologi pengujian keamanan aplikasi yang berguna untuk menemukan kerentanan keamanan saat membuat aplikasi. Keduanya memiliki peran yang berbeda dalam melakukan pemeriksaan sekuritas sebuah aplikasi.

Pengujian keamanan statis, atau Static Application Security Testing (SAST), merupakan sebuah metode pengujian white box. SAST bekerja dengan memeriksa semua kode dalam aplikasi secara satu persatu untuk mencari kekurangan dan kelemahannya, termasuk injeksi SQL dan lainnya yang terdaftar dalam OWASP Top 10.

Salah satu alat bantu dari SAST yang sering digunakan untuk memeriksa sumber kode aplikasi dalam bahasa pemrograman Java adalah FindBugs. Aplikasi ini berbasis open source, berlisensi LGPL (Lesser GNU Public License), dan gratis.

Findbugs menggunakan teknik analisis statis terhadap sumber kode Java untuk memeriksa lubang keamanan, menemukan kesalahan pemrograman, dan mendeteksi ketidaksesuaian bahasa pemrograman terhadap standar internasional yang digunakan.

Untuk aplikasi dengan bahasa pemrograman yang lain, misalnya PHP, JavaScript, Kotlin, Swift, C#, Python, atau ABAP, anda dapat menggunakan perangkat SonarQube untuk melakukan metode SAST pada aplikasi anda. SonarQube dapat melakukan SAST terhadap sumber kode dari 25 jenis lebih bahasa pemrograman.

Beberapa manfaat lain dari SAST adalah sebagai berikut :

  • Menemukan masalah dengan mencari pola kerentanan pada kode yang diakui secara international.
  • Mendeteksi kecatatan dan remediasi sedini mungkin
  • Memiliki analisis pendekatan secara left shift sehingga dapat dilakukan dimana saja, termasuk di komputer developer ataupun pipelines CI/CD
  • Mudah untuk diotomatiskan, terukur, dan memberikan keamanan kode yang tinggi
  • Menghasilkan respon tanggapan yang cepat dan menyediakan lokasi pasti dari kecatatan yang dimiliki

Berbeda dengan SAST, pengujian keamanan aplikasi dinamis, atau Dynamic Application Security Testing (DAST), merupakan sebuah metode pengujian black box.

DAST melakukan pemeriksaan aplikasi saat aplikasi sedang berjalanan sehingga kerentanan dan kelemahan aplikasi dapat terdeteksi. DAST sering disebut juga sebagai functional testing atau closed-box testing. Beberapa manfaat lain dari DAST adalah sebagai berikut :

  • Menganalisa kerja aplikasi dengan sistem lingkungan yang penuh
  • Melihat hingga ke dalam aplikasi dan mengeksekusi cara logika aplikasi
  • Memeriksa bahasa dan sumber kode yang digunakan dalam aplikasi
  • Memeriksa konsumsi memeori dan sumber data
  • Memecah algoritma enkripsi yang berasal dari luar
  • Memeriksa skripting lintasan, injeksi SQL, dan manipulasi cookie
  • Memahami argumentasi dan fungsi telepon
  • Merekam eksekusi aplikasi untuk analisis kegagalan di kemudian hari
  • Menganalisis aplikasi secara dinamis dengan basis skrip tanpa pengawasan
  • Melakukan pengujian kerentanan antarmuka pihak ketiga
  • Mendeteksi kegagalan lain yang terdapat di dalam aplikasi

Sebenarnya, masih ada IAST (Interactive Application Security Testing) dan RASP (Run-time Application Security Protection) sebagai metode dalam pengujian aplikasi.

Namun kedua metode ini cukup rumit dan menggabungkan metode SAST dan DAST sebagai metode dasarnya.

Perbedaan SAST dan DAST

SAST dan DAST memiliki cara kerjanya masing-masing. Keduanya memiliki pendekatan pengujian yang berbeda sehingga menghasilkan keuntungan yang berbeda juga. Berbagai jenis kerentanan dapat ditemukan dengan menggunakan kedua metode ini secara bersamaan.

Beberapa perbedaan yang dapat anda temukan pada SAST dan DAST adalah sebagai berikut :

No.PerbedaanSASTDAST
1.Pengertian umumPengujian keamanan white box, dimana penguji perlu memiliki beberapa pengetahuan dasar tentang kode dan algoritma yang digunakan pada aplikasi.Pengujian kemanan black box, dimana struktur atau desain internal dari item yang perlu diuji tidak diketahui penguji.
2.Akses dan pengetahuanMemiliki akses ke kerangka kerja, desain, dan implementasi dasarTidak memiliki pengetahuan tentang teknologi atau kerangka kerja saat pembangunan aplikasi
3.Alur pengujian aplikasiDari dalam ke luarDari luar ke dalam
4.Pendekatan pengujianPendekatan pengembangPendekatan peretas/hacker
5.Sumber atau bahan pengujianSource code atau binerAplikasi yang serang berjalan
6.Waktu penemuan kerentananSebelum di SDLCMenjelang akhir SDLC
7.Waktu perbaikan aplikasiSegera setelah kode dianggap lengkap. Perbaikan lebih mudah dan lebih cepat karena sering dilakukan sebelum kode memasuki siklus QASetelah siklus pengembangan selesai sehingga remidiasi sering didorong ke siklus berikutnya
8.BiayaLebih murah untuk memperbaiki kerentananLebih mahal untuk memperbaiki kerentanan
9.Masalah terkait run-time dan lingkunganTidak dapat terdeteksi karena memindai kode statisDapat terdeteksi karena menggunakan analisis dinamis
10.ContohAplikasi web, layanan web, dan klien tebalTidak dapat digunakan untuk jenis perangkat lunak lainnya
Sepuluh Perbedaan SAST dan DAST.

Kesimpulan

Jika anda memiliki budget dan waktu yang cukup lama, sebaiknya dua metode ini digunakan secara bersama-sama. SAST perlu dilakukan terlebih dahulu sebelum menjalankan aplikasi.

Saat aplikasi sudah berjalan, metode DAST perlu dilakukan untuk kembali memeriksa aplikasi melalui cara yang berbeda. Namun, jika budget dan waktu terbatas hingga membuat anda perlu memilih salah satu diantara keduanya, anda perlu mempertimbangan perbedaan SAST dan DAST dengan matang.

You may also like