المشكلة: ثقة عمياء
عند تثبيت تطبيق لمراقبة الأطفال، تتيح له الوصول إلى مكان شديد الخصوصية: غرفة طفلك. يستمع التطبيق، وأحيانًا ينقل الصورة أيضًا. وفي الوقت نفسه، لا يستطيع الوالدان غالبًا معرفة ما يحدث في الخلفية: هل تمر تدفقات البث عبر خوادم تابعة لجهات خارجية؟ هل تُجمع بيانات الاستخدام؟ ومن يمكنه، من الناحية التقنية، الوصول إلى أي شيء؟
والجواب الصريح هو: في كثير من التطبيقات، لا تعرف. فالشفرة البرمجية مغلقة، وبنية النظام مجرد ادعاء. وفي النهاية، يُطلب منك أن تثق بمزوّد الخدمة.
شفرة مغلقة، وثغرات مكشوفة
وردت خلال السنوات الأخيرة تقارير كثيرة عن اختراق أجهزة مراقبة الأطفال. وكان بإمكان غرباء التنصت أو تحريك الكاميرات أو التحدث عبر مكبرات الصوت. وفي معظم الأحيان، لم تكن هذه هجمات معقدة، بل إخفاقات فادحة: اتصالات غير مشفرة، وكلمات مرور افتراضية، وغياب المصادقة.
في البرمجيات الاحتكارية، لا يكتشف من هم خارج الجهة المطورة نقاط الضعف هذه غالبًا إلا بعد وقوع مشكلة. فباحثو الأمن والمطورون المستقلون والوالدان لا يرون سوى منتج مكتمل من الخارج. وهذا نموذج ضعيف لجهاز موجود في غرفة الطفل.
الشفافية كمبدأ أمني
هناك قاعدة قديمة ومفيدة في أمن المعلومات: مبدأ كيركهوف. لا ينبغي أن يعتمد الأمان على بقاء التصميم سريًا. ويجب أن يظل النظام آمنًا حتى عندما يعرف شخص ما كيف بُني.
لا تجعل الشفرة الموثقة علنًا البرمجيات آمنة في حد ذاتها، لكنها تجعل الادعاءات قابلة للتحقق. ويمكن للمتخصصين فحص تدفقات البيانات واشتقاق المفاتيح والقواعد بدلًا من الاكتفاء بقراءة النصوص التسويقية.
نهج Timmy: نواة أمنية منفصلة
في Timmy، أفصل الآن بوضوح شديد بين الأجزاء الحساسة أمنيًا فعلًا. فليس كل سطر في واجهة المستخدم هو ما يحدد إن كان المنتج يستحق الثقة. أما الأجزاء الحاسمة فهي منطق النظام الخلفي، وعقود تبادل الإشارات، وتشفير الاقتران، ومسألة البيانات التي تصل إلى الخادم.
لهذا السبب، أصبحت النواة الأمنية موجودة الآن في المستودع العام baby-monitor-timmy-core. شفرة التطبيق كاملة ليست متاحة للعامة حاليًا. لكن المكونات الحساسة أمنيًا مفصولة عن واجهة المستخدم ومنطق المنتج، بحيث يمكن توثيقها ومراجعتها بشكل مستقل.
ماذا يعني هذا عمليًا؟
- حدود واضحة: تُفصل المكونات الأمنية عن واجهة المستخدم ومنطق المنتج.
- تدفقات بيانات قابلة للتدقيق: يمكن توثيق واجهات الاقتران وتبادل الإشارات والنظام الخلفي بشكل منفصل.
- من دون أدوات تتبع مخفية: لا تحتوي المسارات الحساسة إلا على ما ينتمي إليها تقنيًا.
- قابلية صيانة طويلة الأمد: من الأسهل مراجعة نواة منفصلة من مراجعة بنية أحادية غير منظمة.
الخلاصة: يستحق الوالدان الشفافية
عندما يملك تطبيق إمكانية الوصول إلى غرفة الطفل، ينبغي أن يكون واضحًا بشأن الأسئلة المهمة: ما البيانات التي تُنشأ؟ إلى أين تذهب؟ ومن يستطيع قراءتها؟ يستحق الوالدان أكثر من شارة خصوصية في تذييل الصفحة.
ينبغي أن يُظهر Baby Monitor Timmy أن المنتج الجيد والأمان القابل للتدقيق يمكن أن يجتمعا. وهذا لا يعني بالنسبة لي إتاحة كل جزء من التطبيق للعامة، بل إتاحة الأجزاء التي تحدد الاقتران وتبادل الإشارات والوصول إلى النظام الخلفي وتدفقات البيانات.