Broken Quantum: A Systematic Formal Verification Study of Security Vulnerabilities Across the Open-Source Quantum Computing Simulator Ecosystem
यह शोध पत्र "ब्रोकन क्वांटम" (Broken Quantum) प्रस्तुत करता है, जो COBALT QAI इंजन और Z3 सॉल्वर का उपयोग करके 45 ओपन-सोर्स क्वांटम कंप्यूटिंग सिम्युलेटर्स का पहला व्यापक औपचारिक सुरक्षा ऑडिट है, जिसने एक नवीन क्वांटम-विशिष्ट हमला वेक्टर सहित 547 महत्वपूर्ण कमजोरियों की पहचान की और एक वाणिज्यिक फ्रेमवर्क से अमेरिकी राष्ट्रीय प्रयोगशाला बुनियादी ढांचे तक पहले आपूर्ति श्रृंखला भेद्यता हस्तांतरण को प्रलेखित किया।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि क्वांटम कंप्यूटिंग की दुनिया एक विशाल, उच्च-दांव वाली निर्माण परियोजना (construction project) है। इससे पहले कि इंजीनियर वास्तविक क्वांटम गगनचुंबी इमारतों (भौतिक क्वांटम कंप्यूटरों) का निर्माण कर सकें, उन्हें अपने कंप्यूटर पर ब्लूप्रिंट डिजाइन और टेस्ट करने की आवश्यकता होती है। इन "ब्लूप्रिंट परीक्षकों" को क्वांटम सिम्युलेटर्स (Quantum Simulators) कहा जाता है। यह वह सॉफ्टवेयर है जो वैज्ञानिकों को यह नाटक करने की अनुमति देता है कि उनके पास एक क्वांटम कंप्यूटर है, ताकि वे वास्तविक हार्डवेयर पर करोड़ों रुपये खर्च करने से पहले यह पता लगा सकें कि उनके विचार काम करेंगे या नहीं।
यह शोध पत्र, जिसका शीर्षक "ब्रोकन क्वांटम" (Broken Quantum) है, दुनिया के सबसे बड़े तकनीकी दिग्गजों (IBM, Google, Amazon), शीर्ष विश्वविद्यालयों (Harvard, MIT) और राष्ट्रीय प्रयोगशालाओं द्वारा उपयोग किए जाने वाले 45 सबसे लोकप्रिय ब्लूप्रिंट परीक्षकों का एक व्यापक, व्यवस्थित होम इंस्पेक्शन (घर का निरीक्षण) है।
निरीक्षक, डोमिनिक ब्लेन ने पाया कि इनमें से 80% सिम्युलेटर खतरनाक रूप से टूटे हुए हैं। सरल शब्दों में इसका विवरण यहाँ दिया गया है:
1. मुख्य समस्या: "एक्सपोनेंशियल एक्सप्लोजन" (घातांकीय विस्फोट)
क्वांटम कंप्यूटर कैसे काम करते हैं, इसका मूल मुद्दा यही है। यदि आपके पास 1 क्यूबिट (qubit) है, तो कंप्यूटर को 2 नंबरों को ट्रैक करने की आवश्यकता होती है। यदि आपके पास 2 क्यूबिट हैं, तो उसे 4 नंबरों की आवश्यकता होती है। यदि आपके पास 10 हैं, तो 1,024 की आवश्यकता होती है।
- उपमा (Analogy): कल्पना कीजिए कि एक रेसिपी (नुस्खा) ऐसी है जो हर एक नया घटक (ingredient) जोड़ने पर दोगुनी हो जाती है।
- 1 घटक = 1 पेज।
- 10 घटक = 1,000 पेज।
- 50 घटक = 8 पेटाबाइट (8 Petabytes) (यानी 8 मिलियन गीगाबाइट)।
- खामी: इनमें से अधिकांश सिम्युलेटर उपयोगकर्ता से पूछते हैं, "आप कितने घटक चाहते हैं?" और फिर तुरंत रेसिपी प्रिंट करने की कोशिश करते हैं। यदि कोई उपयोगकर्ता (या हैकर) "50" कहता है, तो कंप्यूटर तुरंत 8 पेटाबाइट मेमोरी आवंटित (allocate) करने की कोशिश करता है। चूंकि किसी भी कंप्यूटर में इतनी RAM नहीं होती, इसलिए सिस्टम क्रैश हो जाता है। यह एक डिनायल ऑफ सर्विस (Denial of Service) हमला है: "मैंने बहुत अधिक मांगा, इसलिए आपका कंप्यूटर मर गया।"
2. टूटे हुए सिम्युलेटरों के चार प्रकार
यह पेपर इन आपदाओं को चार अलग-अलग श्रेणियों में विभाजित करता है:
क्लास I: "मेमोरी क्रैश" (C++ बैकएंड्स)
- कौन: IBM का Qiskit Aer और Oak Ridge National Lab का XACC।
- रूपक (Metaphor): कल्पना कीजिए कि एक लाइब्रेरियन है जिसके पास ठीक 64 स्लॉट वाली एक शेल्फ है। यदि आप उससे किताब नंबर 65 मांगते हैं, तो वह "नहीं" नहीं कहता। इसके बजाय, वह शेल्फ से बाहर दीवार में हाथ डालता है, धूल का एक रैंडम टुकड़ा उठाता है, और उसे एक बुक स्लॉट में डालने की कोशिश करता है।
- परिणाम: कंप्यूटर कोड (C++) में, इसे "अनडिफाइंड बिहेवियर" (Undefined Behavior) कहा जाता है। यह मेमोरी को दूषित कर सकता है, प्रोग्राम को क्रैश कर सकता है, या यहाँ तक कि हैकर को आपके कंप्यूटर का नियंत्रण भी दे सकता है।
- सप्लाई चेन शॉक: ओक रिज नेशनल लैब (एक अमेरिकी सरकारी सुविधा) को पाया गया कि उसने IBM के कोड को शब्द-दर-शब्द कॉपी किया था। इसलिए, जब IBM का कोड टूटा हुआ था, तो नेशनल लैब का कोड भी टूटा हुआ था, बिना उनके पता चले।
क्लास II: "रिसोर्स स्टार्वेशन" (Python बैकएंड्स)
- कौन: Google का Cirri, Xanadu का PennyLane, Harvard का Tequila, और कई अन्य।
- रूपक: यह ऊपर बताए गए "रेसिपी विस्फोट" जैसा है। सॉफ्टवेयर खराब मेमोरी एक्सेस के कारण नहीं टूटता; यह इसलिए टूटता है क्योंकि यह पूरी रसोई को खाने की कोशिश करता है।
- परिणाम: यदि आप 50-क्यूबिट सिमुलेशन मांगते हैं, तो सॉफ्टवेयर 8 पेटाबाइट RAM आवंटित करने की कोशिश करता है। आपका कंप्यूटर मेमोरी खत्म कर देता है, ऑपरेटिंग सिस्टम प्रोसेस को मार देता है, और सर्वर डाउन हो जाता है। यह एक क्वांटम क्लाउड सेवा को बंद करने का एक आसान तरीका है।
क्लास III: "ट्रोजन हॉर्स" (Deserialization)
- कौन: Harvard का Tequila, Tencent का TensorCircuit, और अन्य।
- रूपक: कल्पना कीजिए कि आपको अपने दोस्त से एक सीलबंद लिफाफा मिलता है जिस पर लिखा है, "यह आपकी पसंदीदा रेसिपी की सूची है।" आप इसे खोलते हैं, और सूची के बजाय, यह एक बम है जो आपके चेहरे पर फट जाता है।
- परिणाम: कई सिम्युलेटर सेव किए गए डेटा को लोड करने के लिए
pickleयाevalनामक फीचर का उपयोग करते हैं। ये टूल्स "जादुвकी चाबियों" की तरह हैं जो फ़ाइल के अंदर कोई भी कोड चला सकते हैं। यदि कोई हैकर एक नकली "सेव्ड क्वांटम स्टेट" फ़ाइल भेजता है, तो यह आपके कंप्यूटर पर दुर्भावनापूर्ण कोड चला सकता है, डेटा चुरा सकता है या मशीन पर कब्जा कर सकता है। इस पेपर ने एक लाइव "प्रूफ ऑफ कॉन्सेप्ट" का प्रदर्शन भी किया जहाँ उन्होंने सिर्फ एक नकली फ़ाइल भेजकर हार्वर्ड के एक फ्रेमवर्क को हैक कर लिया।
क्लास IV: "क्वांटम इंजेक्शन" (QASM इंजेक्शन)
- कौन: IBM का Qiskit Terra, Quantinuum का tket।
- रूपक: यह एक नए प्रकार का बग है जो केवल क्वांटम कंप्यूटिंग में मौजूद है। कल्पना कीजिए कि एक फॉर्म है जहाँ आप रोबोट के लिए निर्देश लिखते हैं। आमतौर पर, आप लिखते हैं "आगे बढ़ो"। लेकिन क्योंकि वह फॉर्म आपकी लिखावट की जांच नहीं करता है, आप लिख सकते हैं "आगे बढ़ो, फिर मेरी सभी फाइलें डिलीट कर दो।"
- परिणाम: सॉफ्टवेयर कोड (QASM) की एक स्ट्रिंग स्वीकार करता है जो एक क्वांटम सर्किट का वर्णन करने के लिए बनाई गई है। क्योंकि यह इनपुट को सैनिटाइज (साफ) नहीं करता है, एक हैकर सर्किट निर्देशों में अतिरिक्त, दुर्भावनापूर्ण कमांड इंजेक्ट कर सकता है।
3. "32-क्यूबिट" खतरा क्षेत्र
शोधकर्ताओं ने एक विशिष्ट संख्या पाई है जो बार-बार सामने आती है: 32।
- C++ की दुनिया में, 32 वह बिंदु है जहाँ गणनाएँ ओवरफ्लो होने लगती हैं और गणित टूट जाता है।
- Python की दुनिया में, 32 वह बिंदु है जहाँ आवश्यक मेमोरी इतनी बड़ी हो जाती है कि वह सिस्टम को तोड़ देती है।
- यह क्यों महत्वपूर्ण है: 32 क्यूबिट वर्तमान अनुसंधान के लिए एक बहुत ही सामान्य आकार है। इसका मतलब है कि सबसे लोकप्रिय प्रयोग ठीक उसी "खतरा क्षेत्र" में हो रहे हैं जहाँ ये बग सक्रिय होने की सबसे अधिक संभावना है।
4. अच्छी खबर
हर कोई टेस्ट में फेल नहीं हुआ।
- "A-लिस्ट" छात्र: ETH ज्यूरिख (qpp), ऑक्सफोर्ड (QuEST), फुजित्सु (qulacs), और हुआवेई (MindQuantum) के फ्रेमवर्क ने 100/100 स्कोर किया।
- क्यों? उन्होंने कुछ भी करने से पहले उपयोगकर्ता के इनपुट की जांच की। उन्होंने कहा, "आपने 50 क्यूबिट मांगे? क्षमा करें, अधिकतम 30 है। कृपया पुनः प्रयास करें।"
- सबक: ये कमजोरियां अपरिहार्य भौतिकी (physics) की समस्याएं नहीं हैं; ये केवल खराब कोडिंग की आदतें हैं। यदि आप घर बनाने से पहले अपनी गणित की जांच करते हैं, तो आप घर को नहीं तोड़ते।
सारांश
यह पेपर एक चेतावनी है। क्वांटम कंप्यूटिंग क्रांति की पूरी नींव—वह सॉफ्टवेयर जिसका उपयोग भविष्य को डिजाइन करने के लिए किया जाता है—वर्तमान में डक्ट टेप और उम्मीद के सहारे टिकी हुई है।
- IBM, Google और Harvard के पास गंभीर सुरक्षा खामियां हैं।
- हैकर केवल कुछ लाइनों का कोड भेजकर सर्वर को क्रैश कर सकते हैं, डेटा चुरा सकते हैं, या कंप्यूटर पर कब्जा कर सकते हैं।
- समाधान: यह आश्चर्यजनक रूप से सरल है। डेवलपर्स को बस एक "स्पीड लिमिट" (इनपुट वैलिडेशन) जोड़ने की आवश्यकता है ताकि उपयोगकर्ताओं को असंभव मात्रा में संसाधन मांगने से रोका जा सके।
लेखक ने एक मुफ्त टूल COBALT QAI जारी किया है ताकि डेवलपर्स इन बग्स को क्वांटम युग के पूरी तरह आने से पहले ढूंढ सकें और ठीक कर सकें।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।