الهجوم الأعمى Brute Force Attack

من SalamaTech Wiki سلامتك ويكي
اذهب إلى: تصفح، ابحث

مقدمة

تعتمد عائلة من طرق اختراق الحسابات على تجريب كلمات سرّ مختلفة أملا بأن تكون أحداها الكلمة الصحيحة. من هذه الطرق، طريقة تخمين كلمات السرّ Passwords Guessing التي يقوم فيها المهاجم بتجريب كلمات سرّ يخمن أن الضحية قد يستخدمها. بالرغم من أن هذه الطريقة قد تنجح في بعض الأحيان إلا أنها تفشل في أغلبها، بالأخص عندما لا يعرف المهاجم أي شئ عن ضحيته. لذلك برزت طرق أكثر منهجية لتجريب كلمات السرّ مثل الهجوم الأعمى Brute Force Attack أو هجوم القاموس Dictionary Attack.

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

يفشل الهجوم إما عندما يكون أحد الرموز الموجودة في كلمة السرّ غير مستخدما في الخوارزمية أو عندما يكون طول كلمة السرّ مختلفا عن أطوال الكلمات التي أعدت الخوازمية لانتاجها.

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

aaaaaa
aaaaab
aaaaac
aaaaad
...
aaaaaz
aaaaba
aaaabb
aaaabc
...
zzzzzx
zzzzzy
zzzzzz

حساب عدد الاحتمالات والوقت اللازم لتجريبها

يمكن حساب عدد التركيبات الممكنة لكلمة سرّ بطول معين بالمعادلة الرياضية التالية:


حيث b هو عدد الرموز الممكنة، n طول الكلمة.

أما عدد التركيبات الممكمة لكلمة سرّ بطول أكبر أو يساوي m و أصغر أو يساوي لـ n تصبح المعادلة:


وإذا كان تجريب كلمة واحدة يأخذ وقتا فإن الوقت اللازم لتجريب كافة التركيبات ، أي كافة الاحتمالات الممكنة هو:


أمثلة عملية

مثال 1

على فرض كان كلمة السرّ المراد كشفها تتكون من عدد معروف وهو 6 حروف يتضمن أحرف لاتينية صغيرة. وكان الجهاز المستخدم لكشف كلمة السر له 4 وحدات معالجة CPU وكان كل منها يستطيع تجربة 1000 كلمة سرّ في الثانية

فما هو العدد الكلي لكلمات السرّ المحتملة؟ وما هو الزمن اللازم لتجربة كل الكلمات؟

الحل: العدد العدد الكلي لكلمات السرّ المحتملة. هو عدد التركيبات الممكمة مع الأخذ بعين الاعتبار عدد الرموز المستخدمة.

إذا لنبدا بحساب عدد الرموز الممكنةـ لدينا عدد الأحرف اللاتينية 26 إذا:


بالتعويض في المعادلة لحساب عدد التركيبات الممكمة لطول كلمة معروف:


باجراء الحساب نجد أن عدد التركيبات الممكنة هو: 308915776

إذا الزمن اللازم الزمن اللازم لتجربة كل الكلمات على معالج واحد هو:



وعند توزيع هذا العمل على 4 معالجات:


أي حوالي ال 21 ساعة ونصف. أي أنه يمكن كشف كلمة سرّ قصيرة وعدد محدود من الرموز بهذا الهجوم في أقل من يوم على حاسب شخصي بأربعة 4 معالجات. لذلك ننصح بتجنب استخدام كلمات السرّ القصيرة والمشكلة من عدد صغير من الرموز.

مثال 2

على فرض كان كلمة السرّ المراد كشفها تتكون من عدد حروف غير معروف أدناه 6 حروف وأقصاء 18 قد يتضمن أحرف لاتينية صغيرة وكبيرة وقد يتضمن أيضا أرقاما. وكان الزمن اللازم لتجريب صحة أحد الكلمات هو واحد بالألف من الثانية

ما هو العدد الكلي لكلمات السرّ المحتملة؟ وما هو الزمن اللازم لتجربة كل الكلمات؟

الحل: العدد العدد الكلي لكلمات السرّ المحتملة. هو عدد التركيبات الممكمة مع الأخذ بعين الاعتبار عدد الرموز المستخدمة.

إذا لنبدا بحساب عدد الرموز الممكنةـ لدينا عدد الأحرف اللاتينية 26 إذا مجموع الأحرف الصغيرة والكبيرة 26 + 26 هو 52. أما بالنسبة للأرقام لدينا من 0 إلى 9 لدينا 10 أرقام بالتالي عدد الرموز هو:


و بالتعويض في المعادلة لحساب عدد التركيبات الممكمة


باجراء الحساب نجد أن عدد التركيبات الممكنة هو: 186256854983341624264496759122624

إذا الزمن اللازم الزمن اللازم لتجربة كل الكلمات هو:



وهو رقم كبير جدا ما يعني أن استخدام هذا الهجوم لكشف كلمة سرّ طويلة ومؤلفة من حروف تمزج الصغيرة والكبيرة والأرقام غير عملي وغير مفيد.

لذلك ننصح عند اختيار كلمة سرّ Password أن تكون كلمة السرّ طويلة وأن تكون تمزج الحروف الصغيرة والكبيرة والأرقام والرموز, لأن ذلك كفيل بجعل هذا الهجوم غير مفيد.

برامج كشف كلمات السرّ Password Cracking Software

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

تقوم هذه البرامج بشكل أساسي بتوليد التركيبات بداية من القاموس الذي يزوده مستخدم البرنامج. بينما يقوم برنامج آخر بمحاولة أو تجريب هذه التركيبات لمعرفة إن كان أحدها هو كلمة السرّ الصحيحة المراد كشفها. وقد تدمج بعض البرامج المهمتين في برنامج واحد لتسريع العملية.

وفيما يلي أمثلة عن أشهر هذه البرامج:

Hashcat

هاش كات Hashcat برنامج لاستعادة أو كشف كلمات السرّ يعمل على منصات ويندوز Windows، لينوكس Linux، وماك أو إس إكس Mac OS X. ويعمل على وحدات المعالجة المركزية CPUs الخاصة بالجهاز أو على وحدات المعالجة الرسومات GPUs وهو لذلك من أسرع البرامج المستخدمة لكشف واستعادة كلمات السرّ.

يدعم هذا البرنامج عددا من طرق استعادة كلمات السرّ منها الهجوم الأعمى Brute Force Attack وهجوم القاموس Dictionary Attack وهجوم القناع Mask Attack وهجوم البصمة Fingerprint Attack

يستطيع أيضا البرنامج تجريب كلمات السر عبر مقارنة الهاش Hash الخاصة بكلمة السرّ المجربة مع الهاش Hash الخاصة بكلمة السرّ المستهدفة. ويدعم البرنامج مجموعة من خوارزميات الهاشينغ Hashing منها MD4 Hash، MD5 Hash، SHA-1 Hash، MySQL Hash، Microsoft LM Hashes، Cisco PIX Hashes وغيرها.

للمزيد قوموا بزيارة موقع https://hashcat.net/hashcat/.

John the Ripper

جون السفاح John the Ripper برنامج لكشف واستعادة كلمات السرّ يستطيع استخدام الهجوم الأعمى Brute Force Attack وهجوم القاموس Dictionary Attack وهجوم القناع Mask Attack لتوليد التركيبات. صمم أساسا لاستعادة كلمات السرّ المخزنة في سجل مسخدمي نظام التشغيل Unix وقريبه Linux.

يستطيع البرنامج تجريب التركيبات عبر مقارنة الهاش الخاصة بالتركيبات الناتجة ممع الهاش الخاصة بكلمة السرّ المستهدفة ويدعم البرنامج مجموعة من خوارزميات الهاشينغ Hashing أهمها الخوارزميات الخاصة بحفظ كلمات السرّ على نسخ نظام التشغيل يونيك Unix ونكهات نظام التشغيل لينوكس Linux المختلفة ,والمبنية على DES MD5 و Blowfish، وأيضا خوارزميات Kerberos AFS و Windows LM Hash وعبر عدد من الإضافات MD4 و LDAP وMySQL وغيرها.

Cain and Abel

قابيل وهابيل Cain and برنامج لكشف واستعادة كلمات السرّ مصمم لنظام التشغيل ويندوز Windows يسمى اختصارا Cain. يستطيع Cain استعادة وكشف كلمات السرّ عبر استخدام عدة طرق منها packets sniffing والهجوم الأعمى Brute Force Attack وهجوم القاموس Dictionary Attack وكذلك عبر التحليل الكريبتوغرافي Cryptoanalytis باستخدام ما يسمى هجوم قوائم قوس قزح Rainbow tables attack.

تنقّل في الكتيب eBook Navigation

الهجمات على كلمات السرّ

الهجمات الالكترونية الخبيثة Malicious Cyber Attacks

الفهرس Index

الفهرس الكامل Full Index

اقرأ أيضا See Also

كلمات السرّ Passwords

تخمين كلمات السرّ Passwords Guessing

هجوم القاموس Dictionary Attack

اصطياد كلمات السرّ Passwords Phishing

برامج تسجيل المفاتيح Keystroke Loggers

تسرب البيانات Data Breaches

برامج كشف كلمات السرّ Password Cracking Software

برامج تجريب كلمات السرّ Password Testing Software

مراجع References

Password Cracking - Computerphile فيديو بالانجليزية عن كشف كلمات السرّ من قناة Computerphile على يوتيوب

https://hashcat.net/hashcat/

John the Ripper password cracker