ब्लॉग

बेबी मॉनिटर ऐप्स को ऑडिट किए जा सकने वाले सुरक्षा कोर की ज़रूरत क्यों है

बेबी मॉनिटर के मामले में केवल भरोसे का एहसास काफ़ी नहीं है। अहम हिस्सों की समीक्षा की जा सकनी चाहिए।

समस्या: अंधा भरोसा

जब आप बेबी मॉनिटर ऐप इंस्टॉल करते हैं, तो उसे एक बेहद निजी जगह तक पहुँच देते हैं: आपके बच्चे का कमरा। ऐप सुनता है, और कभी-कभी देखता भी है। साथ ही, माता-पिता अक्सर नहीं देख पाते कि पीछे क्या हो रहा है: क्या स्ट्रीम तीसरे पक्ष के सर्वरों से होकर जाती हैं, क्या इस्तेमाल का डेटा इकट्ठा होता है, तकनीकी रूप से किसकी किस चीज़ तक पहुँच हो सकती है?

ईमानदार जवाब यह है: कई ऐप्स के मामले में आपको पता ही नहीं होता। कोड बंद होता है और आर्किटेक्चर सिर्फ़ एक दावा रह जाता है। आखिर में आपसे प्रदाता पर भरोसा करने को कहा जाता है।

बंद कोड, खुली कमज़ोरियाँ

हाल के वर्षों में बेबी मॉनिटर हैक होने की काफ़ी रिपोर्टें आई हैं। अजनबी सुन सकते थे, कैमरे घुमा सकते थे या स्पीकर के ज़रिए बात कर सकते थे। ज़्यादातर मामलों में ये कोई अनोखे हमले नहीं थे, बल्कि गंभीर कमियाँ थीं: बिना एन्क्रिप्शन वाले कनेक्शन, डिफ़ॉल्ट पासवर्ड और प्रमाणीकरण का न होना।

प्रोप्राइटरी सॉफ़्टवेयर में बाहरी लोग अक्सर इन कमज़ोरियों को किसी घटना के बाद ही देख पाते हैं। सुरक्षा शोधकर्ता, स्वतंत्र डेवलपर और माता-पिता तैयार उत्पाद को बाहर से देखते हैं। बच्चे के कमरे में इस्तेमाल होने वाले डिवाइस के लिए यह कमजोर तरीका है।

सुरक्षा सिद्धांत के रूप में पारदर्शिता

सूचना सुरक्षा का एक पुराना और उपयोगी नियम है: केरखॉफ्स का सिद्धांत. सुरक्षा इस बात पर निर्भर नहीं होनी चाहिए कि डिज़ाइन गुप्त रहे। किसी को यह पता होने पर भी कि सिस्टम कैसे बना है, वह सुरक्षित रहना चाहिए।

खुले तौर पर दस्तावेज़ किया गया कोड अपने-आप सॉफ़्टवेयर को सुरक्षित नहीं बनाता। लेकिन इससे दावों की जाँच की जा सकती है। इस क्षेत्र को समझने वाले लोग सिर्फ़ मार्केटिंग कॉपी पढ़ने के बजाय डेटा प्रवाह, कुंजी व्युत्पत्ति और नियमों की जाँच कर सकते हैं।

Timmy का तरीका: अलग किया गया सुरक्षा कोर

Timmy में अब मैं साफ़ तौर पर अलग करता हूँ कि कौन-से हिस्से सच में सुरक्षा के लिए अहम हैं। यूआई कोड की हर पंक्ति यह तय नहीं करती कि उत्पाद भरोसे के लायक है या नहीं। निर्णायक हिस्से हैं बैकएंड लॉजिक, सिग्नलिंग कॉन्ट्रैक्ट, पेयरिंग क्रिप्टोग्राफ़ी और यह सवाल कि कौन-सा डेटा सर्वर तक पहुँचता है।

इसीलिए सुरक्षा कोर अब सार्वजनिक baby-monitor-timmy-core रिपॉज़िटरी में है। पूरा ऐप कोड अभी सार्वजनिक नहीं है। सुरक्षा के लिए अहम मूल घटकों को यूआई और प्रोडक्ट लॉजिक से अलग किया गया है, ताकि उनका अलग से दस्तावेज़ीकरण और समीक्षा की जा सके।

इसका व्यवहार में क्या मतलब है?

निष्कर्ष: माता-पिता पारदर्शिता के हक़दार हैं

जब किसी ऐप को बच्चे के कमरे तक पहुँच मिलती है, तो उसे अहम सवालों के बारे में स्पष्ट होना चाहिए: कौन-सा डेटा बनता है? वह कहाँ जाता है? उसे कौन पढ़ सकता है? माता-पिता सिर्फ़ फ़ुटर में लगे प्राइवेसी बैज से कहीं ज़्यादा के हक़दार हैं।

Baby Monitor Timmy को दिखाना चाहिए कि अच्छा उत्पाद और ऑडिट की जा सकने वाली सुरक्षा साथ-साथ चल सकते हैं। मेरे लिए इसका मतलब ऐप के हर कोने को सार्वजनिक करना नहीं है। इसका मतलब उन हिस्सों को खोलना है जो पेयरिंग, सिग्नलिंग, बैकएंड पहुँच और डेटा प्रवाह तय करते हैं।


और लेख