Учёные Новгородского государственного университета имени Ярослава Мудрого (НовГУ) совместно с Институтом системного программирования РАН разработали уникальный инструмент для выявления потенциальных уязвимостей в программном обеспечении ещё на этапе его создания. Программа под названием Natch отслеживает опасные участки кода до того, как ими смогут воспользоваться злоумышленники.
Особенность Natch заключается в полном системном подходе к анализу. Программа помечает данные, поступающие извне, и в реальном времени отслеживает их путь через все процессы и функции системы. Например, если текстовый файл с адресом сайта передаётся через несколько программ и в итоге выходит в сеть, Natch визуализирует всю цепочку, позволяя разработчикам сразу увидеть потенциально опасные участки кода.
Результаты анализа выводятся в браузере через графический интерфейс с показом вызовов функций, обмена данными между процессами и временных меток.
Существующие методы анализа безопасности имеют ограничения. Статический анализ проверяет исходный код без запуска программы и не учитывает её реальное поведение, а динамический — фиксирует выполнение функций, но не определяет, обрабатывают ли они именно опасные внешние данные. Natch объединяет оба подхода, создавая детальную карту потенциальных угроз без модификации исходного кода, что исключает искажение работы программы.