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ı riski | Timmy-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
- Timmy Core-da ECDH və SAS
- Görüşmə açarı, sənəd açarı və AES-GCM
- Sessiyalar və cütləşdirmə üçün Firestore qaydaları
- Əsas layihədə təhlükəsizlik sənədləri
Mənbələr
- Körpə kameralarından yazılar sərbəst əlçatan idi · Galaxus
- Bir milyon körpə nəzarəti və təhlükəsizlik kamerasına hakerlər asanlıqla baxa bilirdi · The Verge
- heç kim körpəni küncə qoymur · Sammy Azdoufal
- Eyni hadisə üçün valideyn bələdçisi · Baby Monitor Timmy