Investigating Web Attacks

Aplikasi web mengijinkan pengguna untuk mengakses sumber dayanya melalui sisi client seperti web browser. Beberapa aplikasi web tentu saja memiliki vulnerability yang mengijinkan penjahat siber untuk meluncurkan aplikasi spesifik seperti SQL injection dan cross site scripting. Karena adanya potensi serangan siber maka kegiatan investigasi forensik diperlukan untuk membuktikan terjadikan kejahatan siber di pengadilan. Pertama perlu diketahui apa itu aplikasi web. Yang dimaksud aplikasi web adalah program yang ada di atas server terpusat yang mengijinkan adanya pengguna dimana mengunjungi web melalui internet untuk memasukkan atau mendapatkan data ke dan dari sebuah database. Investigator perlu untuk mengumpulkan data seperti:

  • Date and time at which the request was sent
  • IP address from which the request has initiated
  • HTTP method used (GET/POST)
  • Uniform Resource Identifier (URI)
  • Query sent via HTTP
  • HTTP headers
  • HTTP request body
  • Event logs (non-volatile data)
  • File listings and timestamps (non-volatile data)
Ada beberapa indikator serangan pada web. Misalnya terjadi serangan DoS maka pelanggan mendapatkan akses ditolak ke informasi atau layanan yang tersedia pada web server. Contoh lain saat terjadi serangan SQL injection maka akan ada pesan HTTP 500. Ancaman yang terjadi di aplikasi web sangat banyak, sedikitnya ada 18 ancaman yang telah teridentifikasi:
  1. Cookies Poisoning : penyerang melewati proses otentikasi dengan mengubah informasi saat ini yang ada di cookie
  2. SQL Injection : saat web melakukan query ke database penyerang menggunakan seperti ' " ; /* */ dan sebagainya, jika muncul pesan error sql atau blank maka itu mungkin menjadi vulnerability
  3. Injection Flaws : penyerang dapat mengeksekusi command atau query melalui celah inputan sehingga dapat mengekstraksi informasi sensitif
  4. Cross-Site Request Forgery : penyerang melakukan pengiriman link melalui email atau chat untuk mendapatkan otentikasi pengguna
  5. Directory Traversal : penyerang mendapatkan akes tidak terotorisasi kedirektori seperti root melalui input seperti ../../../../etc/passwd
  6. Unvalidated Input : penyerang melakukan perusakan dengan URL, HTTP requests, headers, hidden fields, form fields, query string dan sebagainya
  7. Cross-Site Scripting (XSS) : membuat script berbahaya yang bisa dieksekusi melalui kolom search dari web atau kolom form
  8. Sensitive Data Exposure : penyerang mengeksploitasi data sensitif yang tidak dienkripsi oleh developer di URL misalnya
  9. Parameter/Form Tampering : penyerang biasanya menggunakan webscarab atau paros proxy untuk mengoleksi informasi
  10. Denial of Service (DoS) : serangan yang denial dengan tujuan agar sumber daya komputasi tidak tersedia untuk pelanggan lain
  11. Broken Access Control : penyerang melakukan eksploitasi pada kebijakan kendali akses atau access-control policies
  12. Security Misconfiguration : konfigurasi yang kurang tepat untuk system hardening dan network hardening
  13. Information Leakage : aplikasi tanpa sengaja mengungkapkan informasi sensitif
  14. Improper Error Handling : aplikasi tidak berhasil menangani erorr internal sehingga malah mengembalikan informasi yang bersifat sensitif
  15. Buffer Overflow : aplikasi menulis melebihi dari buffer yang ditetapkan sehingga dapat membuat aplikasi corrupt
  16. Insufficient Logging and Monitoring : penempatan file log di lokasi yang tidak aman dapat memberikan potensi hilangnya jejak
  17. Broken Authentication : otentikasi yang rusak dieksploitasi oleh penyerang untuk diperoleh hak istimewa administratif melalui timeouts, pertanyaan rahasia, hingga pengelolaan password
  18. Log Tampering : perusakan log dilakukan oleh penyerang tentunya dengan tujuan menghilangkan jejak dan identitas
  19. Insecure Direct Object References : terjadi karena developer mengekspos implementasi internal seperti file dan direktori
  20. Insufficient Transport Layer Protection
  21. Failure to Restrict URL Access
  22. Insecure or Improper Cryptographic Storage
  23. Insecure Deserialization
  24. Cookie Snooping
  25. XML External Entities
  26. Security Management Exploits
  27. Authentication Hijacking
  28. Unvalidated Redirects and Forwards
  29. Session Fixation Attack
  30. CAPTCHA Attack
Seperti kebanyakan kegiatan forensik, pada network forensics juga terdapat metodologi yang bersifat strict untuk diikuti. Pada awalnya perlu dilakukan interview untuk diperoleh informasi, lakukan penyitaan pada server secara offline, lakukan akuisisi dengan membuat image, buat koleksi log dari web server, gunakan enkripsa dan checksum untuk verifikasi serta perlindungan integritas dari file log. Setelah terkumpul dan terpastikan integritas tentu saja dilakukan analisis dengan image, selanjutnya lakukan pelacakan serangan IP untuk mengidentifikasi pelaku serangan. Semuanya diakhiri dengan dokumentasi setiap langkah dari investigasi.

Dalam melakukan investigasi atas adanya serangan web maka diperlukan pengetahuan tentang web server. Di dunia saat ini ada 2 web server yang populer, yaitu IIS dan Apache. The Internet Information Services atau IIS merupakan aplikasi yang dikembangkan oleh Microsoft dengan bahasa Visual Basic. IIS mendukung HTTP, HTTPS, FTP, FTPS, SMTP, dan NNTP. Cara kerja dari IIS, saat HTTP request datang dari client browser maka akan diintersep melalui HTTP.sys, lalu HTTPS.sys berkomunikai dengan WAS untuk mengkoleksi data dari ApplicationHost.config, WAS akan menaikkan request untuk informasi konfigurasi seperti site dan aplikasi ke ApplicationHost.config yang selanjutnya akan melewati layanan WWW. Kemudian layanan WWW menggunakan informasi konfigurasi untuk memperoleh konfigurasi HTTP.sys. Sebuah proses bekerja melalui WAS untuk application tool. Setelah worker process menyelesaikan request makan akan mengembalikan response dalam bentuk HTTP.sys kembali dan selanjutnya client akan menerima response di browser.

sumber: https://pixabay.com/photos/macbook-apple-imac-computer-screen-606763/

Sedangkan cara kerja dari Apache Web melalui pendekatan modular. Elemen inti dari Apache adalah http_protocol (menangani semua perubahan data dan koneksi socket antara client dan server), http_main (menangani startups dan timeouts), http_request (menyelesaikan request dari client dan menangani error), http_core (mengandung header file yang tidak dibutuhkan modul aplikasi), Alloc.c (menangani alokasi pool sumber daya), dan http_config (membaca dan menangani konfigurasi files). Evidence yang memungkinkan dari Apache Web Server adalah logs. Ada 2 jenis log di Apache, yaitu Access log dan Error log. Investigasi Web Attacks pada basis Windows dapat dilakukan melalui Event Viewer melalui command C:\>eventvwr.msc, sedangkan serangan yang dilakukan secara bervariasi dapat menggunakan regular expression untuk mencari XSS. Lebih lanjut pemeriksaan SIEM perlu dilakukan misalnya untuk memeriksa XSS attack.




ref:
ec-council

Komentar