مدونة FireAI للأمان

بقلم FireAI Security & Research Team · نُشر في

تصيّد «التثبيت كتطبيق»: حين يتظاهر موقع ويب بأنه برنامج

تصيّد «التثبيت كتطبيق»: حين يتظاهر موقع ويب بأنه برنامج

تتيح المتصفحات المبنية على Chromium للمستخدم تحويل أي صفحة ويب تقريبًا إلى ما يبدو تطبيقًا أصليًا: نافذته الخاصة، وأيقونته الخاصة في Dock، دون أي عناصر واجهة متصفح مرئية. صُممت هذه الميزة للمواقع المشروعة التي تستخدمها كثيرًا. وثّق الباحث الأمني mr.d0x، في 11 يونيو 2024، كيف يمكن تحويل الآلية نفسها إلى عدة تصيّد احتيالي: ثبّت صفحة كتطبيق، ثم ارسم نافذة متصفح مزيفة، بشريط عنوان وكل شيء، داخل HTML الخاص بالتطبيق نفسه.

كيف يُبنى وهم التطبيق المثبَّت

في التقنية الموثَّقة، يُقاد الضحية إلى صفحة تطالبه بتثبيتها كتطبيق، وتعرض مطالبة التثبيت نفسها اسمًا منتحلًا مثل «Microsoft Login». وبمجرد التثبيت، يُفتح التطبيق في نافذته الخاصة الخالية من عناصر واجهة المتصفح. ولأنه لا يوجد شريط عنوان حقيقي لانتحاله، ترسم الصفحة شريطها الخاص بـ CSS: تزييف مقنع، موضوع بالضبط حيث يكون شريط عنوان متصفح، يعرض أي عنوان URL يريد المهاجم عرضه. بالنسبة لشخص تدرّب على «التحقق من شريط العنوان»، يبدو أن التطبيق يجتاز ذلك الفحص، لأن ما ينظر إليه ليس شريط عنوان المتصفح على الإطلاق.

ما الذي يجعل هذا مقنعًا فعليًا

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

تدقيق ما هو مثبَّت فعليًا، من الطرفية

على macOS، تُثبِّت Chrome والمتصفحات المبنية على Chromium هذه «التطبيقات» كحزم تطبيقات عادية، ويسجّل كل منها عنوان URL الحقيقي الذي ثُبِّت منه داخل ملف Info.plist الخاص به، أيًا كان الاسم المعروض في Finder. تحققنا من هذا مقابل تطبيق حقيقي مثبَّت حاليًا على هذا الجهاز (اختصار مثبَّت عبر المتصفح للوحة تحكم Cloudflare):

الطرفية
ls ~/Applications/*.localized/
Cloudflare.app

plutil -p ~/Applications/"Brave Browser Apps.localized"/Cloudflare.app/Contents/Info.plist | grep -i CrAppMode
  "CrAppModeShortcutName" => "Cloudflare"
  "CrAppModeShortcutURL" => "https://dash.cloudflare.com/"

حقل CrAppModeShortcutURL هذا هو الحقيقة التي لا يستطيع شريط عنوان مزيف تغييرها: يُضبط مرة واحدة، وقت التثبيت، من بيان الصفحة نفسه، وهو ما يفتحه التطبيق فعليًا في كل مرة يُشغَّل فيها. تطبيق باسم «تسجيل دخول البنك» يشير CrAppModeShortcutURL الخاص به إلى مكان آخر غير نطاق بنكك الحقيقي قد فضح نفسه.

  1. اسرد كل تطبيق ويب مثبَّت: ls ~/Applications/*.localized/*/، مرة لكل متصفح مبني على Chromium تستخدمه (Chrome Apps.localized، وBrave Browser Apps.localized، وEdge Apps.localized، وما شابه).
  2. بالنسبة لأي شيء لا تتذكر تثبيته بوضوح، أو يتعامل مع تسجيل دخول، تحقق من عنوان URL الحقيقي الخاص به: plutil -p "<path>/Contents/Info.plist" | grep -i CrAppMode.
  3. راقب المصدر الحقيقي الذي يعرضه Chromium بإيجاز عند فتح التطبيق، واقرأه، بدلًا من واجهة التطبيق المرسومة بنفسه.

لماذا هذه مشكلة شبكية، لا مشكلة واجهة فقط

مهما بدت النافذة، لا تزال صفحة جمع بيانات الاعتماد بحاجة إلى إرسال ما جمعته إلى مكان ما، عبر الشبكة، من عملية تعمل على جهاز الـ Mac الخاص بك. جدار حماية يسأل فقط «هل الملف التنفيذي لهذا التطبيق موقّع وموثوق» لا يمكنه المساعدة هنا: يعمل تطبيق ويب تقدمي مثبَّت داخل الملف التنفيذي الموقّع والموثوق الخاص بالمتصفح نفسه. ما يمكن أن يساعد هو مراقبة الاتصال نفسه: أي عملية تجريه، وإلى أين يذهب فعليًا، بمعزل عمّا تدّعيه النافذة على الشاشة أنها عليه.

دور FireAI وHisnLabs

Whatever a fake login screen looks like, it still has to send the password it captured somewhere; FireAI shows you exactly which process is trying to phone home and to what destination, installed web app or not, and lets you say no before anything leaves your Mac.

FireAI هو منتج HisnLabs نفسها: جدار حماية بذكاء اصطناعي يعمل على جهاز Mac مباشرة. يعرض بلغة واضحة كل اتصال تجريه تطبيقاتك، ويترك لك القرار فيما يخرج من جهازك — ذكاؤه الاصطناعي يعمل محليًا، فلا يُرسَل ترافيكك إلينا ولا إلى أي جهة أخرى أبدًا. فريق أبحاث الأمن في HisnLabs هو من يحافظ على دقة هذه القرارات: يصنّف النطاقات بين قياس عن بُعد عادي وخدمة حقيقية، ويتتبّع بلد وشبكة كل اتصال، ويدرّب النموذج المحلي (ميزة Autopilot) على حركة اتصال حقيقية، دون أن يغادر أي شيء جهاز Mac.

يمكنك الاطلاع على القرارات التقنية وراء ذلك، أو تجربة FireAI لمدة 17 يومًا، على FireAI من HisnLabs.

المصادر