Stack Smashing Protection
Stack Smashing Protection (SSP, StackGuard) on puskurin ylivuotovirheiden havaitsemiseen käytetty tekniikka.[1][2] Tekniikkaa käytetään tietoturvahaavoittuvuuksien kuten ROP-hyökkäyksiltä suojaamiseen.[2]
Vuonna 1998 GCC-kääntäjässä esiteltiin StackGuard.[2][3] Menetelmä lisää pinossa olevien muuttujien ja paluuosoitteen väliin pienen canary-arvon (kanarialintu).[2] Kun ylivuoto tapahtuu canary-arvo ylikirjoittuu.[2] Funktiosta palattaessa arvo tarkistetaan ja jos arvo on muuttunut ohjelma pysäytetään.[2] IBM:llä on vastaava kääntäjässä toteutettava tekniikka nimeltään ProPolice.[4] Microsoftin Visual Studion /GS
-optio toteuttaa vastaavan ominaisuuden.[5]
Suojauksen tasoon voi myös vaikuttaa kääntäjän optioilla.[6]
Katso myös
Lähteet
- On the effectiveness of NX, SSP, RenewSSP and ASLR against stack buffer overflows (PDF) hmarco.org. Viitattu 20.9.2020. (englanniksi)
- Security Technologies: Stack Smashing Protection (StackGuard) access.redhat.com. 20.8.2018. Viitattu 24.9.2020. (englanniksi)
- StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks usenix.org. Viitattu 24.9.2020. (englanniksi)
- Prevent Stack-Smashing Attacks oreilly.com. Viitattu 24.9.2020. (englanniksi)
- /GS (Buffer Security Check) docs.microsoft.com. 11.4.2016. Viitattu 24.9.2020. (englanniksi)
- Jake Edge: "Strong" stack protection for GCC lwn.net. 5.2.2014. Viitattu 24.9.2020. (englanniksi)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.