Techworld.com

Эмери Бергер из Университета штата Массачусетс и Бен Зорн из корпорации Microsoft представили технологию, которая существенно снизит количество неполадок в работе программ и сможет предотвратить некоторые атаки, основанные на некорректной работе приложений с оперативной памятью.

Создание инструментария, названного DieHard, спонсировалось Microsoft, Intel и Национальным научным фондом США. Разработчики приняли решение сделать DieHard доступным для бесплатной загрузки и некоммерческого использования на своем Web-сайте.

Как отметил Бергер, проблема состоит в том, что, несмотря на большие объемы оперативной памяти, устанавливаемой в наши дни на компьютеры, программисты по-прежнему пишут свои программы, ориентируясь на возможную ее нехватку.

Это приводит к таким по-прежнему распространенным ошибкам, как двукратное освобождение памяти, ошибочное освобождение памяти, а также к различным разновидностям переполнения буфера. Бергер сказал, что DieHard позволит устранить многие из этих проблем или сделать их менее опасными путем размещения данных в различных участках оперативной памяти, адреса которых формируются случайным образом.

Схожие технологии уже используются в операционных системах Linux и Windows Vista, однако Бергер считает, что в DieHard данная идея реализована наиболее последовательно и полно. При последовательном хранении данных в оперативной памяти хакеры могут легко вычислить, в каком участке памяти хранится важная информация (например, пароли). Злоумышленники также могут использовать ошибки памяти для выполнения вредоносного кода и получения контроля над системой.

DieHard также невидимым для пользователя образом запускает несколько копий приложения одновременно, что позволяет в случае возникновения ошибки в приложении просто перейти к другой копии без потери данных.

Бергер считает, что DieHard не даст хакерам возможности использовать ошибки, связанные с двукратным освобождением памяти, ошибочным освобождением памяти и переполнением буфера, а также так или иначе связанные с переполнением динамически распределяемой области памяти.

Продукт работает в средах операционных систем Windows XP, Windows Vista и Linux, но если в среде Linux пакет DieHard защищает все запускаемые программы, то версия для Windows защищает пока лишь браузер Mozilla Firefox.

Программисты могут использовать DieHard при создании приложений как для Windows, так и для Linux.

Единственный заметный недостаток DieHard — высокое потребление оперативной памяти. Тем не менее, по словам Бергера, это никак не отразится на работе остальных приложений, если системе будет достаточно свободной памяти.