রাস্পবেরি পাই স্পেক্টর বা মেল্টডাউন শোষণের পক্ষে দুর্বল?


58

দুটি নতুন গুরুতর সুরক্ষা ত্রুটি আবিষ্কার করা হয়েছে, স্পেকটার এবং মেল্টডাউন

রাস্পবেরি পাই স্পেক্টর এবং / অথবা মেল্টডাউনের পক্ষে ঝুঁকিপূর্ণ?


1
গবেষকদের মতে: এআরএম এবং এএমডি প্রসেসরগুলিও মেল্টডাউনে আক্রান্ত কিনা তা এই মুহূর্তে স্পষ্ট নয়।
জানুঘু

1
একটি উদাহরণ রয়েছে যে আপনি একটি ব্রাউজারে জাভাস্ক্রিপ্ট (ক্রোম / ফায়ারফক্স) দিয়ে একটি পাসওয়ার্ড চুরি করতে পারেন।
জানুঘু

4
@ alex2003super: ফ্রিক আউট করবেন না। যদিও প্রভাবিত ডিভাইসগুলির স্কেল বিস্ময়কর, আপনার বাস্তবতা যে কোনও বাস্তব উপায়ে এই সমস্যাটি দ্বারা প্রভাবিত হচ্ছে তার প্রতিক্রিয়াগুলি বেশ কম। এবং তারা না থাকলেও, বাইরে বেরিয়ে আসা কোনও উপকারে আসেনি। :)
মনিকার সাথে লাইটনেস রেস

1
দেখে মনে হয় যে তারা দুর্বল নয়, এখানে রাস্পবেরিপি.আর
ব্লগ / subject

5
আপনি এই পোস্ট আকর্ষণীয় হতে পারে: raspberrypi.org/blog/…
পিএফএম

উত্তর:


61

এআরএম তাদের নিজস্ব মতে , পাই 4 এর আগে সমস্ত মডেলগুলিতে ব্যবহৃত প্রসেসর কোরগুলি ঝুঁকিপূর্ণ নয়

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

পুরানো পিস দ্বারা ব্যবহৃত প্রসেসরের কোরগুলি হ'ল:

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

রাস্পবেরী Pi 4 ব্যবহার কর্টেক্স-A72 , যা প্রবন হিসেবে তালিকাভুক্ত করা হয় এবং 4 রূপগুলো 1, 2, 3a হিসেবে বিবৃত রাস্পবেরী Pi 4 স্পেকটের কীর্তিকলাপ প্রবন আছে কি? , রাস্পবিয়ান এই দুর্বলতার জন্য সফ্টওয়্যার প্রশমনগুলি রয়েছে, তাই শোষণের ঝুঁকি কম হওয়া উচিত। অন্যান্য অপারেটিং সিস্টেমে যথাযথ প্রশমিততা নাও থাকতে পারে এবং এআরএম বলেছে যে কর্টেক্স-এ 72 এর জন্য একটি হার্ডওয়্যার প্রশমন প্রকাশ করা হয়েছে, এটি পাই 4-তে প্রয়োগ হয়েছে কিনা তা স্পষ্ট নয়।

নোট করুন যে ভেরিয়েন্টস 1 এবং 2 (সিভিই-2017-5753 এবং সিভিই-2017-5715) স্পেকটার হিসাবে পরিচিত এবং ভেরিয়েন্টস 3 (সিভিই-2017-5754) এবং 3 এ (এআরএম দ্বারা তদন্ত সম্পর্কিত একটি সম্পর্কিত আক্রমণ) বলা হয় মেল্টডাউন । সুতরাং, পাই 4 এর আগে রাস্পবেরি পাই ডিভাইসের কোনওটিই স্পেকটার বা মেল্টডাউনের পক্ষে দুর্বল বলে বিশ্বাস করা হয় না।


আমি অবাক হয়েছি যে অন্য স্থাপত্যগুলিতে প্রয়োজনীয় লিনাক্স কার্নেলের পরিবর্তনগুলি কি রাস্পবেরি পাইতে চালিত লিনাক্সের সংস্করণগুলিতে ঠেলে দেওয়া হবে? মনে হয় এই পরিবর্তনগুলি সিস্টেমকে ধীর করে দেবে তাই প্যাচগুলির প্রয়োজন না হলেও আরপি প্রভাবিত হবে।
ববি ডুরেট

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

1
@ ববিডিউর্ট, কার্নেলের মেল্টডাউন পরিবর্তনগুলি কোডবেসের x86- নির্দিষ্ট বিভাগে বসে আছে। স্পেক্টর সম্পর্কিত পরিবর্তনগুলি পুরো জায়গা জুড়ে রয়েছে, তবে তাদের বেশিরভাগই কোডের প্রসেসর-নির্দিষ্ট বিভাগে বা সংকলক দ্বারা পরিচালিত হয়। কিছু বিট, যেমন নেটওয়ার্কিং কোডের কাঠামোগত পরিবর্তনগুলি পাইতে লিক হতে পারে তবে তাদের বেশিরভাগই তা করবে না।
চিহ্নিত করুন

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

22

পাই (সমস্ত সংস্করণ) দুর্বল নয়।

স্পেকটার এবং মেল্টডাউন উভয়েরই বাইরে-অর্ডার কার্যকর হওয়া দরকার। কর্টেক্স-A7 গোড়ার দিকে পাই 2 এবং ব্যবহৃত কর্টেক্স A53 পরে পাই 2 এবং পাই 3 ব্যবহৃত একটি কঠোরভাবে ইন-অর্ডার আর্কিটেকচার। ARM11 পাই 1 ব্যবহৃত একটি উপায় যে স্পেকটের বা মেল্টডাউন অনুমতি দেয় কাজ করার জন্য আংশিকভাবে আউট-অফ-অর্ডার কিন্তু নয়।

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


10

আমি এই আমার ভিন্ন নিতে প্রস্তাব দিতে চাই।

মেল্টডাউন সম্পর্কে, এটি কিছু প্রসেসরের মধ্যে একটি খুব নির্দিষ্ট দুর্বলতা, সুতরাং যদি এআরএম বলে যে রাস্পবেরি পাইতে সিপিইউ দুর্বল নয়, তবে সম্ভবত এটি বিশ্বাস করা যেতে পারে।

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

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

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

এআরএম যা বলেছে তা বিশ্বাস করবেন না। এআরএম এর অর্থ সম্ভবত এটি হ'ল গুগল যে শোষিতগুলি বিকশিত করেছে সেগুলি এই এআরএম সিপিইউগুলিতে কাজ করে না। এর অর্থ এই নয় যে তারা স্পেকটারের কাছে অদম্য হবে। অন্য কিছু শোষণ কাজ করতে পারে।

এই প্রশ্নটি দেখুন: https://security.stackexchange.com/questions/176678/is-branch-predictor-flush-in تعمیر-a-complete-spectre-fix এবং এর উত্তরের প্রভাবগুলি বুঝতে। আপনার ব্রাউজারে চলমান একটি দুর্বৃত্ত জাভাস্ক্রিপ্ট কোড স্পেকটার পরিমাপের কারণে প্রক্রিয়াটির অন্যান্য শাখাগুলি কীভাবে চলেছে তা করতে পারে। এমনকি ব্রাঞ্চের ভবিষ্যদ্বাণীকারী ফ্লাশ নির্দেশনাটি এই দুর্বৃত্ত জাভাস্ক্রিপ্ট সমস্যাটি ঠিক করবে না, যদি না ব্রাউজার অবিশ্বস্ত কোড চালানোর আগে ব্রাঞ্চের ভবিষ্যদ্বাণীকে সক্রিয়ভাবে ফ্লাশ না করে।

স্পেকটারটি খুব দীর্ঘ সময়ের জন্য আমাদের সাথে থাকবে, কারণ শাখার পূর্বাভাসকারী 14 বিট ব্যবহার করে সূচক হিসাবে 32 বিট ঠিকানার জায়গার 18 টি বিটের সাথে ট্যাগযুক্ত নয়, কারণ এরপরে 20 বিট (2 বিটস স্যাচুরেটিং কাউন্টার) লাগবে , 18 বিট ট্যাগ) কেবল 2 বিটের পরিবর্তে। এটি শাখার ভবিষ্যদ্বাণী আকারকে দশ দ্বারা গুণিত করবে! আমি সিপিইউ নির্মাতারা এমন একটি শাখা প্রেডিক্টর ফ্লাশ নির্দেশ যুক্ত করবে যা বিশেষ স্থান ছাড়াই ব্যবহারকারীর স্পেসেও ব্যবহার করে এবং অবিশ্বস্ত জেআইটিড কোড চলাকালীন কনটেক্সট স্যুইচ করার সময় এবং ব্যবহারকারীর স্থান এটি ব্যবহার করার জন্য কার্নেলটি ব্যবহার করবে। এটি অনুশীলনে বেশিরভাগ স্পেক্টর সমস্যা সমাধান করবে তবে তত্ত্ব অনুসারে, সবগুলিই নয়।


" এখন, যদি দুটি শাখা একই পূর্বাভাসকারী রাষ্ট্রের ভাগ করে নেয়, আপনি খুব সাম্প্রতিককালে একটি নির্দিষ্ট শাখা কোন পথে নিয়েছে তা পরিমাপ করতে পারেন " "অনুমানমূলক মৃত্যুদণ্ড কার্যকর না করে আপনি কীভাবে এটি করবেন?
পিটার টেলর

@ পিটারটেলর এই এআরএম সিপিইউগুলির শাখার পূর্বাভাসক রয়েছে এবং তাই তাদের জল্পনা-কল্পনা কার্যকর করা হয়। তারা যা হারিয়েছে তা হ'ল আদেশের বাইরে চলে যাওয়া।
জুহিস্ট

তারা অনুমানমূলক নির্দেশ আনার জন্য নথিভুক্ত করা হয়েছে, তবে এটি অনুমানমূলক কার্যকর নয়। এটি মোটামুটি বিষয় যে এটি এখনও ওরাকল হিসাবে ব্যবহার করা সম্ভব হতে পারে।
পিটার টেলর

এমনকি অনুমানমূলক আনয়নও যথেষ্ট হতে পারে, কারণ সেখানে একটি ছোটখাটো তবে পরিমাপযোগ্য ক্ষুদ্রতার পার্থক্য থাকবে।
জুহিস্ট

লিনাক্স ইতিমধ্যে কার্নেল ঠিকানা এলোমেলোকরণ যোগ করছিল; আপনি একটি শাখার ঠিকানা ভবিষ্যদ্বাণী করতে পারবেন না।
এমএসএলটার 14
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.