← Kembali ke daftar

Tes keamanan untuk kompleksitas tiga bersaudara, bukan penggantian.

itadol5j

Tiga singkatan yang paling umum dalam tes keamanan aplikasi adalah SAST, DAST, IAST. Reaksi pertama banyak orang adalah "memilih salah satu yang terkuat", tapi itu adalah usulan munafik - ketiga bersaudara itu tidak bersaing, tetapi melihat isu yang sama dari perspektif yang berbeda. Pilihan tidak tergantung pada siapa yang lebih maju, tapi di panggung Anda berada di dalam siklus kehidupan perangkat lunak, celah apa yang ingin Anda temukan dan berapa banyak yang dapat Anda tanggung.

Tinjau dari aplikasi dari tiga metode pengujian keselamatan

I DEFINITIONS ON THE FIRST REFERENCE

  • SAST (tes keamanan aplikasi statis)Organiser lainnyaJangan jalankan program, di mana kode sumber pemindaian / byte menemukan celah, yang milik Kotak Putih.
  • DASTOrganiser lainnyaMenjalankan programPermintaan peluncuran eksternal, serangan simulasi adalah "kotak hitam" dan tidak ada kode sumber yang diperlukan.
  • IAST (Uji Keselamatan Aplikasi Interaktif)Organiser lainnyaJalankan program dari dalamPlug-in (agen), dikombinasikan dengan aliran dan konteks kode, milik Grey Box.

Kunci untuk memahami ketiga ini adalah bahwa mereka masing-masing menjawab pertanyaan yang berbeda: SAST bertanya, "Di mana bisa ada kesalahan dalam kode?" DAST bertanya, "Bisakah kita benar-benar melewati ketika berjalan?" IAST bertanya, "Dalam operasi ini, aliran data yang benar-benar mengalir ke titik bahaya".

Mencekik masalah pada tahap penulisan kode

SAST secara langsung menganalisa kode sumber (atau kompilasi produk menengah) dan tidak menjalankan program. Keuntungan adalah untuk dapat mendeteksi masalah pada tahap awal, atau bahkan ketika kode dimasukkan, untuk menemukan dokumen tertentu dan nomor baris, dengan biaya perbaikan rendah. Ini mencakup "kode dapat disapu" dan tidak tergantung pada lingkungan waktu berjalan.

Pintas: Tingkat kesalahan biasanya tinggi karena tidak menentukan apakah nomor kode tertentu akan dipicu dalam bisnis nyata; masalah yang terkena hanya ketika berjalan (misalnya, kesalahan konfigurasi, jaminan bypass, rantai panggilan mengandalkan aktual di perpustakaan) tidak sepenuhnya terlihat; kode sumber diperlukan dan komponen sumber pihak ketiga tidak berfungsi.

Skenario umum: CI streaming baris kode pengiriman pintu ditutup untuk mencegah injeksi terlihat, kunci hard- coding, fungsi bahaya panggilan ke tulang punggung.

Memverifikasi "Apakah itu benar-benar bekerja?"

DAST menggunakan target sebagai kotak hitam untuk mengirim permintaan dari luar, membangun payloads serangan dan mengamati respon. Nilai terbesarnya adalah...Dekat dengan serangan nyata.- Masalah dari "akses nyata untuk menjalankan" ditemukan, dengan relatif rendah pelaporan. Tidak diperlukan kode sumber, sehingga komponen pihak ketiga, lapisan konfigurasi juga dapat ditutupi.

PintasHal ini sering hanya sampai penyebaran bahwa deteksi akhir deteksi dan biaya perbaikan adalah tinggi; cakupan terbatas untuk reptil dan rute tes yang dapat dicapai oleh contoh, tanpa deteksi tidak-terdeteksi titik fungsional; sulit untuk menemukan kode sumber tepat, dan pengembangan dan pelaporan sering hanya dikenal "URL yang bermasalah"; dan biaya konfigurasi adalah tinggi untuk skenario yang membutuhkan login, multi- langkah proses bisnis.

Khas skenario: izin keamanan sebelum pergi online, pemindaian periodik lingkungan yang dikerahkan.

IV.

IAST juga mengamati eksekusi kode dan aliran eksternal ketika menjalankan program dengan menanamkan antent dalam aplikasi. Ia dapat melihat bagaimana permintaan masuk, dan bagaimana data mengalir ke dalam kode, sehingga dapat diberikan.Ambil bukti penuh penginapan.Biasanya lebih rendah dari SAST dan akurat.

PintasKebutuhan untuk dapat menyebarkan probe di lingkungan sasaran (yang berhubungan dengan lingkungan produksi); ketergantungan pada cakupan tes, yang tidak dapat ditemukan tanpa kode yang diimplementasikan, yang sering terkait dengan uji fungsional / otomatis; perbedaan dalam bahasa dan kerangka dukungan; dan biaya kinerja tertentu.

Tipikal skenario: dijalankan dalam lingkungan tes dalam hubungannya dengan pengujian otomatis, baik untuk memvalidasi fungsionalitas dan mensinkronkan kesimpulan keamanan output.

Watch data flow dan call stack dari dalam kode

Lima, tiga lawan satu.

DimensiSASTDASTIAST
Objek UjiSumber / bytes (tidak berjalan)Target aktif (eksternal)Aplikasi operasional (plugs internal)
PerspektifKotak PutihKotak HitamGrey Box
Waktu untuk intervensiAwal tahap penyandian / pengirimanSetelah penyebaranWaktu uji / lari
Perlu kode sumberYa.Tidak perlu.Kebutuhan (dapat ditancapkan)
Tingkat yang salahTinggiRendahTurunkan
Presisi posisiKe berkas / barisKe URL / AntarmukaUntuk Memanggil Stream Inn / Data
Timpa DependenceTerbatas (lihat bagian kode sumber)Override exposure ketika berjalanTerbatas oleh path eksekusi
Adegan khasCI Kode Pintu BanPeriksa dan terima sebelum online.Digabungkan dengan pengujian otomatis

VI. Mengapa saling melengkapi daripada substitusi

Jika Anda menempatkan tiga bersama-sama, mereka menemukan zona buta mereka untuk menjadi lengkap:

  • SAST melihat kode tetapi tidak tahu apakah akan dipicu; DAST tahu apakah dapat dipicu tetapi tidak tahu dalam baris mana masalahnya; IAST keduanya, tetapi membutuhkan kode untuk dieksekusi.
  • SAST mencakup awal, lebar dan keras; DAST memiliki kebisingan kecil tapi akhir intervensi, cakupan sempit; dan IAST memiliki akurasi tinggi tetapi dapat plug dan berjalan cukup baik.
  • Hanya pergi ke SAST, yang rentan terhadap "sekelompok pita merah" kelelahan; pergi ke DAST, di mana celah sering terkena pada baris, pergi ke IAST, di mana jalan yang tidak dicapai adalah buta.

Jawaban untuk kenyataan bukan satu atau dua, tapi langkah-langkah pendekatan tahap: penggunaan awal SAST untuk kemacetan pola jelas rasa buruk dan bahaya, fase pengujian IAST untuk menjadi akurat divalidasi dengan IAST dalam hubungannya dengan otomatisasi, dan up- dan down- baris menggunakan DAS untuk penerimaan eksternal dari perspektif agresor itu. Tiga takhayul merupakan tes keamanan aplikasi tertutup loop tanpa kesenjangan signifikan.

Statik, dinamis, tes interaktif membentuk lingkaran tertutup.

VII. PRACTICAL ISSUS ON LANDING

Salah laporan yang berurusan dengan itu

Either way, tidak ada yang memperbaiki laporan, tidak ada yang tidak. Ada proses triase yang jelas: yang melihat, berapa lama untuk menutup, bagaimana menandai "menerima risiko". Secara khusus, SAST membutuhkan manajemen dasar, jika tidak warisan sejarah akan menenggelamkan masalah baru.

Liput lebih penting daripada merek alat

Kemampuan IAST untuk menemukan tergantung langsung pada berapa banyak kode yang ditutupi oleh tes; DAST tergantung pada berapa banyak antarmuka yang dicapai oleh reptil. Ini lebih berarti untuk mengukur "laju deteksi" sebelum online daripada menggantikan alat yang lebih mahal.

3. Ambillah.

Tes keselamatan harus tertanam dalam proses R & D yang terus menerus, daripada terpusat sebelum online. CI menjalankan SAST, test environment IAST, secara teratur melakukan DAST untuk produksi, sehingga tidak perlu mengandalkan daging manusia untuk menyimpan api.

Fokus pada sinergi di antara alat

Keadaan ideal adalah bahwa tiga jenis hasil dapat dikelompokkan ke tampilan yang sama: celah yang sama, SAST memberikan lokasi kode, IAST memberikan bukti aliran data, dan DAST memvalidasi ketersediaan. Ini jauh lebih berharga daripada tiga pulau yang tercabik-cabik.

VIII. Daftar keputusan

  • Ya.Tahap SubmisiTahan saja celah yang jelas pada SAST, fokus pada penutupan pintu dan baselees.
  • Untuk memverifikasiApakah sistem dikerahkan benar-benar mampu menyerang? Naik dengan DAST, fokus pada cakupan dan konfigurasi login.
  • Untuk mendapatkan kesimpulan keamanan.Keluaran dengan pengujian otomatisDan lokasi tepat di IAST.
  • Sumber daya terbatas hanya dapat digunakan sebagai prioritas pertama untuk SAST untuk membangun garis bawah dan kemudian secara bertahap untuk menyelesaikan IAEA / DAST.
  • Pencarian untuk "satu-size-fits -all, solusi permanen" tidak ada, tapi cara untuk mengatur dan memproses adalah jawabannya.

SAST mungkin, DAST praktis, IAST spesifik - gabungan adalah gambar lengkap.