Modbus Exploitation: ইন্ডাস্ট্রিয়াল প্রোটোকল মডবাসের দুর্বলতা এবং সাইবার হামলার ঝুঁকি!
ইন্ডাস্ট্রিয়াল কন্ট্রোল সিস্টেমে ব্যবহৃত Modbus protocol-এর দুর্বলতা, exploitation কৌশল এবং OT security নিশ্চিতের উপায়।
ইন্ডাস্ট্রিয়াল কন্ট্রোল সিস্টেম (ICS) এবং অপারেশনাল টেকনোলজি (OT)-র জগতে এমন কিছু প্রোটোকল রয়েছে যেগুলো কয়েক দশক ধরে কার্যত অপরিবর্তিত অবস্থায় ব্যবহৃত হচ্ছে। এদের মধ্যে সবচেয়ে গুরুত্বপূর্ণ এবং সর্বাধিক ব্যবহৃত হলো Modbus protocol। ১৯৭৯ সালে Modicon (বর্তমানে Schneider Electric)-এর তৈরি এই প্রোটোকল আজও বিদ্যুৎ কেন্দ্র, পানির পরিশোধনাগার, গ্যাস পাইপলাইন, উৎপাদন কারখানা এবং বিভিন্ন critical infrastructure-এ ব্যবহৃত হচ্ছে।
কিন্তু সমস্যা হলো, Modbus যখন তৈরি করা হয়েছিল তখন cyber threat-এর ধারণাই ছিল না। এই protocol সম্পূর্ণরূপে security ছাড়া design করা হয়েছিল, কারণ এটি ছিল কেবল একটি air-gapped industrial network-এর জন্য। কিন্তু আজকের IT-OT convergence-এর যুগে এই দুর্বল protocol এখন একটি বিশাল attack surface তৈরি করেছে। এই আর্টিকেলে আমরা Modbus protocol-এর architecture, দুর্বলতা, exploitation কৌশল এবং প্রতিরোধের উপায় নিয়ে বিস্তারিত আলোচনা করব।
Modbus Protocol-এর মূল ধারণা
Modbus একটি serial communication protocol যা master-slave (বা বর্তমানে client-server) architecture-এ কাজ করে। একটি master device (যেমন HMI বা SCADA system) এক বা একাধিক slave device (যেমন PLC, RTU বা sensor)-কে query পাঠায় এবং slave device গুলো response দেয়। এটি একটি simple, lightweight protocol যা সহজে implement করা যায়।
Modbus-এর কয়েকটি ভ্যারিয়েন্ট রয়েছে। Modbus RTU (Remote Terminal Unit) serial communication-এর জন্য ব্যবহৃত হয়, সাধারণত RS-232 বা RS-485-এর মাধ্যমে। Modbus ASCII একই serial communication ব্যবহার করে কিন্তু ASCII format-এ। Modbus TCP/IP হলো সবচেয়ে আধুনিক ও জনপ্রিয় version, যা Ethernet network-এ TCP port 502-এ কাজ করে। Modbus Plus একটি high-speed token-passing network protocol।
Modbus protocol-এর data structure সহজ। প্রতিটি Modbus message-এ একটি Function Code থাকে যা নির্দেশ করে কী operation করতে হবে। প্রধান function code গুলোর মধ্যে রয়েছে Read Coils (01), Read Discrete Inputs (02), Read Holding Registers (03), Read Input Registers (04), Write Single Coil (05), Write Single Register (06), Write Multiple Coils (15), এবং Write Multiple Registers (16)।
Slave device-এ চার ধরনের data table থাকে। Discrete Inputs (1-bit, read only), Coils (1-bit, read/write), Input Registers (16-bit, read only), এবং Holding Registers (16-bit, read/write)। প্রতিটি address space একটি specific industrial parameter represent করে, যেমন motor-এর অবস্থা, temperature sensor-এর reading, valve-এর position ইত্যাদি।
Modbus-এর মৌলিক দুর্বলতা
Modbus protocol-এর সবচেয়ে বড় দুর্বলতা হলো এর সম্পূর্ণ security-র অভাব। প্রথমত, এই protocol-এ কোনো authentication mechanism নেই। যে কেউ network-এ access পেলে কোনো credential ছাড়াই device-এ command পাঠাতে পারে।
দ্বিতীয় বড় দুর্বলতা হলো কোনো encryption নেই। সব communication plaintext-এ হয়, যা easily sniff করা যায়। আক্রমণকারী network traffic capture করে পুরো industrial process বুঝতে পারে এবং সেই অনুযায়ী আক্রমণ পরিকল্পনা করতে পারে।
তৃতীয় দুর্বলতা হলো integrity check-এর অভাব। Message-এ কেবল একটি CRC বা LRC থাকে যা accidental error detection-এর জন্য, intentional tampering নয়। আক্রমণকারী চাইলে message modify করে নতুন CRC যোগ করে পাঠাতে পারে এবং device সেটি গ্রহণ করবে।
চতুর্থ দুর্বলতা হলো session management-এর অভাব। প্রতিটি message standalone, তাই replay attack অত্যন্ত সহজ। একটি বৈধ command capture করে পরে পুনরায় পাঠালে device সেটি execute করবে।
পঞ্চম দুর্বলতা হলো broadcast support। Function code 0-এ slave address ব্যবহার করে network-এর সব device-কে একসাথে command পাঠানো যায়, যা mass disruption-এর সুযোগ তৈরি করে।
সাধারণ Exploitation কৌশল
Modbus exploitation-এর কয়েকটি প্রধান কৌশল রয়েছে যা গবেষকরা এবং penetration tester-রা ব্যবহার করেন। প্রথম এবং সবচেয়ে সাধারণ কৌশল হলো Reconnaissance। আক্রমণকারী network scan করে Modbus device খুঁজে বের করে। Nmap-এর modbus-discover script এবং Shodan-এর মতো search engine এই কাজে ব্যবহৃত হয়। Shodan-এ একটি simple search-এ হাজার হাজার exposed Modbus device পাওয়া যায়, যা সত্যিই উদ্বেগজনক।
দ্বিতীয় কৌশল হলো Information Gathering। Function code 17 (Report Slave ID) ব্যবহার করে device-এর make, model এবং firmware version সম্পর্কে তথ্য পাওয়া যায়। এই তথ্য targeted attack পরিকল্পনায় সহায়ক।
তৃতীয় কৌশল হলো Read Attack। আক্রমণকারী simply সব register এবং coil পড়ে industrial process-এর সম্পূর্ণ picture তৈরি করতে পারে। কোন valve কোথায়, কোন motor কী করছে, কোন temperature কত - এই সব তথ্য পেলে পরবর্তী আক্রমণ অনেক বেশি কার্যকর হয়।
চতুর্থ এবং সবচেয়ে বিপজ্জনক কৌশল হলো Write Attack। আক্রমণকারী Function Code 5, 6, 15 বা 16 ব্যবহার করে coil বা register-এ malicious value লিখতে পারে। এর মাধ্যমে motor চালু/বন্ধ করা, valve খোলা/বন্ধ করা, temperature setpoint পরিবর্তন করা, এমনকি safety system disable করাও সম্ভব।
পঞ্চম কৌশল হলো Denial of Service (DoS)। Modbus device-এ অসংখ্য malformed packet পাঠিয়ে এটিকে crash করানো বা reboot loop-এ পাঠানো যায়। এর ফলে industrial process বন্ধ হয়ে যায়, যা বিপুল আর্থিক ক্ষতি করতে পারে।
ষষ্ঠ কৌশল হলো Man-in-the-Middle (MitM) Attack। যেহেতু communication encrypted নয়, ARP spoofing-এর মাধ্যমে আক্রমণকারী master এবং slave-এর মধ্যে বসে message modify করতে পারে। Operator HMI-তে normal value দেখলেও পেছনে আক্রমণকারী device-কে dangerous command পাঠাতে পারে।
বাস্তব আক্রমণ এবং কেস স্টাডি
ICS attack-এর ইতিহাসে Modbus exploitation-এর বেশ কিছু উল্লেখযোগ্য ঘটনা রয়েছে। সবচেয়ে বিখ্যাত হলো ২০১০ সালের Stuxnet attack, যা ইরানের Natanz পারমাণবিক স্থাপনার centrifuge-গুলোকে ধ্বংস করেছিল। যদিও Stuxnet মূলত Siemens S7 protocol target করেছিল, এর পদ্ধতি Modbus-এর মতো legacy protocol-এর দুর্বলতাকে স্পষ্ট করেছে।
২০১৫ সালে ইউক্রেনের বিদ্যুৎ গ্রিডে BlackEnergy malware-এর মাধ্যমে আক্রমণ চালানো হয়, যেখানে আক্রমণকারীরা SCADA system-এ access পেয়ে প্রায় ২ লক্ষ ৩০ হাজার মানুষকে বিদ্যুৎবিহীন করে দিয়েছিল। এই আক্রমণে Modbus সহ বিভিন্ন industrial protocol-এর দুর্বলতা ব্যবহার করা হয়েছিল।
২০১৭ সালের TRITON/TRISIS malware Saudi Arabia-র একটি petrochemical plant-এর Safety Instrumented System (SIS)-কে target করেছিল। এই attack যদি সফল হতো, তবে বিস্ফোরণে শত শত মানুষের জীবন বিপন্ন হতে পারত।
বাংলাদেশের প্রেক্ষাপটে, পদ্মা সেতু, রূপপুর পারমাণবিক বিদ্যুৎ কেন্দ্র, এবং বিভিন্ন গ্যাস ও বিদ্যুৎ স্থাপনায় ICS এবং SCADA system ব্যবহৃত হচ্ছে। এগুলোর Modbus-based component-গুলো যদি সঠিকভাবে সুরক্ষিত না হয়, তবে জাতীয় নিরাপত্তার জন্য বড় হুমকি তৈরি হতে পারে।
গবেষক Ralph Langner এবং Dale Peterson-এর কাজ Modbus security-র গুরুত্বকে সামনে নিয়ে এসেছে। তাঁদের গবেষণায় দেখা গেছে, internet-এ exposed Modbus device-এর সংখ্যা হাজার হাজার, এবং অধিকাংশই কোনো ধরনের সুরক্ষা ছাড়াই চলছে।
Exploitation Tools এবং Framework
Modbus security testing-এর জন্য বেশ কিছু tool তৈরি হয়েছে। Metasploit-এ Modbus-related module রয়েছে যা scan, read, write এবং DoS attack-এর জন্য ব্যবহার করা যায়। Modbus_attacker, modbuspal এবং mbtget হলো command-line tool যা specific operation করতে পারে।
Plcscan একটি Python-based tool যা PLC এবং Modbus device discovery-র জন্য জনপ্রিয়। Smod (Software Modbus) হলো একটি penetration testing framework যা বিশেষভাবে Modbus-এর জন্য designed।
Industrial Control System Cyber Emergency Response Team (ICS-CERT) এবং MITRE ATT&CK for ICS framework এই ক্ষেত্রে গুরুত্বপূর্ণ reference। Nmap-এর modbus-discover NSE script automated scanning-এর জন্য অত্যন্ত কার্যকর।
Wireshark-এ built-in Modbus protocol dissector রয়েছে যা captured traffic বিশ্লেষণে সহায়ক। এর মাধ্যমে network-এ যে কোনো Modbus communication পুঙ্খানুপুঙ্খভাবে inspect করা যায়।
প্রতিরোধ ও প্রতিকার
Modbus environment সুরক্ষিত রাখতে কয়েকটি গুরুত্বপূর্ণ পদক্ষেপ গ্রহণ করতে হবে। প্রথমত, network segmentation নিশ্চিত করুন। Purdue Model অনুযায়ী OT network-কে IT network থেকে কঠোরভাবে আলাদা রাখুন। Industrial firewall এবং DMZ ব্যবহার করুন।
দ্বিতীয়ত, Modbus/TCP-র পরিবর্তে Modbus/TCP Security (পোর্ট ৮০২) ব্যবহার করুন যা TLS encryption প্রদান করে। নতুন device কেনার সময় এই ক্ষমতা যাচাই করুন।
তৃতীয়ত, deep packet inspection (DPI)-সক্ষম industrial firewall ব্যবহার করুন যা Modbus function code level-এ filtering করতে পারে। Tofino, Belden এবং Claroty-র মতো vendor-রা এই ধরনের সমাধান প্রদান করে।
চতুর্থত, network monitoring এবং anomaly detection deploy করুন। Nozomi Networks, Claroty, Dragos এবং Tenable.OT-র মতো platform OT environment-এর জন্য specifically designed। এগুলো unusual Modbus traffic চিহ্নিত করতে পারে।
পঞ্চমত, regular vulnerability assessment এবং penetration testing করুন। তবে production OT environment-এ testing অত্যন্ত সতর্কতার সাথে করতে হবে, কারণ একটি ভুল command বড় ধরনের disaster ঘটাতে পারে।
ষষ্ঠত, defense-in-depth approach গ্রহণ করুন। Single security control-এর ওপর নির্ভর করবেন না। Multiple layer of security, যেমন physical access control, network access control, host-based protection, এবং continuous monitoring একসাথে ব্যবহার করুন।
Modbus protocol-এর exploitation ICS/OT security-র সবচেয়ে গুরুত্বপূর্ণ এবং একই সাথে সবচেয়ে চ্যালেঞ্জিং ক্ষেত্রগুলোর একটি। কয়েক দশক পুরোনো এই protocol আজও critical infrastructure-এ ব্যবহৃত হচ্ছে, এবং এর দুর্বলতা একটি জাতির অর্থনীতি, নিরাপত্তা এবং জনস্বাস্থ্যের জন্য বড় হুমকি হতে পারে। বাংলাদেশসহ উন্নয়নশীল দেশগুলোতে Industry 4.0 এবং digital transformation-এর সাথে সাথে OT security-র দিকে মনোযোগ দেওয়া এখন অপরিহার্য। একজন cyber security professional হিসেবে Modbus এবং অন্যান্য industrial protocol-এর গভীর জ্ঞান আপনাকে অনন্য দক্ষতা প্রদান করবে এবং দেশের critical infrastructure রক্ষায় অবদান রাখার সুযোগ দেবে।
আপনার জ্ঞান যাচাই করতে প্রস্তুত? আজই HackCert-এ Modbus Exploitation MCQ Quiz-টি দিন!
Related articles
BMS Hacking: The Devastating Consequences of Compromised Smart Building Management Systems
8 min
ICS Security: Ensuring Cybersecurity in Power Plants and Manufacturing Systems
8 min
PLC Logic Injection: Cyber Sabotage via Industrial Control Code Manipulation
10 min
5G Security: Unveiling Cyber Attack Risks in Modern Networks and Mitigation Strategies
10 min

