10.1Ancaman Spesifik pada HMI SCADA

HMI adalah titik interaksi manusia dengan proses industri — sekaligus salah satu titik paling rentan dalam sistem SCADA. Karena HMI berjalan di atas OS umum (Windows) dan memerlukan antarmuka pengguna yang kaya, ia memiliki attack surface yang lebih besar dari PLC.

⚠ KENAPA HMI MENJADI TARGET UTAMA
  • Berjalan di OS Windows — Mewarisi semua kerentanan Windows yang ada, sering tidak di-patch
  • Terhubung ke banyak sistem — HMI berkomunikasi dengan PLC, historian, printer, kadang internet
  • Digunakan banyak orang — Operator shift berbeda, kadang akun shared, kata sandi lemah
  • Sering punya USB aktif — Untuk transfer data, update, atau charge HP
  • Software lama tidak ter-update — SCADA vendor tidak mendukung patch OS terbaru, memaksa pakai OS lama
  • Akses ke kontrol proses — Siapapun yang menguasai HMI bisa mengontrol seluruh proses industri
VEKTOR SERANGANMETODEDAMPAK
Malware via USBUSB device terinfeksi dicolokkan ke HMI (charge HP, transfer data)Ransomware, keylogger, backdoor di HMI
Credential TheftShared account, password tertempel di monitor, shoulder surfingAkses tidak sah ke kontrol proses
Remote Desktop ExploitRDP/VNC dengan password lemah atau exposed ke networkRemote takeover HMI oleh attacker
SCADA Client VulnerabilityBug pada software WinCC, iFIX, Ignition yang belum di-patchArbitrary code execution di context SCADA client
Man-in-the-MiddleIntercept komunikasi HMI-PLC di jaringan OT yang tidak terenkripsiTampilkan data palsu ke operator, suntikkan perintah
Physical AccessTamu tidak diawasi di control room, USB boot deviceInstal malware, exfil data, manipulasi setting
10.2OS Hardening pada HMI Workstation

OS Hardening adalah proses mengurangi attack surface dengan menonaktifkan semua yang tidak diperlukan. Untuk HMI, pendekatan ini mengikuti prinsip "Kiosk Mode" — HMI hanya bisa menjalankan satu fungsi: SCADA client.

WINDOWS HARDENING — HMI SCADA (GROUP POLICY + REGISTRY)
══ SERVICES YANG HARUS DINONAKTIFKAN ══
  ✗ Disable Print Spooler        (PrintNightmare CVE-2021-34527)
  ✗ Disable Windows Update Auto  (patch manual, tervalidasi vendor SCADA)
  ✗ Disable Remote Registry      (akses registry dari jaringan)
  ✗ Disable Telnet / FTP         (protokol plaintext)
  ✗ Disable NetBIOS over TCP/IP   (lateral movement vector)
  ✗ Disable SMBv1                 (EternalBlue exploit, WannaCry)
  ✗ Disable LLMNR / NBT-NS       (credential harvesting)
  ✗ Disable Windows Remote Mgmt   (WinRM — remote PowerShell)
  ✗ Disable Bluetooth             (jika tidak dibutuhkan)
  ✗ Disable WiFi adapter          (HMI harus wired only)

══ PORT YANG HARUS DIBLOKIR (Host Firewall) ══
  ✗ Block TCP 135,137,138,139,445 (SMB/NetBIOS)
  ✗ Block TCP 23 (Telnet), 21 (FTP), 20 (FTP-data)
  ✗ Block TCP 5985,5986 (WinRM)
  ✓ Allow TCP 502 (Modbus ke PLC — outbound only)
  ✓ Allow TCP 44818 (EtherNet/IP ke PLC — outbound only)
  ✓ Allow TCP 3389 (RDP — dari Jump Server saja, source-restricted)

══ KONFIGURASI KEAMANAN TAMBAHAN ══
  ✓ Enable Windows Defender (atau AWL sebagai pengganti)
  ✓ Enable Windows Firewall (host-based)
  ✓ Enable Audit Policy (login, object access, policy change)
  ✓ Enable BitLocker disk encryption (jika hardware support)
  ✓ Disable AutoRun / AutoPlay untuk semua media
  ✓ Lock BIOS password + disable boot dari USB/CD
  ✓ Set Screen lock timeout = 5 menit (tidak aktif → terkunci)
  ✓ Configure Account lockout: 5 attempt → 30 min lockout
Kiosk Mode — Lockdown Total HMI
📌 KIOSK MODE — PRINSIP MINIMUM FUNCTIONALITY

Kiosk Mode mengkonfigurasi HMI agar hanya bisa menjalankan SCADA client dan tidak bisa melakukan aktivitas OS umum. Ini adalah pendekatan paling kuat untuk mengamankan HMI legacy.

  • Shell Replacement — Ganti Explorer.exe dengan SCADA client sebagai shell langsung. HMI boot langsung ke SCADA tanpa desktop Windows.
  • Group Policy Restriction — Blokir Task Manager, Command Prompt, PowerShell, Run Dialog, semua control panel
  • AppLocker / WDAC — Hanya SCADA client yang boleh jalan; seluruh executable lain diblokir
  • Read-Only OS — System drive di-mount read-only atau dilindungi write-filter (Enhanced Write Filter pada Windows Embedded)
10.3Role-Based Access Control (RBAC) dan Autentikasi HMI

RBAC mendefinisikan hak akses berdasarkan peran, bukan berdasarkan individu. Setiap operator mendapat akses sesuai tanggung jawab pekerjaannya — tidak lebih. Prinsip ini disebut Least Privilege.

HAK AKSES
OPERATOR
SHIFT
SUPERVISOR
OT
ENGINEER
PROSES
ADMIN
SCADA
AUDITOR
Lihat tampilan HMI
Acknowledge alarm
Buka/tutup valve manual
Ubah setpoint proses
⚠ Terbatas
Ubah parameter kontrol PLC
⚠ Perlu approve
Download/upload program PLC
✓ + MFA
Konfigurasi user & role
Baca audit log / laporan
Metode Autentikasi untuk Operator HMI
METODEKEKUATANCOCOK UNTUKCATATAN OT
Username + PasswordRendah — dicuri, ditebak, dibagikanBaseline minimum, semua aksesWajib: panjang ≥12, complexity, ganti 90 hari, tidak shared
Smart Card / BadgeTinggi — fisik + PINOperator yang sering login/logoutBadge sudah ada di pabrik — manfaatkan infrastruktur yang ada
OTP / TOTPTinggi — satu kali pakaiAksi kritis: download PLC, ubah setpoint besarBisa via smartphone atau dedicated token (RSA SecurID)
Biometrik (sidik jari)Tinggi — tidak bisa dibagiControl room dengan banyak operator shiftPertimbangkan: sarung tangan, kondisi lapangan kotor
Two-Person IntegritySangat Tinggi — butuh 2 orangAksi paling kritis: override safety, mute SISStandar industri nuklir dan industri berbahaya tinggi
10.4Hardening Checklist Interaktif — HMI SCADA

Centang item-item di bawah ini untuk melacak progres hardening HMI Anda. Klik pada setiap item untuk menandainya selesai.

SISTEM OPERASI & SOFTWARE
Nonaktifkan semua service Windows yang tidak diperlukan (SMBv1, Telnet, Print Spooler, dll)
Gunakan Group Policy atau sc.exe — dokumentasikan service yang dinonaktifkan
KRITIS
Implementasikan Application Whitelisting (Carbon Black, Trend Micro Safe Lock, atau WDAC)
Hanya executable SCADA client yang diizinkan berjalan
KRITIS
Nonaktifkan AutoRun/AutoPlay untuk semua media (USB, CD, DVD)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer — NoDriveTypeAutoRun = 0xFF
KRITIS
Disable USB storage port (BIOS lock + Group Policy + device control software)
Khusus USB storage — USB keyboard/mouse tetap aktif
KRITIS
Lock BIOS dengan password — disable boot dari USB/CD/Network
Prevent bootkit attack dan OS bypass via live USB
TINGGI
AKSES & AUTENTIKASI
Hapus semua shared account — setiap operator memiliki akun unik
Shared account tidak bisa di-audit siapa yang melakukan apa
KRITIS
Implementasikan RBAC di SCADA software — operator hanya akses sesuai role
Konfigurasi di WinCC/iFIX/Ignition sesuai tabel RBAC yang telah didefinisikan
KRITIS
Konfigurasi screen lock otomatis setelah 5 menit tidak aktif
Cegah akses fisik tidak sah saat operator meninggalkan workstation
TINGGI
Konfigurasi account lockout: 5 gagal login → lockout 30 menit
Cegah brute force password. Dokumentasikan prosedur unlock untuk operator terkunci.
TINGGI
Hapus / nonaktifkan default account built-in (Administrator, Guest)
Rename atau disable default account — buat admin account baru dengan nama tidak jelas
TINGGI
JARINGAN & KOMUNIKASI
Aktifkan Windows Firewall host-based dengan rules eksplisit (whitelist)
Permit hanya komunikasi OT yang diperlukan (Modbus, EIP ke PLC spesifik)
KRITIS
Nonaktifkan WiFi dan Bluetooth adapter hardware
HMI harus terhubung hanya via kabel Ethernet ke OT network
TINGGI
MONITORING & AUDIT
Aktifkan Windows Security Audit Policy — login, object access, policy change
Event log dikirim ke SIEM — retention minimal 1 tahun
KRITIS
Konfigurasikan SCADA software untuk log semua aksi operator (alarm ack, setpoint change, login)
Audit log harus write-once (tidak bisa dihapus oleh operator biasa)
KRITIS
Konfigurasi NTP time sync — semua HMI/PLC menggunakan time source yang sama
Penting untuk korelasi event forensik antar device yang berbeda
SEDANG
0 / 14 item selesai (0%)
10.5Audit Trail — Rekam Jejak Digital yang Komprehensif

Audit trail adalah rekaman kronologis semua aksi yang terjadi pada sistem SCADA. Ini adalah komponen kritis untuk forensik insiden, investigasi, dan bukti kepatuhan regulasi.

Contoh Audit Log HMI SCADA
TIMESTAMPUSERAKSIDETAILLEVEL
2024-03-15 07:02:14 opr_budi LOGIN Workstation HMI-01, IP 192.168.20.10 — Login berhasil INFO
2024-03-15 07:15:33 opr_budi ALARM_ACK Alarm P-101 High Pressure ack. Value: 8.4 bar (setpoint 8.0) INFO
2024-03-15 08:44:21 sup_rani SETPOINT_CHG TIC-201 Temp Setpoint: 85.0°C → 90.0°C (±5°C, dalam batas normal) WARN
2024-03-15 11:23:07 opr_budi SETPOINT_CHG FIC-301 Flow Setpoint: 120 → 999 m³/h (MELEBIHI BATAS OPERASI!) KRITIS
2024-03-15 11:23:09 SYSTEM AUTO_REVERT FIC-301 setpoint otomatis dikembalikan: 120 m³/h (range check gagal) WARN
2024-03-15 13:30:00 eng_dini PLC_CONNECT Engineering WS terhubung ke PLC-A (192.168.10.51) via STEP 7 WARN
2024-03-15 22:17:44 UNKNOWN LOGIN_FAIL 5x gagal login dari IP 192.168.20.99 — IP tidak dikenal! Akun dikunci. KRITIS
📌 KRITERIA AUDIT LOG YANG BAIK (NIST SP 800-82)
  • Timestamp akurat — Sinkronisasi NTP ke sumber waktu tunggal. Tanpa ini, korelasi event antar sistem tidak mungkin.
  • Identitas pengguna — Username unik, bukan shared account. Tidak bisa membuktikan siapa pelakunya jika akun dibagi.
  • Aksi dan objek — Apa yang dilakukan, pada komponen apa, nilai sebelum dan sesudah perubahan.
  • Write-once / tamper-evident — Log tidak boleh bisa dimodifikasi atau dihapus oleh user yang sama. Kirim ke SIEM eksternal secara real-time.
  • Retention ≥1 tahun — Insiden sering baru diketahui bulan-bulan kemudian. Log yang sudah dihapus tidak berguna.
  • Alert untuk event kritis — Sistem harus memberi notifikasi otomatis saat terjadi: login gagal berulang, setpoint di luar batas, login dari IP tidak dikenal.
10.6Alarm Management Security

Sistem alarm pada HMI SCADA bukan hanya alat operasional — ini juga merupakan target serangan. Attacker dapat menonaktifkan alarm untuk menyembunyikan aktivitas berbahaya, atau membanjiri alarm (alarm flood) agar operator kewalahan dan mengabaikan alarm kritis yang sebenarnya.

⚠ TEKNIK SERANGAN PADA SISTEM ALARM
  • Alarm Suppression (MITRE T0878) — Attacker menonaktifkan alarm spesifik agar kondisi berbahaya yang mereka ciptakan tidak terdeteksi operator
  • Alarm Flood — Memicu ratusan alarm tidak kritis sekaligus agar operator kewalahan dan mengabaikan alarm kritis di antaranya (seperti serangan BlackEnergy yang mematikan telepon customer service)
  • False Alarm Injection — Kirim data sensor palsu yang memicu alarm di area yang tidak bermasalah, mengalihkan perhatian dari area yang sedang diserang
  • Disable Alarm Sirens — Akses fisik ke control room untuk menonaktifkan alarm audible/visual sehingga operator tidak sadar ada kejadian kritis
KONTROL KEAMANAN ALARMIMPLEMENTASI
Alarm Suppression Access ControlHanya Supervisor atau Engineer yang boleh suppress/disable alarm. Operator biasa tidak bisa menonaktifkan alarm — hanya acknowledge.
Alarm Suppression AuditSetiap alarm yang di-suppress harus dicatat: siapa, kapan, alasan, durasi. Auto-re-enable setelah batas waktu.
Alarm Integrity MonitoringOT IDS memantau jika ada perubahan mendadak pada konfigurasi alarm (MITRE T0878 detection)
Critical Alarm RedundancyAlarm kritis (safety interlock) memiliki jalur independen ke panel fisik — tidak hanya lewat HMI software
Alarm Rate MonitoringJika alarm rate melebihi threshold (misal: >10 alarm/menit), sistem memberi alert ke supervisor — potensi alarm flood attack
10.7Studi Kasus: Hardening HMI di PLTU 350 MW
IMPLEMENTASI KEAMANAN HMI — PLTU 350 MW
KONDISI AWAL (SEBELUM HARDENING):
   6 HMI workstation — 3 masih Windows 7 SP1 (EOL)
   Semua operator pakai akun "admin" dengan password "pltu123"
   USB port terbuka — operator sering charge HP
   Tidak ada audit log selain Event Viewer Windows (tidak dikirim ke mana pun)
   Tidak ada timeout screen lock
   TeamViewer terinstal di 2 HMI untuk remote support vendor

LANGKAH HARDENING (dilakukan dalam 4 bulan):

BULAN 1 — AKSES & AUTENTIKASI:
   Buat 12 akun unik untuk semua operator (shift A/B/C, supervisor, engineer)
   Implementasi RBAC di WinCC: 4 role (Viewer, Operator, Supervisor, Engineer)
   Password policy: min 12 karakter, complexity, change 90 hari
   Screen lock timeout 5 menit + badge/swipe untuk unlock (smart card)
   Account lockout: 5 attempt → 15 menit

BULAN 2 — OS HARDENING:
   Disable 23 Windows services tidak diperlukan (SMBv1, Telnet, WinRM, dll)
   Disable USB storage via Group Policy + BIOS lock
   Deploy Trend Micro Safe Lock AWL di semua 6 HMI
   Uninstall TeamViewer → ganti dengan secure Jump Server di DMZ
   Host-based firewall rules: permit hanya komunikasi OT yang dibutuhkan

BULAN 3 — MONITORING & AUDIT:
   Konfigurasi Windows Audit Policy penuh
   Deploy Splunk UF — kirim semua Windows event log + WinCC log ke SIEM
   Buat alert rules di SIEM: login gagal 3x, setpoint di luar batas, login di luar jam kerja
   NTP sync semua HMI + PLC ke server NTP terpusat
   Log retention policy: 2 tahun di SIEM, 6 bulan lokal

BULAN 4 — ALARM SECURITY & TRAINING:
   Konfigurasi alarm suppress hanya untuk Supervisor+ (RBAC alarm)
   Alarm integrity monitoring via Nozomi (deteksi perubahan config alarm)
   Training security awareness 4 jam untuk semua operator
   Tabletop exercise: simulasi insiden "operator menemukan setpoint diubah"

HASIL TERUKUR:
  Attack Surface    : Turun 78% (layanan tidak perlu, USB, remote tools dihilangkan)
  Audit Coverage    : Dari 0% → 100% semua aksi operator tercatat
  Incident Detection: MTTD dari "tidak ada" → estimasi <15 menit untuk event kritis
  Compliance        : 82% kontrol NIST SP 800-82 terpenuhi (sebelumnya 21%)
Latihan Soal — Sesi 10
■ PERTANYAAN 1 / 5
1. Prinsip "Kiosk Mode" pada hardening HMI SCADA berarti...
AHMI ditempatkan di sebuah kiosk fisik yang terkunci untuk keamanan
BHMI dikonfigurasi untuk hanya dapat menjalankan SCADA client — semua fungsi OS umum (browsing, file manager, dll) diblokir, menggunakan shell replacement dan Application Whitelisting
CHMI hanya bisa diakses oleh satu orang pada satu waktu
DHMI dimatikan dan dikunci saat tidak digunakan oleh operator
Benar! Kiosk Mode membatasi HMI ke fungsi minimal: hanya SCADA client yang bisa dijalankan. Teknis implementasinya: (1) Shell replacement — Explorer.exe diganti SCADA client sebagai shell; (2) AppLocker/WDAC — semua executable lain diblokir; (3) Group Policy — blokir Task Manager, CMD, PowerShell; (4) Write filter — OS partition read-only. Ini adalah pertahanan berlapis terhadap malware dan penyalahgunaan.
■ PERTANYAAN 2 / 5
2. Role-Based Access Control (RBAC) pada HMI SCADA mengimplementasikan prinsip keamanan yang disebut...
ADefense-in-Depth
BLeast Privilege — setiap pengguna hanya mendapat hak akses minimum yang diperlukan untuk perannya
CZero Trust Architecture
DSeparation of Duties saja
Benar! Principle of Least Privilege (PoLP): setiap entitas (user, proses) hanya mendapat hak akses minimum yang diperlukan untuk fungsinya. Operator shift hanya bisa baca dan acknowledge alarm — tidak perlu ubah setpoint atau upload program PLC. Ini membatasi blast radius jika akun operator dikompromisi.
■ PERTANYAAN 3 / 5
3. Mengapa penggunaan shared account (akun bersama) pada HMI SCADA sangat berbahaya dari perspektif keamanan?
AShared account memperlambat proses login
BShared account menghilangkan kemampuan audit — tidak bisa menentukan siapa yang melakukan tindakan tertentu, sehingga tidak ada akuntabilitas dan investigasi insiden menjadi tidak mungkin
CShared account menyebabkan konflik saat dua orang login bersamaan
DShared account biasanya memiliki password yang lebih pendek
Benar! Audit trail yang baik membutuhkan identitas unik setiap pengguna. Dengan shared account "admin" yang dipakai 10 operator berbeda, saat terjadi perubahan setpoint berbahaya yang terekam di log, tidak ada cara untuk mengetahui siapa yang melakukannya. Non-repudiation (tidak bisa menyangkal) hanya mungkin jika setiap aksi terikat ke identitas unik.
■ PERTANYAAN 4 / 5
4. Teknik serangan "Alarm Suppression" (MITRE ATT&CK for ICS T0878) pada sistem HMI bertujuan untuk...
AMenyebabkan sistem SCADA crash dengan membanjiri alarm palsu
BMenonaktifkan alarm tertentu agar kondisi berbahaya yang diciptakan attacker tidak terdeteksi oleh operator, memungkinkan proses berbahaya berlanjut tanpa intervensi
CMengubah bunyi alarm menjadi tidak terdengar
DMencuri data dari server historian
Benar! Alarm Suppression adalah teknik untuk membutakan operator. Contoh: attacker sedang memanipulasi setpoint suhu boiler ke nilai berbahaya — mereka menonaktifkan alarm High Temperature agar operator tidak sadar. Sistem proses terus berjalan menuju kondisi berbahaya tanpa ada yang tahu. Triton/TRISIS juga menggunakan konsep serupa dengan menonaktifkan SIS.
■ PERTANYAAN 5 / 5
5. Untuk audit trail HMI yang efektif, selain mencatat aksi, hal paling kritis yang harus tersinkronisasi antar semua device (HMI, PLC, historian) adalah...
AUsername yang sama di semua device
BTimestamp yang akurat dan tersinkronisasi via NTP ke sumber waktu tunggal
CVersi software SCADA yang identik di semua HMI
DAlamat IP yang berurutan untuk memudahkan investigasi
Benar! Tanpa sinkronisasi waktu (NTP), log dari HMI-A mungkin menunjukkan waktu yang berbeda dengan log PLC-B meskipun kejadiannya berurutan. Ini membuat korelasi event forensik menjadi tidak mungkin. Contoh: log menunjukkan "setpoint diubah di HMI pukul 11:23" dan "alarm PLC pukul 11:20" — apakah alarm terjadi sebelum atau sesudah perubahan setpoint? Tanpa NTP, tidak bisa dijawab.