هجمات القاموس وجداول Rainbow
تعرّف على كيفية تمكين جداول التجزئة المحسوبة مسبقًا من كسر كلمات المرور بسرعة، وكيف يمنع استخدام salt ذلك
هجمات القاموس وجداول Rainbow درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
هجمات القاموس: الكسر المستند إلى قوائم الكلمات
لا تختبر هجمة القاموس كل تركيبة ممكنة، بل تختبر قائمة منسقة من كلمات المرور المحتملة. يختار المستخدمون الحقيقيون كلمات المرور من مفردات محدودة، مثل الكلمات الشائعة والأسماء والتواريخ والعبارات. ويُعد اختبار قائمة كلمات تضم مليون كلمة مرور محتملة أسرع بكثير من اختبار جميع السلاسل النصية المكونة من 8 محارف، والتي تضم 200 تريليون تركيبة. تنجح هجمات القاموس لأن اختيارات البشر لكلمات المرور يمكن التنبؤ بها.
rockyou.txt: مجموعة بيانات كلمات المرور المسربة
في عام 2009، تعرض موقع التواصل الاجتماعي RockYou لاختراق أدى إلى كشف 32 مليون كلمة مرور للمستخدمين بنص صريح. وتحتوي القائمة الناتجة، التي تُعرف الآن باسم rockyou.txt، على نحو 14 مليون كلمة مرور فريدة، وهي قائمة الكلمات القياسية الأولى المستخدمة في كسر كلمات المرور. ويكشف فحص rockyou.txt أن كلمات المرور الأكثر شيوعًا هي 123456 وpassword، إضافة إلى صيغ من الأسماء الأولى متبوعة بأرقام.
الهجمات الهجينة: الجمع بين القاموس والقواعد
توسّع الهجمة الهجينة قائمة الكلمات الأساسية بتطبيق قواعد تحويل. فكلمة مثل password تصبح Password وP@ssword وp4ssword وpassword1 وpassword123 ومئات الصيغ الأخرى. يتيح محرك القواعد في Hashcat تحديد التحويلات المطلوب تطبيقها بدقة، مثل تكبير الحرف الأول، وإلحاق رقمين، واستبدال الأحرف برموز. ويوسع ذلك نطاق التغطية بدرجة كبيرة من دون اختبار سلاسل عشوائية فعلًا.
الهجمات المستندة إلى القواعد وLeet Speak
كان يُعتقد سابقًا أن استبدالات Leet Speak، أي استبدال الأحرف بأرقام: e=3 وa=4 وi=1 وo=0 وs=5، تحسن أمان كلمات المرور. وتضم أدوات الكسر المستندة إلى القواعد هذه الاستبدالات ضمن التحويلات القياسية. ويمكن كسر كلمة مرور مثل s3cur1ty بسهولة انطلاقًا من الكلمة الأساسية security مع تطبيق قاعدة استبدال Leet. كما يجرّب القائمون على الكسر أنماطًا شائعة، مثل إلحاق ! أو 123 أو العام الحالي بأي كلمة في القاموس.
جداول Rainbow: سلاسل التجزئة المحسوبة مسبقًا
جدول Rainbow هو قاعدة بيانات كبيرة مُعدة مسبقًا تربط قيم التجزئة بكلمات المرور الأصلية. وبدلًا من تجزئة مرشح ومقارنته، يبحث المهاجم عن التجزئة في الجدول. ويستغرق إنشاء الجدول وقتًا ومساحة تخزين هائلين، لكن كل عملية بحث فيه فورية. ويمكن أن تتسع جداول Rainbow لتجزئات MD5 لجميع كلمات المرور الأبجدية الرقمية ذات 8 محارف في بضعة تيرابايتات، وأن تكسر أي كلمة مرور مطابقة خلال مللي ثوانٍ.
المفاضلة بين الوقت والذاكرة في جداول Rainbow
تجسد جداول Rainbow مفاضلة بين الوقت والذاكرة: إذ يُستثمر الوقت في حساب الجدول مرة واحدة، ثم تُستخدم الذاكرة لتسريع عمليات البحث المستقبلية. يخزن الجدول سلاسل تجزئة؛ تبدأ كل سلسلة بتخمين، ثم تُحسب تجزئته، وتُطبّق دالة اختزال لتوليد تخمين آخر، وتتكرر العملية. ويتيح تخزين نهايات السلاسل فقط استعادة كلمات المرور من التجزئات عبر عملية إعادة بناء للسلسلة توازن بين مساحة التخزين والحساب.
يُفشل salt جداول Rainbow
قيمة salt هي قيمة عشوائية تُلحق بكلمة المرور قبل تجزئتها. وبما أن قيمة salt فريدة لكل مستخدم، فإن مستخدمين لهما كلمة المرور نفسها ينتجان قيمتي تجزئة مختلفتين. وهذا يعني أن المهاجم لا يستطيع حساب جدول Rainbow مسبقًا لكلمة المرور المضاف إليها salt؛ إذ سيتعين عليه إنشاء جدول منفصل لكل قيمة salt ممكنة، وهو أمر يتعذر تنفيذه حسابيًا. وتُعد إضافة salt إلزامية في أي نظام آمن لتخزين كلمات المرور.
MD5 من دون salt: كسر فوري
كانت العديد من تطبيقات الويب المبكرة تخزن كلمات المرور كتجزئات MD5 من دون salt. وتبلغ تجزئة MD5 للسلسلة password القيمة 5f4dcc3b5aa765d61d8327deb882cf99، وهي قيمة ثابتة. ويعرف أي شخص سبق أن رأى هذه التجزئة، أو بحث عنها في قاعدة بيانات محسوبة مسبقًا، كلمة المرور فورًا. وتحافظ مواقع مثل CrackStation على مليارات من تجزئات MD5 وSHA-1 المحسوبة مسبقًا. ويمكن كسر كلمات المرور الشائعة غير المضاف إليها salt في أقل من ثانية.
Have I Been Pwned
تجمع خدمة Have I Been Pwned (HIBP)، التي أنشأها الباحث الأمني Troy Hunt، تجزئات كلمات المرور من عمليات اختراق بيانات كبرى. ويمكن للمستخدمين التحقق مما إذا كان عنوان بريدهم الإلكتروني أو كلمة مرورهم قد ظهر في عملية اختراق. ويستطيع المطورون استخدام واجهة HIBP البرمجية للتحقق من كلمات المرور المحتملة مقابل 850 مليون تجزئة مسربة، باستخدام نموذج k-anonymity؛ إذ تُرسل أول 5 محارف سداسية عشرية من تجزئة SHA-1 إلى الواجهة البرمجية، التي تعيد اللواحق المطابقة من دون أن يعرف الخادم التجزئة الكاملة.
حشو بيانات الاعتماد باستخدام قوائم كلمات المرور المسربة
تأخذ هجمات حشو بيانات الاعتماد أزواج اسم المستخدم وكلمة المرور من عملية اختراق واحدة، ثم تختبرها على خدمات أخرى. وبما أن كثيرًا من المستخدمين يعيدون استخدام كلمات المرور عبر المواقع، فإن اختراق موقع منخفض الأمان قد يوفر بيانات اعتماد صالحة لأهداف عالية القيمة مثل الخدمات المصرفية والبريد الإلكتروني. وترسل الأدوات الآلية آلاف محاولات تسجيل الدخول في الثانية عبر خدمات متعددة. ويُعد تحديد معدل الطلبات والمصادقة متعددة العوامل خطي الدفاع الأساسيين ضد حشو بيانات الاعتماد.
الدفاع: التجزئة التكيفية مع salt
يجمع التخزين الآمن لكلمات المرور بين إضافة salt واستخدام دالة تجزئة بطيئة وتكيفية. وقد صُمم bcrypt وArgon2 وscrypt لتكون مكلفة حسابيًا، إذ تستغرق كل تجزئة مللي ثوانٍ بدلًا من ميكروثوانٍ. ويحد ذلك من معدل محاولات المهاجم، فيخفضه من مليارات المحاولات في الثانية إلى آلاف المحاولات. ويمكن زيادة معامل الكلفة كلما أصبحت الأجهزة أسرع، للحفاظ على متطلب عمل ثابت. وتُعد هذه الخوارزميات المعيار الحالي لتخزين كلمات المرور.
إضافة salt مقابل جداول Rainbow
لماذا تؤدي إضافة قيمة salt عشوائية وفريدة إلى كل كلمة مرور قبل تجزئتها إلى إفشال هجمات جداول Rainbow المحسوبة مسبقًا؟
هجمات القاموس وجداول Rainbow: الخلاصات الأساسية
تختبر هجمات القاموس كلمات المرور المحتملة بدلًا من جميع التركيبات. ويوفر rockyou.txt 14 مليون مثال من العالم الحقيقي. وتوسّع الهجمات الهجينة والمستندة إلى القواعد قوائم الكلمات بإضافة التحويلات. وتوفر جداول Rainbow بحثًا فوريًا عن التجزئات التي لم تُضف إليها قيمة salt. وتُفشل إضافة salt جداول Rainbow بجعل كل تجزئة فريدة. وتتحقق HIBP مما إذا كانت كلمات المرور قد ظهرت في عمليات اختراق معروفة. وتُعد دوال التجزئة التكيفية مثل bcrypt وArgon2 ضرورية للتخزين الآمن.
الأسئلة الشائعة
هل درس «هجمات القاموس وجداول Rainbow» مجاني؟
نعم — نص درس «هجمات القاموس وجداول Rainbow» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «هجمات القاموس وجداول Rainbow»؟
تعرّف على كيفية تمكين جداول التجزئة المحسوبة مسبقًا من كسر كلمات المرور بسرعة، وكيف يمنع استخدام salt ذلك تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «هجمات القاموس وجداول Rainbow»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- كيف تعمل هجمات القوة الغاشمة؟
- هجمات القاموس وجداول Rainbow
- لماذا يهم طول مفتاح التشفير؟
- تحديد معدل الطلبات ودفاعات قفل الحساب