buffer overflow
Megjelenés
Főnév
buffer overflow (tsz. buffer overflows)
Buffer Overflow (puffertúlcsordulás) egy olyan biztonsági hiba és programozási hiba, amely akkor következik be, amikor egy program több adatot ír egy memóriaterületre (pufferbe), mint amennyit az tartalmazni képes. Ez a túlcsordulás felülírhat szomszédos memóriaterületeket, ami hibákhoz, összeomláshoz vagy biztonsági sérülésekhez vezethet.
1. Mi a buffer overflow?
- Egy puffer egy előre lefoglalt memóriahely, amely adatokat tárol (pl. karakterlánc, tömb).
- Ha a program nem ellenőrzi megfelelően az adat hosszát, túl sok adatot írhat a pufferbe.
- Ez felülírhat fontos memóriaterületeket (például vezérlőváltozókat vagy visszatérési címeket).
2. Kockázatok és következmények
- Programösszeomlás (crash): A túlcsordulás hibákat okozhat a program futásában.
- Biztonsági rés: Támadók kihasználhatják, hogy rosszindulatú kódot futtassanak vagy jogosultságokat szerezzenek (pl. kódfuttatás, jogosulatlan hozzáférés).
- Adatvesztés vagy adatmanipuláció.
3. Típusai
- Stack-based buffer overflow: A verem (stack) memóriaterületén lép fel.
- Heap-based buffer overflow: A halmon (heap) lévő pufferben következik be.
- Off-by-one hibák: Egyetlen bájt túlírása is okozhat problémákat.
4. Példa (C nyelven)
char buffer[10];
strcpy(buffer, "Ez túl hosszú szöveg"); // Buffer overflow, mert a szöveg hosszabb mint 10 karakter.
5. Védekezés
- Biztonságos programozási gyakorlatok: bemenetek hosszának ellenőrzése.
- Használj biztonságos függvényeket (pl.
strncpyhelyettstrcpyhelyett). - Operációs rendszer szintű védelem:
- Stack canary (veremvédő mechanizmus)
- ASLR (Address Space Layout Randomization)
- DEP/NX bit (adat végrehajtásának tiltása a memóriában)
- Statikus és dinamikus kódellenőrzés.
6. Összefoglalás
A buffer overflow egy súlyos programozási és biztonsági hiba, amely helytelen memóriahasználatból ered. Megfelelő védekezéssel és tudatos kódírással csökkenthető a kockázata, mivel ez az egyik leggyakoribb támadási mód a szoftverbiztonságban.
- buffer overflow - Szótár.net (en-hu)
- buffer overflow - Sztaki (en-hu)
- buffer overflow - Merriam–Webster
- buffer overflow - Cambridge
- buffer overflow - WordNet
- buffer overflow - Яндекс (en-ru)
- buffer overflow - Google (en-hu)
- buffer overflow - Wikidata
- buffer overflow - Wikipédia (angol)