𝗧𝗵𝗲 𝗔𝗳𝘁𝗲𝗿𝗺𝗮𝗿𝗸𝗲𝘁 𝗗𝗶𝗮𝗴𝗻𝗼𝘀𝗶𝘀
സൈബർ സുരക്ഷയെക്കുറിച്ച് ജെൻ ഈസ്റ്റർലി (Jen Easterly) അടുത്തിടെ കൃത്യമായ ഒരു രോഗനിർണ്ണയം പങ്കുവെച്ചു. നമുക്ക് സൈബർ സുരക്ഷാ പ്രശ്നമല്ല ഉള്ളതെന്ന് അവർ പറഞ്ഞു. നമുക്ക് സോഫ്റ്റ്വെയർ ഗുണനിലവാര പ്രശ്നമാണ് ഉള്ളത്.
ഒരിക്കലും ഉണ്ടാകാൻ പാടില്ലാത്ത പിഴവുകൾ പരിഹരിക്കുന്നതിനായി ഒരു വ്യവസായം തന്നെ കെട്ടിപ്പടുക്കാൻ നമ്മൾ പതിറ്റാണ്ടുകൾ ചെലവഴിക്കുന്നു.
സുരക്ഷയെ 'അപ്സ്ട്രീമിലേക്ക്' (upstream) മാറ്റുക എന്നതാണ് ലക്ഷ്യം. തുടക്കം മുതൽ തന്നെ കോഡിൽ സുരക്ഷ ഉൾക്കൊള്ളിക്കണം. പിന്നീട് അത് കൂട്ടിച്ചേർക്കുകയല്ല വേണ്ടത്.
അവരുടെ രോഗനിർണ്ണയം ശരിയാണ്. എന്നാൽ അവരുടെ നിർദ്ദേശങ്ങൾ തെറ്റാണ്.
Anthropic-ന്റെ Project Glasswing പോലുള്ള ടൂളുകൾ സുരക്ഷാ വീഴ്ചകൾ (vulnerabilities) കണ്ടെത്തുകയും അവ പരിഹരിക്കാൻ സഹായിക്കുകയും ചെയ്യുന്നു. ഇത് വേഗതയുള്ളതാണ്, ചിലവ് കുറഞ്ഞതാണ്, മികച്ചതുമാണ്.
എന്നാൽ ഇതൊരു ആഫ്റ്റർമാർക്കറ്റ് പരിഹാരം മാത്രമാണ്.
ഒരു ബഗ് വേഗത്തിൽ കണ്ടെത്തുന്നത് എന്നത് ഒരു ബഗ് കണ്ടെത്തൽ തന്നെയാണ്. അത് കുറഞ്ഞ ചിലവിൽ പരിഹരിക്കുന്നത് എന്നത് പരിഹരിക്കൽ തന്നെയാണ്. സുരക്ഷാ വീഴ്ച ഇപ്പോഴും നിലനിൽക്കുന്നു. അത് സൃഷ്ടിക്കപ്പെട്ടു. അത് വിന്യസിക്കപ്പെട്ടു (deployed). അതിനുശേഷം AI അത് കണ്ടെത്തി.
അത് ആഫ്റ്റർമാർക്കറ്റിന്റെ അവസാനമല്ല. അത് വേഗതയേറിയ ഒരു ആഫ്റ്റർമാർക്കറ്റ് മാത്രമാണ്.
യഥാർത്ഥ അപ്സ്ട്രീം സുരക്ഷ ഉപയോഗിക്കുന്നത് നിശ്ചിത നിയമങ്ങളാണ് (deterministic rules). അത് പ്രോബബിലിസ്റ്റിക് മോഡലുകൾ (probabilistic models) ഉപയോഗിക്കുന്നില്ല.
യഥാർത്ഥ അപ്സ്ട്രീം സുരക്ഷ ഇപ്രകാരമാണ്:
• കോഡ് എഴുതുന്നതിന് മുമ്പ് എന്തൊക്കെ കാര്യങ്ങൾ ശരിയായിരിക്കണം എന്ന് മനുഷ്യർ പ്രഖ്യാപിക്കുന്നു. • ആ പ്രഖ്യാപനത്തിന് അനുസൃതമാണോ ഓരോ മാറ്റവും എന്ന് യന്ത്രങ്ങൾ പരിശോധിക്കുന്നു. • നിയമം ലംഘിക്കുന്ന എന്തും സിസ്റ്റം നിരസിക്കുന്നു.
വ്യോമയാന മേഖലയിലും ആണവനിലയങ്ങളിലും ഇപ്രകാരമാണ് പ്രവർത്തിക്കുന്നത്. ഒരു പൈലറ്റ് വിമാനം പറന്നു കഴിഞ്ഞതിന് ശേഷമല്ല തെറ്റുകൾ കണ്ടെത്തുന്നത്. ഒരു ഫ്ലൈറ്റ് കമ്പ്യൂട്ടർ പറക്കലിനിടയിൽ തന്നെ സുരക്ഷിതമല്ലാത്ത അവസ്ഥകൾ തടയുന്നു.
സോഫ്റ്റ്വെയറിന്റെ കാര്യത്തിലും നമ്മൾ ഇതേ രീതി സ്വീകരിക്കണം.
ഒരു സുരക്ഷാ വീഴ്ച മുൻകൂട്ടി പ്രവചിക്കാൻ കഴിയുന്നതാണെങ്കിൽ, നമ്മൾ അത് പ്രഖ്യാപിക്കണം.
• പബ്ലിക് S3 ബക്കറ്റുകൾ അനുവദിക്കരുത്. • ഓതന്റിക്കേഷൻ ഇല്ലാത്ത API റിക്വസ്റ്റുകൾ അനുവദിക്കരുത്. • ഡിപെൻഡൻസികളിലെ (dependencies) അറിയപ്പെടുന്ന ഗുരുതരമായ പിഴവുകൾ അനുവദിക്കരുത്.
നിങ്ങൾ ഈ നിയമങ്ങൾ പ്രഖ്യാപിക്കുകയാണെങ്കിൽ, ആ സുരക്ഷാ വീഴ്ച ഒരിക്കലും ഉണ്ടാകില്ല. അത് കണ്ടെത്തേണ്ടതില്ല. അത് പാച്ച് (patch) ചെയ്യേണ്ടതില്ല. അത് കണ്ടെത്താനായി AI-യിൽ പണം ചെലവഴിക്കേണ്ടതില്ല.
പുതിയതും അറിയപ്പെടാത്തതുമായ പാറ്റേണുകൾ കണ്ടെത്തുന്നതിന് AI മികച്ചതാണ്. എന്നാൽ അറിയപ്പെടുന്ന കോൺഫിഗറേഷൻ പിഴവുകൾ പരിശോധിക്കാൻ AI ഉപയോഗിക്കുന്നത് തെറ്റായ ഉപകരണം ഉപയോഗിക്കുന്നതിന് തുല്യമാണ്. ഒരു തെർമോമീറ്റർ കയ്യിലുണ്ടായിട്ടും താപനില അളക്കാൻ ഒരു കവിത ഉപയോഗിക്കുന്നത് പോലെയാണത്. തെർമോമീറ്റർ കൃത്യമാണ്. കവിത വെറുമൊരു അഭിപ്രായം മാത്രമാണ്.
AI ഉപയോഗിക്കാനുള്ള ഏറ്റവും നല്ല മാർഗ്ഗം ഒരു റാച്ചറ്റ് (ratchet) പോലെയാണ്:
- AI ഒരു പുതിയ തരം സുരക്ഷാ വീഴ്ച കണ്ടെത്തുന്നു.
- മനുഷ്യർ ആ കണ്ടെത്തൽ പരിശോധിക്കുന്നു.
- ആതരം പിഴവുകൾ എന്നെന്നേക്കുമായി തടയാൻ മനുഷ്യർ ഒരു പുതിയ നിയമം എഴുതുന്നു.
- യന്ത്രം ആ നിയമം സ്വയമേവ നടപ്പിലാക്കുന്നു.
ഇത് ഓരോ ദിവസവും AI-യുടെ ജോലി കുറച്ചുകൊണ്ടുവരുന്നു.
നമുക്ക് ഒരു മാന്ത്രിക പരിഹാരമല്ല (silver bullet) വേണ്ടത്. പ്രഖ്യാപനങ്ങൾ (declarations), പരിശോധന (verification), കണ്ടെത്തൽ (discovery) എന്നിവയുടെ ഒരു സംവിധാനമാണ് നമുക്ക് ആവശ്യം.
Optional learning community: https://t.me/GyaanSetuAi