ഐ.ടി. മേഖലയിൽ ഇന്ന് വരെ ഉണ്ടായിട്ടുള്ളതിൽ വച്ച് ഏറ്റവും വലിയ ഔട്ടേജ് (പ്രവർത്തനരഹിതമാവൽ) എന്ന് വിശേഷിപ്പിക്കപ്പെടുന്ന സംഭവമാണ് ഈ ജൂലൈ 19-ന് സംഭവിച്ചത്. ലോകവ്യാപകമായി 85 ലക്ഷം വിൻഡോസ് കമ്പ്യൂട്ടറുകളെ ബാധിച്ച ഈ പ്രശ്നം ആരോഗ്യമേഖല, വ്യോമയാനം, ബാങ്കിങ് എന്നിങ്ങനെ സമൂഹത്തിൽ ഉപയോഗത്തിലുള്ള പല സംവിധാനങ്ങളെയും ബാധിച്ചു. 85 ലക്ഷം എന്നത് ലോകത്തിൽ ഉപയോഗത്തിലുള്ള വിൻഡോസ് കംപ്യൂട്ടറുകളുടെ 1% മാത്രമാണ് എങ്കിലും ഈ മേഖലകളെല്ലാം ആ കംപ്യൂട്ടറുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്ന സോഫ്റ്റ്വെയറുകളെ ആശ്രയിക്കുന്നത് കൊണ്ട് ഈ പ്രശ്നത്തിന്റെ ആഘാതം വലുതായിരുന്നു. ഫോർച്യൂൺ 500 കമ്പനികൾക്ക് 500 കോടി രൂപയിലധികം നഷ്ടം വന്നു എന്ന് പറയപ്പെടുന്നു. ഈ ഔട്ടേജ് എങ്ങിനെ നടന്നു എന്ന് നമുക്കൊന്ന് നോക്കാം.
ഈ സംഭവത്തിനെ കുറിച്ച് ഇൻറർനെറ്റിൽ തിരഞ്ഞാൽ ‘ക്രൗഡ്സ്ട്രൈക്ക് ഔട്ടേജ്’ (crowdstrike outage) എന്ന പേരിലാണ് ഇത് അറിയപ്പെടുന്നത് എന്ന് കാണാം.സുരക്ഷ സോഫ്റ്റ്വെയർ നിർമാണത്തിൽ വളരെ പ്രസിദ്ധമായ ഒരു അമേരിക്കൻ കമ്പനിയാണ് ക്രൗഡ്സ്ട്രൈക്ക്. ആന്റി-വൈറസ് സോഫ്റ്റ്വെയർ, ഫയർവാൾ ഇതെല്ലാം സുരക്ഷ സോഫ്റ്റ്വെയറുകൾക്ക് ഉദാഹരണങ്ങളാണ്. ഗവണ്മെന്റ് കംപ്യൂട്ടറുകൾ, ബാങ്കുകൾ പോലുള്ള വലിയ കമ്പനികളുടെ കംപ്യൂട്ടറുകൾ എന്നിവയൊക്കെ നിരന്തരം ഇന്റർനെറ്റ് വഴിയുള്ള അക്രമങ്ങൾ നേരിട്ട് കൊണ്ടിരിക്കുകയാണ്. അത്തരം ശ്രമങ്ങളെ മനസ്സിലാക്കുകയും തടയുകയും ചെയ്യുക എന്നതാണ് മുന്തിയ സുരക്ഷ സോഫ്റ്റ്വെയറുകളുടെ ജോലി. ഇത്തരത്തിൽ, അക്രമങ്ങളെ AI ഉപയോഗിച്ച് കണ്ടുപിടിക്കുന്നു എന്ന് അവകാശപ്പെടുന്ന ഒരു സോഫ്റ്റ്വെയറാണ് ക്റൗഡ്സ്ട്രൈക്കിന്റെ ഫാൽക്കൺ (Falcon). ഫാൽക്കൺ സോഫ്റ്റ്വെയറിനുള്ള ഒരു പുതുക്കൽ (update) ആണ് ഈ സംഭവത്തിലെ വില്ലൻ.
കമ്പ്യൂട്ടറുകളെ സംരക്ഷിക്കാൻ ഉണ്ടാക്കിയ സോഫ്റ്റ്വെയർ തന്നെ വൻതോതിൽ കമ്പ്യൂട്ടറുകളെ അപകടപ്പെടുത്തി എന്ന വിചിത്രമായ സംഭവ വികാസമാണ് ഇവിടെ ഉണ്ടായത്.
സോഫ്റ്റ്വെയർ അപ്ഡേറ്റ്സ് എന്നത് നമുക്കെല്ലാം പരിചിതമായ കാര്യമാണ്. വിൻഡോസും മൊബൈലിലെ ആപ്പുകളും പുതുക്കിയ അനുഭവം നമ്മളിൽ മിക്കവാറും ആളുകൾക്ക് ഉണ്ടാകും. ബഗുകൾ ശരിപ്പെടുത്താനും പുതിയ സൗകര്യങ്ങൾ, പ്രവർത്തനരീതികൾ (facilities / features) എന്നിവ ഉപഭോഗ്താക്കൾക്ക് നൽകാനുമാണ് സോഫ്റ്റ്വെയറുകൾ പുതുക്കി നമ്മുടെ ഉപകരണങ്ങളിലേക്ക് എത്തിക്കുന്നത്, അല്ലെങ്കിൽ അപ്ഡേറ്റ് ചെയ്യുന്നത്. സുരക്ഷ സോഫ്റ്റ്വെയറുകൾ ഇത്തരത്തിൽ നിരന്തരം അപ്ഡേറ്റ് ചെയ്യപ്പെടുന്ന ഒന്നാണ്. സുരക്ഷ സോഫ്റ്റ്വെയറുകൾക്ക് പൊതുവെ രണ്ട് ഭാഗങ്ങൾ ഉണ്ടാവും. അതിൻ്റെ ലോജിക് അടങ്ങിയ സോഫ്റ്റ്വെയറും പിന്നെ കുറെ രൂപരേഖകളും (rules). എന്താണീ റൂൾസ്? ലളിതമായ ഒരു ഉദാഹരണത്തിലൂടെ ഈ റൂൾസ് എന്താണെന്ന് മനസ്സിലാക്കാൻ ശ്രമിക്കാം. നമ്മുടെ കംപ്യൂട്ടറുകളിൽ പാസ്സ്വേർഡ് പോലെ അതീവ സുരക്ഷ അർഹിക്കുന്ന വിവരങ്ങളുള്ള ചില ഫയലുകൾ കാണും. സാധാരണ പ്രവർത്തനത്തിൽ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പോലുള്ള അപൂർവം പ്രോഗ്രാമുകൾ മാത്രമാണ് ഇത്തരം ഫയലുകൾ പരിശോധിക്കുക. ഈ ഫയലുകൾ പരിശോധിക്കാൻ ശ്രമിക്കുന്ന വേറൊരു പ്രോഗ്രാം നമ്മുടെ കമ്പ്യൂട്ടറിൽ ഉണ്ടെന്ന് കണ്ടാൽ അത് അപകടം പിടിച്ച വൈറസ് / മാൽവെയർ ആണെന്ന് ഊഹിക്കാം. അങ്ങനെ മറ്റ് പ്രോഗ്രാമുകൾ പരിശോധിക്കാൻ പാടില്ലാത്ത ഫയലുകളുടെ പേരുകളുടെ ലിസ്റ്റ് ലളിതമായ ഒരു റൂളിന്റെ ഉദാഹരണമാണ്.
പല രാജ്യങ്ങളിലും ഇരുന്ന് ലോകത്തെമ്പാടുമുള്ള കമ്പ്യൂട്ടറുകളെ ആക്രമിക്കാനും അനുവാദമില്ലാതെ അതിലേക്ക് പ്രവേശിക്കാനും നോക്കുന്ന അനേകായിരം പേരുണ്ട്. ദൈനംദിനം ഇതിനായി അവർ പുതിയ പുതിയ വഴികൾ കണ്ടുപിടിക്കാൻ ശ്രമിച്ചുകൊണ്ടിരിക്കും. അവരുടെ ശ്രമങ്ങളെ എങ്ങനെ മനസ്സിലാക്കാം എന്നതിനുള്ള റൂളുകൾ എഴുതുക എന്നതാണ് സുരക്ഷ സോഫ്റ്റ്വെയറുകൾ നിര്മ്മാതാക്കളുടെ പ്രധാന ജോലി. ഇത്തരത്തിൽ ഉള്ള പുതിയ റൂളുകൾ വളരെ പതിവായി ഇവർ ആ സോഫ്റ്റ്വെയർ ഉപയോഗിക്കുന്ന കംപ്യൂട്ടറുകളിലേക്ക് അപ്ഡേറ്റ് ചെയ്തുകൊണ്ടേ ഇരിക്കും. അത്തരത്തിലുള്ള ഒരു അപ്ഡേറ്റ് ആണ് ഭീമമായ ഔട്ടേജിന് കാരണമായത്.
ക്രൗഡ്സ്ട്രൈക്ക് ഔട്ടേജിനെ കുറിച്ച് വായിച്ചാൽ ക്രാഷ്, ബ്ലൂ സ്ക്രീൻ ഓഫ് ഡെത്ത് (BSOD) എന്നീ വാക്കുകൾ കാണാൻ കഴിയും. ഒരു സോഫ്റ്റ്വെയർ അരുതാത്തത് ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലെ ചില സുരക്ഷാ ഉപാധികൾ ആ സോഫ്റ്റ്വെയറിന്റെ പ്രവർത്തനം മനപ്പൂർവം നിലപ്പിക്കുന്നതിനെയാണ് (terminate / exit) ക്രാഷ് എന്ന് പറയുന്നത്. ഒരു ദശകം മുൻപേ വിൻഡോസ് കംപ്യൂട്ടറുകൾ ഉപയോഗിച്ചിരുന്നവർക്ക് BSOD പരിചയം ഉണ്ടാവും. വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം തന്നെ ക്രാഷ് ആവുമ്പോളാണ് നീല നിറത്തിലുള്ള ഒരു സ്ക്രീൻ കമ്പ്യൂട്ടർ കാണിക്കുന്നത്. ഇന്ന് ഇത് വളരെ വിരളമായേ സംഭവിക്കാറുള്ളൂ. അപ്പോൾ സ്വാഭാവികമായ ചോദ്യം ഫാൽക്കൺ സോഫ്റ്റ്വെയറിലെ തകരാർ മൂലം ആ പ്രോഗ്രാമിന് പകരം എന്തുകൊണ്ട് വിൻഡോസ് തന്നെ ക്രാഷ് ചെയ്തു എന്നാണ്.
വിൻഡോസ് കംപ്യൂട്ടറിൽ പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകൾ രണ്ട് തരത്തിൽ പെട്ടവയാണ് – യൂസർ മോഡിൽ പ്രവർത്തിക്കുന്നവയും കെർണൽ മോഡിൽ പ്രവർത്തിക്കുന്നവയും. സാധാരണ നമ്മൾ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമുകൾ എല്ലാം യൂസർ മോഡിൽ പ്രവർത്തിക്കുന്നവയാണ്. അത്തരം ഒരു പ്രോഗ്രാമിന് മറ്റൊരു പ്രോഗ്രാമിനെ ബാധിക്കാനുള്ള (ആ പ്രോഗ്രാം ഉപയോഗിക്കുന്ന മെമ്മറിയിൽ പ്രവേശിക്കുക തുടങ്ങിയ കാര്യങ്ങൾ) കഴിവില്ല. എന്നാൽ വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് ഒരു കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കുന്ന മറ്റ് പ്രാഗ്രാമുകളെയെല്ലാം നിയന്ത്രിക്കാനുള്ള കഴിവ് ആവശ്യമുണ്ട്. അതിനാൽ അത് കെർണൽ മോഡിലാണ് പ്രവർത്തിക്കുന്നത്. കംപ്യൂട്ടറിലെ ഡ്രൈവർ പ്രോഗ്രാമുകൾ (ഹാർഡ്വെയർ നിയന്ത്രിക്കുന്ന പ്രോഗ്രാമുകൾ) പ്രവർത്തിക്കുന്നത് കെർണൽ മോഡിലാണ്. വിൻഡോസിൽ ഈ രീതിയിൽ പ്രവർത്തിക്കുന്ന പ്രോഗ്രാമുകളെല്ലാം ഒരേ മെമ്മറി മേഖല (address space) ഉപയോഗിക്കുന്നത് കൊണ്ട് അവ തമ്മിലുള്ള വേർതിരിച്ചൽ (isolation) വളരെ കുറവാണ്. മറ്റ് പ്രോഗ്രാമുകളുടെ പ്രവർത്തനം നിരീക്ഷിക്കേണ്ടത് കൊണ്ട് ഫാൽക്കൺ പോലുള്ള സുരക്ഷാ സോഫ്റ്റ്വെയറുകളും കെർണൽ മോഡിൽ പ്രവർത്തിക്കാൻ നിർമിക്കപ്പെട്ടതാണ്.
കമ്പ്യൂട്ടറുകളെ ഹാക്ക് ചെയ്യുന്ന രീതികൾ മനസ്സിലാക്കി, അത്തരം ആക്രമണങ്ങളെ കണ്ടു പിടിക്കാൻ സഹായിക്കുന്ന റൂളുകൾ ഉണ്ടാക്കി, ആ റൂളുകൾ കംപ്യൂട്ടറുകളിലേക്ക് അപ്ഡേറ്റുകൾ വഴി എത്തിക്കുന്നു എന്ന് നേരത്തെ പറഞ്ഞു. ഈ റൂളുകൾ ഫാൽക്കൺ സോഫ്റ്റ്വെയറിൽ ‘ചാനൽ ഫയൽ’ എന്ന് പേരുള്ള ഫയലുകൾ വഴിയാണ് അപ്ഡേറ്റ് ചെയ്യുന്നത്. വിൻഡോസ് കമ്പ്യൂട്ടറുകളെ ‘നെയിംഡ് പൈപ്പ്‘ എന്ന് പേരുള്ള ഒരു ഉപാധി വെച്ച് ഹാക്ക് ചെയ്യാനുള്ള രീതിയെ പറ്റി അറിഞ്ഞപ്പോൾ അതിനെ തടയാനായി ക്രൗഡ്സ്ട്രൈക്ക് ചാനൽ ഫയൽ 291 ലൂടെ ഒരു അപ്ഡേറ്റ് നൽകി. ഈ ചാനൽ ഫയൽ 291 -ൽ ഒരു തകരാറുണ്ടായത് മൂലം ആ ഫയൽ വായിക്കാൻ (load) ശ്രമിക്കുന്ന നേരത്ത് ഫാൽക്കൺ സോഫ്റ്റ്വെയർ ക്രാഷ് ചെയ്യാൻ തുടങ്ങി. ഒരു കമ്പ്യൂട്ടർ പ്രവർത്തനം തുടങ്ങുമ്പോൾ തന്നെ, അതായത് അതിലെ വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പ്രവർത്തിച്ച് തുടങ്ങുന്നതിനോട് ചേർന്ന് തന്നെ (boot up), ഫാൽക്കൺ സുരക്ഷ സോഫ്റ്റ്വെയർ പ്രവർത്തനം തുടങ്ങും. പുതിയ ചാനൽ ഫയൽ 291 വായിക്കാൻ ശ്രമിച്ച ഫാൽക്കൺ സോഫ്റ്റ്വെയർ ക്രാഷ് ചെയ്യുകയും, അതൊരു കെർണൽ മോഡ് പ്രോഗ്രാം ആയത് കൊണ്ട്, വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം മുന്നോട്ട് പോകാതെ ബ്ലൂ സ്ക്രീൻ ഓഫ് ഡെത്ത് കാണിച്ച് പ്രവർത്തനം നിർത്തുകയും ചെയ്തു.
പൊതുവിൽ എങ്ങനെയാണ് സോഫ്റ്റ്വെയർ കമ്പനികൾ അവരുണ്ടാക്കുന്ന സോഫ്റ്റ്വെയറുകളിൽ ഇത്തരം പ്രശ്നങ്ങൾ ഉണ്ടാകുന്നത് തടയുന്നത്? തങ്ങളുടെ സോഫ്റ്റ്വെയറുകൾ ലാബുകളിലെ കംപ്യൂട്ടറുകളിൽ പ്രവർത്തിച്ച് നോക്കി അവയുടെ പ്രവർത്തനം ശരിയായ തരത്തിലാണ് എന്ന് ഉറപ്പ് വരുത്തുന്നതിനെ സോഫ്റ്റ്വെയർ പരിശോധന (ടെസ്റ്റിംഗ്) എന്ന് പറയും. ചിലപ്പോൾ കമ്പനിയിലെ ജോലിക്കാർ ഉപഭോക്താക്കളെ പോലെ ആ സോഫ്റ്റ്വെയർ ഉപയോഗിച്ച് നോക്കും (മാനുവൽ ടെസ്റ്റിംഗ്). ഇപ്പോൾ കൂടുതൽ കൂടുതൽ ഒരു പ്രോഗ്രാം ഉപയോഗിച്ച് നോക്കി അതിൻ്റെ പ്രവർത്തനം സ്ഥിരീകരിക്കുന്നത് അതിനായി നിർമിക്കപ്പെടുന്ന മറ്റൊരു പ്രോഗ്രാം ആണ് (ഓട്ടമേറ്റഡ് ടെസ്റ്റിംഗ്). തെറ്റുകളുടെ ആഘാതം കുറക്കാൻ, കുറച്ച് കുറച്ച് കംപ്യൂട്ടറുകളിലായി (ചില രാജ്യങ്ങളിലെ ഉപഭോക്താക്കളുടെ, അല്ലെങ്കിൽ ചില സമയ മേഖലയിലുള്ളവരുടെ എന്നിങ്ങനെ) സോഫ്റ്റ്വെയർ അപ്ഡേറ്റ് ചെയ്ത് നോക്കുന്ന ഒരു പതിവുമുണ്ട്. ഇതിന് ഫേസ്ഡ് ഡിപ്ലോയ്മെന്റ് എന്ന് പറയും. ഫാൽക്കൺ റൂൾസ് അപ്ഡേറ്റിൽ ടെസ്റ്റിംഗ് പിഴവ് വന്നുവെന്ന് ക്രൗഡ്സ്ട്രൈക്ക് അംഗീകരിച്ചിട്ടുണ്ട്. സുരക്ഷ സോഫ്റ്റ്വെയറുകൾ ഒറ്റയടിക്ക് ആഗോളവ്യാപകമായി അപ്ഡേറ്റ് ചെയ്യുന്ന പതിവുള്ളത് കൊണ്ടാണ് ലക്ഷക്കണക്കിന് കമ്പ്യൂട്ടറുകളെ അത് പ്രവർത്തനരഹിതമാക്കിയത്.
ഈ ഒരു സംഭവത്തിൽ നിന്ന് നമ്മൾ എന്ത് മനസ്സിലാക്കണം? നിത്യജീവിതത്തിൽ യന്ത്രവല്കരണം കൂടി കൂടി വരുമ്പോൾ ലോകത്തിന്റെ പല ഭാഗത്തുമുള്ള ചെറുതും വലുതുമായ വസ്തുക്കളിലും വസ്തുതകളിലും, മനസ്സിലാക്കാൻ ബുദ്ധിമുട്ടുള്ള വിധത്തിലുള്ള ഒരു ആശ്രിതത്വം നമ്മുടെ ജീവിതത്തിന് വന്നുകൊണ്ടിരിക്കുകയാണ്. അതിൽ വരുന്ന പിഴവുകൾ നമുക്കുണ്ടാകുന്ന ബുദ്ധിമുട്ടുകൾക്കോ നാശനഷ്ടങ്ങൾക്കോ വേണ്ടത്ര തടകളോ നിയമ സംരക്ഷണങ്ങളോ ഉള്ളതായി തോന്നുന്നില്ല. നിയമപരമായി ക്രൗഡ്സ്ട്രൈക്ക് കമ്പനിയിൽ നിന്ന് പിഴ ഈടാക്കാനുള്ള ശ്രമങ്ങൾ വിജയിക്കാൻ സാധ്യത ഇല്ല എന്നാണ് കരുതപ്പെടുന്നത്. ജനജീവിതം സ്തംഭിപ്പിക്കാൻ സൈന്യങ്ങൾ തമ്മിലുള്ള യുദ്ധത്തേക്കാൾ ഇന്റർനെറ്റ് വഴിയുള്ള അക്രമങ്ങൾക്ക് കഴിവുണ്ടെന്നുള്ളതിന് ഒരു നല്ല ഉദാഹരണമാണ് ഈ സംഭവം. ക്രൗഡ്സ്ട്രൈക്ക് സംഭവം മനപ്പൂർവ്വമല്ലെങ്കിലും, അത്തരത്തിലുള്ള ശ്രമങ്ങൾ നിരന്തരം നടന്ന് കൊണ്ടിരിക്കുന്നുണ്ട്. ഒരു യൂസർ എന്ന നിലയിൽ നമുക്ക് ചെയ്യാവുന്ന ഒരു കാര്യം കൂടി ഉണ്ട്. നമ്മുടെ കമ്പ്യൂട്ടറുകളിലും മൊബൈൽ ഫോണുകളിലും നിരന്തരം സോഫ്റ്റ്വെയർ അപ്ഡേറ്റുകൾ നടക്കുന്നുണ്ട്. അതിനുള്ള അനുവാദം കൊടുക്കുന്നതിന് മുൻപ് അപ്ഡേറ്റിൽ വരുത്തിയിരിക്കുന്ന മാറ്റങ്ങൾ എന്തൊക്കെയാണ് എന്ന് മനസ്സിലാക്കാൻ ശ്രമിക്കുന്നത് നല്ലതാണ്. ഇത് വിശദീകരിക്കുന്ന റിലീസ് നോട്ടുകൾ എല്ലാ സോഫ്റ്റ്വെയർ അപ്ഡേറ്റുകളും പങ്ക് വെക്കും. വലിയ കമ്പനികൾ ഇത്തരം ഭീമമായ ഔട്ടേജുകൾ ഇല്ലാതെ സൂക്ഷിക്കും എന്ന് നമുക്ക് പ്രതീക്ഷിക്കാം.
അധിക വായനയ്ക്ക്
- https://techcrunch.com/2024/07/19/faulty-crowdstrike-update-causes-major-global-it-outage-taking-out-banks-airlines-and-businesses-globally/
- https://www.reuters.com/technology/fortune-500-firms-see-54-bln-crowdstrike-losses-says-insurer-parametrix-2024-07-24/
- https://www.crowdstrike.com/platform/
- https://www.crowdstrike.com/falcon-content-update-remediation-and-guidance-hub/
- https://www.theregister.com/
- https://www.crowdstrike.com/blog/falcon-update-for-windows-hosts-technical-details/
- https://learn.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/user-mode-and-kernel-mode
- https://learn.microsoft.com/en-us/windows/win32/ipc/named-pipes
- https://www.marketwatch.com/story/why-crowdstrike-is-likely-shielded-from-billions-in-customer-losses-caused-by-its-outage-d2272bbe
സാങ്കേതികവിദ്യയും സമൂഹവും
ലേഖനങ്ങൾ വായിക്കാം