أفضل ممارسات أمان تطبيقات الأجهزة المحمولة لضمان تطبيق مقاوم للقرصنة

نشرت: 2018-11-27

إن بناء تطبيق ثوري للهاتف المحمول ليس سوى الخطوة الأولى في تطوير تطبيقات الأجهزة المحمولة. بمجرد إنشاء التطبيق ، هناك الآلاف من العمليات الإلزامية التي تتبع تطوير التطبيق. واحدة من تلك الخطوات الحاسمة العديدة في أمان تطبيقات الأجهزة المحمولة.

في هذه المقالة ، سوف نستكشف ما هي ممارسات أمان تطبيقات الأجهزة المحمولة الأساسية التي يجب عليك تنفيذها بعد الانتهاء من التطوير.

على مدار العقد الماضي ، شهدنا جميعًا كيف نمت صناعة تطوير تطبيقات الأجهزة المحمولة وكذلك الجرائم الإلكترونية. وقد قادتنا هذه الجرائم إلى مرحلة لا يمكن فيها تقديم تطبيق إلى Play Store أو App Store دون اتخاذ إجراءات معينة لتأمينه.

ومع ذلك ، للوصول إلى ما تستلزمه التدابير الأمنية ، نحتاج أولاً إلى فهم سبب الحاجة إلى اتخاذ هذه الإجراءات وما هي مشكلات أمان التطبيقات المحتملة التي ابتليت بها صناعة تطوير تطبيقات الأجهزة المحمولة. لتقدير واقع الحياة ، دعونا نلقي نظرة على الحقائق:

احتمالية أن يكون التطبيق غير آمن

لا يزال هناك أمان لتطبيقات الأجهزة المحمولة أكثر من حمايتها من البرامج الضارة والتهديدات. دعونا أولاً نحدد بعض التهديدات الأمنية لتطبيق OWASP لفهم إجراءات الأمان بشكل أفضل.

لماذا نحتاج إلى أمان تطبيقات الأجهزة المحمولة: التهديدات المحتملة وحلولها

التهديدات التي تطرح نفسها في عالم تطوير التطبيقات بالرغم من كونها ضارة ، يمكن حلها بخطوات بسيطة لتأمين تطبيق جوال. دعونا نلقي نظرة على ما هي القضايا الرئيسية لأمان تطبيقات الهاتف المحمول.

1. ضوابط الخادم الخاطئ:

الاتصالات التي تحدث بين التطبيق والمستخدم خارج جهاز الهاتف المحمول تتم عبر الخوادم. ومثل هذه الخوادم هي أهداف أساسية للمتسللين في جميع أنحاء العالم. السبب الرئيسي وراء ضعف الخادم هو أن المطورين يتغاضون في بعض الأحيان عن الأمان الضروري من جانب الخادم في الاعتبار. قد يحدث هذا بسبب نقص المعرفة حول اعتبارات الأمان لتطبيقات الهاتف المحمول ، أو الميزانيات الصغيرة لأغراض أمنية ، أو نقاط الضعف الناتجة عن التطوير عبر الأنظمة الأساسية.

المحلول:

تتمثل الخطوة الأكثر أهمية في حماية خوادمك في فحص تطبيقاتك بمساعدة الماسحات الضوئية الآلية. بخلاف ذلك ، يمكن للقراصنة استخدام هذه الماسحات لاكتشاف نقاط الضعف في تطبيقاتك واستغلالها. ستكشف الماسحات الآلية عن المشكلات والأخطاء الشائعة التي يسهل حلها.

2. غياب الحماية الثنائية:

هذه أيضًا واحدة من مشكلات أمان تطبيق OWASP الرئيسية التي يجب معالجتها لأنه إذا كان هناك نقص في الحماية الثنائية لتطبيق جوال ، يمكن لأي متسلل أو خصم بسهولة عكس هندسة رمز التطبيق لإدخال برامج ضارة. يمكنهم أيضًا إعادة توزيع التطبيق المقرصن لنفسه وحقنه بالتهديد أيضًا. كل هذا يمكن أن يؤدي إلى مشاكل حرجة مثل سرقة البيانات وتلف صورة العلامة التجارية وبالتالي خسارة الإيرادات.

المحلول:

لحماية الملفات الثنائية ، من المهم نشر إجراءات التقوية الثنائية. كجزء من هذا الإجراء ، يتم تحليل الملفات الثنائية وتعديلها وفقًا لذلك لحمايتها من تهديدات أمان تطبيقات الأجهزة المحمولة الشائعة. يعمل هذا الإجراء على إصلاح التعليمات البرمجية القديمة دون تضمين التعليمات البرمجية المصدر على الإطلاق. من الأهمية بمكان ضمان تشفير الأمان للكشف عن عمليات كسر الحماية ، وعناصر التحكم في المجموع الاختباري ، والتحكم في اكتشاف مصحح الأخطاء ، وتثبيت الشهادة أثناء العمل على عمليات أمان تطبيقات الأجهزة المحمولة.

3. عدم أمان تخزين البيانات:

هناك ثغرة كبيرة أخرى شائعة في أمان تطبيقات الأجهزة المحمولة وهي عدم وجود نظام تخزين بيانات آمن. في الواقع ، من الشائع لمطوري تطبيقات الأجهزة المحمولة الاعتماد على تخزين العميل للبيانات الداخلية. ومع ذلك ، أثناء امتلاك أحد المنافسين لجهاز محمول ، يمكن الوصول إلى هذه البيانات الداخلية واستخدامها بسهولة أو التلاعب بها. يمكن أن يؤدي هذا إلى العديد من الجرائم مثل سرقة الهوية أو PCI (انتهاك السياسة الخارجية).

المحلول:

أحد تدابير أمان التطبيق التي يجب مراعاتها هنا هو بناء طبقة تشفير إضافية فوق مستوى التشفير الأساسي لنظام التشغيل. هذا يعطي دفعة هائلة لأمن البيانات.

4. حماية غير كافية لطبقة النقل:

طبقة النقل هي المسار الذي يتم من خلاله نقل البيانات بين العميل والخادم. إذا لم يتم تقديم معايير الأمان الصحيحة لتطبيقات الأجهزة المحمولة في هذه المرحلة ، يمكن لأي متسلل الوصول إلى البيانات الداخلية لسرقتها أو تعديلها. وهذا يؤدي إلى جرائم خطيرة مثل سرقة الهوية والاحتيال.

المحلول:

لتعزيز أمان طبقة النقل ، يجب عليك دمج SSL Pinning في تطبيقات iOS و Android. إلى جانب ذلك ، يمكنك استخدام مجموعات التشفير المتوافقة مع معايير الصناعة بدلاً من مجموعات التشفير العادية. بالإضافة إلى ذلك ، فإن تجنب التعرض لمعرف جلسة المستخدم بسبب جلسات SSL المختلطة ، وتنبيه المستخدم في حالة وجود شهادة غير صالحة ، واستخدام إصدارات SSL لتحليلات الطرف الثالث هي ممارسات شائعة يمكن أن تنقذ المستخدمين من خرق خطير للأمن.

5. تسرب غير مقصود للبيانات:

يحدث تسرب البيانات غير المقصود عندما يتم تخزين تطبيقات الهاتف المحمول الهامة في مواقع معرضة للخطر على الجهاز المحمول. على سبيل المثال ، يتم تخزين التطبيق حيث يمكن الوصول إليه بسهولة بواسطة تطبيقات أو أجهزة أخرى مما يؤدي في النهاية إلى خرق بيانات تطبيقك واستخدام البيانات غير المصرح به.

المحلول:

مراقبة نقاط تسرب البيانات الشائعة مثل التسجيل وخلفية التطبيق والتخزين المؤقت وكائنات ملفات تعريف الارتباط للمتصفح وتخزين بيانات HTML5.

إلى جانب هذه التهديدات الأمنية الخمسة لتطوير الأجهزة المحمولة ، هناك بعض العوائق الأخرى التي تحدث بشكل شائع في طريق بناء تطبيقات آمنة للهاتف المحمول. ها هم:

  • عدم وجود مصادقة متعددة العوامل - توفر العملية طبقات متعددة من الأمان قبل السماح لأي شخص داخل التطبيق. قد يكون الرد على سؤال شخصي أو OTP أو تكوين الرسائل القصيرة أو إجراءات أخرى. يمكن أن يؤدي عدم وجود مصادقة متعددة العوامل إلى العديد من المشكلات التي تجعلها جزءًا مهمًا من الإجابة على كيفية جعل التطبيق آمنًا.
  • عدم القدرة على التشفير بشكل صحيح - أحد العناصر المهمة في أفضل ممارسات أمان تطبيقات الهاتف هو ضمان التشفير المناسب. يمكن أن يؤدي عدم القدرة على ذلك إلى سرقة التعليمات البرمجية ، وسرقة الملكية الفكرية ، وانتهاك الخصوصية ، من بين العديد من المشكلات الأخرى.
  • حقن التعليمات البرمجية الضارة - غالبًا ما يتم تجاهل المحتوى الذي ينشئه المستخدم مثل النماذج باعتباره تهديدًا. لنفترض أن مستخدمًا أضاف معرفًا وكلمة مرور ، ثم اتصل التطبيق ببيانات جانب الخادم لمصادقة المعلومات. الآن التطبيقات التي لا تقيد الحرف الذي يدخله المستخدم تفتح نفسها لخطر إدخال رمز للوصول إلى الخادم.
  • الهندسة العكسية - إنها كابوس لتطوير تطبيقات الهاتف المحمول الآمنة. يمكن استخدام هذا الأسلوب لإظهار كيفية عمل التطبيق في الخلفية والكشف عن خوارزميات التشفير أثناء تعديل كود المصدر ، إلخ.
  • تخزين البيانات غير الآمن - يمكن أن يحدث تخزين البيانات غير الآمن في أماكن متعددة داخل التطبيق - ملفات تعريف الارتباط ، ومخزن البيانات الثنائية ، وقاعدة بيانات SQL ، وما إلى ذلك. إذا تمكن المتسلل من الوصول إلى قاعدة البيانات أو الجهاز ، فيمكنه تغيير التطبيقات المشروعة لنقل المعلومات إلى الأجهزة .

بعد رؤية التهديدات العامة التي تصيب جميع تطبيقات الأجهزة المحمولة وبعض أفضل ممارسات أمان تطبيقات الأجهزة المحمولة التي يجب اتباعها لتجنب هذه المشكلات ، دعنا ننتقل إلى التفاصيل الخاصة بأمان تطبيقات Android و iOS.

كيف تجعل تطبيقات Android آمنة؟

بعض أفضل ممارسات أمان تطبيقات Android الفعالة للاختيار هي: -

تشفير البيانات على وحدة التخزين الخارجية -

بشكل عام ، تكون سعة التخزين الداخلية للجهاز محدودة. وغالبًا ما يُجبر هذا العيب المستخدمين على استخدام أجهزة خارجية مثل القرص الصلب ومحركات أقراص فلاش لحفظ البيانات. وتتكون هذه البيانات ، في بعض الأحيان ، من بيانات حساسة وسرية أيضًا. نظرًا لأنه يمكن الوصول بسهولة إلى البيانات المخزنة على جهاز التخزين الخارجي بواسطة جميع تطبيقات الجهاز ، فمن المهم جدًا حفظ البيانات بتنسيق مشفر. يعد AES أو Advanced Encryption Standard أحد أكثر خوارزميات التشفير استخدامًا بواسطة مطوري تطبيقات الأجهزة المحمولة.

استخدام التخزين الداخلي للبيانات الحساسة -

تحتوي جميع تطبيقات Android على دليل تخزين داخلي. والملفات المخزنة في هذا الدليل آمنة للغاية لأنها تستخدم وضع MODE_PRIVATE لإنشاء الملف. ببساطة ، يضمن هذا الوضع عدم إمكانية الوصول إلى ملفات تطبيق معين بواسطة التطبيقات الأخرى المحفوظة على الجهاز. وبالتالي ، فهي واحدة من أفضل ممارسات مصادقة تطبيقات الأجهزة المحمولة التي يجب التركيز عليها.

باستخدام HTTPS -

يجب أن تكون الاتصالات التي تحدث بين التطبيق والخادم عبر اتصال HTTPS. غالبًا ما يتصل العديد من مستخدمي Android بالعديد من شبكات WiFi المفتوحة في المناطق العامة ، ويمكن أن يؤدي استخدام HTTP بدلاً من HTTPS إلى جعل الجهاز عرضة للعديد من النقاط الفعالة الضارة التي يمكنها بسهولة تغيير محتويات حركة مرور HTTP وجعل تطبيقات الجهاز تتصرف بشكل غير متوقع.

استخدام GCM بدلاً من الرسائل القصيرة -

في الوقت الذي لم يكن فيه Google Cloud Messaging أو GCM موجودًا ، تم استخدام الرسائل القصيرة لنقل البيانات من الخوادم إلى التطبيقات ولكن اليوم ، يتم استخدام GCM بشكل كبير. ولكن إذا لم تقم بالتبديل من الرسائل القصيرة إلى GCM ، فيجب عليك ذلك. وذلك لأن بروتوكول SMS ليس آمنًا ولا مشفرًا. علاوة على ذلك ، يمكن الوصول إلى الرسائل القصيرة وقراءتها بواسطة أي تطبيق آخر على جهاز المستخدم. تتم مصادقة اتصالات GCM من خلال الرموز المميزة للتسجيل التي يتم تحديثها بانتظام من جانب العميل وتتم مصادقتها باستخدام مفتاح واجهة برمجة تطبيقات فريد على جانب الخادم.

يمكن أن تتضمن أفضل ممارسات أمان تطوير تطبيقات الأجهزة المحمولة الرئيسية الأخرى ، التحقق من صحة إدخال المستخدم ، وتجنب الحاجة إلى البيانات الشخصية ، واستخدام ProGuard قبل نشر التطبيق. الفكرة هي حماية مستخدمي التطبيق من أكبر قدر ممكن من البرامج الضارة.

كيف تجعل تطبيقات iOS آمنة؟

بعض أفضل ممارسات أمان تطبيقات iOS التي يجب اتباعها هي: -

تخزين البيانات -

لتبسيط بنية تطبيقك إلى حد كبير وتحسين أمانه ، فإن أفضل طريقة هي تخزين بيانات التطبيق في الذاكرة بدلاً من كتابتها على القرص أو إرسالها إلى خادم بعيد. على الرغم من أنه إذا كان تخزين البيانات محليًا هو خيارك الوحيد ، فهناك عدة طرق يمكنك اتباعها: -

سلسلة مفاتيح:

أفضل مكان لتخزين كميات صغيرة من البيانات الحساسة التي لا تحتاج إلى وصول متكرر هو Keychain. تتم إدارة البيانات المخزنة في سلاسل المفاتيح بواسطة نظام التشغيل ولكن لا يمكن الوصول إليها بواسطة أي تطبيق آخر. - ذاكرات التخزين المؤقت: إذا لم تكن هناك حاجة إلى نسخ بياناتك احتياطيًا على iCloud أو iTunes ، فيمكنك تخزين البيانات في دليل Caches في وضع الحماية للتطبيق. - نظام الافتراضيات: يعد نظام الافتراضيات طريقة ملائمة لتخزين كميات كبيرة من البيانات.

أمن الشبكات:

تشتهر Apple بسياسات الأمان والخصوصية الخاصة بها ، وقد عملت لسنوات للوصول إلى هذا المستوى. قبل بضع سنوات ، قدمت Apple تطبيق App Transport Security الذي يفرض تطبيقات الأجهزة المحمولة التابعة لجهات خارجية لإرسال طلبات الشبكة عبر اتصال أكثر أمانًا ، مثل HTTPS.

أمن المعلومات الحساسة -

تستخدم غالبية تطبيقات الأجهزة المحمولة بيانات المستخدم الحساسة مثل دفتر العناوين والموقع وما إلى ذلك. ولكن بصفتك مطورًا ، تحتاج إلى التأكد من أن جميع المعلومات التي تطلبها من المستخدم ، في الواقع ، ضرورية للوصول والمزيد الأهم من ذلك ، للتخزين. لذلك ، إذا كان من الممكن الوصول إلى المعلومات التي تطلبها من خلال إطار عمل أصلي ، فلا داعي لتكرار هذه المعلومات وتخزينها.

لقد رأينا الآن ممارسات أمان تطبيقات Android و iOS لتطبيق Hack-Proof. ولكن ما من تطوير يمكن أن يكون بهذه السهولة كما هو مكتوب عنه. هناك دائمًا بعض التحديات التي يتم مواجهتها أثناء العملية. دعنا نمضي قدمًا ونتعرف على التحديات التي تواجهها وتحلها تقريبًا كل شركات تطوير التطبيقات الكبرى في الولايات المتحدة الأمريكية.

التحديات المرتبطة بأمان تطبيقات الجوال

هناك سجل مثبت عن مدى ضعف تطبيقات الأجهزة المحمولة إذا لم يتم اتخاذ تدابير كافية لأمنها من البرامج الضارة الخارجية. فيما يلي التحديات التي يمكن أن تنشأ في أي وقت إذا لم يكتمل اختبار أمان تطبيقات الهاتف المحمول وفقًا للمتطلبات.

تجزئة الجهاز -

هناك عمليات أساسية يجب اتباعها قبل إصدار التطبيق في متاجر التطبيقات. من الضروري تنوع الأجهزة التي تغطي مختلف الدقة والوظائف والميزات والقيود في استراتيجيات اختبار تطبيق الهاتف المحمول . يمكن أن يؤدي اكتشاف الثغرات الأمنية الخاصة بالجهاز إلى وضع مطوري التطبيقات خطوة للأمام في إجراءات أمان التطبيق. ليس فقط الأجهزة ولكن الإصدارات المختلفة من أنظمة التشغيل الشائعة هي خطوة مهمة يجب تغطيتها قبل إصدار التطبيق لتغطية جميع الثغرات المحتملة.

تشفير ضعيف -

في حالة التشفير الضعيف ، يكون الجهاز المحمول عرضة لقبول البيانات من أي جهاز متاح. المهاجمون الذين لديهم برامج ضارة في بحث مستمر عن طرف مفتوح في الأجهزة المحمولة العامة ويمكن أن يكون تطبيقك بهذه النهاية المفتوحة إذا لم تتبع مجموعة قوية من عملية التشفير. لذا ، فإن استثمار جهودك في التشفير القوي هو أيضًا أحد أفضل الطرق لإنشاء تطبيق جوال مقاوم للاختراق.

ضوابط استضافة أضعف -

يحدث ذلك غالبًا أثناء تطوير أول تطبيق جوال خاص بشركة ما ، والذي عادةً ما يترك البيانات معرضة لأنظمة جانب الخادم. لذلك ، يجب أن تحتوي الخوادم التي يتم استخدامها لاستضافة تطبيقك على إجراءات أمان كافية للتطبيق لتجنب أي مستخدمين غير مصرح لهم من الوصول إلى البيانات المهمة.

قائمة التحقق الخاصة بإرشادات أمان تطبيقات الجوال

هناك عدد من الأشياء التي تتبعها كل شركة لتطوير تطبيقات الأجهزة المحمولة عند إنشاء تطبيقات آمنة. فيما يلي قائمة مرجعية نتبعها عادةً -

  • استخدم المصادقة من جانب الخادم
  • استخدم خوارزميات التشفير
  • تأكد من أن مدخلات المستخدم تفي بمعايير الاختيار
  • إنشاء خوارزميات التهديد لدعم البيانات
  • Obsfucation لوقف الهندسة العكسية

هناك العديد من الطرق لإنشاء تطبيق جوال مقاوم للاختراق ، من خلال تدقيق أمان تطبيقات الهاتف المحمول ، ضد الهجمات من مصادر غير معروفة ولا يمكن أن يكون أي قدر من الإجراءات الأمنية كافياً على الإطلاق. يُعد النظر في أفضل ممارسات أمان تطوير تطبيقات الأجهزة المحمولة إحدى الطرق للقيام بذلك. اليوم ، أصبح العالم الرقمي مفتوحًا لاستخدام الجميع ولا يوجد مستخدم آمن بما يكفي من البرامج الضارة والاختراقات الأمنية ، لكن هذه الإجراءات تضمن أن بياناتك الشخصية آمنة في أجهزتك الرقمية.