إلى الخلف
ذكاء نقاط الضعف
جدول المحتوى

 

حرف «S» في إنترنت الأشياء

يعرّف القاموس الحضري إنترنت الأشياء على النحو التالي: اختصار لـ «إنترنت الأشياء»، على سبيل المثال الأشياء اليومية (مثل المصابيح الكهربائية أو الثلاجات) التي يمكن الوصول إليها وربما التحكم فيها عبر الإنترنت. يشير الحرف 's' في الاختصار إلى أمان البيانات والاتصالات.

 

هل ما زلت أتساءل عن مكان الحرف «s»؟

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

تعد أجهزة توجيه الإنترنت وأجهزة التلفزيون الذكية والساعات والثلاجات ومكبرات الصوت وأنظمة الأمان مثل الكاميرات وأجهزة التشغيل الآلي للمنزل أكثر أجهزة إنترنت الأشياء شيوعًا. بعض الأمثلة الأقل شهرة هي خدمات آلات البيع الذكية مثل BigBasket's Binsta، وعدادات الكهرباء الذكية، والدراجات البخارية المستأجرة التي تعمل بالبلوتوث مثل Vogo و Bounce، وأجهزة تنقية المياه RO الذكية مثل DrinkPrime. وأصبحت معظم هذه الأجهزة بالفعل أجزاء لا غنى عنها في حياتنا.

 

لماذا من المهم تأمين أجهزة إنترنت الأشياء؟

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

 

1. الاستخدام المطول:

على عكس الأجهزة التكنولوجية الأخرى، يتم استخدام الأجهزة المتصلة لفترة أطول من الوقت - لا تزال أجهزة توجيه ADSL Broadband التي تم إصدارها في أواخر عام 2000 مع مكونات البرامج من أوائل القرن الحادي والعشرين حية ومتصلة بالإنترنت. ومع ذلك، لم تعد معظم هذه الأجهزة تتلقى تحديثات الأمان.

https://xkcd.com/1966/
الاعتمادات: https://xkcd.com/1966/

2. حماية منخفضة ضد الهجمات: 

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

3. التضاريس المجهولة: 

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

كيف تكتشف نقاط الضعف في أجهزة إنترنت الأشياء؟

هناك طرق متعددة لاكتشاف الثغرات الأمنية في أجهزة إنترنت الأشياء. سوف نستكشف:

  • تحليل البرامج الثابتة
  • استغلال الخدمة
  • مشاركة الأجهزة

 

1. تحليل البرامج الثابتة

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

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

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

فيما يلي عرض توضيحي لتشغيل binwalk على البرنامج الثابت لـ TP-Link Archer C5، وهو جهاز التوجيه الافتراضي الصادر عن ACT، بنغالور.

demo

ثم يكتشف ثلاثة أشياء داخل الملف:

  1. U-Boot - أداة تحميل التشغيل غالبًا ما تستخدم في الأجهزة المضمنة،
  2. بعض البيانات المضغوطة، و
  3. نظام ملفات Squash FS - هذه هي صورة نظام الملفات الأساسي والبيانات المثبتة على الجهاز. سيحتوي على جميع الثنائيات والنصوص والتكوين.

تستخدم هذه البرامج الثابتة SquashFS، ولكن هناك أنظمة ملفات أخرى مستخدمة في الأجهزة المضمنة يمكن للمرء استخدامها:

لاستخراج SquashFS والملفات الأخرى، يمكن للمرء استخدام binwalk نفسه: `ملف البرنامج الثابت لـ binwalk -e أو `تسحق`. ومع ذلك، استنادًا إلى نظام الملفات، قد يحتاج المرء إلى تنزيل أدوات إضافية لاستخراج الصورة.

Sample output of the tree command on the extracted directory
نموذج إخراج الأمر tree على الدليل المستخرج

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

pen-testing

عند تشغيل binwalk على البرنامج الثابت لـ JioFi 2، فإنه يكتشف الكثير من الملفات مباشرة بنص عادي، غير مضمنة في نظام ملفات. علاوة على ذلك، افتح ملف البرنامج الثابت في محرر سداسي عشري وابحث عن وحدات البايت القليلة الأولى (وتسمى أيضًا وحدات البايت السحرية). سيتم تعريف الملف كملف FBF (ملف فلاش ثنائي).

في حالة عدم نجاح ذلك، سنقوم بتقييم ما إذا كان الملف مشفرًا باستخدام تحليل الإنتروبيا باستخدام `بينوالك -E`.

Left: Entropy analysis of JioFi Firmware which contains plaintext files Right: Entropy analysis of a Sony Audio system firmware. Notice the low entropy in the beginning and then very high entropy for the rest of the file, which indicates an unencrypted header part, followed by encrypted contents
على اليسار: تحليل الانتروبيا لبرنامج JioFi الثابت الذي يحتوي على ملفات نصية عادية
إلى اليمين: تحليل الانتروبيا للبرامج الثابتة لنظام Sony Audio. لاحظ الانتروبيا المنخفضة في البداية ثم الانتروبيا العالية جدًا لبقية الملف، مما يشير إلى جزء رأس غير مشفر، متبوعًا بمحتويات مشفرة

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

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

 

2. استغلال الخدمة

سيحتوي جهاز IoT على واجهة شبكة. لذلك، يمكننا تشغيل nmap ومسح المضيف بحثًا عن الخدمات المفتوحة.

تحتوي أجهزة التوجيه، على سبيل المثال، على خادم http مع واجهة ويب للتكوين ومعلومات الحالة وما إلى ذلك، وهو هدف سهل للأخطاء.

Sample output of a scan on my previous isp router; what did I say about outdated software being used
عينة من مخرجات الفحص على جهاز توجيه isp السابق الخاص بي؛ يتم استخدام برنامج قديم

أهم ثغرة أمنية يجب البحث عنها أثناء اختبار الصندوق الأسود في واجهة المستخدم على الويب هي حقن الأوامر. تعد الكثير من وظائف واجهة مستخدم الويب مجرد غلاف لأدوات لينكس الداخلية مثل iptables و ping و traceroute وما إلى ذلك.

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

 

رسم توضيحي خطوة بخطوة

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

A normal ping request. Notice how the output is the same as a linux ping command output
طلب ping عادي. لاحظ كيف أن الإخراج هو نفس إخراج أمر linux ping

 

Ping request with the ip `127.0.0.1 && uname -a`. Command injection!
طلب بينغ باستخدام عنوان IP `127.0.0.1 && uname -a`. حقن الأوامر!

بمجرد تنفيذ إدخال الأوامر، سنقوم بتصعيد ذلك إلى وصول كامل إلى الغلاف. عادة ما نكون قادرين على العثور على ثنائي telnet. إذا فشلنا في العثور على الملف الثنائي في النظام، يمكننا تنزيله. بعد ذلك، قم بتشغيل مستمع telnet مثل هذا: `127.0.0.1 &/usr/sbin/utelnet -l bin/sh -p 2512`.

userbin

بعد ذلك، نستكشف العمليات الجارية.

We can find a lot of interesting data here, such as the boa http server, the TR69 server which is used by ISP to remotely configure the routers to perform updates/ customer care, the SIP client for voice calls, PPPd Point-to-point protocol client between the device, and the isp
يمكننا العثور على الكثير من البيانات المثيرة للاهتمام هنا، مثل خادم boa http، وخادم TR69 الذي يستخدمه ISP لتكوين أجهزة التوجيه عن بُعد لإجراء التحديثات/رعاية العملاء، وعميل SIP للمكالمات الصوتية، وعميل بروتوكول PPPD من نقطة إلى نقطة بين الجهاز، و isp

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

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

كان أحد الأخطاء التي وجدتها، أثناء هذه العملية، هو الاستماع الثنائي لـ telnet على WAN والذي استخدم تسجيل دخول مخصص قابل للتنفيذ/bin/ والذي لا يعمل إلا إذا تم تزويده بكلمة مرور مشفرة.

hard coded shodanنقاط الضعف المنخفضة هذه ليست نادرة جدًا. غالبًا ما يترك المطورون كلمات المرور الخلفية المشفرة مكشوفة. فيما يلي بعض الحالات التي تثبت نفس الشيء:

https://securityledger.com/2015/08/hardcoded-firmware-password-sinks-home-routers/

https://nakedsecurity.sophos.com/2013/10/15/d-link-router-flaw-lets-anyone-login-using-joels-backdoor/

https://jalalsela.com/hacking-tp-link-tl-wr740n-backdoor/

 

أخطاء حقن الأوامر شائعة جدًا أيضًا:

https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/under-the-hood-linksys-remote-command-injection-vulnerabilities/

https://www.cybersecurity-help.cz/vdb/SB2019040101

https://packetstormsecurity.com/files/145823/TP-Link-Remote-Command-Injection.html

 

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

https://www.shodan.io/explore/tag/camera.

وبالمثل، يمكننا العثور على أجهزة التوجيه والطابعات وأنظمة الأمان وما إلى ذلك مع تمكين كلمات المرور الافتراضية.

 

3. مشاركة الأجهزة

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

3.1 واجهة تسلسلية

تقوم معظم أجهزة إنترنت الأشياء بتشغيل نواة لينكس كاملة على صندوق يعمل بنظام MIPS أو ARM. الواجهة التسلسلية ليست غير شائعة على هذه الأنواع من الأجهزة.

عادةً ما يمكن للمرء العثور على UART عبر واجهة RS-232 أو TTL على شريحة جهاز إنترنت الأشياء. ستحتوي واجهة RS-232 على موصل ذو 9 سنون، وستحتوي واجهة TTL على 3-5 دبابيس. ستحتوي الشريحة الموجودة داخل الغلاف الخارجي على تعليمات بخصوص الموصلات. استخدم محول USB-TTL، وقم بلحام الاتصال بين الشريحة والمحول.

A USB-TTL converter. At least three pins RX, TX, VCC should be connected
محول USB-TTL. يجب توصيل ثلاثة دبابيس على الأقل RX و TX و VCC

بعد ذلك، اتصل بوحدة التحكم التسلسلية واستخدم بيانات اعتماد مسؤول الجهاز لتسجيل الدخول.

Connecting to the serial console
الاتصال بوحدة التحكم التسلسلية

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

بمجرد بدء مطالبة shell، يمكننا استخدام التقنيات التي تمت مناقشتها سابقًا لإجراء مزيد من الاختبارات.

3.2 كيلو تاغ

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

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

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

Additional device to connect to the JTAG Interface such as this Exploit-Nano hacker tool
جهاز إضافي للاتصال بواجهة JTAG مثل أداة اختراق Explorit-Nano
3.3 ماذا يمكنك أن تفعل مع JTAG؟
  • إيقاف العملية والمضي قدمًا فيها
  • افحص الذاكرة
  • اكتب وحدات البايت مباشرة في الذاكرة،
  • تعيين نقاط الاستراحة
  • أدخل التعليمات البرمجية في ذاكرة العملية أو العملية
  • قم بتفريغ محتويات أداة تحميل التشغيل
  • تجاوز عمليات تسجيل الدخول وما إلى ذلك

 

ما الذي يمكن أن يفعله المتسللون بعد العثور على الأخطاء في هذه الأجهزة؟

 

هجوم ميراي بوتنيت

في عام 2016، أدت الثغرات الأمنية في العلامات التجارية للكاميرات الأمنية إلى إسقاط الإنترنت تقريبًا. أطلقت شبكة Mirai botnet هجمات رفض الخدمة الموزعة بسرعة 623 جيجابت في الثانية على أهداف متعددة. نشأت حركة المرور من آلاف الكاميرات الأمنية هذه. في العام التالي، تم إطلاق البديل الخاص به، Mirai Okiru، مستهدفًا أجهزة توجيه Huawei.

جعل انتشار أجهزة إنترنت الأشياء من المستحيل تقريبًا التعامل مع العدد المتزايد من الهجمات التي تواجهها.

غزو الخصوصية

يتم استغلال معظم الأجهزة الذكية بشكل متكرر للتعدي على خصوصية مستخدميها:

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

 

لم يتم العثور على أية عناصر.

مدونات ذات صلة