এনার্জি ও সোলার অ্যাসেটের জন্য ফার্মওয়্যার সিকিউরিটি ও OTA
গ্রিড-টাইড ইনভার্টার একটি রিমোটলি নিয়ন্ত্রণযোগ্য পাওয়ার সোর্স, তাই এর ফার্মওয়্যার ও আপডেট চ্যানেল এখন এমন একটি অ্যাটাক সারফেস যার জন্য ইউটিলিটি ইন্টারকানেকশন চুক্তি আপনাকে দায়ী করে। আমরা বুট চেইন, OTA পাইপলাইন এবং কমান্ড পাথ হার্ডেন করি যাতে একটি চুরি যাওয়া ডিভাইস, একটি স্পুফড সেটপয়েন্ট বা একটি রোলব্যাক করা ইমেজ কোনো সোলার ফ্লিটকে অনিয়ন্ত্রিত বা অস্ত্রায়িত লোডে পরিণত করতে না পারে। প্রতিটি মেকানিজম একটি নামকৃত IEC 62443 জোন-অ্যান্ড-কন্ডুইট রিকোয়ারমেন্ট বা IEEE 1547 সাইবারসিকিউরিটি প্রত্যাশার সাথে ম্যাপ করা, কোনো মার্কেটিং দাবি নয়।
Challenges specific to Energy & Solar
আনসাইনড OTA আক্রমণকারীকে বিদ্বেষপূর্ণ ফার্মওয়্যার পুশ করতে দেয়
একটি ইনভার্টার গেটওয়েতে প্লেইন-HTTP বা আনসাইনড আপডেট এন্ডপয়েন্ট LAN-এ থাকা যে কাউকে বা একটি হাইজ্যাক করা CDN-কে ফার্মওয়্যার প্রতিস্থাপন করতে দেয়, যাতে অ্যাসেটটি গ্রিড থেকে কার্টেইল, ওভারভোল্ট বা ডি-সিঙ্ক করার ক্ষমতা পাওয়া যায়।
ক্লোন করা ডিভাইস একটি শেয়ারড কী বা সার্ট পুনর্ব্যবহার করে
একটি একক বেকড-ইন TLS কী দিয়ে ফ্ল্যাশ করা ফিল্ড ফ্লিট মানে একটি এক্সট্র্যাক্ট করা ডিভাইস হেড-এন্ডের কাছে পুরো ফ্লিটের ছদ্মবেশ ধারণ করে, এবং ব্রিচ রিভোক করতে প্রতিটি সাইটে একটি ট্রাক রোল লাগে।
অ্যান্টি-আইল্যান্ডিং ও ট্রিপ কমান্ড আনঅথেনটিকেটেড
IEEE 1547 ডিসকানেক্ট, র্যাম্প-রেট ও পাওয়ার-ফ্যাক্টর সেটপয়েন্ট একটি আনঅথেনটিকেটেড DNP3/Modbus চ্যানেলে আসে, তাই একটি জাল ফ্রেম ভর-পরিমাণে ইনভার্টার ডিসকানেক্ট করে একটি ফিডার অস্থিতিশীল করতে পারে।
ফার্মওয়্যার রোলব্যাক প্যাচ করা CVE আবার খুলে দেয়
অ্যান্টি-রোলব্যাক ফিউজ ছাড়া, একজন আক্রমণকারী একটি সাইনড-কিন্তু-পুরোনো ইমেজ পুনরায় ফ্ল্যাশ করে আপনার ইতিমধ্যে প্যাচ করা ভালনারেবিলিটি ফিরিয়ে আনে, তারপর তা এক্সপ্লয়েট করে; শুধু সিগনেচার চেক একটি বৈধ পুরোনো বিল্ড থামায় না।
ফ্ল্যাশ রিডআউট কী ও গ্রিড ক্রেডেনশিয়াল উন্মুক্ত করে
একটি রাস্তার পাশের কম্বাইনার বা ছাদের গেটওয়েতে একটি আনএনক্রিপ্টেড SPI ফ্ল্যাশ একটি ক্লিপ দিয়ে ডাম্প করা হয়, যা হেড-এন্ড API টোকেন, Wi-Fi PSK এবং ইউটিলিটির কাছে অথেনটিকেট করতে ব্যবহৃত প্রাইভেট কী ফাঁস করে।
রিমোট অ্যাটেন্ডেড নয় এমন সাইটে কোনো ট্যাম্পার এভিডেন্স নেই
একটি আনম্যানড সোলার সাইটে এনক্লোজার অনুপ্রবেশ, JTAG পুনঃসংযোগ বা একটি অদলবদল করা SD কার্ড মাসের পর মাস অশনাক্ত থাকে, কারণ ফার্মওয়্যার কখনো বুট-টাইম ইন্টিগ্রিটি স্টেট রেকর্ড বা অ্যাটেস্ট করে না।
How GizanTech solves them
- ১. হার্ডওয়্যার Secure Boot v2 চেইন. আমরা ESP32 Secure Boot v2 (RSA-3072 / ECDSA) সক্রিয় করি, পাবলিক-কী ডাইজেস্ট eFuse-এ বার্ন করি, এবং বুটলোডার লক করি যাতে শুধু আমাদের সাইনড সেকেন্ড-স্টেজ ইমেজ চলে, IEC 62443-4-2 CR 3.4 ইন্টিগ্রিটি রিকোয়ারমেন্ট সিলিকনে অ্যাঙ্কর করে।
- ২. সাইনড ও এনক্রিপ্টেড A/B OTA. আপডেটগুলো সাইনড ও AES-এনক্রিপ্টেড, একটি রোলব্যাক স্লটসহ A/B পার্টিশনে মিউচুয়ালি-অথেনটিকেটেড TLS-এর মাধ্যমে ডেলিভার করা হয়; একটি ব্যর্থ বুট বা খারাপ সিগনেচার স্বয়ংক্রিয়ভাবে রিভার্ট করে, একটি রিমোট ইনভার্টার ব্রিক না করেই সিকিউর-আপডেট কন্ডুইট নিয়ম পূরণ করে।
- ৩. পার-ডিভাইস সার্টিফিকেট আইডেন্টিটি. প্রতিটি ইউনিট উৎপাদনে (ফ্লিট প্রভিশনিং / ক্লেইম সার্টের মাধ্যমে) প্রভিশন করা একটি ইউনিক X.509 লিফ পায়, যা ফ্ল্যাশ-এনক্রিপ্টেড NVS-এ সংরক্ষিত হয়, তাই হেড-এন্ড ফ্লিট রি-কী না করেই একটি একক অ্যাসেট অথেনটিকেট ও রিভোক করতে পারে।
- ৪. অথেনটিকেটেড গ্রিড কমান্ড পাথ. কার্টেইলমেন্ট, ট্রিপ ও IEEE 1547 সেটপয়েন্ট ফ্রেম একটি পার-মেসেজ HMAC/সিগনেচার ও মনোটোনিক নন্স বহন করে, তাই একটি রিপ্লে করা বা জাল DNP3/Modbus কমান্ড অ্যারে ডিসকানেক্ট না করে প্রত্যাখ্যাত ও লগ করা হয়।
- ৫. eFuse অ্যান্টি-রোলব্যাক. আমরা একটি মনোটোনিক সিকিউরিটি ভার্সন অ্যাপ ডেসক্রিপ্টর ও একটি eFuse কাউন্টারে বাইন্ড করি; বুটলোডার বর্তমান ভার্সনের নিচে যেকোনো ইমেজ প্রত্যাখ্যান করে, তাই একটি সাইনড-কিন্তু-বাসি বিল্ড যা প্যাচ করা CVE আবার খুলে দেয় তা চলবে না।
- ৬. ট্যাম্পার ডিটেকশন ও বুট অ্যাটেস্টেশন. ফ্ল্যাশ এনক্রিপশন (AES-XTS) প্লাস একটি এনক্লোজার-ইনট্রুশন GPIO ও একটি বুট-টাইম মেজার্ড-স্টেট রিপোর্ট হেড-এন্ডকে প্রতিটি সাইটের ইন্টিগ্রিটি অ্যাটেস্ট করতে দেয়, JTAG পুনঃসংযোগ, ফ্ল্যাশ রিডআউট বা একটি অদলবদল করা স্টোরেজ মিডিয়াম ফ্ল্যাগ করে।
| সিকিউরিটি কন্ট্রোল | মেকানিজম | স্ট্যান্ডার্ড (IEC 62443 / IEEE 1547 সাইবার) | প্রতিরোধিত রিস্ক |
|---|---|---|---|
| Secure Boot | ESP32 Secure Boot v2, RSA-3072 কী ডাইজেস্ট eFuse-এ বার্ন, বুটলোডার লক করা | IEC 62443-4-2 CR 3.4 (সফটওয়্যার ইন্টিগ্রিটি); 1547 সিকিউর ফার্মওয়্যার এক্সিকিউশন | একটি গ্রিড-টাইড ইনভার্টার গেটওয়েতে আনসাইনড বা পরিবর্তিত ফার্মওয়্যার বুট হওয়া |
| এনক্রিপ্টেড OTA | অটো-রোলব্যাকসহ A/B স্লটে মিউচুয়াল-TLS-এর মাধ্যমে AES-এনক্রিপ্টেড সাইনড ইমেজ | IEC 62443-3-3 SR 3.4 / SR 7.6; সিকিউর আপডেট কন্ডুইট | বিদ্বেষপূর্ণ ফার্মওয়্যার পুশ, MITM আপডেট বা একটি ব্রিক করা রিমোট আনঅ্যাটেন্ডেড অ্যাসেট |
| পার-ডিভাইস সার্ট ম্যানেজমেন্ট | উৎপাদনে প্রভিশন করা ইউনিক X.509 লিফ, ফ্ল্যাশ-এনক্রিপ্টেড NVS-এ সংরক্ষিত | IEC 62443-4-2 CR 1.2/1.5 (ডিভাইস ও ক্রেডেনশিয়াল আইডেন্টিটি) | একটি এক্সট্র্যাক্ট করা শেয়ারড কী থেকে ফ্লিট-ব্যাপী ছদ্মবেশ ও ব্রিচ |
| কমান্ড অথরাইজেশন | DNP3/Modbus সেটপয়েন্ট ও ট্রিপ ফ্রেমে পার-মেসেজ HMAC + মনোটোনিক নন্স | IEEE 1547 / 1547.3 অথেনটিকেটেড কন্ট্রোল; IEC 62443 SR 1.1/2.1 | জাল বা রিপ্লে করা কার্টেইলমেন্ট/ডিসকানেক্ট কমান্ড একটি ফিডার অস্থিতিশীল করা |
| অ্যান্টি-রোলব্যাক | eFuse কাউন্টার দ্বারা প্রয়োগকৃত অ্যাপ ডেসক্রিপ্টরে মনোটোনিক সিকিউর-ভার্সন | IEC 62443-4-2 CR 3.4 / EDR 3.14 (রোলব্যাক প্রোটেকশন) | একটি সাইনড-কিন্তু-পুরোনো ইমেজে ডাউনগ্রেড যা একটি প্যাচ করা CVE আবার খোলে |
| ট্যাম্পার / মনিটরিং | ফ্ল্যাশ এনক্রিপশন (AES-XTS), ইনট্রুশন GPIO, বুট-টাইম মেজার্ড অ্যাটেস্টেশন | IEC 62443-4-2 CR 3.2/6.2; 1547 মনিটরিং ও ইভেন্ট লগিং | রিমোট সাইটে কী-এর ফ্ল্যাশ রিডআউট, JTAG পুনঃসংযোগ বা অদলবদল করা স্টোরেজ |
Go deeper
Firmware Security & OTA for other industries
Frequently asked questions
Secure Boot ও ফ্ল্যাশ এনক্রিপশন কি রিমোট ইনভার্টারে OTA নির্ভরযোগ্যতা ক্ষতিগ্রস্ত করে?
না। আমরা Secure Boot v2-কে A/B OTA পার্টিশন ও একটি স্বয়ংক্রিয় রোলব্যাক স্লটের সাথে জোড়া দিই, তাই একটি সিগনেচার ব্যর্থতা, ডিক্রিপশন ত্রুটি বা ব্যর্থ বুট একটি রাস্তার পাশের বা ছাদের অ্যাসেট ব্রিক না করে শেষ ভালো ইমেজে রিভার্ট করে। এনক্রিপ্টেড-ফ্ল্যাশ ওভারহেড বুটে কয়েক শতাংশ এবং রানটাইমে নগণ্য।
আপনি কীভাবে কার্টেইলমেন্ট ও IEEE 1547 সেটপয়েন্ট কমান্ড অথেনটিকেট করেন?
DNP3 বা Modbus চ্যানেলের প্রতিটি কন্ট্রোল ফ্রেম একটি পার-মেসেজ HMAC বা সিগনেচার প্লাস একটি মনোটোনিক নন্স বহন করে, তাই একটি রিপ্লে করা বা জাল ডিসকানেক্ট, র্যাম্প-রেট বা পাওয়ার-ফ্যাক্টর কমান্ড প্রত্যাখ্যাত ও লগ করা হয়। এটি সেই আনঅথেনটিকেটেড-কন্ট্রোল গ্যাপ বন্ধ করে যা একটি একক স্পুফড ফ্রেমকে একটি ফিডারে ভর-পরিমাণে ইনভার্টার ট্রিপ করতে দেয়।
একটি ডিভাইস শারীরিকভাবে চুরি হলে ফ্লিট সিকিউরিটির কী হয়?
যেহেতু প্রতিটি ইউনিটের একটি ইউনিক X.509 লিফ সার্টিফিকেট আছে, আপনি হেড-এন্ডে সেই একটি ডিভাইস রিভোক করেন এবং বাকি ফ্লিট অপ্রভাবিত থাকে। ফ্ল্যাশ এনক্রিপশন মানে আক্রমণকারী ডিভাইসের কী বা গ্রিড ক্রেডেনশিয়াল ডাম্প করতে পারে না, তাই একটি চুরি কখনো ফ্লিট-ব্যাপী ছদ্মবেশ বা একটি রি-কীইং ট্রাক রোলে পরিণত হয় না।
একজন আক্রমণকারী কি আমাদের ফার্মওয়্যার একটি পরিচিত বাগসহ ভার্সনে ডাউনগ্রেড করতে পারে?
না। আমরা অ্যাপ্লিকেশনে একটি মনোটোনিক সিকিউরিটি ভার্সন বাইন্ড করি এবং একটি eFuse-সমর্থিত অ্যান্টি-রোলব্যাক কাউন্টার দিয়ে তা প্রয়োগ করি, তাই বুটলোডার বর্তমান ভার্সনের নিচে যেকোনো ইমেজ প্রত্যাখ্যান করে এমনকি তা সঠিকভাবে সাইনড হলেও। এটি আপনি ইতিমধ্যে প্যাচ করা একটি CVE-এর বিরুদ্ধে ক্লাসিক ডাউনগ্রেড-তারপর-এক্সপ্লয়েট আক্রমণ থামায়।
এটি আমাদের ইন্টারকানেকশন চুক্তির জন্য কীভাবে IEC 62443 ও IEEE 1547-এ ম্যাপ করে?
প্রতিটি কন্ট্রোল একটি নামকৃত রিকোয়ারমেন্টে ট্রেস করে: Secure Boot ও অ্যান্টি-রোলব্যাক IEC 62443-4-2 CR 3.4-এ, এনক্রিপ্টেড OTA 62443-3-3 SR 3.4/7.6-এ, পার-ডিভাইস আইডেন্টিটি CR 1.2-এ, এবং অথেনটিকেটেড কমান্ড প্লাস ইভেন্ট লগিং IEEE 1547 / 1547.3 সাইবারসিকিউরিটি প্রত্যাশায়। আপনার ইউটিলিটি রিভিউয়ার যে ম্যাপিং টেবিল ও অ্যাটেস্টেশন এভিডেন্স চায় তা আমরা ডেলিভার করি।