ब्लैक स्वान सिद्धांत और स्वचालित प्रणालियों की मौलिक भेद्यता

संकलित भाषाओं में लिखे गए किसी भी सॉफ्टवेयर में एक प्रासंगिक मौलिक भेद्यता है।

ब्लैक स्वान का सिद्धांत


सिद्धांत के लेखक नासीम निकोलस तालेब हैं, जिन्होंने अपनी पुस्तक "द ब्लैक स्वान" में इसका वर्णन किया है। अप्रत्याशितता के संकेत के तहत। " सिद्धांत कठिन-से-भविष्यवाणी और दुर्लभ घटनाओं पर विचार करता है जिनके महत्वपूर्ण परिणाम हैं। वास्तविक दुनिया की प्रक्रियाओं को केवल गणित के दृष्टिकोण से वर्णित नहीं किया जा सकता है, और इसके प्रमाण के रूप में, आइए हम एक सरल उदाहरण पर विचार करें।

लाइव टर्की को पोल्ट्री फार्म में खरीदा जाता है, और यह बहुत बेहतर परिस्थितियों में गिरता है।
वह तीव्रता से चंचल है, उसकी देखभाल की जाती है और उसकी देखभाल की जाती है। हर दिन, उसका फीडर भोजन से भर जाता है, उसका कोरल गर्म और आरामदायक होता है। हर दिन, एक लंबा समय।

अगर टर्की के पास भविष्यवाणी करने की क्षमता थी, तो यह अनुमान लगाने की लगभग 100 प्रतिशत संभावना होगी कि अगले दिन फ़ीड उसके गर्म पैडॉक में काफी होगा। लेकिन नवंबर में एक अच्छा दिन, थैंक्सगिविंग आता है, और वही देखभाल करने वाला मालिक अपनी गर्दन घुमाता है। आश्चर्य। ऐसा हुआ कि टर्की को पता नहीं चला, और पूरी तस्वीर मौलिक रूप से बदल गई। क्या हुआ ब्लैक स्वान, एक दुर्लभ अप्रत्याशित घटना है। अप्रत्याशित पक्ष से झटका। और ऐसे आयोजन हमारे जीवन में होते हैं।

यदि आपने अपने पूरे जीवन में केवल सफेद हंस देखे हैं, तो इसका मतलब यह नहीं है कि अश्वेतों का अस्तित्व नहीं है।

इस सिद्धांत की जांच करने के बाद, हम किसी भी स्वचालित प्रणाली की संभावित मौलिक भेद्यता की प्रासंगिकता को समझ सकते हैं। समस्या काफी पुरानी है, सी के रूप में कई हैं।

इस बारे में सोचकर कि क्या आप भरोसे पर भरोसा कर सकते हैं


1975 में, केन थॉम्पसन (सी प्रोग्रामिंग भाषा और UNIX ऑपरेटिंग सिस्टम के निर्माता) एक विश्वसनीय बॉयलर की समस्या को हल करने वाले पहले व्यक्ति थे। सार्वजनिक रूप से 1984 में उनके ट्यूरिंग व्याख्यान में प्रकाशित हुआ, "सोच के बारे में कि क्या विश्वसनीयता पर भरोसा किया जा सकता है।"

एक व्याख्यान में, केन थॉम्पसन ने अपने स्रोत कोड को संशोधित करने की आवश्यकता के बिना सी कंपाइलर के बाइनरी संस्करण के माध्यम से एक हमले का प्रदर्शन किया। संकलक में एक बुकमार्क दिखाया गया था, जो इस संकलक द्वारा संकलित कार्यक्रमों में वायरस कोड जोड़ता है। और संकलक पर भी कॉन्फ़िगर किया गया है।

स्रोत कोड के माध्यम से वायरस कोड को पारंपरिक तरीकों से ट्रैक नहीं किया जा सकता है।

लेकिन संकलक भी संकलक द्वारा संकलित किए जाते हैं। संकलक के विश्वसनीय और सत्यापित स्रोत कोड पर तब तक भरोसा नहीं किया जा सकता है जब तक कि यह एक विश्वसनीय संकलक द्वारा संकलित नहीं किया जाता है। संकलक वायरस कोड के नए संस्करणों को एकत्रित करना संकलक के नए संस्करणों में गुणा करता है। "चिकन और अंडे" की समस्या के प्रकटीकरण का एक महत्वपूर्ण उदाहरण है।

लगभग 20 वर्षों के लिए, समस्या को अस्वीकार्य माना गया था।

डबल स्प्लिट क्रॉस संकलन विधि


2005 में, डेविड व्हीलर ने इस समस्या का एक समाधान पेश किया, जिससे आपको कंपाइलर पर एक सफल हमले की सही पहचान करने में मदद मिली।

सिद्धांत की मुख्य कठिनाई यह है कि इसके लिए एक विश्वसनीय संकलक की आवश्यकता होती है।

संक्षेप में, तकनीक इस प्रकार है:
1) एस संकलक के चेक किए गए स्रोत कोड को लिया जाता है (उदाहरण के लिए gcc-4.7);
2) कंपाइलर S को कंपाइलर C1 द्वारा संकलित किया जाता है और कंपाइलर C1 (S) प्राप्त किया जाता है;
3) संकलक S को विश्वसनीय संकलक C2 द्वारा संकलित किया गया है और संकलक C2 (S) प्राप्त किया गया है;
4) प्रोग्राम P को कंपाइलर C1 (S) और C2 (S) पर संकलित किया गया है, हमें प्रोग्राम C1 (S (P)) और C2 (S (P)) के बाइनरी कोड मिलते हैं;
5) C1 (S (P)) और C2 (S (P)) की तुलना करें;

परिणामी बाइनरी फाइलें समान होनी चाहिए, अन्यथा कंपाइलर बदनाम है और इसमें एक वायरस कोड (प्रोग्राम बुकमार्क) है।

निष्कर्ष


संकलकों के बाइनरी संस्करणों का वितरण अनियंत्रित था, और यह कहना असंभव है कि किसी भी स्तर पर वर्णित भेद्यता वाले संकलक खुद को अपलोड नहीं करते हैं। फिलहाल, एक विश्वसनीय संकलक खोजना लगभग असंभव है। यह किसी भी स्वचालित प्रणाली में एक संभावित मौलिक भेद्यता का सुझाव देता है। सिद्ध स्रोत कोड की उपस्थिति एक रामबाण नहीं है, क्योंकि बाइनरी वायरस की उपस्थिति आसानी से श्रव्य स्रोत कोड के सभी लाभों को नकार देती है।

लेख की शुरुआत में टर्की उदाहरण इस भेद्यता की प्रासंगिकता को साबित करने का एक प्रयास है, जिसे कई वर्षों से पर्याप्त ध्यान नहीं मिला है।

यह ज्ञात नहीं है कि संकलक में कौन और क्यों प्रोग्राम बुकमार्क कर सकता है, और क्या "धन्यवाद" हम सभी के लिए आएगा।

साहित्य


1) नासिम निकोलस तालेब, द ब्लैक स्वान: द इम्पैक्ट ऑफ़ द हाइली इम्प्रूवबल,
http://www.nytimes.com/2007/04/22/books/chapters/0422-1st-tale.html?_r=0
2) थॉम्पसन, केन, ट्रस्टिंग ट्रस्ट पर विचार,
https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf
3) व्हीलर, डेविड ए।, काउंटरिंग ट्रस्टिंग ट्रस्ट विथ डाइवर्स डबल-कंपाइलिंग (डीडीसी),
http://www.dwheeler.com/trusting-trust/wheelerd-trust.pdf

Source: https://habr.com/ru/post/In199306/


All Articles