Hidden Ciphers and Where to Find Them: Static Discovery and Assessment of Cryptographic Assets in Software
यह शोध पत्र सॉफ्टवेयर प्रणालियों में क्रिप्टोग्राफिक संपत्तियों की खोज और मूल्यांकन के लिए एक वर्गीकरण-संचालित स्टैटिक विश्लेषण दृष्टिकोण प्रस्तुत करता है, जो सुरक्षा शासन और पारदर्शिता को बढ़ाने के लिए कमजोरियों और पोस्ट-क्वांटम माइग्रेशन उम्मीदवारों की पहचान करने में इसकी प्रभावशीलता को प्रदर्शित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
अदृश्य किला और उसे खोजने का नक्शा
कल्पना कीजिए कि आज आप जो भी सॉफ्टवेयर उपयोग करते हैं—आपका पसंदीदा वीडियो गेम, आपका बैंकिंग ऐप, यहाँ तक कि आपका स्मार्ट फ्रिज भी—वह एक विशाल, अदृश्य किले के भीतर बना है। इस किले की दीवारें क्रिप्टोग्राफी (कूटलेखन) से बनी हैं, जो गणितीय जादू का एक विशेष प्रकार है जो आपके डेटा को लॉक करके सुरक्षित रखता है ताकि केवल सही लोग ही इसे खोल सकें। यही कारण है कि आपके पासवर्ड गुप्त रहते हैं और आपके संदेश अजनबियों द्वारा पढ़े नहीं जा सकते। लंबे समय तक, कंपनियों ने बस यही उम्मीद की कि ये दीवारें पर्याप्त मजबूत होंगी, लेकिन उनके पास वास्तव में यह देखने के लिए कोई नक्शा नहीं था कि कहाँ ईंटें हैं, कहाँ दरवाजे हैं, या क्या उनमें से कोई स्टील के बजाय कार्डबोर्ड से बना है।
अब, एक नया खतरा दरवाजे पर दस्तक दे रहा है: क्वांटम कंप्यूटर। ये सुपर-पावरफुल मशीनें हैं जो, भविष्य में, आज के क्रिप्टोग्राफिक तालों को ऐसे तोड़ सकती हैं जैसे वे कागज के बने हों। इससे बचने के लिए, संगठनों को यह जानने की जरूरत है कि अभी उनके पास किस तरह के ताले हैं ताकि बुरे लोग आने से पहले वे उन्हें "क्वांटम-प्रूफ" (क्वांटम-सुरक्षित) तालों से बदल सकें। लेकिन समस्या यह है: ये डिजिटल ताले हर जगह बिखरे हुए हैं। वे कोड की पंक्तियों के भीतर छिपे हैं, कॉन्फ़िगरेशन फाइलों में दबे हुए हैं, गुप्त कुंजियों (keys) में रखे गए हैं, और उन सॉफ्टवेयर लाइब्रेरीज़ में घुले-मिले हैं जिनका प्रोग्राम उपयोग करते हैं। उन्हें खोजने का तरीका जाने बिना, आप उन्हें ठीक नहीं कर सकते। यहीं पर एक नया शोध पत्र (paper) काम आता है, जो सॉफ्टवेयर के अंधेरे कोनों के लिए एक टॉर्च प्रदान करता है।
शोध पत्र: डिजिटल तालों की खोज
"हिडन साइफर्स एंड व्हेयर टू फाइंड देम" (Hidden Ciphers and Where to Find Them) शीर्षक वाला यह शोध पत्र इन छिपे हुए क्रिप्टोग्राफिक संपत्तियों को खोजने के लिए एक चतुर नई विधि पेश करता है। लेखक, क्रिश्चियन नेथर और एडुआर्ड हिरश ने महसूस किया कि इन तालों को खोजना एक अव्यवस्थित कमरे को साफ करने जैसा था जिसमें यह सूची ही न हो कि वहां क्या होना चाहिए। कुछ लोग विशिष्ट प्रकार की कुंजियों की तलाश कर रहे थे, जबकि अन्य केवल अनुमान लगा रहे थे। लेखकों ने एक व्यवस्थित 'खजाने की खोज' (treasure hunt) बनाने का निर्णय लिया।
सबसे पहले, उन्होंने एक वर्गीकरण प्रणाली बनाई, जो सॉफ्टवेयर को देखने के लिए तीन अलग-अलग आवर्धक लेंसों (magnifying glasses) के सेट की तरह है। उन्होंने महसूस किया कि क्रिप्टोग्राफिक "सामग्री" तीन अलग-अलग स्वादों में आती है:
- क्रिप्टो-मटेरियल (Crypto-Material): ये वास्तविक रहस्य हैं, जैसे कि प्राइवेट कीज़ और पासवर्ड। इन्हें खजाने के संदूक में रखे वास्तविक सोने के सिक्कों की तरह समझें।
- क्रिप्टो-आर्टिफैक्ट्स (Crypto-Artifacts): ये संरचित कंटेनर हैं, जैसे कि प्रमाणपत्र या डिजिटल आईडी कार्ड जो इस बारे में जानकारी रखते हैं कि किसे प्रवेश की अनुमति है। ये वे फैंसी बक्से हैं जिनमें सिक्के आते हैं।
- क्रिप्टो-इनवोकेशन्स (Crypto-Invocations): ये वे क्षण हैं जब सॉफ्टवेयर वास्तव में जादू का उपयोग करता है। यह किसी को ताले में चाबी घुमाते हुए या पासवर्ड टाइप करते हुए देखने जैसा है। यह खजाने का उपयोग करने की क्रिया है।
इस खोज को कुशल बनाने के लिए, लेखकों ने दो मुख्य उपकरण बनाए। पहला एक रूल रिपॉजिटरी (नियम भंडार) है जिसे "क्रिप्टिस्ट्री" (Crypistry) कहा जाता है। कल्पना कीजिए कि यह एक विशाल, निरंतर अपडेट होने वाली कुकबुक (पाक पुस्तक) है। एक रोबोट में निर्देश हार्ड-कोड करने के बजाय, यह किताब बताती है कि क्या खोजना है (जैसे कि "कोई भी फाइल ढूंढें जिसका अंत .pem से होता हो" या "OpenSSL::Cipher कमांड को देखें")। इसका मतलब है कि यदि एक नया प्रकार का ताला आता है, तो आपको बस किताब में एक नई रेसिपी जोड़नी है; आपको पूरे रोबोट को फिर से बनाने की आवश्यकता नहीं है।
दूसरा उपकरण स्कैनर है, जिसका नाम "क्रिप्सी" (Crypsy) है। यह वह रोबोट है जो कुकबुक को पढ़ता है और सॉफ्टवेयर को स्कैन करता है। यह केवल अनुमान नहीं लगाता; यह सामग्री, आर्टिफैक्ट्स और इनवोकेशन्स को खोजने के लिए नियमों का पालन करता है। एक बार जब यह उन्हें खोज लेता है, तो यह केवल उनकी सूची नहीं बनाता; यह उनका मूल्यांकन भी करता है। यह जाँचता है कि क्या कोई ताला कमजोर है (जैसे कि जंग लगा हुआ कब्जा) या क्या यह एक ज्ञात भेद्यता (vulnerability) है (जैसे कि ऐसा दरवाजा जिसे पहले चोरों द्वारा खोला जा चुका हो)। इसके बाद यह एक CBOM (क्रिप्टोग्राफिक बिल ऑफ मटेरियल्स) निकालता है, जो हर पाए गए ताले और चाबी की एक विस्तृत सूची है, जो सुरक्षा टीमों के उपयोग के लिए तैयार है।
उन्होंने क्या पाया और वे कितने आश्वस्त हैं
लेखकों ने अपने रोबोट का परीक्षण दो तरीकों से किया कि क्या यह वास्तव में काम करता है।
सबसे पहले, उन्होंने एक सिंथेटिक बेंचमार्क बनाया जिसे "क्राइबेन" (Cryben) कहा जाता है। यह एक नकली सॉफ्टवेयर सिस्टम था जिसे उन्होंने बनाया था जहाँ वे जानते थे कि हर एक ताला और चाबी कहाँ छिपी है। यह एक अभ्यास वाली खजाने की खोज की तरह था जहाँ उनके पास उत्तर कुंजी (answer key) थी। जब उन्होंने इस परीक्षण पर क्रिप्सी को चलाया, तो इसने छिपी हुई वस्तुओं में से 75% को सही ढंग से खोजा (एक F1 स्कोर 0.75)। यह वास्तविक रहस्यों (सोने के सिक्कों) को खोजने में बहुत अच्छा था, लेकिन कभी-कभी यह उन जटिल तरीकों को मिस कर देता था जिनसे सॉफ्टवेयर तालों का उपयोग करता है। हालाँकि, जब बात उनके द्वारा पाई गई समस्याओं को लेबल करने की आई, तो यह अविश्वसनीय रूप से सटीक था, जिसने 91% अपेक्षित कमजोरियों और भेद्यताओं की सही पहचान की।
इसके बाद, उन्होंने स्कैनर को वास्तविक दुनिया में ले गए। उन्होंने दस तैनात सेवाओं (जिसमें GitLab, एक CI/CD रनर और एक डेटाबेस शामिल हैं) वाले एक वास्तविक आईटी इंफ्रास्ट्रक्चर को स्कैन किया। उन्होंने छह मिनट से भी कम समय में 57,610 फाइलों को स्कैन किया। इस वास्तविक दुनिया की अव्यवस्था में, स्कैनर ने 370 क्रिप्टोग्राफिक संपत्तियां खोजीं। इसने ज्ञात सुरक्षा खामियों (CVEs) से जुड़ी छह विशिष्ट कमजोरियों को खोजा और 52 ऐसी वस्तुओं की पहचान की जिन्हें भविष्य के क्वांटम कंप्यूटर खतरे से बचने के लिए बदलने की आवश्यकता होगी।
लेखक इन परिणामों को लेकर काफी आश्वस्त हैं, लेकिन वे अपनी सीमाओं को लेकर भी सावधान हैं। वे स्वीकार करते हैं कि उनका स्कैनर वर्तमान में Ruby और Go प्रोग्रामिंग भाषाओं में सबसे अच्छा काम करता है, और यह "कुकबुक" (क्रिप्टिस्ट्री) के अपडेट रहने पर निर्भर है। यदि कोई ताला ऐसे तरीके से छिपा है जिसके बारे में कुकबुक को अभी तक पता नहीं है, तो स्कैनर उसे मिस कर सकता है। उन्होंने यह भी पाया कि जबकि स्कैनर संभावित समस्याओं को खोजने में महान है, उनमें से कुछ निष्कर्षों के लिए एक इंसान द्वारा यह जांचना आवश्यक है कि क्या वे वास्तव में खतरनाक हैं, क्योंकि स्कैनर हमेशा यह नहीं बता सकता कि बड़े परिदृश्य में कोड के एक टुकड़े का उपयोग कैसे किया जा रहा है।
बड़ी तस्वीर
यह शोध पत्र यह दावा नहीं करता कि उसने सॉफ्टवेयर सुरक्षा की पूरी समस्या को हल कर दिया है। इसके बजाय, यह अंततः अंधेरे में क्या छिपा है, इसे देखने का एक व्यावहारिक, संरचित तरीका प्रदान करता है। विभिन्न प्रकार की क्रिप्टोग्राफिक संपत्तियों को वर्गीकृत करके और "नियमों" को "स्कैनर" से अलग करके, लेखकों ने एक ऐसा सिस्टम बनाया है जो बढ़ सकता है और अनुकूलित हो सकता है। उनके परिणाम बताते हैं कि इस दृष्टिकोण के साथ, संगठन अंततः अपने क्रिप्टोग्राफिक परिदृश्य का स्पष्ट दृश्य प्राप्त कर सकते हैं, जो कि पुराने तालों को नए, क्वांटम-प्रूफ तालों से बदलने की प्रक्रिया शुरू करने के लिए एक आवश्यक पहला कदम है। यह खजाने की खोज के लिए एक नक्शा है, और पहली बार, नक्शा ऐसा लग रहा है जो वास्तव में कहीं पहुँचता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।