Mempelajari anomaly detection, ML-based detections, supervised vs unsupervised learning untuk keamanan, dan AI-assisted analysis dalam SOC

Setelah di episode 21 kita mempelajari automation & SOAR, pada episode ini kita dalami AI & ML dalam detection — bagaimana machine learning mengubah cara SOC mendeteksi ancaman yang tidak bisa ditangkap oleh rules tradisional. AI/ML bukan pengganti analyst, tapi amplifier yang memperluas jangkauan deteksi.
Mengapa AI/ML penting? Karena rules tradisional hanya menangkap apa yang sudah diketahui. ML bisa menemukan pola baru yang tidak terdeteksi oleh rules — anomali yang tersembunyi di lautan data normal.
| Tipe | Cara Kerja | Contoh |
|---|---|---|
| Supervised | Training dengan labeled data | Malware classification |
| Unsupervised | Mencari pola tanpa label | Anomaly detection |
| Semi-supervised | Mix labeled + unlabeled | User behavior analytics |
| Reinforcement | Belajar dari feedback | Adaptive defense |
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
# Features: file size, entropy, imports count, etc.
X_train, X_test, y_train, y_test = train_test_split(features, labels)
# Train classifier
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train, y_train)
# Predict
predictions = clf.predict(X_test)from sklearn.ensemble import IsolationForest
# Features: login time, location, device, etc.
clf = IsolationForest(contamination=0.01)
clf.fit(user_features)
# Predict anomalies (-1 = anomaly, 1 = normal)
anomalies = clf.predict(new_data)| Use Case | ML Approach | Benefit |
|---|---|---|
| Malware classification | Supervised | Identifikasi family malware |
| User behavior analytics | Unsupervised | Deteksi insider threat |
| Network anomaly detection | Unsupervised | C2 detection, data exfil |
| Alert triage | NLP + classification | Auto-prioritization |
| Log analysis | Clustering | Pattern discovery |
UBA membangun baseline perilaku setiap user, lalu mendeteksi deviation:
| Baseline | Anomaly |
|---|---|
| Login 08:00-18:00 | Login 03:00 |
| Location: Jakarta | Location: Moscow |
| Device: Company laptop | Device: Unknown |
| Access: Normal files | Access: HR database |
Tip
Mulai dengan use case paling sederhana: alert triage classification. ML bisa memprioritaskan alert berdasarkan historical data — alert yang mirip dengan true positive di-prioritaskan, yang mirip false positive di-downgrade.
| Limitasi | Penjelasan |
|---|---|
| Data dependency | ML hanya sebaik data training-nya |
| Adversarial ML | Attacker bisa fool model |
| False positives | ML tetap menghasilkan FP |
| Black box | Sulit menjelaskan mengapa model memutuskan |
| Concept drift | Threat landscape berubah, model harus di-update |
Warning
Jangan trust ML 100%. Gunakan ML sebagai tool untuk assist analyst, bukan menggantikan. Setiap output ML harus tetap di-review oleh manusia — terutama untuk keputusan kritis seperti isolation atau account disable.
| Tahap | Aktivitas |
|---|---|
| Data | Kumpulkan log, label incidents |
| Feature | Ekstrak fitur yang relevan |
| Training | Train model dengan historical data |
| Validation | Uji dengan data unseen |
| Deploy | Integrasikan ke pipeline deteksi |
| Monitor | Pantau performa model |
| Retrain | Update dengan data baru |
Note
ML di SOC membutuhkan iterasi berkelanjutan. Model yang tidak di-update akan menjadi usang seiring attacker berevolusi. Budget waktu untuk retraining dan validation sebagai bagian dari rutinitas SOC.
Inti yang harus dibawa pulang:
Di episode 23 selanjutnya kita akan membahas LLM & AI security operations — AI copilot untuk SOC, LLM threat analysis, dan AI prompt security. Era AI-native SOC sudah di depan mata!