أمن تطبيقات الجوال: قائمة الفحص قبل الإطلاق
أمن تطبيقات الجوال لا يبدأ بالتشفير المتقدم، بل بأخطاء بسيطة: مفاتيح API داخل الملف التنفيذي، وتحقق يعتمد على العميل، وبيانات مخزّنة بلا حماية.
أهم النقاط
- اعتبر أي مفتاح مترجَم داخل التطبيق علنيًا؛ الأفعال المميّزة مكانها خلف نقطة نهاية على الخادم.
- كل قرار تفويض يجري على الخادم؛ إخفاء زر قابلية استخدام لا أمن.
- خزّن الرموز في سلسلة مفاتيح المنصة، وتحقق أن لا عبارة تسجيل تطبع بيانات اعتماد.
- دقّق كل حزمة طرف ثالث؛ فهي تعمل بصلاحياتك وتسبب أغلب تعارضات إقرارات الخصوصية.
إخفاقات أمن الجوال عادية في أغلبها: مفاتيح واجهات مضمّنة في التطبيق، وتفويض يُقرَّر على العميل، وبيانات حساسة مكتوبة في تخزين غير محمي، وحركة قابلة للاعتراض. ومراجعة قصيرة قبل الإطلاق تغطي هذه الفئات الأربع تزيل أغلب المخاطر الواقعية، ولا يحتاج أي منها أدوات متخصصة.
لا يُشحن أي سر في الملف التنفيذي
التطبيق قابل للتنزيل من أي أحد وقابل للتفكيك. وأي مفتاح أو كلمة مرور أو رمز يُترجَم داخله ينبغي اعتباره علنيًا. والتشويش يؤخر ذلك ولا يمنعه. وكل ما يجب أن يبقى سرًا مكانه خادمك، بحيث يستدعي التطبيق نقطة نهاية تنفّذ الفعل المميّز بدل أن يحمل بيانات الاعتماد اللازمة لتنفيذه بنفسه.
الخادم يقرر، دائمًا
- كل فحص تفويض يجري على الخادم. إخفاء زر في الواجهة خيار قابلية استخدام لا ضابط أمني، والطلب الأساسي ما زال ممكنًا.
- تحقق من كل مدخل على الخادم بصرف النظر عن تحقق العميل. فالعميل قابل للاستبدال كليًا.
- لا تثق أبدًا بمعرّفات يقدمها العميل في قرارات الوصول. إن قال الطلب أعطني الطلب رقم 4471، فتحقق أن هذا المستخدم الموثّق يملكه.
- حدّد معدل نقاط نهاية المصادقة. حشو بيانات الاعتماد ضد واجهة جوال تافه بدونه.
التخزين والنقل
الرموز وبيانات الاعتماد مكانها سلسلة مفاتيح المنصة أو مخزنها، لا في التفضيلات ولا في قاعدة بيانات محلية عادية ولا في السجلات أبدًا. وكن محددًا بشأن التسجيل: عبارة تصحيح تطبع ترويسة تفويض هي من أشيع طرق تسرب بيانات الاعتماد، وتنجو إلى الإنتاج أكثر مما تتوقع الفرق.
كل الحركة عبر TLS، بلا استثناءات مسموحة لراحة التطوير ثم تُشحَن. تحقق أن أي إعفاء من أمن النقل أُضيف أثناء التطوير قد أُزيل قبل الإصدار.
شفرة الطرف الثالث هي مخاطرتك
كل حزمة تضمّنها تعمل بصلاحيات تطبيقك وتستطيع قراءة ما يقرؤه. دقّق ما تجمعه وترسله كل واحدة، واحذف أي حزمة لا تستخدمها فعليًا، وأبقِ الباقي محدّثًا. وهنا أيضًا تنشأ تعارضات إقرارات الخصوصية، إذ قد تجمع مكتبة إعلان أو تحليلات معرّفات لم تقرّ بها قط.
قبل التقديم
احذف نقاط نهاية التصحيح وحسابات الاختبار. تأكد أن بناء الإنتاج يشير إلى بنية الإنتاج. تحقق أن إقرارات الخصوصية تطابق ما يفعله التطبيق وكل حزمة فيه. وتأكد أنك تستطيع إبطال رمز مخترق دون شحن تحديث، لأنك ستحتاج ذلك في مرحلة ما.
كل ما يُترجَم داخل التطبيق علني. التشويش يؤخر الاكتشاف ولا يمنعه.
المصادر