Iot Güvenliği Donanım Saldırı Yüzeyi

Iot Güvenliği Donanım Saldırı Yüzeyi
Hakan ALTAY
IoT Donanım Güvenliği: JTAG, SWD, UART ve I2C Özet İncelemesi
Giriş:
Nesnelerin İnterneti (IoT) cihazları, genellikle güvenlik önlemleri göz ardı edilerek piyasaya sürülmektedir. Bu cihazlarda bulunan donanım arayüzleri (JTAG, SWD, UART, I2C), kötü niyetli kişilerin cihazdan veri çekmesine, firmware çıkarmasına ve cihazı manipüle etmesine olanak sağlayan önemli saldırı yüzeyleri sunar. Bu makalede iletişim protokolleri, zafiyetler ve sömürü teknikleri hakkında bilgi verilmektedir.JTAG (Joint Test Action Group)
JTAG, ilk olarak baskı devre kartı (PCB) testleri için geliştirilmiş, daha sonra IEEE 1149.1 standardı ile hata ayıklama ve programlama amaçlı yaygın kullanılan bir arayüzdür.
- Pinler: TCK (saat), TMS (mod seçim), TDI (veri girişi), TDO (veri çıkışı) ve isteğe bağlı TRST.
- Kullanım: Cihaz belleği, kayıtlar ve işlemcilerle doğrudan iletişim sağlar.
- Saldırı Yüzeyi: JTAG erişimiyle cihazdan firmware çıkarılabilir, belleğe doğrudan erişim sağlanabilir.
JTAG pinleri elle veya araçlarla tespit edilebilir. OpenOCD gibi araçlarla haberleşme sağlanarak bellek dökümü gibi işlemler yapılabilir.
SWD (Serial Wire Debug)
SWD, ARM tarafından geliştirilen, JTAG’e alternatif, daha az pin gerektiren bir debug arayüzüdür.
- Pinler: SWDIO (veri), SWCLK (saat).
- Kullanım: ARM Cortex-M gibi mikrodenetleyicilerde hata ayıklama ve programlama.
- Saldırı Yüzeyi: OpenOCD gibi yazılımlarla erişilerek flash bellekten firmware alınabilir, cihaz kontrolü sağlanabilir.
UART (Universal Asynchronous Receiver/Transmitter)
UART, cihazla bilgisayar arasında asenkron veri aktarımı sağlar.
- Pinler: TX (veri gönderme), RX (veri alma).
- Kullanım: Seri konsol erişimi, debug mesajları, basit veri aktarımı.
- Avantajları: Kolay kurulum, clock gerektirmez.
- Saldırı Yüzeyi: Seri terminalden cihaz üzerinde çalışan sistem görüntülenebilir, komutlar gönderilebilir, bazen root erişim sağlanabilir.
I2C (Inter-Integrated Circuit)
I2C, düşük hızda ve kısa mesafeli haberleşme için kullanılan iki hatlı (SCL, SDA) senkron bir seri iletişim protokolüdür.
- Mimarisi: Master-slave, çoklu cihaz destekler.
- Kullanım: EEPROM, RTC, sensör gibi çevresel cihazlarla iletişim.
- Saldırı Yüzeyi: EEPROM içeriği okunabilir, hassas bilgiler (şifreler, anahtarlar) elde edilebilir. Bellek manipülasyonu ile sistem işlevselliği bozulabilir.
Saldırı Yöntemleri:
- FCCID üzerinden cihaz yapısını keşfetme
- PCB üzerindeki test noktalarından pin tespiti
- Logic Analyzer kullanarak sinyal koklama
- Bus Pirate, Shikra, EXPLIoT gibi araçlarla fiziksel erişim
- OpenOCD, PulseView gibi yazılımlarla veri çözümleme
Korunma Yöntemleri:
- Bellek verilerinin şifrelenmesi
- Debug arayüzlerinin devre dışı bırakılması
- Hassas bilgilerin sabit bellekte tutulmaması
Sonuç:
JTAG, SWD, UART ve I2C arayüzleri cihaz geliştiricilere hata ayıklama kolaylığı sağlarken, saldırganlar için de önemli giriş kapılarıdır. Bu arayüzlerin doğru yapılandırılması, devre dışı bırakılması veya şifreleme gibi yöntemlerle korunması kritik önem taşır. Özellikle IoT cihazlarının yaygınlaşmasıyla birlikte, donanım tabanlı güvenlik açıkları giderek daha fazla dikkat gerektirmektedir.
Makalenin tamamına https://www.trsiber.com.tr/post/iot-g%C3%BCvenli%C4%9Fi-donan%C4%B1m-sald%C4%B1r%C4%B1-y%C3%BCzeyi-hakan-altay erişebilirsiniz.
