«باش كود» ثغرة أمنية جديدة أخطر من ثغرة «نزيف القلب»!
المعلوماتية >>>> عام
اكتشف «ستيفن تشازيلاس-Stephane Chazelas» من شركة Akamai الثغرة، وقد اعتبرت صفقة كبيرة جداً للشركة، حيث تم تقييم هذا الاكتشاف من غالبية أنظمة الحماية CVSS بأقصى درجة تقييم من 10 من حيث خطورة الثغرة، بينما حصلت على تقييم منخفض من حيث صعوبة اختراقها، أي أنّه يمكن للمخترقين تنفيذها بسهولة.
وُجدت هذه الثغرة في أهم أنظمة التشغيل مثل لينوكس، ويونيكس، وMac OS X، ولكن هناك احتمال بأن تكون نسخ برمجية باش السابقة نظيفة من الحقن رغم إمكانية تعرضها له، لذلك يتم التحقق وتعقب الإصدارات السابقة منذ CVE-2014-7169 لضمان سلامتها.
إنّ «باش» أساسًا ليست برمجية خبيثة، إنما برمجية صغيرة مدمجة بكل شيء تقريباً من مخدمات الويب والبريد الإلكتروني مروراً بمخدمات الإدارة عن بعد، وحتى هواتف «أندرويد »و«آيفون»، تُستخدم لتنظيم عملية تنفيذ الأوامر ولتحليل قيم المتغيرات ولها استخدام واسع في أنظمة مثل أنظمة “Red Hat Enterprise Linux”، والتي تشكل نظامَ التشغيل المفضل لمعظم المخدمات العالمية ومنها مخدمات فيس بوك رغم عدم وجود أي أنباء عن اختراقات في مخدماتها حتى الآن.
هل علي أن أخاف؟
رغم أن هذا النبأ يبدو مروعًا للوهلة الأولى، إلا أن معظم الأجهزة التي تحتوي «باش» لن تكون قابلة للتحكم عن بعد بمجرد إصابتها، إذ يتوجب أولاً على المهاجم إرسال متحولات بيئة لبرنامج يتفاعل ضمنياً مع «باش».
تُـمكّن هذه الثغرة المهاجم من إرسال شفرة خبيثة (code) عبر الشبكة وتنفيذ هذا الكود مع تشغيل «باش» كأمر فرعي، وبذلك تُمكّن هذه الثغرة المهاجمين عند استغلالها من السيطرة على الجهاز مثل كاميرا الويب أو خادم الويب وسرقة المعلومات من الجهاز مثل الصور ومعلومات بطاقة الائتمان، وإجراء التعديلات.
صرّح «روبرت غراهام»، وهو مستشار أمني في الأمن الإلكتروني من الولايات المتحدة، أنّ هذه الثغرة أسوأ من Heartbleed. فهي تهدّد المحتوى الكامل للحاسوب بخلاف ثغرة «نزيف القلب» التي تسمح بالتجسّس على الحواسيب وليس السيطرة عليها كاملًا، ولا تتطلب أي خبرات عالية لتنفيذها.يعتبر هذا الأمر خطيراً نوعاً ما، إلا ان هناك عدد من العوامل التي يجب توفرها ضمن النظام ليصبح قابلاً للاستغلال. أي أن كل تطبيق مصاب يمكن استغلاله بطريقة مختلفة إلى حد ما عن بقية التطبيقات.. وهذا ما يحد من انتشار طرق الاستغلال حول العالم.
خلاصة القول: هذه الأخطاء سوف تؤثر على عدد مجهول من المنتجات والأنظمة، ولكن ظروف الاستغلال المطلوبة غير شائعة إلى حد ما للاستغلال عن بعد لهذه الثغرة التي يقدر مدى شموليتها إلى ما يقارب 20-50% من الخوادم العالمية التي تدعم صفحات الويب.
بعض البرمجيات المصابة بهذه الثغرة:
• httpd: عندما يقوم مخدم الويب بتنفيذ سكربتات CGI، فإنه يستخدم متحولات بيئة لتمرير البيانات الى السكريبت، يمكن للمهاجم ان يتحكم بهذه المتحولات.. فإذا ما استدعت السكريبت «باش»، تقوم بتنفيذ الكود المحقون كمستخدم httpd.
لا تستخدم mod_php، mod_perl، mod_python أية متحولات بيئة وبالتالي فهي تعتبر غير مصابة.
.• (Secure Shell (SSH: آلية التشفير المسكينة، التي لم تصحُ بعد من ضربة نزيف القلب على سمعتها حتى أتتها هذه المصيبة، فبمجرد إصابة النظام يمكن تنفيذ أي أمر بما فيها تلك التي تم تقييدها مسبقاً (rsync، git) مثلاً.
• dhclient: عميل بروتوكول DHCP المستخدم للحصول على عناوين الشبكة بشكل تلقائي، ويقوم باستخدام عدة متحولات بيئة وتشغيل «باش» من أجل اعداد واجهات الشبكة، قد يسبب الاتصال بمخدم DHCP مصاب بالسماح للمهاجم بتنفيذ "كود" على جهاز العميل!
• CUPS: والتي تعني “Common Unix Printing System” أي نظام الطباعة الخاص بيونيكس.. وهو مصاب أيضاً.
• sudo: لا تعتبر الاوامر المنفذة بواسطة sudo مصابة بشكل مباشر، إلا انه من الممكن لأمر ما أن يعيّن متحولات بيئة تخوّل عملية ابن (Child Process) من «باش» لتنفيذ الكود الخبيث.
• Firefox: المتصفّح المشهور قد يكون مصاب أيضًا! (من الجيد أنني استخدم غوغل كروم P:)، فايرفوكس لا يسمح بتعيين متحولات البيئة بشكل يمكن استغلاله من قبل المهاجم، إلا أنه يُنصح بتحديث الباش تفادياً لأية ملحقات ربما تسمح بتنفيذ الكود الخبيث.
• Postfix: وهو نوع من المخدمات، يستخدم «باش» أيضًا لتعيين متحولات البيئة بشكل قد يسمح بتنفيذ أكواد خبيثة إذا ما استطاع المستخدم استغلاله.
كيف يمكنك حماية نفسك؟
إن أسرع حل يمكن أن تقوم به حماية نفسك هو تثبيت الترقيعات Patches التي تم نشرها، فعلى الرغم أن CVE-2014-6271 ليس حلاً كافياً، تعتبر الحزم الترقيعية أكثر صعوبة للاستغلال .
إذا كنت تملك نسخة نظام قديمة غير قابلة للتحديث، يمكنك وضع جدار ناري مع إعدادات جيدة، وتفحص إن كان بالامكان استغلال الثغرة من خلاله.
للاختصاصيين، ما هي خطوات تشخيص الحالة المصابة؟
يمكنك اختبار النظام الخاص بك عبر الأمر التالي:
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
فإن كانت النتيجة كالتالي:
this is a test
فهذا يعني أن نسخة الباش الموجودة على جهازك مصابة، إذ أن النتيجة السليمة يجب أن تكون كالتالي:
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"bash: warning: x: ignoring function definition attemptbash: error importing function definition
for `x'this is a test
UnlikeUnlike ·
المصادر:
هنا
هنا
هنا
هنا
هنا
مصدر الصورة:
هنا