প্রি-বুটলোডার সম্পর্কিত দুটি খবর

এগুলি হ'ল জেমস বটমলে তাঁর ব্লগে যে দুটি পোস্ট নিয়েছে তার অনুবাদ। প্রথম পোস্টটি 1 ফেব্রুয়ারি তৈরি হয়েছিল এবং এটি "LCA2013 এবং সুরক্ষিত বুট পুনর্গঠন" নামে পরিচিত

আমি বেশ কিছুদিন ধরে চুপ ছিলাম, তাই লিনাক্স ফাউন্ডেশনের সিকিউর বুট লোডার নিয়ে কী হচ্ছে তার একটি হালনাগাদ দেওয়ার সময় হয়েছে (বিশেষ করে যেহেতু এটি LCA2013-এ উপস্থাপন করা হয়েছিল)। ( স্লাইডগুলোর লিঙ্ক )

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

সুতরাং আমাকে পুনর্গঠন এবং পুনর্লিখন করতে হয়েছিল: সমস্যাটি এখন "কিভাবে মাইক্রোসফ্ট স্বাক্ষরিত একটি লিঙ্ক লোডার তৈরি করতে হবে যা তাদের নীতিগুলি মেনে চলে" "কীভাবে বুট-লোডার সমস্ত শিশুকে বুট সার্ভিস-> লোডাইমেজ () ফাংশনটি ব্যবহার করতে সক্ষম করবে? তাদের নীতি মান্য উপায়। ভাগ্যক্রমে, আপনার নিজস্ব আর্কিটেকচার সুরক্ষা প্রোটোকল ইনস্টল করে ইউইএফআই প্ল্যাটফর্ম স্বাক্ষরকারী পরিকাঠামোকে বাধা দেওয়ার একটি উপায় রয়েছে। দুর্ভাগ্যক্রমে, প্ল্যাটফর্মের সূচনাকরণের স্পেসিফিকেশনটি আসলে ইউইএফআই নির্দিষ্টকরণের অংশ নয়, তবে ধন্যবাদ যে এটি আপনি খুঁজে পেতে পারেন এমন প্রতিটি উইন্ডোজ 8 সিস্টেম প্রয়োগ করে। নতুন আর্কিটেকচার সেই প্রোটোকলকে বাধা দেয় এবং তার নিজস্ব সুরক্ষা চেক যোগ করে। তবে, একটি দ্বিতীয় সমস্যা রয়েছে: আমরা যখন আর্কিটেকচার সিকিউরিটি প্রোটোকল কলব্যাকের মধ্যে আছি, আমরা অগত্যা ইউইএফআই সিস্টেম স্ক্রিনের মালিক নই, বাইনারি কার্যকর করার অনুমতি দেওয়ার জন্য কোনও ব্যবহারকারী পরীক্ষা করা সম্পূর্ণ অসম্ভব হয়ে পড়ে। ভাগ্যক্রমে, এটি করার জন্য একটি অ-ইন্টারেক্টিভ উপায় রয়েছে এবং এটি সুস মেশিনের মালিক কী (এমওকে) প্রক্রিয়া। অতএব, লিনাক্স ফাউন্ডেশন প্রি-বুটলোয়াডার এখন অনুমোদিত বাইনারি হ্যাশগুলি সঞ্চয় করতে স্ট্যান্ডার্ড এমওকে ভেরিয়েবলগুলি ব্যবহার করে বিবর্তিত হয়েছে।

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

নতুন আর্কিটেকচারটি কীভাবে কাজ করে তা ব্যাখ্যা করার জন্য আমি একটি পৃথক পোস্ট করব, তবে আমি ভেবেছিলাম গত মাসে কী ঘটেছিল তা ব্যাখ্যা করা ভাল।

এবং এই দ্বিতীয় পোস্টটি তিনি গতকাল করেছিলেন এবং তাকে "লিনাক্স ফাউন্ডেশন সুরক্ষিত বুট সিস্টেম চালু করা" বলা হয়

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

PreLoader.efi (md5sum 4f7a4f566781869d252a09dc84923a82)
হ্যাশটুল.এফি (md5sum 45639d23aa5f2a394b03a65fc732acf2)
একটি বুটেবল মিনি-ইউএসবি চিত্র তৈরি করুন; (আপনাকে এটি ডিডি ব্যবহার করে ইউএসবিতে ইনস্টল করতে হবে; ছবিতে জিপিটি পার্টিশন রয়েছে, তাই এটি সম্পূর্ণ ডিস্ক ব্যবহার করে)। এটিতে একটি EFI শেল রয়েছে যেখানে কার্নেলটি হওয়া উচিত এবং এটি লোড করতে গাম্বিবুট ব্যবহার করে। আপনি এখানে পেতে পারেন (md5sum 7971231d133e41dd667a184c255b599f).

মিনি-ইউএসবি চিত্রটি ব্যবহার করতে, আপনাকে অবশ্যই লোডার.এফির জন্য হ্যাশগুলি প্রবেশ করতে হবে (\ EFI \ বুট ফোল্ডারে) এবং শেল.এফি (মূল ফোল্ডারে)। এটিতে কীটুল.এফির একটি অনুলিপিও রয়েছে, আপনাকে চালাতে হ্যাশ প্রবেশ করতে হবে।

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

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

ফুয়েন্তেস:

http://blog.hansenpartnership.com/lca2013-and-rearchitecting-secure-boot/

http://blog.hansenpartnership.com/linux-foundation-secure-boot-system-released/

এটি ভাল বা খারাপ সংবাদ কিনা তা স্থির করুন।


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