CAN Bus Injection: আধুনিক গাড়ির ইন্টারনাল নেটওয়ার্ক হ্যাক করে নিয়ন্ত্রণ নেওয়া!
CAN Bus Injection-এর কারিগরি বিশ্লেষণ—গাড়ির অভ্যন্তরীণ নেটওয়ার্কে আক্রমণ, বাস্তব উদাহরণ ও কার্যকর প্রতিরক্ষা ব্যবস্থা।
একটি আধুনিক গাড়ি আসলে চাকা বসানো একটি কম্পিউটার নেটওয়ার্ক। একটি বিলাসবহুল সেডানে ৭০ থেকে ১০০টি Electronic Control Unit (ECU) থাকে যা ইঞ্জিন, ট্রান্সমিশন, ব্রেক, স্টিয়ারিং, এয়ারব্যাগ, ইনফোটেইনমেন্ট থেকে শুরু করে দরজার লক পর্যন্ত সব কিছু নিয়ন্ত্রণ করে। এই ECU-গুলো একে অপরের সাথে কথা বলে Controller Area Network বা সংক্ষেপে CAN Bus নামক একটি বিশেষ নেটওয়ার্কের মাধ্যমে। ১৯৮৬ সালে Bosch কোম্পানি যখন CAN প্রোটোকল ডিজাইন করেছিল, তখন সাইবার নিরাপত্তা কোনো বিবেচনার বিষয় ছিল না। ফলে এই প্রোটোকলে কোনো অথেন্টিকেশন বা এনক্রিপশন নেই—যে কেউ বাসে অ্যাক্সেস পেলে যেকোনো বার্তা পাঠাতে পারে। এই আর্টিকেলে আমরা CAN Bus Injection-এর কারিগরি দিকগুলো এবং আধুনিক স্বয়ংচালিত নিরাপত্তার চ্যালেঞ্জ বিস্তারিত আলোচনা করব।
CAN Bus প্রোটোকলের মৌলিক ধারণা
CAN একটি ডিফারেনশিয়াল সিরিয়াল বাস যা দুটি তার (CAN-H এবং CAN-L) দিয়ে চলে। এটি ১২৫ Kbps থেকে ১ Mbps পর্যন্ত গতিতে কাজ করে। প্রতিটি বার্তা একটি Arbitration ID (CAN ID), Data Length Code, এবং ০ থেকে ৮ বাইট ডেটা নিয়ে গঠিত।
CAN-এ কোনো কেন্দ্রীয় নিয়ন্ত্রক নেই—এটি Multi-Master Broadcast আর্কিটেকচার। যেকোনো ECU যেকোনো সময়ে বার্তা পাঠাতে পারে। দুটি বার্তা একসাথে পাঠানো হলে CAN ID-র উপর ভিত্তি করে Arbitration ঘটে—কম CAN ID-যুক্ত বার্তা অগ্রাধিকার পায়।
বাস্তবে একটি আধুনিক গাড়িতে একাধিক CAN বাস থাকে, প্রতিটি ভিন্ন গতিতে। High-Speed CAN (HS-CAN) ইঞ্জিন ও ট্রান্সমিশনের মতো গুরুত্বপূর্ণ কম্পোনেন্টের জন্য, Mid-Speed CAN (MS-CAN) চেসিস সিস্টেমের জন্য, এবং Low-Speed CAN (LS-CAN) আরামদায়ক বৈশিষ্ট্যের জন্য। এদের মাঝে যোগাযোগ ঘটে Gateway ECU-র মাধ্যমে।
OBD-II এবং আক্রমণের প্রবেশদ্বার
প্রতিটি আধুনিক গাড়িতে ড্রাইভারের সিটের নিচে একটি OBD-II পোর্ট আছে, যা মূলত ডায়াগনস্টিক যন্ত্র সংযোগের জন্য। এই পোর্টের মাধ্যমে CAN বাসে সরাসরি অ্যাক্সেস পাওয়া যায়। মাত্র ২০-৩০ ডলারের একটি ELM327 অ্যাডাপ্টার বা SocketCAN-সক্ষম একটি ডিভাইস ব্যবহার করে যে কেউ গাড়ির অভ্যন্তরীণ যোগাযোগ পর্যবেক্ষণ ও পাঠাতে পারেন।
OBD-II-এর বাইরেও আক্রমণের একাধিক প্রবেশপথ রয়েছে। ইনফোটেইনমেন্ট সিস্টেমের USB পোর্ট, Bluetooth, Wi-Fi, এমনকি গাড়ির TPMS (Tire Pressure Monitoring System) সেন্সরও আক্রমণের লক্ষ্য হতে পারে। সবচেয়ে উদ্বেগজনক হলো Cellular Connection (Telematics Unit), যা আক্রমণকারীকে দূরবর্তী স্থান থেকে গাড়িতে পৌঁছানোর সুযোগ দেয়।
জিপ চেরোকি হ্যাক—একটি যুগান্তকারী ঘটনা
২০১৫ সালে নিরাপত্তা গবেষক Charlie Miller এবং Chris Valasek একটি জিপ চেরোকি গাড়িতে দূরবর্তী আক্রমণ প্রদর্শন করেন যা স্বয়ংচালিত নিরাপত্তাকে জনসচেতনতার কেন্দ্রবিন্দুতে নিয়ে আসে। তারা Sprint Cellular Network-এর মাধ্যমে গাড়ির Uconnect ইনফোটেইনমেন্ট সিস্টেমে দূরবর্তী কোড এক্সিকিউশন পান।
এরপর তারা ইনফোটেইনমেন্ট সিস্টেম থেকে V850 চিপের ফার্মওয়্যার পুনরায় ফ্ল্যাশ করেন, যা CAN বাসে সংযুক্ত ছিল। ফলে তারা সরাসরি CAN বার্তা পাঠাতে সক্ষম হন। হাইওয়েতে ৭০ মাইল প্রতি ঘণ্টা গতিতে চলন্ত গাড়ির এসি, রেডিও, ওয়াইপার নিয়ন্ত্রণ থেকে শুরু করে ট্রান্সমিশন বিচ্ছিন্ন এবং ব্রেক নিষ্ক্রিয় করা পর্যন্ত করেন। এই ঘটনার পর Chrysler ১.৪ মিলিয়ন গাড়ি রিকল করতে বাধ্য হয়।
CAN Injection-এর কারিগরি দিক
একটি সাধারণ CAN Injection আক্রমণ কয়েকটি ধাপে সম্পন্ন হয়। প্রথমে আক্রমণকারী CAN বাসে শুনে স্বাভাবিক ট্রাফিক রেকর্ড করেন। তারা প্রতিটি CAN ID-র সাথে কোন ECU এবং কোন ফাংশন সম্পর্কিত তা ম্যাপ করেন।
এটি করার জন্য Reverse Engineering প্রয়োজন। গবেষকরা সাধারণত একটি পরিচিত কাজ করেন (যেমন স্টিয়ারিং হুইল ঘোরানো) এবং সেই সময়ের বার্তা প্যাটার্ন বিশ্লেষণ করেন। গাড়ির প্রস্তুতকারক DBC (CAN Database) ফাইল ব্যবহার করে যা CAN ID-গুলোকে সিগন্যাল নামে ম্যাপ করে, কিন্তু এটি সাধারণত গোপন।
CAN ID শনাক্তের পর Injection দুটি উপায়ে করা যায়। প্রথম পদ্ধতি হলো নতুন বার্তা পাঠানো—আক্রমণকারী একটি দূষিত বার্তা CAN বাসে পাঠান এবং গন্তব্য ECU সেটিকে বৈধ মনে করে। দ্বিতীয় পদ্ধতি হলো বৈধ ECU-কে বাস অফ অবস্থায় বাধ্য করা—যাতে শুধু আক্রমণকারীর বার্তা কার্যকর হয়।
আরেকটি অত্যাধুনিক কৌশল হলো UDS (Unified Diagnostic Services) প্রোটোকল অপব্যবহার। UDS ECU-তে ডায়াগনস্টিক কমান্ড পাঠানোর জন্য, কিন্তু এই কমান্ডের মধ্যে রয়েছে ECU রিসেট, ফার্মওয়্যার ফ্ল্যাশ, এমনকি ক্যালিব্রেশন পরিবর্তন। নিরাপত্তা অ্যাক্সেস (Service 0x27) সাধারণত একটি Seed-Key অ্যালগরিদম ব্যবহার করে, যা প্রায়শই দুর্বল এবং রিভার্স ইঞ্জিনিয়ারিং-এ ভেঙে ফেলা সম্ভব।
টুল ও পদ্ধতি
CAN বিশ্লেষণের জন্য SocketCAN একটি Linux কার্নেল মডিউল যা CAN ইন্টারফেসকে নেটওয়ার্ক সকেট হিসেবে এক্সপোজ করে। এর সাথে আসা can-utils প্যাকেজে রয়েছে candump, cansend, canplayer-এর মতো টুল।
Wireshark CAN ডিসেক্টরসহ আসে যা ট্রাফিক বিশ্লেষণে সাহায্য করে। CANalyzer এবং CANoe হলো Vector-এর তৈরি পেশাদার-গ্রেড টুল যা স্বয়ংচালিত প্রকৌশলে ব্যাপকভাবে ব্যবহৃত হয়।
গবেষকরা হার্ডওয়্যার হিসেবে CANtact, CANable, এবং PCAN-USB-এর মতো ইউএসবি-টু-CAN অ্যাডাপ্টার ব্যবহার করেন। আরও উন্নত পরীক্ষার জন্য Goodfet বা CANBadger-এর মতো বিশেষায়িত ডিভাইস রয়েছে। OpenGarages কমিউনিটির ICSim একটি চমৎকার সিমুলেটর যা ব্যাচেলরদের শেখার জন্য বাস্তব গাড়ি ছাড়াই CAN নিয়ে অনুশীলন করতে দেয়।
আধুনিক হুমকি—Key Fob Relay ও CAN Injection চুরি
সম্প্রতি একটি ভয়াবহ নতুন কৌশল আবিষ্কৃত হয়েছে—CAN Injection Theft। ২০২৩ সালে নিরাপত্তা গবেষক Ian Tabor দেখান যে চোররা গাড়ির হেডলাইট সংযোগের মাধ্যমে CAN বাসে পৌঁছে নকল কী মেসেজ ইনজেক্ট করে গাড়ি চুরি করছে।
আক্রমণকারীরা হেডলাইট অ্যাসেম্বলি খুলে ভিতরের CAN তার শনাক্ত করেন এবং একটি ছোট ডিভাইস সংযুক্ত করেন যা JBL ব্লুটুথ স্পিকারের মতো দেখতে। এই ডিভাইস CAN বাসে নকল "Key Detected" বার্তা পাঠায়, ফলে ইঞ্জিন স্টার্ট হয়। মাত্র কয়েক মিনিটে Toyota RAV4, Lexus, এবং অন্যান্য গাড়ি চুরি হচ্ছে।
কী Fob Relay Attack-ও বহুল প্রচলিত। দুজন চোর দুটি বিশেষায়িত ডিভাইস ব্যবহার করে—একজন বাড়ির কাছে গিয়ে কী Fob-এর সংকেত ধরেন এবং অন্যজন গাড়ির পাশে সেই সংকেত পুনঃপ্রেরণ করেন। গাড়ি ভাবে কী Fob কাছে আছে এবং দরজা খুলে দেয়।
প্রতিরোধ ও প্রতিকার
স্বয়ংচালিত নিরাপত্তা একটি দ্রুত বিকশিত ক্ষেত্র। প্রস্তুতকারকরা CAN-FD এবং Automotive Ethernet গ্রহণ করছেন যা উচ্চ গতি ও কিছু নিরাপত্তা বৈশিষ্ট্য প্রদান করে। CAN-FD-এ ৬৪ বাইট পর্যন্ত ডেটা সমর্থন এবং Secure Onboard Communication (SecOC) সক্ষম করা সম্ভব।
SecOC প্রতিটি বার্তায় Message Authentication Code (MAC) যোগ করে, যা স্পুফিং প্রতিরোধ করে। তবে এটি সব ECU-তে বাস্তবায়ন এখনো বিরল এবং পুরোনো গাড়িতে রেট্রোফিট করা কঠিন।
Gateway ECU-তে কঠোর ফিল্টারিং একটি কার্যকর কৌশল। OBD-II পোর্ট থেকে শুধু নির্দিষ্ট ডায়াগনস্টিক বার্তা যেতে দেওয়া এবং অন্য সব ব্লক করা ECU-গুলোকে সুরক্ষা দেয়। ইনফোটেইনমেন্ট সিস্টেম এবং Telematics Unit-কে কঠোর সেগমেন্টেশনের মাধ্যমে গুরুত্বপূর্ণ CAN বাস থেকে আলাদা রাখা উচিত।
ECU ফার্মওয়্যারের জন্য Secure Boot এবং Code Signing অপরিহার্য। Hardware Security Module (HSM) ব্যবহার করে cryptographic key সুরক্ষিতভাবে সংরক্ষণ করা যায়। AUTOSAR-এর Secure Communication স্পেসিফিকেশন এই বিষয়ে স্ট্যান্ডার্ড প্রদান করে।
নেটওয়ার্ক স্তরে Intrusion Detection System (IDS) বাজারে আসছে যা CAN বাসে অস্বাভাবিক ট্রাফিক প্যাটার্ন শনাক্ত করতে পারে। Argus Cyber Security, Karamba Security, এবং Upstream এই ক্ষেত্রে অগ্রণী।
ব্যবহারকারীর পর্যায়ে কী Fob চাবি একটি Faraday Pouch-এ রাখা Relay Attack প্রতিরোধে কার্যকর। OBD-II পোর্টে একটি লক ইনস্টল করা যেতে পারে। নিয়মিত গাড়ির সফটওয়্যার আপডেট প্রয়োগ করা—Tesla এবং কিছু আধুনিক গাড়িতে OTA আপডেট আছে—অত্যন্ত গুরুত্বপূর্ণ।
UNECE WP.29 R155 রেগুলেশন এখন স্বয়ংচালিত প্রস্তুতকারকদের জন্য সাইবার নিরাপত্তা ব্যবস্থাপনা সিস্টেম বাধ্যতামূলক করেছে। ISO/SAE 21434 স্ট্যান্ডার্ড এই বিষয়ে বিস্তারিত নির্দেশনা দেয়।
CAN Bus Injection আধুনিক স্বয়ংচালিত নিরাপত্তার সবচেয়ে গুরুত্বপূর্ণ চ্যালেঞ্জগুলোর একটি। আমাদের যানবাহন যত বেশি ডিজিটাল ও সংযুক্ত হচ্ছে, ততই আক্রমণের পৃষ্ঠতল বাড়ছে। স্বচালিত গাড়ির আগমনের সাথে সাথে এই হুমকি জীবনের প্রশ্ন হয়ে উঠছে—একটি সফল সাইবার আক্রমণ সরাসরি প্রাণহানির কারণ হতে পারে। প্রস্তুতকারক, গবেষক, এবং নিয়ন্ত্রক সংস্থার যৌথ প্রচেষ্টার মাধ্যমেই কেবল আগামীর নিরাপদ যানবাহন নিশ্চিত করা সম্ভব।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ CAN Bus Injection MCQ Quiz-টি দিন!

