यादृच्छिक कोड निष्पादन

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

भेद्यता प्रकार
भेद्यता के कई वर्ग हैं जो किसी हमलावर की इच्छानुसार आदेश या कोड निष्पादित करने की क्षमता को जन्म दे सकते हैं। उदाहरण के लिए:


 * मेमोरी सुरक्षा भेद्यताएं जैसे बफ़र ओवरफ्लो या बफर ओवर-रीड।
 * डिसेरिएलाइज़ेशन भेद्यताएँ
 * भ्रम भेद्यताओं टाइप करें
 * जीएनयू एलडीडी इच्छानुसार कोड निष्पादन

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

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

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

उदाहरण
रेट्रोगेमिंग हॉबीस्ट्स ने क्लासिक वीडियो गेम में भेद्यताओं को खोजने में सफलता प्राप्त की है जो उन्हें इच्छानुसार कोड निष्पादित करने की अनुमति देती है, सामान्यतः टूल-असिस्टेड सुपरप्ले में बटन इनपुट के स्पष्ट अनुक्रम का उपयोग करके बफर ओवरफ्लो का कारण बनता है, जिससे उन्हें संरक्षित मेमोरी में लिखने की अनुमति मिलती है। विस्मयकारी गेम्स डन क्विक 2014 में, तेज गति से चलने वाले उत्साही लोगों के एक समूह ने सुपर मारियो वर्ल्ड की कॉपी में पोंग और स्नेक गेम के संस्करणों को कोड और रन करने में सफलता प्राप्त की।

12 जून, 2018 को, मोज़िला के सुरक्षा शोधकर्ता जीन-यवेस एवनार्ड ने विंडोज 10 में एसीई भेद्यता की खोज की।

1 मई, 2018 को, सुरक्षा शोधकर्ता ने 7-ज़िप फ़ाइल संग्रहकर्ता में ACE भेद्यता की खोज की।

PHP कई ACE भेद्यताओं का विषय रहा है।

9 दिसंबर, 2021 को, लोकप्रिय लॉगिंग (कंप्यूटिंग) फ्रेमवर्क Log4j में Log4Shell नामक RCE भेद्यता की खोज की गई, जो iCloud, Minecraft: Java संस्करण और स्टीम (सेवा) सहित कई सेवाओं को प्रभावित करती है, और इसे पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में जाना जाता है।

यह भी देखें

 * ब्लूकीप
 * फोलिना (सुरक्षा भेद्यता)