Galaxus نے آزادانہ طور پر قابلِ رسائی بیبی کیمرہ ریکارڈنگز کی خبر دی؛ The Verge کے مطابق Meari کے تقریباً 1.1 ملین ڈیوائسز متاثر ہوئے۔ میرے لیے اس کا سبق سادہ ہے: اگر پیچھے کا پلیٹ فارم پیغامات، تصاویر یا کیز کو ہر ڈیوائس کے لیے صاف طور پر الگ نہیں رکھتا تو لاگ اِن نرسری کو محفوظ نہیں بناتا۔ Timmy دنیا کے ہر سیکیورٹی مسئلے کا حل نہیں ہے۔ مگر Timmy کے اہم میڈیا اور پیئرنگ راز کسی کلاؤڈ کیمرہ پلیٹ فارم میں موجود نہیں ہوتے۔
Meari کے معاملے میں بظاہر کیا ناکام ہوا
عوامی رپورٹس ایک وائٹ لیبل پلیٹ فارم کا ذکر کرتی ہیں۔ کئی نمایاں برانڈز نے ایسے کیمرے بیچے جو ایک ہی Meari/CloudEdge انفراسٹرکچر پر انحصار کرتے تھے۔ اسی لیے یہ واقعہ اہم ہے: جب مشترکہ پلیٹ فارم اجازت کی حد غلط بناتا ہے تو مسئلہ صرف ایک کمزور کیمرہ نہیں، بلکہ پورے بیڑے کی سطح پر ڈیٹا کا بے نقاب ہونا ہوتا ہے۔
رپورٹ کردہ صورتحال کمزور ڈیفالٹ پاس ورڈز سے آگے کی ہے۔ ذرائع کے مطابق MQTT پیغامات میں ہر ڈیوائس کے لیے سبسکرپشن کنٹرولز ناکافی تھے، تصویری URLs عوامی طور پر قابلِ رسائی تھے، تصاویر کو چھپانے کا طریقہ کمزور تھا، اور کیز جامد یا ایپ سے نکالی جا سکنے والی تھیں۔ یہ پلیٹ فارم کی ناکامی ہے: انفراسٹرکچر ایسا ڈیٹا ظاہر کر سکتا تھا جو کبھی کسی دوسرے اکاؤنٹ کے لیے دستیاب نہیں ہونا چاہیے تھا۔
| کلاؤڈ کیمرے کا خطرہ | 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 کا محدود دعویٰ آرکیٹیکچر سے متعلق ہے: یہ بیک اینڈ پر پڑے، نرسری میڈیا کے قابلِ پڑھائی نشانات سے بچتا ہے اور سیکیورٹی کے لحاظ سے اہم پیئرنگ لاجک کو عوامی کور پروجیکٹ میں قابلِ جانچ بناتا ہے۔
ہر بیبی کیمرے کے بارے میں پوچھنے کے سوالات
- کیا فراہم کنندہ تصاویر یا کلپس محفوظ کرتا ہے؟
- کیا میڈیا URLs نجی، مختصر مدت کے لیے، اور ہر ڈیوائس کے لیے الگ سے مجاز ہیں؟
- کیا کیز ایپ کے اندر جامد رکھنے کے بجائے ہر ڈیوائس یا پیئرنگ کے لیے بنائی جاتی ہیں؟
- کیا بروکر صرف اسی ڈیوائس کے پیغامات پہنچا سکتا ہے جو واقعی آپ کی ملکیت ہے؟
- کیا پیئرنگ میں انسان مین-اِن-دی-مڈل کوشش کو پہچان سکتا ہے؟
کوڈ پڑھیں
- Timmy Core میں ECDH اور SAS
- میٹنگ کلید، دستاویزی کلید اور AES-GCM
- سیشنز اور پیئرنگ کے لیے Firestore قواعد
- کور پروجیکٹ میں سیکیورٹی دستاویزات
ذرائع
- بیبی کیمروں کی ریکارڈنگز آزادانہ طور پر قابلِ رسائی · Galaxus
- دس لاکھ بیبی مانیٹرز اور سیکیورٹی کیمرے ہیکرز آسانی سے دیکھ سکتے تھے · The Verge
- کوئی بھی بچے کو کونے میں نہیں ڈالتا · Sammy Azdoufal
- اسی واقعے کے لیے والدین کی گائیڈ · Baby Monitor Timmy