भविष्य को आकार देने वाली तकनीक पर गहन लेख।

हैकर जब फ़्रीज़र पिघलाएँ: OT सिक्योरिटी के सबक

यूरोप के सुपरमार्केट फ़्रीज़र हैकर्स ने डीफ़्रॉस्ट कर दिए। जानिए OT सिस्टम बार-बार क्यों फेल होते हैं और इंडस्ट्रियल कंट्रोल सिस्टम कैसे सुरक्षित करें।

रात में खाली सुपरमार्केट फ़्रीज़र गलियारा, पिघलता पाला और कंट्रोल पैनल पर लाल अलार्म लाइट।
रात 3 बजे डीफ़्रॉस्ट कमांड आती है, और नुकसान हो जाने तक कोई उसे देखने वाला नहीं होता।

कल्पना कीजिए आप ल्योन के एक सुपरमार्केट में नाइट-शिफ्ट मैनेजर हैं। रात के 3 बजे, ओवरनाइट स्टाफ़ देखता है कि फ़्रोज़न-फ़ूड केस से पाला पिघल रहा है। फिर कंप्रेसर अलार्म बजने लगते हैं — सिर्फ़ एक गलियारे में नहीं, पूरे स्टोर में। जब तक कोई समझ पाता कि क्या हो रहा है, वॉक-इन फ़्रीज़र को रिमोट से डीफ़्रॉस्ट मोड में डाल दिया गया था, और हज़ारों यूरो का फ़्रोज़न स्टॉक चुपचाप उस सीमा की ओर गर्म हो रहा था जहाँ उसे कानूनन फेंकना पड़ता है। इस साल फ़्रांस की सुपरमार्केट चेन के रेफ़्रिजरेशन कंट्रोलर पर हमले में लगभग यही हुआ, और यह हर उस इंसान के लिए एक ज़रूरी चेतावनी है जो सोचता है कि ऑपरेशनल टेक्नोलॉजी सिक्योरिटी किसी और की समस्या है।

यह हमला किसी हॉलीवुड-स्टाइल एक्सप्लॉइट चेन जैसा नहीं था। रिपोर्ट्स के अनुसार, हमलावरों ने इंटरनेट पर खुले रेफ़्रिजरेशन कंट्रोलर पर ऑटोमैटिक डीफ़्रॉस्ट साइकिल चालू कर दीं — किसी बड़े इंडस्ट्रियल वेंडर की कमर्शियल यूनिट्स — और नुकसान कई देशों के स्टोर्स में फैल गया। उसी दौरान एक अलग घटना में एक बेल्जियम-डच ग्रॉसरी ग्रुप को अपने IT का बड़ा हिस्सा ऑफ़लाइन करना पड़ा, जिससे डिस्ट्रिब्यूशन और डिलीवरी ठप हो गई। इत्तेफ़ाक़ था या कोई योजना, नतीजा एक ही था: डिजिटल रास्ते से भौतिक दुनिया हैक हो गई।

फ़्रीज़र इंटरनेट पर आख़िर क्यों है?

इस कहानी पर सबसे आम प्रतिक्रिया — और यह हर कमेंट सेक्शन में छाई रही — कुछ ऐसी थी कि “आख़िर कोई फ़्रिज को इंटरनेट से क्यों जोड़ेगा?” सवाल बयानबाज़ी जैसा लगता है, पर इसका असली जवाब है, और इसे नज़रअंदाज़ करना ही वह वजह है कि हम हर कुछ साल बाद यही बहस दोहराते हैं।

कमर्शियल रेफ़्रिजरेशन सिर्फ़ एक फ़्रिज नहीं है। एक मध्यम आकार के सुपरमार्केट में एक वितरित थर्मल सिस्टम चलता है: दर्जनों डिस्प्ले केस, वॉक-इन कूलर और फ़्रीज़र, कंप्रेसर रैक, कंडेंसर — और यह सब ऐसे कंट्रोलर से संचालित होता है जो तापमान और बिजली की लागत के बीच संतुलन बनाते हैं। रिमोट कनेक्टिविटी का बिज़नेस केस वाक़ई मज़बूत है:

  • रिमोट डायग्नोस्टिक्स। सैकड़ों स्टोर्स को सेवा देने वाला रेफ़्रिजरेशन कॉन्ट्रैक्टर खराब होते कंप्रेसर के संकेत ब्रेकडाउन से कई दिन पहले देख सकता है। रूटीन डीफ़्रॉस्ट के लिए टेक्नीशियन भेजकर भौतिक बटन दबवाना असली पैसा खर्च करता है; रिमोट कमांड की लागत शून्य है।
  • ऊर्जा अनुकूलन। सुपरमार्केट प्रति वर्ग मीटर सबसे ज़्यादा ऊर्जा खाने वाली इमारतों में आते हैं। चेन पूरे नेटवर्क में केस के तापमान और डीफ़्रॉस्ट शेड्यूल को ट्यून करती हैं, और कुछ डिमांड-रिस्पॉन्स प्रोग्राम में भाग लेती हैं जहाँ ग्रिड पर दबाव के समय बिजली कम करने के बदले यूटिलिटी उन्हें पैसे देती है।
  • अनुपालन लॉगिंग। खाद्य सुरक्षा नियमों के लिए लगातार तापमान रिकॉर्ड ज़रूरी हैं। नेटवर्क से जुड़े कंट्रोलर अपने-आप ऑडिट ट्रेल बना देते हैं — न क्लिपबोर्ड, न हाथ से भरे और बदले गए कागज़ी लॉग।
  • फ़्लीट तुलना। जब आप 2,000 स्टोर चलाते हों, तो किसी एक स्टोर के कंप्रेसर अपने साथियों से 15% ज़्यादा बिजली खींच रहे हों, यह पहचानना ही वह तरीका है जिससे आप रेफ़्रिजरेंट लीक को पाँच-अंकों के रिपेयर बिल बनने से पहले पकड़ लेते हैं।

तो कनेक्टिविटी बेवकूफ़ी नहीं है। बेवकूफ़ी है इम्प्लीमेंटेशन। शुरुआती रिपोर्ट्स बताती हैं कि इनमें से कई कंट्रोलर सीधे इंटरनेट से पहुँच योग्य थे — कुछ में अपने सेल्युलर मॉडम और SIM कार्ड थे, पब्लिक IP पर बैठे, बिना VPN, बिना गेटवे, बिना allow-list। और एक व्यापक रूप से शेयर हुए विवरण के अनुसार ऑथेंटिकेशन की कहानी यह थी कि यूज़रनेम admin था और पासवर्ड मौजूदा तारीख से बना था। यह हमला सतह नहीं है; यह स्वागत-चटाई वाला खुला दरवाज़ा है।

OT पर हमला असल में ऐसा दिखता है

सॉफ़्टवेयर इंजीनियर अक्सर साइबर हमले को डेटा चोरी के रूप में देखते हैं: डेटाबेस निकाल लेना, लीक क्रेडेंशियल, रैनसमवेयर के नोट। OT हमले प्रकार में ही अलग हैं, सिर्फ़ डिग्री में नहीं। निशाना जानकारी नहीं — एक भौतिक प्रक्रिया है। पेलोड एन्क्रिप्शन नहीं; वह एक वैध दिखने वाली कमांड है जो ऐसे डिवाइस को भेजी जाती है जो हर आने वाले पर भरोसा करता है।

ध्यान दीजिए डीफ़्रॉस्ट हमला कितना सहज था। हमलावरों को मैलवेयर लिखने, प्रिविलेज बढ़ाने, या प्रोटोकॉल को पूरी तरह समझने की भी ज़रूरत नहीं पड़ी। डीफ़्रॉस्ट साइकिल कंट्रोलर का सामान्य, अधिकृत फ़ंक्शन है — यह इसलिए मौजूद है क्योंकि इवैपोरेटर कॉइल पर पाला जमता है और उसे समय-समय पर पिघलाना होता है। हमलावर ने बस उसे शेड्यूल से बाहर, बड़े पैमाने पर चला दिया। कोई सेफ़्टी इंटरलॉक नहीं चमका, क्योंकि कंट्रोलर की नज़र में कुछ असामान्य माँगा ही नहीं गया था। यह OT की दुनिया का confused deputy problem है: डिवाइस वफ़ादारी से वे कमांड निभाता है जो उसे कभी मिलनी ही नहीं चाहिए थीं।

यह पैटर्न निराशाजनक रूप से हर जगह लागू होता है। वॉटर ट्रीटमेंट प्लांट्स में किसी ने केमिकल डोज़िंग स्लाइडर खिसका दिया। बिल्डिंग मैनेजमेंट सिस्टम उनके HVAC वेंडर की रिमोट एक्सेस के ज़रिये हाथ से निकल गए। लगभग हर मामले में खतरनाक क्षमता बग नहीं है — वह एक फ़ीचर है, जिस तक वे लोग पहुँच सकते हैं जिन्हें कभी पहुँचना ही नहीं चाहिए था। इसलिए समाधान बेहतर कोड रिव्यू नहीं है। यह आर्किटेक्चर है।

सबसे ख़तरनाक OT कमज़ोरियाँ मेमोरी करप्शन बग नहीं होतीं। वे वैध फ़ंक्शन होती हैं जो अवैध कॉलर्स के सामने खुले छोड़ दिए गए हैं।

वह पैच जिसे किसी ने लागू नहीं किया

यहाँ वह बात है जो हर सिक्योरिटी इंजीनियर को सिहरा देनी चाहिए: इन कंट्रोलर्स की मूल कमज़ोरी महीनों पहले सार्वजनिक रूप से डिस्क्लोज़ की जा चुकी थी, वेंडर के साथ समन्वित प्रक्रिया में। सिक्योरिटी रिसर्चर्स ने विस्तृत रिपोर्ट छापी। कम से कम कुछ मॉडलों के लिए पैच मौजूद थे। और फिर भी हमला हो गया।

इंडस्ट्रियल पैचिंग का यही गंदा राज़ है। एंटरप्राइज़ IT में हम लाड़-प्यार में पले हैं: कोई गंभीर CVE आती है, और कुछ दिनों में आपकी फ़्लीट मैनेजमेंट टूलिंग ने याद दिलाकर, स्टेज करके, फिक्स लागू कर दिया होता है। OT ऐसे काम नहीं करता। सुपरमार्केट फ़्रीज़र केस में लगा कंट्रोलर पंद्रह साल तक चल सकता है। उसका मालिक स्टोर है, रखरखाव एक थर्ड-पार्टी रेफ़्रिजरेशन कॉन्ट्रैक्टर करता है, उसे एक वेंडर ने बनाया है, और उसे एक इंस्टॉलर ने कॉन्फ़िगर किया था जो छह साल पहले कंपनी छोड़ चुका है। तो नौ देशों की 2,400 साइटों पर फ़र्मवेयर अपडेट लगाने की ज़िम्मेदारी किसकी है? व्यवहार में: किसी की नहीं।

इससे भी बुरा, वेंडर ने फिक्स को साफ़ तौर पर सुरक्षा-क्रिटिकल बताए बिना भेज दिया। उस मेंटेनेंस कॉन्ट्रैक्टर के लिए जिसके पास असली टूटे उपकरणों का बैकलॉग है, “फ़र्मवेयर अपडेट उपलब्ध” वैकल्पिक बेकार काम जैसा लगता है। यह जितनी तकनीकी विफलता है, उतनी ही संचार विफलता भी है। अगर आप ऐसी कमज़ोरी का पैच भेज रहे हैं जो अजनबियों को किसी देश का राशन पिघलाने देती है, तो रिलीज़ नोट्स में इसे ऐसे शब्दों में लिखना चाहिए जिसे कोई फ़ैसिलिटीज़ मैनेजर न चूक सके। स्पेसिफ़िकेशन और इम्प्लीमेंटेशन के बीच का अंतर सिर्फ़ बग नहीं बनाता — वह पूरे फ़्लीट के बिना पैच वाले डिवाइस बनाता है, जिनकी कमज़ोरी उनके ऑपरेटर जानते ही नहीं।

एक जैसे इंडस्ट्रियल कंट्रोल बॉक्स की अंतहीन कतार, जिनमें से सिर्फ़ एक चमक रहा है, ताज़ा अपडेट होने का संकेत।
एम्बेडेड कंट्रोलर्स की एक फ़्लीट पंद्रह साल तक चल सकती है, और कोई साफ़ तौर पर ज़िम्मेदार नहीं होता कि उन्हें पैच करे।

फ़ेल-सेफ़ डिफ़ॉल्ट्स: सबसे बुरे दिन के लिए डिज़ाइन

आइए बात करें कि अच्छा कैसा दिखता है, क्योंकि यहाँ के सिद्धांत कोई विदेशी चीज़ नहीं हैं। ये वही डिफ़ेंसिव डिज़ाइन विचार हैं जो हम सेफ़्टी-क्रिटिकल सॉफ़्टवेयर में लगाते हैं, बस OT दुनिया में शायद ही कभी लागू होते हैं। मैं पहले तबाही का विरोध करने वाले डिफ़ेंसिव इंजीनियरिंग पर लिख चुका हूँ, और रेफ़्रिजरेशन कंट्रोलर उसका पाठ्यपुस्तक उदाहरण हैं।

खतरनाक स्टेट बदलावों पर रेट-लिमिट लगाएँ

डीफ़्रॉस्ट साइकिल कभी-कभी चलाना भौतिक रूप से सुरक्षित है, पर लगातार चलाना विनाशकारी है। तो फ़र्मवेयर में भौतिकी लागू करें: डीफ़्रॉस्ट पूरा होने के बाद, किसी भी रिमोट कमांड की परवाह किए बिना, न्यूनतम अंतराल तक दूसरा डीफ़्रॉस्ट मना कर दें। जो हमलावर एक डीफ़्रॉस्ट अनुरोध भेज सकता है, वह हज़ार भेज सकता है; डिवाइस को भौतिकी की सीमा से ज़्यादा नहीं मानना चाहिए। इसमें कुछ लाइन्स कोड और एक टाइमर लगता है, और यह किसी भी कंट्रोल-प्लेन कंप्रोमाइज़ के ब्लास्ट रेडियस को सीमित कर देता है।

स्थानीय इंटरलॉक रिमोट अधिकार से बेहतर हैं

अगर केस का तापमान पहले से सीमा से ऊपर है, या प्रोडक्ट सेंसर गर्म पढ़ रहे हैं, तो रिमोट डीफ़्रॉस्ट कमांड को ख़ारिज करके ज़ोर से लॉग किया जाना चाहिए। कंट्रोलर के पास यह जानने के लिए सेंसर डेटा है कि कमांड बेतुकी है। उससे वह डेटा इस्तेमाल करवाएँ। ऐसी कमांड जो सिस्टम को ज्ञात-ख़राब स्टेट की ओर धकेले, वह कमांड नहीं है; वह एरर है।

पासवर्ड नहीं, साइन की गई कमांड

एम्बेडेड डिवाइस पर पासवर्ड एक हारी हुई लड़ाई हैं — वे डिफ़ॉल्ट होंगे, साझा होंगे, स्टिकी नोट पर लिखे होंगे, या तारीख से बने होंगे। बेहतर मॉडल असममित है: कंट्रोलर हर रिमोट कमांड पर एक सिग्नेचर को प्रोविज़निंग के समय फ़ुज़ की गई वेंडर या ऑपरेटर की पब्लिक की से वेरिफ़ाई करते हैं। अब पासवर्ड चुराने से कुछ नहीं होगा; आपको साइनिंग की चाहिए, जो ऑपरेशन्स सेंटर के HSM में रहती है, 2,400 फ़्रीज़र केसों पर नहीं। हाँ, इसका मतलब की-मैनेजमेंट, रोटेशन और रिवोकेशन इंफ़्रास्ट्रक्चर है। हाँ, यह इसके लायक है। सॉफ़्टवेयर अपडेट के लिए हमने यह समस्या एक दशक पहले सुलझा ली थी; कमांड चैनल्स को भी वही मिलना चाहिए।

मान लें कि नेटवर्क दुश्मनी भरा है

अगर कोई डिवाइस सेल्युलर मॉडम और डिफ़ॉल्ट क्रेडेंशियल के साथ आता है, तो तैनाती के हफ़्तों में वह एक्सपोज़्ड डिवाइस खोजने वाले सर्च इंजन पर होगा। टिकाऊ समाधान एक ही है: यह मानकर डिज़ाइन करें कि यह गारंटीड है। डिफ़ॉल्ट रूप से इनबाउंड कनेक्शन बंद रखें, टेलीमेट्री केवल आउटबाउंड ब्रोकर को जाए, और मैनेजमेंट प्लेन केवल म्यूचुअली-ऑथेंटिकेटेड टनल से पहुँचे। “इसे इंटरनेट पर न खोलें” सलाह है; “एक्सपोज़र को सहने योग्य बनाएँ” इंजीनियरिंग है।

आइसोलेशन वैकल्पिक नहीं है: सेगमेंटेशन सही तरीके से

हर OT सिक्योरिटी फ़्रेमवर्क — IEC 62443, NIST की गाइडेंस, क्लासिक Purdue मॉडल — एक ही बात कहता है: कंट्रोल सिस्टम को फ़्लैट नेटवर्क से दूर रखें। फिर भी फ़्रीज़र केस का सेल्युलर मॉडम इस नियम का जीवित उल्लंघन है। वह कॉर्पोरेट फ़ायरवॉल को पूरी तरह बाइपास कर देता है, और हज़ारों अनमॉनिटर्ड, अलग-अलग एड्रेस योग्य एंट्री पॉइंट बना देता है, जिनके बारे में सिक्योरिटी टीम को शायद पता भी न हो।

जो आर्किटेक्चर सच में काम करता है, वह ऐसा दिखता है:

  1. कंट्रोलर्स एक समर्पित OT VLAN पर रहते हैं जिसका इंटरनेट से कोई रूट नहीं और कॉर्पोरेट IT से भी कोई रूट नहीं। उनसे केवल एक गेटवे बात कर सकता है।
  2. गेटवे प्रोटोकॉल allow-lists लागू करता है — कंट्रोलर गेटवे से केवल Modbus या वेंडर प्रोटोकॉल में बात करता है, और कुछ नहीं। यहाँ की अनियमितताएँ हाई-सिग्नल अलर्ट हैं, क्योंकि वैध ट्रैफ़िक उबाऊ और पूर्वानुमेय होता है।
  3. रिमोट एक्सेस एक जंप होस्ट से होता है जिसमें MFA, सेशन रिकॉर्डिंग और समय-सीमित क्रेडेंशियल हों। रेफ़्रिजरेशन कॉन्ट्रैक्टर को पूरे नेटवर्क का स्थायी VPN नहीं, बल्कि एक खास स्टोर के लिए चार घंटे की खिड़की मिलती है।
  4. केवल आउटबाउंड टेलीमेट्री। अगर वेंडर के क्लाउड को तापमान डेटा चाहिए, तो गेटवे उसे पुश करता है। अंदर से कुछ भी पुल नहीं होता।
  5. सब कुछ इन्वेंटरी में रखें। जो आप जानते ही नहीं, उसे सेगमेंट नहीं कर सकते। फ़्रीज़र केस का वह सेल्युलर मॉडम ठीक उसी तरह का शैडो कनेक्शन है जो इन्वेंटरी छूट जाती है — जब तक Shodan उसे आपके लिए न खोज निकाले।

इनमें से कुछ भी विकल्प की तुलना में न काल्पनिक है और न महँगा। कठिन हिस्सा तकनीकी नहीं, संगठनात्मक है: इसके लिए फ़ैसिलिटीज़ टीम, IT सिक्योरिटी टीम और वेंडर्स को यह तय करना होगा कि कौन क्या संभालता है। ज़्यादातर रिटेल संगठनों में OT इन टीमों की दरार में गिर जाता है — IT के लिए बहुत भौतिक, फ़ैसिलिटीज़ के लिए बहुत नेटवर्क्ड। वही अस्पष्टता असली कमज़ोरी है, और यही वह चीज़ है जो क्लाउड ऑथेंटिकेशन की खामियों को अदृश्य ब्रीच में बदल देती है, जैसा कि हमने क्लाउड ऑथेंटिकेशन लॉगिंग की ब्लाइंड स्पॉट्स में देखा: जब टेलीमेट्री का मालिक कोई नहीं, तो हमला भी कोई नहीं देखता।

एक किले का हवाई दृश्य, जिसमें संकेंद्रित दीवारें और बीच में एक चमकता मीनार है, जो नेटवर्क सेगमेंटेशन का रूपक है।
OT के लिए गहराई में डिफ़ेंस का मतलब है बाहरी दुनिया और कंट्रोल प्लेन के बीच एक संकरा, मॉनिटर किया गया रास्ता।

सॉफ़्टवेयर इंजीनियरों को इससे क्या सीखना चाहिए

आपने शायद कभी रेफ़्रिजरेशन कंट्रोलर को न छुआ हो, पर यहाँ की विफलता के तरीके हर कनेक्टेड सिस्टम के विफलता तरीके हैं, और वे तेज़ी से आपकी समस्या बन रहे हैं। IT और OT के बीच की रेखा लगातार मिट रही है: आपके वेयरहाउस रोबोट, ऑफ़िस HVAC, लैब इंस्ट्रुमेंट और स्मार्ट बिल्डिंग सब एम्बेडेड Linux पर चलते हैं और क्लाउड से बात करते हैं। कुछ अस्पतालों की लैब मशीनें अब तब तक टेस्ट चलाने से इनकार करती हैं जब तक उनका सब्सक्रिप्शन अकाउंट रीचार्ज न हो — यानी इंटरनेट से जुड़ा एक बिलिंग आउटेज या ब्रीच मेडिकल डायग्नोस्टिक्स रोक सकता है। यह दुनिया हमने एक-एक सुविधा-फ़ीचर करके बनाई है।

इसलिए सबक सीधे लागू होते हैं। अपने एक्सपोज़र की इन्वेंटरी बनाएँ — अगर आपको पता नहीं कि क्या सुन रहा है, तो कोई और उसे ढूँढ लेगा। खतरनाक ऑपरेशनों को विशेषाधिकार प्राप्त मानें, भले ही वे “सामान्य फ़ीचर” हों, क्योंकि जो हमलावर आपके कंट्रोल प्लेन तक पहुँचेगा, वह आपके ही फ़ीचर्स को आपके खिलाफ़ इस्तेमाल करेगा। जो मायने रखता है उस पर साइन करें, और बाकी सब को एक्सपायर होने दें। फ़ेल्ड स्टेट को सेफ़ स्टेट बनाकर डिज़ाइन करें: जो कंट्रोलर कनेक्टिविटी खो दे, वह ठंडा करना जारी रखे, न कि हर कतार में लगी कमांड पर भरोसा मान ले। और जब आप सिक्योरिटी फ़िक्स भेजें, तो उसे ज़ोर से बताएँ — जो पैच कोई लागू न करे, वह बिना पैच के होने से अलग नहीं।

सुपरमार्केट डीफ़्रॉस्ट हमला मुख्य रूप से अपनी बेतुकी वजह से याद किया जाएगा — हैकर्स बनाम जमे हुए मटर। पर अगला हमला आइसक्रीम को निशाना नहीं बनाएगा। वह उसी श्रेणी के खुले, बिना पैच वाले, कमज़ोर ऑथेंटिकेशन वाले कंट्रोलर्स को निशाना बनाएगा — किसी कोल्ड-स्टोरेज फ़ार्मा वेयरहाउस, डेटा सेंटर के कूलिंग प्लांट, या नगरपालिका जल व्यवस्था में। हार्डवेयर वही है। क्रेडेंशियल्स भी उतने ही खराब हैं। एकमात्र चर यह है कि जब कोई उस दिन का पासवर्ड टाइप करता है, तो क्या गर्म होता है, बाढ़ आती है, या बंद हो जाता है।