सैद्धांतिक कंप्यूटर विज्ञान सुरक्षा से कैसे संबंधित है?


11

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


9
सीएस थ्योरी का परिप्रेक्ष्य व्यक्तिपरक और बहुत ही तर्कपूर्ण है और इस सवाल का जवाब देने की भी आवश्यकता नहीं है। यह प्रश्न विशेष रूप से हैकिंग पर ध्यान केंद्रित करने के लिए लगता है, जो कि एक व्यापक विषय है और इसमें स्वयं (सोशल इंजीनियरिंग तकनीकों के लिए सभी तरह से) और "सुरक्षित" होने के करीब नहीं आता है। इन्हीं कारणों से मैंने पदत्याग किया है। हालाँकि, मुझे लगता है कि प्रश्न एक अच्छी जगह से आ रहा है और इसके कुछ दिलचस्प पहलू हैं इसलिए मैंने नीचे उत्तर दिया है।
रॉस स्नाइडर

जवाबों:


20

आपका अंतर्ज्ञान "असुरक्षा" सॉफ्टवेयर के कारण है जो "बहुत उपयोगी" है, एक अर्थ में सही है। "अंतर गोपनीयता" पर एक बड़ा और बढ़ता सैद्धांतिक साहित्य है जो आपके अंतर्ज्ञान को औपचारिक बनाता है। उदाहरण के लिए देखें, यहाँ: research.microsoft.com/en-us/projects/databaseprivacy/dwork.pdf

εε

0


14

कई प्रकार से:


मुझे ईमानदारी से विश्वास नहीं है कि आपने कभी भेद्यता पाई है, कोड का एक टुकड़ा पैच किया है या यहां तक ​​कि एक वास्तविक दुनिया भेद्यता के आंतरिक कामकाज को देखा है।
रूक

8
OllyDbg का उपयोग करते हुए मैंने Microsoft के मंगलवार से पहले (दूसरा) कर्सर भेद्यता (जाहिर तौर पर बिना स्रोत कोड के) को ठीक करने के लिए अपने gdi dll को पैच किया। OllyDbg का उपयोग करने के बाद मैंने इसे बंद करने के लिए (शर्मनाक तरीके से) पोकेमॉन प्रतियोगिता को धोखा देने के लिए एक बंद स्रोत एमुलेटर लगाया। मुझे एक वेबकेम प्रोजेक्ट में 0 दिन मिला और बड़ी संख्या में वॉरगेम्स (ब्लैकसून, जिसमें एएसएलआर और पीएएक्स सक्षम है) पर काफी उच्च स्कोर किया है। मैं उन कुछ अधिक नापाक बातों का उल्लेख नहीं करूँगा जो मैंने की हैं .... श्रग; अगर मेरे पास होता या नहीं होता तो बात क्यों होती? कृपया लौ न लगाएं।
रॉस स्नाइडर

13
@ द रूक: यदि आप मानते हैं कि रॉस की सूची का सॉफ्टवेयर सुरक्षा के वास्तविक अभ्यास से बहुत कम संबंध है, तो ऐसा कहें। हो सकता है कि कुछ उदाहरण देना भी मददगार हो, या अपने स्वयं के विवरण का एक उत्तर जोड़ना कि अभी तक TCS सुरक्षा अनुसंधान वास्तविक सुरक्षा अभ्यास से कितना दूर है (जो मुझे लगता है कि पढ़ना बहुत दिलचस्प होगा)। लेकिन रॉस को निष्क्रिय करने की कोई आवश्यकता नहीं है।
जोशुआ ग्रोको

13

उदाहरण वायर्ड समतुल्य गोपनीयता पर विचार करें , जो वास्तव में ऐसी कोई चीज नहीं है: शर्मनाक बुनियादी सैद्धांतिक ओवरसाइट्स (पीडीएफ) के कारण, WEP मिनटों के भीतर टूटने योग्य है।

में "क्यों कंप्यूटर हैं असुरक्षित," ब्रूस Schneier चुटकी ली

सुरक्षा इंजीनियरिंग में शैतान के कंप्यूटर की प्रोग्रामिंग शामिल है।

और शैतान का कंप्यूटर परीक्षण करना कठिन है।


10

स्ट्रीमिंग एल्गोरिदम के अध्ययन के लिए वास्तविक दुनिया की बहुत सी प्रेरणा है जो नेटवर्क घुसपैठ का पता लगाती है। नीचे दिया गया पेपर आपके नेटवर्क ट्रैफ़िक में विसंगतियों का पता लगाने के लिए अनुभवजन्य एन्ट्रापी के लिए स्ट्रीमिंग एल्गोरिदम का उपयोग करता है।

यू गु, एंड्रयू मैक्कलम, और डॉन टॉस्ली। अधिकतम एंट्रोपी अनुमान का उपयोग करके नेटवर्क ट्रैफ़िक में विसंगतियों का पता लगाना। IMC '05: इंटरनेट माप पर 5 वें ACM SIGCOMM सम्मेलन की कार्यवाही, पृष्ठ 1-6, 2005


8

अन्य उत्तरों के विपरीत, यह "उन चीजों के साथ अधिक है जो हमें यह चिंता करना चाहिए कि कुछ कहे जाने वाले 'सुरक्षित रूप से सुरक्षित हैं" "उन स्थानों के विपरीत जहां टीसीएस का उपयोग सुरक्षा में किया गया है। इस प्रकार, यह सिद्धांत के साथ काम करते समय सुरक्षा चिंताओं के पहले प्रश्न को संबोधित करता है।

जैसा कि हैकर्स कहते हैं, सैद्धांतिक परिणाम अक्सर वास्तविक विश्व सुरक्षा के लिए स्पर्शरेखा होते हैं। इस तरह के तर्क को अल्फ्रेड मेनेजेस और नील कोब्लिट्ज ने ' एक और रूप ' पत्र की अपनी श्रृंखला में अधिक सैद्धांतिक, वैज्ञानिक और सटीक बनाया है (चेतावनी: साइट मेरे लिए थोड़ा टकरावपूर्ण लगती है, लेकिन मुझे लगता है कि प्रश्न मान्यताओं का मूल विचार है। बहूत ज़रूरी है)। वे क्रिप्टोग्राफी में मानक मान्यताओं में कमजोरियों को इंगित करते हैं, यहां तक ​​कि सेमिनल पेपर्स में भी।

कुछ उदाहरण (अपनी साइट से कुछ बिंदुओं को उद्धृत / उद्धृत करते हुए):

  1. एक सुरक्षा प्रमेय सशर्त है - यह कुछ गणितीय समस्या की सहजता को मानता है।

  2. अक्सर एक जटिल और आकस्मिक समस्या के लिए अस्थिरता धारणा बनाई जाती है: कुछ मामलों में समस्या तुच्छ रूप से प्रोटोकॉल के लिए क्रिप्टोनालिसिस समस्या के बराबर होती है जिसकी सुरक्षा "साबित" हो रही है।

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

  4. एक सुरक्षा प्रमेय सुरक्षा के एक निश्चित मॉडल का उपयोग करता है। कुछ हमलों - विशेष रूप से साइड-चैनल हमलों - मॉडल के लिए बहुत कठिन हैं, और जिन मॉडल को प्रस्तावित किया गया है, वे अपर्याप्त रूप से अपर्याप्त हैं।


6

सॉफ्टवेयर, हार्डवेयर और प्रोटोकॉल की शुद्धता साबित करने के लिए कुछ हद तक प्रमेय सिद्ध किए गए हैं। उदाहरण के लिए, यहाँ या यहाँ देखें

कार्यक्रमों के माध्यम से अवांछित तरीके से बहने वाले डेटा की समस्या (इस प्रकार एक संभावित रिसाव के कारण) सैद्धांतिक रूप से (गैर-) हस्तक्षेप की धारणा का उपयोग करके तैयार की गई है; यहाँ संकेत मिलता है


3

प्रोग्रामिंग भाषा के शोध में निर्णयशीलता एक केंद्रीय चिंता है। यही है, प्रोग्रामिंग भाषाओं के निर्माण में बहुत प्रयास किया जा रहा है जो केवल कोड को स्वीकार करते हैं जो कुछ गुणों को संतुष्ट करता है। विशिष्ट स्थिर भाषाएं केवल कमजोर गारंटी प्रदान करती हैं, जैसे किसी कार्यक्रम को अस्वीकार करना अगर कुछ विधियाँ मौजूद नहीं हैं, लेकिन कल्पना करें कि क्या भाषा उन कार्यक्रमों को भी फेंक सकती है जो उदाहरण के लिए, अनुचित रूप से म्यूटेक्स का उपयोग करते हैं, या स्मृति क्षेत्रों के अंत से परे पढ़ने का प्रयास करते हैं। यह स्पष्ट है कि डिसिडिबिलिटी के मुद्दे जल्दी से आते हैं (सबसे सरल परिदृश्य: निर्दिष्ट करें कि आपके कंपाइलर को केवल समाप्ति कार्यक्रमों को स्वीकार करना चाहिए), और निश्चित रूप से, दक्षता संबंधी चिंताएं हैं (एमएल टाइप-चेकर में दोगुने घातीय मामले हैं)।

किसी भी मामले में, पीएल अनुसंधान समुदाय सुरक्षा में बहुत रुचि रखता है (क्या आप अपने ब्राउज़र को मनमाने ढंग से विदेशी कोड चलाने के लिए विश्वास करते हैं?), और उनके प्रश्न कई शास्त्रीय सीएस सिद्धांत प्रश्नों में ले जाते हैं।


कोई भी उच्च स्तरीय भाषा (पढ़ें: C [++] के अलावा) मेमोरी एक्सेस पर प्रोग्रामर नियंत्रण नहीं देता है, इसलिए मैं इस समस्या को हल करने पर विचार करूंगा।
राफेल

@ राफेल: यह देखते हुए कि सॉफ्टवेयर की एक विशाल राशि अभी भी C और C ++ में लिखी गई है, इस समस्या को केवल हल नहीं माना जा सकता है। इसके अलावा, जावास्क्रिप्ट पर कोड इंजेक्शन हमलों को संबोधित करने की तकनीक, उदाहरण के लिए, अभी भी अपनी प्रारंभिक अवस्था में है। बहुत कुछ किया जाना बाकी है।
डेव क्लार्क

1
तथ्य यह है कि कुछ वातावरण मौजूदा समाधानों की अनदेखी करते हैं (कभी-कभी अच्छे कारणों के लिए) समस्या नहीं बनाते हैं (यहां: निषिद्ध स्मृति पतों को एक्सेस करना) कम हल किया गया है। कुछ चीजें जिन्हें जांचना कठिन है, उन्हें आसानी से उपयुक्त आक्रमणकारियों द्वारा दरकिनार किया जा सकता है। उदाहरण के लिए, आप अपने प्रोग्रामर (cf इसाबेल / HOL) से समाप्ति का औपचारिक प्रमाण मांग सकते हैं।
राफेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.