Pemanfaatan 7 Model Machine Learning dalam Keamanan Aplikasi Web

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

  1. Deteksi DDoS Layer 7
    Bila trafik melebihi prediksi normal → indikasi serangan.

  2. Prediksi spike abnormal
    Misal: permintaan API melonjak di jam biasanya sepi → kemungkinan automated scraping.

  3. 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

  1. Deteksi SQL Injection sederhana
    Berdasarkan pola Boolean, tautologi, dan syntax injection.

  2. Deteksi XSS
    Payload seperti <iframe>, <script>, onload=....

  3. Klasifikasi bot vs manusia
    Berdasarkan:

    • kecepatan request
    • navigasi halaman
    • header konsisten atau tidak
  4. 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

  1. Deteksi serangan OWASP Top 10 berdasarkan pola payload
    Termasuk:

    • SQLi kompleks
    • XSS encoded
    • RCE/Command Injection
    • LFI/RFI
  2. API Abuse Detection
    Menganalisis pola:

    • akses endpoint berulang
    • scraping
    • reverse engineering API
    • token abuse
  3. Web Fraud Detection
    Misalnya:

    • pembuatan akun massal
    • spam form submission
  4. 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

  1. Klasifikasi request normal vs malicious
    Berdasarkan:

    • header anomaly
    • content-type mismatch
    • method anomaly (PUT, DELETE di endpoint publik)
  2. Bot Detection & Bot Fingerprinting
    Random Forest sering digunakan untuk:

    • deteksi bot scraper
    • analisis JavaScript fingerprints
  3. File Upload Security
    Klasifikasi file upload:

    • benign vs malicious
    • image vs webshell (.php disguised as .jpg)
  4. 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

  1. Klasifikasi URL berbahaya Menggunakan fitur:

    • panjang URL
    • entropy
    • jumlah parameter
    • suspicious tokens
  2. Deteksi XSS/SQl Injection Payload dimasukkan sebagai:

    • n-gram
    • tf-idf vector
  3. Upload File Malware / Webshell Detection
    Fitur:

    • entropy
    • opcode sequence
    • ukuran file
  4. 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

  1. Payload similarity detection
    Jika payload mirip dengan payload serangan masa lalu → tandai sebagai malicious.
    Berguna untuk:

    • webshell variants
    • SQLi patterns
    • XSS variants
  2. Anomaly detection di web logs
    request yang jauh dari cluster normal = mencurigakan.

  3. Botnet & Automated Traffic Detection k-NN mendeteksi:

    • IP pattern
    • request frequency clustering
  4. 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