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

  • يجمع تحليل تطبيقات أندرويد بين الفحص التقني لملفات APK، والتدقيق الأمني، وتحليلات الاستخدام والأعمال.
  • تتيح لك أدوات مثل APK Analyzer و Android Studio و Inspeckage وأطر عمل OWASP MAS اكتشاف الأخطاء وتحسين التعليمات البرمجية.
  • تساعد منصات تحليلات الأجهزة المحمولة (Firebase و Contentsquare و Mixpanel وما إلى ذلك) على فهم السلوك والتحويل والأداء.
  • إن دمج الأمن والمراقبة ومقاييس المنتج في دورة حياة التطبيق يحسن الجودة والامتثال وعائد الاستثمار.

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

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

ستجد في هذه المقالة نظرة عامة شاملة على تحليل تطبيقات أندرويد من زوايا متعددةأدوات لفحص ملفات APK والتطبيقات المثبتة، وأدوات تطوير مثل محلل APK في Android Studio، وأطر تدقيق مثل Inspeckage، ومنهجيات أمنية مثل OWASP MAS، ونظرة شاملة على منصات تحليلات تطبيقات الجوال الرئيسية (Firebase، وContentsquare، وMixpanel، وCountly، وLocalytics، وRevenueCat، وAppDynamics، وAppsFlyer). كل ذلك مُشروح باللغة الإسبانية (إسبانيا) بأسلوب سلس وبسيط، مع الحفاظ على الدقة التقنية.

ما هو تحليل تطبيقات أندرويد، وما هي استخداماته؟

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

من الناحية الفنية، يمكن تقسيم التحليل إلى التحليل الساكن والتحليل الديناميكيتُجري المراقبة الثابتة دراسة لملف APK أو الكود دون تنفيذه (فك التشفير، تحليل الأذونات، مراجعة ملف AndroidManifest.xml، إلخ). أما المراقبة الديناميكية فتراقب سلوك التطبيق أثناء تشغيله، وتسجل حركة مرور الشبكة، واستدعاءات واجهات برمجة التطبيقات الحساسة، واستخدام التشفير، أو إنشاء الملفات.

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

أدوات لتحليل ملفات APK والتطبيقات المثبتة

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

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

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

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

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

أداة تحليل ملفات APK الخاصة بـ Android Studio وأداة apkanalyzer

بالنسبة للمطورين الذين يستخدمون Android Studio، تتضمن منصة Google نفسها ما يلي: محلل APK قوي مدمج في بيئة التطويريمكن فتح هذه الأداة عن طريق سحب ملف APK أو حزمة التطبيق إلى نافذة المحرر، أو بالنقر المزدوج على ملف APK في مجلد الإنشاء، أو من قائمة الإنشاء ضمن خيار "تحليل APK". كما يتوفر لها إصدار سطر أوامر يُسمى apkanalyzer.

يُمكّنك محلل ملفات APK من استكشاف محتويات الملف بشكل هرمي، وهو ما يشبه داخليًا... ملف مضغوط يحتوي على مجلدات وملفات منظمةيعرض كل عنصر (مجلد أو ملف) حجمه الأصلي وتقديرًا لحجم التنزيل المضغوط كما هو مُقدم من متجر جوجل بلاي، بالإضافة إلى النسبة المئوية التي يمثلها من الحجم الإجمالي. يساعد هذا في تحديد الموارد أو المكتبات أو ملفات DEX التي تستهلك أكبر مساحة بسرعة.

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

يتضمن عارض البيان هذا أيضًا إمكانيات البحث عن الوبريُنبّهك هذا إلى الأخطاء والتحذيرات، مثل مخططات XML غير المعروفة. بعض التنبيهات (على سبيل المثال، تلك المتعلقة بالمخططات غير المسجلة) آمنة ويمكن تجاهلها، ويمكن إخفاؤها بإضافة المخطط إلى قائمة التجاهل في تفضيلات Android Studio.

يُعد عارض ملفات DEX مكونًا أساسيًا آخر في برنامج APK Analyzer، والذي يوفر عدادات للفئات والحزم والأساليب المعرفة والمرجعيةيُعد هذا مفيدًا، من بين أمور أخرى، للتحقق مما إذا كنت تقترب من حد 64 ألف طريقة لكل DEX، أو لتحديد ما إذا كان يجب تمكين multidex، أو ما إذا كانت هناك حاجة لإزالة التبعيات.

يعرض مخطط الفئات الطرق المُعرَّفة في ملف DEX والطرق المُشار إليها (بما في ذلك تلك الموجودة في مكتبات خارجية وواجهات برمجة تطبيقات Android وJava القياسية). تُفرِّق الأداة بين النوعين، مما يُساعد على فهم أي جزء من ميزانية الطرق يعود إلى التعليمات البرمجية المُخصصة وأي جزء يعود إلى التبعيات.

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

بالنسبة للمشاريع التي تستخدم تقنيات التعتيم وتقليل حجم الكود باستخدام ProGuard أو R8، يسمح المحلل بتحميل ملفات التعيين (mapping.txt)، وseeds.txt، وusage.txt يأتي من نفس الإصدار. بمجرد الاستيراد، يتم تفعيل وظائف إضافية: فك تشفير الأسماء لاستعادة الفئات والأساليب الأصلية، وتظليل العقد التي لا يمكن حذفها (البذور)، وعرض العقد التي تم حذفها أثناء عملية الاختزال.

يشير مربع حوار تحميل الملفات عادةً تلقائيًا إلى المسار المعتاد (app/build/outputs/mappings/release/ويبحث عن الأسماء المطابقة أو الأسماء التي تحتوي على كلمات مثل "mapping" أو "usage" أو "seeds" وتنتهي بـ .txt. وباستخدام هذه المعلومات، يمكن للمحلل عرض العناصر المحمية بخط غامق وشطب العناصر التي لم تعد موجودة في ملف DEX النهائي.

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

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

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

الاستفادة من تحليلات الأجهزة المحمولة لفهم تجربة المستخدم

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

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

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

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

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

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

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

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

تجزئة المستخدمين المتقدمة وتحليل السلوك

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

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

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

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

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

منصات التسويق والاشتراكات المزودة بتحليلات متكاملة

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

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

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

في مجال تطبيقات الاشتراك، أصبح RevenueCat أداة أساسية للعديد من الفرق. وبفضل حزمة تطوير البرامج (SDK) سهلة التكامل نسبيًا، فإنه يسمح إدارة اشتراكات الهاتف المحمول، وجمع التحليلات المستهدفة، وحتى اختبار جدران الدفع. دون الحاجة إلى إعادة اختراع العجلة في كل مشروع.

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

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

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

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

وأخيرًا، تركز AppsFlyer تحديدًا على فرق التسويق التي تحتاج إلى قياس حملاتها التسويقية عبر الأجهزة المحمولة، وتحديد مصادرها، وحمايتها. وتقدم حلولًا تتراوح من التحليلات الأساسية إلى الميزات المتقدمة، مع تركيز خاص على... كشف الاحتيال الإعلاني (على سبيل المثال، برامج الروبوت التي تولد نقرات وهمية).

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

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

التدقيق الأمني ​​والتحليل المتقدم مع Inspeckage

عندما لا يكون الهدف هو التسويق أو المنتج بقدر ما هو تدقيق أمن التطبيقات، وتحليل البرامج الضارة، أو مراجعة سلوكها الداخليثم تدخل أطر عمل أكثر تحديدًا حيز التنفيذ. ومن بين أكثرها إثارة للاهتمام في نظام Android البيئي Inspeckage (مدقق حزم Android)، والذي يعمل كوحدة Xposed.

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

يتوفر كود الأداة على منصة GitHub، ويمكن الحصول عليها أيضًا كملف APK من متجر Play أو مستودع Xposed. بعد تثبيت الوحدة، يتم تفعيلها في Xposed وتظهر في الواجهة الرئيسية. حالة الخادم، واجهة الشبكة، المنفذ، وأمر adb يلزم الاتصال من الجهاز المحلي.

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

بعد اختيار التطبيق وتشغيله، يبدأ التحليل الديناميكي. يتم الوصول إلى صفحة ويب مستضافة على الجهاز من متصفح الكمبيوتر، حيث يتم عرض قائمة تحتوي على أزرار لـ [غير واضح - ربما "الفرص" أو "الوظائف"]. قم بتنزيل ملف APK أو البيانات من وحدة التخزين الداخلية، التقط لقطات شاشة، وقم بتطبيق تكوينات مختلفة (مثل تعطيل FLAG_SECURE، وإعادة تشغيل التطبيق، واختيار وكيل، أو تحديد أنواع الأحداث المراد تسجيلها) وقم بتحديث النتائج في الوقت الفعلي.

يوفر Inspeckage أيضًا اختصارات لفتح علامة تبويب مع LogCat، والتحقق مما إذا كان التطبيق أو الوحدة قيد التشغيل، وإخفاء أو إظهار لوحات التفاصيل. تعرض لوحة معلومات التطبيق اسم الحزمة، المعرف الفريد (UID)، المعرف الفريد العالمي (GUID)، حالة النسخ الاحتياطي وإمكانية الوصول إلى وحدة التخزين الداخلية من نوع TreeView، والتي يمكن تنزيل الملفات منها بنقرة واحدة.

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

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

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

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

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

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

منهجيات الأمن، والتهديدات، ومختبر الاختبار

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

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

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

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

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

عادةً ما يجمع تقييم هذه المتطلبات بين التحليل الثابت والديناميكي. في الجزء الثابت، تُستخدم عناصر مثل... شفرة المصدر، والشفرة المُفكَّكة، والملفات الثنائية، والملفات المرتبطة بها. دون تشغيل التطبيق، يمكن استنتاج الثغرات الأمنية المحتملة من البيانات الوصفية، واستدعاءات الدوال، وتدفق البرنامج. وتُعد أدوات مثل Mara (إطار تحليل يسمح بتفكيك ملفات APK وإعادة تجميعها، وإزالة الغموض، وتحليل السلاسل النصية، واستخراج الأذونات، وما إلى ذلك)، ومحلل APK نفسه، وحلول مثل JAADAS لتحليل الاتصال بين العمليات الثابتة، مفيدة بشكل خاص في هذه المرحلة.

أما في التحليل الديناميكي، فيعمل التطبيق في بيئة مُتحكَّم بها، ويتم رصد سلوكه في ظل ظروف مختلفة. وهنا تبرز أهمية أدوات مثل دروزر، الذي يتفاعل مع الآلة الافتراضية دالفيك، ونقاط نهاية الاتصال بين العمليات، ونظام التشغيل للعثور على الثغرات الأمنية؛ Burp Suite، الذي يعمل كوكيل ويب لالتقاط ومعالجة حركة المرور بين التطبيق والخادم؛ و Inspeckage، المصمم لتجهيز ومراقبة التطبيق في الوقت الفعلي باستخدام الخطافات على واجهة برمجة تطبيقات Android.

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

ومن بين تطبيقات التدريب هذه مشاريع مثل InsecureShop (متجر إلكتروني ضعيف به ما يقرب من عشرين ثغرة قابلة للاستغلال، معظمها بدون الحاجة إلى صلاحيات الجذر)، وAndroGoat (أول تطبيق ضعيف تم تطويره بلغة Kotlin، مع عشرات الثغرات المختلفة)، وInsecureBank V2 (تطبيق مصرفي بواجهة خلفية Python، مصمم بنقاط ضعف متعددة) وCrackmes من مشروع MAS نفسه، والمنظم في عدة مستويات صعوبة من نوع CTF.

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

المادة ذات الصلة:
كيف تصنع تطبيق Android رائعًا؟