Owasp Top 10 Series — A9 (Security Logging and Monitoring Failures) [Indonesia]
Assalamualaikum Wr Wb.
Pada article saya kali ini pada series Owasp Top 10, kali ini saya ingin menjelaskan tentang OWASP Top 10 urutan ke sembilan yaitu Security Logging and Monitoring Failures, sebelum ke inti topik, alangkah lebih baik saya membahas dulu apa itu Owasp & apa itu Owasp Top 10?
OWASP Foundation | Open Source Foundation for Application Security
OWASP singkatan dari Open Web Application Security Project, adalah sebuah project keamanan web aplikasi open source yang diperkasai oleh banyak penggiat teknologi & pengembang aplikasi, berguna untuk mengembangkan sebuah teknologi keamanan aplikasi, OWASP juga sering membuka forum diskusi, seminar, dan pendidikan untuk para pengembang aplikasi.
Apa itu OWASP TOP 10? owasp top 10 adalah pengkategorian sebuah resiko kerentanan yang sering terjadi pada sebuah aplikasi, diawali dari urutan teratas (dengan tingkat resiko tertinggi) sampai terbawah (tingkat resiko cukup rendah), chart seperti ini dibutuhkan oleh pengembang aplikasi untuk lebih aware terhadap kerentanan yang mungkin akan sering terjadi pada aplikasi-aplikasi yang di develop.
Salah satu yang akan saya bahas di artikel ini adalah urutan kesembilan.
Untuk tahun 2021, ialah Security Logging and Monitoring Failures
Security Logging and Monitoring Failures ialah kondisi ketika server / aplikasi tidak termonitoring dengan baik, biasanya disebabkan karena log management yang buruk, log yang tidak terformat dengan baik, namun ada halnya faktor human error, ketika SOC team tidak melakukan pemeriksaan lanjutan / melakukan analisis log secara proaktif terhadap alert.
Beberapa hal diatas banyak menyebabkan masalah nanti nya akan mengancam intergritas dan konfidensialitas dari data client / perusahaan, seperti log yang memuat informasi mengenai teknologi client, bahkan informasi user, memungkinkan juga terdapat 0day exploit pada aplikasi / webserver.
PRAKTIKAL
1. #1121972 admin password disclosure via log file (hackerone.com)
Pada case pertama ini, kerentanan diakibatkan karena pengembang aplikasi menyertakan informasi kredensial user pada log file error, dimana file log tersebut dapat diakses public yang nantinya akan dapat di manfaatkan oleh attacker untuk mengeskalasi hak akses, agar mendapatkan informasi lebih banyak.
2. HackTheBox — Poison | Ivan’s IT learning blog (wordpress.com)
Pada case kedua ini pengembang tidak men-encoding log yang masuk, dikhawatirkan attacker dapat melakukan arbitary code (injeksi langsung code) pada file log tersebut.
Log yang masuk akan langsung tersimpan pada file /var/log/httpd-access.log dikarenakan terdapat bug LFI, log yang tidak terencode akan dapat disisipkan malicious code, dan dijalankan oleh LFI agar code tersebut jalan sesuai content-type yang ada (PHP).
Setelah mencoba melakukan request agar request tersebut tersimpan ke log, attacker akan mencoba membaca file log tersebut kembali, ternyata berhasil terbaca, attacker dapat melakukan arbitary code pada aplikasi tersebut memanfaatkan LFI dan log yang tidak terencode.
Attacker mencoba file log yang telah disisipi malicious code tersebut.
Ternyata berhasil, attacker melakukan request ping ke server dengan malicious code yang tertanam pada log pada webserver tersebut
Kini attacker dapat melakukan eskalasi pada web server target.
3. #1040471 Login page vulnerable to bruteforce attacks via rate limiting bypass (hackerone.com)
Pada kasus ketiga ini, pengembang aplikasi tidak menerapkan logging atau mungkin tidak memperhatikan logging pada login function, yang menyebabkan tidak terdeteksinya attacker / user yang melakuka login sebanyak apapun, hal ini dapat menyebabkan upaya bruteforce yang dapat beresiko pencurian akun, dan jika aplikasi / web server memiliki resource yang terbatas, ada kemungkinan web server akan mengalami down, karna tak mampu menampung request yang banyak.
Attacker mencoba mengintersepsi request login dengan DAST tools (Burp Suite).
Setelah request didapatkan maka untuk melakukan bruteforcing, attacker menggunakan fitur pada burpsuite yaitu intruder untuk melakukan request berulang untuk menebak password yang digunakan target.
Disini attacker juga membuat versi scripting untuk mem-bruteforce login pada website target, dan didapatkan password yang dituju, tanpa ada limitasi / block terkait pengiriman request yang terlalu banyak.
Mitigasi
Security: Log Injection. What? How? | by Shatabda | Medium
Log Injection Software Attack | OWASP Foundation
CWE — CWE-532: Insertion of Sensitive Information into Log File (4.6) (mitre.org)
Detect Brute Force Attacks (logsign.com)
Beberapa kerentanan lain di list CWE:
CWE-117 Improper Output Neutralization for Logs
CWE-223 Omission of Security-relevant Information