Security Testing

Prant F. Gaharu
DOKU Insight
Published in
4 min readOct 10, 2020

Dalam teori testing, salah satu yang sering kita dengar adalah pyramid testing. Dimana ada hierarki yang tersusun dari bawah sampai ke atas. Dibagian paling bawah di mana yang paling tebal, awal dan penting adalah unit testing, lalu secara berurutan keatas yaitu fuctional testing, penetration testing/performance testing, ui testing dan yang paling terakhir, exploratory testing. Yang bisa kita artikan penetration testing adalah salah satu komponen testing yang penting untuk menjaga suatu sistem informasi berjalan dengan benar.

Bila saya bisa di analogikan suatu sistem informasi adalah suatu rumah, penetration testing sudah tidak membicarakan apakah rumah tersebut ada pintu dan jendelanya atau tidak. Tapi, lebih dari itu, yang kita bicarakan adalah apakah pintu dan jendela tersebut aman dari susupan pencuri ? Jadi, concern nya adalah suatu keamanan dari fungsionalitas sistem informasi.

Sebelum saya bicara lebih dalam mengenai penetration testing, saya harus lebih dahulu membicarakan security testing. Karena sebenernya penetration testing adalah salah satu jenis dari security testing.

Security testing sendiri adalah teknik pengujian untuk menentukan jika sistem informasi melindungi data dan mempertahankan fungsi sebagaimana dimaksud, dengan melakukan pengujian keamanan. Security testing untuk melindungi sistem informasi terhadap tindakan tak terduga yang menyebabkannya aplikasi berhenti berfungsi atau dieksploitasi. Tindakan tak terduga ini dapat berupa disengaja atau tidak disengaja.

Namun security testing tidak menjamin sebuah sistem informasi aman, namun kita bisa berupaya untuk mencegah proses peretasan sebuah sistem informasi dan mengetahui kelemahan dan celah apa saja yang ada dalam sistem informasi kita.

Lalu apa impact yang bisa terjadi, ketika kita tidak concern menganai security testing ? ada beberapa hal, dan salah 3 nya adalah sebagai berikut :

  1. Kehilangan Data dan Pembajakan Identitas

2. Reputasi dan Kehilangan Kepercayaan

3. Kerugian keuangan

Karena impact diatas itulah, seharusnya kita sebagai pelaku pengembangan sistem informasi harus lebih ketat dalam melakukan security testing.

Sekarang kita berbicara mengenai jenis-jenis security testing. Karena begitu banyak concern dalam hal ini.

1. Vulnearability Scanning
2. Security Scanning
3. Penetration Testing
4. Risk Assesment
5. Security Auditing
6. Posture Assessment
7. Ethnical Hacking

Dari sekian banyak jenis security testing diatas, pada tulisan kali ini saya fokus pada apa yang saya bicarakan di awal, yaitu penetration testing. Lalu sebenernya apa penetration testing itu sendiri? Jenis testing ini mensimulasikan serangan dari hacker jahat. Testing ini memuat analisis dari suatu sistem informasi, dalam rangka memeriksa sebuah adanya potensi untuk upaya hacking dari eksternal.

Tujuan dari penetrasi testing juga disebut ethical hacking, adalah untuk mengevaluasi status keamanan dari sebuah sistem. Ini adalah serangan dikontrol yang menyingkap kelemahan keamanan dengan cara yang realistis.

Lalu berikut nya, saya ingin membicarakan bagaimana treatment penetration testing ini.

Pertama yang ingin saya bicarakan adalah sudut pandang dari orang yang melakukakan testing ini. Ada 3 sudut pandang yang bisa kita ambil :

Yang di sebut black area adalah dimana seseorang yang memposisikan diri seseorang yang tidak mengetahui apa yang di bangun di dalam sebuah sistem informasi. Bisa diartikan dia memposisikan sebagai attacker atau hacker.

Lalu berikut nya adalah white area, disini sebaliknya dari black area. Yaitu orang yang mengetahui apa yang di bangun di dalam suatu sistem informasi. Jadi testing as developer.

Yang ketiga adalah grey area adalah orang yang mengetahui sebagian informasi dari apa yang di bangun dari sistem informasi. Mungkin dev ops engineer bisa mempresentasikan grey area ini.

Ketiga sudut pandang ini mempunyai perannya masing-masing dalam mengukur ketajaman sebuat penetration testing, jadi kita mempunya berlapis treatment. Sehingga mempertebal kualitas dari penetration testing itu sendiri.

Kenapa kita harus membangun kualitas dari treatment penetration testing ? Karena ada sebuh teori seperti berikut :

“Jika Anda gagal dalam penetration testing, Anda tahu bahwa Anda memiliki masalah yang sangat buruk.

Namun, Jika Anda lulus penetration testing, Anda tidak tahu bahwa Anda memiliki masalah yang sangat buruk”.

Jadi mentality yang harus di bangun adalah lebih baik problem security ini di ketahui oleh development team daripada akhirnya terjadi celah ketika di realease.

Lalu pertanyaan berikut nya adalah, adakah guidance yang bisa membantu kita dalam melakukan penetration testing ? Jawabanya adalah ada. Ada beberapa guidance yang bisa di implementasikan. Sebagai contoh PCI DSS, OWASP dan ISSAF.

Masing-masing guidance diatas memilikan concern nya masing-masing. Misal PCI lebih concern mengenai sisi financial dan juga guidance-guidence yang lain. Suatu saat kita perlu lebih detail membahas guidance diatas.

Terakhir, saya ingin menyampaikan bagaimana penerapan yang baik sebuah security test di sebuah organisasi. Atau bagaiman life cycle nya ? Karena prinsipnya salah satu metode terbaik untuk mencegah bug keamanan muncul di sistem informasi adalah dengan memasukkan concern keamanan di setiap fase System Development Life Cycle (SDLC).

Seperti gambar diatas, concern terhadap security harus mengikuti sdlc dari pembuatan suatu sistem informasi itu sendiri. Sehingga, segala sesuatu celah bisi di mitigasi dari awal bahkan ketika sistem infromasi itu sendiri masih di rancang.

Itu saja yang mungkin bisa saya sampaikan untuk awalan mengenai security testing yang saya ketahui dari berbagai sumber dan pengalaman saya sendiri.

Semoga bermanfaat dan terima kasih.

--

--