लेखक:
(1) अमित सील अमी, कंप्यूटर विज्ञान विभाग, विलियम और मैरी विलियम्सबर्ग, वर्जीनिया, यूएसए, और इस लेखक ने इस पेपर में समान रूप से योगदान दिया ([email protected]);
(2) सैयद यूसुफ अहमद, सूचना प्रौद्योगिकी संस्थान, ढाका विश्वविद्यालय, बांग्लादेश, और इस लेखक ने इस पेपर में समान रूप से योगदान दिया है ([email protected]);
(3) राडोवन महमूद रेडॉय, सूचना प्रौद्योगिकी संस्थान, ढाका विश्वविद्यालय, ढाका, बांग्लादेश, और इस लेखक ने इस पेपर में समान रूप से योगदान दिया है ([email protected]);
(4) नाथन कूपर, कंप्यूटर विज्ञान विभाग, विलियम और मैरी विलियम्सबर्ग, वर्जीनिया, यूएसए ([email protected]);
(5) कौशल काफले, कंप्यूटर विज्ञान विभाग, विलियम और मैरी विलियम्सबर्ग, वर्जीनिया, यूएसए ([email protected]);
(6) केविन मोरन, कंप्यूटर विज्ञान विभाग, सेंट्रल फ्लोरिडा यूनिवर्सिटी ऑरलैंडो, फ्लोरिडा, यूएसए ([email protected]);
(7) डेनिस पोशिवन्याक, कंप्यूटर विज्ञान विभाग, विलियम और मैरी विलियम्सबर्ग, वर्जीनिया, यूएसए ([email protected]);
(8) अद्वैत नादकर्णी, कंप्यूटर विज्ञान विभाग, विलियम एंड मैरी विलियम्सबर्ग, वर्जीनिया, यूएसए ([email protected])।
6 भावी कार्य और निष्कर्ष, आभार और संदर्भ
जबकि सॉफ्टवेयर इंजीनियर अपने सॉफ्टवेयर विकास चक्रों में क्रिप्टो-एपीआई दुरुपयोग डिटेक्टरों (या क्रिप्टो-डिटेक्टरों) को आशावादी रूप से अपना रहे हैं, इस गति के साथ क्रिप्टो-डिटेक्टरों की व्यावहारिक रूप से क्रिप्टो-एपीआई दुरुपयोगों को खोजने में प्रभावशीलता की गहन समझ भी होनी चाहिए। यह डेमो पेपर हमारे उपकरण के तकनीकी विवरण और उपयोग परिदृश्य प्रस्तुत करता है, जिसका नाम है स्टेटिक क्रिप्टो-एपीआई दुरुपयोग डिटेक्टरों (MASC) के मूल्यांकन के लिए उत्परिवर्तन विश्लेषण। हमने 12 सामान्यीकृत, उपयोग आधारित उत्परिवर्तन ऑपरेटर और तीन उत्परिवर्तन स्कोप विकसित किए हैं, जिसका नाम है मुख्य स्कोप, समानता स्कोप और संपूर्ण स्कोप, जिसका उपयोग क्रिप्टो-एपीआई दुरुपयोग मामलों के संकलन योग्य वेरिएंट को स्पष्ट रूप से तत्काल बनाने के लिए किया जा सकता है। MASC का उपयोग करके, हमने नौ प्रमुख क्रिप्टो-डिटेक्टरों का मूल्यांकन किया, और 19 अद्वितीय, अनिर्दिष्ट दोषों की खोज की। हमने MASC को कॉन्फ़िगर करने योग्य और उपयोगकर्ता के अनुकूल बनाया है; एक उपयोगकर्ता उत्पन्न उत्परिवर्तनों की प्रकृति को बदलने के लिए मापदंडों को कॉन्फ़िगर कर सकता है। इसके अलावा, MASC कमांड लाइन इंटरफ़ेस और वेब-आधारित फ्रंट-एंड दोनों के साथ आता है, जो इसे विभिन्न स्तरों की विशेषज्ञता वाले उपयोगकर्ताओं के लिए व्यावहारिक बनाता है।
कोड: https://github.com/Secure-Platforms-Lab-WM/MASC
सॉफ्टवेयर इंजीनियर दशकों से क्रिप्टो-डिटेक्टरों पर भरोसा कर रहे हैं ताकि वे अपने द्वारा बनाए, विकसित और रखरखाव किए जाने वाले सॉफ्टवेयर और सेवाओं में क्रिप्टोग्राफिक एपीआई के सही उपयोग को सुनिश्चित कर सकें [6]। ऐसे क्रिप्टो डिटेक्टर सॉफ्टवेयर इंजीनियरिंग में सर्वव्यापी हैं, क्योंकि वे आईडीई (उदाहरण के लिए, एक्लिप्स आईडीई [8] के लिए कॉग्निक्रिप्ट प्लगइन), ओरेकल कॉर्पोरेशन [9, 17] जैसे संगठनों के परीक्षण सूट और निरंतर एकीकरण/निरंतर परिनियोजन (सीआई/सीडी) पाइपलाइनों [12, 18] में एकीकृत हैं। इसके अलावा, GitHub जैसे होस्टिंग प्रदाता औपचारिक रूप से ऐसे क्रिप्टो-डिटेक्टरों का प्रावधान कर रहे हैं, उदाहरण के लिए, GitHub कोड स्कैन पहल [10]। दूसरे शब्दों में, सॉफ्टवेयर और सेवाओं की सुरक्षा तेजी से क्रिप्टो-डिटेक्टरों पर निर्भर होती जा रही है। इसलिए, सुरक्षा-केंद्रित परिप्रेक्ष्य से क्रिप्टो डिटेक्टरों की प्रभावशीलता का निर्धारण करने के लिए एक विश्वसनीय और विकसित मूल्यांकन तकनीक की आवश्यकता होती है, जो क्रिप्टो-एपीआई की मात्रा और विविधता और दुरुपयोग के विभिन्न पैटर्न के साथ बढ़ सके।
हमने स्टैटिक क्रिप्टो-एपीआई दुरुपयोग डिटेक्टरों (एमएएससी) ढांचे का मूल्यांकन करने के लिए उत्परिवर्तन विश्लेषण बनाने हेतु उत्परिवर्तन परीक्षण तकनीकों को प्रासंगिक बनाया। एमएएससी [3] के हमारे मूल, प्रोटोटाइप कार्यान्वयन में, इसने जावा के लिए क्रिप्टो-एपीआई दुरुपयोग मामलों के उत्परिवर्तन को तत्काल बनाने के लिए आंतरिक रूप से 12 सामान्यीकृत, उपयोग-आधारित उत्परिवर्तन ऑपरेटरों का लाभ उठाया। उत्परिवर्तन ऑपरेटरों को जावा क्रिप्टोग्राफिक आर्किटेक्चर (जेसीए) [11] के डिजाइन सिद्धांतों और एक खतरा मॉडल के आधार पर डिज़ाइन किया गया था, जिसमें अलग-अलग कौशल और इरादों वाले उपयोगकर्ता शामिल थे (खंड 4.1)। एमएएससी इन उत्परिवर्तित दुरुपयोग मामलों को जावा या एंड्रॉइड-आधारित ऐप्स में तीन उत्परिवर्तन स्कोप (इंजेक्शन साइट्स) पर इंजेक्ट करता है, हमने उद्योग और शिक्षा जगत से नौ क्रिप्टो डिटेक्टरों का मूल्यांकन करके MASC के प्रोटोटाइप कार्यान्वयन की व्यावहारिकता का प्रदर्शन किया, और 19 पहले से अज्ञात, अज्ञात दोषों की खोज की जो क्रिप्टो डिटेक्टरों की दायरे के भीतर की मजबूती से समझौता करते हैं। MASC की कार्यप्रणाली, डिजाइन संबंधी विचार, क्रिप्टो डिटेक्टरों के मूल्यांकन से नई खामियों का पता लगाने, ओपन सोर्स अनुप्रयोगों में पाई गई खामियों का व्यावहारिक प्रभाव (इसलिए, म्यूटेशन ऑपरेटरों की प्रयोज्यता) और निष्कर्षों की चर्चा का पूरा विवरण मूल शोध पत्र [3] में उपलब्ध है।
इस पत्र में, हम सुरक्षा शोधकर्ताओं, डेवलपर्स और उपयोगकर्ताओं जैसे क्रिप्टो डिटेक्टरों के हितधारकों के लिए विस्तारशीलता, उपयोग में आसानी और रखरखाव पर ध्यान केंद्रित करते हुए MASC फ्रेमवर्क का एक परिपक्व कार्यान्वयन प्रस्तुत करते हैं। विस्तार से बताने के लिए, नए विकसित प्लग-इन आर्किटेक्चर के कारण, MASC उपयोगकर्ता अब अपने स्वयं के म्यूटेशन ऑपरेटर बना सकते हैं जिन्हें मौजूदा कोड बेस (कोड की 11𝐾+ स्रोत लाइनें) में गहराई से गोता लगाए बिना आसानी से MASC में प्लग किया जा सकता है। इसके अलावा, जबकि MASC के मूल प्रोटोटाइप कार्यान्वयन में क्रिप्टो डिटेक्टरों का अर्ध-स्वचालित मूल्यांकन शामिल था, हमने क्रिप्टो डिटेक्टरों के वास्तविक SARIF [15] स्वरूपित आउटपुट का लाभ उठाकर MASC के वर्कफ़्लो को स्वचालित बनाया। इसके अलावा, हमने उपयोगकर्ताओं के लिए प्रवेश की बाधा को कम करने के लिए MASC के कार्यान्वयन का एक वेब-आधारित फ्रंट-एंड बनाया है। इन परिवर्धनों और संवर्द्धनों के साथ, हम आशा करते हैं कि MASC के वर्तमान, ओपन-सोर्स कार्यान्वयन का उपयोग मौजूदा क्रिप्टो-डिटेक्टरों में खामियों को खोजने में किया जाएगा, और इस प्रकार उन्हें बेहतर बनाने में मदद मिलेगी।
योगदान : हम MASC प्रस्तुत करते हैं, जो एक उपयोगकर्ता-अनुकूल ढांचा है जो क्रिप्टो-डिटेक्टरों के मूल्यांकन के लिए उत्परिवर्तन-परीक्षण तकनीकों का लाभ उठाता है, जिसमें अंतर्निहित तकनीकों, डिज़ाइन विचारों और सुधारों का विवरण शामिल है। MASC की नई, प्रमुख विशेषताएं इस प्रकार हैं: क्रिप्टो-डिटेक्टरों का स्वचालित मूल्यांकन: MASC का उपयोग मुख्य दायरे के भीतर एक अंत-से-अंत स्वचालित वर्कफ़्लो में क्रिप्टो-डिटेक्टरों का मूल्यांकन करने के लिए किया जा सकता है।
क्रिप्टो-डिटेक्टरों का अनुकूलन योग्य मूल्यांकन: एक उपयोगकर्ता क्रिप्टो-एपीआई दुरुपयोग उदाहरणों को बनाने के लिए म्यूटेशन ऑपरेटरों को निर्दिष्ट करके क्रिप्टो-डिटेक्टरों के मूल्यांकन को अनुकूलित कर सकता है।
कस्टम ऑपरेटरों के लिए प्लग-इन आर्किटेक्चर : MASC सुरक्षा शोधकर्ताओं, डेवलपर्स और उपयोगकर्ताओं को अपने स्वयं के कस्टम म्यूटेशन ऑपरेटरों का निर्माण करके क्रिप्टो डिटेक्टरों का मूल्यांकन करने में मदद करता है, जिन्हें सीधे मुख्य स्कोप में प्लग किया जा सकता है, उन्हें MASC के आंतरिक विवरणों के बारे में सीखने और समझने की आवश्यकता नहीं होती है।
अंतिम उपयोगकर्ताओं के लिए उपयोगकर्ता-अनुकूल फ्रंट-एंड : मूल प्रोटोटाइप कार्यान्वयन के कमांड लाइन इंटरफ़ेस को बढ़ाने के अलावा, हम अंतिम उपयोगकर्ताओं के लिए एक ओपन-सोर्स, वेब-आधारित फ्रंट-एंड बनाते हैं और पेश करते हैं जिसे स्थानीय रूप से चलाया जा सकता है। फ्रंट-एंड में एक अतिरिक्त प्ले-टेस्ट-लर्न इंटरफ़ेस, MASC लैब शामिल है, जहाँ हितधारक म्यूटेशन ऑपरेटरों के साथ बातचीत कर सकते हैं और म्यूटेटिंग क्रिप्टो-एपीआई दुरुपयोग के बारे में जान सकते हैं।
उपकरण और डेटा उपलब्धता: MASC फ्रेमवर्क का प्रोटोटाइप कार्यान्वयन, क्रिप्टो-डिटेक्टरों के मूल्यांकन की स्क्रिप्ट और परिणाम,
जैसा कि मूल पेपर [3] में वर्णित है, MASC आर्टिफैक्ट [1] में उपलब्ध हैं। इसके अलावा, MASC के सक्रिय रूप से बनाए गए, परिपक्व कार्यान्वयन का कोडबेस व्यापक दस्तावेज़ीकरण और उदाहरणों के साथ अलग से उपलब्ध है [2]।
यह पेपर CC BY-NC-SA 4.0 DEED लाइसेंस के अंतर्गत arxiv पर उपलब्ध है।