كل ما تريد معرفته حول إعادة تعيين كلمات المرور بأمان. الجزء 1

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



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







تخزين كلمات المرور: التجزئة والتشفير و (أوه!) نص عادي



لا يمكننا مناقشة ما يجب فعله بكلمات المرور المنسية قبل أن نناقش كيفية تخزينها. في قاعدة البيانات ، يتم تخزين كلمات المرور في واحد من ثلاثة أنواع رئيسية:



  1. نص بسيط. يوجد عمود لكلمة المرور يتم تخزينه في نص عادي.
  2. . ( ), .
  3. . ( , ); , , , .


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



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



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



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



انتباه!



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


قم دائمًا بإعادة تعيين كلمة المرور الخاصة بك ، ولا تذكرها أبدًا



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



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



  1. — . , HTTP ( HTTPS), , . , , , , , , , . — .
  2. . — ( ), .


دعني أوضح مشكلة usoutdoor.com كمثال : هذه صفحة تسجيل دخول نموذجية:





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





لا يبدو أفضل بكثير ، لسوء الحظ ؛ والبريد الإلكتروني يؤكد المشكلة:





يخبرنا هذا عن جانبين مهمين من usoutdoor.com:



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


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



إدراج أسماء المستخدمين وتأثيرها على إخفاء الهوية



من الأفضل توضيح هذه المشكلة بصريًا. مشكلة:





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



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



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



ما البديل؟ في الواقع ، إنه بسيط للغاية ويتم تنفيذه جيدًا في Entropay :





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





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



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



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



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



إرسال إعادة تعيين كلمة المرور مقابل إرسال عنوان URL لإعادة التعيين



المفهوم التالي الذي نحتاج إلى مناقشته يتعلق بطريقة إعادة تعيين كلمة المرور. هناك حلان شائعان:



  1. إنشاء كلمة مرور جديدة على الخادم وإرسالها عبر البريد الإلكتروني
  2. أرسل بريدًا إلكترونيًا بعنوان URL فريد لتبسيط عملية إعادة الضبط


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



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



عندما نتحدث عن عنوان URL لإعادة التعيين ، فإننا نعني عنوان موقع ويب فريد لهذا المثال المعين لعملية إعادة التعيين . يجب أن يكون عشوائيًا بالطبع ، ولا ينبغي أن يكون من السهل تخمينه ، ولا يجب أن يحتوي على أي روابط حسابات خارجية لتسهيل إعادة التعيين. على سبيل المثال ، يجب ألا يكون عنوان URL لإعادة التعيين مجرد مسار مثل "إعادة تعيين / اسم المستخدم = JohnSmith".



نريد إنشاء رمز مميز فريد يمكن إرساله عبر البريد الإلكتروني كعنوان URL لإعادة التعيين ، ثم التحقق من سجل الخادم مقابل حساب المستخدم ، وبالتالي تأكيد أن مالك الحساب هو بالفعل نفس الشخص الذي يحاول إعادة تعيين كلمة المرور. ... على سبيل المثال ، يمكن أن يكون الرمز المميز بالشكل "3ce7854015cd38c862cb9e14a1ae552b" ويتم تخزينه في الجدول مع معرف المستخدم للمستخدم الذي تمت إعادة تعيينه والوقت الذي تم فيه إنشاء الرمز المميز (المزيد حول هذا أدناه). عند إرسال بريد إلكتروني ، فإنه يحتوي على عنوان URL مثل "Reset /؟ Id = 3ce7854015cd38c862cb9e14a1ae552b" ، وعندما يقوم المستخدم بتحميله ، تطلب الصفحة وجود الرمز المميز ، وبعد ذلك تؤكد معلومات المستخدم وتسمح بتغيير كلمة المرور.



بالطبع ، نظرًا لأن العملية المذكورة أعلاه (نأمل) تسمح للمستخدم بإنشاء كلمة مرور جديدة ، تأكد من تحميل عنوان URL عبر HTTPS. لا ، لا يكفي إرسالها مع طلب POST عبر HTTPS ، يجب أن يستخدم عنوان URL هذا مع الرمز المميز أمان طبقة النقل بحيث يكون من المستحيل تنفيذ هجوم MITM على نموذج كلمة المرور الجديدة ويتم نقل كلمة المرور التي أنشأها المستخدم عبر اتصال آمن.



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



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



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



دور CAPTCHA



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



بالطبع ، اختبار CAPTCHA نفسه ليس مثاليًا ؛ هناك العديد من السوابق في "قرصنة" برمجياتها وتحقيق نسب نجاح كافية (60-70٪). بالإضافة إلى ذلك ، هناك حل معروض في رسالتي حول اختراق الكابتشا مع الأشخاص الآليين ، حيث يمكنك دفع جزء من سنت واحد لحل كل اختبار CAPTCHA والحصول على نسبة نجاح تصل إلى 94٪. أي أنها معرضة للخطر ، لكنها (قليلاً) ترفع الحاجز أمام الدخول.



دعنا نلقي نظرة على مثال PayPal:





في هذه الحالة ، لا يمكن أن تبدأ عملية إعادة الضبط قبل حل اختبار CAPTCHA ، لذلك من الناحية النظرية ، من المستحيل أتمتة العملية. نظريا.



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



أسئلة وأجوبة سرية



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



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



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



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



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



حصل Hacker David Kernell على إمكانية الوصول إلى حساب Palin من خلال العثور على معلومات أساسية لها ، مثل جامعتها وتاريخ ميلادها ، ثم استخدام ميزة استرداد كلمة مرور حساب Yahoo!.


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



العودة إلى الأسئلة السرية - هناك خيار لمنح المستخدم القدرة على إنشاء أسئلتهم الخاصة. المشكلة هي أن النتيجة ستكون أسئلة واضحة بشكل رهيب:



ما لون السماء؟



الأسئلة التي تضع الأشخاص في موقف حرج عندما يستخدم الشخص سؤال الأمان لتحديد هويته(مثل مركز الاتصال): مع



من كنت أنام في عيد الميلاد؟



أو بصراحة أسئلة غبية:



كيف تتهجى كلمة المرور؟



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



ما الذي يجب أن يكون سؤال أمان جيد؟ هذا يتأثر بعدة عوامل:



  1. يجب أن يكون قصيرًا - يجب أن يكون السؤال واضحًا ولا لبس فيه.
  2. يجب أن تكون الإجابة محددة - لا نحتاج إلى سؤال يمكن لشخص واحد الإجابة عليه بطرق مختلفة
  3. يجب أن تكون الإجابات الممكنة متنوعة - السؤال عن اللون المفضل لشخص ما يعطي مجموعة فرعية صغيرة جدًا من الإجابات المحتملة
  4. ( , ),
  5. — - ,


كما يحدث ، هناك موقع أسئلة جيد يسمى GoodSecurityQuestions.com . بعض الأسئلة تبدو جيدة ، والبعض الآخر لا يجتاز بعض الاختبارات المذكورة أعلاه ، ولا سيما اختبار "سهولة البحث".



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





نتيجة لذلك ، يتلقى المستخدم الحرف التالي:





هذا أمر طبيعي حتى الآن ، ولكن إليك ما يكمن وراء عنوان URL لإعادة الضبط:





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





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





يعد PayPal مثالًا مثاليًا على إعادة تعيين كلمة المرور بشكل آمن: فهو ينفذ اختبار CAPTCHA لتقليل مخاطر القوة الغاشمة ، ويتطلب سؤالين سريين ، ثم يتطلب نوعًا آخر من تحديد مختلف تمامًا فقط لتغيير الإجابات - وهذا بعد تسجيل دخول المستخدم بالفعل. هذا بالطبع ما نتوقعه من PayPal ؛ هي مؤسسة مالية تتعامل بمبالغ كبيرة من المال. هذا لا يعني أن كل إعادة تعيين لكلمة المرور يجب أن تتبع هذه الخطوات - في معظم الحالات يكون الأمر مبالغة - ولكنه مثال جيد عندما يكون الأمان عملاً جادًا.



الراحة في نظام الأسئلة السرية هي أنه إذا لم تقم بتنفيذه على الفور ، فيمكن إضافته لاحقًا إذا كان مستوى حماية الموارد يتطلب ذلك. وخير مثال على ذلك شركة Apple التي نفذت هذه الآلية مؤخرًا فقط [مكتوبة في عام 2012] . بمجرد أن بدأت في تحديث التطبيق على iPad ، رأيت الطلب التالي:





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





بالنسبة إلى PayPal ، فإن الأسئلة محددة مسبقًا وبعضها جيد بالفعل:





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



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



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



[يتبع.]






إعلان



تقدم VDSina خوادم موثوقة مع الدفع اليومي ، كل خادم متصل بقناة إنترنت تبلغ 500 ميجابت ومحمي من هجمات DDoS مجانًا!






All Articles