কোল্ড বুট আক্রমণ

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে

ক্রিপ্টোগ্রাফিতে, একটি কোল্ড বুট আক্রমণ (অথবা কম পরিসরে, একটি প্ল্যাটফর্ম রিসেট আক্রমণ) হচ্ছে এক ধরনের পার্শ্ব-চ্যানেল আক্রমণ যার সাহায্যে একজন আক্রমণকারী কোন কম্পিউটারে বাহ্যিকভাবে প্রবেশের মাধ্যমে চলমান অপারেটিং সিস্টেম থেকে গুপ্ততথ্য উদ্ধারে সক্ষম হয়ে “কোল্ড রিবুট” করে যন্ত্রটিকে বারংবার চালু করে।[১][২] এই আক্রমণটি ‘ডায়নামিক র‍্যান্ডম এক্সেস মেমোরি’ এবং ‘স্ট্যাটিক র‍্যান্ডম এক্সেস মেমোরি’র ডাটা-অবশিষ্টাংশ ধর্মের উপর নির্ভর করে পাওয়ার অফ করে দেয়ার সেকেন্ড থেকে মিনিট পরিমাণ সময় পর্যন্ত মেমোরি অংশকে পাঠযোগ্য রাখতে তৎপর থাকে।[২][৩]

বর্ণনা[সম্পাদনা]

এই আক্রমণটি পরিচালনার জন্য, একটি চলমান কম্পিউটারকে কোল্ড-বুট করা হয়। কোল্ড-বুট বলতে পাওয়ার “অফ” এবং তারপর আবার “অন” করাকে বুঝায় যা অপারেটিং সিস্টেমকে পরিষ্কারভাবে শাট-ডাউনের নির্দেশ দেয় না, বা, সম্ভবপর হলে, “রিসেট” বোতামে চাপ দেয়। অতঃপর একটি প্রতিস্থাপনযোগ্য ডিস্ক নিম্ন অপারেটিং সিস্টেমে বোট করার জন্য ব্যবহার করা হয়, যা পরবর্তীতে একটি প্রি-বুট বাহ্যিক মেমরির বিষয়বস্তুকে ফাইলে ডাম্প করতে ব্যবহৃত হয়।[৪] অন্যথায়, মেমরি মডিউল মূল সিস্টেম থেকে মুছে ফেলা হয় এবং দ্রুত আক্রমণকারীর নিয়ন্ত্রণাধীন একটি সামঞ্জস্যপূর্ণ মেশিনের মধ্যে স্থাপন করা হয়, এরপর যেটাকে মেমরিতে প্রবেশ করতে বুট করা হয়। এরপর আরও বিশ্লেষণ করা হতে পারে যাতে মেমরি থেকে গৃহীত তথ্যাদির বিরুদ্ধে বিভিন্ন সংবেদনশীল তথ্য, যেমন এটিতে অন্তর্ভুক্ত বিভিন্ন কী-সমূহ খুঁজে পেতে প্রয়াস চালানো হয়। কিছু জনপ্রিয় এনক্রিপশন পদ্ধতির[৫] বিরুদ্ধে আক্রমণ পরিচালনার জন্য বিভিন্ন ধরনের কী-অনুসন্ধান-হামলা ব্যবহার করে এই কাজ সম্পাদন করার জন্য বর্তমানে অনেক স্বয়ংক্রিয় যন্ত্রাদি পাওয়া যায়।

বিভিন্ন বিক্রেতা এবং অপারেটিং সিস্টেমের পূর্ণ ডিস্ক এনক্রিপশন পদ্ধতির বিরুদ্ধে আক্রমণ কার্যকর হতে দেখা গেছে, এমনকি যেখানে একটি ট্রাস্টেড প্ল্যাটফর্ম মডিউল(TPM) নিরাপদ ক্রিপ্টোপ্রসেসরও ব্যবহার করা হয়েছে।[২] এটা মূলত একটি হার্ডওয়্যার (অনিরাপদ মেমরি) সমস্যার কারণে হয় এবং এটি কোন সফটওয়্যার সমস্যা না। যদিও বর্তমান গবেষণার আলোকপাত করা হয়েছে ডিস্ক এনক্রিপশন সম্পর্কে, তবে মেমরিতে যেকোন সংবেদনশীল-উপাত্ত আক্রমণ প্রবন হয়ে থাকে।[২]

তরল নাইট্রোজেন বা সংকুচিত হাওয়া-পাত্র মেমরি মডিউলকে সহসা ঠান্ডা করতে কাজে লাগে, এবং যার ফলে পরিবর্তনশীল মেমরি অবক্ষয় আরো মন্থর হয়

নির্দিষ্ট মেমরি মডিউলের সঙ্গে, আক্রমনের জন্য সময় উইন্ডো শীতলক দ্বারা শিথিল করে ঘণ্টা ব্যাপী বিস্তৃত হতে পারে যেরূপ একটি উল্টানো সংকুচিত হাওয়া-পাত্র করতে পারে। উপরন্তু, বিট যেমন সময়ের সাথে মিলিয়ে যায়, এগুলো আবার পুনর্গঠিতও হতে পারে, যেরূপ এগুলো ভাবনার মতো করে মিলিয়ে যায়।[২] ডিস্ক এনক্রিপশন অ্যাপ্লিকেশনের ক্ষেত্রে বুট করার জন্য অপারেটিং সিস্টেমে প্রি-বুট পিন ব্যতিরেকে প্রবেশ করানো হয় অথবা একটি হার্ডওয়্যার কী বিদ্যমান থাকে (যেমন- বিটলকার একটি সহজ কনফিগারেশনে একটি দ্বি-স্তর প্রমাণীকরণ পিন অথবা ইউএসবি কী ছাড়া টিপিএম ব্যবহার করে), হামলার জন্য সময় কাঠামো মোটেও সীমিত হয় না।[২]

এটি শুধুমাত্র এমন একটি আক্রমণ নয় যে এটি এনক্রিপশন কী-সমূহকে মেমরি থেকে পড়ার অনুমতি দেয়, উদাহরণস্বরূপ, ডিএমএ অ্যাটাক একটি ১৩৯৪ ডিএমএ চ্যানেলের মাধ্যমে প্রকৃত মেমরিতে প্রবেশ করে। মাইক্রোসফট থেকে পরামর্শ দেওয়া হয় যে যদি কোন কারণে এটা চিন্তার ব্যাপারে পরিণত হয়, ডিফল্ট উইন্ডোজ কনফিগারেশন পরিবর্তন করে একে প্রতিরোধ করতে।[৬]

কোল্ড বুট অ্যাটাক সফলভাবে চালানোর জন্য বিভিন্ন সিস্টেম, মেমরির ধরন, মেমরি নির্মাতা ও মাদারবোর্ডের বৈশিষ্ট্য জুড়ে যথেষ্ট তারতম্য দেখা যায়, এবং সফটওয়্যার-ভিত্তিক পদ্ধতি বা একটি ডিএমএ আক্রমণের তুলনায় পরিচালনা করা আরো বেশি কঠিন। [৭]

প্রশমন[সম্পাদনা]

পূর্ণ মেমরি এনক্রিপশন[সম্পাদনা]

এনক্রিপশন করা র‌্যান্ডম অ্যাক্সেস মেমোরি (র্যাম) একজন আক্রমণকারীর হাত থেকে কোল্ড বুট হামলার মাধ্যমে মেমরি থেকে এনক্রিপশন চাবি বা অন্যান্য উপাদান পাওয়ার সম্ভাবনা হ্রাস করে। এই পদ্ধতির জন্য অপারেটিং সিস্টেম, অ্যাপ্লিকেশন, অথবা হার্ডওয়্যারে পরিবর্তন করার প্রয়োজন হতে পারে। হার্ডওয়্যার-ভিত্তিক মেমরি এনক্রিপশনের একটি উদাহরণস্বরূপ মাইক্রোসফট এক্সবক্সের বাস্তবায়ন করা হয়,[৮] এবং অন্য একটি উদাহরণ হচ্ছে নির্দিষ্ট ইন্টেল কোর প্রসেসরের একটি বৈশিষ্ট্য হিসেবে স্ক্যাম্বলিং মেমরি।[৯][১০][১১]

সফটওয়্যার-ভিত্তিক পূর্ণ মেমরি এনক্রিপশন, সিপিইউ-ভিত্তিক কী স্টোরেজ এর অনুরূপ, যেহেতু কী উপাদান মেমোরিতে উন্মুক্ত থাকে না, বরং এটা অধিক সহজবোধ্য কেননা সকল মেমোরি উপাদানসমূহ এনক্রিপ্ট করা থাকে। মেমরি এনক্রিপ্ট করার পদ্ধতি বর্ণনা করে বহুসংখ্যক একাডেমিক গবেষণাপত্র রয়েছে এবং প্রাইভেট-কোর থেকে অন্তত একটি বাণিজ্যিক পণ্য আছে।[১২][১৩][১৪]

অতি সাম্প্রতিককালে, নিরাপত্তা-বর্ধিত এক্স৮৬ এবং এআরএম পণ্যজাত প্রসেসরের প্রাপ্যতাকে দৃষ্টিগোচর করে বিভিন্ন গবেষণাপত্র প্রকাশিত হয়েছে।[১৫][১৬] এই কাজে, স্তর হিসেবে একটি এআরএম কর্টেক্স এ৮ প্রসেসর ব্যবহৃত হয় যার উপর পূর্ণ মেমরির এনক্রিপশন সমাধান নির্মিত হয়। প্রক্রিয়ার অংশসমূহকে (উদাহরণস্বরূপ, স্ট্যাক, কোড বা হিপ) স্বতন্ত্রভাবে বা একত্রে এনক্রিপ্ট করা যেতে পারে। এই কাজটি সর্বপ্রথম একটি সাধারণ-উদ্দেশ্যের পণ্য প্রসেসরে, পূর্ণ মেমরির এনক্রিপশন বাস্তবায়নের জন্য চিহ্নিত করে। সিস্টেমটি কোড এবং উপাত্ত উভয়টিকে গোপনীয়তা এবং অখণ্ডতার নিরাপত্তা প্রদান করে যা সিপিইউ সীমানার বাইরেও সর্বত্র এনক্রিপ্ট করা থাকে।

ফেলে-রাখা এনক্রিপ্টেড ডিস্ক[সম্পাদনা]

বেশিরভাগ ডিস্ক এনক্রিপশন সিস্টেম তাদের ক্যাশে এনক্রিপশন কীসমূহ এমনভাবে মুছে ফেলে, দেখে মনে হয় এনক্রিপ্ট ডিস্ক ফেলে রাখা অবস্থায় ছিল।

অতএব, এটা সুনিশ্চিত করে যে, সকল এনক্রিপ্ট ডিস্ক অবতীর্ণ (নিরাপদ) যখন একটি কম্পিউটার এমন অবস্থানে থাকে, যেখান থেকে এটি চুরি হলে এই ঝুঁকি এড়াতে পারে, এবং ভাল অভ্যাসের প্রতিনিধিত্ব করে।[১৭] একটি চলমান অপারেটিং সিস্টেমের উপর সাধারণত সিস্টেম ডিস্ক দ্বারা এটিকে প্রশমন করা সম্ভব নয়।

উন্নততর এনক্রিপশন মোড[সম্পাদনা]

কোন বুট পিন অথবা বাহ্যিক কী ছাড়া, ডিফল্ট কনফিগারেশন একটি বিটলকার ব্যবহার করে; এই কনফিগারেশনে, কোনো ব্যবহারকারীর হস্তক্ষেপ ছাড়াই অপারেটিং-সিস্টেম স্টার্টআপ-সিকোয়েন্সের সময় টিপিএম থেকে ডিস্ক এনক্রিপশন কী স্বচ্ছভাবে পুনরুদ্ধার করা যায়। ফলস্বরূপ, এই কনফিগারেশনের একটি মেশিনে কোল্ড বুট অ্যাটাক তখনও কার্যকরভাবে সম্পন্ন করা যেতে পারে, এমনকি যেখানে এটা বন্ধ অবস্থায়ও থাকে এবং আপাতদৃষ্টিতে কেবলমাত্র টিপিএম কী-সহ নিরাপদে সুরক্ষিত মনে হয়, যেহেতু- মেশিনটি কেবল আক্রমণ শুরু করার আগে চালু করা হতে পারে।

দ্বি-স্তর প্রমাণীকরণ, যেমন- টিপিএম সহকারে একটি স্টার্টআপ কী সংবলিত একটি প্রি-বুট পিন বা একটি অপসারণযোগ্য ইউএসবি ডিভাইস হিসেবে, ডিফল্ট বিটলকার বাস্তবায়নে এই দুর্বলতা এড়াতে ব্যবহার করা যেতে পারে।[১৮][১৯] এই পদ্ধতিতে, মেশিনটিকে চালু বা ঘুমন্ত অবস্থা(পাওয়ার অফ অবস্থা) থেকে জাগ্রত করতে একটি পিন বা স্টার্টআপ-কী’র প্রয়োজন পড়ে। ফলে একবার কম্পিউটারটি যদি কয়েক মিনিটের জন্য বন্ধ করা হয়ে থাকে, তবে র‍্যাম-এর মধ্যকার তথ্য পেতে একটি গোপন চাবি ছাড়া প্রবেশ করা যাবেনা; এই আক্রমণ শুধুমাত্র তখন সম্পন্ন করা যেতে পারে, যখন ডিভাইসটিকে চালু অবস্থায় পাওয়া যায়। স্লিপ মোড-এ(একটি কম পাওয়ার মোড) থাকার সময় কোন অতিরিক্ত সুরক্ষা দেওয়া হয়না, যেহেতু চাবিগুলো সাধারণত পূর্ণ ডিস্ক এনক্রিপশন অংশের সঙ্গে মেমরিতে অবস্থান করে এবং মেশিন যখন আবার চালু হয়, তখন পুনরায় প্রবেশ করা প্রয়োজন পড়েনা।

শক্তি ব্যবস্থাপনা[সম্পাদনা]

একটি কম্পিউটার শাট ডাউন বা পাওয়ার অফ হচ্ছে এনক্রিপ্ট করা উপাত্ত থেকে সুপরিচিত এনক্রিপশন সফটওয়্যার প্যাকেজ সরিয়ে রাখা এবং মেমরি থেকে এনক্রিপশন কী-সমূহ মুছে ফেলা। যখন একটি মেশিনের শাট ডাউন বা পাওয়ার চলে যায় এবং এনক্রিপশন সমাপ্ত হয়না (যেমন- পাওয়ার আকস্মিক বন্ধ হওয়া), বরং মেশিনের মধ্যস্থিত প্রকৃত র্যা ম ডিভাইসের উপর নির্ভর করে সেকেন্ডের দশভাগ থেকে কয়েক মিনিট পর্যন্ত উপাত্তসমূহ পাঠযোগ্য থাকতে পারে। এটা সুনিশ্চিত করে যে কম্পিউটারটি শাট ডাউন অবস্থায় আছে, যখনই এটা চুরি হতে পারত এই ঝুঁকি প্রশমিত করে।[২][২০]

হাইবারনেশন বৈশিষ্ট্য (এসিপিআই স্ট্যাট এস৪) ব্যবহার করে সিস্টেমের জন্য, এনক্রিপশন সিস্টেমকে হাইবারনেশনে নিয়ে যেতে, হয় সকল এনক্রিপ্ট ডিস্ক সরিয়ে নিতে হবে, অথবা হাইবারনেশন ফাইল বা পার্টিশনকে ডিস্ক এনক্রিপশন ব্যবস্থার অংশ হিসেবে এনক্রিপ্ট করার দরকার হবে।

বিপরীতে স্লিপ মোড অবস্থা (এসিপিআই স্ট্যাট এস১, এস২ এবং এস৩) করে রাখা সাধারণত অনিরাপদ, যেহেতু এনক্রিপশন কী-সমূহ কম্পিউটারের মেমরিতে ঝুঁকিপূর্ণ থাকবে, কম্পিউটার সচল হওয়ার পর বা মেমরির বিষয়বস্তুকে পড়ার পর এনক্রিপ্ট করা উপাত্তসমূহকে পড়তে সক্ষম হবে। স্লিপ মোড ব্যবহার করার পরিবর্তে, অব্যবহৃত অবস্থায় একটি অপারেটিং সিস্টেমকে কনফিগার করে শাট ডাউন বা হাইবারনেট করে রাখা, এই ঝুঁকি প্রশমিত করতে সাহায্য করতে পারে।

টিসিজি-অনুবর্তী সিস্টেম[সম্পাদনা]

অন্য আরেকটি প্রশমন পদ্ধতি হচ্ছে হার্ডওয়্যার এবং অপারেটিং সিস্টেমকে ব্যবহার করা যা "টিসিজি প্ল্যাটফর্ম রিসেট আক্রমণ প্রশমন নির্দিষ্টকরণ"-এ[২১] উভয়ের সাথে সামঞ্জস্যতা সৃষ্টি করে, যা এই নির্দিষ্ট আক্রমণের একটি উদ্যমশীল প্রতিক্রিয়া। এই স্পেসিফিকেশনটি পোষ্টের (পাওার-অন-সেলফ-টেস্ট) সময় মেমরিকে ওভাররাইট করতে বায়স-কে চাপ প্রয়োগ করে, যদিনা অপারেটিং সিস্টেম পরিষ্কারভাবে শাট ডাউন করা হয়ে থাকে।

যাইহোক, এই পদক্ষেপটি সিস্টেম থেকে মেমরি মডিউল অপসারণ করার পরও ব্যবহারকারীকে ফাঁদে ফেলে রাখতে পারে এবং এটা আক্রমণকারীর নিয়ন্ত্রণাধীন অন্য সিস্টেমে যেটাটে এই ব্যবস্থা সমর্থন করে না, সেখান থেকেও পড়া যায় (যেরূপ মূল কাগজে থাকে)।

বুটিং[সম্পাদনা]

যদিও বায়োস-এ বুট ডিভাইস অপশন সীমিত করে রাখে, তবে এটা অন্য কোন অপারেটিং সিস্টেমকে বুট করার জন্য খুব সামান্যতম সহজ হতে পারে,[১৯] অনেক বায়োস আছে যেগুলো বুট করার সময় একটি নির্দিষ্ট কী-তে চাপ প্রয়োগ করে বুট ডিভাইসের জন্য ব্যবহারকারীকে অনুরোধ জানায়। বুট ডিভাইস অপশনকে সীমিত করে সিস্টেম থেকে ‘মেমরি মডিউল’ সরিয়ে নিয়ে এবং একটি বিকল্প সিস্টেম থেকে পাঠযোগ্য করতে প্রতিরোধ করতে পারেনা। উপরন্তু, মেইন-বোর্ডে বাহ্যিকভাবে প্রবেশযোগ্য হলে অধিকাংশ চিপসেট বায়োস সেটিংস রিসেট করতে হয়, অন্যথায় ‘ডিফল্ট বুট সেটিংস-কে’ পুনরুদ্ধার করার অনুমতি দেয় এমনকি তারা যদি একটি পাসওয়ার্ড দিয়ে ও সংরক্ষিত থাকে।

রেজিস্টার-ভিত্তিক কী স্টোরেজ[সম্পাদনা]

লিনাক্সের জন্য কার্নেল প্যাচ যেমন ট্রেসর[২২] এবং লুপ-এম্নেসিয়া[২৩] একটি অপারেটিং সিস্টেমের কার্নেল সংশোধন করে যাতে সিপিইউ রেজিস্টার (ট্রেসর-এর ক্ষেত্রে এক্স৮৬ এবং লুপ-এম্নেসিয়া ডিবাগ রেজিস্টার এর ক্ষেত্রে AMD64 বা EMT64 প্রোফাইলিং রেজিস্টার), র‍্যামের বদলে এনক্রিপশন-কী ব্যবহার করতে পারে। এই পর্যায়ে সংরক্ষিত কী-সমূহ সহজে ইউজার-স্পেস থেকে পড়া যাবে না[তথ্যসূত্র প্রয়োজন] এবং কম্পিউটার যদি কোন কারণে পুনরায় চালু করা হয় তবে হারিয়ে যায়। ট্রেসর এবং লুপ-এম্নেসিয়া উভয়টিকে সরাসরি এই পদ্ধতিতে ক্রিপ্টোগ্রাফিক টোকেন জমা করার জন্য স্থান-স্বল্পতার কারণে ‘রাউন্ড কী জেনারেশন’ করে ব্যবহার করা আবশ্যক। নিরাপত্তার জন্য, উভয়েই বিঘ্নিত হওয়াকে নিষ্ক্রিয় করে রাখে যাতে এনক্রিপশন বা ডিক্রিপশন করার সময় সিপিইউ রেজিস্টার থেকে মেমরিতে কী-ইনফরমেশন চুরি হওয়া প্রতিরোধ করতে পারে, এবং উভয়টি ডিবাগ অথবা প্রোফাইল রেজিস্টারে প্রবেশে বাধা দেয়।

২০১০ এর একটি থিসিস পেপারে চিহ্নিত করা হয়, আধুনিক x86 প্রসেসরের মধ্যে দুটি রেজিস্টার এলাকা যা সম্ভাব্য কী-স্টোরেজের জন্য ব্যবহার করা যেতে পারে: এসএসই রেজিস্টার যা কার্যত থাকতে পারে, তা সমস্ত এসএসই নির্দেশাবলী (এবং আবশ্যকভাবে, প্রোগ্রাম যা এর উপর নির্ভরশীল) নিষ্ক্রিয় করে দিতে পারে, এবং ডিবাগ রেজিস্টার যা অনেক ছোট কিন্তু এই ধরনের কোনো সমস্যা নেই। লেখক অন্যদের পরীক্ষা করার জন্য একটি কাজ রেখে দেন, এবং এসএসই রেজিস্টার পদ্ধতির উপর ভিত্তি করে প্যারানয়েক্স নামক ধারণা-বিতরণ-প্রমাণ উন্নত করেন।[২৪]

ডেভেলপাররা দাবী করেন যে ‘৬৪-বিট সিপিইউ- র একটি চলমান ট্রেসর যা এইএস-এনআই সমর্থন করে, এইএস জেনেরিক ইমপ্লিমেন্টেশনের তুলনায় কোন পারফরম্যান্স পেনাল্টি ও নেই,[২৫] এবং কী গণনার প্রয়োজন হওয়া সত্ত্বেও আদর্শ এনক্রিপশনের চেয়ে সামান্য দ্রুত চলে।[২২] লুপ-এম্নেসিয়া ট্রেসরের তুলনায় প্রাথমিক সুবিধা হচ্ছে এটি একাধিক এনক্রিপ্ট ড্রাইভের ব্যবহার সমর্থন করে; প্রাথমিক অসুবিধে হচ্ছে ৩২-বিট x86-এ সমর্থন না করা এবং সিপিইউ’র খারাপ পারফরম্যান্স এইএস-এনআই সমর্থন করে না।

ক্যাশ-ভিত্তিক কী স্টোরেজ[সম্পাদনা]

কোল্ড বুট আক্রমণ নিরসনে একটি পদক্ষেপ হচ্ছে "হিমায়িত ক্যাশে" (কখনও কখনও "র্যামের মতো ক্যাশে" নামে পরিচিত),[২৬] যা CPU- এর L1 ক্যাশে-কে নিষ্ক্রিয় করে দেয় এবং চাবি সংরক্ষণ করে রাখতে এটি ব্যবহার করে। এই পদ্ধতিতে CPU ক্যাশে-কে অক্ষম করে রাখা- দক্ষতার জন্য খুবই সর্বনাশা, যা প্রাথমিক পরীক্ষায় এমন একটি সিস্টেমকে ইঙ্গিত করে- যেটি এতো ধীর যে বেশিরভাগ কার্যসম্পাদনের জন্য ব্যবহার্য নয়। মাল্টিকোর সিপিইউ এই সমস্যা প্রশমিত করতে পারে, যেহেতু শুধুমাত্র একটি কোর ক্যাশে-কে অক্ষম করতে প্রয়োজন হবে, তবে এই পদ্ধতির পরীক্ষায় দেখা যায় এটাকে স্থগিত করে রাখা হয়েছে। চপকার[২৭] এনডিএসএস-২০১৪ তে পাবলিক-কী ক্রিপ্টোগ্রাফিক কম্পিউটেশনের জন্য কোল্ড-বুট আক্রমণের বিরুদ্ধে আরেকটি ক্যাশে-ভিত্তিক সমাধান উপস্থাপন করেন। আরএসএ-র মতো পাবলিক-কী ক্রিপ্টোগ্রাফিক অ্যালগোরিদম এর, এইএস এর মতো সিমেট্রিক এনক্রিপশন অ্যালগোরিদমের তুলনায় মেমরিতে অনেক বেশি জায়গার প্রয়োজন হয়। ক্যাশের মধ্যে উপাত্ত সঞ্চয়ে চপকার, ডব্লিউবি (রাইট-ব্যাক) ক্যাশে স্থাপন করেন। ডব্লিউবি ক্যাশে মোড হচ্ছে সবচেয়ে সাধারণ মোড; অর্থাৎ সংশোধিত উপাত্তগুলো যতক্ষণ পরোক্ষ বা প্রত্যক্ষ রাইট-ব্যাক অপারেশন করা হয়না, ততক্ষণ পর্যন্ত র্যাম ক্যাশে থেকে সিঙ্ক্রোনাইজ করা হয়না। ডব্লিউবি ক্যাশে মোডের অধীনে আরএসএ কম্পিউটেশন, প্রাইভেট-কী’র সঙ্গে মেমরিতে পরিচালিত হয়; অতঃপর, সংবেদনশীল প্রাইভেট-কীসমূহ ক্যাশে রক্ষিত হয়। তারপর, চপকার সংবেদনশীল প্রাইভেট-কীসমূহকে র্যামের মধ্যে সিঙ্ক্রোনাইজ হওয়া থেকে প্রতিরোধ করে নিম্নলিখিত পদ্ধতিটি সমাপ্ত করেন। (১)সমষ্টিগত ভেরিয়েবল-গুলোকে বর্জন করে, এবং শুধুমাত্র স্ট্যাটিক ভেরিয়েবল-গুলো কম্পিউটেশনে ব্যবহৃত হয়; স্ট্যাক প্রি-অ্যালোকেটেড ডাটা ভেরিয়েবল-গুলো চালু করে। তাই, ক্যাশের মধ্যে সংরক্ষিত অ্যাড্রেস অংশে সকল ব্যবহৃত ডাটা ভেরিয়েবল সংরক্ষণ করা হয়, - এই তথ্যগুলোতে কোন ক্যাশে দ্বন্দ্ব হয় না। (২) কার্য-পরিকল্পনা এবং কার্নেল সংশোধন নিষ্ক্রিয় করা থাকে। ফলে, আরএসএ কম্পিউটেশন স্থগিত অবস্থায় থাকে না; অন্যথায়, স্থগিত কাজগুলোর অবস্থা র্যামে আনা হতে পারে। (৩) অন্যান্য সকল কোর-গুলোকে নো-ফিল ক্যাশে মোডে প্রবেশ করার জন্য বাধ্য করা হয়। এই পদ্ধতিতে অপ্রাপ্ত-পাঠ্য ক্যাশে কোন প্রতিস্থাপন সৃষ্টি করে না (উপাত্তসমূহ অন্য কোর থেকে পড়া হয়ে থাকে যা উপাত্তের নবীনতম কপি হতে পেয়ে থাকে, অথবা র‍্যামের থেকে সরাসরি পড়ে), এবং অপ্রাপ্ত-লেখা সরাসরি র‍্যামে প্রবেশ করে। অতঃপর, চপকার কোরসহ কোর-ভাগকারী ক্যাশে যা আরএসএ কম্পিউটেশন নির্বাহ করে, সেগুলোকে নো-ফিল মোডে প্রবেশ করতে বাধ্য করা হয়, যাতে তারা চপকার ক্যাশে-গুলি উচ্ছেদ করতে না পারে।

মিমোসা[২৮] আইইইই এস এন্ড পি ২০১৫-তে কোল্ড-বুট আক্রমণ এবং ডিএমএ আক্রমণের বিরুদ্ধে পাবলিক-কী ক্রিপ্টোগ্রাফিক কম্পিউটেশনের জন্য আরো একটি বাস্তবসম্মত সমাধান উপস্থাপন করেন। এটা হার্ডওয়্যার ট্রান্সেকশনাল মেমরিকে (HTM) স্থাপন করে, যেটাকে মূলত বহু-যোগসূত্র অ্যাপ্লিকেশনের কর্মক্ষমতা বাড়ানোর জন্য একটি অনির্দিষ্টতামূলক মেমরি অ্যাক্সেস প্রক্রিয়া হিসেবে প্রস্তাব করা হয়েছিল। HTM দ্বারা শক্তিশালী ক্ষুদ্রাতিক্ষুদ্র নিশ্চয়তা প্রদান করা হয়, যা মেমরি অংশে যেখানে সংবেদনশীল তথ্য রয়েছে, সেখানে অবৈধ অনুপ্রবেশ ঠেকাতে ব্যবহার করা হয়।

মেমরিতে একটি এইএস (AES) কী দ্বারা এনক্রিপ্ট করা থাকে যেটি ট্রেসর (TRESOR) দ্বারা সুরক্ষিত থাকে। অনুরোধের ভিত্তিতে, একটি আরএসএ প্রাইভেট-কী কম্পিউটেশন একটি HTM ট্রান্সেকশনের সাথে পরিচালিত হয়: প্রাইভেট-কী মেমরিতে প্রথমে ডিক্রিপ্ট করা হয়, এবং তারপর আরএসএ ডিক্রিপশন বা স্বাক্ষর পরিচালিত করে। কারণ, একটি প্লেইন-টেক্সট আরএসএ প্রাইভেট-কী শুধুমাত্র একটি HTM লেনদেনে পরিবর্তিত তথ্য হিসেবে প্রদর্শিত হতে দেখা যায়, যেকোন পাঠ্য-অপারেশন লেনদেন বাতিল করে দেবে - লেনদেন রোল-ব্যাক করে তার প্রাথমিক অবস্থায় ফিরে আসবে। উল্লেখ্য যে, আরএসএ প্রাইভেট-কী প্রাথমিক অবস্থায় এনক্রিপ্ট করা থাকে, এবং এটি একটি লেখ্য-অপারেশনের (অথবা এইএস ডিক্রিপশন) ফলাফল। বর্তমানে ক্যাশে বা স্টোর-বাফারের মধ্যে HTM বাস্তবায়িত হয়, যা উভয়ই সিপিইউ-এর মধ্যে অবস্থিত, র্যাম চিপের বাইরে নয়। ফলে কোল্ড-বুট আক্রমণ আটকানো হয়ে থাকে। মিমোসা মেমরি থেকে সংবেদনশীল তথ্য পড়ার প্রচেষ্টাকে পরাভূত করে (কোল্ড-বুট আক্রমণ, ডিএমএ আক্রমণ, এবং অন্যান্য সফটওয়্যার আক্রমণসহ অন্তর্ভুক্ত), এবং এটা শুধুমাত্র একটি ছোট্ট কর্মক্ষমতা প্রবর্তন করে।

বাহ্যিক প্রতিরোধ[সম্পাদনা]

মেমোরি মডিউল যদি মাদারবোর্ডে ঝালাই করে বা সকেটের মধ্যে আটকে দেয়া হয়, তাহলে এটা থেকে খুব সহজেই মুছে ফেলা এবং কোনো আক্রমণকারীর নিয়ন্ত্রণাধীন অন্য একটি মেশিনে ঢোকানো যাবে না।[২৯] অনেক নতুন মোবাইল ডিভাইস/ল্যাপটপে একটি উইন্ডোজ ৮ সার্টিফাইড লোগোসহ মাদারবোর্ডে মেমরি ঝালাই করা অবস্থায় থাকে যা কোল্ড বুট আক্রমণ প্রতিরোধ করার জন্য ব্যবহার করা হয়।[৩০]

তথ্যসূত্র[সম্পাদনা]

  1. MacIver 2006
  2. Halderman এবং অন্যান্য 2008
  3. Skorobogatov 2002
  4. Memory Research Project Source Code
  5. "Passware Software Cracks BitLocker Encryption Open" (সংবাদ বিজ্ঞপ্তি)। PR Newswire। ২০০৯-১২-০১। 
  6. KB2516445, Microsoft, 2011
  7. Carbone, Bean এবং Salois 2011
  8. B. Huang "Keeping Secrets in Hardware: The Microsoft Xbox Case Study", "CHES 2002 Lecture Notes in Notes in Computer Science Volume 2523", 2003
  9. Igor Skochinsky (২০১৪-০৩-১২)। "Secret of Intel Management Engine"SlideShare। পৃষ্ঠা 26–29। সংগ্রহের তারিখ ২০১৪-০৭-১৩ 
  10. "2nd Generation Intel Core Processor Family Desktop, Intel Pentium Processor Family Desktop, and Intel Celeron Processor Family Desktop" (PDF)। জুন ২০১৩। পৃষ্ঠা 23। সংগ্রহের তারিখ ২০১৫-১১-০৩ 
  11. "2nd Generation Intel Core Processor Family Mobile and Intel Celeron Processor Family Mobile" (PDF)। সেপ্টেম্বর ২০১২। পৃষ্ঠা 24। সংগ্রহের তারিখ ২০১৫-১১-০৩ 
  12. Y. Hu, G. Hammouri, and B. Sunar "A fast real-time memory authentication protocol", "STC '08 Proceedings of the 3rd ACM workshop on Scalable trusted computing", 2008
  13. G. Duc and R. Keryell, "CryptoPage: an efficient secure architecture with memory encryption, integrity and information leakage protection", Dec. 2006
  14. X. Chen, R. P. Dick, and A. Choudhary "Operating system controlled processor-memory bus encryption" ওয়েব্যাক মেশিনে আর্কাইভকৃত ৬ নভেম্বর ২০১৮ তারিখে, "Proceedings of the conference on Design, automation and test in Europe", 2008
  15. M. Henson and S. Taylor "Beyond full disk encryption:protection on security-enhanced commodity processors" ওয়েব্যাক মেশিনে আর্কাইভকৃত ৩ ফেব্রুয়ারি ২০১৯ তারিখে, "Proceedings of the 11th international conference on applied cryptography and network security", 2013
  16. M. Henson and S. Taylor "Memory encryption: a survey of existing techniques" ওয়েব্যাক মেশিনে আর্কাইভকৃত ৩ ফেব্রুয়ারি ২০১৯ তারিখে, "ACM Computing Surveys volume 46 issue 4", 2014
  17. Dean 2009
  18. Bitlocker Technical Overview, 2008
  19. MacIver 2008
  20. Wired, 2008
  21. "TCG Platform Reset Attack Mitigation Specification"Trusted Computing Group। ২০০৮-০৫-২৮। সংগ্রহের তারিখ ২০০৯-০৬-১০ 
  22. "TRESOR USENIX paper, 2011" (পিডিএফ)। ১৩ জানুয়ারি ২০১২ তারিখে মূল (পিডিএফ) থেকে আর্কাইভ করা। সংগ্রহের তারিখ ২৫ মার্চ ২০১৭ 
  23. Loop-Amnesia ACSAC 2011 paper and code
  24. Müller 2010
  25. TRESOR home page
  26. Tews 2010
  27. Le Guan, Jingqiang Lin, Bo Luo, and Jiwu Jing. "Copker: Computing with Private Keys without RAM" ওয়েব্যাক মেশিনে আর্কাইভকৃত ৩ আগস্ট ২০১৬ তারিখে, 21st ISOC Network and Distributed System Security Symposium (NDSS), 2014
  28. Le Guan, Jingqiang Lin, Bo Luo, Jiwu Jing, and Jing Wang. "Protecting Private Keys against Memory Disclosure Attacks using Hardware Transactional Memory", 36th IEEE Symposium on Security and Privacy, 2015
  29. Halderman এবং অন্যান্য 2008, পৃ. 14।
  30. "BitLocker Countermeasures"Many new mobile devices have the system memory soldered to the motherboard, which helps prevent the cold boot–style attack, where the system memory is frozen, removed, and then placed into another device. 

উৎস[সম্পাদনা]

বহিঃসংযোগ[সম্পাদনা]