Некоммерческая исследовательская лаборатория Draper Laboratory, прежде бывшая частью Массачусетского технологического института, разрабатывает систему машинного обучения, которая будет анализировать терабайты кода ПО, чтобы находить изъяны в его безопасности и исправлять их. Работа ведется в кооперации с группой из Стэнфордского университета, возглавляемой пионером в области машинного обучения Эндрю Ыном.
Система, названная DeepCode, уже использовалась для обнаружения таких уязвимостей в безопасности, как Heartbleed в OpenSSL, сообщил Брэд Гейнор, помощник директора Draper по направлению Cyber Systems. По его словам, в настоящее время лаборатория расширяет объем данных, на основе которых DeepCode принимает свои решения, в 1000 раз.
«DeepCode является принципиально новым подходом к кибербезопасности. Система собирает и проглатывает огромные объемы кода ПО, делает это ПО доступным для поиска, индексирует известные дефекты и уязвимости в его безопасности и находит (в новом или уже используемом коде) совпадения с ранее уже идентифицированными дефектами», — сообщил Гейнор.
Исследователи десятилетиями работали над созданием систем, которые предупреждают о потенциальных уязвимостях в ПО. Коммерческие системы обычно сфокусированы на статическом анализе, когда исходный код анализируется на присутствие известных «плохих» паттернов, или на динамическом анализе, когда признаков дефектов выявляются в ходе наблюдения за исполнением программ. Однако такие подходы, как правило, позволяют находить уязвимости только известных классов и дают значительный процент ложных тревог.
Используя машинное обучение и методы анализа паттернов, представляющие собой две фундаментальные области исследований с использованием искусственного интеллекта, разработчики Draper надеются, что DeepCode научится понимать, как выглядят хороший код и плохой код. Научившись распознавать уязвимости, исследователи будут использовать систему, чтобы выявлять дефектный код и рекомендовать его исправления.
«В конечном итоге DeepCode должна будет находить все экземпляры всех известных дефектов ПО, — пояснил Гейнор. — Мы количественно измеряем точность нашей аналитики и в предстоящие месяцы, к выходу в свет первичного функционального варианта платформы, собираемся опубликовать статистически осмысленные данные о ее точности».
Ранее команда, работающая над DeepCode, заявляла, что использовала ту же технологию для обнаружения действующих скрытных атак путем анализа больших объемов сетевого трафика. В опубликованной в ноябре научной статье группа отраслевых и академических исследователей описала применение аналогичной системы машинного обучения для выявления в корпоративной среде вредоносного трафика из удаленного командного центра, не распознаваемого другими средствами.
Draper сотрудничает с широко известным первопроходцем в области машинного обучения Эндрю Ыном. Он является профессором Стэнфордского университета и участвовал в организации платформы онлайнового образования Coursera, создав для нее популярный курс машинного обучения. Ын также работал с Google над проектом «Google Brain», использующим машинное обучение и кластеры из тысяч компьютеров для имитации некоторых аспектов человеческого разума. В настоящее время Ын занимает пост главного научного сотрудника в китайской фирме Baidu, известной своей поисковой системой.
Проект DeepCode финансируется Исследовательской лабораторией военно-воздушных сил США и Агентством перспективных оборонных исследовательских проектов (DARPA) в рамках программы MUSE (Mining and Understanding Software Enclaves).
Draper Laboratory имеет и другие контракты с правительством США, включая роль взломщика или Red Team в различных тренировочных имитациях кибератак для оценки защищенности систем органов федеральной власти.