লেখক:
(1) জেন ওয়েইসম্যান, ওরচেস্টার পলিটেকনিক ইনস্টিটিউট ওরচেস্টার, এমএ, ইউএসএ {[email protected]};
(2) টমাস আইজেনবার্থ, লুবেক ইউনিভার্সিটি লুবেক, এসএইচ, জার্মানি {[email protected]};
(3) থোর টিম্যান, লুবেক ইউনিভার্সিটি লুবেক, এসএইচ, জার্মানি {[email protected]};
(4) Berk Sunar, Worcester Polytechnic Institute Worcester, MA, USA {[email protected]}।
চিত্র 2 ফায়ারক্র্যাকার দ্বারা প্রদত্ত কন্টেনমেন্ট দেখায়, যেমন AWS দ্বারা উপস্থাপিত হয়েছে। এই বিভাগে, আমরা প্রতিটি চিত্রিত উপাদান এবং মাইক্রোআর্কিটেকচারাল আক্রমণের বিরুদ্ধে তাদের প্রতিরক্ষা এবং দুর্বলতা বিশ্লেষণ করি
কেভিএম লিনাক্স কার্নেল-ভিত্তিক ভার্চুয়াল মেশিন (KVM) হল আধুনিক লিনাক্স কার্নেলে প্রয়োগ করা হাইপারভাইজার এবং সেইজন্য লিনাক্স কোড বেসের অংশ। এটি অন্তর্নিহিত হার্ডওয়্যারের সুপারভাইজার এবং ব্যবহারকারী মোডগুলিকে ভার্চুয়ালাইজ করে, VM-এর মধ্যে প্রসঙ্গ সুইচগুলি পরিচালনা করে এবং বেশিরভাগ VM-প্রস্থান কারণগুলি পরিচালনা করে যদি না সেগুলি I/O অপারেশনগুলির সাথে সম্পর্কিত হয়। এই আর্কিটেকচারাল আইসোলেশন মেকানিজমগুলি ছাড়াও, KVM হোস্ট ওএস বা হাইপারভাইজারকে ক্ষতিকারক অতিথিদের থেকে রক্ষা করার জন্য একটি VM-এক্সিট-এ স্পেকটার আক্রমণের বিরুদ্ধে প্রশমন প্রয়োগ করে। ফায়ারক্র্যাকার এর হাইপারভাইজার হিসাবে KVM এর উপর খুব বেশি নির্ভর করে। যাইহোক, যেহেতু KVM লিনাক্স সোর্স কোডের অংশ এবং লিনাক্স সম্প্রদায় দ্বারা বিকশিত, তাই আমরা KVM কে Firecracker-এর অংশ না হওয়ার জন্য সংজ্ঞায়িত করি। অতএব, কেভিএম-এ প্রয়োগ করা মাইক্রোআর্কিটেকচারাল আক্রমণের বিরুদ্ধে প্রতিরোধ ব্যবস্থাগুলি ফায়ারক্র্যাকারের কন্টেনমেন্ট সিস্টেমকে দায়ী করা যায় না।
মেটাডেটা, ডিভাইস, এবং I/O পরিষেবা। মেটাডেটা, ডিভাইস, এবং I/O পরিষেবাগুলি হল Firecracker VMM এবং API-এর অংশ যা VM-এর সাথে সরাসরি যোগাযোগ করে, মেট্রিক্স সংগ্রহ ও পরিচালনা করে এবং সংযোগ প্রদান করে। AWS এই ইন্টারফেসের সরলতা (একটি হ্রাস করা আক্রমণের পৃষ্ঠের জন্য) এবং যে সেগুলিকে স্ক্র্যাচ থেকে ফায়ারক্র্যাকার ইন রাস্টের জন্য লেখা হয়েছে, এটি একটি প্রোগ্রামিং ভাষা যা এর সুরক্ষা বৈশিষ্ট্যগুলির জন্য পরিচিত [9]। যাইহোক, মরিচা সবচেয়ে উল্লেখযোগ্যভাবে অবৈধ এবং সীমার বাইরে মেমরি অ্যাক্সেসের বিরুদ্ধে ইন-প্রসেস সুরক্ষা প্রদান করে, তবে ক্যাশে আক্রমণ, স্পেকটার এবং এমডিএসের মতো মাইক্রোআর্কিটেকচারাল আক্রমণগুলি শিকারের প্রক্রিয়াটিকে সরাসরি হাইজ্যাক করার পরিবর্তে প্রক্রিয়াগুলির মধ্যে তথ্য ফাঁস করতে পারে।
Firecracker এবং অন্যান্য অনেক VMM-এর মধ্যে আরেকটি উল্লেখযোগ্য পার্থক্য হল যে এই সমস্ত পরিষেবাগুলি VM-এর মতো একই হোস্ট প্রক্রিয়ার মধ্যে চালানো হয়, যদিও অন্য থ্রেডে। যদিও VM-এর মধ্যে মেমরি অ্যাড্রেসের ভার্চুয়ালাইজেশন গেস্টের কোড এবং I/O পরিষেবাগুলির মধ্যে কিছু অস্পষ্টতা প্রদান করে, কিছু Specter আক্রমণ বিশেষভাবে একটি একক প্রক্রিয়ার মধ্যে কাজ করে। ইন্ট্রাপ্রসেস আক্রমণ বাস্তব বিশ্বের সিস্টেমের জন্য কম হুমকির কারণ হতে পারে, যদিও, একই হার্ডওয়্যারে চলা দুই অতিথির প্রত্যেকের কাছে এই প্রয়োজনীয় পরিষেবাগুলির নিজস্ব অনুলিপি রয়েছে।
জেলর বাধা। এপিআই বা ভিএমএম আপস করা হলে, জেলার ফায়ারক্র্যাকার উদাহরণের চারপাশে প্রতিরক্ষার একটি শেষ বাধা প্রদান করে। এটি যথাক্রমে নেমস্পেস এবং কন্ট্রোল গ্রুপ (cgroups) সহ হোস্ট সিস্টেমের ফাইল এবং সংস্থানগুলিকে সুরক্ষিত করে [7]। মাইক্রোআর্কিটেকচারাল আক্রমণগুলি ফাইলগুলিকে সরাসরি হুমকি দেয় না, যা সংজ্ঞা অনুসারে মাইক্রোআর্কিটেকচারাল অবস্থার বাইরে। Cgroups একটি সিস্টেম অ্যাডমিনিস্ট্রেটরকে গ্রুপগুলিতে প্রসেস বরাদ্দ করার অনুমতি দেয় এবং তারপর প্রতি-গ্রুপ ভিত্তিতে সিস্টেম রিসোর্স ব্যবহার বরাদ্দ, সীমাবদ্ধ এবং নিরীক্ষণ করতে দেয় [17]। এটা প্রশংসনীয় যে cgroups এর সাথে প্রয়োগ করা সীমাবদ্ধতা আক্রমণকারীর নির্দিষ্ট মাইক্রোআর্কিটেকচারাল আক্রমণ করার ক্ষমতাকে বাধাগ্রস্ত করতে পারে। উদাহরণস্বরূপ, মেমরির সীমাবদ্ধতাগুলি উচ্ছেদ-ভিত্তিক ক্যাশে আক্রমণগুলি পরিচালনা করা কঠিন করে তুলতে পারে, বা CPU সময় সীমাবদ্ধতা আক্রমণকারীকে হাইপারডিগ্রেড [2] এর মতো একটি CPU অস্বীকার-অফ-সার্ভিস টুলের কার্যকর ব্যবহার থেকে বাধা দিতে পারে যা একজন শিকারকে ধীর করে দিতে পারে। প্রক্রিয়া, একটি মাইক্রোআর্কিটেকচারাল সাইড-চ্যানেল এক্সফিল্ট্রেশন বা ইনজেকশনের সময়কে সহজ করে। অনুশীলনে, ফায়ারক্র্যাকার কোনো নির্দিষ্ট cgroup নিয়মের সাথে বিতরণ করা হয় না [7]; প্রকৃতপক্ষে, এটি বিশেষভাবে ডিফল্ট লিনাক্স রিসোর্স বরাদ্দের অধীনে অনেক ফায়ারক্র্যাকার VM-এর দক্ষ অপারেশনের জন্য ডিজাইন করা হয়েছে [6]।
ফায়ারক্র্যাকারে বিচ্ছিন্নতা এবং কন্টেনমেন্ট সিস্টেমগুলির কোনওটিই ব্যবহারকারী-থেকে-ব্যবহারকারী বা ব্যবহারকারী-থেকে-হোস্ট আক্রমণ থেকে সরাসরি রক্ষা করে বলে মনে হয় না। অতএব, আমরা Firecracker VM-এর ভিতরে এবং বাইরের ধারণাগুলির বিভিন্ন মাইক্রোআর্কিটেকচারাল আক্রমণের প্রমাণ পরীক্ষা করতে এগিয়ে চলেছি।
এই কাগজটি CC BY-NC-ND 4.0 DEED লাইসেন্সের অধীনে arxiv-এ উপলব্ধ ।