समस्या: आँखाचिम्लेर विश्वास गर्नु
तपाईंले बेबी मोनिटर एप इन्स्टल गर्दा यसलाई निकै निजी ठाउँ—तपाईंको शिशुको कोठा—मा पहुँच दिनुहुन्छ। एपले सुन्छ, र कहिलेकाहीँ हेर्छ पनि। तर आमाबुबाले प्रायः पृष्ठभूमिमा के भइरहेको छ देख्न सक्दैनन्: के स्ट्रिमहरू तेस्रो-पक्ष सर्भरबाट जान्छन्, प्रयोगसम्बन्धी डेटा सङ्कलन हुन्छ, र प्राविधिक रूपमा कसले केमा पहुँच पाउन सक्छ?
इमानदार जवाफ: धेरै एपमा तपाईंलाई थाहा हुँदैन। कोड बन्द हुन्छ, र यसको संरचना दाबीमै सीमित रहन्छ। अन्ततः तपाईंलाई प्रदायकमाथि विश्वास गर्न भनिन्छ।
बन्द कोड, खुला कमजोरीहरू
हालका वर्षहरूमा बेबी मोनिटर ह्याक भएका पर्याप्त रिपोर्टहरू आएका छन्। अपरिचित व्यक्तिले सुन्न, क्यामेरा चलाउन वा स्पिकरबाट बोल्न सक्थे। धेरैजसो अवस्थामा यी अनौठा आक्रमण थिएनन्, गम्भीर आधारभूत त्रुटि थिए: एन्क्रिप्सन नभएका जडान, पूर्वनिर्धारित पासवर्ड, वा प्रमाणीकरणको अभाव।
स्वामित्वयुक्त सफ्टवेयरमा बाहिरका मानिसले यस्ता कमजोरीहरू प्रायः केही भइसकेपछि मात्र देख्छन्। सुरक्षा अनुसन्धानकर्ता, स्वतन्त्र विकासकर्ता र आमाबुबाले तयार उत्पादनलाई बाहिरबाट हेर्छन्। शिशुको कोठामा प्रयोग हुने उपकरणका लागि यो कमजोर मोडेल हो।
सुरक्षाको सिद्धान्तका रूपमा पारदर्शिता
सूचना सुरक्षामा एउटा पुरानो र उपयोगी नियम छ: केर्खहफ्सको सिद्धान्त। सुरक्षा डिजाइन गोप्य रहनुमा निर्भर हुनु हुँदैन। कसैलाई यो कसरी बनाइएको छ थाहा भए पनि प्रणाली सुरक्षित रहनुपर्छ।
खुला रूपमा दस्तावेज गरिएको कोडले मात्र सफ्टवेयरलाई सुरक्षित बनाउँदैन। तर यसले दाबीहरू जाँच्न मिल्ने बनाउँछ। यस क्षेत्र बुझ्ने व्यक्तिहरूले मार्केटिङको कुरा पढ्नुको सट्टा डेटा प्रवाह, कुञ्जी व्युत्पत्ति र नियमहरू निरीक्षण गर्न सक्छन्।
Timmy को तरिका: छुट्टै सुरक्षा आधार
Timmy मा म अब वास्तवमै सुरक्षाका लागि महत्त्वपूर्ण भागहरू कुन हुन् भन्ने कुरा स्पष्ट रूपमा छुट्याउँछु। UI को हरेक लाइनले उत्पादन विश्वासयोग्य छ कि छैन भन्ने तय गर्दैन। निर्णायक भागहरू ब्याकएन्ड तर्क, सिग्नलिङ सम्झौता, पेयरिङ क्रिप्टोग्राफी, र कुन डेटा सर्भरसम्म पुग्छ भन्ने प्रश्न हुन्।
त्यसैले सुरक्षा आधार अहिले सार्वजनिक baby-monitor-timmy-core repositoryमा राखिएको छ। पूरा एपको कोड अहिले सार्वजनिक छैन। सुरक्षा-महत्त्वपूर्ण आधारभूत भागहरूलाई UI र उत्पादन तर्कबाट अलग गरिएको छ, ताकि तिनलाई छुट्टै दस्तावेज र समीक्षा गर्न सकियोस्।
यसको ठोस अर्थ के हो?
- स्पष्ट सीमाना: सुरक्षा आधारभूत भागहरू UI र उत्पादन तर्कबाट अलग छन्।
- जाँच गर्न मिल्ने डेटा प्रवाह: पेयरिङ, सिग्नलिङ र ब्याकएन्ड इन्टरफेसहरूलाई छुट्टै दस्तावेज गर्न सकिन्छ।
- लुकेका ट्र्याकर छैनन्: महत्त्वपूर्ण मार्गहरूमा प्राविधिक रूपमा आवश्यक कुरा मात्र हुन्छ।
- दीर्घकालीन मर्मतसम्भार: अलग कोरलाई असंरचित एकल प्रणालीभन्दा समीक्षा गर्न सजिलो हुन्छ।
निष्कर्ष: आमाबुबा पारदर्शिताका हकदार छन्
एउटा एपलाई शिशुको कोठामा पहुँच छ भने, यसले महत्त्वपूर्ण प्रश्नका ठोस जवाफ दिनुपर्छ: कस्तो डेटा बन्छ? त्यो कहाँ जान्छ? कसले पढ्न सक्छ? आमाबुबा फुटरमा राखिएको गोपनीयता ब्याजभन्दा बढीका हकदार छन्।
Baby Monitor Timmy ले राम्रो उत्पादन र जाँच गर्न मिल्ने सुरक्षा सँगसँगै हुन सक्छन् भनेर देखाउनुपर्छ। मेरा लागि यसको अर्थ एपको हरेक कुनो सार्वजनिक गर्नु होइन। यसको अर्थ पेयरिङ, सिग्नलिङ, ब्याकएन्ड पहुँच र डेटा प्रवाह तय गर्ने भागहरू खुला गर्नु हो।