Sistem SCADA yang dulunya terisolasi secara fisik kini semakin terhubung dengan jaringan korporat dan internet. Transformasi ini membuka permukaan serangan yang sebelumnya tidak ada, menjadikan ICS target utama aktor siber dari berbagai motivasi.
Berdasarkan laporan Dragos, Claroty, dan ICS-CERT:
- Lebih dari 900 kerentanan ICS ditemukan setiap tahun (2022–2024)
- 70% kerentanan berada di lapisan supervisory (SCADA/DCS software)
- Serangan terhadap infrastruktur kritis meningkat 140% sejak 2020
- Sektor energi menjadi target nomor 1 (39% dari total insiden ICS)
- Rata-rata 280 hari attacker berada di dalam jaringan OT sebelum terdeteksi
Vektor serangan adalah jalur atau metode yang digunakan attacker untuk mendapatkan akses ke sistem target. Memahami vektor ini adalah langkah pertama untuk membangun pertahanan yang efektif.
Selama dan setelah pandemi COVID-19, remote access ke SCADA meningkat drastis untuk maintenance jarak jauh. Ini membuka vektor serangan baru yang serius:
- VPN tanpa MFA — Credential dicuri via phishing → attacker login langsung ke OT network
- RDP/VNC terbuka — Port 3389 (RDP) atau 5900 (VNC) exposed ke internet tanpa enkripsi atau dengan password lemah
- Vendor/Kontraktor Remote — Vendor maintenance menggunakan TeamViewer, AnyDesk tanpa kontrol keamanan memadai (kasus Oldsmar)
- Jump Server Lemah — Bastion host yang seharusnya menjadi pintu masuk aman, tapi tidak dikonfigurasi dengan benar
| TIPE | MOTIVASI | METODE | DAMPAK POTENSIAL |
|---|---|---|---|
| Malicious Insider | Dendam, sabotase, dibayar kompetitor/musuh | Memanipulasi setpoint, menghapus backup, memasang malware | Sangat Tinggi — akses sah ke semua sistem |
| Negligent Insider | Tidak disengaja — kelalaian, ignorance | Pasang USB sembarangan, klik phishing, misconfiguration | Tinggi — bisa jadi pintu masuk serangan eksternal |
| Compromised Insider | Akun karyawan diambil alih attacker | Credential theft, social engineering, session hijacking | Tinggi — attacker pakai akun sah → sulit dideteksi |
| Third-party Insider | Kontraktor/vendor dengan akses terbatas | Melebihi batas akses, meninggalkan backdoor sengaja | Sedang–Tinggi tergantung scope akses |
Attacker mengkompromisi vendor software/hardware yang dipercaya, lalu menyusupkan malware ke dalam produk yang dikirimkan ke target. Karena berasal dari sumber terpercaya, sangat sulit dideteksi.
Contoh kasus SCADA:
- SolarWinds (2020) — Update software monitoring yang terinfeksi menyebar ke 18.000+ organisasi termasuk pemerintah dan infrastruktur kritis
- Backdoor di Firmware PLC — Ditemukan backdoor tersembunyi di beberapa firmware PLC dari vendor asal Tiongkok yang dijual di pasar global
- Compromised IED Firmware — Update firmware untuk relay proteksi yang telah dimodifikasi untuk berperilaku berbeda saat kondisi tertentu
Protokol industrial yang dirancang puluhan tahun lalu memiliki kelemahan keamanan fundamental karena pada era tersebut ancaman siber tidak diperhitungkan dalam desainnya.
╔═══════════════════════════════════════════════════════════════╗ ║ SKENARIO: ATTACKER DI DALAM JARINGAN OT (sudah dapat akses) ║ ╚═══════════════════════════════════════════════════════════════╝ // LANGKAH 1: Scan jaringan untuk device Modbus TCP $ nmap -p 502 --open 192.168.10.0/24 PORT STATE SERVICE 502/tcp open modbus → 192.168.10.51 (PLC-A) 502/tcp open modbus → 192.168.10.52 (PLC-B) // LANGKAH 2: Baca semua Holding Registers (Function Code 03) $ python3 modbus_read.py --host 192.168.10.51 --fc 03 --start 0 --count 100 Register[0] = 1250 ← Suhu Boiler (°C × 10) = 125.0°C Register[1] = 850 ← Tekanan Steam (kPa × 10) = 85.0 kPa Register[2] = 3500 ← RPM Pompa Feedwater Register[40] = 1 ← Status Valve-01 (1=OPEN, 0=CLOSED) // LANGKAH 3: Ubah setpoint suhu (Function Code 06) — BERBAHAYA! $ python3 modbus_write.py --host 192.168.10.51 --fc 06 --reg 10 --val 9999 // Register 10 = Setpoint Suhu Maksimum // Original: 1500 (150.0°C) → Ditulis: 9999 (999.9°C !!) ⚠ TIDAK ADA AUTENTIKASI — PERINTAH DITERIMA DAN DIEKSEKUSI! // LANGKAH 4: Tutup semua valve sekaligus (Function Code 0F) $ python3 modbus_write.py --host 192.168.10.51 --fc 15 --start 0 --count 16 --vals 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ⚠ SEMUA 16 VALVE DITUTUP SERENTAK — PROSES TERGANGGU TOTAL! // Tidak ada log, tidak ada autentikasi, tidak ada jejak → // Operator hanya melihat alarm di HMI tanpa tahu penyebabnya
| PROTOKOL | KERENTANAN UTAMA | DAMPAK EKSPLOITASI | MITIGASI |
|---|---|---|---|
| Modbus RTU/TCP | Tanpa autentikasi, tanpa enkripsi, tanpa integritas | Baca/tulis semua register, kontrol penuh proses | Firewall, VPN, IDS OT, network segmentation |
| DNP3 (tanpa SA) | Tanpa autentikasi di versi dasar | Replay attack, command injection | DNP3 Secure Authentication v5 |
| OPC DA (DCOM) | Berbasis DCOM Windows yang rentan, port dinamis | Remote code execution via DCOM vulnerabilities | Migrasi ke OPC UA yang aman |
| Telnet ke RTU | Plaintext, tanpa enkripsi | Credential sniffing, session hijacking | Ganti dengan SSH |
| FTP ke PLC | Upload/download program tanpa autentikasi kuat | Upload program berbahaya ke PLC | Nonaktifkan FTP, gunakan SFTP atau metode aman |
Stuxnet adalah malware paling canggih yang pernah ditemukan hingga saat itu — sebuah senjata siber yang dirancang khusus untuk menyabotase sentrifuge pengayaan uranium Iran tanpa terdeteksi selama berbulan-bulan.
- 4 Zero-Day Exploits — Sebelumnya, malware canggih menggunakan 1–2 zero-day. Stuxnet menggunakan empat sekaligus.
- Rootkit PLC — Pertama kalinya ada rootkit yang berjalan di PLC — menyembunyikan kode berbahaya dari software engineering (Siemens STEP 7)
- Man-in-the-Middle pada HMI — Mencegat komunikasi antara HMI dan PLC, menampilkan data normal ke operator sementara proses sesungguhnya berbeda
- Highly Targeted — Hanya mengaktifkan payload jika mendeteksi konfigurasi I/O modul Siemens yang sangat spesifik — tidak merusak PLC lain
- Diduga dikembangkan bersama oleh intelijen AS (NSA) dan Israel (Unit 8200)
Pertama kalinya dalam sejarah, serangan siber berhasil menyebabkan blackout listrik nyata di wilayah berpenduduk. 225.000 pelanggan kehilangan listrik selama 1–6 jam di tengah musim dingin Ukraina.
T-6 BULAN: Spear-phishing email → BlackEnergy terpasang di PC karyawan T-3 BULAN: Lateral movement dalam jaringan → akses ke OT network T-1 BULAN: Credential harvesting → VPN credentials dicuri T-0 (23 Des 2015, ~15:35 EET): • Attacker remote login ke SCADA HMI via VPN • 30 substasi: circuit breaker dibuka secara remote • 225.000 pelanggan kehilangan listrik • Telepon customer service dibombardir (telephone DoS) • UPS dimatikan → control center gelap gulita • KillDisk wiper dijalankan → workstation rusak T+1-6 JAM: Pemulihan MANUAL oleh teknisi di lapangan karena SCADA tidak bisa digunakan PELAJARAN: Pemulihan manual harus selalu dimungkinkan dan dilatih!
Triton adalah malware pertama yang secara spesifik menarget Safety Instrumented System (SIS) — sistem yang seharusnya menjadi lapisan perlindungan terakhir sebelum bencana fisik. Ini adalah eskalasi ancaman yang sangat mengkhawatirkan.
Sebelum Triton, asumsinya adalah: meskipun SCADA dikompromisi, SIS masih akan melindungi dari bencana fisik. Triton menghancurkan asumsi tersebut. Sekarang bahkan safety system pun tidak bisa dipercaya jika tidak diamankan dengan benar.
Ini mengubah paradigma keamanan ICS secara fundamental: security dan safety tidak bisa dipisahkan — keduanya harus didesain bersama.
| INSIDEN | ROOT CAUSE UTAMA | MITIGASI YANG DIPERLUKAN |
|---|---|---|
| Stuxnet | Air-gap ditembus via USB; zero-day exploit Windows; tidak ada integrity check firmware PLC | Kontrol USB ketat, patch Windows, firmware signing/verification, anomaly detection pada PLC behavior |
| BlackEnergy | Spear-phishing berhasil; VPN tanpa MFA; tidak ada OT network monitoring; tidak ada prosedur pemulihan manual | Email filtering, MFA untuk VPN, OT-specific IDS, latihan manual recovery rutin |
| Triton | SIS dapat diakses dari jaringan engineering; tidak ada integrity check kode SIS; asumsikan SIS selalu aman | Isolasi SIS secara fisik dan logis, monitoring komunikasi SIS, code integrity verification |
| Oldsmar | Remote access tanpa MFA; Windows 7 kadaluarsa; tidak ada user activity monitoring di HMI | MFA untuk semua remote access, update OS, user session recording, alarm pada perubahan setpoint besar |
| Colonial Pipeline | Ransomware di IT network; tidak ada segmentasi IT/OT; tidak ada prosedur isolasi cepat OT | IT/OT segmentasi ketat, backup offline, prosedur isolasi OT saat insiden IT, operasi manual capability |
- Assume Breach — Asumsikan attacker sudah ada di dalam jaringan. Desain pertahanan berlapis bahkan di dalam jaringan OT sendiri.
- Physical Air-Gap Tidak Cukup — Stuxnet membuktikan USB bisa menembus air-gap. Kontrol fisik (USB policy, visitor access) sama pentingnya dengan kontrol siber.
- Safety ≠ Security — Safety system yang diisolasi dari IT masih bisa diserang dari OT network. Keduanya harus diproteksi bersama.
- Manual Recovery Wajib Dilatih — BlackEnergy menunjukkan SCADA bisa dinonaktifkan. Operator harus mampu mengoperasikan sistem secara manual.
- Monitor, Monitor, Monitor — 280 hari attacker ada di dalam OT sebelum terdeteksi adalah tanda tidak adanya monitoring OT yang memadai.