Группа ученых из знаменитого Массачусетского
технологического института (MIT) представила уникальную программную технологию
под названием ClearView, которая способна автоматически исправить ошибки в
работающем программном обеспечении за несколько минут. Вместо анализа исходных
текстов приложения, технология ClearView отслеживает поведение исполняемого
кода и предлагает возможные способы борьбы с отклонениями от нормальной работы.
Руководителем разработки ClearView выступил профессор Мартин
Ринард (Martin Rinard). Опубликованная статья разработчиков описывает 5
последовательных стадий при устранении ошибок в уже развернутом приложении:
1. Сначала
выполняется мониторинг нормального исполнения для выявления параметров,
характеризующих нормальное поведение приложения;
2. Используются
специальные детекторы ошибок, которые выявляют отличия нормального исполнения
от нештатных режимов;
3. Определяются
отклонения от выявленных параметров, происходящие в ходе нештатной работы
программ;
4. Генерируются
возможные исправления, которые принудительно приводят отдельные параметры к
нормальным значениям путем изменения состояния или последовательности команд,
чтобы вернуть процесс в нормальное состояние;
5. Контроль
дальнейшего исполнения программ с исправлениями помогает выявить самое успешное
из предложенных исправлений.
Другими словами, технология ClearView наблюдает за
нормальным исполнением программы и создает набор правил, чтобы затем выявлять
определенные виды ошибок, обычно связанные с атаками, когда злоумышленники
пытаются ввести в программу заведомо вредоносные входные данные. Если что-то пойдет
не так, ClearView выявляет аномалии в поведении программы и определяет, какие
именно правила были нарушены. По результатам анализа создается набор возможных исправлений,
которые внедряются напрямую в исполняемый код (а не в исходный код, как
раньше), чтобы принудительно вернуть программу к исполнению нарушенных правил. Технология
ClearView анализирует сгенерированные варианты исправлений и тестирует самые удачные,
устанавливая их в рабочую систему. Если после внесения исправления нарушения остались,
либо установка исправления привела к поломке системы, технология ClearView отклоняет
неправильный вариант исправления и пробует следующий.
Благодаря такому подходу, технология ClearView способна
устранять ошибки в автоматическом режиме, не требуя перезапуска систем и не
создавая простоев. Для проверки своей технологии разработчики ClearView попробовали
атаковать группу компьютеров с браузером Firefox. Всего было использовано 10 видов
атак, причем в 7 из десяти случаев система ClearView смогла успешно создать
исправления и устранить ошибку в работе приложения (Firefox). В остальных 3
случаях работа программы было просто блокирована. Вдобавок ко всему, был
опробован сценарий с установкой заведомо неверных исправлений – система ClearView
смогла оценить и отклонить как неэффективные, так и вредоносные исправления.
Результаты работы над технологией ClearView представлены в
материалах симпозиума 22nd
ACM Symposium on Operating Systems Principles. Дополнительную техническую
информацию о технологии ClearView можно найти в документации
и слайдах
официальных презентаций.
По материалам ZDNet и MIT Technology Review.
|