التخزين والاتصالات غير الآمنة
الثغرات الشائعة
التخزين والاتصالات غير الآمنة درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
العيبان الكلاسيكيان
من أكثر ثغرات الأجهزة المحمولة شيوعًا تخزين البيانات غير الآمن والاتصالات غير الآمنة. وهما واردان في قائمة OWASP لأهم 10 مخاطر للأجهزة المحمولة.
ينشأ كلاهما من ثقة المطورين المفرطة بالجهاز وضعف حماية البيانات.
أماكن تخزين التطبيقات للبيانات
تحتفظ التطبيقات بالبيانات في /data/data/<package>/:
- SharedPreferences: ملفات XML من أزواج مفتاح-قيمة.
- قواعد بيانات SQLite.
- ملفات داخلية وخارجية.
يفحص مختبرو الاختراق كل موقع بحثًا عن أسرار مخزنة بنص واضح.
/data/data/com.app/shared_prefs/prefs.xmlالأسرار بنص واضح
من العيوب المتكررة تخزين كلمات المرور أو الرموز المميزة أو معلومات التعريف الشخصية بنص واضح في SharedPreferences أو قاعدة بيانات.
على جهاز ذي صلاحيات root، أو عبر نسخة احتياطية، أو باستخدام Objection، يستطيع المهاجم قراءة هذه البيانات مباشرةً. وينبغي تشفير البيانات الحساسة أو حفظها في عتاد آمن.
<string name="auth_token">eyJhbGci...plaintext...</string>مخاطر التخزين الخارجي
تكون البيانات المكتوبة في التخزين الخارجي (منطقة بطاقة SD) قابلة للقراءة من الجميع في إصدارات Android الأقدم، ويمكن لأي تطبيق لديه إذن التخزين الوصول إليها.
ويؤدي حفظ الملفات الحساسة هناك إلى تعريضها للتطبيقات الأخرى. كما تُعد السجلات المكتوبة على القرص تسريبًا مشابهًا.
الطريقة الصحيحة لتخزين الأسرار
تشمل الخيارات الآمنة Android Keystore (حيث تُخزّن المفاتيح في العتاد ولا تُكشف للتطبيق مطلقًا) وEncryptedSharedPreferences.
يمكن لـ Keystore تنفيذ عمليات التشفير من دون كشف المفتاح، وهو أكثر أمانًا بكثير من تضمين مفتاح ثابت في الشفرة.
الاتصالات غير الآمنة
تعني الاتصالات غير الآمنة انتقال البيانات من دون حماية مناسبة. وأسوأ الحالات هي HTTP بنص واضح، حيث يستطيع أي شخص على الشبكة قراءة حركة المرور أو تعديلها.
يجب أن تستخدم كل حركة المرور الحساسة HTTPS/TLS.
http://api.app.com/login # cleartext, credentials exposedاعتراض حركة المرور
لفحص حركة المرور، وجّه الجهاز عبر بروكسي اعتراض مثل Burp Suite. وثبّت شهادة CA الخاصة بـ Burp على الجهاز حتى يمكن قراءة HTTPS.
يكشف ذلك نقاط نهاية API والمعلمات وأي بيانات حساسة أثناء النقل.
تثبيت الشهادة
تستخدم التطبيقات المصممة جيدًا تثبيت الشهادة لرفض أي شهادة باستثناء شهادتها، ما يحبط البروكسي الأساسي.
وكما تعلمت، يعطّل تجاوز تثبيت SSL باستخدام Frida ذلك، بحيث يمكنك مواصلة الاعتراض وتقييم أمان API الفعلي.
ضعف TLS والتحقق
حتى مع HTTPS، تشمل العيوب الوثوق بكل الشهادات أو قبول الشهادات منتهية الصلاحية أو تعطيل التحقق من اسم المضيف، وغالبًا ما تُضاف هذه التغييرات لتسهيل التطوير.
وتتيح هذه العيوب للمهاجم تنفيذ هجوم الرجل في الوسط رغم وجود TLS.
النسخ الاحتياطية والسجلات
تسريبان إضافيان:
- يتيح
android:allowBackup="true"لأي شخص لديه الجهاز استخراج بيانات التطبيق عبرadb backup. - قد تطبع مخرجات logcat التفصيلية رموزًا مميزة أو معلومات تعريف شخصية.
ينبغي تعطيل كليهما أو تنقية مخرجاتهما في بيئة الإنتاج.
adb backup -f data.ab com.appالحافظة ولقطات الشاشة
تسريبان غالبًا ما يُغفلان: نسخ البيانات الحساسة إلى الحافظة (التي يمكن للتطبيقات الأخرى قراءتها في إصدارات Android الأقدم) ولقطة الشاشة التي يلتقطها النظام عند انتقال التطبيق إلى الخلفية.
تخفف تطبيقات الخدمات المصرفية من ذلك باستخدام علامة نافذة FLAG_SECURE، التي تحظر لقطات الشاشة ومعاينة مبدّل المهام.
تحقق سريع
تذكّر المكان الأكثر أمانًا لحفظ مفاتيح التشفير على Android.
مراجعة
أصبحت الآن تفهم التخزين والاتصالات غير الآمنة:
- تسرّب التطبيقات أسرارًا بنص واضح في SharedPreferences وقواعد البيانات والتخزين الخارجي والسجلات.
- خزّن الأسرار في Android Keystore أو EncryptedSharedPreferences.
- تتراوح الاتصالات غير الآمنة من HTTP بنص واضح إلى ضعف التحقق من TLS؛ واعترضها باستخدام Burp.
- تجاوز تثبيت الشهادة باستخدام Frida، وعطّل allowBackup ونقِّ السجلات.
لقد أكملت دورة اختبار اختراق تطبيقات الأجهزة المحمولة.
الأسئلة الشائعة
هل درس «التخزين والاتصالات غير الآمنة» مجاني؟
نعم — نص درس «التخزين والاتصالات غير الآمنة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.
ماذا ستتعلم في «التخزين والاتصالات غير الآمنة»؟
الثغرات الشائعة تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟
لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «التخزين والاتصالات غير الآمنة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟
نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بنية تطبيقات Android
- التحليل الساكن لملفات APK
- التحليل الديناميكي باستخدام Frida
- التخزين والاتصالات غير الآمنة