Security Vulnerabilities in Software Supply Chain for Autonomous Vehicles
यह अध्याय ऑटोवेयर (Autoware), अपोलो (Apollo) और ओपनपायलट (openpilot) जैसे लोकप्रिय प्लेटफॉर्म्स पर स्टैटिक एनालाइजर्स (static analyzers) का उपयोग करते हुए, स्वायत्त वाहनों (autonomous vehicles) की ओपन-सोर्स सॉफ्टवेयर सप्लाई चेन में प्रचलित सुरक्षा कमजोरियों का विश्लेषण करता है, जिसका उद्देश्य महत्वपूर्ण खामियों को उजागर करना और सिस्टम की विश्वसनीयता एवं सार्वजनिक विश्वास सुनिश्चित करने के लिए विकास जीवनचक्र (development lifecycle) के शुरुआती चरणों में ही सुरक्षा सर्वोत्तम प्रथाओं के एकीकरण की वकालत करना है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
स्वायत्त वाहन केवल उन्नत इंजनों वाली कारें नहीं हैं; वे पहियों पर चलते कंप्यूटर हैं, जहाँ यात्रियों और पैदल यात्रियों की सुरक्षा पूरी तरह से कोड की पंक्तियों पर निर्भर करती है। ये मशीनें एक जटिल सॉफ्टवेयर आपूर्ति श्रृंखला (सॉफ्टवेयर सप्लाई चेन) पर निर्भर करती हैं, जो डिजिटल सामग्रियों का एक विशाल नेटवर्क है जिसे डेवलपर्स कार को देखने, सोचने और चलने में सक्षम बनाने के लिए आपस में जोड़ते हैं। इस श्रृंखला में कार के निर्माता द्वारा लिखा गया मूल कोड शामिल है, लेकिन यह ओपन-सोर्स सॉफ्टवेयर पर भी बहुत अधिक निर्भर है—जो दुनिया भर के प्रोग्रामरों के समुदायों द्वारा बनाए गए स्वतंत्र रूप से उपलब्ध निर्माण खंड (बिल्डिंग ब्लॉक्स) हैं। जबकि यह साझा दृष्टिकोण नवाचार को गति देता है और नए विचारों के तीव्र परीक्षण की अनुमति देता है, यह एक अनूठा खतरा भी पैदा करता है: यदि इस साझा सॉफ्टवेयर के एक हिस्से में कोई छिपा हुआ दोष है, तो वह कमजोरी पूरे सिस्टम में फैल सकती है, जिससे संभावित रूप से वाहन अपने परिवेश को गलत समझ सकता है या रुकने में विफल हो सकता है। जैसे-जैसे ये वाहन अनुसंधान प्रयोगशालाओं से सार्वजनिक सड़कों पर आ रहे हैं, प्रत्येक डिजिटल घटक की अखंडता सुनिश्चित करना जीवन और मृत्यु का मामला बन जाता है।
अलाबामा विश्वविद्यालय के शोधकर्ताओं ने तीन सबसे प्रमुख ओपन-सोर्स स्वायत्त वाहन प्लेटफार्मों: Autoware, Apollo और openpilot के कोड को सीधे देखकर इस डिजिटल आधार के स्वास्थ्य की जांच करने का निर्णय लिया। ये परियोजनाएं स्वयं-चालित तकनीक के अत्याधुनिक स्तर का प्रतिनिधित्व करती हैं, जहाँ Autowere और Apollo उच्च स्तर के स्वचालन का लक्ष्य रखते हैं जहाँ कार खुद चलती है, और openpilot उन ड्राइवर सहायता प्रणालियों पर ध्यान केंद्रित करता है जो मनुष्यों को नियंत्रण में रहने में मदद करते हैं। टीम ने इन सॉफ्टवेयर रिपॉजिटरीज़ को एक जटिल इंजन के निरीक्षण करने वाले मैकेनिक की तरह माना, लेकिन जंग लगे बोल्टों की जाँच करने के बजाय, उन्होंने डिजिटल दरारों को खोजने के लिए विशेष स्कैनिंग टूल का उपयोग किया। उन्होंने दो मुख्य क्षेत्रों पर ध्यान केंद्रित किया: परियोजना टीमों द्वारा लिखा गया कोड, और थर्ड-पarty लाइब्रेरीज़—अन्य स्रोतों से उधार लिए गए पूर्व-लिखित कोड स्निपेट्स—जिन पर ये परियोजनाएं कार्य करने के लिए निर्भर करती हैं।
जांच से पता चला कि हालांकि ये प्लेटफॉर्म शक्तिशाली हैं, लेकिन वे हर जगह मौजूद सामान्य त्रुटियों से मुक्त नहीं हैं। शोधकर्ताओं ने पाया कि कोड में कमजोरी के आवर्ती पैटर्न मौजूद थे जिन्हें 'कॉमन वीकनेस एन्यूमरेटर्स' कहा जाता है। C और C++ में लिखे गए कोड में, जो अक्सर ड्राइविंग कार्यों के भारी काम के लिए उपयोग की जाने वाली भाषाएं हैं, स्कैन ने मेमोरी प्रबंधन से संबंधित समस्याओं की पहचान की, जैसे कि बफर ओवरफ्लो, जहाँ डेटा अपने इच्छित स्टोरेज स्पेस से बाहर निकल जाता है और सिस्टम को दूषित कर सकता है। पायथन (Python) कोड में, जिसका उपयोग अक्सर उच्च-स्तरीय योजना और उपकरणों के लिए किया जाता है, स्कैन ने इस बात की समस्याओं को उजागर किया कि सॉफ्टवेयर अप्रत्याशित स्थितियों और इनपुट को कैसे संभालता है। तीनों परियोजनाओं में पाई गई सबसे आम समस्याओं में से एक 'इम्प्रापर हैंडलिंग ऑफ एक्सेप्शनल कंडीशंस' (अपवाद स्थितियों का अनुचित प्रबंधन) थी, जिसका अर्थ है कि सॉफ्टवेयर कभी-कभी गलत होने पर सही ढंग से प्रतिक्रिया देने में विफल रहा। एक अन्य प्रमुख निष्कर्ष 'कमांड इंजेक्शन' दोषों की उपस्थिति थी, जहाँ एक दुर्भावनापूर्ण अभिनेता संभावित रूप से सिस्टम को अनधिकृत कमांड निष्पादित करने के लिए trick कर सकता है।
अध्ययन ने आपूर्ति श्रृंखला की गहराई से भी जांच की, और उन हजारों बाहरी पैकेजों का परीक्षण किया जिन पर ये वाहन निर्भर करते हैं। यहाँ परिणाम परियोजना के आधार पर काफी अलग थे। अपोलो (Apollo) प्लेटफॉर्म, जिसे बड़े पैमाने पर उत्पादन के लिए डिज़ाइन किया गया है, में बड़ी संख्या में डिपेंडेंसीज़ पाई गईं, और स्कैन ने इन 91 बाहरी घटकों की पहचान की जिनमें ज्ञात सुरक्षा कमजोरियां थीं। इनमें फाइल हैंडलिंग और वेब रेंडरिंग के लिए उपयोग किए जाने वाले पैकेजों में महत्वपूर्ण खामियां शामिल थीं, जिनमें से कुछ हमलावर को सिस्टम पर नियंत्रण पाने या संवेदनशील डेटा तक पहुँचने की अनुमति दे सकती हैं। इसके विपरीत, openpilot परियोजना, जिसका दायरा संकीर्ण है, ने अपने बाहरी डिपेंडेंसीज़ के साथ बहुत कम समस्याएं दिखाईं, जिसमें केवल एक असुरक्षित घटक का पता चला। Autoware परियोजना ने इस क्षेत्र में सबसे कम परेशानी दिखाई, जहाँ स्कैन ने अध्ययन के समय अपनी थर्ड-पार्टी लाइब्रेरीज़ में कोई ज्ञात भेद्यता नहीं पाई।
दोषों की संख्या में अंतर के बावजूद, शोध का मूल संदेश स्पष्ट है: जो सॉफ्टवेयर इन वाहनों को शक्ति प्रदान करता है, वह वर्तमान में महत्वपूर्ण जोखिमों के प्रति असुरक्षित है। शोधकर्ताओं ने उल्लेख किया कि ऑटोमोटिव क्षेत्र में लगभग आधे साइबर हमले पहले से ही सॉफ्टवेयर सिस्टम की कमजोरियों का फायदा उठाते हैं, और उनका विश्लेषण पुष्टि करता है कि ये कमजोरियां उसी कोड में मौजूद हैं जिसका उद्देश्य लोगों को सुरक्षित रखना है। अध्ययन ने यह नहीं पाया कि ये सिस्टम मरम्मत के योग्य नहीं हैं, बल्कि यह कि वे एक ऐसे आधार पर बने हैं जिसे निरंतर सतर्कता की आवश्यकता है। लेखक सुझाव देते हैं कि सुरक्षा को बाद का विचार (afterthought) नहीं होना चाहिए; इसे विकास प्रक्रिया की शुरुआत से ही इसमें बुना जाना चाहिए। इन दोषों की निरंतर जांच के लिए स्वचालित उपकरणों का उपयोग करके और सिस्टम में लाए जाने वाले सॉफ्टवेयर घटकों को सावधानीपूर्वक प्रबंधित करके, डेवलपर्स विनाशकारी विफलताओं के जोखिम को कम कर सकते हैं। यह कार्य एक अनुस्मारक के रूप में कार्य करता है कि तेजी से बढ़ते स्वचालित दुनिया में, मशीन की सुरक्षा उसके कोड की सुरक्षा पर निर्भर करती है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।