- Kickstarter üzerinden satın alınan akıllı uyku maskesinin kullanıcıların beyin dalgası verilerini dışarıya gönderdiği ortaya çıktı
- Maske, EEG sensörleri, elektriksel uyarım (EMS), titreşim, ısıtma ve ses özelliklerini bir arada bulunduran birleşik bir donanımdan oluşuyor
- Uygulama analizi sırasında tüm cihazların paylaştığı, sabit kodlanmış MQTT broker kimlik bilgilerinin bulunduğu keşfedildi; bu da üçüncü tarafların tüm cihazların gerçek zamanlı verilerini alabilmesini mümkün kılıyor
- Gerçekten de yaklaşık 25 cihazın gerçek zamanlı beyin dalgaları, sıcaklık, nem, CO₂ ve varlık algılama verilerini herkese açık broker’a gönderdiği doğrulandı
- Aynı kimlik bilgileriyle elektriksel uyarım komutları göndermek de mümkün olduğundan, kullanıcı güvenliği ve kişisel verilerin korunması açısından ciddi bir risk bulunuyor
Akıllı uyku maskesinin yapısı ve işlevleri
- Kickstarter üzerinden temin edilen maske, Çinli küçük bir araştırma şirketi tarafından üretilen bir ürün ve EEG tabanlı beyin dalgası ölçümünün yanında elektriksel kas uyarımı (EMS), titreşim, ısıtma ve ses oynatma işlevleri içeriyor
- Uygulamanın kalitesi düşüktü ve bağlantı sık sık kopuyordu; bu yüzden Bluetooth protokolü tersine mühendislikle incelenerek doğrudan bir web kontrol paneli geliştirildi
- BLE taraması sonucunda iki veri kanalı bulunduğu görüldü (komut gönderimi için ve veri akışı için), ancak standart bir protokol yerine özel bir biçim kullanıldığı için yanıt alınamadı
Uygulamanın tersine mühendislik süreci
- Android APK, jadx ile decompile edildiğinde uygulamanın Flutter tabanlı olduğu anlaşıldı
- Flutter, Dart kodunu ARM64 yerel koda derlediği için normal Java uygulamaları gibi geri dönüştürülmesi kolay değil
- İkili dosyada
strings komutuyla sabit kodlanmış broker kimlik bilgileri, bulut API uç noktaları, 15 komut işlevinin adı ve paket yapısına dair bilgiler çıkarıldı
- Ardından blutter aracı kullanılarak Dart snapshot’ı analiz edildi ve komut baytlarının tamamı geri kazanıldı
Cihaz kontrolünün başarıyla sağlanması
- 6 baytlık bir sorgu gönderildikten sonra cihaz 153 baytlık bir yanıt döndürdü
- Model adı, firmware sürümü, seri numarası, 8 sensör kanalının yapısı (EEG 250Hz, solunum, 3 eksenli ivmeölçer, 3 eksenli jiroskop) ve %83 pil bilgisi dahil
- Titreşim, ısıtma, EMS ve müzik kontrolü sorunsuz biçimde çalıştı
- Web panosunda kaydırıcılarla her işlevin kontrol edilebilmesi sağlandı
MQTT broker maruziyeti
- Uygulama içinde sabit kodlanmış kimlik bilgileriyle MQTT broker’a bağlanıldığında, tüm cihazlardan veri alındı
- Yaklaşık 25 cihaz aktifti ve uyku sırasında EEG verileri, hava kalitesi verileri (sıcaklık, nem, CO₂) ile varlık algılama bilgilerini gönderiyordu
- İki kullanıcının sırasıyla REM uykusunda ve yavaş dalga uykusunda (4Hz altı delta dalgaları) olduğu görüldü
- Tüm cihazlar aynı kimlik bilgilerini kullandığı için, dışarıdan birinin elektriksel uyarım komutları gönderebilme ihtimali bulunuyor
Güvenlik sorunu ve alınan önlemler
- Ürün adı ve şirket adı açıklanmadı; bunun yerine üreticiye sorun bildirildi
- Olay, kişisel veri koruması ve IoT güvenlik yönetimindeki ciddi boşlukları gözler önüne seriyor
- Yazar, Karpathy’nin ‘Digital Hygiene’ yazısının yeniden okunmasını öneriyor ve dijital hijyenin önemini vurguluyor
Ek bilgiler
- Tersine mühendislik süreci, Claude (Opus 4.6) modeli tarafından yaklaşık 30 dakika boyunca otonom şekilde yürütüldü
- Sonrasında bu vaka Hacker News’te 1 numaraya yükseldi ve ilgili konuşma kayıtları paylaşıldı
1 yorum
Hacker News yorumları
Ben de birkaç projede başarılı oldum ama destek verirken çok temkinliydim
Eskiden endüstriyel tasarımcılar mühendisliği sadece taşerona verilebilecek bir kaynak gibi görüp para topladıktan sonra işi en düşük fiyatlı yere vermeye çalışırdı
Ama çoğu ya başarısız oldu ya da zarar etti. Şimdiyse LLM'ler sayesinde yazılım ya da firmware 'ücretsiz' gibi göründüğü için, eskiden zor olduğu için vazgeçilen fikirler yeniden ortaya çıkıyor
Ben bir sinirbilimciyim; EEG verisini 'zihin okuma' olarak görmüyorum ama beyin verisinin mahrem olmaması çok kötü bir emsal
Bu tür veri sızıntıları toplumsal olarak olumsuz etkiler yaratabilir
Dünyanın her yerindeki insanların aynı anda aynı rüya değişimlerini yaşaması fikri, bir bilimkurgu romanı için kusursuz malzeme
Her seferinde elektrot jeli sürmek gerekmese daha da iyi olurdu
Ben kişisel veri olmayan verilerle hızlı prototip yaparken açık MQTT kullandım ama bulut sağlayıcısı DDoS aktarma riski nedeniyle durdurmamı istedi
Bu deneyim yüzünden, uyku maskesi şirketi kimlik doğrulama ya da yetkilendirme yapsa bile ona güvenmek zor
Bu örnek, wellness cihazı düzenlemelerindeki açığı çok iyi gösteriyor
Uygulamalar ve veriyle ilgili kuralların yakın dönemde gevşetilmiş olması olumlu ama veri güvenliği gereksinimleri mutlaka olmalı
Bizim şirkette tüm algoritmalar ve işleme cihaz üzerinde yapılıyor, sunucuya aktarılan tüm veriler de şifreleniyor
Bu kadar temel şeyleri bile yapmayan bir şirkete nasıl güvenilebilir, gerçekten merak ediyorum
Yazıdan, Claude'un APK'yi kendi başına çıkarıp decompile etmiş gibi bir izlenim doğuyor; gerçekte insan müdahalesinin ne kadar olduğunu bilmek isterim
Böyle bir analiz düzeyi kolaylaştıkça yapay zeka açısından yeni sonuçlar doğabilir
Rastgele denemeleri tekrar etmek sadece hesaplama kaynağı israfı
Asıl şaşırtıcı olan, bu şirketin verimlilik için MQTT kullanmayı düşünmüş olması
Güvenlik tabii ki berbat ama bant genişliğinden tasarruf etmeye çalışmış olmaları yine de ilginç