লেখক:
(1) জেন ওয়েইসম্যান, ওরচেস্টার পলিটেকনিক ইনস্টিটিউট ওরচেস্টার, এমএ, ইউএসএ {[email protected]};
(2) টমাস আইজেনবার্থ, লুবেক ইউনিভার্সিটি লুবেক, এসএইচ, জার্মানি {[email protected]};
(3) থোর টাইম্যান, লুবেক ইউনিভার্সিটি লুবেক, এসএইচ, জার্মানি {[email protected]};
(4) Berk Sunar, Worcester Polytechnic Institute Worcester, MA, USA {[email protected]}।
ফায়ারক্র্যাকার হল একটি ভার্চুয়াল মেশিন ম্যানেজার (VMM) যা Amazon Web Services (AWS) দ্বারা সার্ভারবিহীন ক্লাউড প্ল্যাটফর্মের জন্য তৈরি করা হয়েছে- যে পরিষেবাগুলি প্রতিটি কাজের ভিত্তিতে শেষ ব্যবহারকারীদের জন্য কোড চালায়, স্বয়ংক্রিয়ভাবে সার্ভার পরিকাঠামো পরিচালনা করে। ফায়ারক্র্যাকার দ্রুত এবং হালকা ওজনের VM সরবরাহ করে এবং কন্টেইনারগুলির গতির সংমিশ্রণের প্রতিশ্রুতি দেয়, সাধারণত ছোট কাজগুলিকে আলাদা করতে ব্যবহৃত হয় এবং VM-এর নিরাপত্তা, যা কার্যক্ষমতার খরচে আরও বেশি বিচ্ছিন্নতা প্রদান করে। নিরাপত্তা এবং দক্ষতার এই সংমিশ্রণ, AWS দাবি করে, হোস্ট সিস্টেম দ্রুত এবং ঘন ঘন সক্রিয় কাজগুলির মধ্যে স্যুইচ করার সাথে একই হার্ডওয়্যারে বিভিন্ন ব্যবহারকারীর থেকে হাজার হাজার ব্যবহারকারীর কাজ চালানো কেবল সম্ভব নয় বরং নিরাপদ করে তোলে। যদিও AWS বলে যে মাইক্রোআর্কিটেকচারাল আক্রমণগুলি তাদের হুমকি মডেলের মধ্যে অন্তর্ভুক্ত করা হয়েছে, এই শ্রেণীর আক্রমণগুলি সরাসরি শেয়ার্ড হার্ডওয়্যারের উপর নির্ভর করে, ঠিক যেমন সার্ভারহীন কম্পিউটিং এর স্কেলেবিলিটি অভূতপূর্ব সংখ্যক ব্যবহারকারীর মধ্যে হার্ডওয়্যার ভাগ করে নেওয়ার উপর নির্ভর করে।
এই কাজে, আমরা তদন্ত করি যে ফায়ারক্র্যাকার মাইক্রোআর্কিটেকচারাল আক্রমণের বিরুদ্ধে কতটা নিরাপদ। প্রথমত, আমরা ফায়ারক্র্যাকারের বর্ণিত বিচ্ছিন্নতা মডেল পর্যালোচনা করি এবং স্থাপনার জন্য সর্বোত্তম অনুশীলনের সুপারিশ করি, সার্ভারহীন প্ল্যাটফর্মগুলির জন্য সম্ভাব্য হুমকি মডেলগুলি সনাক্ত করি এবং সম্ভাব্য দুর্বল পয়েন্টগুলি বিশ্লেষণ করি। তারপর, আমরা ফায়ারক্র্যাকার দ্বারা প্রদত্ত বিচ্ছিন্নতা পরীক্ষা করার জন্য মাইক্রোআর্কিটেকচারাল অ্যাটাক প্রুফ-অফ-ধারণা ব্যবহার করি এবং দেখতে পাই যে এটি স্পেকটার বা এমডিএস আক্রমণের বিরুদ্ধে সামান্য সুরক্ষা প্রদান করে। আমরা দুটি বিশেষভাবে সম্পর্কিত ক্ষেত্রে আবিষ্কার করেছি: 1) একটি মেডুসা ভেরিয়েন্ট যা ফায়ারক্র্যাকার ভিএমকে হুমকি দেয় তবে তাদের বাইরে চলমান প্রক্রিয়া নয় এবং AWS দ্বারা সুপারিশকৃত প্রতিরক্ষা দ্বারা প্রশমিত হয় না এবং 2) একটি স্পেকটার-পিএইচটি বৈকল্পিক যা প্রস্তাবিত পাল্টা ব্যবস্থা থাকলেও শোষণযোগ্য থাকে স্থান এবং SMT সিস্টেমে নিষ্ক্রিয় করা হয়. সংক্ষেপে, আমরা দেখাই যে AWS Firecracker VMM-এর অন্তর্নিহিত নিরাপত্তাকে অতিবৃদ্ধি করে এবং Firecracker ব্যবহার করে এমন ক্লাউড সিস্টেমগুলিকে সঠিকভাবে সুরক্ষিত করার জন্য অসম্পূর্ণ নির্দেশিকা প্রদান করে।
সিসিএস ধারণা
• নিরাপত্তা এবং গোপনীয়তা → ভার্চুয়ালাইজেশন এবং নিরাপত্তা; সাইডচ্যানেল বিশ্লেষণ এবং পাল্টা ব্যবস্থা।
কীওয়ার্ড
সিস্টেম নিরাপত্তা, মাইক্রোআর্কিটেকচারাল নিরাপত্তা, ভার্চুয়াল মেশিন, হাইপারভাইজার, সার্ভারহীন, ক্লাউড সিস্টেম
সার্ভারলেস কম্পিউটিং হল ক্লাউড কম্পিউটিংয়ে একটি উদীয়মান প্রবণতা যেখানে ক্লাউড সার্ভিস প্রোভাইডার (সিএসপি) তাদের গ্রাহকদের রানটাইম পরিবেশ পরিবেশন করে। এইভাবে, গ্রাহকরা হার্ডওয়্যার, অপারেটিং সিস্টেম (ওএস) এবং কখনও কখনও সিএসপি-তে রানটাইম সম্পর্কিত প্রশাসনিক কাজ ছেড়ে তাদের ফাংশন কোড বজায় রাখার দিকে মনোনিবেশ করতে পারেন। সাধারণ সার্ভারহীন প্ল্যাটফর্ম মডেলগুলির মধ্যে রয়েছে ফাংশন-এ-সার্ভিস (FaaS) এবং কন্টেইনার-এ-সার্ভিস (CaaS)। যেহেতু স্বতন্ত্র ফাংশনগুলি সাধারণত ছোট, কিন্তু গ্রাহকদের অ্যাপ্লিকেশন প্রতিটি এক থেকে হাজার ফাংশন থেকে যে কোনও জায়গায় চলতে পারে, তাই সিএসপিগুলির লক্ষ্য একটি একক সার্ভারে যতগুলি সম্ভব ফাংশন ফিট করা অলস সময়গুলিকে কমিয়ে আনা এবং ফলস্বরূপ, সর্বাধিক লাভ করা। রানটাইম এনভায়রনমেন্ট পরিবেশন করার জন্য একটি বরং হালকা-ওজন পদ্ধতি হল কন্টেইনার চালানো, যা একটি প্রক্রিয়াকে তার নির্ভরতা সহ এনক্যাপসুলেট করে যাতে প্রতিটি প্রক্রিয়ার জন্য শুধুমাত্র প্রয়োজনীয় ফাইলগুলি একটি শেয়ার্ড কার্নেলের উপরে ভার্চুয়াল ফাইল সিস্টেমে লোড করা হয়। এটি কন্টেইনারগুলির মধ্যে একটি সুইচকে প্রক্রিয়াগুলির মধ্যে একটি প্রসঙ্গ স্যুইচের চেয়ে সামান্য বেশি করে। অন্যদিকে, সম্পূর্ণ ভার্চুয়ালাইজেশন ভার্চুয়াল মেশিনের (ভিএম) মধ্যে ভাল বিচ্ছিন্নতা প্রদান করে এবং তাই ভাড়াটেদের মধ্যে নিরাপত্তা প্রদান করে, যদিও প্রতিটি ভিএম তার নিজস্ব কার্নেল নিয়ে আসে বলে বরং ভারী ওজনের।
এই পদ্ধতিগুলির মধ্যে কোনটিই, ধারক বা VM, সার্ভারহীন পরিবেশে ব্যবহারের জন্য আদর্শ নয়, যেখানে আদর্শভাবে অনেক ব্যবহারকারীর মালিকানাধীন অনেক স্বল্পস্থায়ী ফাংশন একই সাথে চলবে এবং প্রায়শই স্যুইচ করবে, তাই এই ব্যবহারের ক্ষেত্রে বিচ্ছিন্নতার নতুন প্রক্রিয়া তৈরি করা হয়েছে। উদাহরণস্বরূপ, ইন-প্রসেস আইসোলেশন [38, 45, 49] প্রক্রিয়াগুলি রানটাইম এবং অন্তর্নিহিত কার্নেলের আক্রমণের পৃষ্ঠকে হ্রাস করে কন্টেইনারগুলির সুরক্ষা উন্নত করার জন্য সেট করা হয়েছে। কার্নেল রক্ষা করা গুরুত্বপূর্ণ, কারণ একটি আপস করা কার্নেল সরাসরি কন্টেইনার ক্ষেত্রে সম্পূর্ণ আপসহীন সিস্টেমের দিকে নিয়ে যায়। যাইহোক, কিছু শক্তিশালী সুরক্ষা, যেমন সিস্কাল সীমিত করা, কন্টেইনারে উপলব্ধ কার্যকারিতাকেও সীমিত করে এবং এমনকি কিছু অ্যাপ্লিকেশনের সাথে সামঞ্জস্যতাও ভেঙে দেয়। ভিএম গবেষণায়, ডেভেলপাররা আরও ছোট এবং আরও দক্ষ ভিএম তৈরি করে, যা অবশেষে তথাকথিত মাইক্রোভিএমের দিকে পরিচালিত করে। মাইক্রোভিএমগুলি সাধারণ ভার্চুয়াল মেশিনগুলির মতো একই বিচ্ছিন্নতার গ্যারান্টি প্রদান করে, কিন্তু ডিভাইস বা ওএস সমর্থনের ক্ষেত্রে তাদের ক্ষমতা খুব সীমিত, যা তাদের সাধারণ ভিএমগুলির তুলনায় আরও হালকা-ওজন করে এবং তাই সার্ভারহীন কম্পিউটিং-এর জন্য আরও উপযুক্ত।
ফায়ারক্র্যাকার [১] একটি ভার্চুয়াল মেশিন ম্যানেজার (ভিএমএম) যা মাইক্রোভিএম চালানোর জন্য ডিজাইন করা হয়েছে যখন মেমরি ওভারহেড এবং শুরুর সময়গুলি সাধারণ কন্টেইনার সিস্টেমগুলির সাথে তুলনীয়। ফায়ারক্র্যাকার অ্যামাজন ওয়েব সার্ভিসেস (AWS) দ্বারা সক্রিয়ভাবে বিকশিত হয়েছে এবং 2018 সাল থেকে AWS Lambda [5] এবং AWS Fargate [4] সার্ভারহীন কম্পিউট পরিষেবাগুলির জন্য উৎপাদনে ব্যবহার করা হয়েছে [1]। AWS-এর ডিজাইন পেপার [1] ফায়ারক্র্যাকারের বৈশিষ্ট্যগুলি বর্ণনা করে, কীভাবে এটি আরও ঐতিহ্যগত ভার্চুয়াল মেশিন থেকে বিচ্ছিন্ন হয় এবং এটি যে উদ্দিষ্ট আইসোলেশন মডেলটি প্রদান করে: একই হার্ডওয়্যারে "একাধিক ফাংশন চালানোর[নিং] জন্য নিরাপত্তা, বিশেষাধিকার বৃদ্ধির বিরুদ্ধে সুরক্ষিত, তথ্য প্রকাশ, গোপন চ্যানেল এবং অন্যান্য ঝুঁকি" [1]। উপরন্তু, AWS CPU এবং কার্নেলের অংশগুলি সুরক্ষিত করার জন্য প্রোডাকশন হোস্ট সেটআপ সুপারিশ [8] প্রদান করে যা ফায়ারক্র্যাকার VM এর সাথে যোগাযোগ করে। এই কাগজে, আমরা দাবিকে চ্যালেঞ্জ করি যে ফায়ারক্র্যাকার মাইক্রোভিএম জুড়ে গোপন এবং পার্শ্ব-চ্যানেল থেকে ফাংশনগুলিকে রক্ষা করে। আমরা দেখাই যে ফায়ারক্র্যাকার নিজেই মাইক্রোআর্কিটেকচারাল আক্রমণের পাল্টা ব্যবস্থায় যোগ করে না তবে হোস্ট এবং গেস্ট লিনাক্স কার্নেল এবং CPU ফার্মওয়্যার/মাইক্রোকোড আপডেটের উপর সম্পূর্ণ নির্ভর করে।
বিভিন্ন স্পেকটার [10, 13, 22, 30, 31, 33, 52] এবং মাইক্রোআর্কিটেকচারাল ডেটা স্যাম্পলিং (MDS) [14, 37, 46, 50] এর মত মাইক্রোআর্কিটেকচারাল আক্রমণগুলি মাল্টি-টেন্যান্ট সিস্টেমগুলির জন্য হুমকিস্বরূপ কারণ তারা প্রায়ই VM সহ সফ্টওয়্যার এবং আর্কিটেকচারাল বিচ্ছিন্নতা সীমানা উভয়ই বাইপাস করতে সক্ষম। Specter এবং MDS ভাড়াটেদের হুমকি দেয় যারা শাখা পূর্বাভাস ইউনিট (BPU) বা লাইন-ফিল বাফার (LFB) এর মতো CPU মূল সংস্থানগুলি ভাগ করে। আরও ঐতিহ্যগত পরিষেবা প্রদানকারী সিএসপিগুলি দীর্ঘজীবী ভিএম ভাড়াটেদের আলাদা সিপিইউ কোরগুলিতে পিন করার মাধ্যমে ভাগ করা হার্ডওয়্যার সংস্থানগুলির সমস্যাকে প্রশমিত করতে পারে, যা কার্যকরভাবে ভাড়াটেদের মধ্যে সংস্থানগুলিকে বিভাজন করে এবং নিশ্চিত করে যে মাইক্রোআর্কিটেকচারাল অবস্থাটি শুধুমাত্র একজন ভাড়াটে দ্বারা প্রভাবিত হয়। .
সার্ভারহীন পরিবেশে, তবে, মাইক্রোআর্কিটেকচারাল আক্রমণের হুমকি বেশি। এর কারণ হল বিভিন্ন ভাড়াটেদের দ্বারা পরিচালিত ফাংশনগুলির স্বল্পকালীনতা। সার্ভারহীন পরিবেশে সার্ভার সংস্থানগুলি অতিরিক্ত-প্রতিশ্রুতিবদ্ধ হওয়ার প্রত্যাশিত, যা একই হার্ডওয়্যারে কম্পিউট সংস্থানগুলির জন্য ভাড়াটে ফাংশনগুলির প্রতিদ্বন্দ্বিতা করে৷ একযোগে মাল্টি-থ্রেডিং (এসএমটি) নিষ্ক্রিয় করা, যা দুটি ভাইবোন থ্রেড দ্বারা সিপিইউ সংস্থানগুলির একযোগে ব্যবহারকে অক্ষম করে, একটি সিপিইউ-এর গণনা ক্ষমতা 30% পর্যন্ত হ্রাস করে [৩৪]। গ্রাহকরা যদি নির্দিষ্ট সিপিইউ কোর ভাড়া নেন, তাহলে এই কার্যক্ষমতা জরিমানা গ্রহণযোগ্য হতে পারে, অথবা একটি সিপিইউ কোরের উভয় থ্রেড একসঙ্গে ভাড়া করা হতে পারে। কিন্তু সার্ভারবিহীন পরিষেবাগুলির জন্য, কার্যক্ষমতার জরিমানা সরাসরি 30% কম গ্রাহকদের কাছে অনুবাদ করে যা একটি নির্দিষ্ট সময়ের মধ্যে পরিবেশন করা যেতে পারে। এই কারণেই এটা ধরে নিতে হবে যে বেশিরভাগ সার্ভারহীন CSP তাদের সিস্টেমে SMT সক্রিয় রাখে যদি না তারা অন্যথায় বলে। মাইক্রোআর্কিটেকচারাল অ্যাটাক সারফেস সবচেয়ে বড় হয় যদি SMT সক্রিয় থাকে এবং ক্ষতিকারক থ্রেডের একটি শেয়ার্ড কোরে একযোগে অ্যাক্সেস থাকে। তবে আক্রমণের ভেরিয়েন্টগুলিও রয়েছে যা আক্রমণকারী থ্রেডটি ভিকটিম থ্রেডে সিপিইউ কোর দেওয়ার আগে মাইক্রোআর্কিটেকচার প্রস্তুত করলে বা শিকার থ্রেডটি এক্সিকিউশন পজ করার পরেই কার্যকর করে। এবং এমনকি যদি SMT CSP দ্বারা অক্ষম করা হয় (যেমনটি AWS Lambda এর ক্ষেত্রে), ভাড়াটেরা এখনও এই সময়-কাটা ফ্যাশনে একাধিক অন্যদের সাথে CPU শেয়ার করে।
AWS দাবি করে যে আপ-টুডেট মাইক্রোআর্কিটেকচারাল প্রতিরক্ষা সহ একটি সিস্টেমে চলমান ফায়ারক্র্যাকার মাইক্রোআর্কিটেকচারাল আক্রমণের বিরুদ্ধে যথেষ্ট কঠোরতা প্রদান করবে [1]। ফায়ারক্র্যাকার ডকুমেন্টেশনে মাইক্রোআর্কিটেকচারাল নিরাপত্তা ব্যবস্থার জন্য নির্দিষ্ট সুপারিশ রয়েছে যা সক্রিয় করা উচিত। এই কাজে, আমরা ফায়ারক্র্যাকারের নিরাপত্তা দাবি এবং সুপারিশগুলি পরীক্ষা করি এবং এর নির্দেশিকাগুলির পাশাপাশি সম্পূর্ণরূপে নিরবচ্ছিন্ন হুমকিগুলি প্রকাশ করি৷
সংক্ষেপে, আমাদের প্রধান অবদান হল:
• আমরা Firecracker VM-এর উপর ভিত্তি করে সার্ভারহীন গণনার ক্রসটেন্যান্ট এবং টেন্যান্ট-হাইপারভাইজার বিচ্ছিন্নতার একটি ব্যাপক নিরাপত্তা বিশ্লেষণ প্রদান করি।
• আমরা মাইক্রোআর্কিটেকচারাল অ্যাটাক প্রুফ-অফ-কনসেপ্ট (PoCs) এর বিরুদ্ধে ফায়ারক্র্যাকারের প্রতিরক্ষা ক্ষমতা পরীক্ষা করি, মাইক্রোকোড আপডেট এবং লিনাক্স কার্নেলের মাধ্যমে উপলব্ধ সুরক্ষা নিযুক্ত করি। আমরা দেখাই যে ভার্চুয়াল মেশিন নিজেই মাইক্রোআর্কিটেকচারাল আক্রমণের প্রধান শ্রেণীর বিরুদ্ধে নগণ্য সুরক্ষা প্রদান করে।
• আমরা মেডুসা এমডিএস আক্রমণের একটি বৈকল্পিক শনাক্ত করি যা হোস্টে উপস্থিত না থাকা সত্ত্বেও ফায়ারক্র্যাকার ভিএম-এর মধ্যে থেকে শোষণযোগ্য হয়ে ওঠে। কার্নেল প্রশমন যা এই শোষণের বিরুদ্ধে রক্ষা করে এবং সর্বাধিক পরিচিত মেডুসার রূপগুলি, AWS এর ফায়ারক্র্যাকার হোস্ট সেটআপ সুপারিশ দ্বারা উল্লেখ করা হয়নি। অতিরিক্তভাবে, আমরা দেখাই যে SMT নিষ্ক্রিয় করা চিহ্নিত মেডুসা ভেরিয়েন্টের বিরুদ্ধে অপর্যাপ্ত সুরক্ষা প্রদান করে যা কার্নেল প্রশমনের প্রয়োজনীয়তাকে তাগিদ দেয়।
• আমরা Spectre-PHT এবং Spectre-BTB ভেরিয়েন্টগুলি সনাক্ত করি যেগুলি প্রস্তাবিত পাল্টা ব্যবস্থা থাকা সত্ত্বেও ডেটা ফাঁস করে৷ SMT অক্ষম করা হলে Spectre-PHT ভেরিয়েন্টগুলি একটি সমস্যা থেকে যায় যদি আক্রমণকারী এবং ভিকটিম একটি CPU কোর সময়-কাটা ফ্যাশনে ভাগ করে নেয়।
আমরা আমাদের অনুসন্ধান সম্পর্কে AWS নিরাপত্তা দলকে অবহিত করেছি এবং প্রযুক্তিগত বিবরণ নিয়ে আলোচনা করেছি। AWS নিরাপত্তা দল দাবি করে যে অতিরিক্ত নিরাপত্তা পরিমাপের কারণে AWS পরিষেবাগুলি আমাদের অনুসন্ধান দ্বারা প্রভাবিত হয় না। AWS সম্মত হয়েছে যে ফায়ারক্র্যাকার তার নিজের থেকে মাইক্রো-আর্কিটেকচারাল নিরাপত্তা প্রদান করে না কিন্তু শুধুমাত্র মাইক্রোকোড আপডেট এবং নিরাপদ হোস্ট এবং গেস্ট অপারেটিং সিস্টেমের সাথে সমন্বয় করে এবং ফায়ারক্র্যাকার ইনস্টলেশনের জন্য তার হোস্ট সেটআপ সুপারিশ আপডেট করার পরিকল্পনা করে।
এই কাগজটি CC BY-NC-ND 4.0 DEED লাইসেন্সের অধীনে arxiv-এ উপলব্ধ ।