Szerző: Habók Lilla

2022. december 22. 11:00

Biztonsági problémákat okozhat a kódoló asszisztensek használata

Újabb tanulmány bizonyítja, hogy a kódolást támogató, mesterséges intelligencia alapú megoldások használata közben érdemes a kódokat fokozottan átnézni. Sokkal több biztonsági hiba csúszhat így át a résen, mint a hagyományos programozói munka közben.

Egyre több fejlesztő kezdi felfedezni a kódolást segítő, nyilvánosan elérhető kódsorokan betanult mesterséges intelligencia alapú programok, mint például a GitHub-féle Copilot vagy a Facebook InCoder előnyeit. Egy frissen megjelent tudományos publikációban a Stanford kutatói azonban óvatosságra intik a programozókat. A felmérés eredményei szerint ugyanis a kódolást támogató MI asszisztensek kevésbé biztonságos kódsorokat állítanak elő, mint a hús-vér fejlesztők.

Jelen tanulmányban a kutatók a Python, C és Verilog nyelvekre koncentráltak, és a kódokon belül is 25 különböző sebezhetőségre. A kutatásban 47 eltérő tapasztalati szinten álló fejlesztő vett részt a tanulóktól a szeniorokig. A kódoló asszisztenst használó és nem használó fejlesztők ugyanazt az 5 feladatot kapták, például Pythonban egy titkosító és egy titkosítást visszafejtő függvény írása (Q1); egy üzenet aláírása ECDSA aláíró kulccsal (Q2).

mi_asszisztens_kutatas_eredmeny
A kódoló asszisztenst használó (Kísérleti csoport) és nem használó (kontrollcsoport) eredményei a feladatokban (Forrás: Stanford kutatás)

Promptolsz-e már padawan?

Januári, juniorokkal foglalkozó adásunk a téma felsőoktatási aspektusait nem érintette. Ezen most változtatunk.

Promptolsz-e már padawan? Januári, juniorokkal foglalkozó adásunk a téma felsőoktatási aspektusait nem érintette. Ezen most változtatunk.

Az egyes feladattípusok közt szórás tapasztalható az asszisztenst használó és a kontrollcsoport közt, de összességében a Stanford kutatói megállapították, hogy az MI kódoló segítségét használók minden feladatban kevésbé biztonságos programokat állítottak elő, mint a hagyományos módon programozók. Például sokkal jellemzőbb az MI asszisztens használatakor az egészszám-túlcsordulás (integer overflow) okozta biztonsági rés. Ennél is nagyobb probléma, hogy az MI asszisztenst használók nagyobb mértékben meg vannak győződve kódjaik helyességéről és biztonságosságáról.

Felkapott kutatási téma


A témával a Stanford mellett már a New York University kutatói is foglalkoztak több tanulmányban. A 2021-es publikációban a szerzők kifejezetten a GitHub Copilot biztonsági problémáit kezdték feltárni 89 szcenárióban készített 1689 programmal, melyeknek 40 százaléka tartalmazott sebezhetőséget. Egy idei, fejlesztőkkel közösen végzett felhasználói kutatásban viszont a NYU kutatói arra jutottak, hogy a nagy nyelvi modellekkel készített, C nyelven írt kódsorok csak 10 százalékkal több kritikus hibát tartalmaznak a programozók saját kódjainál, ezért az MI asszisztensek nem jelentenek komoly biztonsági fenyegetést.

A Stanford kutatásából viszont jól kitűnik, hogy főleg a kevésbé tapasztalt programozók használták fel változtatás nélkül a mesterséges intelligencia ajánlásait, és ez okozta a sebezhetőséget. A tapasztalt programozók hatékonyabban átnézik és kiiktatják az MI által okozott hibákat is. A tanulmány szerzői hangsúlyozzák, hogy a Copilot jellegű megoldások növelik a programozók hatékonyságát, de remélik, hogy a tanulmány hatására tovább fejlődik a szolgáltatás, és a biztonsági rések aránya is csökkeni fog.

A sorozat május 28-i, harmadik állomásán az AWS-ben biztonsági megoldásait vesszük nagyító alá. Átnézzük a teljes AWS security portfóliót a konténerbiztonságtól a gépi tanulásos alkalmazások védelmén át, egészen az incidenskezelésig.

a címlapról