
IoTGoat एक जानबूझकर असुरक्षित फर्मवेयर है जो OpenWrt पर आधारित है।

IoTGoat प्रोजेक्ट जानबूझकर असुरक्षित फर्मवेयर है जो OpenWrt पर आधारित है और OWASP द्वारा संचालित है ताकि उपयोगकर्ताओं को IoT उपकरणों में पाए जाने वाले सबसे सामान्य कमजोरियों का परीक्षण करने का तरीका सिखाया जा सके। कमजोरी की चुनौतियाँ नीचे दिए गए OWASP IoT Top 10 के साथ-साथ परियोजना योगदानकर्ताओं के "ईस्टर एग" पर आधारित हैं। कमजोरी की चुनौतियों की सूची के लिए, IoTGoat चुनौतियाँ विकी पृष्ठ देखें।
| OWASP IoT Top 10 2018 | विवरण |
|---|---|
| I1 कमजोर, अनुमान लगाने योग्य, या हार्डकोडेड पासवर्ड | आसानी से ब्रूटफोर्स किए जा सकने वाले, सार्वजनिक रूप से उपलब्ध, या अपरिवर्तनीय क्रेडेंशियल्स का उपयोग, जिसमें फर्मवेयर या क्लाइंट सॉफ्टवेयर में बैकडोर शामिल हैं जो तैनात सिस्टम तक अनधिकृत पहुंच प्रदान करते हैं। |
| I2 असुरक्षित नेटवर्क सेवाएँ | डिवाइस पर चलने वाली अनावश्यक या असुरक्षित नेटवर्क सेवाएँ, विशेष रूप से वे जो इंटरनेट पर उजागर होती हैं, जो जानकारी की गोपनीयता, अखंडता/प्रामाणिकता, या उपलब्धता से समझौता करती हैं या अनधिकृत रिमोट कंट्रोल की अनुमति देती हैं। |
| I3 असुरक्षित इकोसिस्टम इंटरफेस | डिवाइस के बाहर इकोसिस्टम में असुरक्षित वेब, बैकएंड API, क्लाउड, या मोबाइल इंटरफेस जो डिवाइस या उससे संबंधित घटकों से समझौता करने की अनुमति देते हैं। सामान्य मुद्दों में प्रमाणीकरण/प्राधिकरण की कमी, एन्क्रिप्शन की कमी या कमजोरी, और इनपुट और आउटपुट फ़िल्टरिंग की कमी शामिल है। |
| I4 सुरक्षित अपडेट तंत्र का अभाव | डिवाइस को सुरक्षित रूप से अपडेट करने की क्षमता का अभाव। इसमें डिवाइस पर फर्मवेयर सत्यापन की कमी, सुरक्षित वितरण की कमी (पारगमन में अनएन्क्रिप्टेड), एंटी-रोलबैक तंत्र की कमी, और अपडेट के कारण सुरक्षा परिवर्तनों की सूचनाओं की कमी शामिल है। |
| I5 असुरक्षित या पुराने घटकों का उपयोग | अप्रचलित या असुरक्षित सॉफ्टवेयर घटकों/लाइब्रेरियों का उपयोग जो डिवाइस से समझौता करने की अनुमति दे सकता है। इसमें ऑपरेटिंग सिस्टम प्लेटफार्मों का असुरक्षित अनुकूलन, और समझौता की गई आपूर्ति श्रृंखला से तीसरे पक्ष के सॉफ्टवेयर या हार्डवेयर घटकों का उपयोग शामिल है। |
| I6 अपर्याप्त गोपनीयता संरक्षण | डिवाइस या इकोसिस्टम में संग्रहीत उपयोगकर्ता की व्यक्तिगत जानकारी जिसका असुरक्षित, अनुचित, या बिना अनुमति के उपयोग किया जाता है। |
| I7 असुरक्षित डेटा स्थानांतरण और भंडारण | इकोसिस्टम में कहीं भी संवेदनशील डेटा के एन्क्रिप्शन या पहुंच नियंत्रण की कमी, जिसमें आराम, पारगमन, या प्रसंस्करण के दौरान शामिल है। |
| I8 डिवाइस प्रबंधन का अभाव | उत्पादन में तैनात उपकरणों पर सुरक्षा समर्थन की कमी, जिसमें संपत्ति प्रबंधन, अपडेट प्रबंधन, सुरक्षित डीकमीशनिंग, सिस्टम निगरानी, और प्रतिक्रिया क्षमताएँ शामिल हैं। |
| I9 असुरक्षित डिफ़ॉल्ट सेटिंग्स | डिवाइस या सिस्टम जो असुरक्षित डिफ़ॉल्ट सेटिंग्स के साथ भेजे जाते हैं या ऑपरेटरों को कॉन्फ़िगरेशन संशोधित करने से प्रतिबंधित करके सिस्टम को अधिक सुरक्षित बनाने की क्षमता की कमी होती है। |
| I10 भौतिक सख्तीकरण का अभाव | भौतिक सख्तीकरण उपायों की कमी, जो संभावित हमलावरों को संवेदनशील जानकारी प्राप्त करने की अनुमति देती है जो भविष्य के रिमोट हमले में सहायता कर सकती है या डिवाइस का स्थानीय नियंत्रण ले सकती है। |
IoTGoat के साथ हैकिंग शुरू करने के कई तरीके मौजूद हैं।
उन लोगों के लिए जो फाइलसिस्टम निकालना, कॉन्फ़िगरेशन और बाइनरी का स्थैतिक विश्लेषण करना चाहते हैं, https://github.com/scriptingxss/IoTGoat/releases से नवीनतम प्रीकंपाइल्ड फर्मवेयर रिलीज़ डाउनलोड करें। कमजोरियों की पहचान करने में सहायता के लिए OWASP के फर्मवेयर सुरक्षा परीक्षण पद्धति का संदर्भ लें।
गतिशील वेब परीक्षण और बाइनरी रनटाइम विश्लेषण के लिए, शुरू करने का सबसे तेज़ तरीका नवीनतम "IoTGoat-x86.vmdk" (VMware) डाउनलोड करना और IoTGoat डिस्क इमेज का उपयोग करके एक कस्टम वर्चुअल मशीन बनाना है। वेब एप्लिकेशन कमजोरियों की पहचान करने पर अतिरिक्त मार्गदर्शन के लिए OWASP के वेब सुरक्षा परीक्षण गाइड और ASVS परियोजनाओं का संदर्भ लें।
IoTGoat को स्थानीय रूप से वर्चुअलाइज़ करने के लिए QEMU का लाभ उठाने वाले ओपनसोर्स टूल्स (जैसे Firmadyne और FAT) के साथ फर्मवेयर का अनुकरण करें।
Raspberry Pi 2 (BRCM2708 और BRCM2709) पर फ्लैश करने के लिए IoTGoat-raspberry-pi2-sysupgrade.img फर्मवेयर का उपयोग करें।
OpenWrt कई अलग-अलग CPU प्लेटफार्मों और बोर्डों का निर्माण कर सकता है। स्रोत से निर्माण उपयोगकर्ताओं को समर्थित OpenWrt हार्डवेयर पर IoTGoat को फ्लैश करने की लचीलापन देता है। सुनिश्चित करें कि कम से कम 4GB RAM और समर्थित लिनक्स वितरण जैसे Ubuntu 18.04 के साथ 10-15GB डिस्क स्थान उपलब्ध हो। कस्टम फर्मवेयर बनाने के लिए निम्नलिखित चरणों का उपयोग करें।
सामान्य उपयोगकर्ता के रूप में सब कुछ करें, निर्माण के दौरान रूट उपयोगकर्ता या sudo का उपयोग न करें!
$ git clone https://github.com/scriptingxss/IoTGoat.git
$ cd IoTGoat/OpenWrt/openwrt-18.06.2/
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a
$ make menuconfig # select your preferred configuration for the toolchain, target system & firmware packages.
$ make # Build your firmware with make. This will download all sources, build the cross-compile toolchain and then cross-compile the Linux kernel & all chosen applications for your target system.
पहला निर्माण पूरा होने में कुछ समय लगेगा और टूलचेन डाउनलोड करने के लिए प्रदान किए गए इंटरनेट कनेक्शन के आधार पर भिन्न होगा। एक सफल निर्माण पूरा होने के बाद, संकलित फर्मवेयर को menuconfig में चयनित लक्ष्य के आधार पर निम्नलिखित निर्देशिका IoTGoat/OpenWrt/openwrt-18.06.2/bin/targets/ में रखा जाएगा। उदाहरण के लिए, IoTGoat Raspberry Pi 2 फर्मवेयर निम्नलिखित निर्देशिका IoTGoat/OpenWrt/openwrt-18.06.2/bin/targets/brcm2708/bcm2709 में स्थित होगा। IoTGoat बिल्ड कॉन्फ़िगरेशन फ़ाइलें x86 (.config-x86) और Raspberry Pi 2 (.config-rpi) प्लेटफार्मों के लिए उपलब्ध कराई गई हैं।