Quantcast
Channel: iSecur1ty
Viewing all 466 articles
Browse latest View live

مقال : تطبيق عن الهندسة العكسية تحليل خوارزمية CrackMe

$
0
0

بسم الله الرحمن الرحيم,

 

منذ فترة, تحدثنا عن برامج الـ CrackMe, و بعدها قمنا بتحليل احد تلك البرامج و كتابة برنامج KeyGen يقوم بتوليد Valid Serial Numbers للبرنامج.
اليوم بأذن الله سنقوم بتحليل برنامج آخر من برامج الـ CrackMes و تحليل خوارزميته و فهمها.

كما تعودنا, برنامج اليوم سيكون متاح للتحميل في قسم المراجع آخر المقال.

تستطيع الضغط على الصورة لمشاهدتها بدقة عالية.

في البداية, سنقوم بتحميل برنامج الـ CrackMe داخل برنامج Immunity Debugger و نقوم بالبحث عن الـ Strings للبحث عن الكلمات و الجمل التي يمكن ان تساعدنا في معرفة مكان وجود (أو مكان قريب من) خوارزمية مقارنة الـ strings المُدخلة و المُولدة من خوارزمية توليد الـ Valid Serial Number.

snap1

 

نستطيع أن نرى الجملتين ( Right Pass ) و ( Wrong Pass ) و هذا مؤشر جيد, لأن جملة ( Wrong Pass ) هى التي تظهر في حال ادخال مدخل غير صحيح لبرنامج الـ CrackMe.
الآن لنضغط ضغطة مزدوجة على كلمة ( Wrong Pass ) لنتوجه للـ Text Section أو الجزء الذي يحتوي كود البرنامج الذي ذُكرت فيه تلك العبارة. و سنرى أننا قد توقفنا عند العنوان 0x004014C1, و من هنا نستطيع أن نرى دوال مشهورة (أو على الأقل أسمائها معلومة و ذات دلالة واضحة بالنسبة للرائي) و هى دلالة gets المسؤولة عن تخزين المدخلات من المستخدم للذاكرة و دالة strcmp المسؤولة عن مقارنة نصوص strings.

 

snap2

دعونا الآن نقوم بتحليل سطر النداء على الدالة strcmp من خلال وضع نقطة توقف BreakPoint عندها و اعادة تشغيل البرنامج من خلال Ctrl+F2 و ادخال أي نص كمدخل Input لبرنامج الـ CrackMe لنلاحظ توقف البرنامج بعد الضغط على Enter, و هنا توقف البرنامج عند مقارنة النص الذي ادخلناه بالنص الذي تم توليده من خوارزمية البرنامج نفسه الذي نسعى لتحليلها. أيضا اذا نظرنا لذاكرة المكدس, نستطيع رؤية مدخلات الدالة strcmp parameters و هما النص الذي ادخلناه و النص المُولد من برنامج الـ CrackMe.

snap3

 

الآن نريد تتبع هذا النص المُولد من خوارزمية البرنامج. نستطيع أن نلاحظ من خلال النظر لكود البرنامج في الـ Text Section أن النص يُحفظ في الذاكرة في العنوان 0x0022FE11 و يتم الإشارة عليه من خلال الـ EBP Register و المؤشر هنا قيمته EBP-137.
أيضا نلاحظ أن البرنامج يقوم بتوليد الرقم الصحيح Valid Serial Number قبل أخذ مدخلات المستخدم, و هذا يعني أنه لا يستخدم أي من مدخلات المستخدم في حساب الرقم الصحيح Valid Serial Number. نستطيع التأكد من ذلك من خلال وضع نقطة توقف عند بداية الدالة التي نحن بداخلها الآن أو أي نقطة قبل سطر النداء على الدالة gets, سأقوم بوضع نقطة توقف عند عنوان 0x00401340, بعد ذلك نعيد تشغيل البرنامج, سنجد أن البرنامج قد توقف و قام بتوليد الرقم الصحيح و حفظه في الذاكرة من قبل أن ندخل أي نص في البرنامج, و هذا يؤكد وجهة نظرنا أن الرقم الصحيح المُولد يتم حسابه بدون مدخلات المستخدم. و هذا يتركنا لتفسير منطقي آخر و هو أن البرنامج يستخدم مصادر الجهاز لتوليد الرقم الصحيح مثل الوقت, التاريخ, الـ CPU Speed, سعة الذاكرة RAM, الخ…

دعونا نتأكد من كل تلك التخمينات من خلال التقدم بتعليمة مفردة كل مرة Single Stepping من خلال الضغط على F7 بدأً من عنوان 0x00401340.

snap4
أول ملاحظة شيقة هى عند العنوان 0x0040135A و هي نداء للدالة time و هي دالة من الدوال المكتبية الخاصة بنظام تشغيل Windows API و التي تقوم بحساب عدد الثواني من أول منتصف ليل الأول من يناير عام 1970, و هذا يسمى System Time. سأقوم بوضع رابط للدالة time من على الموقع الرسمي لشركة Microsoft في قسم المراجع.

هنا, يقوم البرنامج بادخال القيمة NULL للدالة time كـ Parameter و يقوم بحفظ القيمة المرتجعة من الدالة في العنوان 0x0022FF34, بعد ذلك نلاحظ نداء لدالة أخرى من الدوال المكتبية لويندوز و هى الدالة localtime و التي تقوم بأخذ القيمة المرتجعة من الدالة time و تعديلها لحساب الوقت المحلي للجهاز.
الدالة localtime تأخد مدخل واحد و هو مؤشر للقيمة المرتجعة من الدالة time و نستطيع أن نلاحظ هنا أنه تم تمرير مؤشر لتلك القيمة للدالة, و ارجاع الوقت المحلي الذي تم حسابه الى البرنامج من خلال هيكلية تسمى struct tm.

على الموقع الرسمي للدوال المكتبية Windows API, نلاحظ أن تلك الهيكلية مكونة من تسعة متغيرات, و هن:

الثواني, الدقائق, الساعات, اليوم (قيمة من 1-31), الشهر (قيمة من 0-11), السنة, اليوم (قيمة من 0-6, و هو اليوم بالنسبة للاسبوع), اليوم (قيمة من 0-365, و هو اليوم بالنسبة للسنة), و طريقة التوقيت (24 ساعة أم 12 ساعة).

بعد الرجوع من الدالة localtime, يقوم البرنامج بنقل الهيكلية المرتجعة من الدالة الى العنوان 0x0022FF10.

بعد ذلك, نرى تعليمة لا تقوم سوى بالدوران 190 مرة بدون القيام بأي شئ مفيد, و هذه الطريقة تسمى Busy Loop و هى تساوي نسبيا استخدام الدالة Sleep لتوقف البرنامج بعض الوقت.

عند العنوان 0x004013CF, نلاحظ دوارة أخرى تقوم بالدوران ثلاث مرات, في كل مرة يتم النداء على الدالة GetCursorPos. تلك الدالة تقوم بأخذ مدخل واحد و هو مؤشر لهيكلية أخرى تسمى POINT structure. حسب الموقع الرسمي للدوال المكتبية Windows API, تلك الهيكلية تحتوي على متغيرين فقط, و هما مكان المؤشر Mouse cursor pointer على الشاشة أفقيا و رأسيا x_position and y_position.
في البرنامج, تلك الهيكلية بدايتها في العنوان 0x0022FD08, في كل دورة من الثلاث دورات, يقوم البرنامج بضرب قيمة الـ x_position بقيمة الـ y_position و جمع الناتج على قيمة في العنوان 0x0022FF38 و هذا العنوان يحتوي منذ بداية البرنامج على القيمة 0x0022FFF0 (هذا ليس عنوان و لكنها قيمة رقمية بالنظام السادس عشري).

بعد ذلك يقوم البرنامج بضرب الناتج في سادس متغير من متغيرات الهيكلية time structure و هي رقم الشهر, ثم يقوم بطرح ثالث متغير في الهيكلية -و هي الساعة- منها, ثم يقوم البرنامج بالنداء على الدالة itoa و هي دالة تأخذ ثلاثة مدخلات:
– رقم
– مؤشر لنص  pointer to a string

– النظام الرقمي (نظام العشري, السادس عشري, الثماني, الخ…)

تقوم الدالة itoa بتحويل الرقم المُدخل بالنظام الرقمي المُدخل لنص, و تقوم بحفظه في المؤشر المُدخل.

أخيرا يقوم البرنامج بعد تحويل الرقم الذي قمنا بحسابه مؤخرا في العنوان 0x0022FF38 لنص, بوضع النص “H!J” في نهاية النص الرقمي المُحول, و بهذا يكون النص الذي يقوم البرنامج بتوليده جاهز لمقارنته بمدخلات المستخدم.

هذا كود pseudocode بلغة شبيهة للغة الـ C و يوضح آلية توليد الرقم الصحيح Valid Serial Number:
PseudoCode

في تلك الحالة, سيكون كتابة برنامج Keygen بالطريقة التقليدية غير فعال, لأن البرنامج يقوم بحساب الرقم الصحيح Valid Serial Number باستخدام الوقت و مكان المؤشر في أثناء تشغيلنا لبرنامج الـ CrackMe, و قطعا ستكون القيمة مختلفة عما اذا قمنا نحن بكتابة برنامج keygen لأن ساعتها – و حتى ان استطعنا أن نجمد مكان مؤشر الفأرة لكي لا تتغير قيم الاحداثيات الرأسية و الأفقية له- لن نتمكن من تجميد الوقت, مما سؤدي لتغيير قيمة الوقت المستخدم في الحسابات, و هكذا سيكون الرقم الناتج من برنامج الـ keygen مختلف عن الرقم الناتج من برنامج الـ CrackMe نفسه!!

احدى الطرق للقيام بهذا هو أن نستخدم طريقة الـ Code Caving و هي طريقة للتعديل على البرنامج التنفيذي بحيث يراقب مكان الرقم المُولد, و بعد ذلك يقوم بطباعته لنا بعد حسابه و قبل اخذ مدخلات المستخدم. قطعا الطرق كثيرة و كل شخص و ابداعه.

 

المراجع:


مقال : تطبيق عن الهندسة العكسية تحليل خوارزمية CrackMe الجزء الثاني

$
0
0

بسم الله الرحمن الرحيم,

في المقال السابق, قمنا بدراسة خوارزمية وجدناها في برنامج من برامج الـ CrackMes, تلك الخوارزمية كانت تعتمد على موارد النظام system resources مثل الساعة, التاريخ, سعة الذاكرة, الخ… و لم تكن تعتمد على أي من مدخلات المستخدم. و لكن الهندسة العكسية البرمجية نادرا ما تكون بهذا القِصَر و تلك السهولة.

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

 

البرنامج الذي سنتناوله اليوم بأذن الله هو احد برامج الـ CrackMes, و كالعادة سيكون متاحا للتحميل من خلال قسم المراجع في آخر المقال.

يرجى الضغط على الصورة لمشاهدتها بدقة أعلى.

 

في البداية, دعونا نقوم بفتح البرنامج بشكل طبيعي و نحاول تحليل واجهته و مدخلاته و مخرجاته.

 

1

 

كما نرى, قمت بادخال hello و world كمدخلات بسيطة في البداية, و بالضغط على زر Check لا شئ يحدث. قد تكون تلك مشكلة طول نص المدخلات string length, فاحيانا البرامج تعمل فقط اذا قمنا بادخال المدخلات بطول معين. بعد محاولة ادخال بعض النصوص بأطوال مختلفة, لم نلحظ ايضا أي فرق, فلا شئ يحدث عند الضغط على زر Check. الآن ليس لدينا حل سوى أن نبدأ برحلة الهندسة العكسية…

 

ba2

 

كما رأينا في المقال السابق, عندما قمنا بتحليل المتغيرات النصية للبرنامج استطعنا أن نذهب لمكان قريب من مكان خوارزمية توليد الارقام الصحيحة Valid Serial numbers, و لكن هنا الوضع مختلف, فكما نرى في الصورة السابقة, قمنا بتحليل المتغيرات النصية في البرنامج strings و لم نجد أي شئ من خلال تلك الطريقة.
الآن دعونا نتجه لطريقة اخرى و هى تحليل كل الدوال التي يستخدمها البرنامج.

 

ba3

 

كما نرى, معظم تلك الدوال هى من الدوال المكتبية Windows API.

نستطيع هنا أن نلاحظ استخدام دالة GetDlgItemTextA و هى دالة مسؤولة عن تخزين المدخلات النصية التي يدخلها المستخدم من خلال الواجهة الرسومية الى ذاكرة الحاسب. كما أنه من المنطقي أن نجد تلك الدالة مذكورة مرتين في الصورة السابقة, مما يعني أن البرنامج قد استخدمها مرتين, و هذا لأننانقوم بادخال نصين في الواجهة الرسومية للبرنامج, فسيحتاج البرنامج أن يُخزن في كل مرة النص المُدخل في الذاكرة.

لنقم الآن بالضغط مرتين على احد تلك الدوال.

 

ba4

 

الآن نحن في المكان المسؤول عن أخذ مدخلات المستخدم و تخزينها في الذاكرة, نستطيع أن نرى أن أول نداء للدالة GetDlgItemTextA هو لأخذ المُدخل Username و تخزينه في العنوان 0x004016A4, و ثاني نداء هو لأخذ المُدخل Serial و تخزينه في العنوان 0x004018A4. لنتأكد من نظريتنا, سنقوم بوضع نقطة توقف عند العنوان 0x00401392, و نقوم باعادة تشغيل البرنامج من خلال الضغط على Ctrl+F2, بعد ذلك نقوم بادخال أي نص داخل كل من مكان الـ Username و مكان الـ Serial, سنجد أن البرنامج قد توقف, و نستطيع أن نرى النصوص التي أدخلناها في كل من العناوين التي ذكرناها. من الآن فصاعدا بأذن الله سنتقدم في البرنامج باستخدام الخطوات الفردية Single Step Execution لنتمكن من فهم كل سطر ماذا يفعل و كيف يؤثر على مدخلاتنا و كيف يُوَلَّد الرقم الصحيح Valid Serial Number.

دعونا أيضا نسمي العنوان الذي يحوي مُدخل الـ Username باسم user و العنوان الذي يحوي مُدخل الـ Serial Number باسم serial, ليسهل ذلك عليّ بأذن الله الشرح باستخدام الاسماء بدلا من ذكر العناوين الرقمية كل مرة.

في البداية, نلاحظ أن بعد أول نداء للدالة GetDlgItemTextA, يقوم البرنامج بالتأكد من طول المُدخل Username, فاذا كان أطول من أو يساوي 12 (bytes 0xC بالنظام السادس عشري), لن يقوم البرنامج اصلا بأخذ و تخزين المُدخل الثاني, و لن يقوم بتوليد الرقم الصحيح لمقارنته بمُدخل المستخدم Serial Number.
اذا كان المُدخل Username أقل من 12 bytes, يقوم بأخذ مُدخل الـ Serial Number, و يتأكد اذا كان طوله مساوي لـ 12 bytes بالضبط, اذا كان غير ذلك, لن يتم توليد الرقم الصحيح.
بعد ذلك يقوم البرنامج مرة أخرى بمقارنة طول المُدخل Username بـ 8, اذا كان أقل من ذلك, مجددا لن يقوم البرنامج بتوليد الرقم الصحيح.

نفهم من هذا الجزء أن المُدخل Username يجب أن يكون طوله يساوي 8 bytes أو أكثر و أقل من bytes 12, و يجب أن يكون المُدخل Serial Number يساوي لـ 12 bytes بالضبط.

الآن ننتقل للجزء التالي من الكود…

ba5

 

يقوم الكود بالقفز للعنوان 0x004013A6, هذا الجزء من الكود كل ما يقوم به هو أخذ آخر byte من المُدخل user و ضربه في طول المُدخل user و يحفظ ناتج تلك العملية الحسابية في أول byte من المُدخل user.
بمعنى آخر, نستطيع من خلال لغة السي أن نكتب الجزء الماضي بهذا الشكل:

user[0]=user[strlen(user)-1]*strlen(user); \n

في نهاية هذا الجزء من الكود, نجد قفزة للعنوان  0x004013EE, و لكن لحظة, تعليمة تلك القفزة عنوانها 0x004013ED, و الـ Operation Code الخاص بتلك التعليمة هو 0xEB 0xFF, فبالتالي تقوم القفزة بالذهاب للمكان الذي يحوي أوله البايت 0xFF!!!
كيف ذلك؟ تعليمة تقفز الى جزء من الـ Operation Code الخاص بها!

أن الـ Operation Code ذو الرقم 0xFF هو الخاص بالتعليمة CALL, و لكن لنتأكد من ذلك, علينا أن نقفز للعنوان 0x004013EE بشكل يدوي (بدون استخدام single step, من خلال القفز اليدوي  Ctrl+G) , يجب أن يحتوي هذا العنوان على كود منطقي ليُنفذ بعد القفزة.

ba6

كما توقعنا بالفعل, تحولت تعليمة القفز التي كانت موجودة في العنوان 0x004013ED الى تعليمة CALL باستخدام جزء من الـ Operation Code الخاص بتعليمة القفز!!
اذا تلك أول طريقة حماية يستخدمها برنامج الـ CrackMe لخداع المهندس العكسي ليظن أن تلك القفزة غير صحيحة أو معطوبة, فبالتالي يكف عن تتبع الكود أو لا يستطيع أكمال قرائته.

الآن نرى أن القفزة الأصلية هي في الحقيقة دالة من برمجة صاحب البرنامج, و تبدأ تلك الدالة عند عنوان 0x00401251.

ba7

 

لن أقوم بشرح هذا الجزء بالتفصيل, فهذا بأذن الله  سهل للذي يعلم كيف يقرأ لغة المجمع Assembly language الخاصة بمعالج Intel x86. و لكني سأكتب عن ما تقوم به الدالة كلها باستخدام لغة السي. الدالة لا تقوم سوى بالتعديل على بعض الـ bytes في المُدخل user:

C Code

في آخر تلك الدالة, يحدث أمر غريب, بداية من العنوان 0x004012DA و حتى العنوان 0x004012FB, تلك التعليمات تقوم بتغيير بعض الـ bytes بداية من العنوان 0x0040104C, سأترك للقارئ معرفة ماذا يتغير في هذا الجزء.

بعد ذلك نرى تعليمة قفز في عنوان 0x0040130A, و مكان القفز هو 0x0040130B, نفس الخدعة السابقة, اذا نظرنا لمحتوى العنوان 0x0040130B, سنجد هذا الجزء من الكود:

ba8

تعليمة نداء على دالة أخرى من برمجة صاحب البرنامج, تبدأ تلك الدالة عند عنوان 0x00401166, لننتقل للدالة الجديدة.

 

ba9

 

تلك الدالة تقوم ببعض العمليات الجبرية و المنطقية على المُدخل user, تلخيصها بلغة السي كالتالي:

C Code

في نهاية الدالة, نستطيع أن نرى تعليمة قفز تستخدم نفس الخدعة للنداء على دالة ثالثة عند العنوان 0x004010BF.

ba10

 

تلك الدالة مسؤولة عن بعض التعديلات و المقارنات التي ستثبت للبرنامج اذا كان المستخدم قد أدخل الـ Serial صحيح أم لا.
تقوم الدالة بأخذ كل byte  لأول 8 bytes من المُدخل user (بعد كل التعديلات التي حدثت عليه) و تقوم باضافة القيمة 0x41 عليه, ثم تقوم بمقارنته بالـ byte من المُدخل serial بنفس ترتيبه, بمعنى أنها تأخذ أول byte من user, تضيف عليه 0x41 و من ثم تقارنه بأول byte من serial, و هكذا حتى تصل لثامن byte من user.
بعد ذلك يقوم البرنامج بمقارنة آخر 4 bytes من user بآخر 4 bytes من serial.
اذا تمت كل تلك المقارانات بنجاح, يقوم البرنامج بعمل thread جديدة, تقوم بطباعة رسالة نصية (Good Work).

بعد أن  تمكنا بفضل الله من فهم خوارزمية توليد الارقام الصحيحة, بأذن الله نستطيع أن نكتب برنامج Keygen, نُدخل له نص string مكون من 8 الى 11 bytes و يقوم بتوليد رقم صحيح لادخاله في برنامج الـ CrackMe ليقوم البرنامج بتهنئتنا بأن الرقم صحيح!

ba11

 

تستطيع أن تجد برنامج الـ Keygen في قسم المراجع آخر المقال.

 

في نهاية المقال, أترك للقارئ بعض الاسئلة التي تزيد فهمه للبرنامج و لطريقة عمله, و أرجو لمن يعرف اجابتها أن يترك الجواب في تعليق على صفحة هذا المقال.
– ماذا كان يحتوي العنوان  0x0040104C الذي لاحظنا تعديله من قِبَل البرنامج في آخر الدالة الموجودة في العنوان 0x00401251 ؟

– ماذا كانت فائدة الدالة VirtualProtect و VirtualAlloc في البرنامج؟

 

المراجع:

هكرز يحصلون على مليون دولار مكافأة لاكتشافهم ثغرة في الإصدار الأخير من IOS

$
0
0

قام شخص ما بالعثور على ثغرة zero-day في نظام IOS الإصدارات الأخيرة بداية من 9 تمكن المهاجم من التحكم في جهاز الـ iPhone الخاص بك عن بعد.

قامت مجموعة غير معروفه من الهكرز ببيع ثغرة zero-day في IOS لشركة Zerodium، بمبلغ مليون دولار.

في الشهر الماضي كانت شركة Zerodium قد أعلنت عن تحدي بخصوص العثور على الثغرات التي يتم استغلالها remotely.

وقد أكد ذلك Chaouki Bekrar مؤسس شركة Zerodium على شبكة التواصل الاجتماعية “تويتر”، حيث صرح أن هناك مجموعة من الهكرز ربحت مليون دولار مقابل تقديمهم ثغرة أمنية في نظام iOS 9.1/9.2b تعمل remotely من خلال المتصفح.

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

وحتى الآن لم يصدر أي تصريحات من شركة Apple بخصوص معالجة هذه الثغرة.

إلقاء القبض على الشخص الرابع عمره 16 سنه على خلفية اختراق موقع TalkTalk

$
0
0

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

ضباط التحقيق من وحدة شرطة الجرائم الإلكترونية (MPCCU) قاموا بإلقاء القبض على هذا الشاب في منزله بـ Norwich بموجب قانون اساءة استعمال الحاسوب.

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

TalkTalk-616797

وأكدت الشركة في الأسبوع الماضي أن 1.2 مليون اسم، بريد إلكتروني، أرقام هاتفية، وما يقرب من 21.000 رقم حسابات مصرفية، تم الاستيلاء عليهم خلال الهجوم.

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

ويعد هذا الاعتقال الرابع منذ اختراق TalkTalk، والهكر الذي تم الإمساك به محتجز لدى الشرطة المحلية الآن.

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

جدير بالذكر أن الصلة بين هؤلاء القراصنة الأربعة لم يتم التعرف عليها حتى الآن.

اكتشاف 11 ثغرة أمنية في Samsung Galaxy S6 Edge

$
0
0

في مسابقة داخلية تجمع أعضاء Google Project Zero بأمريكا الشمالية وأوربا، كانت النتيجة اكتشاف 11 ثغرة zero-day بهاتف Samsung Galaxy S6 Edge.

من المعروف أن الغالبية العظمى من الأجهزة التي تعمل بنظام أندرويد لا يتم تصنيعها بواسطة جوجل، ولكن يتم تصنيعها بواسطة شركات أخرى يطلق عليها OEMs وهي اختصار لـ original equipment manufacturer وكمثال لهذه الشركات Samsung, HTC إلخ من الشركات التي تقوم بصناعة الهواتف الذكية، هذه الشركات تقوم باستخدام مشروع أندرويد مفتوح المصدر Android Open-Source Projcet (AOSP) كنظام للهواتف التي تقوم بتصنيعها.

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

samsung-galaxy-s6-edge

وأشارت Natalie Silvanovich مهندسة بأمن المعلومات في Android Security Team وعضوه بـ Project Zero أن نقاط الضعف توجد ببرامج تشغيل الجهاز، ومعالجة الوسائط. وقالت نحن وجدنا هذه المشاكل بسرعة كبيرة من خلال مراجعة الكود، وكانت المفأجأة أيضاً وجود ثلاثة ثغرات منطقية يمكن استغلالهم بسهولة تامة.

الأخبار الجيدة أنه تم إتخاذ العديد من التدابير الأمنية مما زاد من صعوبة عملية استغلال هذه الثغرات ومهاجمة هذه الأجهزة.

أيضاً قامت شركة سامسونج بإصلاح 8 ثغرات من الـ 11 في شهر أكتوبر، حيث تم تطوير وإصدار هذه الإصلاحات خلال 90 يوماً من اكتشافهم ويعد هذا “إطار زمني مناسب” بالنسبة للمعايير المعدة من قبل شركة جوجل.

الـ 3 ثغرات الباقية تم التخطيط لإصلاحهم في نوفمبر الحالي.

موزيلا تطرح الإصدار الجديد Firefox 42 مع خاصية منع التتبع والمراقبة

$
0
0

قامة شركة موزيلا بإصدار Firefox 42، مع ميزة جديدة والتي من شأنها زيادة خصوصية المستخدم على شبكة الانترنت.

هذه الميزة الجديدة تسمى Trackin Protection والتي تم إدراجها بالخيارات الخاصة بالتصفح الخفي Private Browsing.

وصرح Nick Nguyen نائب رئيس إنتاج فيرفوكس

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

.

firefox42-05112015-big

“التصفح الخفي مع خاصية حماية التتبع Tracking Protection في متصفح فيرفوكس الخاص بنظام ويندوز، ماك، أندرويد، لينكس، يقوم تلقائياً بحظر الto known trackers.عديد من المحتويات مثل الإعلانات، أزرار المشاركة الاجتماعية التي من الممكن أن تقوم بتسجيل سلوكياتك وتحركاتك عبر مواقع الانترنت بدون علمك”

.

وأشادت منظمة EFF بهذه الخطوة حيث أشارت Noah Swartz وهي موظفة تقنية بـ EFF أن فيرفوكس يستخدم قائمة سوداء لحظر طلبات التتبع، بالإضافة إلى حظر الإعلانات التي تحاول تتبع المستخدم على شبكة الانترنت.

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

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

وأخيراً, الإصدار الجديد من المتصفح يشمل إصلاح لعشرات المشاكل الأمنية، والتي كان بعضها يمكن أن يؤدي إلى تنفيذ Code Execution.

اختراق البريد الإلكتروني الخاص بنائب مدير المخابرات الأمريكية

$
0
0

تم اختراق البريد الإلكتروني الخاص بنائب مدير المخابرات الأمريكية Mark Giuliano وزوجته، بواسطة نفس فريق القراصنة الذي كان قد اخترق البريد الإلكتروني الخاص بمدير المخابرات الأمريكية John Brennan منذ أسبوعين تقريباً.

بالأمس، قام Cracka عضو بمجموعة هكرز لا زالت في سن المراهقة تعرف بـ ‘Crackas With Attitude’ (CWA)، بنشر كنز من المعلومات حول آلاف الموظفين الحكوميين على شبكة الانترنت: كما أعلن الفريق أن لديهم أكثر من ذلك بكثير.

أعلن فريق القراصنة أنهم استطاعوا الحصول على معلومات شخصية عن طريق اختراق بريد AOL الإلكتروني الخاص بـ Giuliano وزوجته.

المعلومات التي تم نشرها تشمل 3500 أسم، بريد إلكتروني، بالإضافة إلى أرقام هواتف جهات حكومية وأفراد عسكريين.

وعلى الرغم من أن مسؤولي مكتب التحقيقات الفيدرالي FBI لم يتحققوا من هذه الإدعاءات إلا أنه قد تأكد بالفعل إدراج العديد من الأشخاص، “جميع ضباط الشرطة المحليين التابعين للـ FBI، بالإضافة إلى محللين استخبارات عسكرية”.

hacking-cia

جدير بالذكر أنه بعد عملية الاختراق الأخيرة التي استهدفت مدير المخابرات كان Mr. Giuliano قد أدلى بتصريحات عدوانية عن الإمساك بالقراصنة وجعهلم عبرة لمن لا يعتبر، وأدت تلك التصريحات إلى استياء فريق قراصنة CWA، وقاموا بإعطاءه درس هو الآخر وذلك باختراق البريد الإلكتروني الخاص به.

ورفضت الـ FBI التعليق بشأن ما إذا كان تم اختراق Mark Giuliano أم لا.

مؤيدين للدولة الإسلامية قاموا باختراق 54 ألــف حساب تويتر وقاموا بنشر تفاصيل مديري الـ CIA والـ FBI

$
0
0

هكرز الدولة الإسلامية بقاموا باختراق عشرات الآلاف من حسابات منصة التواصل الاجتماعي “تويتر” من ضمنهم حسابات أعضاء بالـ FBI والـ CIA، وذلك انتقاماً لمقتل جهادي بريطاني في أغسطس الماضي عن طريق قصفه بطائرة بدون طيار.

ونتيجة لذلك قام الهكرز باختراق أكثر من 54.000 حساب تويتر”، بيد أن معظم الضحايا الذين تم استهدافهم من الجهاديين يقطنون بالمملكة العربية السعودية وأيضاً بعضهم بالمملكة المتحدة “بريطانيا”.

فيما قام أحد الضحايا الذين تم اختراق حساباتهم والموجود بالسعودية بالتغريد عبر حسابه قائلاً

“أنا مذعور من كيفية حصولهم على التفاصيل الخاصة بي”.


الهكرز لم يكتفوا فقط باختراق الآلاف من حسابات “تويتر”، بل قاموا أيضاً بنشر معلومات شخصية تمت قرصنتها، تحتوي على أرقام هواتف وكلمات مرور، لرؤساء الجهات التالية:ـ

* وكالة الاستخبارات المركزية CIA.
* مكتب التحقيقات الفدرالي FBI.
* وكالة الأمن القومي بالولايات المتحدة.

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

بعد مقتل Hussain قام فريق Cyber Caliphate بالسيطرة على حساب “تويتر” و “اليوتيوب” الخاص بالقيادة المركزية العسكرية الأمريكية (CENTCOM) في يناير، ليظهر ثانية على تويتر الاثنين الماضي.

Screen Shot 2015-11-05 at 12.22.22.jpg

“نحن عدنا”، تغريدة أُعلنت بواسطة Cyber Caliphate.

وقبل إيقاف الحساب الخاص بالمجموعة من قبل “تويتر”، كانت مجموعة Cyber Caliphate قد قامت بنشر تغريدة تحتوي على رابط لقاعدة بيانات تحتوي على حسابات تويتر، كلمات المرور، تم قرصنتها.

جدير بالذكر أن الحادثة جاءت فقط بعد يوم واحد من قيام مجموعة قراصنة Crackas With Attitude (CWA)، بالإعلان عن قيامهم بالسيطرة على بوابة رقمية خاصة بجهة حكومية، ومن ثم الحصول على سجلات الاعتقالات، وأدوات تستخدم لمشاركة المعلومات عن الأحداث الإرهابية والأعضاء النشطين.


اختراق بنك JPMorgan –ثلاثة رجال يواجهون اتهامات اختراق البنك الأكبر في التاريخ

$
0
0

اتهمت الحكومة الأمريكية قراصنة في اختراق هو الأكبر من نوعه في التاريخ المالي.

قامت محكمة المقاطعة الجنوبية بنيويورك باتهام ثلاثة رجال بقرصنة العديد من المنشآت المالية، منها JPMorgan Chase، ووفقاً لمسؤولين أنها أكبر عملية سرقة بيانات مستخدمين من المنشآت المالية الأمريكية في التاريخ.

ويعد بنك JPMorgan Chase من أكبر البنوك في العالم، والذي يسيطر على الكثير من الأصول والتي تبلغ قيمتها أكثر من 2.59 تريليون دولار.

الهكرز قاموا باستهداف تسعة منشآت مالية على الأقل وذلك بين عامي 2012 وحتى منتصف 2015، من هذه المنشآت JPMorgan Chase، وشركات سمسرة، بالإضافة إلى قرصنة معلومات أكثر من 100 مليون عميل.

jp_morgan_logo

الثلاثة رجال هم Gery Shalon, Ziv Orenstein و Joshua Samuel Aaron، وتم اتهامهم بـ 23 تهمة، بين قرصنة و سرقة هويات، تزوير أوراق مالية، غسيل أموال، والعديد من التهم الأخرى.

أيضاً هناك لائحة اتهام منفصلة كانت قد رفعت ضد هكر يدعى Anthony Murgio، والذي أُلقي القبض عليه على أثر هجوم إلكتروني على JPMorgan وأيضاً عملية هجومية على Bitcoin.

كما أكدت Patricia Wexler المتحدثة الرسمية باسم JPMorgan Chase أن عملية اختراق البيانات التي حدثت في عام 2014 كانت قد أثرت على 80 مليون أسرة.

جدير بالذكر أن المدعي العام الأمريكي بمنهاتن Preet Bharara قام بإعلان التفاصيل في مؤتمر صحفي أمس بـ Andrew Plaza.

مقال : التشفير وفك التشفير باستخدام لغة البرمجة بايثون – الجزء الثاني

$
0
0

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

شيفرة قيصر Caesar Cipher:

سميت بهذا الاسم نسبة  إلى الإمبراطور Julius Caesar وهو تشفير بسيط وسهل التعلم وهذا يسمح لمحلل الشيفرة cryptanalyst بكسره بسهولة

سوف نتعلم هذا التشفير لسهولة تطبيقه وسهولة فهمه يمكن القيام بتشفير قيصر باستخدام الورقة والقلم فقط قم بكتابة الأحرف من A إلى Z مع الأرقام من 0 إلى 25 بحيث يكون الرقم 0 تحت الحرف A والرقم 25 تحت الحرف Z كما في الشكل التالي:

Caesar1

من أجل التشفير نقوم بإيجاد الرقم الموجود تحت الحرف المراد تشفيره ثم نقوم بجمع قيمة مفتاح التشفير مع الرقم الرقم الناتج من عملية الجمع سوف يكون تحت الحرف المشفر.

مثلاً نريد تشفير الرسالة “? Hello How are you” باستخدام مفتاح التشفير 13 أولاً نقوم بإيجاد الرقم الموجود تحت الحرف H والذي هو الرقم 7 ثم نقوم بجمع هذا الرقم مع قيمة مفتاح التشفير 7+13=20 الرقم 20 موجود تحت الحرف U إذا الحرف U هو الحرف المشفر للحرف H من أجل تشفير الحرف E نقوم بجمع الرقم الموجود تحت الحرف E وهو الرقم 4 مع قيمة مفتاح التشفير 13 4+13=17 الرقم 17 يقع تحت الحرف R إذا الحرف R هو تشفير للحرف E وهكذا هذه الطريقة تعمل بشكل جيد إلى أن نصل إلى الحرف O الرقم تحت الحرف O هو 14 ولكن عندما نقوم بجمع هذا الرقم مع قيمة مفتاح التشفير 14+13=27 ولكن الأرقام التي لدينا هي فقط حتى 25 , إذا كان ناتج مجموع الرقم تحت الحرف مع قيمة مفتاح التشفير أكبر من 26 فيجب أن نطرح منه 26 أي 27-26=1 والحرف الموجود فوق الرقم 1 هو B إذا الحرف B هو الحرف المشفر للحرف O وذلك عند استخدام مفتاح التشفير 13 باستخدام نفس الطريقة على كل أحرف الرسالة “? Hello How are you” نحصل على الرسالة المشفرة “Uryyb Ubj ner Ibh?”

خطوات تشفير الرسالة هي: 

1- اختيار مفتاح سري للتشفير من 1 إلى 25.

2- إيجاد الرقم تحت الحرف بالنص الصريح.

3- جمع قيمة هذا الرقم مع قيمة مفتاح التشفير.

4- إذا كان الرقم الناتج عن عملية الجمع أكبر من 26 نقوم بطرح 26 منه.

5- إيجاد الحرف الموجود فوق الرقم الناتج، هذا الحرف هو الحرف المشفر.

6- تكرار الخطوات من 2 إلى 5 من أجل كل حرف في الرسالة.

الجدول التالي يظهر كيف تتم هذه العملية من أجل تشفير الرسالة “?Hello How are you” باستخدام مفتاح التشفير 13.

Ceasar2

من أجل عملية فك التشفير decrypt نقوم بعملية طرح قيمة مفتاح التشفير بدل من عملية الجمع.

من أجل الحرف المشفر B الرقم الموجود تحت هذا الحرف هو 1 نقوم بطرح قيمة مفتاح التشفير من هذا الرقم 1-13=-12 عندما يكون الناتج أقل من 0 (عدد سالب) نقوم بإضافة العدد 26 -12 +26=14 الحرف الموجود فوق الرقم 14 هو O وبالتالي عند فك تشفير الحرف B نحصل على الحرف O الجدول التالي يظهر خطوات عملية فك التشفير:

Ceesar3

الشيفرة العكسية دائماً تقوم بالتشفير بنفس الطريقة ولكن تشفير قيصر يستخدم المفاتيح keys حيث يتم تشفير الرسالة بطرق مختلفة بالاعتماد على قيمة المفتاح المستخدم.

المفتاح في شيفرة قيصر هو عدد صحيح ضمن المجال 0 إلى 25.

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

الكود البرمجي لشيفرة قيصر:

قم بكتابة الكود التالي في محرر النصوص واحفظه باسم caesarCipher.py واضغط F5 من أجل تنفيذ البرنامج يجب أن تقوم أولاً بتحميل الوحدة pyperclip.py module ووضع هذا الملف في نفس المجلد الموجود فيه الملف caesarCipher.py.

يمكنك تحميل هذا الموديول من http://invpy.com/pypreclip.py (عملية التحميل هي عبارة عن نسخ الكود الموجود في هذه صفحة الويب السابقة ولصقه وحفظه في محرر النصوص باسم pyperclip.py).

CeasarCipher1 CeasarCipher2

عند تشغيل هذا البرنامج سوف تظهر النتيجة التالية:

python_result_cipher

تم تشفير السلسة النصية ‘This is my secret message.’ بشيفرة قيصر باستخدام المفتاح 13 هذا البرنامج عندما يعمل يقوم بشكل أتوماتيكي بنسخ النص المشفر ويمكنك لصقه في ملف نصي أو في رسالة ايميل.

بهذه الطريقة يمكنك بسهولة أخذ النص المشفر إلى خارج البرنامج وإرساله إلى شخص أخر من أجل فك التشفير قم بلصق النص المشفر في السطر 7 ليتم اسنادها إلى المتغير message ثم قم بتغيير السطر 13 ليصبح mode = ‘decrypt’.

Ceasar4

الآن وعند تنفيذ هذا البرنامج سوف نحصل على النتيجة التالية:

Ceasar5

إذا حصلت على رسالة الخطأ التالية:

python_error_cipher

هذا يعني أنك لم تقم بوضع الملف pyperclip.py في المجلد الصحيح (نفس المجلد الذي قمت بحفظ البرنامج بداخله) إذا استمر هذا الخطأ ولم تتمكن من إصلاحه فقط قم بحذف السطرين 4 و 52 من الكود هذا سوف يخلص الكود من التعليمات التي تعتمد على pyperclip module الغاية من pyperclip module هو نسخ النص المشفر بشكل أتوماتيكي بعد تنفيذ البرنامج.

كيف يعمل هذا البرنامج:

سنقوم بشرح كل سطر من كود هذا البرنامج: السطر الأول والثاني عبارة عن تعليقات لا يقوم البايثون بتنفيذها وهي فقط اسم البرنامج وعنوان الموقع الذي يحوي على هذا البرنامج استيراد الموديولات باستخدام التعليمة import :

Ceasar_IMPORT

في السطر الرابع استخدمنا التعليمة import البايثون يحوي على العديد من التوابع المبنية في داخله، بعض التوابع موجودة في برامج منفصلة تسمى الموديول (الوحدة) Module وهي عبارة عن برنامج بايثون يحوي على توابع إضافية والتي يمكنك أن تستخدمها في برامجك.

في هذا البرنامج قمنا باستيراد الوحدة (الموديول) pyperclip من أجل أن نستطيع استدعاء التابع pyperclip.copy() تعليمة الاستيراد import مكونة من الكلمة import وتليها اسم الوحدة المراد استيرادها. في السطر الرابع قمنا باستيراد pyperclip module والذي يحوي على عدد من التوابع المتعلقة بنسخ ولصق النصوص من وإلى الذاكرة.

python_varible_cipher

في السطور السابقة قمنا بإعداد ثلاث متغيرات: المتغير message يحوي على السلسلة النصية التي سيتم تشفيرها أو فك تشفيرها. المتغير key يحوي على عدد صحيح وهو مفتاح التشفير encryption key المتغير mode يحوي على إحدى القيمتين ‘encrypt’ (والتي تخبر البرنامج بالقيام بتشفير الرسالة) أو ‘decrypt’ ( والتي تخبر البرنامج بالقيام بفك تشفير الرسالة).

الثوابت:

python_static_cipher

نحن بحاجة أيضاً إلى سلسلة نصية تحوي على كل الأحرف الأبجدية الكبيرة وبشكل مرتب. قمنا بإسناد السلسة النصية التي تحوي على كل الأحرف الأبجدية الكبيرة إلى المتغير LETTERS وهذه السلسلة تحوي على كل الأحرف التي يمكن أن يتم تشفيرها في برنامجنا هذه المجموعة من الأحرف تسمى مجموعة الرموز symbol set.

الطريقة upper :

Ceasar_upper

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

في السطر 22 قمنا بإسناد قيمة للمتغير message ، هذه القيمة هي ناتج تطبيق الطريقة upper() على القيمة المحفوظة في المتغير message. الطريقة method هي مثل التابع function (باستثناء أنها تلحق بقيم غير محتواه في الوحدات non-module value كما في السطر 22 حيث أن المتغير يحوي على قيمة) اسم الطريقة هو upper() ويتم استدعائها وتطبيقها على القيمة النصية المحفوظة في المتغير message.

التابع function ليس طريقة method لأنه موجود في الموديول module

كما سوف نرى في السطر 52 الذي يتم فيه استدعاء pyperclio.copy() ولكن pyperclip هي وحدة module والتي تم استيرادها في السطر الرابع، لذلك فإن copy() هو ليس طريقة method وهو تابع لأنه موجود داخل pyperclip module إذا كان هذا الأمر مربك لك فيمكنك دائماً تسمية الطرق والتوابع باسم تابع.

معظم أنواع البيانات (مثل السلاسل النصية) لها طرق methods.

السلاسل النصية تملك طرق upper() and lower() والتي تقوم بتحويل أحرف السلسلة النصية إلى أحرف صغيرة أو كبيرة.

حلقة for:

Ceasar_for

حلقة for تستخدم من أجل تكرار أو الدوران عبر قائمة أو سلسلة نصية وبشكل مختلف عن حلقة while التي تحوي على شرط فإن حلقة for تحوي على 6 أجزاء وهي:

1. الكلمة for.

2. اسم المتغير.

3. الكلمة in.

4. القيمة النصية أو المتغير الذي يحوي على قيمة نصية.

5. النقطتان :

6. كتلة من التعليمات.

for_python_Ceasar

في كل مرة يتم فيها تنفيذ البرنامج فإنه سوف يقوم بتكرار تنفيذ كتلة التعليمات داخل الحلقة.

 

 

 

 

if_python_Ceasar

إذا كان الحرف الموجود في المتغير symbol (المتغير symbol الذي تستخدمه حلقة for) موجودة في السلسلة النصية المحفوظة في المتغير LETTERS (أي إذا كان هذا الحرف هو حرف كبير) فإن نتيجة العبارة symbol in LETTERS ستكون True (الشرط محقق) تذكر أننا في السطر 22 قمنا بتحويل أحرف الرسالة إلى أحرف كبيرة باستخدام التعليمة :

()message = message.upper

لذلك فإن القيمة symbol لا يمكن أن تكون حرف صغير الحالة الوحيدة التي يكون فيها هذا الشرط غير محقق False هي عندما تكون قيمة symbol هي علامة ترقيم أو حرف مثل ‘?’ or ‘4’ نريد أن نفحص قيمة symbol إذا كانت حرف كبير لأن برنامجنا سوف يقوم بتشفير أو فك تشفير الأحرف الكبيرة فقط، وأي أحرف أو رموز أخرى سوف تضاف إلى القيمة النصية المحفوظة في المتغير translator بدون تشفير أو فك تشفير.

كتلة تعليمات جديدة تبدأ بعد تعليمة if في السطر 26 وإذا نظرت إلى باقي البرنامج سوف تلاحظ أن كتلة التعليمة هذه تستمر إلى السطر 42 حيث توجد التعليمة else والتي هي جزء من التعليمة if الموجودة في السطر 26 :

if_mode

الآن وبعد أن عرفنا رقم الحرف الموجود في المتغير num يمكننا تشفيره أو فك تشفيره من خلال إضافة أو طرح قيمة مفتاح التشفير من رقم هذا الحرف.

في شيفرة قيصر يتم إضافة قيمة مفتاح التشفير إلى رقم الحرف من أجل التشفير ويتم إنقاص قيمة مفتاح التشفير من رقم الحرف من أجل عملية فك التشفير.

المتغير mode يحوي على سلسلة نصية تخبر البرنامج أن يقوم بعملية التشفير أو فك التشفير إذا كانت قيمة هذا المتغير هي ‘encrypt’ فإن الشرط في السطر 29 سيكون محقق وسوف يقوم البرنامج بتنفيذ السطر 30 (وسوف يتجاوز كتلة التعليمات الخاصة بالتعليمة elif) أما إذا كانت قيمة هذا المتغير هي أي قيمة أخرى غير ‘encrypt’ فسوف يكون الشرط في السطر 29 غير محقق False وعندها سوف يقوم البرنامج بتجاوز السطر 30 ويقوم بفحص حالة السطر الخاص بتعليمه elif في السطر 31 في هذه الطريقة يعرف البرنامج فيما إذا كان يجب عليه أن يقوم بعملية التشفير (إضافة قيمة مفتاح التشفير) أو أن يقوم بعملية فك التشفير (طرح قيمة مفتاح التشفير)

if_in_python

تذكر عندما قمنا بتنفيذ تشفير قيصر باستخدام الورقة والقلم في الحالات التي كانت نتيجة جمع قيمة المفتاح مع العدد الخاص بالحرف المراد تشفيره وكانت النتيجة أكبر من 26 أو في حالة فك التشفير عند القيام بعملية الطرح وكانت النتيجة أصغر من 0 ، في هذه الحالات كنا نقوم بجمع أو طرح القيمة 26 إلى أو من النتيجة من أجل الحصول على القيمة الصحيحة وهذه العملية تتم في الأسطر من 36 إلى 39 من البرنامج.

إذا كانت قيمة num أكبر أو تساوي 26 فإن الشرط في السطر 36 سيكون محقق True وسوف يتم تنفيذ السطر 37 (ويتم تجاوز التعليمة elif في السطر 38) ومن ناحية أخرى فإن بايثون يقوم بفحص إذا كانت قيمة num أصغر من 0 فإذا كان هذا الشرط محقق فسوف يتم تنفيذ السطر 39 في شيفرة قيصر يتم إضافة أو طرح القيمة 26 لأن عدد الأحرف في اللغة الإنكليزية هو 25 حرف. لاحظ أنه بدلاً من استخدام القيمة 26 بشكل مباشر قمنا باستدعاء التابع len(LETTERS) والذي سوف يقوم بإعادة القيمة 26 يمكننا تعديل القيمة المحفوظة في المتغير LETTERS من أجل تشفير أوفك تشفير أحرف غير كبيرة وهذا ما سيتم شرحه في نهاية هذا المقال.

translated

الآن وبعد أن تم تعديل قيمة العدد الموجود في المتغير num وأصبح قيمة الفهرسة أو دليل الحرف المراد تشفيره أو فك تشفيره، نريد إضافة الأحرف المشفرة أو غير مشفرة إلى نهاية السلسلة النصية المحفوظة في المتغير translated :

translated2

في السطر 44 التعليمة else تبعد مسافة بدائية مقدارها أربعة فراغات وهذا يدل على أنها استمرار للتعليمة if الموجودة في السطر 26 إذا كانت الشرط الخاص بتعليمه if في السطر 26 غير محقق فإن كتلة التعليمات السابقة سوف يتم تجاوزها والانتقال إلى تنفيذ التعليمة الخاصة ب else في السطر 46 (السطر 45 يتم تجاوزه لأنه عبارة عن تعليق) كتلة التعليمات الخاصة ب else هي عبارة عن سطر واحد حيث يتم إضافة القيمة المحفوظة في المتغير symbol إلى القيمة الموجودة في المتغير translated الرموز أو القيم الغير حرفية مثل الفراغ ‘ ‘ أو النقطة ‘ . ‘ يتم إضافتها إلى translated بدون أي تشفير أو فك تشفير.

عرض ونسخ النص المشفر أو الغير مشفر:

print_translated

السطر 49 لا يحوي على مسافة بدائية وهذا يعني أن كتلة التعليمات السابقة قد انتهت في السطر 49 تم استدعاء التابع print() من أجل أن يقوم بطباعة قيمة المتغير translated في السطر 52 تم استدعاء التابع الموجود في الوحدة pyperclip module والمسمى copy() وحيث يتم تمرير قيمه له ليتم نسخها إلى الذاكرة لنتمكن من لصقها في مستند نصي أو في أي مكان أخر. إذا قمت باستدعاء التابع بالشكل التالي copy(translated) بدلاُ من الشكل pyperclip.copy(translated) فسوف تظهر رسالة خطأ :

error_print

وفي حال نسيت استدعاء الوحدة import pyperclip فلن تتمكن من استدعاء التابع pyperclip.copy() وسوف تحصل على رسالة خطأ.

تشفير القيم الغير حرفية:

برنامج شيفرة قيصر الذي قمنا بكتابته لا يستطيع تشفير القيم الغير حرفية.

إذا كنت تريد تشفير السلسلة النصية التالية ‘The password is 31337’ باستخدام مفتاح التشفير 20 فسوف تتم عملية التشفير وسوف نحصل على السلسلة المشفرة التالية ‘Dro zkccgybn sc 31337’ هذه الرسالة المشفرة لا تحافظ على سرية الرسالة ويمكننا تعديل البرنامج السابق من أجل تشفير القيم الغير حرفية.

إذا قمت بتغير السلسلة النصية المحفوظة في المتغير LETTERS لتحوي على قيم غير الأحرف الكبيرة وذلك لأن السطر 26 يحوي على الشرط symbol in LETTERS والذي يجب أن يكون محقق.

بعد تعديل الكود سوف تعرف السبب من استخدام len(LETTERS) بدلاً من كتابة 26 بشكل مباشر. تعديل الكود يتم من خلال تعديل السطر 16 ليصبح يحوي على رموز وأرقام وجعل السطر 22 عبارة عن تعليق عن طريق إضافة الرمز # في بداية هذا السطر.

كما سنقوم بالتعديل على البرنامج لتتمكن من ادخال النص وقيمة المفتاح ونوع العملية اثناء تنفيذ البرنامج وذلك من خلال تعديل الأسطر التالية لتصبح كالتالي:

points

ليصبح الكود البرمجي بشكل كامل بعد التعديل كالتالي:

final_Ceasar.png

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

ثغرة في تطبيق Gmail الخاص بأجهزة الأندرويد تسمح للقراصنة بخداع المستخدمين

$
0
0

باحث أمني قام باكتشاف ثغرة أمنية في تطبيق Gmail الخاص بنظام تشغيل “أندرويد”، هذه الثغرة تسمح بتزييف مصدر الرسائل، مما يخلق بيئة مناسبة لهجمات التصيد.

هذه العملية تسمى بالـ E-mail Spoofing، تزوير عنوان البريد الإلكتروني، وذلك حتى يبدو أن الرسالة مرسلة من عنوان مختلف تماماً عن العنوان الحقيقي الذي تم إرسالها منه.

وللقيام بمثل هذا النوع من الهجوم فإن الهكر بحاجة إلى الآتي:ـ

– سيرفر SMTP لإرسال الرسائل.
– برنامج رسائل.

قامت باحثة أمنية تسمى Yan Zhu، باكتشاف ثغرة مماثلة في التطبيق الرسمي الخاص بـ Gamil للأندرويد، وتمكنت الباحثة من خلال استغلال هذه الثغرة من إخفاء عنوان بريدها الحقيقي وتغيير اسمها في إعدادات الحساب، مما يصعب معه على متلقي الرسالة تحديد هوية المرسل الحقيقي.

وقامت Zhu بإثبات اكتشافها وذلك بإرسال رسالة لبريد معين وقامت بتغيير عرض اسمها إلى yan “”security@google.com” كما يظهر في الصورة التالية:ـ

1447444003426424

بمجرد استلام الرسالة، فإنه يمكن خداع المتلقي لاعتقاد أن الرسالة قد اٌُرسلت من الفريق الأمني الخاص بجوجل، في حين أنها ليست كذلك.

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

القراصنة يمكنهم تسجيل واستماع المكالمات التي تتم من هواتف Samsung Galaxy

$
0
0

إذا كنت تمتلك هاتف Samsung Galaxy s6, s6 Edge أو Note4، فإنك في الغالب قد تقع ضحية للتنصت وتسجيل كل مكالماتك ومحادثاتك الهاتفية بواسطة القراصنة.

قام الباحث الأمني Daniel Komaromy من سان فرانسيسكو، و Nico Golde من برلين، بشرح هذه الثغرة في مؤتمر أمني بطوكيو.

قام الثنائي بشرح هجوم man-in-the-middle (MITM) واعتراض المكالمات الصوتية.

<unnamed/p>

وتكمن المشكلة في الرقاقة المسئولة عن معالجة المكالمات الصوتية بهواتف Samsung.

قام الثنائي بإعداد محطة OpenBTS وهمية، قريبة من أجهزة Samsung، منها Samsung S6, S6 Edge.

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

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

اكتشاف ثغرة Zero-day بمتصفح Chrome تعرض الملايين من مستخدمي أجهزة الأندرويد للاختراق

$
0
0

استطاع القراصنة الوصول إلى طريقة تمكنهم من اختراق هاتفك الأندرويد والتحكم فيه تحكماً كاملاً حتى وإن كان نظام التشغيل الخاص بجهازك up to date.

قام الباحث الأمني Guang Gong مؤخراً باكتشاف ثغرة zero-day حرجة في الإصدار الأخير من متصفح كروم الخاص بأجهزة الأندرويد، الثغرة تعمل على جميع أجهزة الأندرويد وتسمح للمهاجمين بالسيطرة الكاملة على أجهزة الضحايا.

تكمن الثغرة بـ JavaScript v8 engin، والذي يأتي مثبت بشكل مسبق على كل الهواتف الحديثة.

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

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

جدير بالذكر أن هذا الاستغلال كان قد تم شرحه من قبل Gong بمسابقة MobilePwn2Own خلال مؤتمر PacSec 2015 بطوكيو.

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

وحتى تكون بمأمن من هذه الثغرة، فإن الخبراء ينصحون المستخدمين باستخدام أي متصفح آخر حتى تقوم شركة “جوجل”، بإصدار إصلاح لهذه الثغرة.

الـ FBI تنكر قيامها بدفع مليون دولار لكشف مستخدمي Tor

$
0
0

قبل أمس قام Roger Dingledine مدير مشروع Tor باتهام مكتب التحقيقات الفيدرالي الـ FBI بدفع مبلغ مليون دولار أمريكي لجامعة Carnegie Mellon University (CMU) وذلك للحصول على التقنية التي قاموا بابتكارها لكشف مستخدمي Tor، وعناوين الأيبيهات الخاصة بهم.

فيما قام مكتب التحقيقات الفيدرالي بنفي هذه الادعاءات، وفي بيان ألقاه المتحدث الرسمي بالـ FBI قال: “إن الإدعاءات التي تقول بأننا قمنا بدفع مبلغ مليون دولار لاختراق مستخدمي Tor هي إدعاءات غير دقيقة”.

قام فريق Tor Project باكتشاف أكثر من مائة تطبيق Tor تم التعديل على الـ Header Protocol الخاص بهم من أجل تتبع المستخدمين، ويعتقد فريق Tor Project أن هناك علاقة قوية بين ذلك وبين الـ FBI وذلك للكشف عن عناوين الأيبيهات الخاصة بمستخدمي Tor.

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

أيضاً لم يقم المتحدث باسم الـ FBI بتقديم تصريحات أخرى حول هذه الإدعاءات حتى الآن.

مجموعة “أنونيموس”تعلن الحرب على تنظيم الدولة الإسلامية

$
0
0

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

قام فريق “أنونيموس”، بنشر رسالة مرئية باللغة الفرنسية على موقع Youtube أمس الأحد، وأعلن فيه عن بداية عملية OpParis#، وستكون في صورة حملة منسقة لاستهداف قنوات التواصل الاجتماعية الخاصة بتنظيم الدولة الإسلامية، بالإضافة إلى استهداف أي شخص يدعمهم، أو أي مجموعة جهادية على شبكة الانترنت.

وتم الإعلان عن العملية OpParis# انتقاماً للهجوم الدامي الأخير الذي قام به أشخاص ينتمون للدولة الإسلامية في العراق والشام في باريس الجمعة الماضية 13 نوفمبر 2015.

وقال المتحدث الرسمي باسم مجموعة أنونيموس “إن أعضاء Anonymousفي جميع أنحاء العالم سوف يطاردونكم، توقعوا هجوماً إلكترونياً كبيراً، الحرب أُعلنت، استعدوا”.

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

جدير بالذكر أن أعضاء أنونيموس كانوا قد قاموا باختراق، وكشف والإبلاغ عن الآلاف من حسابات منصة التواصل الاجتماعي “تويتر” الخاصة بأعضاء وداعمين الدولة الإسلامية ، بعد موقعة “شارلي ايبدو” في يناير الماضي.

أيضا قام موقع فيسبوك الجمعة الماضية بحذف الصفحة الخاصة بفريق “أنونيموس”، وذلك بعد الكشف والإبلاغ عن العديد من الحسابات الخاصة بأعضاء وداعمين للدولة الإسلامية، أيضاً تم إيقاف كل الحسابات الخاصة بمديري الصفحة بدون أي تحذيرات مسبقة.

وعلقت الشركة أن المجموعة قامت بانتهاك شروط الخدمة ومعايير فيسبوك.


مقال : عملية opParis وإستهداف المواقع العربية و iSecur1ty

$
0
0

لا بد من أنك قد سمعت بالتفجيرات التي حصلت بالعاصمة الفرنسية باريس قبل أسبوع تقريباً , ومما لا شك فيه أنك قد سمعت أيضاً عن الضجة الإلكترونية التي حصلت بعد إعلان مجموعة أنونيموس “Anonymous” الحرب على تنظيم الدولة الإسلامية وإطلاق عملية OpParis ضد جميع المواقع والجهات التي “تدعم” تنظيم الدولة الإسلامية رداً على هذه الهجمات الدامية.

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

يبدو أنهم إعتقدوا أن iSecur1ty تابع لتنظيم الدولة بسبب تغطيتنا لبعض الأخبار عن إختراقات إلكترونية تابعة للتنظيم.

من المعروف لدى الجميع وكما شاهدنا بالفترة الأخيرة , أن أغلب الهجمات الإلكترونية الخاصة ضمن عملية opParis كانت هجمات حجب خدمة Ddos “بالمُجمل” مع بعض عمليات إختراقات لحسابات تويتر وإغلاقها كما شاهدت وتابعت خلال الأحداث , وكانت بفترة سابقة المجموعة أعلنت عن قائمة الأهداف والتي تزعم المجموعة أنها “مؤيدة” لتنظيم الدولة الإسلامية ويمكنكم مشاهدتها عبر الرابط التالي , فور مشاهدتك لهذه القائمة سوف تتعجب من وجود الكثير من المواقع من ضمنها cyberkov.com وهو كما نعلم موقع شركة cyberkov لأمن المعلومات وليس له أي صلة بتنظيم الدولة لا من قريب ولا من بعيد , أيضاً نرى موقع كتائب القسام والذي بالطبع ليس له أي علاقة بتنظيم الدولة كذلك.

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

بدأ الهجمات على iSecur1ty

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

بتاريخ 16/11/2015 وفي الساعة 6:39AM حسب London GMT وردتنا تغريدة من شخص يدعى bangstress تفيد بالتالي :

tweet_pic_bang

طبعاً في هذه التغريدة يخبرنا bangstress بما مفاده بأنه قد قام بتعطيل isecur1ty.com , ويخبرنا بإستدعاء الفريق التقني كذلك.

tweet_number2

كما نشاهد  في التغريدتين السابقتين أخبرنا بأنه قد قام بتعطيل المجتمع , وأن جدار حماية تطبيقات الويب “WAF” الخاصة بشركة OVH لم يتمكن من صد الهجوم الخاصة به.

لمن يُركز قليلاً بكلامه يستنتج بأنه ذكر جدار حماية تطبيقات الويب وأنه من المفترض أنه يقوم بعمل http Flood.

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

بعد ذلك بيومين وبتاريخ 18/11/2015 وفي الساعة 11:44AM بتوقيت عمّان , وردتنا بعض التنبيهات من خلال بعض برامج المراقبة ومن فريق العمل بأن الموقع متوقف , حيث قمنا بتحليل الهجمة بشكل مطول , مع العلم بأن الهجمة إستمرت لما يزيد عن 6 ساعات وكان المجتمع متعطل بشكل كامل لغاية الساعة 6:30PM بتوقيت عمّان.

 

عملت أنا بشكل شخصي على تحليل الهجمة , وقمت على الفور بمراقبة العمليات على السيرفر الخاص بالمجتمع لأجد ضغط كبير جداً على مفسر php و خادم الويب  ومن البديهي جداً في هذه الحالة أن يكون المجتمع متوقف بشكل كامل بسبب http flood كما توقعنا مسبقاً.

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

بعد ذلك قمت بالبدأ بتحليل ملفات http logs الخاصة بالسيرفر ووجدت عدد كبير جداً جداً من الطلبات قادمة للمجتمع وهذه عينة منها تم إرسالها من عنوان ip واحد فقط :

log_snap

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

طبعاً وبكل صراحة كانت هذه هجمة قوية جداً , لم نتمكن قط من التصدي لها بالشكل المطلوب ولكننا قمنا ببعض الإجراءات التي خففت ولو بشكل بسيط من حدت الهجمة لغاية إنتهائها.

بحسب تحليلتنا فإن هذه الهجمة قدمت من مجموعة من الأجهزة المخترقة والمصابة ببرمجية خبيثة نرجح من أنها Botnet قد أصاب هذه الأجهزة وقام بإستخدامها لتنفيذ هذه الهجمات.

الدول التي قدمت منها الهجمات 

كما ذكرت كان عدد الأجهزة كبير نوعاً ما , وكانت قادمة من أجهزة من دول مختلفة منها :

  1. الولايات المتحدة.
  2. بريطانيا.
  3. تايلند.
  4. فلسطين.
  5. باكستان.
  6. الأردن.
  7. السعودية.
  8. المغرب.
  9. الجزائر.

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

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

من الجدير بالذكر أن مثل هذه الهجمات تكون فتاكة ولا يمكن التعامل معها على مستوى السيرفر , بل تحتاج إلى العديد من جدران الحماية للتصدي لها , ومن الممكن أن تفشل كذلك.

المسمى الحقيقي لهذه الهجمات 

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

botnet_image_flood

طبعاً حسب ما وردنا بأن الهجمات ليست مقتصرة فقط على http flood , بل أن هنالك هجمات udp flood قد رُصدت كذلك.

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

نصائح في حال تعرضت لمثل هذه الهجمات

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

الخلاصة

أحببت بهذا المقال البسيط فقط أن أوضح بعض الأمور والحقائق البسيطة حول الهجمات التي تعرضنا لها في iSecur1ty وحقيقة الهجمات العامة التي تحصل على المواقع بشكل عام.

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

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

بالنهاية نأمل بأن تكون هذه الهجمات قد مرت بسلام على جميع المواقع العربية التي لا ناقة لها ولا جمل بهذه الأحداث ,ونأسف مجدداً لفترة التعطل التي مررنا بها.

بشرى لمستخدمي ماك: الآن يمكنك فحص تطبيقات Mac OS X باستخدام VirusTotal

$
0
0

وفقاً للعديد من الإحصائيات فإن البرمجيات الضارة الخاصة بـ MAC OS X قد تضاعفت بمقدار خمس مرات في عام 2015 أي وصلت في سنة واحدة إلى ما كانت عليه في الخمس سنوات السابقة مجتمعة.

وكما أن البرمجيات الخبيثة الخاصة بـأجهزة Mac أصبحت تتزايد، فإن شركة جوجل قد قررت إضافة دعم Mac OS X إلى خدمة اكتشاف البرمجيات الضارة أونلاين من خلال موقع VirusTotal.

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

موقع VirusTotal يقوم بفحص الملفات التي ترفع إليه بأكثر من 55 برنامج مضاد فيروسات، وذلك لتقديم تقرير موحد عن النتائج.

ووفقاً للبيان الأخير فإن VirusTotal سيكون قادراً على تشغيل ملفات الـ Mac التنفيذية المشبوهة وفحصها من الفيروسات.

على كل حال أصبح الآن بإمكان مستخدمي Mac القيام بفحص أي ملفات للتأكد من خلوها من أي مخاطر محتملة عن طريق موقع www.virustotal.com.

مجموعة القراصنة الشهيرة “أنونيموس”قامت بسحب وإيقاف 20.000 حساب تويتر خاص “بداعش”

$
0
0

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

في الوقت الذي تقوم به فرنسا وأمريكا وروسيا بقصف الدولة الإسلامية من السماء بواسطة الطيران، أيضاً يقوم أعضاء فريق “أنونيموس”، من كل أنحاء العالم بشن حملة هجومية إلكترونية كبيرة ضد المنظمة الإرهابية تحت عنوان #OpParis.

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

وأعلن فريق أنونيموس في فيديو تم نشره على موقع يوتيوب الاثنين الماضي، أنهم قاموا بسحب ما يزيد عن 20 ألف حساب على موقع تويتر ينتمي لأعضاء بالدولة الإسلامية وبعض المؤيدين لها.

وقام الفريق بطرح القائمة التي تحتوي على جميع الحسابات -أنونيموس-قامت-بسحب-وإيقاف-20.000-حساب-تويتر-خاص-بداعشالتي تم سحبها.

وفي الثلاثاء الماضي أعلنت مجموعة أنونيموس أيضاً نجاحها في سحب 5.500 حساب آخرين لأعضاء نشطين بالتنظيم.


وجاء في الفيديو الأخير الذي طًرح بواسطة أنونيموس الرسالة التالية:ـ

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

هكر يعترف بمساعدته للـ FBI للإيقاع بهكر ينتمي للدولة الإسلامية والذي قتل بقصف طائرة بدون طيار

$
0
0

هل تتذكرون Junaid Hussain أفضل قراصنة الدولة الإسلامية ويعتبر العقل المدبر لهجماتها الإلكترونية والذي تم قتله بطائرة بدون طيار في شهر أغسطس من هذا العام.

لكن ظهر شيئاً ما وهو ما لم نكن نعرفه عن موت Hussain.

هكر شهير كان قد قام باختراق الحساب الخاص بمجموعة “أنونيموس” على شبكة التواصل الاجتماعية تويتر، اعترف الآن أنه عمل كمخبر للـ FBI لمساعدة حكومة الولايات المتحدة الأمريكية على الإيقاع بـ Junaid Hussain.

الهكر الذي يشتهر بـ Shm00p (@5hm00p)، وعضو بمجموعة قراصنة تسمى Rustle League، قال أنه متأكد بنسبة 99.9%، أن المعلومات التي قام بإعطائها للـ FBI هي التي أدت لمقتل Hussain.

وقام Shm00p بنشر التغريدة التالية على حساب تويتر الخاص به

“What the fuck have I done,”

وبعد 15 ساعة من التغريدة الأولى قام Shm00p بعمل سلسلة من التغريدات على حساب الـ FBI بتويتر.

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

Shm00p الذي يعيش في Las Vegas، كان يعرف Hussain البريطاني المولد، عن طريق انتسابهم لفريق قراصنة يسمى Team Poison.

في عام 2014 قام Hussain بالتواصل مع Shm00p بواسطة خدمة دردشة مشفرة تسمى Jabber. و Shm00p كان قادراً على تحديد موقع Hussain ومن ثم قام بتمرير المعلومات إلى الـ FBI.

وقال Shm00p أنه كان متأكداً من أن هذه المعلومات ستؤدي لمقتل Junaid، الذي غادر المملكة المتحدة وإلتحق بالدولة الإسلامي في عام 2013.

وغرد Shm00p

“لقد ساعدتكم في قتله، هل تعلمون ما أشعر به الآن عندما أنام ليلاً، وبغض النظر عن أنه كان إرهابياً إلا أنني أشعر بالخيانة”.

وبناء على التغريدات فإن Shm00p اُجبر على مساعدة FBI، لأنها هددت معيشة عائلته.

جدير بالذكر أن الـ FBI لم تعلق على تصريحات Shm00p حتى الآن.

مقال : تقنيات التشفير في الشبكات اللاسلكية wireless Networks

$
0
0

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

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

  • WEP – Wired Equivalent Privacy : هو برتوكول لمصادقة المستخدم وتشفير البيانات وهو أقدم معيار لحماية الشبكات اللاسلكية ويمكن كسره بسهولة.
  • WPA – Wi-Fi Protected Access : هو برتوكول مطور لمصادقة المستخدم ولتشفير البيانات و يستخدم طرق التشفيرTKIP, MIC and AES encryption وهو يستخدم 48-bit IV, 32-bit CRC and TKIP
  • WPA2 – Wi-Fi Protected Access 2 :برتوكول لمصادقة المستخدم وتشفير البيانات ويستخدم AES(128-bit) and CCMP لتشفير البيانات في الشبكات اللاسلكية.
  • WPA2 Enterprise : هو دمج للمعيار EAP مع تشفير WPA.
  • TKIP – Temporal Key Integrity Protocol : برتوكول حماية يستخدم في WPA.
  • Advanced Encryption Standard : تقنية تشفير متناظر symmetric-key encryption تستخدم في WPA2 بدلاً من TKIP.
  • EAP – Extensible Authentication Protocol : برتوكول مصادقة يستخدم عدة طرق مصادقة مثل token cards, Kerberos and certificates.
  • LEAP – Lightweight Extensible Authentication Protocol : برتوكول مصادقة يستخدم في الشبكات اللاسلكية وهو مملوك من قبل شركة سيسكو.
  • RADIUS – Remote Authentication Dial-In User Service :نظام مصادقة مركزي.
  • 802.11i : معيار صادر عن IEEE يُعرف تقنية لحماية الشبكات اللاسلكية.
  • CCMP – Counter Mode Cipher Block Chaining Message Authentication Code Protocol : تقنية تشفير تستخدم مفتاح بطول 128-bit وعامل أولي بطول initialization vector (IV) 48-bit.

تشفير WEP : 

هو إختصار ل Wired Equivalent Privacy وتعني الخصوصية المكافئة للشبكة السلكية و هو برتوكول حماية وهو جزء من المعيار IEEE 802.11 standard الهدف الأولي منه كان تأمين الخصوصية للبيانات في الشبكات اللاسلكية على مستوى يكافئ الخصوصية في الشبكات السلكية. الحماية الفيزيائية يمكن أن تطبق في الشبكات السلكية لمنع الوصول الغير مسموح به إلى مصادر الشبكة أما في الشبكات اللاسلكية فيمكن الوصول إلى الشبكة بدون اتصال فيزيائي معها لذلك قامت IEEE باستخدام آلية تشفير في طبقة data link layer للتقليل من الوصول الغير مسموح به unauthorized access إلى الشبكة اللاسلكية وتم ذلك بتشفير البيانات باستخدام خوارزمية التشفير المتناظر RC4.

دور WEP في الاتصال اللاسلكي:

  • WEP يحمي من التجسس على الشبكة اللاسلكية.
  • يقلل من الوصول الغير مسموح به إلى الشبكة اللاسلكية.
  • يعتمد على مفتاح سري secret key هذا المفتاح يستخدم لتشفير حزم البيانات packets قبل إرسالها، جهاز المستخدم والأكسس بوينت يتشاركون على هذا المفتاح تتم عملية فحص السلامة integrity check للتأكد من أن حزم البيانات packets لم تتبدل أثناء عملية الإرسال.
  • WEP يشفر البيانات فقط.

الهدف الأساسي من WEP : 

  • الخصوصية: فهو يؤمن عدم التجسس على البيانات.
  • التحكم بالوصول: فهو يحدد من يستطيع الوصول للشبكة ومن لا يستطيع.
  • سلامة البيانات: فهو يحمي البيانات من التغير من قبل طرف ثالث.

النقاط الأساسية في WEP:

WEP يملك نقاط ضعف وخلل في التصميم هو تشفير تدفقي stream cipher يستخدم RC4 لتوليد سلسلة من bytes التي تدخل في عملية XOR مع النص الصريح plaintext.

طول WEP وطول المفتاح السري : 

  • 64-bit WEP يستخدم مفتاح بطول 40-bit.
  • 128-bit WEP يستخدم مفتاح بطول 104-bit.
  • 256-bit WEP يستخدم مفتاح بطول 232-bit.

العيوب في WEP:

  • لم يعرف طريقة لتوزيع مفاتيح التشفير:
    1- المفاتيح المشتركة Pre-shared keys تضبط عند التركيب ونادراً ما يتم تغييرها.
    2-من السهل اكتشاف النص الصريح من عدد من الرسائل المشفرة بنفس المفتاح.
  • يستخدم RC4 الذي صمم ليستخدم للتشفير لمرة واحدة وهو غير معد لتشفير عدة رسائل :
    1-  بما أن المفتاح المشترك pre-shared key نادراً ما يتم تغييره، فإن المفتاح نفسه يستخدم دائماً.
    2- مختبر الاختراق يراقب حركة البيانات traffic ويكتشف طرق مختلفة للعمل مع رسائل النص الصريح.
    3- بمعرفة النص المشفر ciphertext والنص الصريح plaintext ، فإن مختبر الاختراق يستطيع حساب مفتاح التشفير.
  •  مختبر الاختراق يحلل حركة البيانات traffic التي قام بالتقاطها ويقوم بكسر WEP keys بمساعدة أدوات مثل AirSnort, WEPCrack, and dweputils.
  • طريقة توليد المفاتيح المستخدمة من قبل المُصنعين قابلة للهجوم من أجل مفتاح 40-bit.
  • خوارزمية تخطيط المفاتيح هي أيضاً عرضة للهجوم.

كيف يعمل WEP:

لتشفير الحمل المفيد payload من الفريم اللاسلكي 802.11 frame فإن تشفير WEP يقوم بالخطوات التالية:

  • قيمة فحص السلامة 32-bit Integrity Check Value ICV يتم حسابها من أجل فريم البيانات.
  • ICV تلحق في ذيل فريم البيانات.
  • العامل الأولي 24-bit Initialization Vector IV يتم توليده ويضاف إلى مفتاح التشفير WEP.
  • مجموع IV and WEP key يستخدم في دخل خوارزمية RC4 لتوليد Key stream بطول مساوي لمجموع طول البيانات مع طول ICV.
  • Key stream يدخل في عملية XOR مع مجموع البيانات و ICV وذلك لتوليد البيانات المشفرة التي ترسل بين المستخدم والأكسس بوينت.
  • العامل الاولي IV يضاف إلى البيانات المشفرة في حقل أخر لتوليد MAC frame MAC ليست العنوان الفيزيائي بل هي Message Authentication Control.

wep-draw

تشفير WPA : 

WPA هي اختصار ل Wi-Fi Protected Access وهو منسجم مع المعيار 802.11i هو software upgrade ولكنه يمكن أن يحتاج أيضاً إلى تحسين الجهاز hardware upgrade في الماضي التقنية التي كانت تستخدم للحماية هي WEP، سيئة WEP انه يستخدم مفتاح تشفير ثابت وبالتالي المهاجم يستطيع استغلال هذا الضعف باستخدامه أدوات متوفرة بشكل مجاني على الانترنت معهد المهندسين الكهربائيين والالكترونيين IEEE عرف إضافات للمعاير 802.11 تسمح بزيادة الحماية، تقريباً كل شركات Wi-Fi قررت استخدام المعيار WPA لزيادة الحماية.

وبالفعل ازدادت الحماية للبيانات المشفرة في WPA كما أن الرسالة تمر عبر مرحلة فحص سلامة الرسالة Message Integrity Check (MIC) وتم استخدام برتوكول سلامة المفتاح المؤقتTemporal Key Integrity Protocol (TKIP) لتحسين تشفير البيانات حيث يم يغير مفتاح التشفير بعد كل فريم باستخدام TKIP وبشكل أتوماتيكي يتم التنسيق بين الاكسس بوينت وجهاز المستخدم.

  • TKIP – Temporal Key Integrity Protocol : يستخدم التشفير التدفقي RC4 stream cipher encryption مع 128-bit keys and 64-bit keys من أجل المصادقة TKIP قلل من نقطة الضعف التي كانت موجودة في مفتاح WEP وذلك بعدم استخدام نفس العامل الاولي Initialization Vector IV.
  • المفتاح المؤقت 128-bit Temporal Key: في TKIP المستخدم يبدأ مع 128-bit “temporal key”  – TK الذي يدمج بعدها مع عنوان الماك للمستخدم MAC address ومع IV لينتج المفتاح الذي سيستخدم لتشفير البيانات بواسطة RC4.
  • WPA حسن WEP: TKIP حسنت WEP وذلك بإضافة طريقة لإعادة توليد المفاتيح لتؤمن تشفير وسلامة للمفاتيح، المفاتيح المؤقتة تتغير كل 10000 packet هذا يجعل TKIP قادر على حماية الشبكة بشكل أكثر من هجوم فك التشفير واستعادة مفتاح التشفير.

كيف يعمل WPA:

لتشفير الحمل المفيد payload بشكل فعال، فإن التشفير WPA encryption يقوم بالخطوات التالية:

  • مفتاح التشفير المؤقت وعنوان المرسل وTKIP sequence counter TSC يطبقوا كدخل لخوارزمية RC4 لتوليد المفتاح key stream
  • MAC Service Data Unit  – MSDU والتي هي معلومات الطبقات العليا (من الطبقة الثالثة حتى الطبقة السابعة) وفحص سلامة الرسالة message integrity check  – MIC يتم دمجهم باستخدام خوارزمية Michael.
  • الناتج من دمج MSDU and MIC يتم تقسيمه لتوليد MAC Protocol Data Unit – MPDU  وهو الفريم اللاسلكي.
  • قيمة فحص السلامة 32-bit Integrity Check Value ICV تُحسب من أجل MPDU (الفريم).
  • ناتج دمج MPDU and ICV يدخل في عملية XOR مع key stream لتوليد البيانات المشفرة.
  • العامل الاولي IV يضاف إلى البيانات المشفرة لتوليد MAC frame.

MAC هنا ليست عنوان الماك بل هي Message Authentication control.

المفاتيح المؤقتة :

تأمين الخصوصية للشبكة اللاسلكية عبر التردد الراديوي جعل من استخدام التشفير هو أمر ضروري.

temp-wpa-key

في البداية WEP استخدم كطريقة تشفير أساسية ولكن بسبب العيوب التي وجدت في هذا التشفير تم استخدام WPA عوضاً عنه، مؤخراً كل المعدات تستخدم إما TKIP (WPA) or ASE (WPA2) للتأكيد على حماية الشبكة اللاسلكية. في تقنية التشفير WEP فإن مفاتيح التشفير Temporal Keys تنتج من زوج المفاتيح الرئيسي Pairwise Master Key (PMK) الذي ينتج خلال جلسة المصادقة EAP(Extensible Authentication Protocol) بينما في WPA and WPA2 فإن مفاتيح التشفير تنتج خلال عملية المصافحة الرباعيةFore-way handshake الحوار التالي يشرح عملية المصافحة الرباعية Fore-way handshake.

  • الأكسس بوينت AP ترسل EAPOL-key frame يحوي على المصادق الحالي authenticator nonce ANonce إلى المستخدم، الذي يستخدمه من أجل بناء زوج من المفاتيح المؤقت Pairwise Transient Key PTK.
  • المستخدم يرد بإرساله قيمة nonce-value الخاصة به SNonce مع كود سلامة الرسالة Message Integrity Code – MIC إلى الأكسس بوينت AP.
  • الأكسس بوينت AP ترسل GTK مع سلسلة أرقام مع كود سلامة رسالة أخر MIC.
  • المستخدم يؤكد على أن المفاتيح المؤقتة تم تثبيتها.

temp_wpa-key2

التشفير WPA2 :

هو اختصار ل (Wi-Fi Protected Access 2) وهو منسجم ومتوافق مع المعيار 802.11i وهو يدعم خصائص حماية غير مدعومة في WPA وهو يؤمن حماية قوية للبيانات وتحكم بالوصول للشبكة ويقدم مستوى عالي من الحماية لذلك فقط المستخدمين المصرح لهم يمكنهم الوصول للشبكة.

WPA يؤمن نمطي عمل وهما :

  • WPA-Personal: هذا النمط يعمل بوجود كلمة سر pre-shared key (PSK) ويمنع الوصول الغير مسموح به للشبكة، في هذا النمط كل جهاز يقوم بتشفير الترفك traffic باستخدام مفتاح 256 bit key والذي يتم إدخاله ككلمة سر مكونة من 8 إلى 63 حرف.
  • WPA-Enterprise: يتم باستخدام الشبكة عبر سيرفر server وهو يحوي على RADIUS or EAP للمصادقة المركزية وذلك باستخدام عدة طرق للمصادقة مثل token cards, Kerberos, and certificates المستخدم يحصل على اعتماد للدخول من السيرفر المركزي الذي يجب أن يكون موجود عند الاتصال بالشبكة.

كيف يعمل WPA2 :

في عملية CCMP بيانات مصادقة إضافية additional authentication data – AAD تؤخذ من MAC header وتتضمن في عملية التشفير CCMP هذا يحمي الفريم من تبديل القسم الغير مشفر منه رقم حزمة البيانات packet number (PN) مشمول ضمن CCMP header للحماية ضد replay attacks ، جزء من MAC header و PN يتم استخدامهم لتوليد nonce المستخدمة في تشفير CCMP.

wpa2-draw1

هل نختار WEP أم WPA أم WPA2 ؟

هذا الجدول يوضح بإختصار معلومات عامة حول كل تشفير :

التشفير

خوارزمية التشفير

حجم IV

طول مفتاح التشفير

تقنية فحص السلامة

WEP

RC4

24-bit

40/104-bit

CRC-32

WPA

RC4, TKIP

48-bit

128-bit

Michael algorithm and CRC-32

WPA2

ASE-CCMP

48-bit

128-bit

AES-CCMP

نتمنى أن يكون المقال قد نال إعجابكم وبإذن الله سوف نلقاكم بمقالات أخرى.

Viewing all 466 articles
Browse latest View live