Ученые
из университета штата Мичиган разработали технологию, способную
оградить центральный процессор компьютера от выполнения кода,
содержащего ошибки, а также предотвратить захват полномочий на
компьютере или сервере злоумышленниками. Технология под названием Семантический стражник представляет
собой небольшую систему мониторинга, работающую "поверх"
микропроцессора, проверяя не просит ли код программы выполнить что-либо
такое, что разработчики программы изначально не планировали выполнять.
Разработчики говорят, что программа работает на двух уровнях -
физическом и логическом. На первом она способна предотвратить
выполнения кода, ведущего к зависанию процессора, на втором
предотвращается логические уловки кода, которые приводят к различным
переполнениям буфера, DoS-атакам и т п. Семантический стражник способен
на лету выявлять такие неожиданные для оборудования состояния и
замедлять работу процессора, переводя его в более изолированный и
безопасный режим работы, чтобы возможность нежелательных действий
сводилась к минимуму.
Создатели технологии поясняют, что под "замедлением" они понимают
приостановку некоторых циклов на доли секунды для тщательного анализа,
однако в пользователь такого замедления не заметит. По словам одного из
разработчиков решения Валерии Бертакко, в большинстве случаев такой
подход позволяет спасти системы от краха и потери данных, которые еще
не были записаны на жесткий диск или иное устройство постоянного
хранения.
В настоящее время Семантический стражник существует в виде
программного эмулятора, однако в ближайшем будущем исследователи
завершат проектирование чипа FPGA (field-programmable gate array), в
котором будет реализован алгоритм Семантического стражника на
аппаратном уровне.
Бертакко говорит, что пока их разработка во время функционирования
замедляет работу процессора в среднем на 3%, но когда она будет
доведена до состояния коммерческого использования, коэффициент загрузки
попытаются снизить до 1%.
|