Группа ученых из знаменитого Массачусетского технологического института (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 смогла оценить и отклонить как неэффективные, так и вредоносные исправления. 30.10.2009 http://www.soft.mail.ru/pressrl_page.php?id=35880
Интересно, насколько сложно ее будет обмануть. В теории, то можно помучить приложение так, чтобы эта софтина сама внесла в приложение необходимые взломщику изменения...