Hjem Lyd Hvad er stakknusning? - definition fra techopedia

Hvad er stakknusning? - definition fra techopedia

Indholdsfortegnelse:

Anonim

Definition - Hvad betyder Stack Smashing?

Stakkesprængning er en form for sårbarhed, hvor stakken i et computerprogram eller operativsystem tvinges til at flyde over. Dette kan føre til at subvertere programmet / systemet og ødelægge det.


En stak, et først-ind sidst-ud kredsløb, er en form for buffer, der indeholder mellemresultater af operationer inden i den. For at forenkle, stack smashing og lægger flere data i en stak end dens holdekapacitet. Dygtige hackere kan bevidst introducere overdreven data i stakken. De overdrevne data kan muligvis gemmes i andre stakevariabler, herunder funktionens returneringsadresse. Når funktionen vender tilbage, springer den til den ondsindede kode på stakken, hvilket kan ødelægge hele systemet. De tilstødende data på stakken påvirkes og tvinger programmet til at gå ned.

Techopedia forklarer Stack Smashing

Hvis programmet, der er berørt af stack-smashing, accepterer data fra ikke-betroede netværk og kører med særlige privilegier, er det et tilfælde af sikkerhedssårbarhed. Hvis bufferen indeholder data leveret af en ikke-betroet bruger, kan stakken blive beskadiget ved at injicere eksekverbar kode i programmet og således få uautoriseret adgang til en computer. En angriber kan også overskrive kontrolflowoplysninger, der er gemt i stakken.


Da stacksmashing er vokset til en meget alvorlig sårbarhed, implementeres visse teknologier for at overvinde stakbrudskatastrofen. Stack bufferoverløbsbeskyttelse ændrer organisering af data i staktrammen i et funktionsopkald til at inkludere kanariske værdier. Disse værdier, når de ødelægges, indikerer, at en buffer, der ligger foran den i hukommelsen, er blevet overstrømmet. Kanariske værdier overvåger bufferoverløb og placeres mellem kontroldataene og bufferen på stakken. Dette sikrer, at en bufferoverløb først ødelægger kanarien. En mislykket verifikation af kanariske data angiver et overløb i stakken. De tre typer kanariefugle er tilfældig, terminator og tilfældig XOR.


Terminatorkanarien er baseret på det faktum, at stakbufferoverløbsangreb afhænger af strengoperationer, der slutter ved terminatorerne. Tilfældige kanarier genereres tilfældigt fra en entropi-indsamlingsdemon, som forhindrer angribere i at kende værdier. Tilfældige kanarier genereres ved programinitialisering og gemmes i globale variabler. Tilfældige XOR-kanarier er tilfældige bærere, der er XOR-krypteret ved hjælp af kontroldata. Det ligner tilfældige kanarier, bortset fra at "read from stack-metoden" for at få kanariefuglen er kompleks. Hackeren har brug for kanarie-, algoritme- og kontroldata for at fremstille den originale kanarie. De beskytter mod angreb, der involverer overflydende buffere i en struktur i pointers for at ændre markøren til at pege på et stykke kontroldata.

Hvad er stakknusning? - definition fra techopedia