الهجوم الأعمى 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

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

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c=b^n}

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

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c=\sum_{l=m}^n b^l}

وإذا كان تجريب كلمة واحدة يأخذ وقتا خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t} فإن الوقت اللازم لتجريب كافة التركيبات خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total}} ، أي كافة الاحتمالات الممكنة هو:

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total}=t \times c}

أمثلة عملية

مثال 1

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

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

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

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle b = 26}

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c = b^n = 26^6 }

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

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total}=t \times c=0.001 \times 308915776 = 308915.776 seconds}

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total}=3.57541407 days }

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total-4-cpus}= 308915.776 seconds /4 =  21.4525 hours}

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

مثال 2

على فرض كان كلمة السرّ المراد كشفها تتكون من عدد حروف غير معروف أدناه 6 حروف وأقصاء 18 قد يتضمن أحرف لاتينية صغيرة وكبيرة وقد يتضمن أيضا أرقاما. وكان الزمن اللازم لتجريب صحة أحد الكلمات هو واحد بالألف من الثانية خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t = 0.001 seconds}

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

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

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle b = 26+26+10 = 62}

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle c = \sum_{l=m}^n b^l = \sum_{l=6}^{18} 62^l}

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

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

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total}=t \times c=0.001 \times 186256854983341624264496759122624 = 186256854983341624264496759122.624 seconds}

خطأ رياضيات (اعرض بصيغة MathML إن أمكن (تجريبي): رد غير صحيح ("Math extension cannot connect to Restbase.") من الخادم "https://en.wikipedia.org/api/rest_v1/":): {\displaystyle t_{total}=5.90212 \times 10^{21} years}

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

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

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

مقدمة

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

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


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

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

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

الفهرس Index

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

اقرأ أيضا See Also

كلمات السرّ Passwords

هاشات كلمات السرّ Password Hashes

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

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

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

هجوم قوس قزح Rainbow Tables Attack

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

تسجيل نقرات المفاتيح Keystroke Logging

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

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

مراجع References

موقع hashcat

موقع OpenWall المالك لتطبيق John the Ripper


تنقّل في الكتيب 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