Keamanan aplikasi web memiliki karakteristik unik dibanding domain keamanan jaringan tradisional. Aplikasi web menghasilkan data seperti:
- HTTP request/response
- URL patterns
- parameter & payload request
- cookies & session behavior
- API traffic
- web server logs
- user behavior events
- JavaScript execution traces
- login & authentication events
Serangan yang umum terjadi pada aplikasi web mencakup OWASP Top 10, yaitu:
- SQL Injection
- Cross-site Scripting (XSS)
- Command Injection
- Broken Authentication
- Path Traversal
- SSRF
- CSRF
- Account Takeover (ATO)
- LFI/RFI
- API Abuse
- Bot attacks
Model Machine Learning digunakan untuk menganalisis pola request, payload, dan perilaku pengguna sehingga mampu mendeteksi serangan yang tidak dikenali oleh signature-based WAF.
Berikut keterkaitan setiap model ML dengan keamanan aplikasi web secara terperinci.
1. Linear Regression — Prediksi Trafik dan Anomali Beban Aplikasi Web
Peran dalam Keamanan Web
Linear Regression digunakan untuk forecasting dan baseline modeling.
Dalam konteks aplikasi web, model ini mempelajari pola trafik normal:
- jumlah request per detik
- request dari IP tertentu
- error rate 4xx & 5xx
- jumlah session per user
- jumlah query database
Aplikasi Keamanan
-
Deteksi DDoS Layer 7
Bila trafik melebihi prediksi normal → indikasi serangan. -
Prediksi spike abnormal
Misal: permintaan API melonjak di jam biasanya sepi → kemungkinan automated scraping. -
Early warning terhadap brute-force login
linear regression memprediksi login attempts, jika tiba-tiba naik → serangan.
Mengapa Cocok?
- cepat, ringan, cocok untuk real-time monitoring
- mudah diintegrasikan dengan WAF / API Gateway
2. Logistic Regression — Deteksi Payload dan Klasifikasi Serangan Web
Logistic Regression sangat efektif untuk binary classification, misalnya:
request ini malicious atau tidak?
Fitur dari HTTP Request yang Sering Dipakai
- panjang URL
- karakter mencurigakan (
',",;,<script>) - pola parameter (
id=1 OR 1=1) - user-agent anomaly
- frekuensi request
Aplikasi Keamanan Web
-
Deteksi SQL Injection sederhana
Berdasarkan pola Boolean, tautologi, dan syntax injection. -
Deteksi XSS
Payload seperti<iframe>,<script>,onload=.... -
Klasifikasi bot vs manusia
Berdasarkan:- kecepatan request
- navigasi halaman
- header konsisten atau tidak
-
Deteksi brute-force login
Logistic Regression bekerja baik untuk risk scoring login.
Mengapa Cocok?
- mudah dilatih
- interpretabel → berguna untuk auditor OWASP
3. Gradient Boosting (XGBoost, LightGBM, CatBoost) — Deteksi Serangan Kompleks
Gradient Boosting adalah model paling kuat untuk data terstruktur seperti log web & request API.
Aplikasi Pada Keamanan Web
-
Deteksi serangan OWASP Top 10 berdasarkan pola payload
Termasuk:- SQLi kompleks
- XSS encoded
- RCE/Command Injection
- LFI/RFI
-
API Abuse Detection
Menganalisis pola:- akses endpoint berulang
- scraping
- reverse engineering API
- token abuse
-
Web Fraud Detection
Misalnya:- pembuatan akun massal
- spam form submission
-
Account Takeover Detection (ATO)
Dengan fitur perilaku login:- device fingerprint
- kecepatan mengetik
- pattern geolocation
Kelebihan
- akurasi sangat tinggi
- dapat memproses ratusan fitur request API
- banyak digunakan dalam WAF modern berbasis ML
4. Random Forest — Klasifikasi Request Web dan Anomali Trafik
Random Forest adalah model kuat untuk rule extraction dan analisis pola.
Aplikasi Keamanan Aplikasi Web
-
Klasifikasi request normal vs malicious
Berdasarkan:- header anomaly
- content-type mismatch
- method anomaly (PUT, DELETE di endpoint publik)
-
Bot Detection & Bot Fingerprinting
Random Forest sering digunakan untuk:- deteksi bot scraper
- analisis JavaScript fingerprints
-
File Upload Security
Klasifikasi file upload:- benign vs malicious
- image vs webshell (.php disguised as .jpg)
-
Traffic Clustering & Outlier Analysis
Kelebihan
- tidak mudah overfitting
- cocok untuk data log aplikasi web
5. Neural Network / Deep Learning — Deteksi Serangan Tingkat Lanjut
Deep Learning sangat kuat untuk data tidak terstruktur atau semi-terstruktur.
Aplikasi Kunci pada Keamanan Aplikasi Web
a. Deteksi Serangan Berbasis Payload (Sequence Modeling)
Menggunakan:
- LSTM
- GRU
- Transformer
Berguna untuk mendeteksi:
- SQL injection non-linear
- XSS encoded dan obfuscated
- RCE payload seperti
;wget,${jndi:ldap://}(Log4Shell) - serialized object attack (Java, PHP)
b. Deteksi Bot dengan Analisis Perilaku
Deep learning menganalisis:
- pola mouse movement
- kecepatan scroll
- waktu antar-klik
- JavaScript execution patterns
Dipakai dalam anti-bot system modern.
c. Webshell Detection
CNN mempelajari pola bytecode atau isi file upload.
d. API Security
Transformer mempelajari:
- sequence endpoint
- abuse pattern
- API misbehavior
Kelebihan
- dapat mempelajari pola serangan baru
- cocok untuk payload tekstual kompleks
6. Support Vector Machine (SVM) — Klasifikasi Payload dan URL Berbahaya
SVM bekerja baik untuk high-dimensional data seperti teks payload HTTP.
Aplikasi Keamanan Web
-
Klasifikasi URL berbahaya Menggunakan fitur:
- panjang URL
- entropy
- jumlah parameter
- suspicious tokens
-
Deteksi XSS/SQl Injection Payload dimasukkan sebagai:
- n-gram
- tf-idf vector
-
Upload File Malware / Webshell Detection
Fitur:- entropy
- opcode sequence
- ukuran file
-
Spam Form & Abuse Detection
Mengapa Cocok?
- efektif untuk data teks
- bagus untuk dataset kecil-menengah
7. k-Nearest Neighbors (k-NN) — Deteksi Anomali di Log & Payload Similarity
k-NN digunakan untuk deteksi serangan berdasarkan kemiripan.
Aplikasi dalam Keamanan Aplikasi Web
-
Payload similarity detection
Jika payload mirip dengan payload serangan masa lalu → tandai sebagai malicious.
Berguna untuk:- webshell variants
- SQLi patterns
- XSS variants
-
Anomaly detection di web logs
request yang jauh dari cluster normal = mencurigakan. -
Botnet & Automated Traffic Detection k-NN mendeteksi:
- IP pattern
- request frequency clustering
-
File Upload Similarity Check Melihat kesamaan file dengan file berbahaya.
Kelebihan
- sangat sederhana
- efektif untuk sistem berbasis similarity
Ringkasan Model vs Use Case Keamanan Web
| Model | Cocok Untuk | Contoh Serangan |
|---|---|---|
| Linear Regression | Baseline trafik | DDoS L7, API spike |
| Logistic Regression | Klasifikasi dasar | SQLi, XSS sederhana |
| Gradient Boosting | Serangan kompleks | SQLi advanced, API abuse, bot |
| Random Forest | Deteksi pola stabil | Webshell, bot fingerprint |
| Neural Network | Payload kompleks | XSS obfuscated, RCE, Log4Shell |
| SVM | Teks & high-dimensional | URL malicious, payload |
| k-NN | Similarity | webshell, malware upload |

