Ero sivun ”Puskurin ylivuotovirhe” versioiden välillä
[arvioimaton versio] | [arvioimaton versio] |
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa |
|||
Rivi 1:
'''Puskurin ylivuotovirhe''' on tietokoneohjelmassa tapahtuva [[Ohjelmointivirhe|virhetilanne]], jossa ohjelma tallentaa saamansa [[syöte|syötteen]] osittain sille varatun [[muistialue]]en ulkopuolelle. Virhe saattaa aiheuttaa merkittäviä vahinkoja ohjelman ja sitä suorittavan tietokonejärjestelmän toiminnalle. Puskurin ylivuotovirheet ovat olleet tärkein yksittäinen tekninen syy ohjelmissa ja käyttöjärjestelmissä esiintyville tietoturvaongelmille.
[[Puskuri]]n ylivuoto tapahtuu silloin, kun ohjelma kasvattaa tai vähentää muistialueeseen osoittavaa
Puskurin ylivuotovirhe on tietoturvaongelma selkeimmin ohjelmassa, jotka on toteutettu suhteellisen matalan tason kielellä, jossa ei ole huomioitu muistialueiden suojaustarvetta ohjelman omilta, mutta asiaankuulumattomilta muokkauksilta. Näitä kieliä ovat mm. [[C-ohjelmointikieli|C]] ja [[C_plus_plus|C++]]. Useat kielet, kuten [[Java]] ja [[Lisp]] huolehtivat sisäisesti muistinhallinnasta ja ovat immuuneja puskurin ylivuotovirheille. Joskus kuitenkin nämä immuunitkin ohjelmointikielet saattavat altistua tälle ongelmalle, koska on hyvin yleistä että käytetään pientä C:llä tehtyjä rutiinia.
|