- ESP32 tabanlı akıllı ev cihazı, tersine mühendislikle incelenerek Home Assistant ile entegre edildi
- Mobil uygulama analiz edilerek bulut sunucusu ile bağlantısı doğrulandı
- Ağ trafiği ele geçirilerek cihaz kontrolü denenildi
- ESP32 flash belleği dump edilip analiz edilerek firmware değiştirme denendi
- Paket yapısı analiz edilerek şifreleme ve checksum mantığı anlaşıldı
Giriş
- Son dönemde tüm cihazları Home Assistant'a bağlama yönünde girişimlerde bulunuluyor
- Belirli bir hava temizleyicinin kendi uygulaması dışında bağlanmaması nedeniyle, bunu hackleyip entegre etmeye çalışılıyor
- İnternet bağlantısına ve bulut hesabına bağımlı ürünlerin sorunlarına dikkat çekiliyor
Plan
- Mobil uygulamanın bulut sunucusuna bağlanarak uzaktan kontrol sağladığı doğrulandı
- Ağ trafiğini yakalayıp cihazı kontrol etmenin yolları araştırıldı
Mobil uygulama analizi
- Android uygulaması analiz edilerek React Native ile geliştirildiği doğrulandı
- WebSocket üzerinden bulut sunucusuna bağlandığı keşfedildi
Ağ incelemesi
- Pi-hole kullanılarak DNS sorguları incelendi ve Wireshark ile trafik analiz edildi
- UDP paketleri üzerinden cihaz ile sunucu arasındaki iletişim doğrulandı
Paket analizi
- UDP proxy kullanılarak cihaz ile bulut sunucusu arasındaki trafik aracılık edildi
- Wireshark ile paket yapısı analiz edilip şifreleme olasılığı doğrulandı
Fiziksel söküm
- ESP32 tabanlı cihaz sökülerek flash çipinden firmware dump alındı
- esptool kullanılarak seri bağlantı üzerinden veriler okundu
Flash analizi
- esp32knife kullanılarak flash verisi analiz edildi ve partition table doğrulandı
- FAT dosya sistemi içinde önemli dosyalar bulundu
İlk statik analiz
- Ghidra kullanılarak firmware içindeki string'ler analiz edildi ve şifreleme kütüphanesi kullanımı doğrulandı
- mbedtls kütüphanesi kullanılarak ECDH ve HKDF algoritmaları uygulanmış
Firmware değiştirme
- Ghidra ile CapSense işlevi devre dışı bırakılıp firmware değiştirilerek cihaz boot edildi
- Checksum sorunu çözülerek değiştirilmiş firmware başarıyla flashlandı
Paket başlığı
- Paket başlığının yapısı analiz edilerek seri numarası ve mesaj tanımlayıcısı doğrulandı
- İstemci isteği ile sunucu yanıtı arasındaki kalıplar belirlendi
Paket checksum'u
- CRC checksum doğrulanarak paket verisinin bütünlüğü denetlendi
1 yorum
Hacker News görüşleri
Uzun vadeli çözüm, yerel kontrolü göz ardı eden ev ürünlerini satın almamak
Hava temizleyicinin iç mekân hava kalitesi düştüğünde daha güçlü çalışması için IoT cihazı, uygulama, kablosuz iletişim veya hub gerekmez
ESP32 tabanlı IoT cihazı satıcılarına:
ESP32 tabanlı IoT cihazı sahiplerine:
Cihazın kartında hangi pinlerin bağlı olduğunu anlayıp bunu tamamen ESPHome ile flash'layıp özel bir yaml yapılandırması yazmanın mümkün olup olmayacağını merak ediyorum
IoT cihazı tasarım ekibinde olduğum her seferde güvenliğe odaklanan mühendis boot korumasından sorumluydu
Makaleyle ilgili geri bildirim:
Neden standartlaştırılmış bir çözüm kullanılmadığını merak ediyorum
ESP32 IoT cihazlarında firmware şifrelemesinin kullanıldığına nadiren rastladım
Servis mühendislerinin DTLS gibi standart protokolleri uygulamamayı seçmesi hakkında görüşler
Akıllı cihaz kullanan kişiler, cihazları kişisel ağdan ayrılmış bir VLAN içinde izole etmek için DD-WRT, OpenWrt, Tomato, Asuswrt-Merlin kullanmalı
Satın alınan bir ürünü kullanmak için hacklemek gerekmemeli