2 puan yazan GN⁺ 2024-07-02 | 1 yorum | WhatsApp'ta paylaş

Motivasyon

  • Birkaç yıldır Sleep Number yatağının yerel ağ üzerinden erişim olasılığını araştırıyordu
  • HomeKit üzerinden yatak ayarlarını kontrol edebilen bir homebridge eklentisi geliştirdi
  • Sleep Number, API istek sıklığının arttığını belirterek eklentinin devre dışı bırakılmasını istedi
  • Yerel ağ erişimiyle sunucuları atlamanın bir yolunu bulmaya karar verdi

Ön koşullar

  • Sleep Number Hub model numarası: 360SIQ01D
  • UART to TTY cihazı ve diğer donanım araçları gerekli
  • USB-A flash sürücü gerekli

Root erişimi elde etme

  1. UART cihazını J16 başlığına bağlayın
  2. UART cihazına bir konsol bağlayın (baud rate: 115200)
  3. Hub'ı açın ve otomatik önyükleme sırasını durdurmak için 2 saniye içinde <SPACE> tuşuna basın
  4. Önyükleme ortam değişkenlerini düzenleyin
    • Varsayılan ortam değişkenlerini yedekleyin
    • bootcmd değişkeninden run set_bootargs; ifadesini kaldırın
    • bootargs değişkenine şunu ekleyin:
      console=ttymxc0,115200 root=/dev/mmcblk${linux_mmcdev}p1 rootwait rdinit=/bin/bash -- -c "sed -i 's/LMR=`.*`/LMR=let_me_root/' /init; exec /init"
      
  5. İlk açılışta içinde "let_me_root" dosyası bulunan bir flash sürücü takın
  6. Root bölümünü rw olarak yeniden mount edin ve let_me_root dosyasını ekleyin
  7. SSH erişimini yapılandırın

Yerel ağ kontrol ve izleme sunucusu oluşturma

  • Python 2.7.18 kullanarak bir HTTP sunucusu kurun
  • /bam/scripts dizinindeki betikleri çalıştırabilen bir HTTP sunucu betiği yazın
  • Betiği hub'a kopyalayın ve çalıştırın

rc.d betiği ekleme

  • /real.root bölümüne rc.d betiği ekleyin
  • Betiği hub'a kopyalayın ve uygun konuma taşıyın
  • Gerekli sembolik bağlantıları ekleyin

Yararlı komutlar

  • /bio betiğinde çeşitli yatak kontrol komutları kullanılabilir
  • Örnek komutlar:
    • arg=PSNL: Yatağın sol tarafı için son ayarlanmış uyku numarası değerini alın
    • arg=PSNS&arg=L100: Sol taraftaki uyku numarasını 100 olarak ayarlayın

Sonraki adımlar

  • /bam kök dizinindeki yatak kontrol işlevlerini araştırın
  • SSH tüneli üzerinden Sleep Number sunucularıyla iletişim kuran hub'ın güvenlik sorunlarını değerlendirin
  • SleepIQ uygulamasının yerini alabilecek basit bir web uygulaması yazın

Ek: Hub'ın orijinal U-Boot ortam değişkenleri

  • baudrate=115200
  • bootcmd=run find_board_name; run set_bootargs;setenv boot_mmcdev 0; run bootcmd_mmc;setenv boot_mmcdev 1; run bootcmd_mmc
  • Diğer değişkenler...

GN⁺ görüşü

  • Bu rehber, Sleep Number yatağına yerel ağ erişimi sağlayarak kullanıcıya daha fazla kontrol sunuyor
  • Hub'ın güvenlik sorunları göz önüne alındığında, harici internet bağlantısını kesmek iyi bir fikir olabilir
  • Benzer işlevler sunan başka akıllı ev ürünleri de mevcut
  • Yeni teknolojileri devreye alırken güvenlik ve bakım konuları dikkatle değerlendirilmeli

1 yorum

 
GN⁺ 2024-07-02
Hacker News görüşü
  • Geçmişte akıllı özelliği olmayan bir yatak kullanıyordu

    • İki kablolu kontrolcü pompaya bağlıydı
    • İnternet ya da Linux mikrodenetleyici gerekmiyordu
    • Hacklenme endişesi olmadan rahat rahat uyuyordu
  • Sleep Number sunucusu ve SSH tüneli üzerinden iletişim kuran hub ilgisini çekiyor

    • PubkeyAuth mu yoksa parola mı kullandığını merak ediyor
    • DNS ele geçirme olasılığını hayal ediyor
    • Homer Simpson'ın ünlü sözüne gönderme yaparak "yatak yukarı aşağı gidiyor" diyor
  • Eight Sleep Pod 3'e erişmek için benzer bir yöntem var

    • Bazı modellerde değiştirilebilir MicroSD kart bulunuyor
    • TFA'de kullanılan yöntem, kart olmadan root erişimi elde etmek için iyi bir yöntem olabilir
    • Eight Sleep firmware güncellemelerini imzalıyor, ancak imzada kullanılan özel anahtarı da birlikte gönderiyor
  • Bunun Eight Sleep yatağını hackleme yazısı olduğunu sanmıştı

    • Gerçek "Number Sleep Hub" fotoğrafını görünce şaşırdı
    • Eight Sleep ve Sleep Number adlı iki şirketin de su soğutmalı yatak yaptığını öğrenince afalladı
  • Sıradaki yorum ransomware şakası

    • "1000 dolar ödemezsen gelecek ay yatakta uyuyamazsın"
  • İnternet kesildiği için yatak sıcaklığını ayarlayamamak can sıkıcı

  • Sleep Number yatağı almamaya karar verdi

    • Çin'e outsource edildikten sonra iç baffle'ı kırılan iki şilte deneyimi yaşadı
  • Yatağın neden Linux çalıştırması gerektiğini sorguluyor

    • 1 GB RAM ve tam bir OS gerektiren bir yatağın neden gerekli olduğunu anlayamıyor
    • WiFi bağlantısı olmayan çamaşır makinesi bulmak da zordu
    • Akıllı cihazlardan kaçınmak giderek zorlaşıyor
  • Lehimleme araçlarını alışveriş listesine eklemeyi öneriyor