ESP32’de Wi‑Fi’yi özgürleştirmek [video]
(media.ccc.de)- ESP32, muhtemelen yalnızca CCH’de bile binlercesi kullanılacak kadar yaygın; ancak özündeki Wi‑Fi stack’i kapalı kaynak olduğu için değiştirilmesi ve denetlenmesi zor
- 38c3 oturumu, Wi‑Fi çevre birimini tersine mühendislikle analiz etmekten başlayıp açık kaynak bir Wi‑Fi stack’i oluşturma sürecini ele alıyor
- Amaç yalnızca alternatif bir uygulama yapmak değil, hassas verileri işleyebilecek yazılımları doğrudan doğrulanabilir ve düzeltilebilir hâle getirmek
- Yeni stack yerleştiğinde ESP32, sıradan bir IoT SoC’sinin ötesine geçerek araştırma ve deneyler için ucuz bir kablosuz platforma dönüşebilir
- Yeterli özellik açıldığında pentest araçları, B.A.T.M.A.N. mesh router, AirDrop istemcisi gibi kullanım alanları mümkün hâle geliyor
Kapalı kaynak Wi‑Fi stack’ini açmanın nedeni
- ESP32’nin mevcut Wi‑Fi stack’i çalışıyor, ancak kapalı kaynak bir uygulama olduğu için iç işleyişini kontrol etmek veya ihtiyaçlara göre değiştirmek zor
- Açık kaynak Wi‑Fi stack’inin temel hedefi, potansiyel olarak hassas verileri işleyen alanları değiştirilebilir ve denetlenebilir kılmak
- CCH’de muhtemelen binlerce ESP32 bulunması ve hepsinin bu tür kapalı kaynak Wi‑Fi stack’lerini çalıştırması, konunun önemini artırıyor
Tersine mühendislikten yeni stack’e
- Proje, ESP32’nin tescilli Wi‑Fi stack’ini tersine mühendislikle analiz ederek başladı
- Ardından ESP32’nin Wi‑Fi çevre birimini doğrudan yöneten açık kaynak Wi‑Fi stack’i uygulamasına dönüştü
- Bu süreçte Wi‑Fi, ESP32, genel tersine mühendislik ve bu tür projelere nasıl yaklaşılacağı birlikte ele alınıyor
ESP32 açıldığında kullanım alanları
- ESP32’nin özellikleri tamamen açıldığında, araştırma aracı ve IoT SoC olarak daha çeşitli roller üstlenebilir
- Olası kullanım örnekleri şunlar:
- Pentest aracı
- B.A.T.M.A.N. mesh router
- AirDrop istemcisi
Oturum bilgileri ve yayın koşulları
- Konuşmacılar Frostie314159 ve Jasper Devreker
- 38c3’ün Hardware & Making track’inde, Saal 1’de gerçekleşen 38 dakikalık bir oturum; tarih 2024-12-27
- Video ve ses MP4, WebM, MP3, Opus formatlarında sunuluyor
- Materyaller
http://creativecommons.org/licenses/by/4.0koşullarıyla yayımlanıyor
1 yorum
Hacker News yorumları
İlgili yazı: https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/
Uyumlu olursa internette zaten birikmiş yardım içerikleri ve örnekler olduğu gibi kullanılabilir, giriş maliyeti de düşer. MAC katmanında çok küçük değişiklikler yapmak isteyenler de yeni bir API öğrenme yükü olmadan mevcut yöntemle başlayıp yalnızca istedikleri kısmı değiştirebilir
Hâlâ biraz garip gelen şey, WiFi modemi oldukça iyi bir mikrodenetleyiciye yerleştirmeyi sadece Espressif'in başarmış olması
ST bu konuda hâlâ epey geride
Ama RP2040 W kartının WiFi'si harici bir modül gibi görünüyor. Kaynak: https://esphome.io
Her yerde tekli adetlerde satın alınabiliyor, USB güç/programlama portu ve işaretlenmiş pinleri olan çeşitli breakout kartlarla satılıyor; ayrıca dokümantasyon, örnekler, Arduino IDE ve NodeMCU da gayet iyi durumda. Arduino da başlangıçta benzerdi ama düşük performanslı AVR yongalarında çok uzun süre kaldı, Çin üretimi olmayan kartlar pahalıydı ve WiFi yoktu. Raspberry Pi Pico özellik olarak iyi ama ilk dönemde tedariki zordu; geri kalanlar ise DigiKey gibi yerlerden alınan, daha çok “tek yonga” sayılabilecek ürünlerdi: kargo pahalı, dokümantasyon 600 sayfayı geçiyor, ilk
ping'i göndermek için 300 sayfadan fazlası gerekiyor, karta lehim yapmak gerekiyor ve programlama için de genelde pahalı ekipman lazım oluyorVideoyu henüz izleyemedim, zaten değinildiyse kusura bakmayın ama ESP32 kablosuz sertifikasyonunun resmî kara kutu firmware'e bağlı olup olmadığını merak ediyorum
Aynı donanımda açık firmware kullanılırsa FCC gibi sertifikasyon kurumlarına yeniden gönderip uygunluk testi yaptırmak gerekir mi?
İlgili CFR maddesini şu an hatırlamıyorum ama FCC, herkesin az sayıda sertifikasız cihaz kullanmasına açıkça izin veriyor. O cihaz başka kuralları ihlal ediyorsa bu yine ihlaldir, ancak donanım veya yazılımı değiştirmiş olmanız tek başına yasak değil
Firmware'in varlığı neredeyse yok sayılıyor. Bunun bir nedeni de var. WiFi gibi lisans gerektirmeyen ama sertifikalı kablosuz ekipmanlarda, kamu yararı için kurcalamaya karşı koruma bekleniyor. Bu yüzden FCC, WiFi yönlendirici sertifikasyon gereksinimlerini tartışırken tüm o savunmasız çöp WiFi router'lara güvenli önyüklemeyi zorunlu kılarak işi yazılıma kadar genişletmeyi değerlendirmişti; korkunç bir fikirdi ve rafa kaldırıldı. Şu an için sonuç firmware açıkça standart dışı emisyon üretmediği sürece durum yarı yasal ya da yarı yasa dışı gibi görünüyor. Avukat değilim
https://github.com/esp32-open-mac
Eskiden WiFi şifresi sağlama için bir fikrim vardı. Paket uzunluğu değiştirilerek SSID ve parola iletilebilir
Yeni IoT cihazı doğal olarak paketleri çözemeyebilir ama uzunluklarını gözlemleyebilir. Linux için örnek bir uygulama da yazdım ama bunu yapmaya yetecek kadar düşük seviyeli PHY erişimi sunan tek bir IoT çipi bile bulamadım
Konudan bağımsız bir soru ama konuşmacılardan biri DECT numarasını paylaştı. Bu, teknik konferanslarda kullanmak için hâlâ eski telefon taşıyan insanlar olduğu anlamına mı geliyor?
Etkinlik sırasında metrikleri gösteren bir durum panosu da var
[1] https://events.ccc.de/2024/12/22/38c3-poc-isdn-version/
[2] https://dashboard.eventphone.de/d/de7sgxz63vzeoe/38c3?orgId=...
Özellikle kamp alanında WiFi kapsaması düzensiz olabildiği için, tuvalet binasına ya da otoparka yürürken bile çağrı alabiliyorsunuz. Kendi frekansını kullandığı için WiFi, Bluetooth ve Zigbee'nin kullandığı bandı da daha kalabalık hâle getirmiyor. Elbette uygulama benzeri şeyler de kullanılabilir ama DECT çok kararlı ve menzili WiFi'dan belirgin biçimde daha iyi. Nokia 8210 boyutlarında güzel bir Siemens cihazım var, yani tuğla gibi bir şey taşımam gerekmiyor. Şimdi pili neredeyse bitmiş olmalı ama o dönemin pillerinde olduğu gibi değiştirilebilir.
Almanya’daki müstakil evlerde DECT hâlâ çok popüler
WiFi üzerinden VoIP’ten çok daha sağlam
Önce DECT olduğu için, şirket içi telefon ağı için kullanılan genel bir ad gibi yerleşmiş durumda
Hack’in ne kadar derine indiğini merak ediyorum. Frame iletimi sadece birkaç register ayarlayıp interrupt beklemek gibi görünüyor, ama asıl işi yapan başka bir firmware katmanı ile konuşuyor olabilir mi diye düşünüyorum
Bu bana Raspberry Pi Pico kartını hatırlatıyor. Ana RP2040 SoC var, ama WiFi ayrı bir Arm çekirdeğine sahip ayrı bir WiFi/BT modülü (CYW43xx). WiFi modülünün harici register arayüzü de kamuya açık olarak belgelenmiş değil, ama açık kaynak sürücü (https://github.com/georgerobotics/cyw43-driver/tree/cf924bb0...) olduğu için spesifikasyon çıkarımı yapılabiliyor. Ancak bu sürücü de sonuçta modül içindeki Arm çekirdeğinde çalışan yazılımla iletişim kuruyor ve o kod üretici tarafından dev bir firmware binary blob olarak sağlanıyor. O blob, bağlantısı verilen deponun firmware dizinindeki header dosyalarının içinde gerçekten yer alıyor. Bu ESP32 hack’inin bu yapıyla nasıl örtüştüğünü merak ediyorum
Sunum yapanların gerçekten çok genç görünmesi etkileyici. Bu kadar genç yaşta o düzeyde teknik bilgi biriktirmiş olmalarını görmek ilginç
Satranç bunun mükemmel bir örneği. Eskiden bilginin çoğu kitaplardaydı ve bunlar çoğu zaman yabancı dildeydi. Şimdi her şey açık ve belli bir seviyeye gelince ilk 100’deki rakiplerle bile rahatça oynanabildiği için gelişim hızı daha da artıyor
Promiscuous mode destekleyen bir MicroPython kütüphanesine bir adım daha yaklaşıldı
İndirmeden izlemek için: https://media.ccc.de/v/38c3-liberating-wi-fi-on-the-esp32/pl...