SoC সিকিউরিটি যাচাই করার জন্য ফাজিং। যাচাইকরণে উদ্ভাবন

উত্স নোড: 1853830

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

SoC সিকিউরিটি যাচাই করার জন্য ফাজিং

উদ্ভাবন

এই মাসের বাছাই হয় SoC নিরাপত্তা যাচাইকরণের জন্য হাইপারফুজিং. লেখকরা এই গবেষণাপত্রটি ICCAD 2020 এ উপস্থাপন করেছেন। তারা আইআইটি কানপুর থেকে এসেছেন।

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

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

তাদের টেস্টকেস একটি ছোট যদিও প্রতিনিধি SoC (বিস্তারিত GitHub) ক্রিপ্টোগ্রাফিক ব্লকের বিরুদ্ধে ফার্মওয়্যার পরীক্ষা চালানো, অ-হস্তক্ষেপ এবং অন্যান্য দুর্বলতা পরীক্ষা করা। তারা ডেটা ব্লক চেক সহ সুরক্ষিত বুট চালায়। তারা ক্রিপ্টো ব্লকগুলিতে একাধিক নিরাপত্তা লঙ্ঘন খুঁজে পেয়েছে, যেখানে ব্লকে ECC সুরক্ষা অন্তর্ভুক্ত রয়েছে।

পলের দৃষ্টিভঙ্গি

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

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

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

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

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

রাউলের ​​দৃষ্টিভঙ্গি

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

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

আমার মতে

পল এবং রাউল আমি যা পরামর্শ দিয়েছি তার বেশিরভাগই কভার করেছে। আমি SVA প্রসারিত করার পলের ধারণা পছন্দ করি, অন্তত হাইপার-প্রপার্টি নিয়ে পরীক্ষা-নিরীক্ষাকে উৎসাহিত করতে। এটিকে অবশ্যই একটি নতুন ক্লাসের আকর্ষণীয় পরীক্ষা খুলতে হবে, যা অবশেষে নতুন বান্ডিল যাচাইকরণ পদ্ধতির দিকে নিয়ে যায়।

এর মাধ্যমে এই পোস্টটি ভাগ করুন: সূত্র: https://semiwiki.com/eda/299391-fuzzing-to-validate-soc-security-innovation-in-verification/

সময় স্ট্যাম্প:

থেকে আরো সেমিউইকি