कोल्ड बूट अटैक
कंप्यूटर सुरक्षा में, एक कोल्ड बूट अटैक(कुछ हद तक एक प्लेटफ़ॉर्म रीसेट अटैक) एक प्रकार का साइड माध्यम अटैक होता है, जिसमें कंप्यूटर पर भौतिक पहुंच तक एक अटैक करने वाला कंप्यूटर की रैंडम-एक्सेस मेमोरी(RAM) को मेमोरी खराब करता है। प्रदर्शन मशीन का हार्ड रीसेट करके सामान्य रूप से कोल्ड बूट अटैक का उपयोग दुर्भावनापूर्ण या आपराधिक खोजी कारणों से चल रहे ऑपरेटिंग सिस्टम से एन्क्रिप्शन कुंजियों को पुनः प्राप्त करने के लिए किया जाता है।[1][2][3] यह अटैक गतिशील रैंडम-एक्सेस मेमोरी(DRAM) और स्थिर रैंडम-एक्सेस मेमोरी(SRAM) की आँकड़ा अवशेष गुण पर निर्भर करता है। ताकि भंडारण सामग्री को पुनः प्राप्त किया जा सके। जो पावर स्विच-ऑफ के बाद सेकंड से मिनट तक पढ़ने योग्य रहती है।[2][4][5]
चल रहे कंप्यूटर तक भौतिक पहुंच वाला एक अटैक सामान्य रूप से मशीन को कोल्ड-बूट करके और एक फ़ाइल में प्री-बूट भौतिक भंडारण की सामग्री को खराब करने के लिए एक हटाने योग्य डिस्क से एक हल्के ऑपरेटिंग सिस्टम को बूट करके एक कोल्ड बूट अटैक को अंजाम देता है।[6][2] एक आक्रमण करने वाला तब कुंजी खोज अटैकों के विभिन्न रूपों का उपयोग करते हुए कुंजी जैसे संवेदनशील आँकड़ा को खोजने के लिए मेमोरी से खराब किए गए आँकड़ा का विश्लेषण करने के लिए स्वतंत्र है।[7][8] चूंकि कोल्ड बूट अटैक रैंडम-एक्सेस मेमोरी को लक्षित करते हैं, पूर्ण डिस्क एन्क्रिप्शन योजनाएं, यहां तक कि स्थापित एक विश्वसनीय प्लेटफ़ॉर्म मॉड्यूल के साथ भी इस तरह के अटैक के विपरीत अप्रभावी होते हैं।[2] ऐसा इसलिए है, क्योंकि समस्या मूल रूप से एक हार्डवेयर असुरक्षित भंडारण है और सॉफ़्टवेयर समस्या नहीं होती है। हालांकि, रैंडम-एक्सेस मेमोरी में संवेदनशील आँकड़ा को संग्रहीत करने से बचने के लिए भौतिक पहुंच को सीमित करके और आधुनिक तकनीकों का उपयोग करके दुर्भावनापूर्ण पहुंच को रोका जा सकता है।
तकनीकी विवरण
DIMM मेमोरी मॉड्यूल धीरे-धीरे समय के साथ आँकड़ा खो देते हैं, क्योंकि वे बिजली खो देते हैं, लेकिन बिजली खो जाने पर तुरंत सभी आँकड़ा नहीं खोते हैं।[2][9] तापमान और पर्यावरण की स्थिति के आधार पर मेमोरी मॉड्यूल संभावित रूप से कम से कम कुछ आँकड़ा को शक्ति खोने के बाद 90 मिनट तक बनाए रख सकते हैं।[9] कुछ मेमोरी मॉड्यूल के साथ एक अटैक के लिए समय खिड़की को फ्रीज स्प्रे से ठंडा करके घंटों या हफ्तों तक बढ़ाया जा सकता है। इसके अतिरिक्त चूंकि बिट समय के साथ मेमोरी में गायब हो जाते हैं, तथा उनका पुनर्निर्माण किया जा सकता है, क्योंकि वे पूर्वानुमेय तरीके से मिट जाते हैं।[2] इसके परिणाम स्वरूप एक आक्रमण करने वाला कोल्ड बूट अटैक को अंजाम देकर अपनी सामग्री का मेमोरी खराब कर सकता है। कोल्ड बूट अटैक को सफलतापूर्वक निष्पादित करने की क्षमता अलग-अलग प्रणालियों, मेमोरी के प्रकारों, मेमोरी निर्माताओं और मदरबोर्ड के गुणों में लगभग भिन्न होती है, और सॉफ्टवेयर-आधारित तरीकों या DMA अटैक से अधिक जटिल हो सकती है।[10] जबकि वर्तमान शोध का ध्यान डिस्क एन्क्रिप्शन पर होता है, मेमोरी में रखा गया कोई भी संवेदनशील आँकड़ा अटैक के प्रति संवेदनशील होता है।[2]
आक्रमण करने वाला कोल्ड बूट आक्रमणों को बलपूर्वक और अचानक नियोजित यंत्र को पुनः प्रारम्भ करके और पुनः USB फ्लैश ड्राइव, CD-ROM या नेटवर्क बूट पर पहले से स्थापित ऑपरेटिंग सिस्टम को बूट करके करते हैं।[3] ऐसे परिस्थितियों में जहां नियोजित यंत्र को हार्ड रीसेट करना प्रयोगात्मक नहीं होता है, एक आक्रमण करने वाला वैकल्पिक रूप से मूल सिस्टम से मेमोरी मॉड्यूल को भौतिक रूप से हटा सकता है और जल्दी से आक्रामक के नियंत्रण में एक संगत यंत्र में रख सकता है, जिसे मेमोरी तक पहुंचने के लिए बूट किया जाता है।[2] इसके बाद रैम से खराब किए गए आँकड़ा के विरुद्ध आगे का विश्लेषण किया जा सकता है।
मेमोरी से आँकड़ा निकालने के लिए भी इसी तरह के अटैक का उपयोग किया जा सकता है, जैसे कि DMA अटैक, जो फायरवायर जैसे उच्च गति विस्तार द्वार के माध्यम से भौतिक मेमोरी तक पहुंचने की अनुमति देता है।[3] कुछ स्थितियों में कोल्ड बूट अटैक को प्राथमिकता दी जा सकती है, जैसे कि जब हार्डवेयर क्षति का उच्च जोखिम हो। उच्च गति विस्तार द्वार का उपयोग कुछ स्थितियों में लघु परिपथ या भौतिक रूप से हार्डवेयर को नुकसान पहुंचा सकता है।[3]
उपयोग
कोल्ड बूट अटैकों का प्रयोग सामान्य रूप से अंकीय फोरेंसिक जांच, चोरी जैसे दुर्भावनापूर्ण उद्देश्यों और आँकड़ा पुनः प्राप्ति के लिए किया जाता है।[3]
अंकीय फोरेंसिक
कुछ स्थितियों में कोल्ड बूट अटैक का उपयोग अंकीय फोरेंसिक के अनुशासन में आपराधिक सबूत के रूप में मेमोरी में निहित आँकड़ा को फोरेंसिक रूप से संरक्षित करने के लिए किया जाता है।[3] उदाहरण के लिए जब अन्य माध्यमों से मेमोरी में आँकड़ा को संरक्षित करना प्रयोगात्मक नहीं होता है।, तो रैंडम-एक्सेस मेमोरी में निहित आँकड़ा को खराब करने के लिए कोल्ड बूट अटैक का उपयोग किया जा सकता है। उदाहरण के लिए कोल्ड बूट अटैक का उपयोग उन स्थितियों में किया जाता है, जहां एक सिस्टम सुरक्षित होता है परन्तु कंप्यूटर तक पहुंचना संभव नहीं होता है।[3] जब हार्ड डिस्क को पूर्ण डिस्क एन्क्रिप्शन के साथ कूटबद्ध किया जाता है और डिस्क में संभावित रूप से आपराधिक गतिविधि के सबूत होते हैं, तो कोल्ड बूट अटैक भी आवश्यक हो सकता है। कोल्ड बूट अटैक मेमोरी तक पहुंच प्रदान करता है, जो उस समय सिस्टम की स्थिति के बारे में जानकारी प्रदान कर सकता है। जैसे कि कौन से प्रोग्राम चल रहे हैं।[3]
दुर्भावनापूर्ण के उद्देश्य
कोल्ड बूट अटैक का उपयोग आक्रमण करने वालों द्वारा कूटबद्ध जानकारी जैसे कि वित्तीय जानकारी या दुर्भावनापूर्ण मंशा के लिए व्यापार रहस्य तक पहुंच प्राप्त करने के लिए किया जा सकता है।[11]
पूर्ण डिस्क एन्क्रिप्शन को परिचालित करना
कोल्ड बूट अटैकों का एक सामान्य उद्देश्य सॉफ़्टवेयर-आधारित डिस्क एन्क्रिप्शन को गतिरोध उत्पन्न करना होता है। कोल्ड बूट अटैकों को जब प्रमुख खोज अटैकों के साथ संयोजन में उपयोग किया जाता है, तो विभिन्न विक्रेताओं और ऑपरेटिंग सिस्टमों की पूर्ण डिस्क एन्क्रिप्शन योजनाओं को गतिरोध उत्पन्न करने का एक प्रभावी साधन साबित हुआ है, यहां तक कि जहां एक विश्वसनीय प्लेटफॉर्म मॉड्यूल(TPM) सुरक्षित क्रिप्टोप्रोसेसर का उपयोग किया जाता है।[2]
डिस्क एन्क्रिप्शन अनुप्रयोगों की स्थिति में जिन्हें प्री-बूटिंग व्यक्तिगत पहचान संख्या दर्ज किए बिना या हार्डवेयर कुंजी मे उपस्थित होने के बिना ऑपरेटिंग सिस्टम को बूट करने की अनुमति देने के लिए कंप्यूटर की व्यवस्था का प्रारूप किया जा सकता है। उदाहरण के लिए बिटलॉकर एक साधारण विन्यास संरूपण में जो दो-कारक प्रमाणीकरण पिन के बिना टीपीएम का उपयोग करता है या USB की अटैक की समय सीमा बिल्कुल भी सीमित नहीं होती है।[2]
बिटलॉकर
बिटलॉकर अपने पूर्व निर्धारित कंप्यूटर की व्यवस्था के प्रारूप में एक विश्वसनीय प्लेटफ़ॉर्म मॉड्यूल का उपयोग करता है, जिसे डिस्क को डिक्रिप्ट करने के लिए न तो पिन की आवश्यकता होती है और न ही बाहरी कुंजी की। जब ऑपरेटिंग सिस्टम बूट होता है, तो बिटलॉकर बिना किसी उपयोगकर्ता सहभागिता के TPM से कुंजी प्राप्त करता है। तथा इसके परिणाम स्वरूप एक आक्रमण करने वाला केवल मशीन को चालू कर सकता है, ऑपरेटिंग सिस्टम को बूट करने के लिए प्रतीक्षा करें और फिर कुंजी को पुनः प्राप्त करने के लिए मशीन के विपरीत एक कोल्ड बूट अटैक को निष्पादित करे। तथा इसके कारण द्वि-कारक प्रमाणीकरण, जैसे प्री-बूट पिन या एक टीपीएम के साथ एक स्टार्टअप कुंजी युक्त एक हटाने योग्य USB उपकरण का उपयोग पूर्व निर्धारित बिटलॉकर कार्यान्वयन में इस भेद्यता के आसपास काम करने के लिए किया जाना चाहिए।[12][5] हालाँकि, यह वैकल्पिक हल किसी आक्रमण करने वाले को मेमोरी से संवेदनशील आँकड़ा प्राप्त करने से नहीं रोकता है, न ही मेमोरी में कैश की गई कूटबद्ध कुंजियों को पुनर्प्राप्त करने से रोकता है।
अल्पीकरण
चूंकि कोल्ड बूट अटैक से क्रियान्वित मेमोरी को सरली से खराब किया जा सकता है, रैम में संवेदनशील आँकड़ा का भंडारण, जैसे पूर्ण डिस्क एन्क्रिप्शन के लिए कूटबद्ध कुंजी असुरक्षित होती है। रैंडम-एक्सेस मेमोरी के अतिरिक्त अन्य क्षेत्रों में कूटबद्ध कुंजियों को संग्रहीत करने के लिए कई समाधान प्रस्तावित किए गए हैं। जबकि ये समाधान पूर्ण डिस्क एन्क्रिप्शन को तोड़ने की संभावना को कम कर सकते हैं, तथा वे मेमोरी में संग्रहीत अन्य संवेदनशील आँकड़ा की कोई सुरक्षा प्रदान नहीं करते हैं।
रजिस्टर-आधारित कुंजी भंडारण
कूटबद्ध कुंजियों को मेमोरी से बाहर रखने का एक समाधान रजिस्टर-आधारित कुंजी संग्रहण होता है। तथा ट्रेसर[13] और लूप-एम्नेसिया इस समाधान के कार्यान्वयन होते हैं। [14] ये दोनों कार्यान्वयन एक ऑपरेटिंग सिस्टम के कर्नेल(ऑपरेटिंग सिस्टम) को संशोधित करते हैं ताकि CPU रजिस्टर ट्रेसर की स्थिति में x86 डिबग रजिस्टर और लूप-एम्नेसिया की स्थिति में AMD64 या EMT64 प्रोफाइलिंग रजिस्टर का उपयोग रैम के अतिरिक्त एन्क्रिप्शन कुंजियों को संग्रह करने के लिए किया जा सके। इस स्तर पर संग्रहीत कुंजियों को सरली से उपयोक्ता स्थान से पढ़ा नहीं जा सकता[citation needed] और किसी भी कारण से कंप्यूटर के पुनः प्रारंभ होने पर खो जाते हैं। ट्रेसर और लूप-एम्नेसिया दोनों को इस तरीके से क्रिप्टोग्राफ़िक टोकन संग्रह करने के लिए उपलब्ध सीमित स्थान के कारण ऑन-द-फ्लाई राउंड मुख्य कार्यक्रम की जनरेशन का उपयोग करना चाहिए। सुरक्षा के लिए एन्क्रिप्शन या डिक्रिप्शन करते समय सीपीयू रजिस्टरों से मेमोरी में लीक होने से महत्वपूर्ण जानकारी को रोकने के लिए दोनों प्रदर्शन करते हैं, और दोनों कंप्यूटर प्रोग्राम का पुनर्निरीक्षण या प्रोफाइल रजिस्टरों तक पहुंच को अवरुद्ध करते हैं।
भंडारण कुंजी के लिए आधुनिक x86 प्रोसेसर में दो संभावित क्षेत्र होते हैं। स्ट्रीमिंग SIMD एक्सटेंशन जो प्रभावी रूप से सभी SSE निर्देशों का प्रदर्शन करके विशेषाधिकार प्राप्त किए जा सकते हैं। और आवश्यक रूप से उन पर विश्वास करने वाले किसी भी कार्यक्रम और कंप्यूटर प्रोग्राम का पुनर्निरीक्षण रजिस्टर जो बहुत छोटे होते थे लेकिन ऐसे मुद्दे नहीं थे।
SSE रजिस्टर विधि के आधार पर पैरानोइक्स नामक अवधारणा वितरण का एक प्रमाण विकसित किया गया है।[15] डेवलपर्स का दावा है कि AES-NI का समर्थन करने वाले 64-बिट सीपीयू पर ट्रेसर चलाना, AES के सामान्य कार्यान्वयन की तुलना में कोई प्रदर्शन दंड नहीं होता है।[16] और कुंजी पुनर्गणना की आवश्यकता के अतिरिक्त मानक एन्क्रिप्शन की तुलना में थोड़ा तेज़ चलता है[13] ट्रेसर की तुलना में लूप-एम्नेसिया का प्राथमिक लाभ यह होता है, कि यह कई कूटबद्ध ड्राइव के उपयोग का समर्थन करता है। प्राथमिक नुकसान 32-बिट x86 के लिए समर्थन की कमी और AES-NI का समर्थन नहीं करने वाले सीपीयू पर खराब प्रदर्शन होता हैं।
कैश-आधारित कुंजी भंडारण
औपचारिक कैश कभी-कभी रैम के रूप में कैश के रूप में जाना जाता है।[17] कूटबद्ध कुंजी को सुरक्षित रूप से संग्रह करने के लिए उपयोग किया जा सकता है। यह CPU के L1 कैश को असमर्थ करके काम करता है और इसे कुंजी भंडारण के लिए उपयोग करता है, हालाँकि, यह अधिकांश उद्देश्यों के लिए बहुत धीमी होने के बिंदु पर समग्र सिस्टम प्रदर्शन को काफी कम कर सकता है।[18][better source needed]
गुआन एट अल द्वारा एक समान कैश-आधारित समाधान प्रस्तावित किया गया था।(2015)[19] आँकड़ा को कैश में रखने के लिए डब्ल्यूबी(राइट-बैक) कैश मोड को नियोजित करके, सार्वजनिक कुंजी एल्गोरिदम के संगणना समय को कम करता है।
IEEE S&P 2015 में मिमोसा[20] ने कोल्ड-बूट अटैको और DMA अटैको के विरुद्ध सार्वजनिक-कुंजी क्रिप्टोग्राफ़िक संगणनाओं के लिए एक अधिक उपयोगी समाधान प्रस्तुत किया। यह हार्डवेयर ट्रांसेक्शनल मेमोरी(HTM) को नियोजित करता है, जिसे मूल रूप से बहु-थ्रेडेड अनुप्रयोगों के प्रदर्शन को बढ़ावा देने के लिए सट्टा मेमोरी नियंत्रण तंत्र के रूप में प्रस्तावित किया गया था। HTM द्वारा प्रदान की गई जटिल परमाणु प्रत्याभुति का उपयोग संवेदनशील आँकड़ा वाले मेमोरी स्पेस में अवैध समवर्ती पहुंच को हराने के लिए किया जाता है। RSA निजी कुंजी को AES कुंजी द्वारा मेमोरी में कूटबद्ध किया गया है, जो ट्रेसर द्वारा सुरक्षित होता है। अनुरोध पर एक HTM लेनदेन के अन्दर एक RSA निजी-कुंजी गणना की जाती है: निजी कुंजी को पहले मेमोरी में डिक्रिप्ट किया जाता है, और फिर आरएसए डिक्रिप्शन या हस्ताक्षर किया जाता है। क्योंकि एक सादा-पाठ RSA निजी कुंजी केवल HTM लेनदेन में संशोधित आँकड़ा के रूप में दिखाई देती है।, इन आँकड़ा के लिए कोई भी मुख्य संचालन लेनदेन को निष्पादित कर देगा तथा लेनदेन अपनी प्रारंभिक स्थिति में वापस आ जाएगा। ध्यान दें कि RSA निजी कुंजी प्रारंभिक अवस्था में एन्क्रिप्ट की गई है, और यह सही संचालनों या AES डिक्रिप्शन का परिणाम होता है। जो वर्तमान में एचटीएम को कैश या संग्रह-बफर में लागू किया गया है, जो दोनों सीपीयू में स्थित होता हैं, तथा बाहरी रैम चिप्स में नहीं होता है। इसलिए कोल्ड-बूट अटैकों को रोका जाता है। मिमोसा उन अटैकों के विरुद्ध हारता है, जो मेमोरी से संवेदनशील आँकड़ा(कोल्ड-बूट अटैकों, डीएमए अटैकों और अन्य सॉफ़्टवेयर अटैकों सहित) को पढ़ने का प्रयास करते हैं, और यह केवल एक छोटे से प्रदर्शन ऊपरी संक्रिया का परिचय देता है।
कूटबद्ध डिस्क को हटाना
सर्वोत्तम अभ्यास किसी भी कूटबद्ध गैर-सिस्टम डिस्क को उपयोग में नहीं होने की सलाह देता है, क्योंकि अधिकांश डिस्क एन्क्रिप्शन सॉफ़्टवेयर उपयोग के बाद मेमोरी में कैश की गई कुंजियों को सुरक्षित रूप से मिटाने के लिए प्रतिरूपित किए गए हैं।[21] यह एक आक्रमण करने वाले के जोखिम को कम करता है, जो कोल्ड बूट अटैक को अंजाम देकर मेमोरी से एन्क्रिप्शन कुंजियों को बचाने में सक्षम होता है। ऑपरेटिंग सिस्टम हार्ड डिस्क पर कूटबद्ध जानकारी तक पहुंच को कम करने के लिए एक सफल कोल्ड बूट अटैक की संभावना को कम करने के लिए उपयोग में नहीं होने पर मशीन को पूरी तरह से बंद कर देना चाहिए।[2][22] हालांकि, मशीन में भौतिक रैम उपकरण के आधार पर आँकड़ा दस सेकंड से लेकर कई मिनट तक पढ़ने योग्य रह सकता है, संभावित रूप से कुछ आँकड़ा को आक्रमण करने वाले के द्वारा मेमोरी से पुनः प्राप्त करने की अनुमति देता है। स्लीप मोड का उपयोग करने के अतिरिक्त अप्रयुक्त होने पर ऑपरेटिंग सिस्टम को बंद या हाइबरनेट करने के लिए कॉन्फ़िगर करना, एक सफल कोल्ड बूट अटैक के जोखिम को कम करने में मदद कर सकता है।
प्रभावी प्रतिकार
भौतिक पहुंच को रोकना
सामान्य रूप से एक अटैक करने वाले के कंप्यूटर तक भौतिक पहुंच को सीमित करके या अटैक को करने के लिए इसे तेजी से जटिल बनाकर एक कोल्ड बूट अटैक को रोका जा सकता है। एक विधि में मदरबोर्ड पर मेमोरी मॉड्यूल में टांकने की क्रिया या ग्लूइंग सम्मिलित होती है, इसलिए उन्हें सरलता से उनके सॉकेट से हटाया नहीं जा सकता है और एक अटैक करने वाले के नियंत्रण में दूसरी मशीन में डाला जा सकता है।[2] हालांकि, यह अटैक करने वाले के पीड़ित की मशीन को बूट करने और हटाने योग्य USB फ्लैश ड्राइव का उपयोग करके मेमोरी खराब करने से नहीं रोकता है। UEFI सुरक्षा बूट या इसी तरह के बूट सत्यापन दृष्टिकोण जैसे एक भेद्यता प्रबंधन एक अटैक करने वाले को एक कस्टम सॉफ्टवेयर वातावरण को बूट करने से रोकने में प्रभावी हो सकता है, ताकि सोल्डर-ऑन मुख्य मेमोरी की सामग्री को खराब किया जा सके।[23]
पूर्ण मेमोरी एन्क्रिप्शन
रैंडम-एक्सेस मेमोरी(रैम) को कूटबद्ध करने से अटैक करने वाले को कोल्ड बूट अटैक के माध्यम से एन्क्रिप्शन कुंजी या मेमोरी से अन्य सामग्री प्राप्त करने में सक्षम होने की संभावना कम हो जाती है। इस दृष्टिकोण के लिए ऑपरेटिंग सिस्ट,म एप्लिकेशन या हार्डवेयर में परिवर्तन की आवश्यकता हो सकती है। हार्डवेयर-आधारित मेमोरी एन्क्रिप्शन का एक उदाहरण Microsoft Xbox में लागू किया गया था।[24] AMD से नए x86-64 हार्डवेयर पर कार्यान्वयन उपलब्ध होते हैं और विलो कोव में इंटेल से समर्थन आने वाला है।
सॉफ्टवेयर-आधारित पूर्ण मेमोरी एन्क्रिप्शन सीपीयू-आधारित कुंजी भंडारण के समान होता है, क्योंकि कुंजी सामग्री कभी भी मेमोरी के संपर्क में नहीं आती है, लेकिन अधिक व्यापक होती है। सभी मेमोरी सामग्री को कूटबद्ध किया जाता हैं। तथा सामान्य रूप से ऑपरेटिंग सिस्टम द्वारा केवल तत्काल पृष्ठों को डिक्रिप्ट किया जाता है और तुरंत पढ़ा जाता है।[25] सॉफ़्टवेयर-आधारित मेमोरी एन्क्रिप्शन समाधानों के कार्यान्वयन में सम्मिलित होते हैं। निजी भाग का एक व्यावसायिक उत्पाद।[26][27][28] और RamCrypt, Linux कर्नेल के लिए एक कर्नेल-पैच जो मेमोरी में आँकड़ा को एन्क्रिप्ट करता है और CPU रजिस्टरों में एन्क्रिप्शन कुंजी को ट्रेसर के समान तरीके से संग्रहीत करता है।।[13][25]
संस्करण 1.24 के बाद से, VeraCrypt कुंजी और पासवर्ड के लिए RAM एन्क्रिप्शन का समर्थन करता है।[29]
हाल ही में सुरक्षा-संवर्धित x86 और ARM कमोडिटी प्रोसेसर की उपलब्धता पर प्रकाश डालते हुए कई पत्र प्रकाशित किए गए हैं।।[30][31] उस कार्य में ARM Cortex A8 प्रोसेसर का उपयोग सब्सट्रेट के रूप में किया जाता है, जिस पर एक पूर्ण मेमोरी एन्क्रिप्शन समाधान बनाया जाता है। प्रोसेस सेगमेंट(उदाहरण के लिए, स्टैक, कोड या हीप) को व्यक्तिगत रूप से या संरचना में एन्क्रिप्ट किया जा सकता है। यह कार्य सामान्य-उद्देश्य वाले कमोडिटी प्रोसेसर पर पहले पूर्ण मेमोरी एन्क्रिप्शन कार्यान्वयन को चिन्हित करता है। सिस्टम कोड और आँकड़ा की गोपनीयता और अखंडता दोनों सुरक्षा प्रदान करता है जो सीपीयू सीमा के बाहर हर जगह एन्क्रिप्ट किए जाते हैं।
मेमोरी का सुरक्षित विलोपन
चूंकि कोल्ड बूट अटैक अनएन्क्रिप्टेड रैंडम-एक्सेस मेमोरी को लक्षित करते हैं, तथा एक समाधान मेमोरी से संवेदनशील आँकड़ा को मिटाना होता है जब यह अब उपयोग में नहीं होता है। TCG प्लेटफॉर्म रीसेट अटैक अल्पीकरण विनिर्देश[32] इस विशिष्ट अटैक के लिए एक उद्योग प्रतिक्रिया, BIOS को POST के दौरान मेमोरी को अधिलेखित करने के लिए कमजोर करता है। यदि ऑपरेटिंग सिस्टम को सफाई से बंद नहीं किया गया था। हालांकि, इस उपाय को अभी भी सिस्टम से मेमोरी मॉड्यूल को हटाकर अटैक करने वाले के नियंत्रण में किसी अन्य सिस्टम पर वापस पढ़ने से रोका जा सकता है, जो इन उपायों का समर्थन नहीं करता है।[2]
एक प्रभावी सुरक्षा मिटाने की विशेषता यह होगी कि यदि बिजली बाधित होती है, तो एक सुरक्षित BIOS और हार्ड ड्राइव/एसएसडी नियंत्रक के संयोजन के साथ बिजली खो जाने से पहले RAM को 300 ms से कम समय में मिटा दिया जाता है, जो M-2 और SATAx पोर्ट पर आँकड़ा को एन्क्रिप्ट करता है। यदि RAM में स्वयं कोई सीरियल उपस्थिति या अन्य आँकड़ा नहीं होता है और समय BIOS में किसी प्रकार के फेलसेफ के साथ संग्रहीत किया जाता है, जिसे परिवर्तित के लिए हार्डवेयर कुंजी की आवश्यकता होती है, तो किसी भी आँकड़ा को पुनर्प्राप्त करना लगभग असंभव होगा और टेम्पेस्ट(कोडनेम) अटैको के लिए भी प्रतिरक्षा होगी। मैन-इन-द-रैम और अन्य संभावित घुसपैठ के तरीके।[citation needed][33]
कुछ ऑपरेटिंग सिस्टम जैसे टेल्स एक ऐसी सुविधा प्रदान करते ,हैं जो ऑपरेटिंग सिस्टम को कोल्ड बूट अटैक के विरुद्ध कम करने के लिए बंद होने पर सिस्टम मेमोरी में यादृच्छिक आँकड़ा को सुरक्षित रूप से लिखता है।[34] हालांकि, वीडियो मेमोरी विलोपन अभी भी संभव नहीं होता है। और 2022 तक यह अभी भी टेल्स फोरम पर एक खुला टिकट है।[35] संभावित अटैक जो इस दोष का फायदा उठा सकते हैं।
- एक GnuPG कीपेयर का निर्माण और एक पाठ संपादक पर निजी कुंजी देखने से कुंजी को पुनर्प्राप्त किया जा सकता है।[36]
- एक क्रिप्टोक्यूरेंसी के बीज देखा जा सकता है, इसलिए थैली को उपमार्गन करते हुए(भले ही एन्क्रिप्ट किया गया हो) राशि तक पहुंच की अनुमति देता है।[37]
- दृश्यता सक्षम के साथ पासवर्ड टाइप करने से इसके कुछ हिस्से या यहां तक कि पूरी कुंजी भी दिखाई दे सकती है। यदि कीफाइल का उपयोग किया जाता है, तो इसे पासवर्ड अटैक के लिए आवश्यक समय कम करने के लिए दिखाया जा सकता है।
- आयोजित किए गए या खोले गए एन्क्रिप्टेड वॉल्यूम के निशान संभावित खंडन के साथ दिखाए जा सकते हैं, जिससे उनकी खोज हो सकती है।
- यदि .onion सेवा से जुड़ा होती है, तो URL दिखाया जा सकता है और इसकी खोज हो सकती है, जबकि अन्यथा यह अत्यंत जटिल होगा।[38][39]
- किसी विशेष प्रोग्राम का उपयोग उपयोगकर्ता के तरीके को दिखा सकता है। उदाहरण के लिए यदि एक स्टेग्नोग्राफ़ी प्रोग्राम का उपयोग किया जाता है और खोला जाता है, तो यह अनुमान लगाया जा सकता है, कि उपयोगकर्ता आँकड़ा छिपा रहा है। इसी तरह यदि एक तत्काल मेसेंजर का उपयोग किया जा रहा है, तो संपर्कों या संदेशों की एक सूची दिखाई जा सकती है।
बाहरी कुंजी भंडारण
कोल्ड बूट अटैक को यह सुनिश्चित करके रोका जा सकता है कि अटैक के तहत हार्डवेयर द्वारा कोई कुंजी संग्रहीत नहीं की जाती है।
- उपयोगकर्ता डिस्क एन्क्रिप्शन कुंजी मैन्युअल रूप से दर्ज करता है।
- हार्डवेयर-आधारित पूर्ण डिस्क एन्क्रिप्शन का उपयोग करना #हार्ड डिस्क ड्राइव FDE संलग्न करें। जहां कुंजी(क्रिप्टोग्राफी) हार्ड डिस्क ड्राइव से अलग हार्डवेयर में रखी जाती है।
अप्रभावी प्रति उपाय
आधुनिक इंटेल कोर प्रोसेसर की एक विशेषता के रूप में अर्धचालकों के अवांछनीय परजीवी प्रभावों को कम करने के लिए मेमोरी स्क्रैम्बलिंग का उपयोग किया जा सकता है।[40][41][42][43] हालांकि, प्रतियोगितापूर्वक केवल मेमोरी सामग्री के भीतर किसी भी पैटर्न को सजाने के लिए प्रयोग किया जाता है, मेमोरी को एक अवरोही अटैक के माध्यम से उतारा जा सकता है।[44][45]इसलिए, कोल्ड बूट अटैको के विरुद्ध मेमोरी स्क्रैचिंग एक व्यवहार्य शमन नहीं होता है।
स्लीप मोड कोल्ड बूट अटैक के विरुद्ध कोई अतिरिक्त सुरक्षा प्रदान नहीं करता है, क्योंकि इस स्थिति में आँकड़ा सामान्य रूप से अभी भी मेमोरी में रहता है। इस प्रकार पूर्ण डिस्क एन्क्रिप्शन उत्पाद अभी भी अटैक के लिए असुरक्षित हैं क्योंकि कुंजी मेमोरी में रहती है और मशीन को कम पावर स्थिति से फिर से प्रारम्भ करने के बाद फिर से दर्ज करने की आवश्यकता नहीं होती है।
हालांकि BIOS में बूट उपकरण विकल्पों को सीमित करने से अन्य ऑपरेटिंग सिस्टम को बूट करना थोड़ा सरल हो सकता है, आधुनिक चिपसेट में फर्मवेयर उपयोगकर्ता को निर्दिष्ट हॉट कुंजी दबाकर POST के दौरान बूट उपकरण को ओवरराइड करने की अनुमति देता है।।[5][46][47] बूट उपकरण विकल्पों को सीमित करने से मेमोरी मॉड्यूल को सिस्टम से हटाए जाने और वैकल्पिक सिस्टम पर वापस पढ़ने से नहीं रोका जा सकेगा। इसके अतिरिक्त अधिकांश चिपसेट एक पुनर्प्राप्ति तंत्र प्रदान करते हैं, जो BIOS सेटिंग्स को पूर्व निर्धारित पर पुनर्नियोजन करने की अनुमति देता है, भले ही वे पासवर्ड से सुरक्षित हों।[11][48] BIOS सेटिंग्स को भी संशोधित किया जा सकता है, जबकि सिस्टम इसके द्वारा लागू किसी भी सुरक्षा को गतिरोध उत्पन्न करने के लिए चल रहा है, जैसे मेमोरी वाइपिंग या बूट उपकरण को लॉक करना।[49][50]
स्मार्टफोन्स
कोल्ड बूट अटैक को एंड्रॉइड स्मार्टफोन पर समान तरीके से अनुकूलित और कार्यान्वित किया जा सकता है।[9] चूंकि स्मार्टफ़ोन में रीसेट बटन नहीं होता है, इसलिए हार्ड रीसेट करने के लिए फ़ोन की बैटरी को अलग करके कोल्ड बूट किया जा सकता है।[9] इसके बाद स्मार्टफोन्स को एक ऑपरेटिंग सिस्टम इमेज के साथ फ्लैश किया जाता है, जो मेमोरी डंप कर सकता है। सामान्य रूप से स्मार्टफोन एक USB पोर्ट का उपयोग करके अटैकरों की मशीन से जुड़ा होता है।
सामान्य रूप से एंड्रॉइड स्मार्टफोन फोन लॉक होने पर रैंडम-एक्सेस मेमोरी से एन्क्रिप्शन कुंजियों को सुरक्षित रूप से मिटा देते हैं।[9] यह एक अटैक करने वाले की मेमोरी से कुंजियों को पुनः प्राप्त करने में सक्षम होने के जोखिम को कम करता है, भले ही वे फोन के विरुद्ध कोल्ड बूट अटैक को अंजाम देने में सफल रहे हों।
संदर्भ
- ↑ MacIver, Douglas (2006-09-21). प्रवेश परीक्षण Windows Vista BitLocker ड्राइव एन्क्रिप्शन (PDF). HITBSecConf2006, Malaysia. Microsoft. Retrieved 2008-09-23.
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 Halderman, J. Alex; Schoen, Seth D.; Heninger, Nadia; Clarkson, William; Paul, William; Calandrino, Joseph A.; Feldman, Ariel J.; Appelbaum, Jacob; Felten, Edward W. (2009-05-01). "ऐसा न हो कि हम याद रखें: एन्क्रिप्शन कुंजियों पर कोल्ड-बूट हमले" (PDF). Communications of the ACM. 52 (5): 91–98. doi:10.1145/1506409.1506429. ISSN 0001-0782. S2CID 7770695.
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Carbone, Richard; Bean, C; Salois, M (January 2011). कोल्ड बूट हमले का गहन विश्लेषण (PDF). Defence Research and Development Canada.
- ↑ Skorobogatov, Sergei (June 2002). स्थैतिक रैम में कम तापमान डेटा अवशेष (PDF). University of Cambridge.
- ↑ 5.0 5.1 5.2 MacIver, Douglas (2008-02-25). "सिस्टम इंटीग्रिटी टीम ब्लॉग: बिटलॉकर को कोल्ड अटैक (और अन्य खतरों) से बचाना".