Разработана технология автоматического исправления ошибок в ПО

image

Теги: код, ошибка, ПО

Группа ученых из Массачусетского технологического института (MIT) представила уникальную программную технологию под названием ClearView, которая способна автоматически исправить ошибки в работающем программном обеспечении за несколько минут.

Группа ученых из Массачусетского технологического института (MIT) представила уникальную программную технологию под названием ClearView, которая способна автоматически исправить ошибки в работающем программном обеспечении за несколько минут. Технология ClearView отслеживает поведение исполняемого кода и предлагает возможные способы борьбы с отклонениями от нормальной работы.

В ходе устранения ошибок выполняются 5 последовательных стадий:

1. Сначала выполняется мониторинг нормального исполнения для выявления параметров, характеризующих нормальное поведение приложения;

2. Используются специальные детекторы ошибок, которые выявляют отличия нормального исполнения от нештатных режимов;

3. Определяются отклонения от выявленных параметров, происходящие в ходе нештатной работы программ;

4. Генерируются возможные исправления, которые принудительно приводят отдельные параметры к нормальным значениям путем изменения состояния или последовательности команд, чтобы вернуть процесс в нормальное состояние;

5. Контроль дальнейшего исполнения программ с исправлениями помогает выявить самое успешное из предложенных исправлений.

Таким образом, технология ClearView наблюдает за нормальным исполнением программы и создает набор правил, чтобы затем выявлять определенные виды ошибок, обычно связанные с атаками, когда злоумышленники пытаются ввести в программу заведомо вредоносные входные данные. Если что-то пойдет не так, ClearView выявляет аномалии в поведении программы и определяет, какие именно правила были нарушены.Затем по результатам анализа создается набор возможных исправлений, которые внедряются напрямую в исполняемый код (а не в исходный код, как раньше), чтобы принудительно вернуть программу к исполнению нарушенных правил. Технология ClearView анализирует сгенерированные варианты исправлений и тестирует самые удачные, устанавливая их в рабочую систему. Если после внесения исправления нарушения остались, либо установка исправления привела к поломке системы, технология ClearView отклоняет неправильный вариант исправления и пробует следующий.

Благодаря такому подходу, технология ClearView способна устранять ошибки в автоматическом режиме, не требуя перезапуска систем и не создавая простоев. Для проверки своей технологии разработчики ClearView попробовали атаковать группу компьютеров с браузером Firefox. Всего было использовано 10 видов атак, причем в 7 из десяти случаев система ClearView смогла успешно создать исправления и устранить ошибку в работе приложения (Firefox). В остальных 3 случаях работа программы было просто блокирована. Вдобавок ко всему, был опробован сценарий с установкой заведомо неверных исправлений – система ClearView смогла оценить и отклонить как неэффективные, так и вредоносные исправления.