1 puan yazan GN⁺ 2024-12-29 | 1 yorum | WhatsApp'ta paylaş
  • 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.0 koşullarıyla yayımlanıyor

1 yorum

 
GN⁺ 2024-12-29
Hacker News yorumları
  • İlgili yazı: https://zeus.ugent.be/blog/23-24/open-source-esp32-wifi-mac/

    • Açık kaynak sürüm kapalı API ile uyumlu olursa büyük avantaj sağlar gibi görünüyor
      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
    • Yazının yazarı benim. Tüm yazı serisi de https://esp32-open-mac.be/ adresinde
  • 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

    • Diğer örnekler arasında BK72xx ailesi (BK7231T, BK7231N), RTL87xx ailesi (RTL8710BN, RTL8710BX) ve RP2040 var
      Ama RP2040 W kartının WiFi'si harici bir modül gibi görünüyor. Kaynak: https://esphome.io
    • Espressif; ucuzluk, erişilebilirlik, kolay donanım, kolay yazılım ve garip lisans kısıtlamalarının olmaması kombinasyonunu iyi tutturdu
      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 oluyor
    • Nordic Semiconductor'ın da Bluetooth ve WiFi içeren mikrodenetleyicileri var. Ancak Espressif çözümlerine göre çok daha az yaygınlar
    • AliExpress'teki TuYa tabanlı modüllerin çoğu Beken
    • TI yaklaşık 10 yıldır WiFi+Bluetooth mikrodenetleyicilere sahip ve Cortex-M4 de sunuyor
  • Videoyu 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?

    • Eğer bu şekilde dağıtıyorsanız evet, son kullanıcı kendi değiştiriyorsa hayır
      İ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
    • Bence bu bir gri alan. Çok yanlış hatırlamıyorsam sertifikasyonda yalnızca en kötü durum kablosuz performansı test edilip belgeleniyor; diğer teknik belgeler de PCB üretim dosyaları ya da firmware derleme betikleri gibi modern tasarım belgelerinden çok, üst düzey blok diyagramlar ve çalışma prensibini içeren oldukça ayrıntılı broşürlere benziyor
      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
    • Evet
  • 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

    • TI'ın SmartConfig çözümü uzunluk alanını kullanarak böyle çalışıyor. Yani bunu uygulayan bir IoT çipi kullanmanız yeterli; TI'ın da bu türden epey çipi var
    • https://www.keacher.com/xmas24/ veri iletişimi için OOK kullanıyor ve WiFi sinyalinden enerji topladığı için pile ihtiyaç duymama avantajı sunuyor
    • Son çare olarak reverse engineering yapılamaz mı, yoksa imkânsız mı?
    • Günümüzde olsam doğrudan WPA3 kullanırdı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 sesli iletişim için birden fazla ağ işletiliyor. Baktığım kadarıyla genelde DECT, SIP, GSM birlikte kullanılıyor
      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=...
    • Evet. Hacker kamplarında oldukça kullanışlı ve bende de hâlâ bir tane var
      Ö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

    • Bunun bir CCC geleneği olduğunu düşünüyorum
    • Doğru. Yine de GSM veya SIP de kullanılabiliyor ve pratikte modern ağlar kullanılsa bile numara alanı aynı olduğu için buna sıkça DECT numarası deniyor
      Ö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ç

    • Artık her şey açık. Çocuklar istediklerini giderek daha küçük yaşta öğrenebiliyor
      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ı

    • Neden? Bu zaten ESP SDK’de destekleniyor
  • İndirmeden izlemek için: https://media.ccc.de/v/38c3-liberating-wi-fi-on-the-esp32/pl...