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

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

الاستهداف عن بعد وكسر كلمة المرور

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

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

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

ولسوء الحظ فإن كشف قاعدة بيانات كلمات المرور أمر شائع الحدوث ويقع كثيرًا لذلك هناك خدمات مثل مراقب فايرفوكس Firefox Monitor وكذلك Have I been pwned? والخاص بإعلام المستخدمين عندما تتعرض خدمة لديهم حساب عليها للاستهداف.

وعلى افتراض أن موقعًا من المواقع يتبع أساسًا أفضل الممارسات (كلمات مرور طويلة، خوارزميات تجزئة كلمات مرور بطيئة، اعتماد مدخلات عشوائية إضافية، وما إلى ذلك)، تتمثل الخطوة التالية عندئذٍ في تصعيب سرقة تجزئة كلمة المرور أو في جعل تجزئة كلمة المرور أقل فائدة. ومن الأمثلة الجيدة على ذلك نظام فيسبوك الذي يصفه أليك موفيت في هذا الحديث (والمعروف بسبب برنامج كراك لتكسير كلمات المرور، من بين أمور أخرى عمل عليها). ويستخدم النظام طبقات متعددة من التجزئة، وإحدى هذه الطبقات هي تجزئة مقفولة [فنياً، HMAC-SHA256] منفذة على آلة مستقلة ومقوية. وحتى لو استهدفت قاعدة بيانات تجزئات كلمات المرور، فذلك ليس مفيدًا دون المفتاح، مما يعني أنك ستضطر لاستهداف تلك الآلة أيضاً.2

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

التصيد

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

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


 

ما وراء كلمات المرور

من المطمئن أننا لدينا الآن معايير وتقنيات أفضل من كلمات المرور البسيطة وأكثر مقاومة لهذه الأنواع من الهجمات. سأتحدث عنها في مقالتي القادمة.

 


 

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

2 نظام الفيسبوك منمق فعلياً إلى حد ما. فعلى الأقل منذ عام 2014 أصبحت لديه أربع طبقات منفصلة: MD5، HMAC-SHA1 (مع مدخلات عشوائية إضافية عامة)، HMAC-SHA256 (مع مفتاح سري)، Scrypt، ومن ثم HMAC-SHA256 (مع مدخلات عشوائية إضافية عامة) مرة أخرى. ويبلي حديث موفيت وهذا المنشور بلاء حسناً في تقديم التفاصيل ولكن هذا التصميم ناتج عن توليفة من المتطلبات الفنية. ويعود سبب مرحلة MD5 بشكل خاص إلى أن النظام الأقدم كانت لديه كلمات مرور من مرحلة MD5 ولأن فيسبوك لا يعرف كلمة المرور الأصلية، فهو يحولها إلى خوارزمية أخرى، والأمر الأسهل أن يتم وضع طبقة أخرى من التجزئة فحسب.

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

 

تمت إعادة نشر هذا المقال من موقع https://blog.mozilla.org وفقاً لرخصة المشاع الإبداعي - Creative Commons، للإطلاع على المقال الأصلي.