ഷെൽഷോക്ക് (സോഫ്റ്റ്‌വെയർ ബഗ്)

**ഷെൽഷോക്ക്**, **ബാഷ്ഡോർ** എന്നും അറിയപ്പെടുന്നു, യുണിക്സ് ബാഷ് ഷെല്ലിലെ സുരക്ഷാ ബഗുകളുടെ ഒരു കുടുംബമാണ്, 2014 സെപ്തംബർ 24-ന്, ഈ സുരക്ഷാ വീഴ്ചയെപറ്റി ആദ്യമായി വെളിപ്പെടുത്തി. ഷെൽഷോക്ക് ഉപയോഗിച്ച് ഒരു ആക്രമണകാരിക്ക് ബാഷിൽ ആർബിട്ടറി കോഡ് എക്സിക്യൂഷൻ നടപ്പിലാക്കുന്നതിനും അഭ്യർത്ഥനകൾ പ്രോസസ്സ് ചെയ്യുന്നതിന് ബാഷ് ഉപയോഗിക്കുന്ന വെബ് സെർവറുകൾ പോലുള്ള നിരവധി ഇന്റർനെറ്റ് സേവനങ്ങളിലേക്ക് അനധികൃതമായി പ്രവേശനം നേടുന്നതിനും ഇടയാക്കും.

2014 സെപ്തംബർ 12-ന്, "ബാഷ്ദൂർ" എന്ന് പേരിട്ടിരിക്കുന്ന ബാഷിൽ സ്റ്റെഫാൻ ചാസെലസ് ഒരു അപകടസാധ്യത കണ്ടെത്തി, ഉടൻ തന്നെ ഈ പ്രശ്നത്തെക്കുറിച്ച് മെയിന്റനറായ ചേറ്റ് റാമിയെ അറിയിച്ചു.  ഈ വൾനറബിലിറ്റി മൂലം അനധികൃത ഉപയോക്താക്കൾക്ക് ബാഷ് ഉപയോഗിച്ച് സിസ്റ്റങ്ങളിൽ അനിയന്ത്രിതമായ കമാൻഡുകൾ നടപ്പിലാക്കാൻ അനുവദിച്ചു. സുരക്ഷാ വിദഗ്‌ധരുമായി ചേർന്ന് പ്രവർത്തിച്ചുകൊണ്ട്, മിസ്റ്റർ ചാസെലസ് ഈ പ്രശ്‌നത്തിനായി ഒരു പാച്ച്(പരിഹാരം) വികസിപ്പിച്ചെടുത്തു, അതിന് അപ്പോഴേക്കും വൾനറബിലിറ്റി തിരിച്ചറിയുന്ന CVE-2014-6271 നൽകിയിരുന്നു.2014-09-24-ന്, ഈ ബഗിനുള്ള പരിഹാരത്തോടുകൂടിയ ബാഷ് അപ്‌ഡേറ്റുകൾ വിതരണത്തിന് തയ്യാറായപ്പോൾ, ഈ ബഗിന്റെ അസ്തിത്വം പൊതുജനങ്ങളെ അറിയിച്ചു.

എൻവയോൺമെന്റ് വേരിയബിളുകളിൽ സംഭരിച്ചിരിക്കുന്ന ഫംഗ്‌ഷൻ നിർവചനങ്ങളിൽ അവസാനം കമാൻഡുകൾ ചേർക്കുന്നത് ബാഷിനെ ആ കമാൻഡുകൾ എക്‌സിക്യൂട്ട് ചെയ്യാൻ അബദ്ധവശാൽ കാരണമാക്കുന്ന ഒരു ബഗ് ചാസെലസ് ബാഷിൽ കണ്ടെത്തി.ഈ വൾനറബിലിറ്റി ഉദ്ദേശിക്കാത്തതും സുരക്ഷിതമല്ലാത്തതുമായ കമാൻഡ് എക്‌സിക്യൂഷനിലേക്ക് നയിച്ചേക്കാം. ഇത് പ്രസിദ്ധീകരിച്ച് ദിവസങ്ങൾക്കുള്ളിൽ, വിവിധ അനുബന്ധ വൾനറബിലിറ്റികൾ കണ്ടെത്തി (CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187). തുടർന്നുള്ള പാച്ചുകളുടെ ഒരു പരമ്പരയോടെ റാമി ഇവയെ അഭിസംബോധന ചെയ്തു.

പ്രാരംഭ വെളിപ്പെടുത്തൽ കഴിഞ്ഞ് മണിക്കൂറുകൾക്കുള്ളിൽ ആക്രമണകാരികൾ ഷെൽഷോക്കിനെ ചൂഷണം ചെയ്‌ത കമ്പ്യൂട്ടറുകളുടെ ബോട്ട്‌നെറ്റുകൾ സൃഷ്ടിച്ച് ഡിസ്ട്രിബ്യൂഡ് ഡിനയൽ-ഓഫ്-സർവീസ് ആക്രമണങ്ങളും വൾനറബിലിറ്റി സ്‌കാനിംഗും നടത്തി.വെളിപ്പെടുത്തലിന് ശേഷമുള്ള ദിവസങ്ങളിൽ സുരക്ഷാ കമ്പനികൾ ബഗുമായി ബന്ധപ്പെട്ട ദശലക്ഷക്കണക്കിന് ആക്രമണങ്ങളും അന്വേഷണങ്ങളും രേഖപ്പെടുത്തി.

ഷെൽഷോക്കും ഹാർട്ട്‌ബ്ലീഡും കടുത്ത സുരക്ഷാ തകരാറുകളാണ്: ഷെൽഷോക്ക് ബാഷ് ഷെൽ വഴി സിസ്റ്റങ്ങളിൽ റിമോട്ട് കോഡ് എക്‌സിക്യൂഷൻ അനുവദിച്ചു, അതേസമയം ഹാർട്ട്‌ബ്ലീഡ് ഓപ്പൺഎസ്എസ്എൽ(OpenSSL) ലൈബ്രറിയിലെ ഒരു പിഴവ് ചൂഷണം ചെയ്തുകൊണ്ട് സെൻസിറ്റീവ് ഡാറ്റ വെളിപ്പെടുത്തി, ഇത് ദശലക്ഷക്കണക്കിന് അൺപാച്ച് ചെയ്യാത്ത സിസ്റ്റങ്ങൾക്ക് കാര്യമായ അപകടസാധ്യതകൾ സൃഷ്ടിച്ചു..
## പശ്ചാത്തലം
കമാൻഡ് ലൈനുകളും കമാൻഡ് സ്ക്രിപ്റ്റുകളും എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് വിവിധ യുണിക്സ്-അധിഷ്ഠിത സിസ്റ്റങ്ങൾ ഉപയോഗിക്കുന്ന ഒരു പ്രോഗ്രാമായ ഷെൽഷോക്ക് ബഗ് ബാഷിനെ ബാധിക്കുന്നു. ഇത് പലപ്പോഴും സിസ്റ്റത്തിന്റെ ഡിഫോൾട്ട് കമാൻഡ്-ലൈൻ ഇന്റർഫേസായി ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുന്നു. ഷെൽഷോക്ക് എന്നറിയപ്പെടുന്ന ബാഷ് ബഗ് 1989 ഓഗസ്റ്റ് 5-ന് സോഴ്‌സ് കോഡിലേക്ക് അവിചാരിതമായി ചേർത്തു, ഇത് 1989 സെപ്റ്റംബർ 1-ന് പുറത്തിറങ്ങിയ ബാഷ് പതിപ്പ് 1.03-ന്റെ ഭാഗമായി, 2014-ൽ കണ്ടെത്തുന്നത് വരെ വർഷങ്ങളോളം ശ്രദ്ധിക്കപ്പെടാതെ കിടന്നു. കോഡിലെ മനഃപൂർവമല്ലാത്ത ഈ ബഗ് ഉൾപ്പെടുത്തൽ വൾനറബിലിറ്റിയുടെ ദീർഘകാല സാന്നിധ്യത്തിന് കാരണമായി.

ഷെൽഷോക്ക് എന്നത് ഒരു സിസ്റ്റത്തിന്റെ ഉപയോക്താക്കൾക്ക് ലഭ്യമല്ലാത്ത കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിനുള്ള ഒരു മാർഗം പ്രദാനം ചെയ്യുന്ന ഒരു ആർബിട്ടറി കോഡ് എക്സിക്യൂഷൻ വൾനറബിലിറ്റിയാണ്. ബാഷിന്റെ "ഫംഗ്ഷൻ എക്‌സ്‌പോർട്ട്" സവിശേഷതയിലൂടെയാണ് ഇത് സംഭവിക്കുന്നത്, അതിലൂടെ ഒരു ബാഷ് പ്രോസസ്സിന് അത് നടപ്പിലാക്കുന്ന മറ്റ് ബാഷ് പ്രോസസ്സുകളുമായി കമാൻഡ് സ്‌ക്രിപ്റ്റുകൾ പങ്കിടാനാകും.എൻവയോൺമെന്റ് വേരിയബിൾ ലിസ്റ്റ് എന്ന പങ്കിട്ട പട്ടികയിൽ സ്ക്രിപ്റ്റുകൾ സംഭരിക്കുന്നത് ഈ സവിശേഷതയിൽ ഉൾപ്പെടുന്നു. ഒരു പുതിയ ബാഷ് പ്രോസസ്സ് ആരംഭിക്കുമ്പോൾ, അത് എൻകോഡ് ചെയ്ത സ്ക്രിപ്റ്റുകൾക്കായി ഈ ടേബിൾ സ്കാൻ ചെയ്യുകയും അവയെ എക്സിക്യൂട്ടബിൾ കമാൻഡുകളായി പരിവർത്തനം ചെയ്യുകയും പുതിയ പ്രോസസ്സിൽ പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. വ്യത്യസ്ത പ്രക്രിയകൾക്കിടയിൽ സ്ക്രിപ്റ്റുകൾ പങ്കിടാനും നടപ്പിലാക്കാനും ഇത് അനുവദിക്കുന്നു.ലിസ്റ്റിലെ സ്ക്രിപ്റ്റുകൾ മറ്റൊരു ബാഷ് പ്രോസസ്സിൽ നിന്നുള്ളതാണെന്ന് പുതിയ പ്രക്രിയ അനുമാനിക്കുന്നു, പക്ഷേ ഇതിന് സ്ഥിരീകരിക്കാൻ കഴിയില്ല. ബിൽറ്റ് കമാൻഡ് ശരിയായ സ്ക്രിപ്റ്റ് ഡെഫനിഷൻ ആണോ എന്ന് പരിശോധിക്കാനും ഇതിന് കഴിയില്ല. എൻവയോൺമെന്റ് വേരിയബിൾ ലിസ്റ്റിലേക്ക് അനിയന്ത്രിതമായ കമാൻഡുകൾ തിരുകാൻ ആക്രമണകാരികളെ ഈ വൾനറബിലിറ്റി അനുവദിക്കുന്നു. അവർക്ക് ഈ ലിസ്‌റ്റ് കൈകാര്യം ചെയ്യാനും ബാഷ് പ്രവർത്തിപ്പിക്കുന്നതിന് ട്രിഗർ ചെയ്യാനും കഴിയുമെങ്കിൽ, അവർക്ക് അനധികൃത കമാൻഡുകൾ എക്‌സിക്യൂട്ട് ചെയ്യാനോ ബാഷിന്റെ ഇന്റർപ്രെറ്ററിലെ സാധ്യതയുള്ള ബഗുകൾ ചൂഷണം ചെയ്യാനോ കഴിയും. മാക്ഒഎസിലും ലിനക്സിലും ബാഷ് വ്യാപകമായി ഉപയോഗിച്ചിരുന്നതിനാൽ, മറ്റ് പ്രക്രിയകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് പല പ്രോഗ്രാമുകളും ഇതിനെ ആശ്രയിക്കുന്നതിനാൽ, ഇത് കാര്യമായ സുരക്ഷാ അപകടമുണ്ടാക്കി.

2014-09-24 ന്, ബഗിന്റെ സാന്നിധ്യം പൊതുജനങ്ങളെ അറിയിച്ചത്, ഈ ബഗിന് പരിഹാരത്തോടുകൂടിയ ബാഷ് അപ്‌ഡേറ്റുകൾ വിതരണത്തിന് തയ്യാറായപ്പോഴാണ്, സുരക്ഷാ പ്രശ്‌നം പരിഹരിക്കുന്നതിന് കമ്പ്യൂട്ടറുകൾ അപ്‌ഡേറ്റ് ചെയ്യാൻ കുറച്ച് സമയമെടുത്തെങ്കിലും.

## അവലംബം