Pengujian Penetrasi Aplikasi Web EITC/IS/WAPT adalah program Sertifikasi TI Eropa tentang aspek teoretis dan praktis dari pengujian penetrasi aplikasi web (peretasan putih), termasuk berbagai teknik untuk situs web teknik spidering, pemindaian, dan serangan, termasuk alat dan rangkaian pengujian penetrasi khusus .
Kurikulum Pengujian Penetrasi Aplikasi Web EITC/IS/WAPT mencakup pengenalan Burp Suite, web spridering dan DVWA, pengujian brute force dengan Burp Suite, deteksi firewall aplikasi web (WAF) dengan WAFW00F, cakupan target dan spidering, menemukan file tersembunyi dengan ZAP, pemindaian kerentanan WordPress dan enumerasi nama pengguna, pemindaian penyeimbang beban, skrip lintas situs, XSS – tercermin, disimpan dan DOM, serangan proxy, konfigurasi proxy di ZAP, serangan file dan direktori, penemuan file dan direktori dengan DirBuster, praktik serangan web , Toko Jus OWASP, CSRF – Pemalsuan Permintaan Lintas Situs, pengumpulan cookie dan rekayasa balik, Atribut HTTP – pencurian cookie, injeksi SQL, DotDotPwn – pengaburan traversal direktori, injeksi iframe dan injeksi HTML, Eksploitasi Heartbleed – penemuan dan eksploitasi, injeksi kode PHP, bWAPP – Injeksi HTML, POST yang direfleksikan, injeksi perintah OS dengan Commix, sisi server termasuk injeksi SSI, pentesting di Docker, OverTheWire Natas, LFI dan injeksi perintah, peretasan Google untuk pentesting, Google Dorks Untuk pengujian penetrasi, Apache2 ModSecurity, serta Nginx ModSecurity, dalam struktur berikut, mencakup konten didaktik video yang komprehensif sebagai referensi untuk Sertifikasi EITC ini.
Keamanan aplikasi web (sering disebut sebagai Web AppSec) adalah konsep merancang situs web agar berfungsi secara normal bahkan ketika mereka diserang. Gagasannya adalah mengintegrasikan serangkaian tindakan keamanan ke dalam aplikasi Web untuk melindungi asetnya dari agen yang tidak bersahabat. Aplikasi web, seperti semua perangkat lunak, rentan terhadap kekurangan. Beberapa kelemahan ini adalah kerentanan aktual yang dapat dieksploitasi, menimbulkan risiko bagi bisnis. Cacat tersebut dijaga terhadap melalui keamanan aplikasi web. Ini memerlukan penggunaan pendekatan pengembangan yang aman dan menerapkan kontrol keamanan di seluruh siklus hidup pengembangan perangkat lunak (SDLC), memastikan bahwa kelemahan desain dan masalah implementasi ditangani. Pengujian penetrasi online, yang dilakukan oleh para ahli yang bertujuan untuk mengungkap dan mengeksploitasi kerentanan aplikasi web menggunakan apa yang disebut pendekatan peretasan putih, adalah praktik penting untuk memungkinkan pertahanan yang tepat.
Tes penetrasi web, juga dikenal sebagai tes pena web, mensimulasikan serangan cyber pada aplikasi web untuk menemukan kelemahan yang dapat dieksploitasi. Pengujian penetrasi sering digunakan untuk melengkapi firewall aplikasi web dalam konteks keamanan aplikasi web (WAF). Pengujian pena, secara umum, memerlukan upaya untuk menembus sejumlah sistem aplikasi (misalnya, API, server frontend/backend) untuk menemukan kerentanan, seperti input tidak bersih yang rentan terhadap serangan injeksi kode.
Temuan tes penetrasi online dapat digunakan untuk mengonfigurasi kebijakan keamanan WAF dan mengatasi kerentanan yang ditemukan.
Pengujian penetrasi memiliki lima langkah.
Prosedur pengujian pena dibagi menjadi lima langkah.
- Perencanaan dan kepramukaan
Mendefinisikan ruang lingkup dan tujuan pengujian, termasuk sistem yang akan ditangani dan metodologi pengujian yang akan digunakan, adalah tahap pertama.
Untuk mendapatkan pemahaman yang lebih baik tentang cara kerja target dan potensi kelemahannya, kumpulkan intelijen (misalnya, nama jaringan dan domain, server email). - Scanning
Tahap selanjutnya adalah mencari tahu bagaimana aplikasi target akan bereaksi terhadap berbagai jenis upaya penyusupan. Ini biasanya dicapai dengan menggunakan metode berikut:
Analisis statis – Memeriksa kode aplikasi untuk memprediksi bagaimana perilakunya saat dijalankan. Dalam sekali jalan, alat ini dapat memindai seluruh kode.
Analisis dinamis adalah proses memeriksa kode aplikasi saat sedang beroperasi. Metode pemindaian ini lebih praktis karena memberikan tampilan kinerja aplikasi secara real-time. - Mendapatkan akses
Untuk menemukan kelemahan target, langkah ini menggunakan serangan aplikasi web seperti skrip lintas situs, injeksi SQL, dan pintu belakang. Untuk memahami kerusakan yang mungkin ditimbulkan oleh kerentanan ini, penguji mencoba mengeksploitasinya dengan meningkatkan hak istimewa, mencuri data, mencegat lalu lintas, dan sebagainya. - Menjaga akses
Tujuan dari tahap ini adalah untuk menilai apakah kerentanan dapat dieksploitasi untuk membangun kehadiran jangka panjang dalam sistem yang disusupi, memungkinkan aktor jahat untuk mendapatkan akses mendalam. Tujuannya adalah untuk meniru ancaman persisten tingkat lanjut, yang dapat bertahan dalam sistem selama berbulan-bulan untuk mencuri informasi perusahaan yang paling sensitif. - Analisis
Hasil uji penetrasi kemudian dimasukkan ke dalam laporan yang mencakup informasi seperti:
Kerentanan yang dieksploitasi secara detail
Data yang diperoleh bersifat sensitif
Jumlah waktu pen tester dapat tetap tidak diperhatikan dalam sistem.
Pakar keamanan menggunakan data ini untuk membantu mengonfigurasi pengaturan WAF perusahaan dan solusi keamanan aplikasi lainnya untuk menambal kerentanan dan mencegah serangan lebih lanjut.
Metode pengujian penetrasi
- Pengujian penetrasi eksternal berfokus pada aset perusahaan yang terlihat di internet, seperti aplikasi web itu sendiri, situs web perusahaan, serta email dan server nama domain (DNS). Tujuannya adalah untuk mendapatkan akses dan mengekstrak informasi yang berguna.
- Pengujian internal memerlukan penguji yang memiliki akses ke aplikasi di belakang firewall perusahaan yang mensimulasikan serangan orang dalam yang bermusuhan. Ini tidak perlu simulasi karyawan nakal. Seorang karyawan yang kredensialnya diperoleh sebagai hasil dari upaya phishing adalah titik awal yang umum.
- Pengujian buta adalah ketika seorang penguji hanya diberikan nama perusahaan yang sedang diuji. Hal ini memungkinkan pakar keamanan untuk melihat bagaimana serangan aplikasi yang sebenarnya dapat terjadi secara real time.
- Pengujian double-blind: Dalam pengujian double-blind, profesional keamanan tidak mengetahui serangan simulasi sebelumnya. Mereka tidak akan punya waktu untuk menopang benteng mereka sebelum upaya pelanggaran, seperti di dunia nyata.
- Pengujian yang ditargetkan – dalam skenario ini, penguji dan staf keamanan berkolaborasi dan melacak pergerakan satu sama lain. Ini adalah latihan luar biasa yang memberikan umpan balik waktu nyata kepada tim keamanan dari sudut pandang peretas.
Firewall aplikasi web dan pengujian penetrasi
Pengujian penetrasi dan WAF adalah dua teknik keamanan yang terpisah namun saling melengkapi. Penguji kemungkinan akan memanfaatkan data WAF, seperti log, untuk menemukan dan mengeksploitasi area lemah aplikasi dalam banyak jenis pengujian pena (dengan pengecualian pengujian buta dan buta ganda).
Pada gilirannya, data pengujian pena dapat membantu administrator WAF. Setelah pengujian selesai, konfigurasi WAF dapat dimodifikasi untuk melindungi dari kekurangan yang terdeteksi selama pengujian.
Terakhir, pengujian pena memenuhi persyaratan kepatuhan metode audit keamanan tertentu, seperti PCI DSS dan SOC 2. Persyaratan tertentu, seperti PCI-DSS 6.6, hanya dapat dipenuhi jika WAF bersertifikat digunakan. Namun, karena manfaat yang disebutkan di atas dan potensi untuk mengubah pengaturan WAF, ini tidak membuat pengujian pena menjadi kurang berguna.
Apa pentingnya pengujian keamanan web?
Tujuan dari pengujian keamanan web adalah untuk mengidentifikasi kelemahan keamanan dalam aplikasi Web dan pengaturannya. Lapisan aplikasi adalah target utama (yaitu, apa yang berjalan pada protokol HTTP). Mengirim berbagai bentuk input ke aplikasi Web untuk menimbulkan masalah dan membuat sistem merespons dengan cara yang tidak terduga adalah pendekatan umum untuk menguji keamanannya. "Tes negatif" ini melihat apakah sistem melakukan sesuatu yang tidak dimaksudkan untuk dicapai.
Penting juga untuk menyadari bahwa pengujian keamanan Web memerlukan lebih dari sekadar memverifikasi fitur keamanan aplikasi (seperti otentikasi dan otorisasi). Penting juga untuk memastikan bahwa fitur lain diterapkan dengan aman (misalnya, logika bisnis dan penggunaan validasi input dan pengkodean output yang tepat). Tujuannya adalah untuk memastikan bahwa fungsi aplikasi Web aman.
Apa saja jenis penilaian keamanan?
- Uji Keamanan Aplikasi Dinamis (DAST). Tes keamanan aplikasi otomatis ini paling cocok untuk aplikasi internal berisiko rendah yang harus memenuhi persyaratan keamanan peraturan. Menggabungkan DAST dengan beberapa pengujian keamanan online manual untuk kerentanan umum adalah strategi terbaik untuk aplikasi berisiko menengah dan aplikasi penting yang mengalami perubahan kecil.
- Pemeriksaan Keamanan untuk Aplikasi Statis (SAST). Strategi keamanan aplikasi ini mencakup metode pengujian otomatis dan manual. Ini ideal untuk mendeteksi bug tanpa harus menjalankan aplikasi di lingkungan langsung. Hal ini juga memungkinkan para insinyur untuk memindai kode sumber untuk mendeteksi dan memperbaiki kelemahan keamanan perangkat lunak secara sistematis.
- Pemeriksaan Penetrasi. Tes keamanan aplikasi manual ini sangat ideal untuk aplikasi penting, terutama yang sedang mengalami perubahan signifikan. Untuk menemukan skenario serangan lanjutan, evaluasi menggunakan logika bisnis dan pengujian berbasis musuh.
- Aplikasi Self-Protection in the Runtime (RASP). Metode keamanan aplikasi yang berkembang ini menggabungkan berbagai teknik teknologi untuk menginstrumentasikan aplikasi sehingga ancaman dapat diawasi dan, diharapkan, dicegah secara real time saat terjadi.
Apa peran pengujian keamanan aplikasi dalam menurunkan risiko perusahaan?
Sebagian besar serangan terhadap aplikasi web meliputi:
- SQL Injection
- XSS (Skrip Lintas Situs)
- Eksekusi Perintah Jarak Jauh
- Serangan Lintas Jalur
- Akses konten terbatas
- Akun pengguna yang disusupi
- Pemasangan kode berbahaya
- Kehilangan pendapatan penjualan
- Kepercayaan pelanggan terkikis
- Merusak reputasi merek
- Dan banyak serangan lainnya
Dalam lingkungan Internet saat ini, aplikasi Web mungkin dirugikan oleh berbagai tantangan. Grafik di atas menggambarkan beberapa serangan paling umum yang dilakukan oleh penyerang, yang masing-masing dapat menyebabkan kerusakan signifikan pada aplikasi individu atau keseluruhan bisnis. Mengetahui banyak serangan yang membuat aplikasi rentan, serta kemungkinan hasil serangan, memungkinkan perusahaan untuk mengatasi kerentanan sebelumnya dan mengujinya secara efektif.
Kontrol mitigasi dapat dibuat di seluruh fase awal SDLC untuk mencegah masalah apa pun dengan mengidentifikasi akar penyebab kerentanan. Selama pengujian keamanan aplikasi Web, pengetahuan tentang cara kerja ancaman ini juga dapat digunakan untuk menargetkan tempat-tempat menarik yang diketahui.
Mengenali dampak serangan juga penting untuk mengelola risiko perusahaan, karena dampak serangan yang berhasil dapat digunakan untuk menentukan tingkat keparahan kerentanan secara keseluruhan. Jika kerentanan ditemukan selama pengujian keamanan, menentukan tingkat keparahannya memungkinkan perusahaan untuk memprioritaskan upaya perbaikan secara lebih efektif. Untuk mengurangi risiko bagi perusahaan, mulailah dengan masalah tingkat keparahan kritis dan turun ke tingkat yang berdampak lebih rendah.
Sebelum mengidentifikasi masalah, menilai kemungkinan dampak dari setiap program di perpustakaan aplikasi perusahaan akan membantu Anda memprioritaskan pengujian keamanan aplikasi. Pengujian keamanan Wenb dapat dijadwalkan untuk menargetkan aplikasi penting perusahaan terlebih dahulu, dengan pengujian yang lebih bertarget untuk menurunkan risiko terhadap bisnis. Dengan daftar aplikasi profil tinggi yang mapan, pengujian keamanan wenb dapat dijadwalkan untuk menargetkan aplikasi penting perusahaan terlebih dahulu, dengan pengujian yang lebih bertarget untuk menurunkan risiko terhadap bisnis.
Selama pengujian keamanan aplikasi web, fitur apa yang harus diperiksa?
Selama pengujian keamanan aplikasi Web, pertimbangkan daftar fitur yang tidak lengkap berikut ini. Implementasi yang tidak efektif dari masing-masing dapat mengakibatkan kelemahan, menempatkan perusahaan dalam bahaya.
- Konfigurasi aplikasi dan server. Enkripsi/pengaturan kriptografi, konfigurasi server Web, dan sebagainya adalah contoh kelemahan potensial.
- Validasi input dan penanganan kesalahan Pemrosesan input dan output yang buruk menyebabkan injeksi SQL, skrip lintas situs (XSS), dan masalah injeksi tipikal lainnya.
- Otentikasi dan pemeliharaan sesi. Kerentanan yang dapat menyebabkan peniruan identitas pengguna. Kekuatan dan perlindungan kredensial harus diperhitungkan juga.
- Otorisasi. Kapasitas aplikasi untuk melindungi dari eskalasi hak istimewa vertikal dan horizontal sedang diuji.
- Logika dalam bisnis. Sebagian besar program yang menyediakan fungsionalitas bisnis bergantung pada ini.
- Logika di ujung klien. Jenis fitur ini menjadi lebih umum dengan halaman web modern yang sarat JavaScript, serta halaman web yang menggunakan jenis teknologi sisi klien lainnya (misalnya, Silverlight, Flash, applet Java).
Untuk mengenal diri Anda secara detail dengan kurikulum sertifikasi, Anda dapat memperluas dan menganalisis tabel di bawah ini.
Kurikulum Sertifikasi Pengujian Penetrasi Aplikasi Web EITC/IS/WAPT mereferensikan materi didaktik akses terbuka dalam bentuk video. Proses pembelajaran dibagi menjadi struktur langkah demi langkah (program -> pelajaran -> topik) yang mencakup bagian kurikulum yang relevan. Konsultasi tak terbatas dengan pakar domain juga disediakan.
Untuk perincian tentang prosedur Sertifikasi, periksa Bagaimana itu bekerja.
Download materi persiapan belajar mandiri offline lengkap untuk program Pengujian Penetrasi Aplikasi Web EITC/IS/WAPT dalam file PDF
Materi persiapan EITC/IS/WAPT – versi standar
Materi persiapan EITC/IS/WAPT – versi diperpanjang dengan pertanyaan ulasan