Pendahuluan

Perangkat Internet of Things (IoT) saat ini digunakan hampir di semua bidang kehidupan. Mulai dari kamera CCTV, smart TV, router, smart home, hingga perangkat industri modern semuanya terhubung ke internet. Semakin banyak perangkat IoT digunakan, maka semakin besar pula risiko keamanan yang muncul.

Banyak perangkat IoT dibuat dengan fokus pada fungsi dan harga murah, tetapi sering mengabaikan aspek keamanan. Akibatnya, perangkat tersebut menjadi target menarik bagi peneliti keamanan maupun hacker.

Salah satu teknik yang sering digunakan dalam penetration testing IoT adalah hardware hacking. Teknik ini dilakukan dengan cara berinteraksi langsung dengan perangkat keras untuk mendapatkan akses ke sistem.

Dalam artikel ini kita akan membahas beberapa interface hardware yang paling sering digunakan dalam pentesting IoT, yaitu:

  • UART
  • JTAG
  • I2C
  • SPI

Artikel ini ditulis dengan bahasa sederhana agar mudah dipahami oleh pemula yang ingin belajar keamanan perangkat embedded dan IoT.

Memahami Arsitektur Perangkat IoT

Sebelum melakukan hardware hacking, kita perlu memahami struktur dasar perangkat IoT.

Komponen Utama IoT

Biasanya sebuah perangkat IoT memiliki beberapa komponen berikut:

1. Microcontroller (MCU)

MCU adalah otak dari perangkat IoT. Komponen ini menjalankan program utama dan mengontrol semua fungsi perangkat.

Contoh:

  • ESP32
  • STM32
  • ATmega
  • Raspberry Pi Pico

2. Flash Memory

Digunakan untuk menyimpan firmware atau sistem operasi perangkat.

3. EEPROM

Menyimpan konfigurasi seperti password, SSID WiFi, atau data kecil lainnya.

4. Sensor

Digunakan untuk membaca lingkungan sekitar.

Contoh:

  • Sensor suhu
  • Sensor gerak
  • Sensor cahaya

5. Modul Komunikasi

Digunakan agar perangkat bisa terhubung ke jaringan.

Contoh:

  • WiFi
  • Bluetooth
  • ZigBee
  • LoRa

Attack Surface pada IoT

Perangkat IoT memiliki banyak titik serangan.

Beberapa di antaranya:

  • Web interface
  • Firmware
  • Port debugging
  • API cloud
  • Wireless communication
  • Hardware interface

Dalam artikel ini kita fokus pada hardware interface.

Persiapan Lab Hardware Hacking

Sebelum mulai praktik, kita perlu menyiapkan beberapa alat.

Peralatan yang Dibutuhkan

USB to TTL Adapter

Digunakan untuk mengakses UART.

Logic Analyzer

Digunakan untuk membaca sinyal digital.

Bus Pirate

Alat multifungsi untuk komunikasi hardware.

Multimeter

Digunakan untuk mengukur tegangan dan mencari pin.

Solder dan Kabel Jumper

Digunakan untuk menghubungkan perangkat.

Raspberry Pi

Bisa digunakan sebagai alat bantu analisis.

Software Pendukung

Beberapa software yang sering digunakan:

Software Fungsi
PuTTY Serial terminal
Minicom Serial communication
OpenOCD JTAG debugging
Flashrom Dump firmware
Binwalk Analisis firmware
Ghidra Reverse engineering
Saleae Logic Analisis sinyal

Keselamatan dan Etika

Hardware hacking harus dilakukan secara legal.

Jangan melakukan pengujian pada perangkat yang bukan milik sendiri tanpa izin.

Selain itu:

  • Hindari short circuit
  • Jangan memberikan tegangan berlebih
  • Backup firmware sebelum eksperimen
  • Gunakan anti-static protection jika memungkinkan

Pengenalan UART

Apa Itu UART?

UART (Universal Asynchronous Receiver Transmitter) adalah komunikasi serial yang sangat umum digunakan pada perangkat embedded.

UART sering digunakan oleh developer untuk debugging.

Karena itu, UART menjadi target utama dalam hardware hacking.

Biasanya UART memiliki tiga pin utama:

  • TX
  • RX
  • GND

Kadang juga terdapat pin VCC.

Cara Mencari Pin UART

Beberapa cara untuk menemukan pin UART:

1. Melihat PCB

Biasanya pin UART berada dekat processor.

Sering diberi label:

  • TX
  • RX
  • GND
  • J1
  • JP1

2. Menggunakan Multimeter

Gunakan multimeter untuk mencari:

  • Ground
  • Tegangan

3. Menggunakan Logic Analyzer

Bisa digunakan untuk melihat aktivitas komunikasi serial.

Mengakses UART

Setelah pin ditemukan:

  1. Hubungkan TX perangkat ke RX adapter
  2. Hubungkan RX perangkat ke TX adapter
  3. Hubungkan GND
  4. Gunakan software seperti PuTTY atau Minicom

Baud rate umum:

  • 9600
  • 115200

Jika berhasil, kita bisa melihat boot log perangkat.

Eksploitasi UART

UART sering memberikan akses besar ke sistem.

Contoh eksploitasi:

1. Mendapatkan Shell Linux

Beberapa perangkat langsung memberikan akses shell.

2. Mengakses Bootloader

Kita bisa menghentikan proses boot.

Contoh bootloader:

  • U-Boot
  • CFE

3. Dump Firmware

Firmware bisa diekstrak melalui bootloader.

4. Reset Password

Beberapa perangkat memungkinkan bypass autentikasi.

Studi Kasus UART

Misalnya kita melakukan analisis pada router.

Saat booting melalui UART muncul informasi:

  • Versi kernel
  • Username
  • Konfigurasi jaringan

Kadang bahkan terdapat hardcoded password.

Eksploitasi JTAG

Apa Itu JTAG?

JTAG adalah interface debugging hardware.

Developer menggunakan JTAG untuk:

  • Debugging
  • Flashing firmware
  • Analisis memory

Karena memiliki akses tingkat rendah, JTAG sangat menarik dalam pentesting.

Struktur Pin JTAG

Pin umum JTAG:

  • TDI
  • TDO
  • TCK
  • TMS
  • TRST

Kadang jumlah pin berbeda tergantung perangkat.

Mencari Port JTAG

Analisis PCB

Perhatikan pola pin di board.

Menggunakan JTAGulator

JTAGulator membantu mengidentifikasi pin otomatis.

Dump Firmware melalui JTAG

Setelah koneksi berhasil:

  1. Gunakan OpenOCD
  2. Hubungkan debugger
  3. Baca flash memory
  4. Simpan firmware

Firmware yang didapat kemudian bisa dianalisis.

Memory Analysis dengan JTAG

JTAG memungkinkan:

  • Membaca RAM
  • Menghentikan CPU
  • Melihat register processor
  • Analisis runtime

Teknik ini sangat berguna dalam reverse engineering.

Studi Kasus JTAG

Dalam beberapa kasus, peneliti berhasil:

  • Mengambil firmware kamera CCTV
  • Mendapatkan private key
  • Menemukan credential admin

Analisis Bus I2C

Apa Itu I2C?

I2C adalah protokol komunikasi antar chip.

Biasanya digunakan untuk:

  • Sensor
  • EEPROM
  • RTC

I2C menggunakan dua jalur:

  • SDA
  • SCL

Enumerasi Device I2C

Peneliti bisa melakukan scanning address untuk menemukan perangkat yang terhubung.

Contoh device:

  • EEPROM
  • Sensor suhu
  • Sensor accelerometer

Sniffing Traffic I2C

Dengan logic analyzer, kita bisa membaca komunikasi data.

Data yang terlihat bisa berupa:

  • Nilai sensor
  • Konfigurasi
  • Password

Eksploitasi I2C

Beberapa serangan yang umum:

1. Membaca EEPROM

EEPROM kadang menyimpan:

  • Password
  • Serial number
  • Konfigurasi

2. Modifikasi Data

Konfigurasi perangkat bisa diubah.

3. Manipulasi Sensor

Data sensor palsu dapat dikirim ke sistem.

Studi Kasus I2C

Dalam pengujian perangkat smart home, peneliti berhasil membaca konfigurasi WiFi dari EEPROM melalui I2C.

Eksploitasi SPI

Apa Itu SPI?

SPI adalah protokol komunikasi cepat antar chip.

Biasanya digunakan untuk flash memory.

Pin utama SPI:

  • MOSI
  • MISO
  • CLK
  • CS

Identifikasi Flash SPI

Chip SPI flash biasanya berasal dari vendor:

  • Winbond
  • Macronix
  • Gigadevice

Chip ini sering menyimpan firmware utama.

Dump Firmware SPI

Cara umum dump firmware:

  1. Gunakan SOIC clip
  2. Hubungkan ke programmer
  3. Gunakan flashrom
  4. Simpan hasil dump

Analisis Firmware

Firmware yang berhasil diekstrak bisa dianalisis menggunakan:

  • Binwalk
  • Strings
  • Ghidra

Kita bisa menemukan:

  • Hardcoded password
  • API key
  • Konfigurasi sistem
  • File system Linux

Modifikasi Firmware

Dalam beberapa kasus, firmware bisa dimodifikasi.

Contoh:

  • Menambahkan backdoor
  • Mengubah konfigurasi
  • Menghapus autentikasi

Setelah dimodifikasi, firmware dapat di-flash kembali.

Studi Kasus SPI

Banyak router rumahan dapat diekstrak firmwarenya menggunakan teknik SPI flash dumping.

Reverse Engineering Firmware IoT

Setelah firmware diperoleh, langkah berikutnya adalah reverse engineering.

Ekstraksi Firmware

Binwalk sering digunakan untuk mengekstrak isi firmware.

Kita bisa menemukan:

  • BusyBox
  • Linux filesystem
  • Script startup
  • Binary executable

Analisis Kerentanan

Beberapa vulnerability yang sering ditemukan:

  • Hardcoded password
  • Weak encryption
  • Command injection
  • Backdoor developer

Dynamic Analysis

Firmware juga bisa dijalankan menggunakan emulator seperti QEMU.

Tujuannya:

  • Analisis runtime
  • Testing vulnerability
  • Monitoring network

Teknik Lanjutan IoT Hacking

Fault Injection

Teknik ini dilakukan dengan mengganggu sistem secara fisik.

Contoh:

  • Voltage glitching
  • Clock glitching

Tujuannya untuk bypass keamanan.

Side Channel Attack

Serangan ini memanfaatkan informasi sampingan.

Contoh:

  • Konsumsi daya
  • Waktu proses
  • Sinyal elektromagnetik

Chip-Off Forensics

Pada teknik ini chip memory dilepas langsung dari board.

Kemudian data dibaca menggunakan programmer khusus.

Secure Boot Bypass

Beberapa peneliti mencoba bypass secure boot untuk menjalankan firmware modifikasi.

Defense dan Mitigasi

Agar perangkat IoT lebih aman, developer harus menerapkan beberapa proteksi.

1. Menonaktifkan UART dan JTAG

Interface debugging sebaiknya dinonaktifkan pada perangkat produksi.

2. Secure Boot

Firmware harus diverifikasi sebelum dijalankan.

3. Firmware Encryption

Firmware perlu dienkripsi agar sulit dianalisis.

4. Hardware Security Module

Gunakan secure element atau TPM.

5. Secure Coding

Hindari hardcoded credential dan vulnerability umum.

Tools Populer untuk IoT Pentesting

Tools Fungsi
Bus Pirate Analisis komunikasi hardware
JTAGulator Identifikasi JTAG/UART
Logic Analyzer Membaca sinyal digital
OpenOCD Debugging JTAG
Flashrom Dump firmware
Binwalk Ekstraksi firmware
Ghidra Reverse engineering

Tantangan Keamanan IoT

Keamanan IoT menjadi semakin penting karena:

  • Jumlah perangkat terus meningkat
  • Banyak perangkat tidak diupdate
  • Firmware jarang mendapat patch
  • Hardware murah sering mengabaikan keamanan

Selain itu, ancaman seperti botnet IoT dan supply chain attack semakin berkembang.

Kesimpulan

Hardware hacking merupakan bagian penting dalam penetration testing perangkat IoT.

Dengan memahami UART, JTAG, I2C, dan SPI, peneliti keamanan dapat:

  • Menganalisis firmware
  • Mengidentifikasi vulnerability
  • Menguji keamanan perangkat embedded

Namun semua teknik ini harus dilakukan secara etis dan legal.

Bagi developer, memahami teknik hardware hacking juga penting agar dapat membangun perangkat IoT yang lebih aman.

Ke depan, keamanan hardware dan embedded system akan menjadi bidang yang semakin penting dalam dunia cybersecurity.

Referensi

  • OWASP IoT Top 10
  • Dokumentasi OpenOCD
  • Dokumentasi Flashrom
  • Dokumentasi Binwalk
  • Embedded Linux Security
  • Practical Hardware Pentesting
  • Research Paper IoT Security