
जानबूझकर असुरक्षित OpenWrt-आधारित फर्मवेयर, जो IoT सुरक्षा प्रशिक्षण के लिए व्यावहारिक अनुभव प्रदान करता है। इसमें स्थैतिक और गतिशील विश्लेषण के लिए OWASP IoT Top 10 से मैप की गई भेद्यता चुनौतियाँ शामिल हैं।

IoTGoat परियोजना एक जानबूझकर असुरक्षित फर्मवेयर है जो OpenWrt पर आधारित है और OWASP द्वारा अनुरक्षित है, जो सॉफ्टवेयर डेवलपर्स और सुरक्षा पेशेवरों को IoT उपकरणों में सामान्यतः पाई जाने वाली कमजोरियों के परीक्षण के साथ शिक्षित करने के लिए एक मंच के रूप में कार्य करता है। कमजोरी चुनौतियाँ नीचे उल्लिखित OWASP IoT टॉप 10 और परियोजना योगदानकर्ताओं से "ईस्टर एग्स" पर आधारित हैं। कमजोरी चुनौतियों की सूची के लिए, IoTGoat चुनौतियाँ विकी पृष्ठ देखें।
| OWASP IoT टॉप 10 2018 | विवरण |
|---|---|
| I1 कमजोर, अनुमान लगाने योग्य, या हार्डकोडेड पासवर्ड | आसानी से ब्रूटफोर्स किए जा सकने वाले, सार्वजनिक रूप से उपलब्ध, या अपरिवर्तनीय क्रेडेंशियल्स का उपयोग, जिसमें फर्मवेयर या क्लाइंट सॉफ्टवेयर में बैकडोर शामिल हैं जो तैनात सिस्टमों तक अनधिकृत पहुंच प्रदान करते हैं। |
| I2 असुरक्षित नेटवर्क सेवाएँ | उपकरण पर चलने वाली अनावश्यक या असुरक्षित नेटवर्क सेवाएँ, विशेष रूप से वे जो इंटरनेट पर उजागर होती हैं, जो जानकारी की गोपनीयता, अखंडता/प्रामाणिकता, या उपलब्धता से समझौता करती हैं या अनधिकृत रिमोट नियंत्रण की अनुमति देती हैं। |
| I3 असुरक्षित इकोसिस्टम इंटरफेस | उपकरण के बाहर इकोसिस्टम में असुरक्षित वेब, बैकएंड API, क्लाउड, या मोबाइल इंटरफेस जो उपकरण या उसके संबंधित घटकों से समझौता करने की अनुमति देते हैं। सामान्य समस्याओं में प्रमाणीकरण/अधिकार की कमी, एन्क्रिप्शन की कमी या कमजोरी, और इनपुट और आउटपुट फ़िल्टरिंग की कमी शामिल है। |
| I4 सुरक्षित अपडेट तंत्र का अभाव | उपकरण को सुरक्षित रूप से अपडेट करने की क्षमता का अभाव। इसमें उपकरण पर फर्मवेयर सत्यापन की कमी, सुरक्षित वितरण की कमी (परिवहन के दौरान अनएन्क्रिप्टेड), एंटी-रोलबैक तंत्र की कमी, और अपडेट के कारण सुरक्षा परिवर्तनों की सूचना का अभाव शामिल है। |
| I5 असुरक्षित या पुराने घटकों का उपयोग | पदावनत या असुरक्षित सॉफ्टवेयर घटकों/लाइब्रेरियों का उपयोग जो उपकरण से समझौता करने की अनुमति दे सकता है। इसमें ऑपरेटिंग सिस्टम प्लेटफॉर्मों का असुरक्षित अनुकूलन, और समझौता की गई आपूर्ति श्रृंखला से तीसरे पक्ष के सॉफ्टवेयर या हार्डवेयर घटकों का उपयोग शामिल है। |
| I6 अपर्याप्त गोपनीयता संरक्षण | उपकरण या इकोसिस्टम में संग्रहीत उपयोगकर्ता की व्यक्तिगत जानकारी जिसका असुरक्षित, अनुचित, या बिना अनुमति के उपयोग किया जाता है। |
| I7 असुरक्षित डेटा स्थानांतरण और भंडारण | इकोसिस्टम में कहीं भी संवेदनशील डेटा की एन्क्रिप्शन या पहुंच नियंत्रण की कमी, जिसमें विश्राम में, परिवहन में, या प्रसंस्करण के दौरान शामिल है। |
| I8 उपकरण प्रबंधन का अभाव | उत्पादन में तैनात उपकरणों पर सुरक्षा समर्थन की कमी, जिसमें संपत्ति प्रबंधन, अपडेट प्रबंधन, सुरक्षित निष्क्रियीकरण, सिस्टम निगरानी, और प्रतिक्रिया क्षमताएँ शामिल हैं। |
| I9 असुरक्षित डिफ़ॉल्ट सेटिंग्स | उपकरण या सिस्टम जो असुरक्षित डिफ़ॉल्ट सेटिंग्स के साथ भेजे जाते हैं या ऑपरेटरों द्वारा कॉन्फ़िगरेशन को संशोधित करने को प्रतिबंधित करके सिस्टम को अधिक सुरक्षित बनाने की क्षमता का अभाव रखते हैं। |
| I10 भौतिक सख्तीकरण का अभाव | भौतिक सख्तीकरण उपायों की कमी, जिससे संभावित हमलावरों को संवेदनशील जानकारी प्राप्त हो सकती है जो भविष्य के रिमोट हमले में मदद कर सकती है या उपकरण का स्थानीय नियंत्रण ले सकती है। |
IoTGoat को हैक करना शुरू करने के लिए कई विधियाँ मौजूद हैं।
उन लोगों के लिए जो फाइलसिस्टम निकालना, कॉन्फ़िगरेशन और बाइनरी का स्थैतिक विश्लेषण करना चाहते हैं, https://github.com/OWASP/IoTGoat/releases से नवीनतम प्रीकंपाइल्ड फर्मवेयर रिलीज़ डाउनलोड करें। कमजोरियों की पहचान करने में मदद के लिए OWASP के फर्मवेयर सुरक्षा परीक्षण पद्धति का संदर्भ लें।
गतिशील वेब परीक्षण और बाइनरी रनटाइम विश्लेषण के लिए, शुरू करने का सबसे तेज़ तरीका नवीनतम IoTGoat-x86.vmdk (VMware) डाउनलोड करना और IoTGoat डिस्क छवि का उपयोग करके एक कस्टम वर्चुअल मशीन बनाना है। वर्चुअल मशीन सेटिंग्स में निम्नलिखित ऑपरेटिंग सिस्टम विवरण Type: Linux Version: Linux 2.6 / 3.x / 4.x (32-bit) और Enable PAE/NX चुनें। .vmdk और .vdi दोनों का नवीनतम VirtualBox रिलीज़ (अप्रैल 2020) में Windows 10, Ubuntu 18.04 LTS, और MacOS Mojave पर परीक्षण किया गया है। वेब एप्लिकेशन कमजोरियों की पहचान करने में अतिरिक्त मार्गदर्शन के लिए OWASP के वेब सुरक्षा परीक्षण गाइड और ASVS परियोजनाओं का संदर्भ लें।
ओपनसोर्स टूल्स (जैसे Firmadyne, ARM-X Framework, और FAT) का उपयोग करके फर्मवेयर का अनुकरण करें, जो IoTGoat को स्थानीय रूप से वर्चुअलाइज़ करने के लिए QEMU का लाभ उठाते हैं।
Raspberry Pi 2 (BRCM2708 & BRCM2709) पर फ्लैश करने के लिए IoTGoat-raspberry-pi2-sysupgrade.img फर्मवेयर का उपयोग करें।
अतिरिक्त विवरण और स्क्रीनशॉट के लिए [आरंभ करना] (https://github.com/OWASP/IoTGoat/wiki/Getting-started) पृष्ठ देखें।
OpenWrt कई अलग-अलग CPU प्लेटफॉर्म और बोर्ड के लिए निर्माण कर सकता है। स्रोत से निर्माण करने से उपयोगकर्ताओं को समर्थित OpenWrt हार्डवेयर पर IoTGoat फ्लैश करने की लचीलापन मिलती है। कम से कम 4GB RAM और Ubuntu 18.04 जैसे समर्थित Linux वितरण के साथ 10-15GB डिस्क स्थान सुनिश्चित करें। कस्टम फर्मवेयर बनाने के लिए निम्नलिखित चरणों का उपयोग करें।
$ git clone https://github.com/OWASP/IoTGoat.git
$ cd IoTGoat/OpenWrt/openwrt-18.06.2/
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a
$ make menuconfig # टूलचेन, लक्ष्य प्रणाली और फर्मवेयर पैकेजों के लिए अपनी पसंदीदा कॉन्फ़िगरेशन चुनें।
$ make # अपने फर्मवेयर को make के साथ बनाएँ। यह सभी स्रोत डाउनलोड करेगा, क्रॉस-कंपाइल टूलचेन बनाएगा और फिर आपके लक्ष्य प्रणाली के लिए Linux कर्नेल और सभी चुने गए एप्लिकेशन को क्रॉस-कंपाइल करेगा।
पहला निर्माण पूरा होने में कुछ समय लगेगा और यह टूलचेन डाउनलोड करने के लिए प्रदान किए गए इंटरनेट कनेक्शन के आधार पर भिन्न होगा। एक बार सफल निर्माण पूरा होने पर, संकलित फर्मवेयर IoTGoat/OpenWrt/openwrt-18.06.2/bin/targets/ निर्देशिका में रखा जाएगा, जो menuconfig में चुने गए लक्ष्य पर निर्भर करता है। उदाहरण के लिए, IoTGoat Raspberry Pi 2 फर्मवेयर निम्नलिखित निर्देशिका में स्थित होगा IoTGoat/OpenWrt/openwrt-18.06.2/bin/targets/brcm2708/bcm2709। IoTGoat बिल्ड कॉन्फ़िगरेशन फ़ाइलें x86 (.config-x86) और Raspberry Pi 2 (.config-rpi) प्लेटफार्मों के लिए उपलब्ध कराई गई हैं।




कंटेनरीकृत वातावरण में IoTGoat चलाने के लिए Docker सेटअप का उपयोग करें। अधिक विवरण के लिए Docker सेटअप गाइड देखें।