أكاديميا.security.krd

← الأسس الأمنية

فشل الهوية، سبب أغلب الاختراقات

19 دقيقة
تُرجم آلياً، ولم يراجعه إنسان.

معظم عمليات الاختراق لا تبدأ بثغرة ذكية. تبدأ بشخص يسجّل الدخول.

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

ثلاثة أشياء يستطيع النظام التحقق منها

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

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

سبب أهمية مشكلة إعادة استخدام كلمات المرور هو حسابي بحت، لا أخلاقي. الشخص العادي لديه ربما مئتا حساب وربما أربع كلمات مرور فقط. وعندما يُخترق أحد هذه الحسابات — وسيُخترق واحد منها حتمًا — لا يحصل المهاجم على حساب واحد فقط. يحصل على قائمة كاملة، ويعيد استخدامها في كل مكان. يسمى هذا "حشو بيانات الاعتماد" (credential stuffing)، وينجح لأن الحساب في صالح المهاجم.

كيف تبدو عملية الحشو

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

A night of sign-ins. Count by result first, then by account. The shape of a stuffing run is in the first; which account it reached is in neither, and that is the point — you have to read a line.

02:12:17 a.hassan   failed  198.51.100.23
02:13:50 d.ibrahim  failed  198.51.100.23
02:15:36 h.qadir    failed  198.51.100.23
02:16:52 j.salih    failed  198.51.100.23
02:18:20 k.aziz     failed  198.51.100.23
02:18:58 m.taha     failed  198.51.100.23
02:19:36 n.barzan   failed  198.51.100.23
02:20:00 r.othman   failed  198.51.100.23
02:21:49 s.rashid   failed  198.51.100.23
02:23:20 z.karim    failed  198.51.100.23
02:23:48 a.hassan   failed  198.51.100.23
02:24:13 d.ibrahim  failed  198.51.100.23
02:24:42 h.qadir    failed  198.51.100.23
02:25:17 j.salih    failed  198.51.100.23
02:26:04 k.aziz     failed  198.51.100.23
02:27:35 m.taha     failed  198.51.100.23
02:28:28 n.barzan   failed  198.51.100.23
02:28:52 r.othman   failed  198.51.100.23
02:30:39 s.rashid   failed  198.51.100.23
02:31:57 z.karim    failed  198.51.100.23
02:33:33 a.hassan   failed  198.51.100.23
02:34:47 d.ibrahim  failed  198.51.100.23
02:35:21 h.qadir    failed  198.51.100.23
02:36:22 j.salih    failed  198.51.100.23
02:38:08 k.aziz     failed  198.51.100.23
02:39:25 m.taha     failed  198.51.100.23
02:40:19 n.barzan   failed  198.51.100.23
02:41:12 r.othman   failed  198.51.100.23
02:41:42 s.rashid   failed  198.51.100.23
02:42:51 z.karim    failed  198.51.100.23
02:43:26 a.hassan   failed  198.51.100.23
02:45:10 d.ibrahim  failed  198.51.100.23
02:45:36 h.qadir    failed  198.51.100.23
02:46:46 j.salih    failed  198.51.100.23
02:47:56 k.aziz     failed  198.51.100.23
02:49:09 m.taha     failed  198.51.100.23
02:50:02 n.barzan   failed  198.51.100.23
02:51:39 r.othman   failed  198.51.100.23
02:52:59 s.rashid   failed  198.51.100.23
02:54:31 z.karim    failed  198.51.100.23
02:56:13 a.hassan   failed  198.51.100.23
02:56:43 d.ibrahim  failed  198.51.100.23
02:57:13 h.qadir    failed  198.51.100.23
02:58:16 j.salih    failed  198.51.100.23
02:58:38 k.aziz     failed  198.51.100.23
02:59:25 m.taha     failed  198.51.100.23
03:00:42 n.barzan   failed  198.51.100.23
03:01:30 r.othman   failed  198.51.100.23
03:03:04 s.rashid   failed  198.51.100.23
03:04:36 z.karim    failed  198.51.100.23
03:05:48 a.hassan   failed  198.51.100.23
03:06:15 d.ibrahim  failed  198.51.100.23
03:07:09 h.qadir    failed  198.51.100.23
03:08:54 j.salih    failed  198.51.100.23
03:09:17 k.aziz     failed  198.51.100.23
03:11:02 m.taha     failed  198.51.100.23
03:12:44 n.barzan   failed  198.51.100.23
03:13:43 r.othman   failed  198.51.100.23
03:14:47 m.taha     ok      198.51.100.23
09:02:14 s.rashid   ok      10.4.1.56
09:07:41 a.hassan   ok      10.4.1.22

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

بعد الباب

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

مقتبس من: Written for this course. The pattern is general to credential stuffing; no telemetry from any named institution is used or implied. · CC BY-SA 4.0

اختبر نفسك

3

تسجيل الدخول لتُصحَّح إجاباتك ويُحفظ تقدّمك.

1

ما سبب نجاح هجمات حشو بيانات الاعتماد (Credential Stuffing) بشكل رئيسي؟

لم يُترجم بعد — تُعرض النسخة الإنجليزية

2

لماذا لا تكون هذه نهاية المشكلة رغم أن مؤسستكم تفعّل المصادقة المتعددة العوامل (MFA) على كل حساب؟

لم يُترجم بعد — تُعرض النسخة الإنجليزية

3

في سجل الدخول أعلاه، تم الوصول إلى حساب واحد من العنوان الخارجي. ما هو؟