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

لماذا تقارن المجموع
الملف عند صاحبهSHA-256: a3f9…
الملف عندكSHA-256: a3f9… نفسه
الملف عندكSHA-256: 71c0… آخر
الاسم والحجمقد يتطابقان
المجموعلا يمكن أن يتطابق صدفة

ما البصمة، بأبسط صورة

خذ أي ملف، ولو بحجم غيغابايت، ومرّره عبر معادلة. يخرج دائماً 64 حرفاً، وهي الأحرف الـ64 نفسها للملف نفسه دائماً. غيّر بايتاً واحداً في الملف فتتغيّر الأحرف الـ64 كلها بلا أي صلة بالقديمة. لا تستطيع استعادة الملف من هذه الأحرف، لكنك تستطيع مقارنة ملفين بها في ثانية دون مقارنة الملفين نفسيهما.

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

من أين يأتي التبديل

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

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

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

كيف تحسب المجموع

افتح المجموع الاختباري للملف واسحب الملف إليه. يُحسب SHA-256 (خوارزمية البصمة القياسية، 64 حرفاً)، وبجانبه SHA-1 وSHA-512 وMD5 بنقرة إن كان صاحب الملف قد نشرها. الملف لا يُرفع إلى أي مكان: يُقرأ في ذاكرة التبويب، ولا تحدث أثناء ذلك طلبات شبكة، وهو ما تستطيع التأكد منه في تبويب «الشبكة» بأدوات المطوّر.

إن كان معك مجموع مرجعي، فالصقه في الحقل المجاور: تقول الصفحة بنفسها «متطابق» أو «غير متطابق»، فلا تقارن 64 حرفاً بعينك.

وبلا متصفح أيضاً، إن كنت على حاسوب:

Windows:  certutil -hashfile file SHA256
macOS:    shasum -a 256 file
Linux:    sha256sum file

النتيجة واحدة على أي نظام. هذا كل المعنى: المجموع يعتمد على المحتوى، لا على من حسبه ولا بماذا.

من أين تأخذ المرجع

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

الصحيح هكذا: الملف من أي مكان، والمجموع من الموقع الرسمي لصاحبه. نحن ننشر بجانب كل تنزيل عندنا ملفاً بامتداد .sha256: ‏404vpn.apk.sha256 و404vpn-macos.dmg.sha256 وtunnel.apk.sha256. فيه المرجع. حمّلت التطبيق من أي مرآة، أخذت المجموع من صفحة التنزيل، قارنت.

من أين المجموع
الملف والمجموع من مرآةلا قيمة له
الملف من مرآة والمجموع من صاحبهفحص حقيقي
الملف والمجموع من صاحبهفحص حقيقي
القاعدةإن لم يكن الملف من صاحبه، فليكن المجموع منه

المجموع لم يتطابق: ماذا يعني

أن هذا ليس الملف نفسه. الأسباب قد تكون بريئة أو لا، والتفريق بينها سهل.

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

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

قاعدة بسيطة: عدم التطابق ليس «انظر مرة أخرى بعينك»، بل «لا تشغّله حتى يتطابق».

ما الذي لا يفحصه المجموع

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

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

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

متى الفحص واجب
تطبيق بصلاحيات واسعةافحص
ملف من مرآة أو تورنتافحص
ملف من شخص غريبافحص
المجموع من غير مكان الملفهذا ما يعطي الفحص معناه

إن لم يتطابق المجموع ولم تستطع معرفة هل السبب بريء، أعطِ نموذج ذكاء اصطناعي المجموعين وقصة الملف.

نص جاهز للذكاء الاصطناعي
ساعدني أفهم لماذا لم يتطابق المجموع الاختباري
للملف.

الملف: (ما هو، من أين حُمّل).
المرجع مأخوذ: (من موقع صاحبه / من جانب الملف /
لا أعرف).
مجموعي: (الصق). المرجع: (الصق).
حمّلت مرة أخرى: (نعم، المجموع نفسه / لا).

قل لي هل يشبه هذا إصداراً آخر أو تنزيلاً ناقصاً،
أم تبديلاً، وماذا أفعل بعدها. لا تنصحني بتشغيل
الملف.

الخلاصة

  • الاسم والحجم يُزيَّفان، والمجموع لا.
  • اسحب الملف، خذ SHA-256، قارنه بالمرجع من موقع صاحب الملف.
  • تطابق: الملف هو نفسه. لم يتطابق: لا تشغّله.
  • الخطأ الأكبر: أخذ المرجع من المكان نفسه الذي جاء منه الملف المشبوه، فعندها لا يعني الفحص شيئاً.