Galaxus స్వేచ్ఛగా అందుబాటులో ఉన్న బేబీ కెమెరా రికార్డింగ్ల గురించి నివేదించింది; The Verge సుమారు 1.1 మిలియన్ Meari పరికరాలు ప్రభావితమయ్యాయని తెలిపింది. నాకు ఇందులోని పాఠం స్పష్టం: వెనుకనున్న ప్లాట్ఫారమ్ సందేశాలు, చిత్రాలు లేదా కీలను ప్రతి పరికరానికి విడివిడిగా సరిగా వేరు చేయలేకపోతే, లాగిన్ నర్సరీని రక్షించదు. ప్రపంచంలోని ప్రతి భద్రతా సమస్యను Timmy పరిష్కరించదు. కానీ Timmy యొక్క కీలక మీడియా, జతచేసే రహస్యాలు క్లౌడ్-కెమెరా ప్లాట్ఫారమ్లో ఉండవు.
Meari ఘటనలో విఫలమైనట్లు కనిపిస్తున్నది ఏమిటి
పబ్లిక్ నివేదికలు ఒక వైట్-లేబుల్ ప్లాట్ఫారమ్ను వివరిస్తున్నాయి. కనిపించే అనేక బ్రాండ్లు అదే Meari/CloudEdge మౌలిక సదుపాయాలపై ఆధారపడిన కెమెరాలను విక్రయించాయి. అందుకే ఈ ఘటన ముఖ్యమైనది: భాగస్వామ్య ప్లాట్ఫారమ్ అనుమతి సరిహద్దును తప్పుగా అమలు చేస్తే, దాని ఫలితం ఒక బలహీన కెమెరా కాదు—మొత్తం పరికరాల సమూహం బహిర్గతం కావడం.
నివేదించబడిన తీరు బలహీన డిఫాల్ట్ పాస్వర్డ్లకంటే ఎక్కువ సమస్యను చూపిస్తుంది. ప్రతి పరికరానికి సరిపడా సబ్స్క్రిప్షన్ నియంత్రణలు లేని MQTT సందేశాలు, అందరికీ చేరగల ఇమేజ్ URLలు, బలహీన ఇమేజ్ అస్పష్టీకరణ, స్థిరమైన లేదా యాప్ నుంచి తీసుకోగల కీలు ఉన్నాయని మూలాలు చెబుతున్నాయి. ఇది ప్లాట్ఫారమ్ వైఫల్యం: వేరే ఖాతాకు ఎప్పుడూ అందుబాటులో ఉండకూడని డేటాను మౌలిక సదుపాయాలు బయటపెట్టగలిగాయి.
| క్లౌడ్ కెమెరా ప్రమాదం | Timmy యొక్క ప్రత్యామ్నాయ రూపకల్పన |
|---|---|
| బ్యాక్ఎండ్ చిత్ర సంఘటనలను నిల్వ చేస్తుంది లేదా పంపిణీ చేస్తుంది. | Timmyలో నర్సరీ చిత్రాల కోసం క్లౌడ్ ఆర్కైవ్ లేదు; మీడియా ప్రత్యక్ష WebRTC. |
| బ్రోకర్ లేదా బకెట్ ప్రతి పరికరానికి అనుమతులను పూర్తిగా సరిగ్గా అమలు చేయాలి. | Firestoreలో జతచేయడం, సిగ్నలింగ్ డేటా మాత్రమే ఉంటుంది; SDP/ICE రాయడానికి ముందే ఎన్క్రిప్ట్ అవుతుంది. |
| స్థిర కీలు మొత్తం పరికరాల సమూహాన్ని ప్రభావితం చేయవచ్చు. | ప్రతి జతచేయడం పరికరాలపై దాని స్వంత P-256 ECDH-ఉత్పన్న కీని సృష్టిస్తుంది. |
| రిలే మార్గాన్ని మీడియా యాక్సెస్గా పొరబడవచ్చు. | TURN ఎన్క్రిప్ట్ చేసిన SRTP ప్యాకెట్లను ఫార్వర్డ్ చేస్తుంది, కానీ మీడియా కీలను స్వీకరించదు. |
Timmy రహస్యాన్ని ఎలా సృష్టిస్తుంది
నాలుగు అక్షరాల Timmy కోడ్ ఉద్దేశపూర్వకంగా రహస్యం కాదు. కోడ్లో అది కేవలం కలిసే స్థానం మాత్రమే: యాప్ దాని ఆధారంగా ఒక విలువను రూపొందిస్తుంది meetingKey దాని సహాయంతో రెండు పరికరాలు ఒకే Firestore పబ్లిక్-కీ మార్పిడిని కనుగొంటాయి. ప్రైవేట్ ECDH కీలు ఎప్పుడూ పరికరాలను విడిచివెళ్లవు.
తర్వాత రెండు పరికరాలు ఒకే P-256 ECDH షేర్డ్ సీక్రెట్ను లెక్కిస్తాయి. జతచేసే కీ స్థానికంగానే ఉత్పన్నమవుతుంది. రెండు అంకెల SAS షేర్డ్ సీక్రెట్తో పాటు క్రమబద్ధీకరించిన రెండు పబ్లిక్ కీల నుంచి ఉత్పన్నమవుతుంది. ఆ కీ మార్పిడిలో ఎవరైనా జోక్యం చేసుకుంటే, పరికరాలు వేర్వేరు సంఖ్యలను చూపిస్తాయి; జతచేయడాన్ని ధృవీకరించవద్దని అది వినియోగదారులకు చెబుతుంది.
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
సరళీకరించిన Timmy భద్రతా శ్రేణి: Firestore కలిసే స్థానం, సిగ్నలింగ్ రవాణా; TURN కేవలం రిలే మాత్రమే; మీడియా WebRTC ఎన్క్రిప్షన్తోనే ఉంటుంది.
WebRTC మీడియాను నిశ్శబ్దంగా ఎందుకు చూడలేరు
WebRTC అంటే కేవలం “వీడియో పంపడం” కాదు. మీడియా ప్రవహించే ముందు పరికరాలు DTLS హ్యాండ్షేక్ నిర్వహిస్తాయి. ఆడియో, వీడియో కోసం SRTP కీలు ఈ సురక్షిత రవాణా నుంచి ఉత్పన్నమవుతాయి. తర్వాత మీడియా ప్యాకెట్లు SRTPగా ఎన్క్రిప్ట్ అవుతాయి. TURN సర్వర్ ఆ ప్యాకెట్లను ఫార్వర్డ్ చేయగలదు, కానీ ఆడియో లేదా వీడియోను తెరవడానికి అవసరమైన కీలు దానికి అందవు.
Timmy దీనికి ముందు మరో పొరను జోడిస్తుంది: SDP ఆఫర్లు, SDP సమాధానాలు, ICE అభ్యర్థులు వంటి సిగ్నలింగ్ డేటా Firestoreకు చేరకముందే AES-256-GCMతో ఎన్క్రిప్ట్ అవుతుంది. పరికరాలు పరస్పరం చర్చించుకోవడానికి Firestore సహాయపడుతుంది; స్పష్టమైన వీడియో, ఆడియో లేదా స్పష్టమైన సిగ్నలింగ్ను ఉంచే చోటు అది కాదు.
Timmy ఇంకా చేయని హామీలు
ఏ గంభీరమైన బేబీ మానిటర్ కూడా తనను హ్యాక్ చేయలేరని చెప్పకూడదు. ఫోన్లో భద్రతా లోపం ఉంటే, ఏ యాప్నైనా దాడి చేయవచ్చు. హానికరమైన యాప్ బిల్డ్ ప్రమాద నమూనానే మార్చేస్తుంది. సర్వర్ కాన్ఫిగరేషన్ సరిగానే ఉండాలి. Timmy చేసే పరిమిత హామీ నిర్మాణానికి సంబంధించినది: బ్యాక్ఎండ్ చదవగల నర్సరీ మీడియా అవశేషాలను ఇది నివారిస్తుంది; భద్రతకు కీలకమైన జతచేసే లాజిక్ను పబ్లిక్ కోర్ ప్రాజెక్ట్లో పరిశీలించవచ్చు.
ఏ బేబీ కెమెరా గురించైనా అడగాల్సిన ప్రశ్నలు
- విక్రేత చిత్రాలు లేదా క్లిప్లను నిల్వ చేస్తాడా?
- మీడియా URLలు ప్రైవేట్గా, తక్కువ కాలం మాత్రమే చెల్లేలా, ప్రతి పరికరానికి అనుమతితో ఉన్నాయా?
- కీలు యాప్లో స్థిరంగా ఉండకుండా ప్రతి పరికరం లేదా జతచేయడానికి ఉత్పత్తి అవుతున్నాయా?
- మీరు నిజంగా కలిగి ఉన్న పరికరానికే బ్రోకర్ సందేశాలు అందించగలదా?
- మధ్యలో జోక్యం చేసుకునే ప్రయత్నాన్ని మనిషి గుర్తించేలా జతచేయడం ఉందా?
కోడ్ చదవండి
- Timmy Coreలో ECDH మరియు SAS
- మీటింగ్ కీ, డాక్యుమెంట్ కీ, AES-GCM
- సెషన్లు, జతచేయడం కోసం Firestore నియమాలు
- కోర్ ప్రాజెక్ట్లో భద్రతా డాక్యుమెంటేషన్
మూలాలు
- బేబీ కెమెరాల రికార్డింగ్లు స్వేచ్ఛగా అందుబాటులో ఉన్నాయి · Galaxus
- ఒక మిలియన్ బేబీ మానిటర్లు, భద్రతా కెమెరాలను హ్యాకర్లు సులభంగా చూడగలిగారు · The Verge
- బిడ్డను ఎవరూ మూలన పెట్టరు · Sammy Azdoufal
- అదే ఘటనపై తల్లిదండ్రుల గైడ్ · Baby Monitor Timmy