பாதுகாப்பு விளக்கம்

Meari குழந்தை கேமரா பாதுகாப்புக் குறைபாடு: Timmy எதை வேறுபட்டுச் செய்கிறது

Meari சம்பவம், அழகாக வடிவமைக்கப்பட்ட உள்நுழைவு மட்டும் போதாது என்பதைக் காட்டுகிறது. குழந்தை கண்காணிப்பு பாதுகாப்பு என்பது கட்டமைப்பு, அனுமதியளித்தல் மற்றும் விசை மேலாண்மையைப் பொறுத்தது.

யாரும் தடையின்றி அணுகக்கூடிய குழந்தை கேமரா பதிவுகள் குறித்து Galaxus செய்தி வெளியிட்டது; சுமார் 1.1 மில்லியன் Meari சாதனங்கள் பாதிக்கப்பட்டதாக The Verge தெரிவித்தது. இதிலிருந்து எனக்குக் கிடைக்கும் நிதானமான பாடம் இதுதான்: பின்னணியில் உள்ள பிளாட்ஃபார்ம் செய்திகள், படங்கள் அல்லது விசைகளை ஒவ்வொரு சாதனத்திற்கும் தனித்தனியாகத் தெளிவாகப் பிரிக்கத் தவறினால், உள்நுழைவு மட்டும் குழந்தையின் அறையைப் பாதுகாக்காது. உலகிலுள்ள ஒவ்வொரு பாதுகாப்புச் சிக்கலையும் Timmy தீர்க்காது. ஆனால் Timmy-யின் முக்கியமான மீடியா மற்றும் இணைத்தல் ரகசியங்கள் கிளவுட் கேமரா பிளாட்ஃபார்முக்குள் இருப்பதில்லை.

Meari சம்பவத்தில் தோல்வியடைந்ததாகத் தோன்றுவது

பொதுவில் வெளியான அறிக்கைகள் ஒரு white-label பிளாட்ஃபார்மை விவரிக்கின்றன. நுகர்வோருக்குப் பல்வேறு பிராண்டுகளாகத் தெரிந்த கேமராக்கள் அனைத்தும் ஒரே 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 candidate-கள் போன்ற சிக்னலிங் தரவு Firestore-ஐ அடைவதற்கு முன் AES-256-GCM மூலம் குறியாக்கம் செய்யப்படுகிறது. சாதனங்கள் இணைப்பை ஏற்படுத்திக்கொள்ள Firestore உதவுகிறது; குறியாக்கம் செய்யப்படாத வீடியோ, ஆடியோ அல்லது சிக்னலிங் தரவு அதில் சேமிக்கப்படுவதற்காக அது வடிவமைக்கப்படவில்லை.

Timmy இன்னும் கூறாதவை

பொறுப்புடன் செயல்படும் எந்தக் குழந்தைக் கண்காணிப்பு தயாரிப்பும் தன்னை ஹேக் செய்யவே முடியாது என்று கூறக்கூடாது. ஒரு போன் கைப்பற்றப்பட்டால், அதிலுள்ள எந்தச் செயலியும் தாக்கப்படலாம். தீங்கிழைக்கும் வகையில் மாற்றப்பட்ட செயலிப் பதிப்பு ஆபத்தின் தன்மையை மாற்றிவிடும். சர்வர் அமைப்பு தொடர்ந்து சரியாகப் பராமரிக்கப்பட வேண்டும். Timmy முன்வைக்கும் வரையறுக்கப்பட்ட கூற்று அதன் கட்டமைப்பைப் பற்றியது: பின்புறச் சேவையகத்தால் படிக்கக்கூடிய குழந்தை அறை மீடியா தரவுச் சுவடுகளை அது தவிர்க்கிறது; மேலும் பாதுகாப்புக்கு முக்கியமான இணைத்தல் தர்க்கத்தைப் பொதுவில் கிடைக்கும் Timmy Core திட்டத்தில் ஆய்வு செய்யக்கூடியதாக ஆக்குகிறது.

எந்தக் குழந்தை கேமராவைப் பற்றியும் கேட்க வேண்டிய கேள்விகள்

  • விற்பனையாளர் படங்கள் அல்லது கிளிப்புகளைச் சேமிக்கிறாரா?
  • மீடியா URL-கள் தனிப்பட்டவையாகவும், குறுகிய காலத்திற்கானவையாகவும், ஒவ்வொரு சாதனத்திற்கும் தனித்தனியாக அனுமதியளிக்கப்பட்டவையாகவும் உள்ளனவா?
  • விசைகள் செயலிக்குள் நிலையாக இருப்பதற்குப் பதிலாக, ஒவ்வொரு சாதனம் அல்லது இணைத்தலுக்கும் உருவாக்கப்படுகின்றனவா?
  • நீங்கள் உண்மையில் வைத்திருக்கும் சாதனத்திற்கான செய்திகளை மட்டுமே ஒரு புரோக்கர் வழங்க முடியுமா?
  • இடையிலுள்ள நபர் தாக்குதல் முயற்சியை இணைத்தல் மூலம் மனிதர் கவனிக்க முடியுமா?

குறியீட்டைப் படிக்கவும்

ஆதாரங்கள்