Penjelasan Penetration Testing
Merupakan tata cara yang digunakan untuk mengecek keselamatan sistem atau jaringan komputer dengan melaksanakan suatu simulasi penyerangan. Pada metodologi OWASP Web Application Security Testing difokuskan cuma pada keselamatan aplikasi web, dimana prosesnya melibatkan analisis secara aktif terhadap aplikasi web, untuk menemukan kekurangan, keganjilan teknis, dan kekurangan. Masalah-persoalan keselamatan yang sudah didapatkan akan diberikan terhadap pemilik sistem, yang disertakan dengan laporan yang berisi berita wacana asumsi pengaruh yang timbul dan juga solusi-penyelesaian teknik untuk dilema-duduk perkara tersebut.
Selain itu penetration testing juga merupakan teknik yang telah biasa dipakai untuk menguji keamanan sebuah jaringan. Penetration testing diketahui juga selaku black box testing atau ethical hacking. Penetration testing ialah seni dari pengujian tata cara aplikasi web yang sedang berjalan, tanpa mengetahui apa yang dijalankan di dalam (inner workings) aplikasi web itu sendiri. Seorang penguji berperan sebagai penyerang (attacker) dan berupaya untuk mendapatkan dan mengeksploitasi bagian dari aplikasi web yang mempunyai sifat mudah diserang (vulnerabilities).
Selama ini penetration testing sudah terbukti efektif dalam menolong mengatasi duduk perkara keselamatan pada jaringan. Teknik penetration testing tidak hanya ditujukan pada aplikasi, tetapi juga dapat diterapkan pada jaringan, dan sistem operasi, dimana tujuan utama-nya yakni mencari dan kemudian berupaya untuk mengeksploitasi vulnerabilities yang sudah dimengerti atau terdeteksi pada evaluasi sebelumnya yang terdapat dalam teknologi tertentu.
Selain itu terdapat kelebihan dan kekurangan yang dimiliki oleh pengujian aplikasi web dengan memakai teknik penetration testing, yakni selaku berikut:
A. Kelebihan
a. Dapat dilaksanakan secara cepat, cukup sedikit waktu yang dibutuhkan (oleh alasannya adalah itu relatif murah).
b. Relatif diharapkan kemampuan yang lebih rendah jika ketimbang teknik pengujian yang dikerjakan dengan cara pemeriksaan source code (code reviews).
c. Pengujian dijalankan pada aba-aba yang bekerjsama sedang dipakai (exposed).
B. Kekurangan
a. Terlalu telat dijalankan dalam SDLC
b. Hanya menguji imbas depan saja
Penetration Testing Work Flow
Untuk melakukan penetrasi testing aplikasi web, OWASP memakai sebuah sistem (workflow) yang dipakai untuk menanggulangi kemungkinan suasana yang terjadi pada saat proses penetrasi testing berlangsung, Gambar 12 menunjukkan workflow diagram yang dipakai untuk menolong melakukan penetrasi testing pada suatu aplikasi web, yang terdiri dari beberapa tahap, diantaranya:
1. Penetrasi testing dimulai dengan mengumpulkan info yang mungkin mengenai infrastruktur dan aplikasi yang terlibat. Tahap ini sangat penting, karena jikalau tidak paham mengenai dasar teknologi yang terlibat, maka kemungkinan gagal akan terjadi selama tahap pengujian berjalan.
2. Proses pengujian mesti mengikuti semua tahap yang berbeda yang ditunjukkan pada Gambar 12.
3. Penguji harus berusaha untuk mengeksploitasi semua kelemahan yang didapatkan. Bahkan kalau eksploitasi gagal dilaksanakan, penguji akan memperoleh pemahaman lebih perihal resiko kekurangan yang ditemukan.
4. Semua isu yang diperoleh dengan cara menilik kekurangan aplikasi web (seperti, kesalahan pemrograman atau pencurian info internal) harus dipakai kembali untuk mengukur semua pengertian tentang aplikasi dan bagaimana aplikasi tersebut melakukan pekerjaan .
5. Jika selama proses pengujian berlangsung, kekurangan berhasil didapatkan pada aplikasi web, seperti penelisikan info yang kritis bagi bisnis, maka perusahaan yang berafiliasi mesti segera dihubungi untuk menginformasikan tentang suasana dan resiko yang terlibat.
Metode Penetration Testing
Metode penetration testing aplikasi web pada metodologi OWASP dilaksanakan berdasarkan pada dua pendekatan ialah black box testing dan gray box testing. Pengujian Black box berarti penguji tidak memiliki banyak info tentang struktur, komponen dan bagian internal aplikasi web yang hendak diuji. Sedangkan pengujian white box memiliki arti penguji mempunyai sebagian info perihal bagian internal aplikasi, seperti penyuplaiperangkat lunak (platform vendor), sessionID dan algoritma yang digunakan. Gambar 11 merupakan gambar yang dihasilkan dari pemodelan metodologi OWASP yang memperlihatkan model yang terdapat pada metodologi OWASP untuk melakukan penetrasi testing pada sebuah aplikasi web, yang terdiri dari:
a. Tester: Seseorang yang melaksanakan aktifitas pengujian
b. Tools and metodologi: Inti dari bimbingan yang diberikan oleh OWASP
c. Application: Aplikasi web yang mau diuji.
Gambar OWASP Penetration Testing Model
Tahap Pengujian Penetrasi Aplikasi Web
OWASP membagi uji penetrasi aplikasi web ke dalam tiga tahap adalah, sebelum pengujian (pre-attack phase), saat pengujian (attack phase) dan sehabis pengujian (post-attack phase).
Pre-Attack Phase
Pre-Attack Phase ialah tahap yang dijalankan sebelum penyerangan atau disebut juga dengan pengujian yang dikerjakan dengan cara pasif, dimana penguji berusaha untuk menghimpun informasi yang berhubungan dengan aplikasi dan mengetahui prosedur aplikasi web yang mau diuji.
Gambar Penetration Testing Workflow
Attack Phase
Attack phase yakni tahap inti dari pengujian aplikasi web yang dikerjakan secara aktif, dimana tahap ini berguna untuk memperoleh kelemahan yang terdapat pada aplikasi web, yang dikerjakan dengan cara melakukan simulasi penyerangan pada aplikasi web. Berikut merupakan keterangan-keterangan yang diharapkan selama proses pengujian:
a. Kategori
Merupakan klasifikasi pengujian yang sudah didefinisikan oleh OWASP, yang dikenal dengan ungkapan OWASP Top 10, yang merupakan sepuluh besar kelemahan yang sering terjadi pada aplikasi web.
b. Nomor Referensi
Digunakan untuk lebih membuat lebih mudah proses identifikasi, yang diklasifikasikan menurut pada kategori pengujian.
c. Nama Kebutuhan
Nama kebutuhan (requirement) yang diharapkan untuk dijalankan pengujian. Setiap keperluan diidentifikasi berdasarkan nomor tumpuan.
d. Kelemahan Aplikasi Web (Vulnerability)
Deskripsi kekurangan aplikasi web yang sudah didefinisikan sebelumnya oleh OWASP, dengan mengenali kekurangan mampu membantu menentukan bab mana dari aplikasi web yang perlu dilakukan perbaikan.
Gambar Tahap Penetration Testing
Post-Attack Phase
Pada tahap ini dilakukan evaluasi kepada imbas resiko yang ditimbulkan setelah kelemahan ditemukan pada aplikasi web. Gambar ialah gambar yang dihasilkan dari pemodelan metodologi OWASP yang memberikan tahap-tahap yang dilakukan selama proses penetrasi testing. Tahap yang dilaksanakan sehabis tahap pengujian selesai dijalankan, diantaranya ialah selaku berikut:
A. Penilaian Resiko
Penilaian resiko ialah tahap yang dikerjakan sehabis proses pengujian aplikasi web berhasil dijalankan. Metode yang digunakan untuk memperkirakan resiko bisnis yakni dengan memakai metodologi OWASP, dimana dengan sistem tersebut mampu ditentukan apa saja yang mesti dilaksanakan terhadap resiko-resiko tersebut. Dengan mengenali resiko yang mau terjadi maka banyak manfaat yang mau diperoleh diantaranya, mengurangi waktu dan menghemat terjadinya resiko yang lebih serius. Perkiraan resiko pada metodologi OWASP dimulai dengan model:
Likelihood merupakan kemungkinan penyebab yang digunakan untuk memprediksi akibat yang terjadi pada sebuah aplikasi web. Sedangkan impact adalah efek atau konsekuensi yang ditimbulkan akhir serangan yang ditujukan terhadap aplikasi web. Menurut OWASP terdapat beberapa tahap untuk memilih dan mengkombinasikan besarnya resiko yang ditimbulkan akibat eksploitasi kekurangan yang terdapat pada suatu aplikasi web, tahap-tahap tersebut diantaranya:
a. Tahap 1: Identifying a Risk
b. Tahap 2: Factors for Estimating Likelihood
c. Tahap 3: Factors for Estimating Business Impact
d. Tahap 4: Determining Severity of the Risk
e. Tahap 5: Deciding What to Fix
Tahap 1: Identifying a Risk
Tahap pertama untuk mengenali resiko yang terjadi pada tata cara keselamatan adalah dengan menerima informasi yang bekerjasama dengan Threat agent yang terlibat, serangan yang dipakai, kekurangan yang diperoleh dan efek yang terjadi apabila kekurangan tersebut sukses di eksploitasi.
Tahap 2: Factors for Estimating Likelihood
Setelah tahap pertama dilakukan dan sudah digambarkan seberapa serius hal tersebut, maka tahap berikutnya ialah melakukan asumsi likelihood. Proses kenali yang dikerjakan adalah dengan memperkirakan likelihood apakah berada pada tingkat rendah, sedang, atau cukup tinggi.
Di bawah ini ialah aspek-faktor yang digunakan untuk memperkirakan seluruh likelihood diantaranya Threat agent factors dan vulnerability factor.
a. Threat Agent Factors
Tahap pertama yaitu threat agent, tujuannya adalah memperkirakan kemungkinan yang akan terjadi jika proses penyerangan sukses dikerjakan oleh para attacker.
– Skill Level
Bagaimana kesanggupan teknis yang dimiliki oleh attacker.
– Motive
Apakah motif attacker mencari dan mempergunakan kekurangan yang ada.
– Opportunity
Berapa banyak keuntungan yang mampu diperoleh oleh para attacker sehabis mengeksploitasi kelemahan yang ada.
– Size
Seberapa besar golongan attacker tersebut.
b. Vulnerability Factors
Tahap selanjutnya yaitu faktor kekurangan. Tujuannya adalah memperkirakan kemungkinan-kemungkinan yang terjadi pada bagian kekurangan yang sudah didapatkan dan dimanfaatkan.
– Ease of discovery
Seberapa mudah attacker mendapatkan kekurangan yang ada.
– Ease of exploit
Seberapa mudah para attacker mengeksploitasi kekurangan tersebut.
– Awareness
Seberapa baik pengetahuan yang dimengerti tentang kelemahan yang dimiliki oleh attacker.
– Intrusion detection
Bagaimana cara eksploitasi mampu di deteksi.
Gambar menawarkan aspek-aspek yang dipakai untuk memperkirakan likelihood, dan ditambahkan pula nilai pada setiap faktor-nya, dimana nilai-nilai tersebut akan digunakan selaku perkiraan besarnya resiko yang terjadi sebetulnya.
Tahap 3: Factors for Estimating Impact
Terdapat dua macam pengaruh yang ditimbulkan kalau proses penyerangan berhasil dilakukan. Dampak pertama ialah imbas teknis yang terjadi pada segi aplikasi, dan berakibat pada data yang digunakan dan fungsi-fungsi yang tersedia pada aplikasi web. Dampak kedua ialah imbas bisnis yang terjadi pada sisi bisnis dan operasional perusahaan. Faktor untuk memperkirakan imbas yang terjadi diantaranya technical impact factor dan business impact factor.
a. Technical Impact Factors
Dampak teknis terdiri dari confidentiality, integrity, availability, dan accountability. Tujuannya yaitu untuk memperkirakan besarnya pengaruh yang terjadi pada metode kalau kekurangan yang ditemukan berhasil di eksploitasi.
– Loss of confidentiality
Seberapa banyak data yang dapat diperlihatkan dan seberapa sensitif data tersebut.
– Loss of integrity
Seberapa banyak data yang mampu di korupsi dan bagaimana tingkat kerusakan-nya.
– Loss of availability
Seberapa besar layanan yang hilang dan seberapa vital hal tersebut terjadi.
– Loss of accountability
Apakah agresi yang dikerjakan oleh seorang attacker dapat ditelusuri.
Gambar Faktor-faktor untuk Memperkirakan Likelihood
b. Business Impact Factors
Di bawah ini ialah faktor-aspek umum yang mungkin terjadi pada sektor bisnis kalau kelemahan yang ditemukan di eksploitasi:
– Financial damage
Berapa banyak kerugian finansial yang ditimbulkan dari hasil eksploitasi
– Reputation damage
Apakah eksploitasi yang dijalankan akan merusak reputasi bisnis.
– Non compliance
Seberapa banyak didapatkan pelanggaran yang terjadi
– Privacy violation
Berapa banyak identitas pribadi yang dapat diungkap.
Gambar menawarkan aspek-aspek yang dipakai untuk memperkirakan dampak yang terjadi, dan disertakan pula nilai pada setiap aspek-nya.
Tahap Determining the Severity of the Risk
Pada tahap ini aspek likelihood dan impact dikombinasikan untuk menghitung seberapa besar resiko yang akan ditimbulkan. Hal yang dikerjakan pada tahap ini yaitu menentukan apakah likelihood memiliki tingkat LOW, MEDIUM, atau HIGH, dimana ketiga kategori tersebut berada pada skala nilai 0-9.
Tahap pertama untuk mengetahui tingkatan likelihood yaitu dengan cara menjumlah jumlah nilai dari setiap faktor dibagi jumlah banyaknya faktor. Di bawah ini ialah teladan bagaimana memilih klasifikasi likelihood apakah berada pada tingkat LOW, MEDIUM, atau HIGH.
B. Menentukan Besarnya Resiko
Setelah hasil perkiraan likelihood dan impact ditemukan, lalu dilakukan kombinasi antara keduanya untuk memilih hasil final, adalah seberapa besar tingkat resiko yang sebenarnya diperoleh. Untuk menentukan hasil simpulan mampu dipakai nilai yang terdapat pada pengaruh teknis maupun dampak bisnis.
Tahap 5: Deciding What to Fix
Setelah mendapatkan klasifikasi resiko dari aplikasi yang diuji, maka mesti ditentukan bagian apa saja yang akan diperbaiki, pada umumnya organisasi atau perusahaan harus memperbaiki bab yang dianggap vital dan menyebabkan kerugian yang cukup besar saja
Pengujian Autentikasi
Pengujian autentikasi dapat dikerjakan dari yang mudah (default password) sampai yang membutuhkan waktu untuk mendapatkan hasil (brute force). Beberapa aplikasi web sering diserang dengan memakai teknik Bypassing Authentication Schema, contohnya SQL Injection.
Pada biasanya, pengujian ini dikerjakan dengan mengolah hasil temuan dari proses pengumpulan info. Bisa juga dijalankan dengan melaksanakan Googling. Bahkan bila memakai kata kunci (keyword) yang spesifik seringkali didapatkan nama pengguna atau kata kunci dalam format .doc, .xls, .pdf, dan ada pula password database yang didapatkan dalam plain text.
a. Nomor Referensi
OWASP-AT-001 s/d OWASP-AT-010
b. Kebutuhan (Prioritas)
Kategori ini berhubungan dengan keperluan untuk menentukan bahwa informasi betul-betul asli, orang yang mengakses atau memberikan informasi yaitu sungguh-sungguhorang yang dimaksud, atau server yang dihubungi ialah benar-benarserver yang asli. Gambar merupakan gambar yang dihasilkan dari pemodelan pengujian fungsi Autentikasi berdasarkan OWASP.
Gambar Kategori Pengujian Autentikasi
Pengujian Otorisasi
Otorisasi ialah desain yang memungkinkan jalan masuk pada sumber daya cuma pada seseorang yang telah diijinkan sebelumnya. Pengujian Otorisasi berarti memahami bagaimana proses otorisasi bekerja, dan menggunakan berita tersebut untuk mengalahkan mekanisme otorisasi. Otorisasi yakni sebuah proses yang dijalankan sesudah proses autentikasi sukses dijalankan, sehingga penguji akan menilik bagian ini sehabis menerima iman yang valid, yang bekerjasama dengan tugas dan hak yang telah ditetapkan. Selama proses pengukuran, mesti diperiksa apakah mungkin terjadi penerobosan bagan otorisasi, mencari jalur kekurangan, atau mencari cara untuk mengembangkan hak yang dikerjakan oleh penguji itu sendiri.
Kebutuhan ini digunakan untuk memutuskan bahwa terusan pada sumber daya (resources) atau pengaturan akses terhadap berita hanya digunakan oleh pengguna yang sudah diijinkan sebelumnya. Gambar merupakan gambar yang dihasilkan dari pemodelan pengujian fungsi Otorisasi berdasarkan OWASP.
Gambar Kategori Pengujian Otorisasi
Pengujian Manajemen Sesi
Manajemen sesi atau identik dengan Session ID digunakan untuk mengenang pengguna, menghilangkan keperluan pengguna untuk melakukan login ulang, dan memungkinkan server untuk menelusuri acuan browsing pengguna. Session ID dibutuhkan untuk melaksanakan hal-hal tersebut. Dan dengan adanya session ID ini dapat dilaksanakan Session Hijacking kepada pengguna yang sedang melaksanakan terusan ke dalam server. Web aplikasi memakai Session ID untuk menyimpan parameter-parameter yang berkaitan kepada pengguna. Session ID akan terus ada pada server selama pengguna masih aktif atau terhubung dengan server. Session akan otomatis dihapus jika pengguna logout atau melampaui deadline koneksi.
a. Nomor Referensi
OWASP-SM-001 s/d OWASP-SM-005
b. Kebutuhan (Prioritas)
Kategori ini diharapkan untuk menangani semua problem yang berhubungan dengan administrasi sesi yang digunakan pengguna mulai dari autentikasi hingga dengan pengguna meninggalkan aplikasi web. Gambar ialah gambar yang dihasilkan dari pemodelan pengujian fungsi Manajemen Sesi menurut OWASP.
Gambar Kategori Pengujian Manajemen Sesi