Muistiturvallinen ohjelmistokehitys Rustilla
Lahtinen, Juuso (2024)
Lahtinen, Juuso
2024
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202404298229
https://urn.fi/URN:NBN:fi:amk-202404298229
Tiivistelmä
Opinnäytetyön tarkoituksena on perehtyä muistiturvallisuuteen, sen käyttötarpeeseen ja hyötyyn. Muistiturvallisuuden avuksi työssä perehdytään muistiin ja muistinhallintaan. Myös ohjelmointikieliin tutustutaan, koska niiden avulla pystytään vertailemaan kielten välisiä eroja sekä havainnollistamaan muistiturvallisuuden tarvetta. Ohjelmointikielet hallitsevat muistia eri tavoin, mutta yleisesti niissä käytetään roskankeräystä muistinhallintaan tai manuaalista muistinhallintaa.
Rust poikkeaa tästä siten, että Rust ei käytä roskankeräystä, mutta ei myöskään manuaalista muistinhallintaa. Opinnäytetyössä syvennytään Rustiin tarkemmin. Tutustutaan itse ohjelmointikielen teoriaan sekä luodaan sovellus havainnollistamaan Rustin toimintoja ja muistinhallintaa. Vertailun vuoksi sama sovellus luodaan C-ohjelmointikielellä.
Muistiturvallisuus koskee myös tietoturvaa, jota opinnäytetyössä tarkastellaan. Tutustutaan muutamiin haavoittuvuuksiin ja tapoihin, miten niitä voidaan estää esimerkiksi eri työskentelymenetelmien avulla.
Opinnäytetyön tuloksena lukija ymmärtää työssä käsitellyt aiheet. Rustilla ja C:llä saatiin onnistuneesti luotua sovellus, joka demonstroi ohjelmointikielten välisiä eroja muistiturvallisuuden saavuttamiseksi.
Rust poikkeaa tästä siten, että Rust ei käytä roskankeräystä, mutta ei myöskään manuaalista muistinhallintaa. Opinnäytetyössä syvennytään Rustiin tarkemmin. Tutustutaan itse ohjelmointikielen teoriaan sekä luodaan sovellus havainnollistamaan Rustin toimintoja ja muistinhallintaa. Vertailun vuoksi sama sovellus luodaan C-ohjelmointikielellä.
Muistiturvallisuus koskee myös tietoturvaa, jota opinnäytetyössä tarkastellaan. Tutustutaan muutamiin haavoittuvuuksiin ja tapoihin, miten niitä voidaan estää esimerkiksi eri työskentelymenetelmien avulla.
Opinnäytetyön tuloksena lukija ymmärtää työssä käsitellyt aiheet. Rustilla ja C:llä saatiin onnistuneesti luotua sovellus, joka demonstroi ohjelmointikielten välisiä eroja muistiturvallisuuden saavuttamiseksi.