Fault Injection: হার্ডওয়্যারের ভোল্টেজ পরিবর্তন করে এনক্রিপশন ভাঙার পদ্ধতি!
Fault Injection আক্রমণে কীভাবে ভোল্টেজ, ঘড়ি, লেজার দ্বারা হার্ডওয়্যার ক্রিপ্টোগ্রাফিক সিস্টেম ভাঙা হয় তার বিশ্লেষণ।
সাইবার নিরাপত্তা সাধারণত আমরা সফটওয়্যার দুর্বলতা বা নেটওয়ার্ক প্রোটোকলের ভুল হিসেবে চিন্তা করি। কিন্তু হার্ডওয়্যারের জগতে এমন এক ধরনের আক্রমণ আছে যা সম্পূর্ণ ভিন্ন স্তরে কাজ করে—যেখানে আক্রমণকারী একটি চিপের ভৌত পরিবেশ পরিবর্তন করে ভুল গণনা ঘটিয়ে গোপন তথ্য বের করেন। একটি স্মার্ট কার্ড, একটি IoT ডিভাইস, কিংবা একটি গাড়ির ECU—এসব সিস্টেম তাদের গাণিতিক অখণ্ডতার ওপর নির্ভরশীল। কিন্তু যদি একটি ক্রিপ্টোগ্রাফিক অপারেশনের মাঝখানে চিপের ভোল্টেজ মুহূর্তের জন্য কমিয়ে দেওয়া হয়, বা ঘড়ির সিগনাল ব্যাহত করা হয়, কিংবা একটি লেজার দিয়ে নির্দিষ্ট ট্রানজিস্টর আঘাত করা হয়—তাহলে চিপ ভুল ফলাফল উৎপন্ন করে যা থেকে গোপন কী পুনরুদ্ধার করা সম্ভব। এই কৌশলটিই পরিচিত Fault Injection নামে।
Fault Injection এর মৌলিক ধারণা
Fault Injection হলো একটি হার্ডওয়্যার আক্রমণ পদ্ধতি যেখানে একটি ইলেকট্রনিক ডিভাইসের স্বাভাবিক কার্যকারিতাকে ইচ্ছাকৃতভাবে ব্যাহত করা হয় যাতে সেটি ভুল আচরণ করে। উদ্দেশ্য সাধারণত দুটি—হয় ক্রিপ্টোগ্রাফিক অপারেশন থেকে গোপন কী বের করা, অথবা নিরাপত্তা যাচাই বাইপাস করা যেমন পিন কোড যাচাইকরণ এড়ানো বা সিকিউর বুট লঙ্ঘন করা।
এই আক্রমণের শক্তিশালী দিক হলো এটি সফটওয়্যার দুর্বলতার উপর নির্ভর করে না। একটি চিপ যত নিখুঁতভাবেই প্রোগ্রাম করা হোক, তার ভৌত উপাদানগুলো—ট্রানজিস্টর, ক্যাপাসিটর, ঘড়ি জেনারেটর—এ সব নির্দিষ্ট অপারেশনাল প্যারামিটারের মধ্যে কাজ করে। যদি এই প্যারামিটারগুলো লঙ্ঘিত হয়, চিপ অপ্রত্যাশিত আচরণ করে এবং সেই আচরণ থেকে গোপন তথ্য বেরিয়ে আসতে পারে।
Fault Injection আক্রমণের ইতিহাস ১৯৯৭ সাল পর্যন্ত পেছনে যায়, যখন Boneh, DeMillo এবং Lipton প্রথম প্রমাণ করেন যে RSA এর CRT বাস্তবায়নে একটি একক ভুল গণনা থেকে সম্পূর্ণ প্রাইভেট কী পুনরুদ্ধার করা যায়। এই আবিষ্কার হার্ডওয়্যার নিরাপত্তার জগতে এক নতুন যুগ শুরু করে।
প্রধান Fault Injection কৌশল
Fault Injection এর কয়েকটি প্রধান কৌশল রয়েছে, প্রতিটিরই নিজস্ব সরঞ্জাম এবং প্রযুক্তিগত চ্যালেঞ্জ আছে। Voltage Glitching হলো সবচেয়ে সহজলভ্য এবং জনপ্রিয় কৌশল। এতে চিপের পাওয়ার সাপ্লাই মুহূর্তের জন্য একটি অস্বাভাবিকভাবে নিম্ন মানে কমিয়ে দেওয়া হয়, যেমন ৩.৩ ভোল্ট থেকে এক মাইক্রোসেকেন্ডের জন্য ১.৫ ভোল্ট। এর ফলে চিপের কিছু লজিক গেট ঠিকমতো সুইচ করতে পারে না এবং ভুল ফলাফল আসে। ChipWhisperer এর মতো ওপেন সোর্স প্ল্যাটফর্ম এই ধরনের আক্রমণ সাশ্রয়ী মূল্যে প্রদর্শন করতে সক্ষম।
Clock Glitching এ চিপের ঘড়ি সিগনালে অতিরিক্ত পালস বা ছোট সাইকেল যোগ করা হয়। যদি একটি অপারেশন সঠিকভাবে সম্পন্ন হওয়ার আগে পরবর্তী ঘড়ি সাইকেল আসে, ফলাফল ভুল হবে। এই কৌশল বিশেষত মাইক্রোকন্ট্রোলারের ক্ষেত্রে কার্যকর।
Electromagnetic Fault Injection বা EMFI এ চিপের নির্দিষ্ট অংশের উপর একটি শক্তিশালী চৌম্বকীয় পালস প্রয়োগ করা হয়। ছোট কয়েল ব্যবহার করে আক্রমণকারী চিপের পৃষ্ঠে নির্দিষ্ট স্থানে আঘাত করতে পারেন এবং ট্রানজিস্টরের অবস্থা পরিবর্তন করতে পারেন। এটি অপ্রতিসম এবং নির্দিষ্ট লক্ষ্যযুক্ত আক্রমণের জন্য উপযোগী।
Laser Fault Injection হলো সবচেয়ে নির্ভুল কিন্তু ব্যয়বহুল পদ্ধতি। একটি উচ্চ ক্ষমতার লেজার ব্যবহার করে চিপের নির্দিষ্ট অঞ্চলে আলো ফেলা হয়, যা সেই অঞ্চলের সিলিকনে অস্থায়ীভাবে অতিরিক্ত ইলেকট্রন তৈরি করে এবং বিট ফ্লিপ ঘটায়। এই আক্রমণের জন্য চিপ ডিকেপসুলেট করতে হয় এবং সঠিক স্থানে লেজার ফোকাস করতে হয়। Body Biasing Injection এ চিপের সাবস্ট্রেট ভোল্টেজ পরিবর্তন করা হয়।
ক্রিপ্টোগ্রাফিক আক্রমণের গণিত
Fault Injection কেন কাজ করে তা বুঝতে হলে কিছু গণিত প্রয়োজন। RSA এর CRT বাস্তবায়নে প্রাইভেট অপারেশন দুটি ছোট গণনায় ভেঙে ফেলা হয়—একটি p মডুলো এবং একটি q মডুলো, যেখানে n = p × q। চূড়ান্ত ফলাফল চীনা অবশিষ্ট উপপাদ্য ব্যবহার করে একত্রিত করা হয়। যদি একটি গণনার মাঝে ভুল হয়, তাহলে একটি ভুল সিগনেচার বের হয়।
আক্রমণকারী যদি সঠিক সিগনেচার S এবং ভুল সিগনেচার S' উভয়ই পান, তাহলে GCD(S − S', n) গণনা করলে p অথবা q এর মান বেরিয়ে আসে, যা সম্পূর্ণ প্রাইভেট কী আপোস করে। AES এর বিরুদ্ধে Differential Fault Analysis বা DFA কাজ করে একই নীতিতে—একটি ভুল গণনা এবং একটি সঠিক গণনার ফলাফলের পার্থক্য বিশ্লেষণ করে গোপন কী অংশ অংশ করে পুনরুদ্ধার করা হয়।
ECDSA এবং ECC ভিত্তিক ক্রিপ্টোগ্রাফিতেও Fault Attack প্রয়োগযোগ্য। Bellcore Attack নামে পরিচিত মূল কৌশলটি বহু আধুনিক ক্রিপ্টোসিস্টেমে কিছু না কিছু রূপে কাজ করে। গবেষকরা একটি কার্যকর Fault মডেল তৈরির পর প্রায়শই একটি বা দুটি ভুল গণনা থেকেই সম্পূর্ণ কী বের করতে পারেন।
বাস্তব আক্রমণের উদাহরণ
Fault Injection আক্রমণের অসংখ্য বাস্তব উদাহরণ আছে। প্লেস্টেশন ৩ এর সিকিউর বুট ভাঙা হয়েছিল আংশিকভাবে Glitch Attack ব্যবহার করে, যা পরবর্তীতে পাইরেসি এবং কাস্টম ফার্মওয়্যারের পথ খুলে দেয়। Xbox 360 এর Reset Glitch Hack ছিল একটি কুখ্যাত আক্রমণ যা CPU এর Reset লাইনে একটি সুনির্দিষ্ট মুহূর্তে পালস পাঠিয়ে হ্যাশ যাচাইকরণ বাইপাস করত।
স্মার্ট কার্ডের ক্ষেত্রে Fault Injection অনেক পুরনো এবং সুপরিচিত আক্রমণ ভেক্টর। ব্যাংক কার্ড, পরিবহন কার্ড, GSM SIM কার্ড—এই সবই Fault Attack এর বিরুদ্ধে পরীক্ষা করতে হয় Common Criteria সার্টিফিকেশনের জন্য। বিশেষ পরীক্ষাগারে গবেষকরা প্রতিটি নতুন চিপ ডিজাইনকে কয়েক মাস ধরে এই ধরনের আক্রমণের অধীনে রাখেন।
আধুনিক উদাহরণ হিসেবে ESP32 মাইক্রোকন্ট্রোলারের সিকিউর বুটে Glitch Attack নিয়ে বহু গবেষণা প্রকাশিত হয়েছে। AMD এর Secure Encrypted Virtualization বা SEV প্রযুক্তিতে Voltage Fault Attack এর মাধ্যমে ক্লাউড পরিবেশে অন্য ভার্চুয়াল মেশিনের মেমোরি পড়ার দুর্বলতা প্রদর্শিত হয়েছে। Trezor এবং Ledger এর মতো হার্ডওয়্যার ওয়ালেট গবেষকরা বারবার Fault Injection দ্বারা পরীক্ষা করেন এবং নির্মাতারা নতুন প্রতিরক্ষা যুক্ত করেন।
Fault Injection সরঞ্জাম
পেশাদার Fault Injection গবেষণার জন্য বিশেষ সরঞ্জাম প্রয়োজন। ChipWhisperer একটি ওপেন সোর্স প্ল্যাটফর্ম যা শিক্ষাগত উদ্দেশ্যে এবং পেশাদার গবেষণা উভয় ক্ষেত্রেই ব্যবহৃত হয়। এর বিভিন্ন সংস্করণ Voltage Glitching, Clock Glitching এবং Power Analysis করতে সক্ষম।
Riscure এর Inspector হার্ডওয়্যার এবং সফটওয়্যার সমাধান একটি শিল্প মান, যা EMFI, Laser FI এবং Side Channel Analysis সব একসাথে করতে পারে। Langer EMV-Technik এর প্রোব Electromagnetic আক্রমণের জন্য ব্যবহৃত হয়। Alphanov এর লেজার সিস্টেম Laser Fault Injection এর জন্য বিশেষায়িত।
ছোট গবেষকদের জন্য Glitchy বা Faultier এর মতো সাশ্রয়ী টুল রয়েছে। সফটওয়্যার পক্ষে FISim, Riscure Inspector, এবং Newae Technology এর সফটওয়্যার স্ট্যাক ব্যাপকভাবে ব্যবহৃত হয়। সাম্প্রতিক বছরগুলোতে কিছু ওপেন সোর্স Fault Simulator যেমন Archie এবং FAUL3 গবেষণা সম্প্রদায়ে জনপ্রিয় হয়েছে।
প্রতিরক্ষামূলক কৌশল
Fault Injection আক্রমণ থেকে রক্ষা পেতে চিপ ডিজাইনারদের একাধিক স্তরের প্রতিরক্ষা যুক্ত করতে হয়। সবচেয়ে মৌলিক পদ্ধতি হলো Redundancy। গুরুত্বপূর্ণ গণনা দুই বা তিন বার চালানো এবং ফলাফল মেলালে তবেই গ্রহণ করা। Time Redundancy এবং Spatial Redundancy দুটি আলাদা পদ্ধতি।
Sensor ভিত্তিক প্রতিরক্ষায় চিপে ভোল্টেজ মনিটর, ক্লক মনিটর, তাপমাত্রা সেন্সর, এবং আলো সেন্সর যুক্ত করা হয়। যদি কোনো অস্বাভাবিক পরিবেশ শনাক্ত হয়, চিপ স্বয়ংক্রিয়ভাবে নিজেকে রিসেট করে বা সংবেদনশীল তথ্য মুছে ফেলে। Active Mesh বা Active Shield হলো একটি মেটাল লেয়ার যা চিপের সংবেদনশীল অঞ্চল ঢেকে রাখে এবং কেউ চিপ ডিকেপসুলেট করতে চাইলে শনাক্ত হয়।
ক্রিপ্টোগ্রাফিক বাস্তবায়নে Fault Resistant অ্যালগরিদম ব্যবহার করা হয়। RSA-CRT এর ক্ষেত্রে Shamir Trick এবং Vigilant Method এর মতো কৌশল আছে যা ভুল গণনা শনাক্ত করতে পারে এবং ভুল সিগনেচার প্রকাশের আগে অপারেশন বাতিল করে। AES বাস্তবায়নে Masking এবং Threshold Implementation কৌশল ব্যবহৃত হয়।
Software Counter Measure যেমন Random Delay যোগ করা, Instruction Duplication, এবং Critical Comparison এর পুনরাবৃত্তি—এই সব Fault Attack সফল হওয়ার সম্ভাবনা কমায়। উন্নত Compiler অপটিমাইজেশন কখনো কখনো এই সুরক্ষাগুলো সরিয়ে দেয়, তাই কোডের নিম্নস্তরের পরীক্ষা গুরুত্বপূর্ণ।
নৈতিক বিবেচনা এবং বৈধতা
Fault Injection আক্রমণের প্রযুক্তি গভীর গবেষণার ফসল, কিন্তু এর প্রয়োগে নৈতিক প্রশ্ন আছে। আপনার নিজের ডিভাইস পরীক্ষা করা সাধারণত বৈধ, এবং নিরাপত্তা গবেষণার অংশ হিসেবে Responsible Disclosure নীতির অধীনে কাজ করা গ্রহণযোগ্য। কিন্তু কারো অনুমতি ছাড়া তাদের ডিভাইস ভাঙার চেষ্টা অপরাধমূলক হতে পারে।
কিছু দেশে DMCA এর মতো আইন রিভার্স ইঞ্জিনিয়ারিং এবং Bypass প্রযুক্তি নিয়ন্ত্রণ করে। গবেষকদের তাদের কাজের আইনি কাঠামো বুঝে চলতে হবে। শিল্প সম্মেলন যেমন CHES, CARDIS, FDTC তে Fault Injection গবেষণা প্রকাশিত হয় এবং একাডেমিক সম্প্রদায় এই বিষয়ে স্বচ্ছ সংলাপ বজায় রাখে।
প্রতিরোধ ও প্রতিকার
ব্যবহারিক পরিভাষায় Fault Injection প্রতিরোধে কয়েকটি পদক্ষেপ গুরুত্বপূর্ণ। চিপ নির্বাচনের সময় Common Criteria EAL5+ সার্টিফিকেশনযুক্ত সিকিউর এলিমেন্ট বা স্মার্ট কার্ড গ্রেড চিপ ব্যবহার করতে হবে যেখানে নির্মাতা সরাসরি Fault Resistance যাচাই করেছে। সাধারণ মাইক্রোকন্ট্রোলার সংবেদনশীল কী সংরক্ষণের জন্য উপযুক্ত নয়।
সফটওয়্যার বাস্তবায়নে কোনো একক যাচাইকরণের ওপর নির্ভর না করে একাধিক স্বাধীন যাচাই করতে হবে। সংবেদনশীল গণনার আগে এবং পরে অখণ্ডতা পরীক্ষা সক্রিয় রাখতে হবে। ডিভাইসের অপারেশনাল প্যারামিটার পর্যবেক্ষণ করতে হবে এবং অস্বাভাবিকতা শনাক্ত হলে সংবেদনশীল কী মুছে ফেলার প্রস্তুতি রাখতে হবে।
হার্ডওয়্যার ডিজাইনে Mesh Protection, ভোল্টেজ এবং ক্লক মনিটর, এবং Tamper Detection Switch যুক্ত করতে হবে। গুরুত্বপূর্ণ চিপগুলোর জন্য Anti Tamper কোটিং ব্যবহার করা যেতে পারে যা চিপ খুলতে চেষ্টা করলে ক্ষতিগ্রস্ত হয়। নিরাপত্তা মূল্যায়নে Fault Injection টেস্টিং অন্তর্ভুক্ত করতে হবে।
Fault Injection হার্ডওয়্যার নিরাপত্তার সবচেয়ে আকর্ষণীয় এবং প্রযুক্তিগতভাবে চ্যালেঞ্জিং ক্ষেত্রগুলোর একটি, যেখানে পদার্থবিদ্যা, ইলেকট্রনিক্স, এবং ক্রিপ্টোগ্রাফি একসাথে মিলিত হয়। ভোল্টেজ গ্লিচ থেকে লেজার আক্রমণ পর্যন্ত, এই প্রযুক্তি দেখায় যে কেবল ভৌতিক জগতে কয়েক ন্যানোসেকেন্ডের অস্থিরতা একটি গাণিতিকভাবে নিখুঁত ক্রিপ্টোসিস্টেমকেও ভেঙে ফেলতে পারে। স্মার্ট কার্ড, IoT ডিভাইস, হার্ডওয়্যার ওয়ালেট, গাড়ির ECU—যেকোনো সিস্টেম যা ভৌত পরিবেশে চলে এবং সংবেদনশীল কী ধারণ করে, তাদের জন্য Fault Injection একটি বাস্তব হুমকি। সঠিক প্রতিরক্ষা গড়ে তুলতে হার্ডওয়্যার এবং সফটওয়্যার উভয় স্তরে সমন্বিত পদক্ষেপ প্রয়োজন। নিরাপত্তা গবেষক এবং ডিজাইনারদের মধ্যে যে দীর্ঘস্থায়ী যুদ্ধ চলছে, তাতে Fault Injection আসন্ন বছরগুলোতেও কেন্দ্রবিন্দুতে থাকবে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Fault Injection MCQ Quiz-টি দিন!
Related articles
Firmware Forensics: Detecting Hidden Malicious Code in Hardware
12 min
NFC Exploitation: Hacking Risks of Contactless Payments and Technology
10 min
TEMPEST Attacks: The Silent Cyber Espionage via Electromagnetic Emanations
10 min
5G Security: Unveiling Cyber Attack Risks in Modern Networks and Mitigation Strategies
10 min

