AI zanáší do programového kódu více problémů, než je únosné

26. 2. 2024

Sdílet

 Autor: Fotolia @Tatiana Shepeleva
Asistenty s umělou inteligencí, které pomáhají s vývojem softwaru, ve skutečnosti často replikují bezpečnostní chyby, které získají ze školicích dat. Jak z toho ven?

Podle průzkumu, který uveřejnila bezpečnostní firma Snyk, může kódovací asistent GitHub Copilot navrhovat nezabezpečený kód – může totiž replikovat bezpečnostní chyby, které se naučil z nevhodných podkladů

Berete vážně ochranu aplikací před útoky hackerů?

To prý znamená, že vývojáři, kteří nejsou dostatečně zběhlí v oblasti bezpečnosti, nejen že mohou zanést vlastní chyby, ale také vložit bezpečnostní rizika, které jim navrhne Copilot – jinými slovy kód, který tito lidé vyprodukují, může být dokonce ještě zranitelnější, než kdyby jej tvořili jen sami.

Generativní programovací asistenty s umělou inteligencí, jako jsou třeba GitHub Copilot, Amazon CodeWhisperer nebo ChatGPT, sice nabízejí významný skok v produktivitě a efektivitě kódu, avšak nerozumějí sémantice kódu, a proto ji ani nemohou dostatečně správně posoudit.

Vyvíjejte aplikace v cloudu. Radíme, jak na to! Přečtěte si také:

Vyvíjejte aplikace v cloudu. Radíme, jak na to!

Například GitHub Copilot generuje úryvky kódu na základě vzorů a struktur, které se naučil z vlastního rozsáhlého úložiště existujícího programového kódu, které u něj ukládají různí vývojáři. 

Kódy, které následně navrhne, tak mohou neúmyslně kopírovat existující bezpečnostní chyby a špatné postupy přítomné v původních souborech.

Podle údajů společnosti Snyk má průměrný komerční softwarový projekt tvořený interně v průměru 40 zranitelností a téměř třetina z nich s vysokou závažností.

ICTS24

Nejčastějšími bezpečnostními problémy v komerčním softwaru jsou podle Snyku jsou z kategorie cross-site scripting, path traversal, SQL injection či špatně utajená citlivá data či přihlašovací údaje.

Pro zmírnění možnosti opakování existujících bezpečnostních problémů v kódu generovaném asistenty umělé inteligence doporučuje Snyk například tyto kroky:

  • Vývojáři by měli provádět ruční kontrolu kódu.
  • Bezpečnostní týmy by měly zavést systém SAST (security application security testing).
  • Vývojáři by měli dodržovat zásady bezpečného programování.
  • Bezpečnostní týmy by měly zajistit školení vývojových týmů ohledně zabezpečení.

 

Security World si můžete koupit i jako klasický časopis, buď v klasické tištěné formě nebo v elektronické verzi. Věnujeme se bezpečnosti počítačových systémů, ochraně dat, informací a soukromí.  Jsme jediný titul na českém a slovenském trhu, který oslovuje širokou čtenářskou obec – od ředitelů firem, přes odborníky na bezpečnost po koncové uživatele. Naším cílem je poskytnout ucelený přehled o bezpečnostních hrozbách a zejména o tom, proč a jak se jim bránit, případně proč respektovat a dodržovat nařízení IT manažerů ve firmách.