Tekoälyn hyödyntäminen takaisinmallinnuksessa
Paakkunainen, Veikka (2025)
Paakkunainen, Veikka
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202504247504
https://urn.fi/URN:NBN:fi:amk-202504247504
Tiivistelmä
Binäärianalyysi vaatii paljon tietotaitoa ja harjaantuneisuutta loogisen päättelykyvyn lisäksi. Tutkimuksen lähtökohtana oli selvittää, kuinka tehokkaasti tekoälypohjainen ratkaisu voi tukea binäärien analysointia tilanteessa, jossa analysoija on vielä oppimassa menetelmiä, mutta omaa jo jonkin verran kokemusta. Taustalla oli oletus siitä, että tekoäly voisi toimia hyödyllisenä apurina monimutkaisissa ja aikaa vievissä binäärien analyysissä.
Tutkimuksessa tarkasteltiin suurten kielimallien (LLM) soveltuvuutta binäärianalyysiin ja takaisinmallinnukseen hyödyntäen Ghidra-ohjelmistoa ja siihen integroitua Python-skriptiä (GhidrOllama), jonka avulla paikallisesti pyörivät kielimallit voitiin ottaa käyttöön analyysin tueksi. Tavoitteena oli selvittää, kuinka hyvin kielimallit tukevat analyysiprosessia kokeneen aloittelijan näkökulmasta, missä tilanteissa ne nopeuttavat analyysia ja millaisia rajoitteita niiden käytössä ilmenee.
Tutkimus toteutettiin soveltavan tutkimuksen keinoin. Analysoitavaksi valittiin seitsemän CrackMe-haastetta, joista neljä suoritettiin manuaalisesti, kaksi analysoitiin uudelleen kielimallien avulla ja kolme ratkaistiin suoraan kielimallien tuella. Tuloksia mitattiin sekä laadullisesti että määrällisesti vertailemalla analyysien nopeutta, tarkkuutta ja prosessin sujuvuutta eri menetelmillä.
Kielimallien havaittiin nopeuttavan analyysiprosessia huomattavasti tarjoamalla selityksiä koodin rakenteista ja loogisista yhteyksistä. Ne vähensivät kognitiivista kuormitusta ja toivat esiin uusia näkökulmia, mutta samalla edellyttivät jatkuvaa kriittistä arviointia. Mallien satunnaiset virheelliset päätelmät ja rajallinen kontekstinhallinta osoittautuivat keskeisiksi rajoitteiksi. Manuaalinen analyysi oli tarkempaa tilanteissa, joissa vaadittiin syvällistä loogista päättelyä, mutta eteni hitaammin ja vaati enemmän taustatyötä.
Johtopäätöksenä havaittiin, että tehokkain lähestymistapa binäärianalyysiin muodostui manuaalisen ja kielimallipohjaisen analyysin yhdistämisestä. Vuorovaikutteinen työskentelymalli, jossa käyttäjä ohjasi ja arvioi tekoälyn ehdotuksia, johti sekä tarkempaan että nopeampaan lopputulokseen. Samalla kriittinen ajattelu kehittyi, kun mallien vastauksia jouduttiin jatkuvasti tulkitsemaan ja validoimaan. Tällainen hybridimalli nähtiin lupaavana etenkin oppimisen ja työprosessien kehittämisen kannalta. Binary analysis requires technical skills, logical reasoning, and experience. This study explored how effectively AI-based language models can support binary reverse engineering from the perspective of an experienced beginner. The aim was to assess how these models can speed up manual analysis, what benefits and limitations they present, and in which situations (if in any) they may mislead the user. The underlying assumption was that AI could be a useful assistant in complex and time-consuming binary analysis tasks.
The study applied seven CrackMe challenges, using both manual and AI-assisted approaches. Analysis was conducted by utilizing an SRE (software reverse engineering) suite called Ghidra and a Python inte-gration (GhidrOllama), allowing the use of locally running large language models (LLM). Four challenges were performed manually, two of them were reanalyzed with AI, and three challenges were completed directly using AI support. The results were evaluated by comparing analysis time, process fluency, and qualitative insights.
Language models were found to accelerate the process by offering explanations of code structures and logical connections, reduce cognitive load, and offer new perspectives. However, their limited context awareness and occasional errors required constant critical evaluation. Manual analysis was more accurate in complex reasoning tasks but slower overall and was found to have significant cognitive load on the analyst.
A hybrid approach combining manual and AI-assisted analysis proved to be the most effective. Interactive use of language models encouraged critical thinking and improved both accuracy and efficiency. This model showed strong potential for learning and process development.
Tutkimuksessa tarkasteltiin suurten kielimallien (LLM) soveltuvuutta binäärianalyysiin ja takaisinmallinnukseen hyödyntäen Ghidra-ohjelmistoa ja siihen integroitua Python-skriptiä (GhidrOllama), jonka avulla paikallisesti pyörivät kielimallit voitiin ottaa käyttöön analyysin tueksi. Tavoitteena oli selvittää, kuinka hyvin kielimallit tukevat analyysiprosessia kokeneen aloittelijan näkökulmasta, missä tilanteissa ne nopeuttavat analyysia ja millaisia rajoitteita niiden käytössä ilmenee.
Tutkimus toteutettiin soveltavan tutkimuksen keinoin. Analysoitavaksi valittiin seitsemän CrackMe-haastetta, joista neljä suoritettiin manuaalisesti, kaksi analysoitiin uudelleen kielimallien avulla ja kolme ratkaistiin suoraan kielimallien tuella. Tuloksia mitattiin sekä laadullisesti että määrällisesti vertailemalla analyysien nopeutta, tarkkuutta ja prosessin sujuvuutta eri menetelmillä.
Kielimallien havaittiin nopeuttavan analyysiprosessia huomattavasti tarjoamalla selityksiä koodin rakenteista ja loogisista yhteyksistä. Ne vähensivät kognitiivista kuormitusta ja toivat esiin uusia näkökulmia, mutta samalla edellyttivät jatkuvaa kriittistä arviointia. Mallien satunnaiset virheelliset päätelmät ja rajallinen kontekstinhallinta osoittautuivat keskeisiksi rajoitteiksi. Manuaalinen analyysi oli tarkempaa tilanteissa, joissa vaadittiin syvällistä loogista päättelyä, mutta eteni hitaammin ja vaati enemmän taustatyötä.
Johtopäätöksenä havaittiin, että tehokkain lähestymistapa binäärianalyysiin muodostui manuaalisen ja kielimallipohjaisen analyysin yhdistämisestä. Vuorovaikutteinen työskentelymalli, jossa käyttäjä ohjasi ja arvioi tekoälyn ehdotuksia, johti sekä tarkempaan että nopeampaan lopputulokseen. Samalla kriittinen ajattelu kehittyi, kun mallien vastauksia jouduttiin jatkuvasti tulkitsemaan ja validoimaan. Tällainen hybridimalli nähtiin lupaavana etenkin oppimisen ja työprosessien kehittämisen kannalta.
The study applied seven CrackMe challenges, using both manual and AI-assisted approaches. Analysis was conducted by utilizing an SRE (software reverse engineering) suite called Ghidra and a Python inte-gration (GhidrOllama), allowing the use of locally running large language models (LLM). Four challenges were performed manually, two of them were reanalyzed with AI, and three challenges were completed directly using AI support. The results were evaluated by comparing analysis time, process fluency, and qualitative insights.
Language models were found to accelerate the process by offering explanations of code structures and logical connections, reduce cognitive load, and offer new perspectives. However, their limited context awareness and occasional errors required constant critical evaluation. Manual analysis was more accurate in complex reasoning tasks but slower overall and was found to have significant cognitive load on the analyst.
A hybrid approach combining manual and AI-assisted analysis proved to be the most effective. Interactive use of language models encouraged critical thinking and improved both accuracy and efficiency. This model showed strong potential for learning and process development.