PENJELASAN PENETRATION TESTING

Penjelasan Penetration Testing 
Merupakan metode yang digunakan untuk mengevaluasi keamanan sistem atau jaringan komputer menggunakan melakukan sebuah simulasi penyerangan. Pada metodologi OWASP Web Application Security Testing difokuskan hanya dalam keamanan pelaksanaan web, dimana prosesnya melibatkan analisis secara aktif terhadap pelaksanaan web, buat menemukan kelemahan, kecacatan teknis, dan kelemahan. Masalah-perkara keamanan yang telah ditemukan akan diberikan pada pemilik sistem, yang disertakan dengan laporan yang berisi fakta tentang asumsi pengaruh yg timbul serta jua solusi-solusi teknik buat perkara-perkara tadi.

Selain itu penetration testing juga adalah teknik yang telah generik dipakai buat menguji keamanan suatu jaringan. Penetration testing dikenal pula menjadi black box testing atau ethical hacking. Penetration testing adalah seni menurut pengujian sistem aplikasi web yang sedang berjalan, tanpa mengetahui apa yg dikerjakan di dalam (inner workings) pelaksanaan web itu sendiri. Seorang penguji berperan menjadi penyerang (attacker) dan berusaha untuk menemukan dan mengeksploitasi bagian berdasarkan aplikasi web yg memiliki sifat gampang diserang (vulnerabilities). 

Selama ini penetration testing telah terbukti efektif dalam membantu menangani perkara keamanan dalam jaringan. Teknik penetration testing tidak hanya ditujukan pada pelaksanaan, namun pula dapat diterapkan pada jaringan, serta sistem operasi, dimana tujuan utama-nya merupakan mencari dan lalu berusaha buat mengeksploitasi vulnerabilities yg sudah diketahui atau terdeteksi dalam evaluasi sebelumnya yg terdapat dalam teknologi eksklusif.

Selain itu terdapat kelebihan dan kekurangan yang dimiliki sang pengujian aplikasi web dengan memakai teknik penetration testing, adalah menjadi berikut:

A. Kelebihan 
a. Dapat dilakukan secara cepat, cukup sedikit ketika yg dibutuhkan (sang karena itu relatif murah).
b. Relatif diperlukan keterampilan yang lebih rendah bila dibandingkan menggunakan teknik pengujian yg dilakukan dengan cara pemeriksaan source code (code reviews).
c. Pengujian dilakukan dalam kode yg sebenarnya sedang dipakai (exposed).

B. Kekurangan 
a. Terlalu terlambat dilakukan dalam SDLC 
b. Hanya menguji imbas depan saja 

Penetration Testing Work Flow
Untuk melakukan penetrasi testing pelaksanaan web, OWASP memakai suatu metode (workflow) yang digunakan buat mengatasi kemungkinan situasi yg terjadi pada saat proses penetrasi testing berlangsung, Gambar 12 menunjukkan workflow diagram yang dipakai buat membantu melakukan penetrasi testing pada suatu pelaksanaan web, yang terdiri menurut beberapa tahap, diantaranya:
1. Penetrasi testing dimulai dengan mengumpulkan warta yg mungkin mengenai infrastruktur dan pelaksanaan yang terlibat. Tahap ini sangat krusial, lantaran bila nir paham tentang dasar teknologi yg terlibat, maka kemungkinan gagal akan terjadi selama termin pengujian berlangsung. 
2. Proses pengujian wajib mengikuti semua tahap yang tidak sinkron yg ditunjukkan pada Gambar 12.
3. Penguji wajib berusaha untuk mengeksploitasi semua kelemahan yang ditemukan. Bahkan jika eksploitasi gagal dilakukan, penguji akan memperoleh pemahaman lebih mengenai resiko kelemahan yg ditemukan.
4. Semua keterangan yang diperoleh menggunakan cara mengusut kelemahan aplikasi web (seperti, kesalahan pemrograman atau pencurian kabar internal) wajib digunakan kembali buat mengukur seluruh pemahaman tentang aplikasi dan bagaimana aplikasi tadi bekerja.
5. Jika selama proses pengujian berlangsung, kelemahan berhasil ditemukan pada pelaksanaan web, seperti penyingkapan warta yang kritis bagi usaha, maka perusahaan yang bekerjasama wajib segera dihubungi untuk memberitahu mengenai situasi dan resiko yang terlibat. 

Metode Penetration Testing
Metode penetration testing pelaksanaan web pada metodologi OWASP dilakukan dari dalam dua pendekatan yaitu black box testing dan gray box testing. Pengujian Black box berarti penguji nir mempunyai banyak liputan mengenai struktur, komponen serta bagian internal pelaksanaan web yang akan diuji. Sedangkan pengujian white box berarti penguji mempunyai sebagian kabar mengenai bagian internal aplikasi, misalnya penyedia software (platform vendor), sessionID dan prosedur pemecahan yg dipakai. Gambar 11 merupakan gambar yg didapatkan berdasarkan pemodelan metodologi OWASP yang menampakan model yang terdapat pada metodologi OWASP buat melakukan penetrasi testing dalam suatu aplikasi web, yang terdiri dari:
a. Tester: Seseorang yang melakukan aktifitas pengujian
b. Tools and metodologi: Inti dari panduan yang diberikan sang OWASP
c. Application: Aplikasi web yang akan diuji.

Gambar OWASP Penetration Testing Model

Tahap Pengujian Penetrasi Aplikasi Web
OWASP membagi uji penetrasi aplikasi web ke pada 3 tahap yaitu, sebelum pengujian (pre-attack phase), saat pengujian (attack phase) dan setelah pengujian (post-attack phase).

Pre-Attack Phase
Pre-Attack Phase adalah termin yang dilakukan sebelum penyerangan atau disebut pula dengan pengujian yang dilakukan menggunakan cara pasif, dimana penguji berusaha buat mengumpulkan liputan yang herbi aplikasi dan tahu prosedur aplikasi web yang akan diuji.

Gambar Penetration Testing Workflow

Attack Phase
Attack phase merupakan termin inti berdasarkan pengujian pelaksanaan web yg dilakukan secara aktif, dimana termin ini berguna buat menemukan kelemahan yang terdapat dalam pelaksanaan web, yang dilakukan dengan cara melakukan simulasi penyerangan pada pelaksanaan web. Berikut adalah fakta-berita yang diharapkan selama proses pengujian:

a. Kategori 
Merupakan kategori pengujian yang telah didefinisikan oleh OWASP, yang dikenal dengan istilah OWASP Top 10, yang adalah sepuluh besar kelemahan yg tak jarang terjadi dalam aplikasi web.

b. Nomor Referensi
Digunakan buat lebih memudahkan proses identifikasi, yang diklasifikasikan berdasarkan dalam kategori pengujian.

c. Nama Kebutuhan
Nama kebutuhan (requirement) yg diharapkan buat dilakukan pengujian. Setiap kebutuhan diidentifikasi dari angka referensi.

d. Kelemahan Aplikasi Web (Vulnerability)
Deskripsi kelemahan aplikasi web yang telah didefinisikan sebelumnya oleh OWASP, dengan mengetahui kelemahan dapat membantu memilih bagian mana menurut pelaksanaan web yang perlu dilakukan pemugaran. 

Gambar Tahap Penetration Testing

Post-Attack Phase
Pada termin ini dilakukan evaluasi terhadap dampak resiko yang disebabkan sesudah kelemahan ditemukan pada aplikasi web. Gambar merupakan gambar yg dihasilkan menurut pemodelan metodologi OWASP yang memperlihatkan tahap-termin yang dilakukan selama proses penetrasi testing. Tahap yg dilakukan sesudah tahap pengujian selesai dilakukan, diantaranya adalah sebagai berikut:

A. Penilaian Resiko 
Penilaian resiko adalah termin yg dilakukan setelah proses pengujian aplikasi web berhasil dilakukan. Metode yang digunakan untuk memperkirakan resiko bisnis merupakan dengan menggunakan metodologi OWASP, dimana menggunakan metode tadi dapat diputuskan apa saja yg harus dilakukan terhadap resiko-resiko tersebut. Dengan mengetahui resiko yang akan terjadi maka poly manfaat yang akan diperoleh diantaranya, berhemat ketika serta mengurangi terjadinya resiko yang lebih berfokus. Perkiraan resiko pada metodologi OWASP dimulai dengan contoh:
Likelihood adalah kemungkinan penyebab yang dipakai buat memprediksi akibat yg terjadi dalam suatu aplikasi web. Sedangkan impact merupakan dampak atau konsekuensi yang disebabkan dampak serangan yg ditujukan terhadap pelaksanaan web. Menurut OWASP masih ada beberapa termin buat memilih dan mengkombinasikan besarnya resiko yang ditimbulkan akibat eksploitasi kelemahan yg masih ada dalam suatu pelaksanaan web, termin-termin tadi antara lain: 
a. Tahap 1: Identifying a Risk
b. Tahap dua: Factors for Estimating Likelihood
c. Tahap tiga: Factors for Estimating Business Impact
d. Tahap 4: Determining Severity of the Risk
e. Tahap lima: Deciding What to Fix

Tahap 1: Identifying a Risk
Tahap pertama buat mengetahui resiko yg terjadi dalam sistem keamanan merupakan dengan mendapatkan fakta yg berhubungan dengan Threat agent yg terlibat, serangan yg digunakan, kelemahan yg diperoleh serta efek yg terjadi bila kelemahan tadi berhasil di eksploitasi.

Tahap dua: Factors for Estimating Likelihood
Setelah termin pertama dilakukan dan sudah digambarkan seberapa berfokus hal tadi, maka termin selanjutnya merupakan melakukan asumsi likelihood. Proses identifikasi yang dilakukan adalah menggunakan memperkirakan likelihood apakah berada dalam taraf rendah, sedang, atau cukup tinggi.

Di bawah ini merupakan faktor-faktor yg dipakai buat memperkirakan seluruh likelihood diantaranya Threat agent factors dan vulnerability factor.

a. Threat Agent Factors
Tahap pertama adalah threat agent, tujuannya merupakan memperkirakan kemungkinan yg akan terjadi jika proses penyerangan berhasil dilakukan oleh para attacker. 

- Skill Level 
Bagaimana kemampuan teknis yang dimiliki oleh attacker.

- Motive 
Apakah motif attacker mencari serta memanfaatkan kelemahan yg ada.

- Opportunity 
Berapa banyak laba yang bisa diperoleh oleh para attacker selesainya mengeksploitasi kelemahan yg ada.

- Size
Seberapa akbar grup attacker tersebut.

b. Vulnerability Factors
Tahap berikutnya merupakan faktor kelemahan. Tujuannya adalah memperkirakan kemungkinan-kemungkinan yg terjadi dalam bagian kelemahan yg telah ditemukan serta dimanfaatkan.

- Ease of discovery
Seberapa mudah attacker menemukan kelemahan yang ada.

- Ease of exploit 
Seberapa mudah para attacker mengeksploitasi kelemahan tadi.

- Awareness 
Seberapa baik pengetahuan yg diketahui mengenai kelemahan yg dimiliki oleh attacker.

- Intrusion detection
Bagaimana cara pendayagunaan dapat di deteksi.

Gambar memperlihatkan faktor-faktor yang digunakan buat memperkirakan likelihood, serta disertakan juga nilai dalam setiap faktor-nya, dimana nilai-nilai tersebut akan digunakan sebagai perhitungan besarnya resiko yang terjadi sebenarnya. 

Tahap tiga: Factors for Estimating Impact
Terdapat dua macam efek yang ditimbulkan apabila proses penyerangan berhasil dilakukan. Dampak pertama merupakan efek teknis yg terjadi dalam sisi aplikasi, dan berakibat dalam data yang dipakai serta fungsi-fungsi yang tersedia pada pelaksanaan web. Dampak ke 2 adalah imbas usaha yang terjadi pada sisi usaha dan operasional perusahaan. Faktor untuk memperkirakan impak yg terjadi diantaranya technical impact factor serta business impact factor.

a. Technical Impact Factors
Dampak teknis terdiri berdasarkan confidentiality, integrity, availability, serta accountability. Tujuannya merupakan buat memperkirakan besarnya dampak yang terjadi pada sistem apabila kelemahan yg ditemukan berhasil di pendayagunaan.
- Loss of confidentiality 
Seberapa banyak data yg bisa diperlihatkan dan seberapa sensitif data tersebut.

- Loss of integrity
Seberapa banyak data yg bisa di korupsi serta bagaimana taraf kerusakan-nya.

- Loss of availability 
Seberapa akbar layanan yg hilang serta seberapa vital hal tersebut terjadi.

- Loss of accountability 
Apakah aksi yang dilakukan oleh seorang attacker bisa ditelusuri.

Gambar Faktor-faktor buat Memperkirakan Likelihood

b. Business Impact Factors
Di bawah ini merupakan faktor-faktor umum yang mungkin terjadi dalam sektor bisnis bila kelemahan yang ditemukan di eksploitasi:

- Financial damage
Berapa banyak kerugian finansial yg ditimbulkan dari hasil eksploitasi

- Reputation damage 
Apakah pendayagunaan yg dilakukan akan menghambat reputasi bisnis.

- Non compliance
Seberapa banyak ditemukan pelanggaran yg terjadi 

- Privacy violation
Berapa poly identitas langsung yg bisa diungkap.

Gambar menampakan faktor-faktor yang digunakan buat memperkirakan pengaruh yang terjadi, serta disertakan juga nilai pada setiap faktor-nya.

Tahap Determining the Severity of the Risk
Pada tahap ini faktor likelihood serta impact dikombinasikan buat menghitung seberapa besar resiko yg akan ditimbulkan. Hal yg dilakukan pada termin ini adalah memilih apakah likelihood memiliki taraf LOW, MEDIUM, atau HIGH, dimana ketiga kategori tersebut berada pada skala nilai 0-9.

Tahap pertama buat mengetahui tingkatan likelihood adalah menggunakan cara menghitung jumlah nilai menurut setiap faktor dibagi jumlah banyaknya faktor. Di bawah ini merupakan model bagaimana memilih kategori likelihood apakah berada pada taraf LOW, MEDIUM, atau HIGH. 

B. Menentukan Besarnya Resiko 
Setelah output asumsi likelihood serta impact dihasilkan, kemudian dilakukan kombinasi antara keduanya untuk memilih output akhir, yaitu seberapa akbar taraf resiko yang sebenarnya diperoleh. Untuk menentukan hasil akhir bisa dipakai nilai yg terdapat dalam imbas teknis maupun dampak usaha. 

Tahap lima: Deciding What to Fix
Setelah mendapatkan klasifikasi resiko menurut aplikasi yang diuji, maka harus diputuskan bagian apa saja yg akan diperbaiki, dalam umumnya organisasi atau perusahaan harus memperbaiki bagian yg dianggap penting serta menimbulkan kerugian yang relatif akbar saja

Pengujian Autentikasi
Pengujian autentikasi dapat dilakukan dari yg mudah (default password) sampai yg membutuhkan waktu buat mendapatkan output (brute force). Beberapa pelaksanaan web sering diserang dengan memakai teknik Bypassing Authentication Schema, contohnya SQL Injection.

Pada biasanya, pengujian ini dilakukan dengan memasak hasil temuan dari proses pengumpulan liputan. Bisa jua dilakukan dengan melakukan Googling. Bahkan apabila menggunakan kata kunci (keyword) yang spesifik seringkali ditemukan nama pengguna atau kata kunci pada format .doc, .xls, .pdf, serta terdapat pula password database yang ditemukan pada plain text. 

a. Nomor Referensi 
OWASP-AT-001 s/d OWASP-AT-010

b. Kebutuhan (Prioritas) 
Kategori ini herbi kebutuhan buat memastikan bahwa informasi betul-benar asli, orang yg mengakses atau menaruh kabar adalah benar -betul orang yg dimaksud, atau server yang dihubungi adalah benar -benar server yang orisinil. Gambar adalah gambar yang didapatkan dari pemodelan pengujian fungsi Autentikasi dari OWASP.

Gambar Kategori Pengujian Autentikasi

Pengujian Otorisasi
Otorisasi merupakan konsep yang memungkinkan akses dalam sumber daya hanya dalam seseorang yg sudah diijinkan sebelumnya. Pengujian Otorisasi berarti mengerti bagaimana proses otorisasi bekerja, dan menggunakan warta tadi buat mengalahkan mekanisme otorisasi. Otorisasi merupakan suatu proses yang dilakukan sesudah proses autentikasi berhasil dilakukan, sebagai akibatnya penguji akan mempelajari bagian ini sesudah mendapatkan kepercayaan yang valid, yg berhubungan dengan kiprah serta hak yg sudah ditetapkan. Selama proses pengukuran, wajib diperiksa apakah mungkin terjadi penerobosan skema otorisasi, mencari jalur kelemahan, atau mencari cara untuk menaikkan hak yg dilakukan sang penguji itu sendiri. 

Kebutuhan ini digunakan buat memastikan bahwa akses dalam sumber daya (resources) atau pengaturan akses kepada liputan hanya digunakan sang pengguna yang sudah diijinkan sebelumnya. Gambar adalah gambar yg dihasilkan menurut pemodelan pengujian fungsi Otorisasi dari OWASP.

Gambar Kategori Pengujian Otorisasi

Pengujian Manajemen Sesi
Manajemen sesi atau identik dengan Session ID digunakan buat mengingat pengguna, menghilangkan kebutuhan pengguna buat melakukan login ulang, serta memungkinkan server buat menelusuri pola browsing pengguna. Session ID diperlukan buat melakukan hal-hal tersebut. Dan menggunakan adanya session ID ini bisa dilakukan Session Hijacking terhadap pengguna yg sedang melakukan akses ke pada server. Web pelaksanaan menggunakan Session ID buat menyimpan parameter-parameter yang relevan terhadap pengguna. Session ID akan terus terdapat pada server selama pengguna masih aktif atau terhubung menggunakan server. Session akan otomatis dihapus bila pengguna logout atau melampaui batas waktu koneksi. 

a. Nomor Referensi 
OWASP-SM-001 s/d OWASP-SM-005

b. Kebutuhan (Prioritas) 
Kategori ini diperlukan buat mengatasi seluruh kasus yang berhubungan dengan manajemen sesi yg dipakai pengguna mulai dari autentikasi sampai menggunakan pengguna meninggalkan aplikasi web. Gambar adalah gambar yang dihasilkan menurut pemodelan pengujian fungsi Manajemen Sesi berdasarkan OWASP.

Gambar Kategori Pengujian Manajemen Sesi

Comments