Analiza delovanja kopice in napadov dvojne sprostitve
DOI:
https://doi.org/10.31449/upinf.265Ključne besede:
dvojna sprostitev, napad, kopica, upravljanje pomnilnika, koši, arenePovzetek
Članek obravnava varnostne ranljivosti, ki nastanejo zaradi nepravilnega upravljanja s pomnilnikom v programih, napisanih v jezikih C/C++. Posvečamo se napadu dvojne sprostitve (angl. double free), ki omogoča napadalcu prevzem nadzora nad pomnilniškim prostorom in potencialno krajo administratorskih privilegijev. Predstavimo pregled sorodnih ranljivosti, kot so prekoračitev kopice (angl. heap overflow) in uporaba po sprostitvi (angl. use-after-free) ter obravnavamo obrambo pred takšnimi napadi. Na osnovi prilagojene aplikacije v peskovniku demonstriramo praktičen napad, prikažemo proces izkoriščanja ranljivosti in analiziramo posledice, ki segajo od nestabilnosti sistema do resnih varnostnih kompromisov. Članek obravnava obstoječe rešitve, kot so uporaba jezikov z varnim upravljanjem pomnilnika, alternativnih implementacij funkcije malloc, statične analize kode ter pristopov defenzivnega programiranja.



