Kybernetická bezpečnost
Odstranění „mlhy více“ v kybernetické bezpečnosti
Na konferenci RSA v San Francisku tento měsíc byla k dispozici ohromující škála nových řešení od kybernetické bezpečnostní průmyslu. Stánek po stánku tvrdil, že je to nástroj, který vaše organizaci zachrání před špatnými aktéry, kteří ukradnou vaše věci nebo vás vydírají o miliony dolarů.
Po dlouhém zvažování jsem dospěl k závěru, že náš průmysl je ztracen. Ztracen v polévce detekce a reakce s nekonečným blábolem, který tvrdí, že vaše problémy zmizí, pokud přidáte ještě jednu vrstvu. Ponořen v mlze technologických investic, personálu, nástrojů a vrstev infrastruktury vytvořily společnosti labyrint, ve kterém již nemohou vidět les pro stromy, pokud jde o identifikaci a prevenci hrozeb. Tyto nástroje, které mají chránit digitální aktiva, způsobují místo toho frustraci jak pro bezpečnostní, tak pro vývojářské týmy prostřednictvím zvýšeného pracovního zatížení a neslučitelných nástrojů. „Mlha více“ nefunguje. Ale upřímně řečeno, nikdy nefungovala.
Kybernetické útoky začínají a končí v kódu. Je to tak jednoduché. Buď máte bezpečnostní chybu nebo zranitelnost v kódu, nebo byl kód napsán bez ohledu na bezpečnost. Každopádně každý útok nebo titul, který čtete, pochází z kódu. A jsou to softwaroví vývojáři, kteří čelí konečnému plnému dopadu problému. Ale vývojáři nejsou školeni v oblasti bezpečnosti a, upřímně řečeno, možná nikdy nebudou. Proto implementují dobré staré nástroje pro vyhledávání kódu, které prostě procházejí kód a hledají vzory. A bojí se, co se zeptáte, protože jako výsledek dostanou tsunami varování, honí se za falešnými pozitivy a přízraky většinu dne. Ve skutečnosti vývojáři stráví až jednu třetinu svého času honbou za falešnými pozitivy a zranitelnostmi. Teprve tím, že se zaměříme na prevenci, mohou podniky skutečně začít posilovat své bezpečnostní programy a vytvářet základy pro bezpečnostně orientovanou kulturu.
Vyhledání a oprava na úrovni kódu
Často se říká, že prevence je lepší než léčba, a toto rčení platí zejména v kybernetické bezpečnosti. Proto, i přes těsnější ekonomické omezení, podniky neustále investují a přidávají více bezpečnostních nástrojů, vytvářejí více bariér pro vstup, aby snížily pravděpodobnost úspěšných kybernetických útoků. Ale navzdory přidání více a více vrstev bezpečnosti se stejné typy útoků stále opakují. Je čas, aby organizace přijaly nový pohled – jeden, ve kterém se zaměřujeme na problém na základní úrovni – vyhledáním a opravou zranitelností v kódu.
Aplikace často slouží jako primární vstupní bod pro kybernetické zločince, kteří se snaží využít slabosti a získat neoprávněný přístup k citlivým údajům. Na konci roku 2020 se objevila kompromitace SolarWinds a vyšetřovatelé zjistili, že proces sestavení byl kompromitován a umožnil útočníkům vložit škodlivý kód do softwaru Orion pro monitorování sítě. Tento útok podtrhl potřebu zabezpečení každého kroku procesu sestavení softwaru. Implementací robustní aplikace bezpečnostních opatření, nebo AppSec, mohou organizace snížit riziko těchto bezpečnostních úniků. To vyžaduje, aby podniky adoptovaly „shift left“ mentalitu, přinášející preventivní a prediktivní metody do vývojové fáze.
Zatímco tato myšlenka není zcela nová, má své nevýhody. Jednou z významných nevýhod je zvýšený čas a náklady na vývoj. Implementace komplexních AppSec opatření může vyžadovat významné zdroje a odborné znalosti, což vede k delším vývojovým cyklům a vyšším nákladům. Kromě toho ne všechny zranitelnosti představují vysoké riziko pro organizaci. Potenciál falešných pozitiv z detekčních nástrojů také vede k frustraci mezi vývojáři. To vytváří mezery mezi obchodními, inženýrskými a bezpečnostními týmy, jejichž cíle se nemusí shodovat. Ale generativní AI může být řešením, které tuto mezeru jednou provždy uzavře.
Vstup do éry AI
Pomocí všudypřítomné povahy generativního AI v AppSec se konečně naučíme z minulosti a budeme předpovídat a předcházet budoucím útokům. Například můžete školit Large Language Model nebo LLM na všech známých zranitelnostech kódu, ve všech jejich variantách, aby se naučil základní rysy všech. Tyto zranitelnosti by mohly zahrnovat běžné problémy, jako jsou přetečení bufferu, injekční útoky nebo nesprávná validace vstupu. Model se také naučí nuancovaným rozdílům podle jazyka, frameworku a knihovny, jakož i to, jaké opravy kódu jsou úspěšné. Model pak může použít tyto znalosti k prohledání kódu organizace a nalezení potenciálních zranitelností, které dosud nebyly identifikovány. Pomocí kontextu kolem kódu mohou nástroje pro skenování lépe detekovat skutečné hrozby. To znamená kratší dobu skenování a méně času stráveného honbou za falešnými pozitivy a zvýšenou produktivitou pro vývojářské týmy.
Nástroje generativního AI mohou také nabízet navrhované opravy kódu, automatizovat proces generování oprav, což významně snižuje čas a úsilí potřebné k opravě zranitelností v kódech. Školením modelů na rozsáhlých repozitářích bezpečných kódů a osvědčených postupů mohou vývojáři využívat AI generované kódy, které dodržují bezpečnostní standardy a vyhýbají se běžným zranitelnostem. Tento proaktivní přístup nejen snižuje pravděpodobnost zavádění bezpečnostních chyb, ale také urychluje vývojový proces poskytováním vývojářům předem otestovaných a ověřených komponent kódu.
Tyto nástroje mohou být také přizpůsobeny pro různé programovací jazyky a styly kódování, což z nich dělá univerzální nástroje pro bezpečnost kódu v různých prostředích. Mohou se také zlepšovat s časem, protože se dále učí na nových datech a zpětné vazbě, což vede k účinnější a spolehlivější generaci oprav.
Lidský faktor
Je důležité poznamenat, že zatímco opravy kódu mohou být automatizovány, lidský dohled a validace jsou stále nezbytné pro zajištění kvality a správnosti generovaných oprav. Zatímco pokročilé nástroje a algoritmy hrají významnou roli v identifikaci a zmírnění bezpečnostních zranitelností, lidská odbornost, kreativita a intuice zůstávají nepostradatelné pro efektivní zabezpečení aplikací.
Vývojáři jsou nakonec odpovědní za psaní bezpečného kódu. Jejich porozumění bezpečnostním osvědčeným postupům, kodifikačním standardům a potenciálním zranitelnostem je zásadní pro zajištění toho, aby aplikace byly vyvíjeny s ohledem na bezpečnost od samého počátku. Integrací bezpečnostních školení a programů osvěty do vývojového procesu mohou organizace vybavit vývojáře proaktivně identifikovat a řešit bezpečnostní problémy, snižovat tak pravděpodobnost zavádění zranitelností do kódu.
Kromě toho je efektivní komunikace a spolupráce mezi různými zúčastněnými stranami v rámci organizace nezbytná pro úspěch AppSec. Zatímco AI řešení mohou pomoci „uzavřít mezeru“ mezi vývojovým a bezpečnostním provozem, vyžaduje to kulturu spolupráce a sdílené odpovědnosti, aby se postavily odolnější a bezpečnější aplikace.
V světě, kde se hrozby neustále vyvíjejí, je snadné se stát zahlceným pouhým množstvím dostupných nástrojů a technologií v oblasti kybernetické bezpečnosti. Nicméně, zaměřením se na prevenci a vyhledáním zranitelností v kódu mohou organizace odstranit „tuk“ ze stávajícího bezpečnostního balíčku, ušetřit tak exponenciální množství času a peněz. Na základní úrovni budou takové řešení schopna nejen najít známé zranitelnosti a opravit zero-day zranitelnosti, ale také pre-zero-day zranitelnosti, než nastanou. Konečně můžeme držet krok, ne-li být před nimi, s rozvíjejícími se hrozbami.












