? IT-sikkerhed bliver esoteriske når beskæftiger sig med sikkerhedshuller på en hardware -niveau. Selv den grundlæggende udførelse strukturen af computere har huller , som hackere kan udnytte. Ingeniører skal hele tiden udvikle teknikker til at omgå hackerangreb . For at løse hukommelse manipulation udnytter såsom bufferoverløb , ingeniører udviklet stack eller adresse space layout , randomisering . Denne teknik gør traditionelle og gentagelig angreb mindre effektive , og beskytter computere fra basale sikkerhedshuller . Kaldstakkens
generiske datastruktur defineret som en "stak " repræsenterer en grundlæggende liste over emner , hvor hvert ekstra element føjer til slutningen af listen , og hver fjernede element kommer fra enden af listen i et sidste -in, first- out rækkefølge. Indkaldelsen stak af et kørende program fungerer meget på samme måde . I stedet for simple dataelementer dog kaldstakkens arrangerer referencer i hukommelsen for at udføre funktioner i programmet.
Bufferoverløb og hukommelse Sårbarhed
En af ulemperne ved hjælp stakken datastruktur til at organisere programmer er relateret til, hvordan hukommelsen er organiseret . Mens hver kørende funktion i et program sidder i kaldstakkens , de ofte sidder side om side i fysisk hukommelse . Derfor , hvis en hacker overskridelser en variabel buffer ved at give for mange data for en datastruktur til at håndtere , for eksempel, så den ekstra information, kan overskrive data i tilstødende fysiske lagerpladser , der påvirker strømmen af udførelsen af programmet .
stack randomisering
For at løse sikkerhedsproblemer , ingeniører udviklet en allokering af hukommelse teknik kendt som stak randomisering eller adresse space layout randomisering . Typisk hukommelse allokeret sekventielt under udførelsen af programmet . Når et program starter , det er tildelt den næste tilgængelige hukommelse i hukommelsen. Ved brug stak randomisering , bestemmer computeren en pseudo - tilfældig placering baseret på opveje en forudbestemt . Rammen fingerpeg om stakken placeres af dette opvejes så godt. Forskydningen bestemmes ved opstart af operativsystemet .
Stack Randomisering og sikkerhed
grund af stakken randomisering , er programdata ikke bor helt hinanden i systemets hukommelse . Dette udgør et problem for hackere forsøger at bruge et angreb såsom en bufferoverløb . Mens en bufferoverløb kan opstå , kunne virkningen ikke forudbestemt . Før stakken randomisering , hvis en hacker vidste, hvor meget data til brug i en buffer overskridelse kunne han bruge den samme exploit på det samme program, gentagne gange. Med randomisering er ingen buffer angreb garanteret succes mellem hver kørende forekomst af et program , selv på den samme computer.