Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako zabrániť útokov buffer overflow

Útoky pretečením vyrovnávacej pamäte je obyčajná forma útoku na hackera spôsobiť chaos v systéme . K dispozícii sú haldy na báze pretečeniu útoky , ktoré sú zriedkavé , a zásobníka na báze útoky , ktoré chybne reset limit pamäte pre zásobník , prinútiť to , aby pretečeniu . Pretekaniu údaje sa presťahuje do inej nárazníky , ohrozovania alebo prepísaním platné dáta tam , čo by mohlo spôsobiť kaskádu poškodené nárazníky , podobne ako kaskády pretekaniu poháre . Aby sa zabránilo pretečeniu bufferu útokom , budete musieť mať odborné znalosti programovania , prístup ku kódu v pochybnosť a čas a trpezlivosť , aby hrebeň cez stránky a stránky kód na vykonanie zmeny potrebné na ochranu vášho systému . Pokyny
1

Napíšte bezpečnostný kód , aby sa zabránilo pretečeniu útoky . V jazyku C , existuje celý rad ohrozených funkcií , ktoré môžu hackeri využiť k preplneniu vyrovnávacej pamäti . Minimalizovať použitie strcpy ( ) , strčí ( ) , sprintf ( ) a vsprintf ( ) , ktoré nevykonávajú kontroly hraníc . Ak je to možné , vyhnite sa použitiu dostane ( ) , ktorá nešpecifikuje , koľko znakov je potrebné čítať a tak opustí svoj kód zraniteľný . Ak použijete scanf ( ) , je nutné zadať šírku pre % s formátu nedošlo k prekročeniu .
2

Skontrolujte , či môžete použiť trampolíny , aby sa zabránilo pretečeniu vyrovnávacej pamäti . Vzhľadom k tomu , buffer overflow sa vyskytuje v stohy pamäti a nie v kóde , najjednoduchšie riešenie sa zdá byť zabránenie svoje stohy od vykonania akéhokoľvek kód vložením malý kúsok kódu k zákazu týchto akcií . To je možné v Linux , ale je veľmi ťažké . Len niekoľko kompilátorov používajú malé kúsky kódu , tzv trampolíny , ktoré pôsobia ako bariéra medzi kódu volajúceho funkciu a funkciu sám . Takže , ak škodlivý kód sa pokúsi prepísať buffer , trampolína môže zachytiť a zrušiť pokusy hackera .
3

Realizovať kompilátora nástroje , ktoré vám varovanie , ak použijete kód , ktorý sa vám ponecháva zraniteľné útok . Niektoré z týchto nástrojov bude generovať kód , ktorý zakázal neoprávnenému prístupu k nelegálnej adresy a vypne kód , ktorý sa pokúša tomto vykonávaní. Produkty , ako sú StackShield a StackGuard sú veľkým prínosom . StackSheild bude skúmať spiatočnú adresu funkcie a ukončiť v prípade nezrovnalosti . StackGuard kladie kanárikovo slovo na spiatočnú adresu a kontroly , aby zistil , či to slovo bol zmenený , ukončenie funkcie , ak ich má .
4 pre kontrolu bezpečnosti v dynamickom , beh

Nainštalujte nástroje ako libsafe - time prostredie . Libsafe beží na Linuxe a kontroluje najbližšej spiatočnú adresu z rámca zásobníka , potom zabezpečí , že adresa nie je prepísaný . Libsafe tiež nahradiť nebezpečné funkcie , ako je dostane ( ) , strcpy ( ) a scanf ( ) .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené