Güvenlik araştırmacıları, başlangıçta ağ cihazlarından veri çalmak için kullanılan 20 yıllık bir saldırı yöntemini geri getirerek uygun fiyatlı bir akıllı saatten ürün yazılımını başarıyla çıkardı.
“Blinkenlights” olarak bilinen teknik, geleneksel LED göstergeler yerine modern TFT ekranlarla çalışacak şekilde uyarlandı.
Quarkslab analistleri, yerel bir mağazadan yaklaşık 12 € karşılığında ucuz bir akıllı saat satın aldı ve bu akıllı saatin, kan basıncını ölçemeyen veya uyku aktivitesini takip edemeyen sahte sağlık sensörleri içerdiğini keşfetti.
Cihaz, çip üzerinde bir JieLi AC6958C6 sistemi kullanıyordu ve Bluetooth Düşük Enerji üzerinden iletişim kuruyordu; bu, başlangıçta ürün yazılımının çıkarılması için umut verici bir yol gibi görünüyordu.
Akıllı saati analiz ettikten sonra araştırmacılar, dengeleme sınırlarını doğru şekilde kontrol edemeyen bir arama ayrıştırıcı güvenlik açığı tespit etti.
Bu güvenlik açığı, sınırların dışında bir okuma koşulundan yararlanmalarına olanak tanıdı ve cihazı rastgele bellek içeriğini doğrudan ekranda görüntülemeye zorladı.
Quarkslab analistleri, özel kadran yükleme işleminde tersine mühendislik yaptıktan ve cihaz yazılımı ayrıştırıcısının kadranın ikili verilerinin dışına işaret eden görüntü sapmalarını doğrulamadığını keşfettikten sonra bu zayıflığı fark etti.
.webp)
Araştırmacılar Blinkenlights yaklaşımına karar vermeden önce birden fazla ekstraksiyon yöntemini denediler.
İlk önce JieLi’nin kablosuz güncelleme özelliğini araştırdılar ancak bunun indirmeleri değil, yalnızca ürün yazılımı yüklemelerini desteklediğini buldular.
Kimlik doğrulama mekanizması, araştırmacıların başarıyla kopyaladığı, sabit kodlanmış değerlerle Bluetooth’un E1 eski işlevini kullandı. Ancak bu yolun ürün yazılımının çıkarılması açısından başarısız olduğu kanıtlandı.
Modern Yanıp Sönen Işık Uygulaması
Ekip, akıllı saatin ana SoC’sinden NV3030B ekran denetleyicisine gönderilen verileri yakalamak için 200 MHz’e hız aşırtmalı Raspberry Pi Pico kullanarak özel bir donanım kurulumu geliştirdi.
Ekran, piksel verilerini RGB565 formatında iletmek için 25 MHz’lik bir saat kullandı ve bilgilerin doğru bir şekilde yakalanması için yüksek hızlı örnekleme gerekiyordu.
Araştırmacılar, ekran konektörüne 0,1 mm çaplı kabloları lehimlediler ve yükselen saat kenarlarındaki veri bitlerini örneklemek için Pico’nun Programlanabilir Giriş/Çıkış (PIO) özelliğini kullandılar.
.webp)
PIO programı, yüksek örnekleme oranında verimliliği korumak için yalnızca iki talimatla tasarlandı.
Yakalanan veriler, USB seri bağlantı noktası aracılığıyla bir ana bilgisayara aktarılmadan önce Pico’nun 145.000 baytlık arabelleğinde saklandı.
Firmware dökümünü tetiklemek için araştırmacılar, akıllı saatin, kadranın amaçlanan veri bölgesinin ötesindeki bellek içeriğini okumasına ve görüntülemesine neden olan, değiştirilmiş ofset değerlerine sahip kötü amaçlı özel kadranlar hazırladılar.
Çıkarma işlemi, her biri farklı bellek adreslerini hedefleyen birden fazla özel aramanın oluşturulmasını içeriyordu.
Yakalanan veri bloklarını tanımlamak ve hizalamayı doğrulamak için her kadrana senkronizasyon sözcüklerini (0xa5a5a5a5) ve sihirli baytları (0xdeadbeef) içeren özel bir başlık yerleştirildi.
Python komut dosyaları, bireysel bellek dilimlerinden arama oluşturmayı, veri toplamayı ve ürün yazılımı yeniden oluşturmayı otomatikleştirmek için geliştirildi.
Bu araştırma, modası geçmiş saldırı tekniklerinin, yaratıcı istismar yöntemleriyle birleştirildiğinde modern gömülü cihazlara karşı nasıl etkili kaldığını gösteriyor.
Raspberry Pi Pico’nun ötesinde neredeyse hiçbir maliyeti olmayan ucuz donanım yaklaşımının, bu özel uygulama için pahalı mantık analizörlerinden daha pratik olduğu kanıtlandı.
Daha Fazla Anında Güncelleme Almak için Bizi Google Haberler, LinkedIn ve X’te Takip Edin, CSN’yi Google’da Tercih Edilen Kaynak olarak ayarlayın.