Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
  •   Etusivu
  • Trepo
  • Kandidaatintutkielmat
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Tekoälyn tuottaman ohjelmakoodin turvallisuus: Haavoittuvuuksien esiintyminen ja niihin vaikuttavat tekijät

Härkönen, Olivia (2025)

 
Avaa tiedosto
HarkonenOlivia.pdf (422.3Kt)
Lataukset: 



Härkönen, Olivia
2025

Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
Hyväksymispäivämäärä
2025-12-04
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2025120311234
Tiivistelmä
Generatiivisten tekoälymallien käyttö ohjelmointityössä on lisääntynyt nopeasti, mutta niiden tuottaman koodin turvallisuutta on tutkittu selvästi vähemmän kuin esimerkiksi syntaktista oikeellisuutta tai tekoälyn kykyä tunnistaa haavoittuvuuksia. Tämä kandidaatintutkielma tarkastelee, kuinka yleisiä haavoittuvuudet ovat tekoälyn generoimassa koodissa sekä minkälaiset tekijät vaikuttavat haavoittuvuuksien esiintymiseen.

Tutkimusten tulosten perusteella tekoälymallien tuottamassa koodissa esiintyy huomattava määrä haavoittuvuuksia. Noin joka kolmas tutkimuksissa generoitu ohjelma sisältää jonkin CWE heikkouden. Yksittäisissä tutkimuksissa haavoittuvien ohjelmien osuus nousee jopa 60 %:iin. Tekoälymallien välillä on huomattu myös eroja, sillä osa malleista tuottaa huomattavasti enemmän haavoittuvuuksia kuin toiset. Copilot ja ChatGPT-4o tuottavat tutkituista malleista pääosin vähiten haavoittuvuuksia.

Haavoittuvuuksien määrään ja tyyppiin vaikuttavat myös esimerkiksi ohjelmointikieli ja kehotteen muotoilu. Erilaiset kirjoitusvirheet voivat esimerkiksi lisätä tekoälyn luomien haavoittuvien ohjelmien osuutta. Erityisesti C-kielisiin ohjelmiin tekoäly tuottaa enemmän haavoittuvuuksia, ja haavoittuvuudet liittyvät usein muistinhallinnan ongelmiin. Tekoälyn tuottamissa Python- ja JavaScript-kielisissä ohjelmissa haavoittuvuuksia esiintyy vähemmän ja yleisempiä haavoittuvuuksia ovat puolestaan erilaiset komentoinjektiohaavoittuvuudet sekä sivustojen välinen skriptaus. Lisäksi tekoälymallien kyky ymmärtää ohjelmalogiikkaa osoittautuu rajalliseksi, mikä vaikeuttaa monimutkaisten tai dynaamisten haavoittuvuuksien tunnistamista ja korjaamista.

Tulokset kokonaisuutena osoittavat, että tekoälyn tuottamaa koodia ei voida pitää turvallisena sellaisenaan, vaan se vaatii käyttäjältä kriittistä tarkastelua. Tekoälytyökalut voivat tehostaa ohjelmistokehitystä, mutta niiden tuottamaan koodiin liittyy merkittäviä riskejä, jotka korostavat turvallisuustietoisen kehityskulttuurin tärkeyttä.
Kokoelmat
  • Kandidaatintutkielmat [10844]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste