শাফলকেক, লুকানো ভলিউম তৈরি করার জন্য একটি টুল

shufflecake

শাফলকেক হল লিনাক্সের একটি টুল যা স্টোরেজ ডিভাইসে এমনভাবে একাধিক লুকানো ভলিউম তৈরি করতে দেয় যাতে ফরেনসিক পরিদর্শনের অধীনেও এই ধরনের ভলিউমের অস্তিত্ব প্রমাণ করা খুবই কঠিন।

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

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

ব্যবহারকারীর ইচ্ছানুযায়ী তৈরি করা লুকানো পার্টিশনগুলো যেকোনো ফাইল সিস্টেম, যেমন ext4, xfs বা btrfs অনুসারে ফরম্যাট করা যেতে পারে । প্রতিটি পার্টিশনকে তার নিজস্ব আনলক কী সহ একটি স্বাধীন ভার্চুয়াল ব্লক ডিভাইস হিসেবে গণ্য করা হয়।

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

শাফেলকেক এবং কার্নেল মডিউলটি শুধুমাত্র ডেবিয়ান এবং উবুন্টুতে কার্নেল 5.13 এবং 5.15 সহ পরীক্ষা করা হয়েছে (উবুন্টু 22.04 সমর্থিত)। উল্লেখ্য যে, এই প্রকল্পটি এখনও একটি কার্যকরী প্রোটোটাইপ হিসাবে বিবেচিত হওয়া উচিত এবং সংবেদনশীল তথ্য সংরক্ষণের জন্য এটি ব্যবহার করা উচিত নয়।

ভবিষ্যতে, আমরা কর্মক্ষমতা, নির্ভরযোগ্যতা এবং নিরাপত্তার জন্য অতিরিক্ত অপ্টিমাইজেশন করার পরিকল্পনা করছি, সেইসাথে শাফলকেক পার্টিশন থেকে বুট করার ক্ষমতা প্রদান করব।

শাফলকেক সম্পর্কে

স্টোরেজ ডিভাইসে এলোমেলো অবস্থানে রাখা এনক্রিপ্টেড সেগমেন্টের একটি সেট হিসাবে প্রতিটি পার্টিশন তৈরি করার মাধ্যমে গোপনীয়তা অর্জন করা হয়। যখন পার্টিশনটির অতিরিক্ত স্টোরেজ স্পেসের প্রয়োজন হয়, তখন প্রতিটি সেগমেন্ট ডায়নামিকভাবে তৈরি করা হয়। বিশ্লেষণকে আরও জটিল করার জন্য, বিভিন্ন সেকশনের স্লাইসগুলোকে একটির সাথে আরেকটি মিশিয়ে দেওয়া হয়।

শাফলকেক বিভাগগুলি সংলগ্ন অঞ্চলগুলির সাথে সংযুক্ত নয় এবং সমস্ত বিভাগের অংশগুলি একসাথে মিশ্রিত হয়। ব্যবহৃত এবং বিনামূল্যের অংশ সম্পর্কে তথ্য প্রতিটি বিভাগে সংযুক্ত অবস্থান মানচিত্রে সংরক্ষণ করা হয়, যা এনক্রিপ্ট করা হেডার দ্বারা উল্লেখ করা হয়। কার্ড এবং শিরোনাম এনক্রিপ্ট করা হয় এবং, পাসকি না জেনে, এলোমেলো ডেটা থেকে আলাদা করা যায় না।

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

ডিফল্টরূপে, সমস্ত নেস্টেড শাফেলকেক পার্টিশনের দৃশ্যমান আকার টপ-লেভেল পার্টিশনের সমান হয় । উদাহরণস্বরূপ, যদি একটি ১ জিবি ডিভাইসে তিনটি পার্টিশন ব্যবহার করা হয়, তবে সিস্টেমের কাছে প্রতিটিই একটি ১ জিবি পার্টিশন হিসাবে দৃশ্যমান হবে এবং মোট উপলব্ধ ডিস্ক স্পেস সমস্ত পার্টিশনের মধ্যে ভাগ হয়ে যাবে। যদি সংরক্ষিত মোট ডেটার পরিমাণ ডিভাইসের প্রকৃত আকারকে ছাড়িয়ে যায়, তাহলে I/O ত্রুটি ঘটতে শুরু করবে।

না খোলা নেস্টেড সেকশনগুলো স্পেস অ্যালোকেশনে অংশ নেয় না; অর্থাৎ, উপরের স্তরের কোনো সেকশন পূরণ করার চেষ্টা করলে তা নেস্টেড সেকশনগুলোর ডেটা ওভাররাইট করে দেবে, কিন্তু এরর তৈরি হওয়ার আগে সেকশনটিতে যে পরিমাণ ডেটা রাখা যায় তার আকার বিশ্লেষণ করে তাদের উপস্থিতি প্রকাশ করবে না (এটা ধরে নেওয়া হয় যে উপরের স্তরের সেকশনগুলোতে অপরিবর্তনীয় ডেটা রয়েছে)। ডেটা দৈবক্রমে ব্যবহৃত হয় না এবং কখনোই আলাদাভাবে ব্যবহৃত হয় না, এবং নিয়মিত কাজ সর্বদা সবচেয়ে সাম্প্রতিক নেস্টেড সেকশনটি দিয়েই সম্পন্ন করা হয়; স্কিমাটি নিজেই ইঙ্গিত দেয় যে মূল বিষয় হলো ডেটার অস্তিত্ব গোপন রাখা, এমনকি ডেটা হারানোর ঝুঁকি নিয়েও।

শাফেলকেক ইমপ্লিমেন্টেশন তুলনামূলকভাবে উচ্চ পারফরম্যান্স প্রদান করে, কিন্তু অতিরিক্ত খরচের কারণে, এটি LUKS সাবসিস্টেম-ভিত্তিক ডিস্ক এনক্রিপশনের তুলনায় প্রায় অর্ধেক পারফর্ম করে। শাফেলকেক ব্যবহার করলে সার্ভিস ডেটা সংরক্ষণের জন্য অতিরিক্ত র‍্যাম এবং ডিস্ক স্পেসের খরচও হয়। প্রতি পার্টিশনে আনুমানিক ৬০ মেগাবাইট মেমরি খরচ হয় এবং মোট পার্টিশন আকারের ১% ডিস্ক স্পেস ব্যবহৃত হয় বলে অনুমান করা হয়। তুলনামূলকভাবে, একই ধরনের কাজের জন্য ব্যবহৃত WORAM কৌশলটি ৫ থেকে ২০০ গুণ পর্যন্ত গতি কমিয়ে দেয় এবং ৭৫% ব্যবহারযোগ্য ডিস্ক স্পেস নষ্ট করে।

ইউটিলিটি (শাফলকেক-ইউজারল্যান্ড) এবং লিনাক্স কার্নেল মডিউল (dm-sflc) এর কোডটি C তে লেখা এবং GPLv3 লাইসেন্সের অধীনে প্রকাশ করা হয়েছে, যা প্রধান লিনাক্স কার্নেলে প্রকাশিত কার্নেল মডিউল অন্তর্ভুক্ত করা অসম্ভব করে তোলে। অসামঞ্জস্যতার কারণে GPLv2 লাইসেন্সের অধীনে যার অধীনে কার্নেল পাঠানো হয়।

আপনি যদি আরও জানতে আগ্রহী হন, তাহলে নিচের লিঙ্কে বিস্তারিত তথ্য পেতে পারেন ।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন