Side-Channel Attacks: প্রসেসরের বিদ্যুৎ খরচ এবং ফ্রিকোয়েন্সি বিশ্লেষণ করে ক্রিপ্টোগ্রাফি ভাঙার পদ্ধতি!
Side-Channel Attacks-এর মূলনীতি, পাওয়ার অ্যানালাইসিস, ক্যাশ টাইমিং এবং Spectre/Meltdown-এর মতো ভয়াবহ আক্রমণের বিশ্লেষণ।
ক্রিপ্টোগ্রাফির ইতিহাসে দীর্ঘকাল ধরে গবেষকরা ধরে নিয়েছিলেন যে গাণিতিকভাবে নিখুঁত একটি অ্যালগরিদম যথাযথভাবে বাস্তবায়িত হলে সেটি অভেদ্য। AES-256, RSA-4096, ECDSA—এই অ্যালগরিদমগুলো গাণিতিকভাবে এমন শক্তিশালী যে সরাসরি ব্রুট ফোর্স আক্রমণ আজও কার্যত অসম্ভব। কিন্তু ১৯৯৬ সালে Paul Kocher-এর Timing Attack-এর গবেষণা এই ধারণাকে চিরতরে পরিবর্তন করে দেয়। তিনি দেখান যে অ্যালগরিদম যত শক্তিশালীই হোক, এর বাস্তবায়ন যদি ক্রিপ্টোগ্রাফিক অপারেশনের সময়, বিদ্যুৎ খরচ বা ইলেক্ট্রোম্যাগনেটিক বিকিরণে কোনো তথ্য ফাঁস করে, তবে আক্রমণকারী সেই তথ্য বিশ্লেষণ করে গোপন কী উদ্ধার করতে পারেন।
এই শ্রেণির আক্রমণকেই বলা হয় Side-Channel Attack। গত তিন দশকে এটি একটি বিশাল গবেষণা ক্ষেত্রে পরিণত হয়েছে, যার পরিসর স্মার্ট কার্ড এবং হার্ডওয়্যার সিকিউরিটি মডিউল (HSM) থেকে শুরু করে আধুনিক CPU-এর Spectre/Meltdown পর্যন্ত বিস্তৃত। এই আর্টিকেলে আমরা Side-Channel Attack-এর মৌলিক ধারণা, বিভিন্ন প্রকারভেদ, বাস্তব উদাহরণ এবং প্রতিরোধের কৌশল গভীরভাবে আলোচনা করব।
Side-Channel Attack-এর মূল ধারণা
ঐতিহ্যবাহী ক্রিপ্ট্যানালাইসিস অ্যালগরিদমের গাণিতিক দুর্বলতা খোঁজে। Side-Channel Attack এর বিপরীতে অ্যালগরিদমকে অক্ষত রেখে এর শারীরিক বা পার্শ্ব-পার্থক্যপূর্ণ আচরণ থেকে তথ্য সংগ্রহ করে। প্রতিটি কম্পিউটার, প্রসেসর বা ক্রিপ্টোগ্রাফিক ডিভাইস কার্যসম্পাদনের সময় কিছু পর্যবেক্ষণযোগ্য পার্শ্ব-প্রভাব উৎপন্ন করে—বিদ্যুৎ খরচ, তাপ, শব্দ, ইলেক্ট্রোম্যাগনেটিক বিকিরণ, এক্সিকিউশন সময়, ক্যাশ অ্যাক্সেস প্যাটার্ন, এমনকি ফ্যানের ঘূর্ণনের শব্দ। এই প্রতিটি চ্যানেল গোপন তথ্যের একটি সম্ভাব্য লিক হতে পারে।
আক্রমণের মূল ধারণাটি পরিসংখ্যানগত: যদি গোপন কী-এর বিভিন্ন বিট ভিন্ন ভিন্ন পার্শ্ব-প্রভাব তৈরি করে, তবে যথেষ্ট সংখ্যক পরিমাপ থেকে কী-এর প্রতিটি বিট সম্পর্কে অনুমান করা সম্ভব।
Side-Channel Attack-এর প্রধান শ্রেণিবিভাগ
১. Timing Attacks
এটি সবচেয়ে পুরনো এবং সরল ধরনের Side-Channel Attack। যদি একটি অপারেশন সম্পাদনের সময় ইনপুটের মানের উপর নির্ভর করে পরিবর্তিত হয়, তবে আক্রমণকারী সময়ের পার্থক্য পরিমাপ করে গোপন তথ্য নির্ধারণ করতে পারেন।
ক্লাসিক উদাহরণ হলো অনিরাপদ স্ট্রিং তুলনা। যদি একটি পাসওয়ার্ড যাচাই ফাংশন প্রথম অমিল বাইটে রিটার্ন করে, তবে আক্রমণকারী বিভিন্ন প্রিফিক্স দিয়ে চেষ্টা করে কোনটি সবচেয়ে বেশি সময় নেয় তা পরিমাপ করে এক বাইট এক বাইট করে সঠিক মান অনুমান করতে পারেন।
আরেকটি বিখ্যাত উদাহরণ হলো RSA-এর square-and-multiply বাস্তবায়ন। প্রতিটি '1' বিটে অতিরিক্ত multiplication হয় যা সময় বাড়ায়। সঠিক পরিমাপ পেলে কী-এর প্রতিটি বিট নির্ধারণ করা সম্ভব।
২. Power Analysis Attacks
Power Analysis Attack প্রথম প্রকাশ করেন Paul Kocher ১৯৯৯ সালে। এর দুটি প্রধান শ্রেণি রয়েছে:
Simple Power Analysis (SPA): ডিভাইসের বিদ্যুৎ খরচের একটি ট্রেস দেখে সরাসরি অপারেশনের ধরন চিহ্নিত করা যায়। RSA-এর মতো অ্যালগরিদমে square এবং multiply অপারেশনের পাওয়ার ট্রেস ভিন্ন দেখায়, ফলে কী-এর বিট প্যাটার্ন স্পষ্ট হয়।
Differential Power Analysis (DPA): হাজার হাজার বা লক্ষ লক্ষ পরিমাপ থেকে পরিসংখ্যানগত বিশ্লেষণ ব্যবহার করে অত্যন্ত ক্ষুদ্র পার্থক্যও বের করে আনা হয়। DPA এতটাই শক্তিশালী যে এটি SPA-প্রতিরোধী বাস্তবায়নকেও ভাঙতে পারে।
Correlation Power Analysis (CPA): DPA-এর একটি উন্নত সংস্করণ যা Pearson correlation coefficient ব্যবহার করে সম্ভাব্য কী মানের সাথে পরিমাপকৃত ট্রেসের সম্পর্ক বিশ্লেষণ করে।
৩. Electromagnetic (EM) Analysis
ডিভাইস যখন কাজ করে তখন এটি ইলেক্ট্রোম্যাগনেটিক বিকিরণ নির্গত করে। কাছাকাছি স্থাপিত একটি অ্যান্টেনা এই বিকিরণ ধরে বিশ্লেষণ করে পাওয়ার অ্যানালাইসিসের অনুরূপ তথ্য সংগ্রহ করতে পারে। এর সুবিধা হলো এটি যোগাযোগ ছাড়াই (non-contact) করা যায়—এমনকি দূর থেকেও।
বিখ্যাত TEMPEST গবেষণা দেখিয়েছে যে CRT মনিটর থেকে নির্গত ইলেক্ট্রোম্যাগনেটিক সংকেত বিশ্লেষণ করে স্ক্রিনের কন্টেন্ট পুনর্গঠন করা সম্ভব ছিল।
৪. Acoustic Cryptanalysis
২০১৩ সালে Daniel Genkin, Adi Shamir এবং Eran Tromer প্রমাণ করেন যে একটি ল্যাপটপের CPU যখন বিভিন্ন ক্রিপ্টোগ্রাফিক অপারেশন করে, তখন এটি উচ্চ-ফ্রিকোয়েন্সি শব্দ (capacitor coil whine) নির্গত করে যা একটি স্মার্টফোনের মাইক্রোফোন দিয়ে রেকর্ড করে বিশ্লেষণ করা যায়। তারা একটি GnuPG বাস্তবায়ন থেকে RSA কী উদ্ধার করতে সফল হন।
৫. Cache-based Attacks
আধুনিক CPU-এর মেমোরি ক্যাশ একটি বিশাল সাইড চ্যানেল। যখন একটি প্রসেস কোনো ডেটা অ্যাক্সেস করে, সেটি ক্যাশে লোড হয় এবং পরবর্তী অ্যাক্সেস দ্রুত হয়। আক্রমণকারী যদি একই CPU-তে চলেন (multi-tenant cloud পরিবেশের মতো), তবে তারা ক্যাশ অ্যাক্সেস প্যাটার্ন পর্যবেক্ষণ করে অন্য প্রসেসের ডেটা সম্পর্কে তথ্য পেতে পারেন।
প্রধান কৌশলগুলো হলো:
- Flush+Reload: শেয়ারড মেমোরির লাইন ফ্লাশ করে পরে অ্যাক্সেস সময় পরিমাপ করে অন্য প্রসেস সেটি অ্যাক্সেস করেছে কিনা নির্ধারণ।
- Prime+Probe: ক্যাশের নির্দিষ্ট সেট পূরণ করে পরে কোন লাইন ইভিক্ট হয়েছে তা পরিমাপ করে অন্যের অ্যাক্সেস প্যাটার্ন নির্ধারণ।
- Evict+Time: একটি অপারেশনের আগে নির্দিষ্ট ক্যাশ লাইন ইভিক্ট করে অপারেশনের সময় পরিবর্তন পরিমাপ।
৬. Speculative Execution Attacks
২০১৮ সালে আবিষ্কৃত Spectre এবং Meltdown আধুনিক প্রসেসরের speculative execution-এর সুযোগ নিয়ে গঠিত সবচেয়ে নাটকীয় সাইড-চ্যানেল আক্রমণ। প্রসেসর কর্মক্ষমতা বৃদ্ধির জন্য কন্ডিশনাল ব্রাঞ্চের পূর্বাভাস দিয়ে আগেই কোড এক্সিকিউট করে। যদি পূর্বাভাস ভুল হয়, ফলাফল বাতিল করা হয়—কিন্তু সাইড ইফেক্ট যেমন ক্যাশের অবস্থা পরিবর্তন থেকে যায়। এই অবশিষ্ট চিহ্ন বিশ্লেষণ করে আক্রমণকারী কার্নেল মেমোরি বা অন্য প্রসেসের গোপন ডেটা পড়তে পারেন।
পরবর্তীতে Foreshadow, ZombieLoad, RIDL, Fallout, MDS, LVI, Retbleed, Downfall, Inception-এর মতো আরও অনেক ভেরিয়েন্ট আবিষ্কৃত হয়েছে।
৭. Fault Injection Attacks
এটি একটি সক্রিয় আক্রমণ যেখানে আক্রমণকারী ইচ্ছাকৃতভাবে ডিভাইসে ত্রুটি প্রবেশ করিয়ে অস্বাভাবিক আচরণ তৈরি করেন এবং সেই আচরণ থেকে গোপন তথ্য বের করেন। উদাহরণস্বরূপ:
- Voltage Glitching: বিদ্যুৎ ভোল্টেজ মুহূর্তের জন্য পরিবর্তন করে ইনস্ট্রাকশন এড়িয়ে যাওয়া
- Clock Glitching: ক্লক সিগন্যাল হস্তক্ষেপ করে অপারেশন ব্যাহত করা
- Laser Fault Injection: চিপের নির্দিষ্ট অংশে লেজার দিয়ে বিট ফ্লিপ করা
- Rowhammer: DRAM-এ একই সারি বারবার অ্যাক্সেস করে পার্শ্ববর্তী সারিতে বিট ফ্লিপ ঘটানো
বাস্তব আক্রমণের উদাহরণ
ROCA Attack (2017): Infineon চিপের RSA কী জেনারেশনে দুর্বলতা ছিল যা টাইমিং অ্যানালাইসিস এবং গাণিতিক ফ্যাক্টরাইজেশনের মাধ্যমে শোষণ করা সম্ভব ছিল। লক্ষ লক্ষ স্মার্ট কার্ড, পাসপোর্ট এবং TPM চিপ এতে প্রভাবিত হয়।
TPM-Fail (2019): Intel এবং STMicroelectronics-এর TPM-এ টাইমিং সাইড চ্যানেলের মাধ্যমে ECDSA প্রাইভেট কী উদ্ধার করা সম্ভব ছিল।
Hertzbleed (2022): আধুনিক Intel এবং AMD প্রসেসরের Dynamic Voltage and Frequency Scaling (DVFS) সাইড চ্যানেল হিসেবে কাজ করে। CPU-এর ফ্রিকোয়েন্সি কাজের ভারের উপর নির্ভর করে; ফলে কাজের ভার পরিমাপ করে গোপন তথ্য বের করা যায়। এই গবেষণা SIKE পোস্ট-কোয়ান্টাম অ্যালগরিদম থেকে কী উদ্ধার করতে সফল হয়।
Downfall (2023): Intel-এর Gather instruction ব্যবহার করে অন্য প্রসেস বা VM-এর ডেটা পড়া সম্ভব ছিল।
প্রতিরোধ এবং প্রতিকার
Side-Channel Attack-এর বিরুদ্ধে প্রতিরক্ষা বহুস্তরীয়; অ্যালগরিদম, বাস্তবায়ন, হার্ডওয়্যার এবং সিস্টেম—প্রতিটি স্তরেই হস্তক্ষেপ প্রয়োজন।
Constant-time Implementation
ক্রিপ্টোগ্রাফিক কোড এমনভাবে লেখা যেখানে এক্সিকিউশন সময় ইনপুট মানের উপর নির্ভর করে না। কোনো শর্তসাপেক্ষ শাখা গোপন ডেটার উপর নির্ভর করবে না; কোনো টেবিল লুকআপ গোপন সূচক দিয়ে হবে না। libsodium, BoringSSL এবং OpenSSL-এর আধুনিক সংস্করণে এই নীতি কঠোরভাবে অনুসরণ করা হয়।
Masking এবং Blinding
গোপন মানকে এলোমেলো মান দিয়ে XOR বা ম্যাথমেটিক্যাল ব্লাইন্ডিং করে অপারেশন সম্পাদন করা, যাতে পাওয়ার ট্রেস বা টাইমিং থেকে সরাসরি কী-এর সাথে সম্পর্ক স্থাপন করা না যায়। RSA-তে exponent blinding এবং AES-তে boolean masking ব্যাপকভাবে ব্যবহৃত হয়।
Hardware Countermeasures
বিশেষ ডিজাইন করা চিপ যেখানে dummy operation যোগ করা, ক্লক random jitter, voltage regulator এবং shielding ব্যবহার করে সাইড চ্যানেল লিক হ্রাস করা হয়। Common Criteria EAL-5+ সার্টিফাইড স্মার্ট কার্ডগুলো এই ব্যবস্থা গ্রহণ করে।
Cache Partitioning
Intel CAT (Cache Allocation Technology) এবং AMD-এর সমতুল্য প্রযুক্তি বিভিন্ন প্রসেসের জন্য ক্যাশ পার্টিশন তৈরি করে cross-process leakage কমায়।
Speculative Execution Mitigations
KAISER/KPTI প্যাচ Meltdown প্রতিরোধে কাজ করে। lfence ইনস্ট্রাকশন speculative execution বাধাগ্রস্ত করে। Retpoline, IBRS, IBPB, SSBD-এর মতো প্রযুক্তি Spectre-জাতীয় আক্রমণ প্রতিরোধে ব্যবহৃত হয়।
Physical Security
ক্রিপ্টোগ্রাফিক ডিভাইসের শারীরিক অ্যাক্সেস নিয়ন্ত্রণ। HSM-এ tamper-evident এবং tamper-resistant কভার, EM shielding এবং পরিবেশ পর্যবেক্ষণ সেন্সর স্থাপন করা হয়।
Formal Verification
ক্রিপ্টোগ্রাফিক বাস্তবায়নকে গাণিতিকভাবে যাচাই করে নিশ্চিত করা যে এতে কোনো সাইড-চ্যানেল লিক নেই। CT-Verif, ctgrind, এবং MicroWalk-এর মতো টুল এই কাজে সহায়ক।
ক্লাউড পরিবেশে বিশেষ চ্যালেঞ্জ
পাবলিক ক্লাউডে একই ভৌত সার্ভারে একাধিক গ্রাহকের VM চালু থাকে। ফলে cross-VM সাইড-চ্যানেল আক্রমণ একটি বাস্তব হুমকি। AWS, Azure এবং Google Cloud-এর হাইপারভাইজার এই হুমকি প্রতিরোধে বিভিন্ন ব্যবস্থা নিয়েছে—যেমন co-residency detection প্রতিরোধ, dedicated host অপশন এবং confidential computing (Intel SGX, AMD SEV-SNP)।
Side-Channel Attack প্রমাণ করে যে নিরাপত্তা শুধু গাণিতিক নিখুঁততা নয়—বাস্তবায়নের প্রতিটি স্তরে সচেতনতা প্রয়োজন। একটি গাণিতিকভাবে অভেদ্য অ্যালগরিদমও একটি অসতর্ক বাস্তবায়নের কারণে কয়েক ঘণ্টার মধ্যে ভেঙে পড়তে পারে। স্মার্ট কার্ড থেকে আধুনিক ক্লাউড অবকাঠামো পর্যন্ত প্রতিটি ক্ষেত্রে সাইড-চ্যানেল গবেষণা নতুন নতুন দুর্বলতা প্রকাশ করছে। ডেভেলপার, সিকিউরিটি আর্কিটেক্ট এবং ক্রিপ্টোগ্রাফারদের জন্য এই ক্ষেত্রটি অনুধাবন এবং সংশ্লিষ্ট প্রতিরক্ষা ব্যবস্থা গ্রহণ আজ অপরিহার্য। ভবিষ্যতের কোয়ান্টাম এবং পোস্ট-কোয়ান্টাম যুগেও সাইড-চ্যানেল চিরন্তন প্রাসঙ্গিক থাকবে—কারণ যেখানেই হার্ডওয়্যার আছে, সেখানেই কোনো না কোনো শারীরিক চ্যানেল দিয়ে তথ্য ফাঁস হওয়ার সুযোগ থাকবে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Side-Channel Attacks MCQ Quiz-টি দিন!
Related articles
Fault Injection: Breaking Hardware Encryption via Voltage Manipulation
12 min
Cryptanalysis: Techniques for Analyzing and Breaking Modern Cryptographic Algorithms
10 min
Firmware Forensics: Detecting Hidden Malicious Code in Hardware
12 min
NFC Exploitation: Hacking Risks of Contactless Payments and Technology
10 min

