Přečtení vyrovnávací paměti - Buffer over-read

V počítačové bezpečnosti a programování , je vyrovnávací paměti over-read je anomálie , kde programu , při čtení dat z vyrovnávací paměti , přetečení vyrovnávací paměti je hranice a čte (nebo se snaží číst) sousedící paměť. Jedná se o speciální případ narušení bezpečnosti paměti .

Přeplnění vyrovnávací paměti lze spustit, stejně jako u chyby Heartbleed , nebezpečně vytvořenými vstupy, které jsou navrženy tak, aby využívaly nedostatek kontroly hranic ke čtení částí paměti, které nejsou zamýšleny jako přístupné. Mohou být také způsobeny samotnými chybami programování. Přečtení vyrovnávací paměti může mít za následek nevyzpytatelné chování programu, včetně chyb přístupu do paměti , nesprávných výsledků, selhání nebo narušení zabezpečení systému. Jsou tedy základem mnoha zranitelností softwaru a mohou být nebezpečně zneužity pro přístup k privilegovaným informacím.

Programovací jazyky běžně spojené s přečtením vyrovnávací paměti zahrnují C a C ++ , které neposkytují žádnou integrovanou ochranu proti používání ukazatelů pro přístup k datům v jakékoli části virtuální paměti a které automaticky nekontrolují, zda je čtení dat z bloku paměti bezpečné ; příslušné příklady se pokoušejí přečíst více prvků, než kolik je obsaženo v poli, nebo se nepodaří připojit koncový terminátor k řetězci zakončenému nulou . Kontrola hranic může zabránit přečtení vyrovnávací paměti, zatímco testování fuzz může pomoci je detekovat.

Viz také

Reference

externí odkazy