
PENIOT: IoT के लिए भेदन परीक्षण उपकरण
PENIOT इंटरनेट ऑफ थिंग्स (IoT) उपकरणों के लिए एक प्रवेश परीक्षण उपकरण है। यह आपको आपके उपकरणों का परीक्षण/प्रवेश करने में मदद करता है, उनकी इंटरनेट कनेक्टिविटी को विभिन्न प्रकार के सुरक्षा हमलों के माध्यम से लक्षित करके। दूसरे शब्दों में, आप अपने उपकरण को सक्रिय और निष्क्रिय दोनों प्रकार के सुरक्षा हमलों के सामने ला सकते हैं। लक्ष्य उपकरण और उस उपकरण की आवश्यक जानकारी (या पैरामीटर) तय करने के बाद, आप सक्रिय सुरक्षा हमले कर सकते हैं जैसे कि सिस्टम संसाधनों को बदलना/उपभोग करना, वैध संचार इकाइयों को पुन: चलाना, और इसी तरह। साथ ही, आप निष्क्रिय सुरक्षा हमले कर सकते हैं जैसे महत्वपूर्ण जानकारी की गोपनीयता भंग करना या ट्रैफिक विश्लेषण तक पहुँचना। PENIOT की बदौलत, ये सभी कार्य अर्ध-स्वचालित या पूरी तरह से स्वचालित हो सकते हैं। संक्षेप में, PENIOT प्रोटोकॉल-आधारित सुरक्षा हमलों के साथ IoT उपकरणों को लक्षित करने के लिए एक पैकेज/फ्रेमवर्क है।
साथ ही, यह आपको नए सुरक्षा हमलों या नए IoT प्रोटोकॉल के आगे के सम्मिलन के लिए एक आधारभूत संरचना प्रदान करता है। PENIOT की सबसे महत्वपूर्ण विशेषताओं में से एक इसका विस्तार योग्य होना है। डिफ़ॉल्ट रूप से, इसमें कई सामान्य IoT प्रोटोकॉल और उन प्रोटोकॉल से संबंधित कई सुरक्षा हमले हैं। लेकिन, इसे आंतरिक रूप से उपयोग किए जाने वाले घटकों की मूल संरचना को निर्यात करके और अधिक विस्तारित किया जा सकता है ताकि आप PENIOT की आंतरिक संरचना के साथ सामंजस्य में अपने हमले विकसित कर सकें।
IoT प्रतिमान ने पिछले दशक में अत्यधिक वृद्धि का अनुभव किया है, जिसमें अरबों उपकरण इंटरनेट से जुड़े हैं। इनमें से अधिकांश उपकरणों में उनकी क्षमता सीमाओं और बाजार में आने के समय की कमी के कारण सुरक्षा को ध्यान में रखे बिना किए गए डिज़ाइनों के कारण बुनियादी सुरक्षा उपायों का भी अभाव है। IoT में उच्च कनेक्टिविटी के कारण, विस्तारित नेटवर्कों में विनाशकारी प्रभाव डालने वाले हमलों को हैकर्स द्वारा कमजोर उपकरणों के माध्यम से आसानी से लॉन्च किया जा सकता है।
अब तक, प्रवेश परीक्षण मैन्युअल रूप से किया जाता था यदि इसे पूरी तरह से अनदेखा नहीं किया जाता था। इस प्रक्रिया ने उपकरणों के परीक्षण चरण को बहुत धीमा कर दिया। दूसरी ओर, जो फर्में IoT उपकरणों का उत्पादन करती हैं, उन्हें अपने उपकरणों का विश्वसनीयता, मजबूती और उनकी प्रदान की गई कार्यक्षमताओं के संदर्भ में परीक्षण करने में हमेशा अद्यतित रहना चाहिए, क्योंकि दुर्भावनापूर्ण लोगों द्वारा सुरक्षा हमलों का सामना करना अंतिम उपयोगकर्ताओं पर अप्रत्याशित प्रभाव डाल सकता है। PENIOT का मुख्य उद्देश्य सुरक्षा परीक्षण की प्रक्रिया को गति देना है। यह आपको समय लेने वाले प्रवेश परीक्षण चरण को स्वचालित करके आपके IoT उपकरणों पर सुरक्षा दोषों का पता लगाने में सक्षम बनाता है।
सबसे पहले, PENIOT नवीनता प्रदान करता है। यह IoT क्षेत्र में प्रवेश परीक्षण उपकरणों के पहले उदाहरणों में से एक है। केवल एक या दो समान उपकरण हैं जो IoT पर विशेषज्ञ हैं, लेकिन वे अभी भी विकास चरण में हैं, इसलिए अभी तक पूर्ण नहीं हैं।
चूंकि IoT उपकरणों की संख्या तेजी से बढ़ रही है, IoT उपकरण हमारे दैनिक जीवन में अधिक से अधिक सामान्य होते जा रहे हैं। स्मार्ट होम, स्मार्ट साइकिल, चिकित्सा सेंसर, फिटनेस ट्रैकर, स्मार्ट लॉक और कनेक्टेड फैक्ट्रियां IoT उत्पादों के कुछ उदाहरण हैं। इसे देखते हुए, हमने PENIOT में डिफ़ॉल्ट रूप से शामिल करने के लिए कुछ सबसे सामान्यतः उपयोग किए जाने वाले IoT प्रोटोकॉल का चयन करने की आवश्यकता महसूस की। हमने निम्नलिखित प्रोटोकॉल को PENIOT में शामिल डिफ़ॉल्ट IoT प्रोटोकॉल के रूप में चुना। इन IoT प्रोटोकॉल का परीक्षण विभिन्न प्रकार के सुरक्षा हमलों जैसे DoS, फज़िंग, स्निफिंग और रीप्ले हमलों के साथ किया गया है।
निम्नलिखित प्रोटोकॉल वर्तमान में समर्थित हैं:
इसके अलावा, यह आपको अपने स्वयं के प्रोटोकॉल या हमलों को लागू करने के लिए अपने स्वयं के कार्यान्वित प्रोटोकॉल और हमलों के आंतरिक मेनफ्रेम को निर्यात करने में सक्षम बनाता है। साथ ही, आप अपने नव-कार्यान्वित हमलों के साथ पहले से मौजूद प्रोटोकॉल का विस्तार कर सकते हैं। और अंत में, यह आपको एक उपयोग में आसान, उपयोगकर्ता-अनुकूल ग्राफिकल यूजर इंटरफ़ेस प्रदान करता है।
सबसे पहले, आपके मशीन पर Python का setuptools मॉड्यूल स्थापित होना चाहिए। इसके अलावा, आपको स्थापना और निर्माण से पहले python-tk और bluepy स्थापित करने की आवश्यकता है।
संक्षेप में, इंस्टॉलेशन स्क्रिप्ट चलाने से पहले आपको निम्नलिखित की आवश्यकता है:
ध्यान दें कि PENIOT के लिए विशेष रूप से एक अलग वर्चुअल वातावरण बनाने का सुझाव दिया जाता है क्योंकि आश्रित पुस्तकालय काफी पुराने हैं और आपके मौजूदा बाहरी पुस्तकालयों के बीच उन्हें स्थापित करने में कुछ परेशानी हो सकती है
आप निम्नलिखित कोड निष्पादित करके अपने स्थानीय सिस्टम में प्रोजेक्ट का निर्माण कर सकते हैं।
$ git clone [email protected]:yakuza8/peniot.git
$ cd peniot
$ python setup.py install
भले ही हम आपको अद्यतित इंस्टॉलेशन स्क्रिप्ट प्रदान करने का प्रयास करते हैं, इसमें कुछ कमी हो सकती है क्योंकि इस परियोजना को लंबे समय तक बनाए नहीं रखा जा सकता है। कृपया हमें सूचित करें यदि स्थापना में कोई समस्या है।
महत्वपूर्ण नोट: फ़ज़िंग हमलों में फ़ज़िंग पेलोड उत्पन्न करने के लिए आपकी मशीन पर Radamsa स्थापित होना आवश्यक है।
आप वर्चुअल वातावरण स्थापित करने और ऊपर वर्णित आवश्यक पुस्तकालयों को स्थापित करने के बाद कमांड लाइन या अपने पसंदीदा IDE के माध्यम से Peniot चला सकते हैं।
$ python src/peniot.py
इस कमांड को चलाने के बाद, आपको एक उपयोगकर्ता इंटरफ़ेस दिखाई देना चाहिए। फिर आप स्वयं टूल का अन्वेषण कर सकते हैं।
आप resources/documents फ़ोल्डर के अंतर्गत डिज़ाइन अवलोकन दस्तावेज़ और अंतिम डिज़ाइन दस्तावेज़ पा सकते हैं। resources/diagrams फ़ोल्डर के अंतर्गत कई आरेख संलग्न हैं। यहाँ PENIOT के मॉड्यूल में विभाजित होने और इसके डिज़ाइन का सबसे सरल प्रतिनिधित्व है।
अधिकांश हमलों में उनके हमले स्क्रिप्ट के अंतर्गत अपने स्वयं के नमूना एकीकरण परीक्षण होते हैं। उन परीक्षणों को चलाने के लिए, आपके पास लक्ष्य प्रोटोकॉल के लिए एक चल रहा प्रोग्राम होना चाहिए। हम आपको प्रत्येक प्रोटोकॉल के लिए उदाहरण प्रोग्राम प्रदान करने का प्रयास करते हैं जहां कोई भी प्रत्येक प्रोटोकॉल के examples निर्देशिका के अंतर्गत सर्वर/क्लाइंट स्क्रिप्ट पा सकता है।
इस परियोजना में निम्नलिखित परियोजना सदस्यों ने योगदान दिया है:
और इसकी देखरेख Pelin Angın द्वारा की जाती है।
सबसे पहले, आइए मैं आपको हमारी परियोजना साइट पर आने के लिए धन्यवाद दूं। हमने यह प्रदान करने का प्रयास किया कि कोई व्यक्ति एंड-टू-एंड सुरक्षा हमलों के माध्यम से IoT उपकरणों में कैसे प्रवेश कर सकता है और उन्हें हैक कर सकता है। हमारा मुख्य उद्देश्य उन उपकरणों को सामान्य सुरक्षा हमलों से हैक करना है। कोई भी किसी भी प्रोटोकॉल के लिए विशिष्ट हमले आसानी से पा सकता है, लेकिन जैसा कि मैंने कहा, हमारा उद्देश्य सामान्य और विस्तार योग्य प्रवेश फ्रेमवर्क प्रदान करना था।
दूसरी बात, PENIOT Python2.7 के साथ विकसित किया गया है। और हमारा कोड शायद पुरानी स्थिति में चला गया हो। लेकिन फिर भी, हम इसे सार्वजनिक रूप से साझा करना चाहते थे ताकि कोई भी अपने स्वयं के प्रवेश उपकरण विकसित करने के लिए अंतर्दृष्टि और प्रेरणा प्राप्त कर सके, यही वह चीज है जो हमें खुश करती है यदि ऐसा हो सके।
तीसरी बात, हम अपने टूल को Python3 में पोर्ट करने का भी प्रयास करेंगे यदि हम इसके लिए आवश्यक समय निकाल सकें। जब ऐसा होगा, तो हम इस पृष्ठ से भी इसकी सूचना देंगे। आपके ध्यान के लिए धन्यवाद।
डेवलपर: @yakuza8 (Berat Cankar)