Təhlükəsizlik izahı

Meari Körpə Kamerası Təhlükəsizlik Zəifliyi: Timmy Nəyi Fərqli Edir

Meari hadisəsi göstərir ki, səliqəli giriş ekranı kifayət deyil. Körpə nəzarətinin təhlükəsizliyi arxitekturadan, icazələndirmədən və açarların idarə edilməsindən asılıdır.

Galaxus sərbəst əlçatan olan körpə kamerası yazıları barədə məlumat verdi; The Verge isə təxminən 1,1 milyon Meari cihazının təsirləndiyini yazdı. Mənim üçün nəticə aydındır: arxadakı platforma mesajları, görüntüləri və ya açarları hər cihaz üçün düzgün ayırmırsa, giriş sistemi uşaq otağını qorumur. Timmy dünyadakı bütün təhlükəsizlik problemlərini həll etmir. Amma Timmy-nin kritik media və cütləşdirmə sirləri bulud kamera platformasında saxlanmır.

Meari hadisəsində görünür nə baş verib

İctimai mənbələr white-label platformadan bəhs edir. Bir çox tanınan brend eyni Meari/CloudEdge infrastrukturundan asılı olan kameralar satırdı. Hadisənin əhəmiyyəti də bundadır: ortaq platforma icazə sərhədini səhv quranda nəticə təkcə bir zəif kamera deyil, bütün cihaz parkının ifşa olunması olur.

Bildirilən problem zəif standart parollardan daha ciddidir. Mənbələrdə hər cihaz üçün yetərli abunəlik nəzarəti olmayan MQTT mesajları, hamının çata bildiyi görüntü URL-ləri, zəif görüntü gizlətməsi və statik və ya tətbiqdən çıxarıla bilən açarlar təsvir edilir. Bu, platforma problemidir: infrastruktur başqa bir hesabın heç vaxt görə bilməməli olduğu məlumatları aça bilərdi.

Bulud kamerası riskiTimmy-nin alternativ yanaşması
Backend görüntü hadisələrini saxlayır və ya paylayır.Timmy-də uşaq otağı görüntüləri üçün bulud arxivi yoxdur; media canlı WebRTC-dir.
Vasitəçi və ya yaddaş məkanı hər cihaz üçün icazələri qüsursuz yoxlamalıdır.Firestore yalnız cütləşdirmə və siqnallaşma məlumatlarını daşıyır; SDP/ICE yazılmamışdan əvvəl şifrələnir.
Statik açarlar bütün cihaz parkına təsir edə bilər.Hər cütləşdirmə cihazlarda öz P-256 ECDH əsaslı açarını yaradır.
Rele yolu media giriş yolu ilə səhv salına bilər.TURN şifrələnmiş SRTP paketlərini ötürür, amma media açarlarını qəbul etmir.

Timmy sirri necə yaradır

Dörd simvollu Timmy kodu qəsdən sirr deyil. Kodda o yalnız görüşmə nöqtəsidir: tətbiq ondan bir meetingKey yaradır ki, hər iki cihaz eyni Firestore açıq açar mübadiləsini tapa bilsin. Şəxsi ECDH açarları heç vaxt cihazlardan kənara çıxmır.

Sonra hər iki cihaz eyni P-256 ECDH ortaq sirrini hesablayır. Cütləşdirmə açarı lokal olaraq törədilir. İkirəqəmli SAS ortaq sirrdən və sıralanmış hər iki açıq açardan törədilir. Bu açar mübadiləsinə müdaxilə olunarsa, cihazlar fərqli rəqəmlər göstərir; bu da istifadəçilərə cütləşdirməni təsdiqləməməli olduqlarını bildirir.

sequenceDiagram
    participant Baby as Baby device
    participant Firestore as Firestore meeting point
    participant Parent as Parent device
    participant Turn as TURN relay

    Baby->>Baby: Generate P-256 ECDH keypair
    Parent->>Parent: Generate P-256 ECDH keypair
    Baby->>Firestore: Write public key only under meetingKey
    Parent->>Firestore: Write public key only under meetingKey
    Firestore-->>Baby: Parent public key
    Firestore-->>Parent: Baby public key
    Baby->>Baby: Compute sharedSecret + SAS
    Parent->>Parent: Compute sharedSecret + SAS
    Baby-->>Parent: Humans compare SAS on both screens
    Baby->>Firestore: Write SDP/ICE encrypted with AES-256-GCM
    Parent->>Firestore: Write SDP/ICE encrypted with AES-256-GCM
    Baby-)Turn: WebRTC media as DTLS/SRTP packets
    Turn-)Parent: Relay forwards encrypted packets
    Note over Turn: TURN sees network metadata, not media keys
        

Sadələşdirilmiş Timmy təhlükəsizlik zənciri: Firestore görüşmə və siqnallaşma nəqliyyatıdır; TURN yalnız reledir; media WebRTC ilə şifrələnmiş qalır.

WebRTC mediasına niyə gizlicə baxmaq olmur

WebRTC sadəcə “video göndərmək” deyil. Media axını başlamazdan əvvəl cihazlar DTLS əl sıxmasını həyata keçirir. Audio və video üçün SRTP açarları bu təhlükəsiz nəqliyyatdan törədilir. Sonra media paketləri SRTP ilə şifrələnir. TURN serveri bu paketləri ötürə bilər, amma audio və ya videonu açmaq üçün lazım olan açarları almır.

Timmy bundan əvvəl də bir qat əlavə edir: SDP təklifləri, SDP cavabları və ICE namizədləri kimi siqnallaşma məlumatları Firestore-a çatmazdan əvvəl AES-256-GCM ilə şifrələnir. Firestore cihazların əlaqəni razılaşdırmasına kömək edir; açıq mətnli video, audio və ya açıq mətnli siqnallaşmanın saxlandığı yer deyil.

Timmy-nin iddia etmədikləri

Heç bir ciddi körpə monitoru sisteminin sındırılmaz olduğunu iddia etməməlidir. Telefon ələ keçirilibsə, istənilən tətbiq hücuma məruz qala bilər. Zərərli tətbiq versiyası risk modelini dəyişir. Server konfiqurasiyası düzgün saxlanmalıdır. Timmy-nin daha məhdud iddiası arxitektura ilə bağlıdır: o, backend-in oxuya biləcəyi uşaq otağı media materiallarının yaranmasından yayınır və təhlükəsizlik baxımından kritik qoşalaşdırma məntiqini ictimai əsas layihədə yoxlanıla bilən edir.

İstənilən körpə kamerası barədə veriləsi suallar

  • Satıcı görüntüləri və ya klipləri saxlayırmı?
  • Media URL-ləri məxfidirmi, qısamüddətlidirmi və hər cihaz üçün ayrıca icazələndirilirmi?
  • Açarlar tətbiqin içində statik olmaq əvəzinə hər cihaz və ya cütləşdirmə üçün ayrıca yaradılırmı?
  • Vasitəçi yalnız həqiqətən sahib olduğunuz cihaz üçün mesajları çatdıra bilirmi?
  • Qoşalaşdırma insana ortadakı şəxs hücumu cəhdini görməyə imkan verirmi?

Kodu oxu

Mənbələr