DEFCON 17. اختراق 400،000 كلمة مرور ، أو كيفية شرح لزميل في الغرفة سبب زيادة فاتورة الكهرباء. الجزء الأولإذا لم تتبع أي قواعد لإنشاء كلمات المرور ، فقد تبدو كلمة المرور مثل قائمة
PHP بسيطة. الناس يكرهون القواعد والعبارات التي يكرهونها ولا يريدون استخدامها. إذا منحتهم الحرية ، فسيقومون بطباعة أي كلمة مرور تافهة وسيفترضون أن المهمة قد تمت. في هذه الحالة ، من الآمن استخدام الكلمات الأساسية البسيطة ، لذا من الأفضل استخدام قواميس إدخال كبيرة.

أعظم إسهام في إنشاء قواميس الإدخال قدمه سيباستيان رافو - أنشأ قوائم ضخمة من الكلمات من كل مقالة في ويكيبيديا ، وكذلك من مشاريع مماثلة. إذا كنت تعرف كلمة ، فأنت تنشئ مقالة ويكيبيديا لها. لكن ما هو جيد في ويكيبيديا ليس دائمًا جيدًا لإنشاء كلمات مرور آمنة ، لذلك إذا كان القاموس ضخمًا حقًا ، فمن المستحيل تطبيق العديد من القواعد المختلفة عليه. يمكنك قراءة قائمة الكلمات من ويكيبيديا على مدونته
http://blog.sebastien.raveau.name/ .
إذا كانت هناك سياسة لإنشاء كلمة المرور ، فيجب أن تسترشد بالقواعد التالية:
من الأفضل استخدام قوائم كلمات موضوعية صغيرة ومتخصصة في القواميس ،
تعتمد أفضل القواميس على كلمات المرور التي تم اختراقها مسبقًا.
لأسباب تتعلق بالخصوصية ، لا يمكنني تزويدك بقائمة بكلمات المرور المخترقة ، ولكن صدقوني ، تمامًا مع ازدياد ثراء الشخص الغني ، تصبح كلمة المرور المخترقة أقوى إذا رأيت مكان حدوث الخطأ عند إنشائه وتصحيحه.
هناك قوائم بكلمات المرور هذه ، ويمكننا أن نرى أن نفس المستخدمين يتكررون في هذه القوائم لأنهم استخدموا نفس كلمة المرور في كل مكان.
سيكون من المفيد إذا استطعت استخراج الأساس من كلمات المرور هذه. على سبيل المثال ، لا ينبغي أن تكون كلمة مرور
TigerWoods1982 منتشرة على نطاق واسع ، ولكن الناس يستخدمون كلمة مرور
TigerWoods باستمرار. لذلك ، يمكنك استخراج هذه العبارة الأساسية
"TigerWoods" لإنشاء كلمة مرور
قوية بناءً على ذلك. هناك بعض الأدوات على القرص المضغوط الخاص بي والتي ستساعدك على تسهيل ذلك.
قواعد إنشاء الكلمات لكلمات المرور بسيطة للغاية:
ومع ذلك ، ستحتاج إلى تطوير قواعدك الخاصة إذا كنت ترغب في كسر كلمات المرور القوية حقًا. توجد على
القرص المضغوط الخاص بي أداة أخرى تسمح لك بتحليل كلمات المرور إلى مجموعتين مختلفتين.
الأول هو كلمات المرور ، التي نعرف كيف تم إنشاؤها ، على سبيل المثال ،
password123 ، والثانية هي كلمات المرور ، التي لا نعرف مبدأها. هذا جيد جدًا ، لأنك لست بحاجة إلى فرز 200 ألف كلمة مرور مثل
password123 ثم محاولة وضع قواعد جديدة لاستخدامها. ستتلقى قائمة قصيرة يمكنك أن ترى منها ، على سبيل المثال ، أن الأشخاص يستخدمون الرموز التعبيرية لإنشاء كلمات مرور عن طريق إدراج الرموز في الكلمات. سوف تتعلم تركيبات مفاتيح جديدة وهذا سيساعدك على إنشاء كلمات مرور قوية أسهل بكثير.
كما قلت ، قررت الابتعاد عن قواعد
JtR المضمنة وطورت طريقتها الخاصة في توليد "التخمينات". تأتي النتائج الجيدة من طريقة
التكسير الاحتمالي ،
التكسير الاحتمالي . لقد قلت بالفعل أن ردود أفعالنا عالمية: نحن نمر بشيء بأعيننا ، نود أن نقول أنه يبدو رائعًا ، لكننا نفكر لأنفسنا: "أي نوع من القمامة الأكاديمية!" ولكن أريد أن أقول إننا أردنا حقًا معرفة كيفية إنشاء أكثر كلمات المرور مقاومة للتشقق ، لذا حاولنا القيام بكل شيء بأفضل طريقة.
من المعروف أن بعض الكلمات يحبها الناس أكثر من الآخرين ، على سبيل المثال ،
كلمة المرور ،
القرد ،
كرة القدم . من المعروف أيضًا أن الأشخاص يفضلون قواعد معينة لـ "تشويه" كلمات المرور عن طريق إضافة 123 أو 007 أو $$$ أو الأحرف الأولى من الكلمات. من أجل زيادة القوة ، يجب علينا تحسين القواعد لإنشاء كلمات المرور بطريقة غير نمطية. هذه عملية مستهلكة للوقت. من النشرة الإخبارية بالبريد الإلكتروني
John the Ripper ، اكتشفت الشخص الذي أنشأ 10 أو 12 ألف
ملف تهيئة قاعدة
JtR ، محاولًا تحقيق أقصى استفادة منه.

أنا أكثر كسلًا منه ، لذلك لم أفعل ذلك. لقد حاولت للتو أن تجعل من السهل تحسين عملية إنشاء كلمة المرور وأتمتة العملية. نعالج جميع المعلومات ونحدد احتمالية استخدام كلمات وتركيبات معينة ، أي أننا نرتب كلمات المرور حسب احتمال التخمين. ثم نستخدم أقل مجموعة ممكنة من الكلمات و "التشوهات" لإنشاء كلمة مرور. إذن هذا ما يجب أن نحاول جعل كلمات المرور الخاصة بنا أقوى:
- استخدم كلمة شائعة بطريقة غير شائعة لتشويه كلمة المرور ، على سبيل المثال 13! password13!؛
- استخدم كلمة نادرة مع "تشويه" شائع ، على سبيل المثال ، zibra123.
بهذه الطريقة نجحنا. إذا لم تتمكن من تقسيم كلمات المرور إلى مجموعتين وفقًا للإشارات المذكورة أعلاه ، فلدينا برنامج مدرب يقوم تلقائيًا بتحليل قائمة كلمات المرور المعروفة ويولد ما نسميه "قواعد اللغة". يحتوي هذا "القواعد النحوية" على جميع المعلومات الضرورية ، لذلك نستخدم "القواعد النحوية" هذه للتحقق من احتمالات كسر كلمات المرور.
بفضل هذا ، نحدد احتمالية استخدام كل ما لدينا: كلمات في القواميس ، قواعد "تشويه" الكلمات في كلمات المرور ، خوارزميات لترتيب أحرف مثل "رقمين في نهاية كلمة المرور 12" ، على النقيض من ذلك يمكنك استخدام القاعدة "رقمين في نهاية كلمة المرور 21 "وما شابه ذلك.
يمكنني الاستمرار في الحديث عن هذا ، ولكن من الأفضل أن أريكم مثالًا جيدًا على كيفية عمل ذلك. لا أتوقع منك قراءة كل شيء على الشريحة ، لذا سأخبرك بما سأفعله. سأقوم بإطلاق برنامج تكسير كلمة المرور الاحتمالي و "إطعامه" قواميس إدخال مختلفة. في الواقع ، يدعم ما يصل إلى 10 قواميس ، ولكن من الأفضل عدم الجنون.

يحتوي قاموس إدخال واحد على كلمات المرور الأكثر شيوعًا ، لذلك هناك احتمال كبير للتخمين. يحتوي القاموس الثاني على أقل الكلمات شيوعًا ، وسيتم تبديل مفرق كلمة المرور بين القواميس. بعد ذلك ، قمت "بملح" النتيجة مباشرة في
John the Ripper ، لأنني ، كما قلت ، أريد إنشاء خوارزمية تجزئة كلمة المرور الخاصة بي.
لسوء الحظ ، لا يمكننا استخدام قائمة
PHP هنا ، مرة أخرى بسبب السرية ، لأنه لا يمكنك إظهار اختراق كلمة المرور للجميع ، فإن معهدنا لا يعتبر هذا قانونيًا. لذلك ، سأوضح عمل التكسير على سبيل المثال قائمة
MySpace ، التي تم الكشف عنها قبل عامين. تم تقديم جميع كلمات المرور فيه بنص عادي ، حتى تتمكن من قراءتها ، ولا تشكل هذه العملية خطرًا إضافيًا.
استخدمنا تجزئة
MD5 ، وهذا هو بالضبط نفس خوارزمية التجزئة المستخدمة لقائمة
phpbb ، لذلك هنا يحاكي إلى حد كبير هجومًا على
phpbb . تم تحميل حوالي 17000 تجزئة لكلمة مرور بدون "zest" هنا ، وقمنا فعليًا بتقسيم قوائمهم إلى عدة أجزاء مختلفة للتعلم الآلي النموذجي.
الآن على الشاشة ، يمكنك رؤية السرعة التي يتم بها تشفير كلمات المرور ، لذلك يجب عليك استخدام خوارزمية تجزئة أبطأ. هناك أيضًا مفتاح تبديل بين القواعد المختلفة ، لذا فهذه ليست مجرد محاولات مثل "جرب رقمًا واحدًا ، جرب رقمين" وما إلى ذلك.
ترى أن كلمات المرور ذات أحجام مختلفة ، وعادة ما يستخدم الأشخاص طولًا من 6 إلى 8 أحرف وأحيانًا توجد علامات تعجب في نهاية كلمة المرور.
هناك العديد من أنواع التحسين التي نحاول دمجها في هذه الخوارزمية ، لأن عملنا لا يزال مستمراً. أحد هذه الأشياء هو تضمين الهجمات المستهدفة في العملية ، عندما يحاول البرنامج كسر كلمة المرور الخاصة بمستخدم معين بدلاً من كسر بعض كلمات المرور القديمة الكبيرة.

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

بالتأكيد سمعت جميعًا عن هذا ، لذا حاول على سبيل المثال ، استخدام الحرف Q في كثير من الأحيان ، وهو أمر نادر في كلمات المرور. يجب ألا تحاول خوارزمية القرصنة اختراق جميع كلمات المرور ، فأنت بحاجة إلى التركيز على الكلمات الأكثر احتمالية.
خيار "أكثر تقدمًا" هو
نموذج ماركوف . يعتمد على الاحتمال الشرطي للحروف ، على سبيل المثال ، إذا كان لديك حرفان Q في صف واحد ، فأنت أكثر حماية من عندما يكون لديك U في مجموعة الحروف الخاصة بك ، لأن U عادة ما يتبع الحرف Q في الكلمات. ويفترض أيضًا أن كلمة المرور تم إنشاؤها في بطريقة "إنسانية" ، أي إذا كان هناك حرف معين موجود في هذا المكان من الكلمة ، فإنه يتبعه حرف آخر ، والذي غالبًا ما يستخدم في مثل هذه المجموعة من الأحرف. يتم استخدام نموذج ماركوف من قبل
خوارزمية اختراق
JtR ، والتي تأخذ في الاعتبار أن الحرف Q في "الكلمات البشرية" يتبعه عادةً U أو W ، ولكن ليس S أو Z. لا أعتقد أنني أواجه صعوبة في الحصول على "John the Ripper" هنا ، ولكن برنامج جيد حقا.
يمكننا زيادة تعميق منطق
القوة الغاشمة باستخدام الهجمات المستهدفة. وهي تستند إلى استخدام مبادئ إنشاء كلمات المرور هذه:
- يميل الناس إلى بدء كلمة المرور بحرف كبير ؛
- عادة ما يضيفون أرقامًا في نهاية كلمة المرور ؛
- وللسبب نفسه ، يفضلون استخدام تركيبات php أو phpbb في كلمات المرور.
يمكن استخدام نفس المبادئ لـ "هجمات القاموس". هناك أداة جيدة للغاية للتحقق من فعالية الهجمات تسمى
"Crunch" ، يمكن العثور عليها في
منتدى المبرمجين عن بعد
exploit.com .
أريد أن أعطيك مثالاً على كسر كلمة مرور "قوية" باستخدام هجوم
Brute Force . للقيام بذلك ، أقوم أولاً بتشغيل
JtR ويبدأ في إنشاء "التخمينات" بناءً على الأحرف الصغيرة باستخدام نموذج ماركوف.

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

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

في بداية العرض التقديمي ، تحدثت بالتفصيل عن كسر قائمة كلمات المرور لمستخدمي
phpbb.com ، والآن أريد التحدث قليلاً عن كسر قائمة
Web Hosting Talk .

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

بعد ذلك ، أفاد أصحاب الموقع أنهم تم اختراقهم ، ولكن لا داعي للقلق المستخدمين ، لأنهم الآن آمنون. في الوقت نفسه ، عبّروا عن فكرة واحدة ، كانت في الواقع
خداعًا وخطيرًا ، أقتبس كلمات منسق مجتمع
iNET : "كلمات المرور لها"
الحماسة ، وسيكون حدثًا غير مسبوق إذا تمكن شخص ما من إعادة تصميمها. أقوم بتغيير كلمة المرور الخاصة بي بشكل دوري ، لذلك ربما يكون اليوم يومًا مناسبًا لذلك ".
يبدو أنني أقول: "مرحبًا يا رفاق ، كما تعلمون ، غرفة النسخ قيد التشغيل ، ولكن لا تقلق ، هناك نظام إطفاء حريق هناك ، لذلك من المستحيل على الإطلاق أن يحترق هذا المبنى على الأرض." ولكن في بعض الأحيان أحب الخروج في وقت الغداء ، لذا يمكنك أيضًا المشي بالخارج إذا أردت ". هذا أحد الأسباب التي جعلتني قررت اختراق هذه القائمة هنا.
علاوة على ذلك ، نشر المنسق البيان التالي: "لم يتم اختراق بطاقة ائتمان لمستخدم واحد أو حساب
PayPay ". ربما فقط لأن الهاكر لم يكن بحاجة إلى ذلك. ثم حدث فشل جديد - تم اختراق نفس الموقع مرة أخرى بواسطة نفس المخترق في 7 أبريل ، وهذه المرة نشر على الشبكة حوالي 202 ألف تجزئة لكلمة المرور و 2218 رقم بطاقة ائتمان.
لن أذهب أبدًا إلى الموقع ، الذي تقول إدارته: "نعم ، لقد سرق منا ألفي بطاقة ائتمان ، لكن البقية آمنة"!
أريد أن أوضح الموقف قليلاً. اختراق الأشخاص حقيقة ، ولا أريد أن ألوم
Web Hosting Talk على ذلك . إن محاولة حفظ شيء ما وسحبه من نظامك فور اختراقه يمثل مشكلة صعبة ، خاصةً إذا طالبك المستخدمون بشكل متكرر بعمل نسخة احتياطية من النظام. لذلك ، أعتقد أن المشكلة الرئيسية مع
Web Hosting Talk هي أنها قللت من أهمية المخاطر التي يواجهها المستخدمون. والتصرف من جانبهم كان خطيرا للغاية.
لأنك ، على الأقل ، يجب أن تزود المستخدمين بشيء مثل ساعة موقوتة تشير إلى الحاجة إلى تسجيل الدخول وتغيير كلمة المرور الخاصة بك ، وليس فقط لهذا الموقع ، ولكن لجميع المواقع الأخرى ، في أسرع وقت ممكن. هذا مهم جدًا ، لأنني اكتشفت قريبًا حقيقة مثيرة للاهتمام حول هذا الموقع: بعد الهجوم الأول ، قام 1348 مستخدمًا بتغيير كلمات المرور الخاصة بهم ، والتي بلغت 0.6٪ فقط من إجمالي العدد المسجل على الموقع!
هذا هو السبب في أن القراصنة لديهم فرصة كبيرة للعودة واختراق الموقع مرة أخرى باستخدام نفس بيانات اعتماد المستخدم التي لم تتغير ، أو حتى استخدامها لاختراق مواقع أخرى حيث تم تسجيلهم أيضًا.
كنت أرغب في معرفة ما إذا كانت تجزئة هذا الموقع ضعيفة جدًا حقًا ، وتوجهت إلى
Google لمعرفة البرامج التي يستخدمها الموقع. اتضح أن هذا هو محرك منتدى
vBulletin ، مكتوب
بلغة PHP واستخدام خادم
MySQL للحفاظ على قاعدة بياناته. أجاب Google أيضًا على سؤال عن خوارزمية التجزئة التي يستخدمها هذا الموقع - وهذا هو التجزئة المزدوجة مثل
MD5 (MD5 (Password) .salt) . أي أنك تأخذ كلمة مرور المستخدم وتجزئتها باستخدام
MD5 وتجزئ مرة أخرى تجزئة كلمة المرور المستلمة باستخدام نفس
MD5 . لم أكن أعرف كيف سيتعامل "John the Ripper" مع هذا التجزئة ، لذا كتبت "Cracker" الخاص بي. لكنني لم أحاول كسر كلمات المرور الحقيقية لهذا الموقع ، نظرًا لأن الأمر سيستغرق عدة أسابيع ، فقد قررت فقط اختبار وجود كلمة المرور "كلمة المرور" في القائمة واخترقت على الفور 1109 أشخاص استخدموا كلمة "كلمة المرور" ككلمة مرور.

أريد أن أقول إن "تمييز" كلمة المرور يصبح مشكلة للمهاجم وبالتالي فهو مهم للمستخدم. أستمر في "الإعلان عن" كلمات المرور باستخدام "zest" مختلف لأنه بالنسبة إلى أداة التكسير وهذا يعني الاضطرار إلى "تخمين" تجزئة كل كلمة مرور لكل مستخدم على حدة. إذا أخذنا موقع
phpbb ، على سبيل المثال ، حيث تم استخدام تجزئة
MD5 ذات الخطوة الواحدة ، فقد أمضى المخترق حوالي ساعة واحدة في كسر قائمة كلمات المرور. بالنسبة لمثل هذا الهجوم على قائمة كلمات مرور
Web Hosting Talk ، إذا كانت محمية بواسطة "zest" ، فسيستغرق 200 ألف ساعة.
ماذا يجب أن يقال؟ , «Dell» 34% 200
phpbb . , «». , , ? , .
, «» , - , , , «». , , 200 , . , «admin» «webmaster».
, , . , , «», , .
, weir@cs.fsu.edu
- , .
: , «It's fun to try the impossible»! : «!!It's fun to try the impossible!» «!!ifttti!».
,
Mad Libs , .
: ASCII, :

شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ،
خصم 30 ٪ لمستخدمي Habr على نظير فريد من خوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا وحتى 40 جيجابايت DDR4).
VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps حتى ديسمبر مجانًا عند الدفع لمدة ستة أشهر ، يمكنك الطلب
هنا .
ديل R730xd أرخص مرتين؟ فقط لدينا
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV من 249 دولارًا في هولندا والولايات المتحدة! اقرأ عن
كيفية بناء مبنى البنية التحتية الطبقة باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟