Aina välillä näkyy uutisia, joissa puhutaan siitä kuinka joku on murtautunut esimerkiksi jollekin www-palvelimelle. En ole koskaan oikein ymmärtänyt miten tämä murtautuminen tapahtuu. (Ja ei, en ole pyytämässä mitään ohjeita :) En edes tajuaisi selllaisista selityksistä mitään)
Siis en tajua sitä, miten esimerkiksi Apachen puskuriylivuoto-bugi tai muu vastaava moka, voi antaa ulkopuoliselle sellaisen pääsyn, että saa käyttöön koneen komentotulkin. Vai millä ihmeellä kräkkerit konetta käyttävät ellei komentotulkilla?
En mitenkään keksi miten puskurin ylivuoto tekisi muuta kuin kaataisi ohjelman. Miten ihmeessä ohjelman kaatuminen voi antaa käyttöoikeuksia koneeseen? Tätä olen miettinyt, enkä vaan tajua.
Siis en tajua sitä, miten esimerkiksi Apachen puskuriylivuoto-bugi tai muu vastaava moka, voi antaa ulkopuoliselle sellaisen pääsyn, että saa käyttöön koneen komentotulkin. Vai millä ihmeellä kräkkerit konetta käyttävät ellei komentotulkilla?
En mitenkään keksi miten puskurin ylivuoto tekisi muuta kuin kaataisi ohjelman. Miten ihmeessä ohjelman kaatuminen voi antaa käyttöoikeuksia koneeseen? Tätä olen miettinyt, enkä vaan tajua.
Vastaukset 2
Vanhimmat
Puskurin ylivuoto tarkoittaa sitä, että ohjelma yrittää kirjoittaa dataa sellaiselle muistialueelle, joka ei kuulu kyseiselle puskurille. Tämä vahingossa ylikirjoitettu muistialue saattaa sisältää muiden muuttujien arvoja tai suoritettavaa ohjelmakoodia. Sopivalla tavalla aiheutettu puskurin ylivuoto voi muuttaa tärkeän muuttujan arvon hyökkääjälle mieluisaksi (esim. jokin suojaustarkistus pois päältä). Toinen tapa on vaihtaa kutsutun funktion paluuosoite siten, että ohjelman suoritus jatkuu hyökkääjän määräämästä osoitteesta. Tällä tavalla hyökkääjä pystyy suorittamaan haluamiaan toimenpiteitä kohdejärjestelmässä.
http://en.wikipedia.org/wiki/Buffer_overflow
Kiitos vastauksesta,
Ymmärsin selityksestäsi, että puskurin ylivuodon hyödyntäminen onnistuu vain paikallisessa hyökkäyksessä, siis siten että hyökkääjällä on jo tunnukset/oikeudet koneessa. Ymmärsinkö oikein?
Eikö muuten sellaiset tapaukset, joissa hyökkääjä vaihtaa funktion paluuosoitteen, voi estää käyttöjärjestelmän tasolla siten, että ajossa olevalla ohjelmalla on tietty muistialue, jonka ulkopuolelle se ei saa mennä?