Microsoft анонсировала Project Springfield — облачную службу, которую вы можете использовать для проверки двоичных файлов на наличие слабых мест в системе безопасности перед их развертыванием.
Объявление было сделано на конференции Microsoft Ignite в Атланте. Project Springfield — это служба нечеткого тестирования, которая использует фаззинг белого ящика для проверки программных ошибок, которые могут быть использованы злоумышленниками в качестве слабого места.
Fuzz-тестирование работает путем отправки случайных, неожиданных входных данных в программное обеспечение, чтобы выяснить, что вызывает сбой, тем самым сигнализируя об уязвимости системы безопасности. Нечеткое тестирование методом «белого ящика» — это усовершенствованное нечеткое тестирование, в котором используется искусственный интеллект для создания серии вопросов «что, если», которые можно использовать для определения того, что может вызвать сбой. Каждый раз при запуске тестов данные собираются и используются для уточнения теста, чтобы сконцентрироваться на критических областях.
Корпорация Майкрософт использует тестирование фаззинга внутри компании и заявляет, что у нее самая большая лаборатория фаззинга в мире. Project Springfield включает решатель Microsoft Z3. Z3 — это решатель теорий по модулю соответствия (SMT), который объединяет несколько процедур принятия решений. Он используется в нескольких проектах по анализу программ, проверке и созданию тестовых примеров в Microsoft и был удостоен награды 2015 ACM SIGPLAN Programming Languages Software Award, которая присуждается программным системам, оказавшим длительное влияние, что отражено в вкладе в концепции, в коммерческой принятие, или и то, и другое.
Microsoft использует компонент Project Springfield под названием SAGE внутри компании с середины 2000-х годов для тестирования продуктов, включая Windows и Office, перед их выпуском. Project Springfield также был протестирован небольшим количеством клиентов и разработчиков, работающих над программным обеспечением меньшего масштаба, чем Windows и Office.
SAGE используется с 2007 года для тестирования продуктов, включая Windows 7 перед выпуском. При использовании в Windows 7 SAGE обнаружила ряд дополнительных уязвимостей, на долю которых в конечном итоге приходится треть всех ошибок этого типа тестирования безопасности.
Дэвид Молнар, исследователь Microsoft, возглавляющий Project Springfield, сказал, что нечеткое тестирование идеально подходит для программного обеспечения, которое регулярно включает такие входные данные, как документы, изображения, видео или другую информацию, которая может быть ненадежной.
Project Springfield доступен в виде веб-панели мониторинга, размещенной в облаке Azure. Вы входите в защищенный веб-портал и получаете виртуальную машину, на которую устанавливаете двоичные файлы программного обеспечения, которое вы хотите протестировать, вместе с программой «тестового драйвера», которая запускает сценарий, который нужно протестировать, и набором образцов входных файлов. так называемые «исходные файлы», чтобы использовать их в качестве отправной точки для фаззинга.
Затем Project Springfield запускает нечеткие тесты в течение определенного периода времени и сообщает об уязвимостях безопасности в режиме реального времени на защищенном веб-портале. После этого вы можете загрузить тестовые примеры с действиями, чтобы воспроизвести проблему.