Het voorkomen van buffer overflow is cruciaal voor het beschermen van de veiligheid van uw computer en de aangesloten server en zijn het gevolg van slechte invoervalidatie . U kunt uw systeem te beschermen tegen buffer overflow -aanvallen door het volgen van een paar eenvoudige stappen en het nemen van passende maatregelen . Het identificeren en het bijwonen om problemen in C programmeren van uw systeem is de belangrijkste focus op het voorkomen van buffer overflow in de toekomst . Met behulp van een niet-uitvoerbare stack Deze methode van overloop preventie omvat een stack die is geconfigureerd om geen uitvoerbare code te houden . Verkrijgen van een kernal patch voor Linux -en Solaris -systemen aan de niet - uitvoerbare stack configureren . In Windows XP kunt u Data Execution Prevention perimeters te stellen met het besturingssysteem ( OS ) om ook de stapel tegen buffer overflow te beschermen . De Palissade website waarschuwt echter dat de heap - based overflows en statische data segment overflows niet kan worden voorkomen door deze techniek . Dynamische Runtime Voorkom buffer overflow door het implementeren van een dynamische runtime preventie proces op uw systeem . Buffer overflow omstandigheden en risico's worden gedetecteerd tijdens de werking van het eigenlijke programma in deze werkwijze , waardoor het voorkomen van een overflow aanval optreden . Verschillende runtime processen omvatten " kanarie " --- die de lijn " kanarie " voegt aan uw programma 's coderen --- en kopiëren van het programma retouradres . De laatste methode dient als een informatie- back als een middel om programma functionaliteit regenereren zodra een overflow aanval is opgelost . Safe Versies van functies Buffer overflows kan ook worden voorkomen door een " veiliger " of stabielere versie van een programma functie . Bijvoorbeeld , de functies en strncpy snprintf veiliger en stabieler dan de oudere strcpy en sprint taal . Als u doorgaat met het creëren van nieuwe toepassingen in uw programma , ervoor zorgen dat alternatieve , zijn veiliger code functies gebruikt in. Andere voorbeelden van Unstable Functions vermijden " onveilig " of onstabiele functionaliteit kan geheel ook voorkomen buffer overflow . Indien mogelijk , vermijd het gebruik van de volgende functies bij het schrijven van uw programma : strcpy ( ) , strcat ( ) , sprintf ( ) , scanf ( ) , sscanf ( ) , fscanf ( ) , vfscanf ( ) , vsprintf , vscanf ( ) , vsscanf ( ) , streadd ( ) , strecpy ( ) en strtrns ( ) .
|