Проблемы, решаемые DieHard, вызываются некорректной работой программ с памятью из-за наличия в коде таких ошибок, как дублирующиеся высвобождения, высвобождения без предварительного резервирования и различные виды переполнений. DieHard делает такие ошибки менее опасными, резервируя дополнительные участки памяти по случайным адресам. Подобная методика рандомизации адресного пространства используется в защитных целях в некоторых версиях Linux и в Windows Vista, однако по словам Бергера, в DieHard она реализована гораздо более тщательно и продуманно. Еще одна функция программы - скрытый запуск дополнительных копий некоторых приложений, так что когда основная аварийно завершает работу, ее задачи продолжит выполнять другая. Использование ошибок памяти и знаний о фиксированных адресах размещения данных для исполнения постороннего кода в системе - один из стандартных ходов, применяемых взломщиками. По словам авторов DieHard, программа полностью устраняет возможность использования в целях взлома ошибок двойного и недопустимого высвобождения, снижает вероятность ошибок "повисших" указателей и переполнения буфера, предотвращает некоторые типы ошибок переполнения кучи и практически устраняет возможность порчи кучи. Недостаток DieHard состоит в заметном - на 50-75% - увеличении объема используемой памяти. Программа доступна для Windows XP, Vista и Linux, но Windows-версия пока защищает только браузер Firefox, а Linux-версия - любые приложения.

Поделитесь материалом с коллегами и друзьями