Yang Perlu Anda Ketahui Tentang Pengujian Penetrasi
Keamanan adalah jantung dan jiwa dari semua bisnis digital. Dengan teknologi canggih modern, selalu mungkin bagi peretas untuk mengeksploitasi segala jenis kerentanan dalam sistem Anda untuk menimbulkan kerusakan yang tak terhitung jumlahnya. Ini sangat bermasalah untuk perusahaan berbasis blockchain yang biasanya berurusan dengan sejumlah besar uang. Untuk melindungi kepentingan investor mereka, adalah tanggung jawab mereka untuk memastikan bahwa mereka mengambil semua langkah yang mungkin untuk menguji dan menyelidiki kode mereka secara menyeluruh. Di sinilah pengujian penetrasi masuk.
Pengujian penetrasi telah menunjukkan dirinya sebagai metode terbaik untuk menemukan potensi pelanggaran keamanan. Dalam panduan ini, kita akan melihat apa arti pengujian penetrasi dan bagaimana hal itu dapat membantu perusahaan Anda.
Apa itu Pengujian Penetrasi?
Tes penetrasi pada dasarnya adalah serangan cyber simulasi terhadap sistem untuk memeriksa kerentanannya. Ketika datang ke keamanan aplikasi web, pengujian penetrasi biasanya digunakan untuk membentengi firewall. Wawasan dari tes penetrasi ini dapat digunakan untuk menyempurnakan produk dan menghubungkan kerentanan.
Sekarang, mengapa itu dibutuhkan? Terima kasih untuk artikel ini , kami menemukan beberapa statistik yang cukup menarik.
- Lebih dari 69% organisasi yang berbasis di Amerika Serikat tidak berpikir bahwa perlindungan anti-virus atau firewall mereka dapat secara efektif melindungi mereka dari serangan.
- Biaya rata-rata dari pelanggaran ini untuk perusahaan AS telah mencapai hampir $ 7,5 juta dan hampir $ 5 juta di Timur Tengah.
- Pada tahun 2017, serangan dunia maya dicatat setiap 40 detik yang mengakibatkan total kerugian $ 5 miliar, peningkatan yang mengejutkan dari tahun 2015 yang $ 325 juta
- Diproyeksikan bahwa pada tahun 2019, serangan dunia maya akan terjadi setiap 14 detik pada tahun 2019 dengan total kerugian sebesar $ 21,5 miliar.
- Industri medis dan keuangan paling menderita dengan kerugian masing-masing $ 380 dan $ 245 per kapita.
Berikut ini adalah jenis serangan cyber yang telah dialami oleh perusahaan pada Agustus 2017:
Lima Tahapan Tes Penetrasi
Lima tahap tes penetrasi, menurut Incapsula , terlihat seperti ini:
Baiklah, jadi sekarang mari kita melihat ke dalam setiap langkah ini.
Tahap # 1: Perencanaan dan Pengintaian
Pengintaian adalah tindakan mengumpulkan data awal atau intelijen pada target Anda.
Masuk akal untuk ini menjadi tahap pertama tes karena membantu seseorang belajar lebih banyak tentang target mereka dan karenanya memutuskan tindakan terbaik. Ada dua jenis pengintaian:
- Pengintaian aktif : Dalam hal ini, tester secara langsung berinteraksi dengan target mereka dan mengajukan pertanyaan kepada mereka untuk membantu membangun mode serangan mereka
- Pengintaian pasif : Mereka berinteraksi dengan perantara untuk mendapatkan informasi pengintaian mereka.
Pada tahap ini, tester menentukan ruang lingkup dan tujuan pengujian mereka di mana mereka menyatakan sistem yang akan mereka alamatkan dan metode pengujian yang akan mereka gunakan.
Tahap # 2: Memindai
Fase pemindaian terdiri dari penggunaan alat teknis untuk mengumpulkan intelijen pada target. Pikirkan untuk menggunakan pemindai kerentanan di jaringan target. Tahap ini akan membantu tester memahami bagaimana target akan merespons berbagai upaya serangan. Ada dua bentuk pengujian yang dilakukan pada tahap ini:
- Analisis Statis : Ini termasuk memeriksa kode aplikasi untuk memprediksi bagaimana perilakunya selama runtime. Analisis ini dapat dilakukan dalam sekali jalan.
- Analisis Dinamis : Dalam analisis ini, Anda memeriksa kode aplikasi saat sedang berjalan. Analisis ini jauh lebih praktis, karena memberikan wawasan real-time tentang bagaimana kinerja aplikasi.
Tahap # 3: Mendapatkan akses
Pada tahap ini, Anda mendapatkan akses dengan mengendalikan satu atau lebih perangkat jaringan ke:
- Ekstrak data dari target
- Gunakan perangkat untuk meluncurkan serangan ke target lain
Tahap ini menggunakan berbagai metode untuk mengungkap kerentanan target seperti skrip lintas situs dan backdoors. Penguji dapat mengeksploitasi kerentanan dengan meningkatkan hak istimewa, mencuri data, memotong lalu lintas dll.
Tahap # 4: Menjaga Akses
Ini adalah bagian tersembunyi dari ujian. Dalam hal ini, tester mencoba untuk mempertahankan akses ke jaringan dengan mengambil langkah-langkah yang diperlukan untuk dapat melakukannya.
Jadi, apa tujuan dari tahap ini?
Nah, tester pada dasarnya memeriksa apakah kerentanan yang terlihat dapat dieksploitasi untuk tetap berada di dalam ekosistem Dapp / proyek untuk waktu yang lama. Dengan kata lain, jika peretas mengambil keuntungan dari kerentanan, lalu berapa lama mereka dapat bertahan di sistem tanpa terdeteksi.
Tahap # 5: Analisis
Baiklah, jadi sekarang kita berada di tahap akhir.
Pada tahap ini, semua yang perlu dilakukan oleh penguji adalah untuk menutupi jejak mereka untuk menghapus semua peluang deteksi. Pada dasarnya, setiap perubahan yang telah dilakukan tester harus kembali ke keadaan semula atau keadaan tidak dikenali oleh administrator jaringan host.
Semua hasil tes kemudian dikompilasi dalam laporan yang merinci sebagai berikut:
- Kerentanan yang dieksploitasi
- Semua data sensitif yang diakses
- Jumlah waktu yang bisa digunakan penguji untuk tetap berada dalam sistem tanpa terdeteksi.
Laporan tersebut kemudian dipelajari untuk memeriksa semua kerentanan.
Metode Pengujian Penetrasi
Baiklah, jadi sekarang kita tahu tentang berbagai tahapan tes penetrasi, mari kita lihat metode pengujian yang berbeda.
- Pengujian Eksternal : Menargetkan aset perusahaan yang terlihat di internet. Contoh dari ini adalah situs web perusahaan, aplikasi web itu sendiri, email, dan server nama domain.
- Pengujian Internal : Seorang penguji mendapatkan akses ke aplikasi di balik firewallnya dan mensimulasikan serangan yang akan dilakukan oleh penyerang jahat. Penyerang ini bisa jadi karyawan jahat atau bisa juga serangan phising
- Blind Testing : Dalam tes ini, tester hanya diberi nama perusahaan yang menjadi target. Melakukan hal ini akan membantu personel keamanan untuk melihat secara real-time bagaimana serangan yang sebenarnya akan terjadi.
- Pengujian Buta Ganda : Dalam hal ini, aplikasi tidak akan memiliki pengetahuan sebelumnya tentang kapan serangan oleh tester akan terjadi. Ini mensimulasikan kondisi dunia nyata di mana penyerang tidak akan membiarkan perusahaan tahu tentang serangan mereka sebelumnya
- Pengujian Target : Dalam skenario ini, tester dan perusahaan bekerja sama untuk menjaga satu sama lain mengetahui tentang pergerakan mereka. Bagaimana ini membantu? Yah, ini memberikan perusahaan umpan balik real-time dari sudut pandang peretas yang potensial.
Berbagai Jenis Pengujian Penetrasi
Penguji penetrasi perlu melakukan beberapa tes dan pemeriksaan. Mari kita pergi melalui beberapa tes umum yang dilakukan para penguji pena ketika datang ke perusahaan berbasis blockchain.
Pengujian Algoritma Konsensus # 1
Salah satu hal paling penting yang harus diuji adalah algoritma konsensus karena mungkin merupakan bagian paling penting dari blockchain. Algoritma konsensus harus diperiksa untuk melihat apakah itu rentan terhadap serangan 51% atau tidak.
Dalam jaringan seperti Bitcoin yang menggunakan Bukti Kerja , sangat mahal untuk meluncurkan serangan 51%. Namun, tidak demikian halnya dengan beberapa koin baru. Mari kita lihat biaya teoretis dari serangan 51% di beberapa jaringan yang menerapkan Bukti Kerja.
Kredit Gambar: ICO Crowd
Ingat satu hal, biaya serangan di sini tidak termasuk hadiah blok yang akan diterima penambang untuk penambangan. Dalam beberapa kasus, ini bisa sangat signifikan, dan mengurangi biaya serangan hingga 80%.
Kunci dan Dompet # 2
Salah satu komponen paling penting dari proyek ini adalah keamanan dompet pengguna melalui penggunaan kunci pribadi dan kata sandi. Ada dua tes yang perlu dilakukan oleh seorang tester untuk membuat dompet lebih aman:
- Memeriksa Kekuatan Kata Sandi : Kekuatan kata sandi sangat penting karena diperlukan oleh penyerang bersama dengan kunci pribadi untuk mengakses dompet pengguna. Serangan langsung dan serangan kamus dapat dilakukan untuk mencoba memecahkan kata sandi. Jika kata sandi di-crack dengan mudah maka itu berarti kata sandi itu lemah.
- Penyimpanan Kunci : Penyimpanan kunci pribadi sangat penting dan merupakan salah satu jantung dan jiwa kriptografi modern. Jelas, ada beberapa metode penyimpanan. Orang lebih suka dompet yang panas dan banyak tanda tangan, akan tetapi, lebih disukai menggunakan dompet dingin seperti dompet perangkat keras. Karena itu, mereka tidak bebas dari peretasan sendiri. Tes penetrasi memastikan bahwa penyimpanan kunci dilakukan dengan cara seaman mungkin.
# 3 Pengujian Sinkronisasi
Karena jaringan blockchain terdiri dari node peer-to-peer, sangat penting bagi mereka untuk dapat melakukan sinkronisasi antar mereka. Inilah sebabnya mengapa sangat penting untuk menguji sinkronisasi antar node untuk memastikan bahwa prosesnya cepat dan efisien.
# 4 Pengujian Redundansi
Tes ini mengungkapkan setiap dan semua masalah dengan redundansi seputar berbagi data lintas node. Tes tersebut mengungkapkan dampak dari beberapa node gagal pada saat yang bersamaan.
# 5 Serangan Timejacking
Setiap kali sebuah node bergabung dengan jaringan, mereka perlu melacak waktu DAN itu harus selaras dengan node rekan lainnya. Cara melakukannya adalah dengan menjaga sistem jam internal yang kebetulan sama dengan waktu jam rata-rata yang dihitung dari semua rekan-rekannya. Jika waktu rata-rata ini berbeda dengan jumlah yang sangat besar dari waktu sistemnya, maka jam internal menyesuaikan dan kembali ke waktu sistem.
Jadi, jika simpul jahat memasuki jaringan dengan cap waktu yang tidak akurat, mereka akan memiliki kemampuan untuk mengubah penghitung waktu jaringan. Hal ini dapat menyebabkan masalah seperti pengeluaran ganda dan pemborosan sumber daya pertambangan .
# 6 Pengujian Blockchain API
API sangat penting karena membantu pengguna berinteraksi dengan blockchain. Tes pena dilakukan untuk memastikan bahwa titik akhir API bebas dari semua kerentanan.
# 7 Serangan DDoS
DDos atau Distributed denial of service serangan adalah salah satu serangan paling mematikan di luar sana. Ini termasuk mengirim sejumlah besar permintaan serupa untuk menyumbat jaringan dan menolak jaringan untuk melakukan segala bentuk operasi. Tes perlu dilakukan untuk memastikan bahwa aplikasi bebas dari potensi serangan DDos.
Studi Kasus Pengujian Penetrasi
Sebuah studi kasus yang menarik telah disajikan oleh blog isecurion . Studi kasus ini menunjukkan manfaat dari pengujian penetrasi. Jadi, mari kita lihat.
Subjek yang dimaksud adalah pertukaran cryptocurrency yang berbasis di India. Tantangan bagi penguji adalah sebagai berikut:
- Tujuan bisnis utama Klien adalah untuk menyediakan pelanggan dengan platform perdagangan yang aman dan aman.
- Klien menginginkan jaminan bahwa situs web dan aplikasi seluler aman dan berisi kontrol keamanan yang sesuai.
- Klien telah menyediakan koin crypto seperti Bitcoin, Ethereum, dan Litecoin & Ripple untuk diperdagangkan di platform mereka.
- Harapan klien adalah melampaui bukti dasar konsep untuk kerentanan yang teridentifikasi dan mereka ingin tahu apakah ada yang bisa memiliki akses ke dompet yang berisi cryptocurrency untuk mencuri dari mereka.
Pendekatan ISECURION
- Kombinasi metodologi pengujian Black box & Grey box digunakan untuk meniru semua skenario serangan yang mungkin.
- Mengidentifikasi semua titik masuk ke platform web & Seluler.
- Melakukan berbagai serangan berdasarkan skenario di bursa.
Hasil
- Pada tahap awal pengujian, mereka menemukan bahwa selama proses KYC di mana pengguna dapat mengunggah dokumen seperti itu, detail keamanan sosial pengguna rentan terhadap unggahan file berbahaya dan kami dapat mengeksekusi kode shell di server.
- Saat menguji injeksi SQL, mereka menemukan bahwa header USER-AGENT rentan terhadap injeksi sql yang memberikan akses lengkap ke database.
- Selama pengujian Aplikasi Seluler Android, mereka dapat mem-bypass mekanisme login dan mengakses dompet pengguna lain dan mampu mentransfer mata uang kripto ke dompet kami.
- Detail lengkap pengguna seperti No. Bank A / C no, kode IFSC dan detail lengkap pengguna disimpan di ponsel dalam teks yang jelas.
- Aplikasi seluler rentan terhadap bypass otentikasi dua faktor.
- Cryptocurrency pengguna disimpan dalam dompet panas di server itu berarti bahwa kunci pribadi mereka disimpan di server sehingga siapa pun yang memperoleh kunci pribadi bisa mencuri koin mereka.
Manfaat
- ISECURION meminimalkan risiko keamanan dengan menilai kerentanan aplikasi pelanggan dan solusi yang direkomendasikan dengan metode yang terbukti untuk meningkatkan keamanan.
- Kedalaman cakupan yang dilakukan oleh tim dan hasil yang disampaikan membantu klien untuk tidak hanya mengidentifikasi kerentanan teknis dan proses terkait tetapi juga membantu mereka dalam mengetahui cara memperbaikinya.
- Mematuhi semua peraturan, memperoleh kemampuan untuk fokus hanya pada peristiwa berisiko tinggi dan mengambil tindakan segera.
Penilaian Kerentanan vs Pengujian Penetrasi
Sebelum kita melangkah lebih jauh, penting untuk mengetahui perbedaan antara penilaian kerentanan dan pengujian penetrasi. Mari kita lakukan studi banding.
Biaya Tes Penetrasi
Menurut hacken , biaya rata-rata tes penetrasi dapat bervariasi dari $ 4.000 hingga $ 100.000. Alasan harganya adalah:
- Anda menyewa seorang spesialis atau tim spesialis untuk menjalankan tes pada proyek Anda
- Anda juga menerima rekomendasi sehubungan dengan kerentanan yang ditemukan.
- Tes penetrasi juga harus dilakukan secara teratur untuk memastikan bahwa semua kemungkinan run-through dibuat dan tidak ada kerentanan yang muncul. Tes yang berulang ini menambah harga
Alih-alih spesialis, Anda juga bisa mendapatkan tes penetrasi dilakukan melalui perangkat lunak yang biayanya dari $ 1000- $ 2000. Meskipun ini jelas merupakan pilihan yang lebih murah, cek tidak begitu menyeluruh dan hanya seorang spesialis yang dapat memberi tahu Anda tentang cara memasang lubang pada sistem.
Bahkan jika Anda menyewa spesialis, ada beberapa faktor yang dapat menentukan harga pengujian Anda:
- Tingkat kerumitan dalam sistem Anda. Semakin kompleks sistem Anda, pengujian penetrasi akan semakin mahal.
- Ukuran jaringan Anda. Lebih banyak pekerjaan akan dibutuhkan penguji jika ukuran jaringan besar
- Jika ada alat tambahan yang diperlukan untuk pengujian, maka itu dapat menaikkan harga pengujian. Bahkan, mari kita mengembangkan alat-alat ini sehingga Anda dapat memiliki pemahaman yang lebih baik tentang harga.
Berikut adalah jenis alat yang dapat Anda gunakan:
- Alat statis untuk mengeksploitasi kelemahan yang diketahui dalam kode
- Alat dinamis untuk mensimulasikan tes kerusakan pada sistem untuk mengetahui kerentanan selama runtime.
- Alat analisis interaktif untuk menjalankan agen di server atau pustaka kode bawaan untuk memudahkan deteksi kerentanan.
Alat – alat ini dapat membuat sejumlah besar data untuk diproses oleh tester dan karenanya harus disesuaikan untuk memenuhi kebutuhan perusahaan.
Keuntungan dari Pengujian Penetrasi
Seperti yang Anda lihat, ada banyak keuntungan untuk pengujian penetrasi. Mari kita lihat beberapa di antaranya:
- Bantu kami menentukan vektor serangan apa yang dapat memengaruhi aplikasi
- Bantu kami menemukan titik kerentanan
- Identifikasi kerentanan besar yang dapat digali karena kombinasi beberapa kerentanan risiko rendah
- Mengidentifikasi dampak sebenarnya dari serangan yang berhasil pada bisnis dan operasi umum.
- Ini juga mengungkapkan seberapa baik keamanan sistem sebenarnya
- Sebaliknya, jika sistemnya mudah dibobol, maka itu menunjukkan perusahaan bahwa mereka perlu berinvestasi dalam pengukuran keamanan yang lebih baik
- Karena laporan yang diperoleh setelah pengujian penetrasi, perusahaan dapat membuat semua penyesuaian yang diperlukan untuk membuat operasi dan bisnis mereka lebih baik.
BountyOne: Para Ahli Tes Penetrasi
Tes pena harus selalu dilakukan oleh spesialis bersertifikat dengan rekam jejak yang terbukti. Seperti yang dapat Anda bayangkan, mereka sulit ditemukan, selalu diminati, dan mahal.
Namun, bagaimana jika kita memiliki sebuah platform, yang menyatukan semua penguji ini, dan memberi mereka insentif secara ekonomi untuk melakukan pekerjaan terbaik yang bisa mereka lakukan? Itulah tepatnya tentang BountyOne.
Pikirkan BountyOne sebagai “Uber” penguji penetrasi. Penguji apa pun dapat memilih untuk mengerjakan kontrak apa pun yang saat ini aktif di platform. Setiap penguji ini diperiksa secara ekstensif oleh kami. Mereka melewati proses aplikasi terperinci yang memastikan bahwa hanya para penguji terbaik yang ada di platform kami.
Anda dapat memeriksa infografis ini untuk mempelajari cara kerja seluruh proses. Singkatnya:
- Penguji dapat memutuskan untuk mengerjakan proyek yang mereka inginkan.
- Semua pekerjaan yang telah dilakukan oleh penguji adalah tiga kali diperiksa oleh anggota ekosistem lainnya
- Jika penguji tidak melakukan pekerjaan dengan baik, maka taruhan mereka terpotong dan mereka kehilangan semua uang mereka
Jadi, mengapa Anda memilih BountyOne dari platform audit / pen testing lainnya? Baiklah, mari kita lihat:
- Itu lebih murah karena kita tidak memiliki tester penuh waktu yang harus kita bayar ratusan ribu dolar. Mereka memiliki pekerjaan pengembangan soliditas lainnya dan hanya melakukan ini di samping seperti driver Uber.
- Kami membayar mereka berdasarkan kinerja dan bukan hanya karena mengatakan mereka membaca kode. Ini adalah alasan mengapa para penguji memiliki insentif ekonomi untuk melakukan pekerjaan sebaik mungkin.
- Penguji berisiko kehilangan semua uang simpanan mereka jika mereka tidak melakukan pekerjaan dengan baik dan tidak menyerahkan pekerjaan mereka tepat waktu. Ini memastikan bahwa tidak ada penundaan yang tidak perlu.
- Juga, komunitas (termasuk penguji lain) dapat menghasilkan banyak uang dengan menyangkal pekerjaan yang telah dilakukan orang lain.
Source:
https://blockgeeks.com/guides/penetration-testing/