एक बाधा संतुष्टि समस्या का आधार खोजने


12

किसी सिस्टम या मॉडल की सुरक्षा का परीक्षण करते समय निम्न प्रश्न कई बार सामने आया है ।

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

मान लें कि वैध आदानों की स्थान की कमी से वर्णन किया गया है Φ । चलो उन बाधाओं, अर्थात् के समाधान के सेट हो ={ | Φ} , जहां संभव आदानों की जगह नहीं है।

मैं निम्नलिखित धारणाओं का वर्णन करते हुए काम की तलाश में हूँ:

  • '' Φ '

  • बाधाएं to को आराम करने के तरीके जैसे कि सबसे पहले और , एक अर्थ में, का वाक्य-विन्यास penumbra है ।ΦΦ'ΦΦ'Φ'¬ΦΦ

"पेनम्ब्रा" एक शब्द है जिसे मैंने अवधारणा का वर्णन करने के लिए चुना है। यह अच्छी तरह से कुछ और कहा जा सकता है।

मुझे गणितीय आकृति विज्ञान में प्रेरणा मिली , इसलिए मेरा दृश्य रूपक है, लेकिन दोनों दुनिया अलग-अलग हैं। क्या वहां कोई उपयोगी काम है? या शायद रफ सेट्स की दुनिया में ?

क्या कोई प्रकाश डाल सकता है?


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

यह वास्तव में सच है। मैं फज़िंग के रूप में जाना जाने वाले दृष्टिकोण का पालन कर रहा हूं।
डेव क्लार्क

वैसे, सीएसपी = बाधा संतुष्टि समस्या।
बजे एमएस डौस्ती

जवाबों:


6

बाधा संतुष्टि समस्या (CSP) के अनुकूलन वेरिएंट पर ध्यान दिए जाने वाले अधिकांश ध्यान ने कुछ बाधाओं (MAX-CSP) को संतुष्ट करने पर ध्यान केंद्रित किया है, या बूलियन मामले में समाधान को चुनने पर जो कई चर संभव मान के रूप में असाइन किया गया है (1) MAX-ONES, MIN-ONES भी है)।

इसके बजाय, आप एक ऐसे संस्करण के बारे में पूछ रहे हैं जिसे MAXIMUM PARTIAL CSP कहा जा सकता है। 1960 के दशक के उत्तरार्ध में इसका कम से कम अध्ययन किया गया था, लेकिन मुझे इसका कोई ज्ञात नाम नहीं है। यह एक स्वाभाविक समस्या है, और इसकी जांच के लिए अधिक काम देखना अच्छा होगा। इस समस्या के लिए एक और संभावित आवेदन प्रदान करने के लिए धन्यवाद!

  • Ambler, AP और Barrow, HG और Brown, CM and Burstall, RM और Popplestone, RJ, कंप्यूटर नियंत्रित विधानसभा के लिए एक बहुमुखी प्रणाली , आर्टिफिशियल इंटेलिजेंस 6 129–156, 1975। doi: 10.1016 / 0004702 (75) 90006- 5

चर-मूल्य असाइनमेंट के सेट को आंशिक असाइनमेंट कहा जाता है । एक (वैरिएबल, वैल्यू) टपल के रूप में एक वैरिएबल-वैल्यू असाइनमेंट लिख सकता है। आंशिक असाइनमेंट तो बस चर से मूल्यों तक काम करते हैं। प्रॉप्स आंशिक असाइनमेंट हैं जो किसी भी बाधा का उल्लंघन नहीं करते हैं। समान रूप से, एक प्रोप में कुछ बाधा (एक सबसेट के रूप में) द्वारा मनाई गई कोई आंशिक असाइनमेंट नहीं है।

अनुकूलन समस्या को व्यक्त करने का एक तरीका इस प्रकार है।

मैक्सिमम पार्टिकल सीएसपी:
इनपुट: सीएसपी उदाहरण
आउटपुट: प्रोप मानदंड: अधिकतम | |
||

वेरिएबल्स के साथ एक उदाहरण में , स्पष्ट रूप से कार्डिनैलिटी एन का एक समाधान एक समाधान होगा। एन - 1 तक कार्डिनैलिटी के साथ बड़े प्रॉप्स मौजूद हो सकते हैं , जो किसी भी समाधान में निहित नहीं हैं।nnn-1

जिस शब्दावली में आप प्रस्तावित करते हैं, अधिकतम कार्डिनलिटी साथ प्रॉप्स का सेट पेनम्ब्रा बनाता है, शायद कुछ अतिरिक्त लेवे d (इसलिए कार्डिनैलिटी कम से कम k - d ) के साथ भी।-

आपके प्रश्न का दूसरा भाग भी अत्यंत रोचक प्रतीत होता है, लेकिन मुझे इससे संबंधित किसी भी कार्य की जानकारी नहीं है।


पाद-टिप्पणी: अवधि प्रोप मेरी थीसिस से है; यह इस विचार को व्यक्त करने के लिए है कि इस तरह के आंशिक असाइनमेंट उचित हैं, और यह भी कि वे समाधान के सेट का समर्थन करते हैं। यह एक नोगुड के विपरीत है , जो एक आंशिक असाइनमेंट का वर्णन करने के लिए स्वीकृत शब्द है जिसे एक समाधान तक नहीं बढ़ाया जा सकता है। "नोगुड" शब्द की शुरुआत रिचर्ड स्टेलमैन और गेराल्ड सूसमैन ने 1976 में की थी, जब आरएमएस अभी भी सॉफ्टवेयर स्वतंत्रता कार्यकर्ता के बजाय एक एआई शोधकर्ता था।

  • कंप्यूटर-एडेड सर्किट विश्लेषण , एमआईटी आर्टिफिशियल इंटेलिजेंस लेबोरेटरी मेमो नंबर 380, 1976 के लिए एक सिस्टम में स्टेलमैन, रिचर्ड एम। और ससमान, जेराल्ड जे, फॉरवर्ड रीजनिंग और डिपेंडेंसी-डायरेक्टेड बैकट्रैकिंग । ( पीडीएफ )
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.