Компания Microsoft официально анонсировала фреймворк Project OneFuzz. Он поможет разработчикам находить уязвимости в коде и оперативно устранять их.
Достойная замена
Основным инструментом для тестирования ПО от Microsoft ранее был Microsoft Security and Risk Detection. В начале года компания объявила, что откажется от него в пользу более функционального решения с открытым исходным кодом.
Заменой стал Project OneFuzz. Этот инструмент можно использовать для тестирования различных приложений, в том числе облачной платформы Azure.
Код фреймворка доступен на GitHub. Разработчики заявили, что уже несколько месяцев используют его для тестирования ОС Windows, браузера Edge и других проектов Microsoft. Теперь среда доступна для всех специалистов.
Доступное нечеткое тестирование
Фреймворк основан на концепции нечеткого тестирования (фаззинга). Это очень эффективный метод повышения безопасности и надежности машинного кода. В последние годы он становится золотым стандартом для поиска и устранения дорогостоящих уязвимостей в системах безопасности программного обеспечения.
Суть нечеткого тестирования – в предоставлении программе неверных, неожиданных или случайных данных. Многие разработчики считают эту концепцию палкой о двух концах. С одной стороны, фазинг необходимо вписывать в жизненный цикл разработки программного обеспечения, чтобы добиться высокой эффективности поиска ошибок. Но при этом для эффективного фаззинга нужны узкие специалисты, и не все компании могут их себе позволить.
OneFuzz обещает сделать нечеткое тестирование доступнее. С новым фреймворком можно перенести такие тесты на более ранние стадии жизненного цикла программы и задействовать имеющихся специалистов. В результате тестирование обойдется дешевле, а проблемы, найденные на ранних стадиях разработки, будет проще решить.
Особенности OneFuzz
OneFuzz можно встроить в системы непрерывной сборки. Фреймворк включает инструмент обнаружения сбоев, средства определения уровня покрытия тестами, обвязку ввода-вывода.
К платформе можно подключать собственные фаззеры, гибко управлять входными данными, настраивать и дорабатывать встроенные инструменты. В результате вы сможете создать эффективный конвейер для облачного фаззинг-тестирования продуктов перед релизом.
С помощью командной строки, встроенной в систему сборки, в OneFuzz можно запускать фазз-тесты разных масштабов: от нескольких виртуальных машин до систем, которые включают тысячи вычислительных ядер. Разработчики отметили, что фреймворк уже позволил обнаружить ряд серьезных уязвимостей в коде Windows перед релизами последних сборок ОС.
OneFuzz может выполнять отладку по запросу или в режиме реального времени. Он также умеет отправлять уведомления о сбоях в Microsoft Teams и взаимодействовать со средой Azure DevOps.