جميع مواضيع الكاتب بشار

بشار ماجستير نظم معلومات. مهندس أنظمة يمتلك خبرة في إدارة أنظمة ويندوز ولينكس. باحث ومختصص في مجال أنظمة المعلومات، معالجة الحوادث الأمنيّة، تحليل الإختراقات الأمنيّة، وفحصوصات الاختراق. حاصل على العديد من الشهادات الأمنيّة. عضو في مجلس استشاريّي معهد سانز لأمن المعلومات.
معظم مواقع الانترنت عرضة لهجوم حجب خدمة Hashdos
أعلن باحثون أمنيون عن ثغرة في غالبية لغات البرمجة تؤدي الى شغل المعالج بعملية طويلة تؤدي الى تعطل الخادم وبالتالي حجب المواقع التي يخدمها. هذا الكشف جاء في الثامن والعشرين من الشهر الحالي في المؤتمر الأمني 28C3.
نظرة عامة
جداول الهاش هي أحد بنى البيانات (data structure) المستخدمة بكثرة في لغات البرمجة. خوادم الويب بشكل عام تقوم بتحليل القيم التي يزودها المستخدم عبر نموذج من خلال ما يعرف ب Post في جدول هاش حتى يتمكن المطورون من الوصول اليها والتعامل معها. يمكن الاطلاع على التفاصيل التقنية في مقالة على ويكيبيديا.
كيف يعمل الهجوم؟
سبب وجود الثغرة هو طريقة تعامل لغات البرمجة مع القيم المعطاة عبر نموذج form والتي تؤدي الى تصادم في الهاش. هذا يعطي الامكانية للمهاجم لارسال عدد صغير من المدخلات (عبر POST) الى الخادم مما يؤدي تباطئ الخادم بشكل كبير وهو ما يؤدي في النهاية الى هجوم حجب خدمة.
حسب نشرة مايكروسوفت في ما يخص التطبيقات المبنية باستخدام ASP.NET فإن طلب واحد بحجم يقارب 100 كيلو بت يمكنه استهلاك 100% من معالج واحد لمدة تتراوح ما بين 90 و110 ثانية.
حسب العرض الذي قدمه الباحثون في حالة استخدام PHP مثلاً فإن بيانات:
-بحجم 8 ميغابيت ستستغرق 288 دقيقة
-بحجم 500 كيلو ستستغرق دقيقة
-بحجم 300 كيلو ستستغرق 30 ثانية من وقت المعالج
وبالتالي يمكن للمهاجم جعل 10 الاف معالج Core i7 مشغول بطلبات PHP مستخدماً اتصال انترنت 1 جيجا. او 30 الف معالج Core2 في حالة ASP.NET او 100 الف معالج في حالة Java Tomcat.
ما يجعل الهجوم خطيراً هو ان غالبية مواقع الانترنت معرضة له لانها تستخدم لغات برمجة مثل PHP و ASP.NET وجافا و روبي وبايثون وغيرها.
الأمر الآخر هو ان المهاجم لا يحتاج الى مصادر واسعة مثل botnet من أجل تنفيذ هجومه وانما حاسوب واحد يمكنه الحاق الضرر بالعديد من المواقع.
الحل
باستثناء لغتي بيرل و Cruby واللتان تستخدمان العشوائية في الهاش فإنّه لا يوجد حلول نهائية لباقي اللغات ولكن هناك حلول مؤقتة منها
ASP.NET
اذا كنت تستخدم ViewState فإن مايكروسوفت تنصحك بتحديد حجم الطلب الى 200 كيلو
اما اذا لم تكن تستخدم ViewState فإنها تنصح باستخدم طلبات بحجم 20 كيلو
وذلك في ملف اعدادات ASP.NET
PHP
قامت PHP باصدار ترقيع يضيف توجيه جديد يمنع الهجوم
max_input_vars
لمزيد من التفاصيل يمكنكم الاطلاع على الروابط التالية
1- http://www.nruns.com/_downloads/advisory28122011.pdf
2-https://cryptanalysis.eu/blog/2011/12/28/effective-dos-attacks-against-web-application-plattforms-hashdos/
3- http://technet.microsoft.com/en-us/security/advisory/2659883
4-http://blogs.technet.com/b/srd/archive/2011/12/27/more-information-about-the-december-2011-asp-net-vulnerability.aspx
5- nakedsecurity.sophos.com/2011/12/28/large-percentage-of-websites-vulnerable-to-hashdos-denial-of-service-attack/
6- http://svn.php.net/viewvc?view=revision&revision=321040
ثغرة في خدمة Telnet على أنظمة BSD
في 23 من الشهر الحالي أعلن فريق حماية FreeBSD عن وجود ثغرة في خدمة Telnet. الثغرة موجودة في كود عمره أكثر من 20 عاما وموجودة على أغلب اصدارات BSD. احد الباحثين الأمنين اصدر استغلال لهذه الثغرة تعمل على FreeBSD 8.0, 8.1, 8.2.
وصف الثغرة
عندما يتمّ تزويد مفتاح مشفر عبر برتوكول TELNET، لا يتم التحقق من طول هذا المفتاح قبل نسخه الى منطقة بحجم ثابت.
التأثير
المهاجم يمكنه انشاء اتصال بخدمة TELNET وتنفيذ كود عشوائي بصلاحيات الخدمة والتي تكون في العادة تعمل بصلاحيات المستخدم الجذر.
لا يوجد ترقيع لهذه الثغرة حتى لحظة كتابة هذا التقرير ولكن الخوادم التي لا تستخدم خدمة TELENT غير مصابة بها.
مشروع ميتاسبلويت قام بعمل باحث يعمل على ايجاد الخوادم التي تحتوي على هذه الثغرة ويعمل حالياً على دمج الاستغلال الخاص به ضمن المشروع.
ملاحظة: مع ان الثعرة موجودة في انظمة BSD إلا انها موجودة كذلك:
1- في انظمة Mac OS القديمة
2- أنظمة Solaris القديمة ولكن ذلك غير مؤكد.
3- أنظمة لينكس التي تعتمد على حزمة inetutils بدلاً من حزمة netkit. توزيعات لينكس التي تعتمد على ديبيان وابنتو تعتمد الحزمة inetutils وكذلك بعض التوزيعات القديمة من لينكس مثل RHEL 3.
لمزيد من التفاصيل يمكن الرجوع الى خبر الثغرة في موقع Rapid7
احم خصوصيتك على الانترنت
في موضوع سابق ذكرت كيف يتعقب جوجل (والعديد من محركات البحث) مستخدميه، وكيف تقوم الاعلانات بتعقب المستخدم تبعاً لما كان المستخدم يبحث عنه. في هذا المقال سأتناول إن شاء الله كيف يمكن للمستخدم حماية خصوصيته على الانترنت.
إضافات حماية الخصوصية في فايرفوكس
يحتوي فايرفوكس على العديد من الإضافات التي تحمي الخصوصية وتميزه عن أي متصفح آخر. فيما يلي قائمة بأفضل الإضافات التي يمكن استخدامها لحماية الخصوصية:
Adblock Plus
هذه الإضافة تقوم بتعطيل الاعلانات والملاحقات التي تقوم بها شركات الاعلان. ثبتها وستلاحظ انخفاض ملحوظ في عدد الاعلانات التي تظهر في المواقع.
BetterPrivacy
إضافة رائعة تقوم بحماية المستخدم من كعكات (كوكيز إذا كان لديكم ترجمة أفضل فشاركونا 🙂 ) فلاش مثل جوجل، يوتيوب، ايباي وغيرها.
WOT – Know Which Websites to Trust
هذه الإضافة تساعدك في معرفة أي المواقع يمكنك أن تثق بها من خلال تجارب ملايين المستخدمين.
Ghostery
هذه إضافة تحمي خصوصيتك، و تظهر لك المواقع التي تقوم بتعقبك وتتيح لك عمل حظر لهذه المواقع. (ملاحظة: تعمل على جميع المتصفحات تقريباً وليس فايرفوكس فقط)
Beef Taco (Targeted Advertising Cookie Opt-Out)
إضافة تقوم بحجب لأكثر من 100 شبكة اعلانية من ضمنها غوغل، ياهو، مايكروسوفت، إلخ وبالتالي تمنعهم من تتبع المستخدم ونشاطاته على شبكة الانترنت.
HTTPS Finder
هذه الإضافة تقوم بالكشف عن وجود HTTPS في الصفحة ومن ثمّ جعل الاتصال يتمّ عبره عوضاً عن HTTP. هذا يجعل جميع الاتصالات بين المستخدم والموقع تمر عبر قناة مشفّرة.
HTTPS Everywhere
هذه إضافة فايرفوكس من انتاج EEF (مؤسسة الحدود الالكترونية). تم تطويرها عبر تعاون ما بين EFF و مشروع تور. حيث تقوم بتشفير كافة الاتصالات بين المستخدم والعديد من مواقع الانترنت الشهيرة. بعض المواقع تدعم التشفير ولكن تجعل استخدامه صعباً حيث تقوم بشكل افتراضي بإنشاء الاتصال عبر برتوكول HTTP غير المشفر. هذه الاضافة تقوم بتحويل الاتصال من اتصال غير مشفر الى اتصال مشفر.
NoScript
تعتبر إحدى أشهر إضافات فايرفوكس وأشهرها. هذه الاضافة تعطي المستخدم تحكم بكامل من حيث تعطيل اكواد جافا سكريبت، جافا، فلاش وغيرها أو تفعيلها وفقاً لما يريده المستخدم. إذا كان المستخدم يثق بموقع يمكنه السماح له بتنفيذ هذه الأكواد وإلا يمكنه الابقاء عليها معطلة. هذا يحمي المستخدم من هجمات مثل سكريبت تخطي المواقع XSS أو خطف النقرات Clickjacking
استخدم محرك duckduckgo
هذا المحرك هو عبارة عن بحث عام مثل جوجل وبينج. لكن ما يميزه عنهما انّه يقوم بحماية الخصوصية بشكل حقيقي حيث لا يقوم بتسجيل أي كلمة أو نتيجة بحث يقوم بها المستخدم. استخدمته (ولا زلت) وهو يعمل بشكل رائع. انصح به بشدّة. وكدليل على امكانيات هذا المحرك. من يستخدم توزيعة لينكس مينت سيرى أنّ التوزيعة اعتمده كمحرك للبحث بدلاً من غوغل في متصفح فايرفوكس.
استخدم متصفح مشروع تور
أخيراً، قم باستخدام متصفح مشروع تور. هذا المتصفح يعتمد على مشروع تور، حيث يقوم بتغيير العنوان الخاص بالمستخدم والمعطى له من قبل مزوّد الخدمة الى عنوان آخر وهو ما يجعل تتبع المستخدم أمراً صعباً ومعقداًَ.
تحديث (30/12/2011):
إضافات لحماية الخصوصية على متصفح أوبرا
نصائح أمنية للمطوّرين – الجزء الأول
عندما كنت في المرحلة الجامعية درست العديد من لغات البرمجة، ولكن في تلك الفترة لم يكن هناك للحماية مكان. كتابة برنامج يقوم بأمر ما وبسرعة. لهذا لم تتطرق المواد في وقتها الى هجمات الفيض (Buffer Overflow) او هجمات الحقن (SQL Injection) على سبيل المثال. وعندما تنتقل لسوق العمل سوف تستمر بذات العقلية ولكن بشكل أسوأ. فالشركات يهمّها طرح برامج أو تطبيقات تحتوي على العديد من الميّزات وبسرعة. عندها يقع المبرمج أوالمطوّر تحت ضغط الوقت فهو يريد الانتهاء من المشروع الذي يعمل عليه بأسرع وقت والحماية إن كانت في وارده لن تأخذ أولوية كونها (في اعتقاده) سوف تأخره عن تسليم المشروع.
الأمر الآخر لنفرض أنك مطوّر برنامج حاسوب وتريد أن تنتقل الى تطوير تطبيقات للويب. تقوم بالبحث عن كتاب يتحدّث عن البرمجة بلغة PHP مثلاً، وتبدأ القراءة واتباع الامثلة في الكتاب. الكتاب قد يكون مفيداً جدّاً وستقوم بتطبيق ما تعلمته من الكتاب في ببناء أول تطبيق لك موجّهٍ للويب. هذا أمر جميل. ولكن للاسف غالبيّة الكتب سوف تقوم بتعليمك عادات سيئة ستؤدي الى تطويرك لتطبيقات مليئة بالثغرات.
في هذه السلسة سنحاول تغطية بعض أساسيات الحماية التي ستقودك الى تطوير برامج وتطبيقات اكثر أمناً. لا يهمّنا هنا ان كنت خبيراً أمنياً أو مبتدأ في مجال الحماية. كذلك لا يهمنا إن كنت تطوّر تطبيقاتك باستخدام PHP أو Ruby أو غيرهما. ما ستتعمله سوف يساعدك إن شاء الله بغض النظر عن اللغة التي تستخدمها.
التحقق من المدخلات
اولى النصائح هي المتعلقة بالتّأكد من مدخلات المستخدم. يجب أن تضع في نصب عينك قاعدة تقوم على ان لا تثق بأي شيء يقوم المستخدم بإدخاله، أبداً. الغالبية الساحقة من الهجمات التي نسمع عنها سببها هو أن التطبيقات لم تقم بالتحقق من مدخلات المستخدم. فهجمات Cross-site Scripting او SQL Injection السبب الرئيسي في نجاحها هو ضعف التحقق أو غيابه تماماً.
كيف نقوم بالتحقق؟
هناك طريقتان متّبعتان في التحقق من مدخلات المستخدم. الأولى تعرف بالقائمة السوداء. وهي تقوم على أساس كل المدخلات مسموح بها، ما عدا المدخلات الموجود في قائمة المنع (القائمة السوداء). اما الثانية فهي تعرف بالقائمة البيضاء، وهي تماماً عكس السوداء. في القائمة يتمّ منع كل شيء ما عدا المدخلات المسموح بها.
لنأخذ مثال على ذلك. لنفرض أن لديك صفحة تسجيل دخول، في هذه الصفحة سيكون لديك مربعا نص. الأول خاص باسم المستخدم، في حين المربع الثاني مخصص لكلمة المرور. أي طريقة ستستخدم لمربع نص اسم المستخدم؟ فكّر قليلاً…
هل هناك حروف خاصة مثل < أو > في اسم المستخدم؟ ماذا عن %00؟ أو “”؟ ماذا عن :؟ كما ترى هذه رموز تستخدم في هجمات مثل XSS أو الحقن أو البايت الفارغ، الخ. هناك العديد من هذه الرموز والتغييرات التي يمكن ان تشملها عن الترميز وخلافه. إذا لو أردنا وضع ذلك في قائمة ستكون لدينا قائمة طويلة من الممنوعات. ضع في اعتبارك انّك ستحتاج الى إضافة رموز بشكل مستمر الى هذه القائمة عندما يظهر هجوم جديد. هذه العملية ستستغرق منك وقتاً وجهداً ولهذا فإن طريقة القائمة السوداء هنا ليست بالطريقة المثلى للتحقق من مدخلات المستخدم.
طريقة القائمة البيضاء في هذه الحالة تعتبر أفضل بكثير. على فرض أن تطبيقك يقبل مدخلات باللغتين العربية والانجليزية. عندها سيكون لديك مجموعة الحروف العربية (أ-ي) ومجموعتان من الحرف الانجليزية (A-Z) و (a-z) ومجموعتا ارقام (للارقام العربية والارقام الهندية). قد تسمح لاسم المستخدم أن يحتوي على (-) أو (_). أي شيء سوى ذلك ستقوم بمنعه وانتهى.
يمكنك في مثالنا أعلاه أخذ تطبيقك الى مستوى امان أعلى وذلك عن طريق استخدام إحدى الطريقتين كدعامة للطريقة الأخرى. نعود الى مربع نص اسم المستخدم. هل تريد أن تسمح لمستخدم بأن يكون اسمه UNION أو SELECT؟ فهذه اسماء قد إلى حقن في قاعدة البيانات. يمكنك إدخال كل الكلمات المفتاحية المتعلقة بقاعدة البيانات ضمن قائمة سوداء وبالتالي يكون لديك لمربع نص اسم المستخدم قائمتان الأولى هي بالأحرف المسموح باستخدامها. والثانية للكلمات التي لا يستطيع المستخدم استخدامها ضمن اسمه. وبهذا ستكون خطوت خطوة كبيرة في رفع رفع مستوى أمن تطبيقك.
أين تقوم بالتحقق؟
والمقصود هنا هل تقوم بالتحقق من ناحية المستخدم على حاسوبه عبر جافا سكريبت مثلاً؟ ام تقوم به من ناحية الخادم؟ إذا قمت به من ناحية المستخدم فقط فلديك مشكلة حقيقية. أي شيء يتم من ناحية المستخدم يمكن للمستخدم التلاعب به. وبالتالي ستكون انت في مخالفة واضحة للقاعدة التي نقشناها في مقدمة المقال: لا تثق بمدخلات المستخدم. وإذا قمت بالتحقق على الخادم فقط، نعم سيكون تطبيقك آمن ولكن ستكون تجربة المستخدمين لموقعك سيئة. لا تنس أن أغلب المستخدمين هم مستخدمون عاديون، يقوم باستخدام الموقع لاغراض سليمة. وقلة قليلة جداً هي من تحاول التخريب. لماذا ستكون التجربة سيئة؟ لان المستخدم بعد ادخاله للبيانات وضغطه مفتاح الادخال سينتظر رد الخادم والذي سيأتي بالسلب في حال أخطأ المستخدم في أحد المدخلات وسيقوم بالطلب من الخادم القيام بإدخال بياناته مرّة أخرى. هذا عدى عن انه سيستغرق وقتاً من المستخدم، فإنه سيجعل تجربته وانطباعه عن الموقع سلبياً.
لهذا من الأفضل أن تقوم بعملية التحقق من مدخلات المستخدم على حاسوب المستخدم وعلى الخادم معاً.
التحكم بالرسائل الظاهرة للمستخدم
الرسائل التي تخرجها التطبيقات بشكل عام وتطبيق الويب بشكل خاص قد تعطي تفاصيل للمهاجمين تساعدهم في تنفيذ هجوم على الموقع. الرسائل مفيدة للمستخدم العادي في فهم ما يدور وتنبيهِه للخطأ الذي قام بارتكابه ولكن لا يجب أن يكون الرسالة تفصيلية.
لنأخذ المثال التالي:
مستخدم يريد تسجيل دخول الى موقع ما
الصورة اعلاه تظهر رسالتان يقوم التطبيق بإظهارهما للمستخدم. الأولى عند ادخاله لاسم مستخدم خاطئ، والثانية عند ادخاله لكلمة مرور خاطئة. صحيح أنّ هذه الرسائل تعين المستخدم في فهم الخطأ الذي قام به، ولكنها في نفس الوقت تعطي المهاجم معلومات ثمينة تعينه في تنفيذه هجومه. كيف؟
المهاجم سيقوم في المرحلة الأولى بادخال بعض الاسماء ومعرفة أي اسم منها مستخدم في الموقع. بعد حصوله على رسالة تفيد بأنّه (المهاجم) قد قام بإدخال اسم مستخدم غير صحيح سينتقل الى اسم آخر وهكذا. بعد حصوله على بعض اسماء المستخدمين في الموقع سيقوم المهاجم بالانتقال الى المرحلة التالية وهي محاولة معرفة كلمة المرور الخاصة المستخدم. العملية قد تبدو للوهلة الأولى طويلة وتستغرق الكثير من الوقت، ولكن هذه العملية يمكن جعلها عملية آلية حيث يستطيع المهاجم كتابة أدوات تساعده في تنفيذها.
يمكن للمطوّر إخراج رسائل للمستخدم تفيد بأن المعلومات التي قام بإدخالها غير صحيح. مثلاً: معلومات الدخول غير صحيحة أو لم يتمّ التعرف على معلومات الدخول.
معالجة رسائل الخطأ
الجانب الآخر من الرسائل هو ما تقوم به البرامج في قيام المستخدم بإدخال قيمة غير متوقعة. مثلاً
Microsoft runtime error
Type mismatch
هذه الرسالة مختصرة ولكنها تعطي معلومات عن التطبيق نفسه. بعض رسائل الخطأ تعطي تفاصيل أكبر للمهاجم مثل
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /var/www/html/security4arabs/v1/lib/myniceapp.php on line 123
كما نرى في المثال اعلاه. الرسالة التي حصلنا عليها تفصيلية بشكل كبير. حيث اعطتنا موقع التطبيق على الخادم وكذلك نوع قاعدة البيانات المستخدمة. مخرج كهذا سيرسم ابتسامة عريضة على وجه المهاجم.
عودة للمثال الأول. لنفرض ان القيمة التي يتوقعها التطبيق هي قيمة رقمية. المهاجم سوف يحاول تغذية التطبيق بقيمة لا يتوقعها من أجل دراسة رسالة الخطأ التي ستظهر. غالبية لغات الويب تدعم مكتبات تقوم بفحص القيمة المدخلة كل المطلوب فعله من قول المطوّر هو استخدامها. مثل الدالة is_numeric في PHP
if (is_numeric($product_id)) {
DO SOMETHING
} else {
echo "القيمة المدخلة غير مقبولة"
}
في حال قام المهاجم بإدخال قيمة نصية بدلاً من القيمة العددية المتوقعة ستظهر له رسالة تفيد بأن القيمة التي ادخاله غير مقبولة، بدلاً من ان تظهر له رسالة تفصيلية تخبره بالخطأ وتعطيه معلومات تساعده في هجومه.
في ختام هذه المقالة نعيد التأكيد على اهميّة عدم الوثوق بأي قيمة يقوم المستخدم بإرسالها الى التطبيق مطلقاً. وضرورة الموازنة بين جعل التطبيق سهلاً للمستخدم عبر الرسائل التي يظهرها التطبيق للمستخدم وأن تكون هذه الرسائل عامة بحيث لا تساعد شخص ذو نوايا سيئة في مهاجمة التطبيق ومستخدميه العاديين.
في الجزء الثاني إن شاء الله سنتناول الجلسات والكعكات 🙂 (cookies)
استغلال موقع منظمة العفو الدولية في نشر برامج تجسس
تمكن قراصنة من اختراق موقع منظمة العفو الدولي في بريطانيا وزرع وصلات فيه لمواقع تحتوي على استغلال لثغرة جافا الأخيرة والتي تناولنها في تقرير سابق. في حال قام مستخدم مثبّت على حاسوبه اصدارة جافا تحتوي على الثغرة بزيارة موقع المنظمة يمكن للمخترقين السيطرة التامة على حاسوبه وزرع برامج تجسس عليه.
هذه ليست المرة الأولى التي يخترق فيها موقع من مواقع المنظمة، حيث تمّ اختراق احد مواقعها في مطلع العام الجاري. الغرض الأساسي في الأغلب من هذه الاختراقات هو زرع برامج تجسس في حواسيب زوّار المواقع والذين يغلب ان يكونوا من نشطاء حقوق الانسان من أجل مراقبتهم وحتى اعتقالهم.
عندما يقوم زائر بزيارة موقع المنظمة hxxp://www[.]amnesty[.]org[.]uk يتمّ تحميل ثغرة موجودة في موقع آخر مخترق hxxp://3max[.]com[.]br/cgi-bin/ai/ai.html وهو موقع سيارات برازيلي عبر إطار iframe.
لازل الموقع البرازيلي مخترق ولذلك لا ننصح بزيارته (اذا اصررت على الزيارة فقم من خلال نظام داخل مختبر تسيطر عليه:) ).
في اثناء اختبارنا لهذه الثغرة وجدنا أنظمة ويندوز وأنظمة لينكس تحتوي على آخر التحديثات (باستثناء جافا) سواء لنظام التشغيل او برامج مكافحة الفيروسات يمكن اختراقها بسهولة وبدون أن يشعر المستخدم بأن حاسوبه قد تمّ اختراقه.
لمزيد من التفاصيل يمكن زيارة مدونة باركودا و مدونة بريان كربس
اختراق شركة Stratfor الأمنية الأمريكية
اعلنت مجموعة انونيمس عن اختراقها لموقع شركة Stratfor الأمنية الأمريكية والحصول على بيانات شخصية لعملائها بالإضافة الى 90 ألف بطاقة ائتمانية واستخدام هذه البطاقات في التّبرع لجمعيات خيرية. جاء ذلك في تصريح لقائد المجموعة Sabu
[blackbirdpie url=”https://twitter.com/#!/anonymouSabu/status/150667190310412288″]
ٍStartfor هي شركة متخصصة في الابحاث الأمنية الاسترايجية ولديها مجموعة كبيرة من العملاء من شتى أنحاء العالم.
قامت مجموعة انونيمس بنشر قائمة بحوالي 4000 من عملاء شركة ستراتفور من ضمن هؤلاء العملاء
جامعة ابو ظبي
مجموعة الثريا الاستشارية
قناة الجزيرة الانجليزية
الموقع حالياً يظهر رسالة تحت الصيانة
صورة الموقع بعد اختراقه حيث تمّ تغير صفحته الرئيسية
قائمة بعملاء الشركة: http://pastebin.com/8MtFze0s
شاب عربي يكتشف ثغرة في نظام ويندوز فون
اكتشف الشاب خالد سلامة ثغرة في نظام ويندوز فون تؤدي إلى انهيار النظام وذلك عبر ارسال رسالة نصية قصيرة إلى هاتف يعمل بنظام ويندوز فون. مجلة ويندوز رومرز كانت أول من غطى خبر الثغرة حيث قاموا باختبارها على عدّة هواتف تعمل بنظام ويندوز فون 7.5 حيث ادى ارسال الرسالة الى إعادة تشغيل الهواتف ولم تفلح محاولات استرجاع محور الرسائل في هذه الهواتف.
الثغرة ليست مقتصرة على ويندوز فون فهي تمتد أيضاً إلى بعض التطبيقات المكتبية. فإرسال رسالة إلى Windows Live Messenger سوف تؤدي إلى انهيار نظام ويندوز 7 المكتبي. كما ذكر خالد في حسابه على توتير
Also, You can cause denial-of-service to people running Windows Live Messenger on a Windows 7 PC.
مايكروسوفت أكدت وجود الثغرة وقالت بأنها تقوم بدراسة الثغرة بشكل تفصيلي لمعرفة الإجراءات التي يمكن اتخاذها من أجل ضمان سلامة المستخدمين.
خالد تصرف بمسؤولية يشكر عليها حيث قام بالاتصال بفريق الرد الامني التابع لمايكروسوفت وكذلك بإعطاء تفاصيل الثغرة الى مجلة ويندوز رومرز والتي قامت بدورها بالاتصال بشركة مايكروسوفت لاطلاعها على الثغرة حتى تأخذ الاهتمام المطلوب. النص الذي يؤدي الى انهيار النظام لم يتم الكشف عنه. ولهذا يبدو أن البعض حاول اختراق البريد الالكتروني لخالد ظناً منهم ربما أنّه قام بتخزينه هناك:
Ok, it seems there is a stupid guy trying to hack into my Windows Live email account!
الفيديو التالي يظهر تأثير الثغرة على نظام ويندوز فون 7.5
من الجدير بالذكر أن كل من هاتف ايفون ونظام اندرويد قد عانت في السابق من ثغرات مشابهة .
كيف يتعقب جوجل مستخدميه
لابد أنّك لاحظت خلال تصفحك لبعض مواقع الانترنت أن هناك إعلانات تقوم هذا المواقع بعرضها متعلقة بموضوع بحثت عنه في الانترنت. هذه المقالة سوف تشرح لك ما الذي يجري في الخلفية حتى تقوم المواقع بطرح هكذا اعلانات.
أحمد طالب جامعي متخصص في علم الحاسوب، ويريد ان يطوّر من مهاراته. قام باستخدام جوجل بالبحث عن فيديوهات تعليمية من انتاج شركة TrainSignal
الكلمات المفتاحية التي استخدمها احمد يتمّ ارسالها الى موقع TrainSignal مرفقاً معها معلومات حول الحاسوب والمتصفح…إلخ. هذه المعلومات يمكن أن تقوم بتحديد الشخص (احمد في هذا المثال). يمكن القراءة حول هذا الموضوع في هذا موضوع الدكتور علي الشمري هل تعتقد بإن إعدادات متصفحك نادر نوعه أو فريد من نوعه؟
أحمد يقوم بزيارة موقع آخر، كموقع يوتيوب فتظهر له إعلانات حول منتجات شركة TrainSignal
قد يقول قائل وماذا يعني ذلك؟ الموقع الذي زرته موقع عام وموقع عشوائي. وهذا صحيح، ولكن الاعلان يقوم به طرف ثالث. هذا الطرف الثالث يقوم ببناء ملف حولك. كجنسك، عمرك، موقعك، الأشياء التي تحبها..إلخ. ولهذا ترى هذه الاعلانات ترافقك اثناء تصفحك.
جميل يقول أحمد، ولكن ما المقلق في أن يقوم طرف ثالث بعمل ملف عني؟ هذا الملف يتمّ بيعه سواء للشركات التجارية أو البنوك أو شركات البطاقات الائتمانية. وقد يتمّ طلبه من قبل أطراف امنية أو حكومية. لهذا من الأفضل استخدام محركات بحث و اضافات تقوم بحماية خصوصية المستخدم. وهذا ما سوف نقوم بتغطيته إن شاء الله في مقال قادم.
—
هذا المقال مبني على المادة الموجودة هنا
وثائق ويكليكس تظهر تجسس الحكومات باستخدام برامج مشبوهة
أظهرت الوثائق التي نشرها مؤخراً موقع ويكليكس نظرة عن قرب حول برامج التجسس التي تقوم الحكومات باستخدمها من أجل التجسس على مواطينها او مواطني دولٍ أخرى. الوثائق تظهر نشرات دعائية سريّة (دعاية مخصصة لجهات الحكومية وليس عامة النّاس)، بالإضافة إلى ملفات عرض تستخدمها الشركات في تسويق أدوات المراقبة والتجسس للحكومات والأجهزة الأمنية.
التقرير الذي نشره الموقع يثير علامات استفهام حول مثل هذه البرامج التي تقوم بمراقبة لدولة بكاملها وقانونية هذا الاستخدام. صحيح أنّ الرقابة على الانترنت أمر متوقع من قبل أنظمة شمولية سواء في منطقتنا العربية أو في مناطق تعتبر من العالم الثالث. ولكن رواد ومطوّرا مثل هذه التقنيات هم دول تدعي الديمقراطية، ولكنها لا تمنع في بيع مثل هذه الأنظمة لدول تعرف الحكومات الغربية أنها ستستخدمها في قمع شعوبها. بل إنّ الدول الغربية تستخدمها أيضاً بحق مواطنيها وهو ما يجعل الإدعاء بالحرية وخلافه عبارة عن نكتة سمجة.
الوثائق التي نشرها موقع ويكليكس تعيد إلى الأذهان تقريراً نشرته منذ فترة قريبة جريدة وال ستريت جورنال وقمنا بنشره في مجتمع الحماية العربي.
تقع وثائق ويكليكس في 287 ملف تصف منتجات ل160 شركة حيث قال الموقع أنّ هذا الوثائق عبارة جزء من مجموعة اكبر من الملفات سيجري نشرها تباعاً في المستقبل. حسب التقرير فإن “أجهزة المخابرات، والقوات المسلحة والشرطة لديها القدرة على مراقبة جمعية واعتراض مكالمات هاتفية والسيطرة على حواسيب دون مساعدة أو حتى معرفة شركات الاتصالات”.
وسائل المراقبة التي كشف عنها في الملفات تغطي مجموعة واسعة من تقنيات الاتصالات. العديد منها مصمم لتغطي وسائل الحماية وحفظ الخصوصية بغرض جمع أكبر كم من المعلومات من أجهزة المواطنين. بل إن بعض هذه البرامج صممت لتعمل تماماً مثل البرامج الضارّة.
أحد هذه البرامج التي تعمل مثل البرامج الضّارة، برنامج من انتاج شركة تدعى DigiTask. حسب وثائق الشركة، فإن البرنامج مصمم ليعمل على أنظمة ويندوز، ماك او اس، ولينكس، وبعض الهواتف الذكية. البرنامج بإمكانه تغطي تشفير SSL (وهو عبارة عن برتوكول يقوم بحماية المعلومات التي يتم تبادلها بين حاسوب المستخدم وموقع انترنت مثلا موقع فيسبوك). البرنامج بقوم كذلك بالتقاط المحادثات الفورية (مثل ياهو ماسنجر وغيرها)، بالإضافة إلى البريد الالكتروني وتصفح الانترنت. بالإضافة إلى ذلك فإن البرنامج يحتوي على مسجل مفاتيح (تقنية تقوم بتسجيل كل مفتاح يقوم المستخدم بضغطه في لوحة مفاتيحه)، وإمكانية للوصول الى ملفات المستخدم عن بعد، كذلك قدرته على التقاط صور لسطح المكتب.
كذلك حسب منشورات الشركة، فإن برنامجها يقوم باستخدام ثغرات اليوم صفر والهندسة الإجتماعية كوسائل مساعدة في تثبيت برامجها على حواسيب المواطنين.
لمزيد من التفاصيل يمكنكم زيارة موقع ويكيلكس
المصدر: وكالات أجنبية + ويكيليكس
خطوات عملية لتأمين خدمة SSH
إذا كنت مسؤولاً عن إدارة خوادم في شركتك، أو كنت تدير موقعاً على الإنترنت فلا بد وأنّك قد تعاملت مع خدمة SSH. قديماً كان الاتصال يتمّ في أغلب الأحيان عبر خدمة Telnet. هذه الخدمة تقوم بنقل معلومات الدخول (كاسم المستخدم وكلمة المرور) بدون تشفير، وبالتالي إذا كان هناك طرف يستمع على هذا الاتصال فسوف يتمكن من رؤية هذا المعلومات. من هنا جاءت الحاجة لخدمة SSH. حيث أن خدمة SSH أو Secure Shell تسمح بالدخول للخادم بطريقة آمنة تمنع أي طرف من استراق السمع على الاتصال الذي تمّ إنشاؤه بين حاسوبك وخادمك، كون المعلومات التي يتمّ تبادلها بين حاسوبك والخادم قد تمّ تشفيرها.
هذا لا يعني أننا بمجرد استخدامنا لهذه الخدمة نكون قد امّنا خدامنا وانتهت القصة. فكل يوم نسمع عن خبر اختراق خادم ما تابع لشركة مشهورة او ما شابه. وقد غطينا منذ فترة قريباً موضوعاً حول استخدام خوادم لينكس في أحد الهجمات الإلكترونية، بعد أن تمكن المهاجمون من اختراقها. كذلك إذا قمت بمراجعة لسجلّات خادمك فسوف تلاحظ ان هناك محاولات يومية لكسر خدمةSSH واختراق خادمك.
في هذه المقالة سنتناول خطوات عملية يمكنك استخدامها في خادمك تساعدك على رفع درجة أمان الخادم وتحديداً خدمة SSH.
تغيير المنفذ الإفتراضي
عند تثبيت خدمة SSH فإن المنفذ الإفتراضي المسجّل لهذه الخدمة هو 22. العديد من اطفال السكريبت والشبكات الآلية (BotNets) تقوم باستهداف هذا المنفذ. لذلك تغييره على خادمك إلى أي منفذ آخر (رقم المنفذ الجديد يفضل أن يكون أكبر من 1024)، سيساعد في التخلص من الغالبية الساحقة من الهجمات. هذا لا يعني انّه لن يتم استهدافك ولكن عندما يتمّ استهدافك ستعلم ان الطرف المهاجم يستهدفك بشكل مباشر وليس عبر عملية مسح عشوائي.
لتغيير المنفذ نقوم بتحرير الملف sshd_config والموجود عادة في مجلد /etc/ssh
ملاحظات هامة: 1) غالبية التغييرات التي سنقوم بها ستتم من خلال تحرير هذا الملف. 2) التوزيعة التي نستخدمها كمثال في هذا المقال هي توزيعة Ubuntu. قد ترى بعض الإختلاف إذا كنت تستعمل توزيعة اخرى ولكن الاختلافات لن تكون اختلافات جوهرية.
بعد فتحك لملف /etc/ssh/sshd_config
غير قيمة المنفذ من 22 إلى قيمة أخرى على سبيل المثال 7722 لتصبح النتيجة النهائية هكذا
Port 7722
غير برتوكول الاتصال
هناك برتوكولا اتصال لخدمة SSH. برتوكول 1، وهو برتوكل قديم وبه كثير من الثغرات. برتوكول 2 وهو برتوكول آمن أكثر بكثير من برتوكول 1. غالبية التوزيعات الحديثة تأتي مع برتوكول 2 مفعل بشكل افتراضي. تأكد من ذلك عبر فتحك لملف /etc/ssh/sshd_config وابحث عن
Protocol 2
عطل صلاحيات دخول المستخدم الجذر
المستخدم الجذر هو أكثر اسم مستخدم تجري محاولات اختراقه لذلك تعطيل دخوله يعتبر أمراً ضرورياً في عملية تأمين خادمك. في التوزيعات التي تعتمد على Debian مثل توزيعة أبنتو، المستخدم الجذر معطل بشكل افتراضي، ولكن في توزيعات أخرى مثل فيدورا أو في حال استخدامك لخادم قامت بإعداده شركة الاستضافة فإن المستخدم الجذر مفعل ويمكنه الدخول للخادم عبر خدمة SSH.
لتعطيل دخول المستخدم الجذر
PermitRootLogin no
حدد من يمتلك صلاحيّات الدخول إلى الخادم
بشكل افتراضي يمكن لأي مستخدم للنظام الدخول إلى الخادم من خلال خدمة SSH. قد لا يكون جميع مستخدمي خادمك بحاجة إلى ذلك. لذلك من الأفضل جعل الخدمة مقتصرة على من هم بحاجة فعلية للدخول للخادم.
لتحديد المستخدمين قم بإضافة الخاصية AllowUsers على الشكل الآتي
AllowUsers Ahamd Security4Arabs Abdu*
السطر أعلاه يقصر استخدام الخدمة على المستخدم احمد والمستخدم Security4Arabs وأي مستخدم يبدأ اسمه ب Abdu مثل Abdul Salam أو Abdulr Rahman
يمكنك كذلك حصر الخدمة على مجموعة من المستخدمين من خلال استخدام الخاصية AllowGroups
AllowGroups sec4arteam
تحديد العناوين التي يسمح لها بإنشاء اتصال
بالإضافة إلى تحديد مَن مِن المستخدمين يمكنه استخدام الخدمة. يمكنك تحديد العناوين التي يمكن لهؤلاء المستخدمين الدخول إلى الخادم من خلالها. يتم ذلك من خلال استخدام خاصية TCPWrappers. هذه الميزة رائعة في حماية خدمات ليس لها حماية افتراضية في اعدادتها ولكن يمكن استخدامها لأي خدمة موجودة على الخادم.
لنفرض مثلاً أننا نريد جعل الدخول إلى الخادم مقتصراً على العنوان 192.168.1.254 و مجموعة العناوين 172.16.0.0
قبل تحديد الدخول لهذه العناوين نحتاج إلى ان نمنع أي اتصال إلى الخادم عبر خدمة SSHD وذلك من خلال تحرير /etc/hosts.deny ومن ثمّ التّاكد من احتوائه على القيمة التالية
sshd:all
هذا سوف يقوم بتفعيل خاصية المنع.
بعد ذلك نقوم بتحرير الملف /etc/hosts.allow ومن ثمّ وضع العناوين التي نريد السماح لها باستخدام خدمة SSH للدخول إلى الخادم كالتالي:
sshd: 192.168.1.254
sshd: 172.16.0.0/255.255.0.0
ملاحظة هامة جدّاً جدّاً: تأكد من أن العناوين التي قمت بإدخالها صحيحة 100%. أي خطأ في هذه العناوين سيمنعك من الدخول إلى الخادم.
قصر التوثيق على المفاتيح وليس على كلمات المرور
خدمة SSH تدعم خاصية المفاتيح. سنقوم بعمل شرح مفصل في كيفية استخدامها، ولكن ما يهمنا هنا هو ذكر الآلية.
عند استخدامك للمفاتيح سيقوم الخادم بالسماح لك بالدخول إذا قمت باستخدام المفتاح الصحيح. كلمة المرور في حال منعنا استخدامها ستصبح بدون قيمة وهذا يجعل من عملية كسر كلمات المرور من أجل الدخول عملية بدون جدوى.
لتعطيل استخدام كلمة المرور من أجل الدخول تأكد من أن ملف /etc/ssh/sshd_config يحتوي على القيمة التالية
PasswordAuthentication no
ملاحظة هامة: لا تقم بتغيير القيمة قبل التّأكد من أن المفتاح الذي قمت بإنشائه لغرض الدخول للخادم يعمل 100%.
ثبّت خدمة fail2ban
خدمة fail2ban هي خدمة اكثر من رائعة. فهي تقوم بمراقبة سجلات الخدمات لديك مثل خدمة SSH أو خدمة رفع الملفات وفي حال كشفها عن عدد من المحاولات الفاشلة تقوم أنت (المستخدم) بتحديده ضمن فترة زمنية معنية، تقوم بإنشاء قاعدة في الجدار الناري تمنع عنوان المهاجم من الوصول إلى الخدمة.
أخيراً
تذكر أن أي حماية تقوم بها لن تكون كافية إذا لم تقم بالتّأكد من أنّ حاسوبك وخادمك محدّثان بشكل دوري. إذا كنت تستخدم كلمة مرور ضعيفة، أو إذا كنت تستخدم تطبيق يحتوي على ثغرات وهذا التطبيق يعمل على خادمك.
حماية الخادم والنّظام تبدأ بك اولاً.