Версия для слабовидящих

В НовГУ создали инструмент, который находит бреши в программе до того, как ее взломают

13 января 2026, 09:44   727

Ученые НовГУ создали инструмент для поиска уязвимостей в программном обеспечении. Инструмент, получивший название Natch, помогает находить их до того, как ими смогут воспользоваться хакеры. Разработка не имеет аналогов и поможет защитить смартфоны и компьютеры от взлома.

Первый автор работы — Павел Довгалюк, инженер, кандидат технических наук, доцент НовГУ.

Любое приложение, работающие с интернетом — от браузера до мессенджера — обрабатывает данные из внешнего мира: файлы, ссылки, сетевые пакеты. Через эти точки входа (так называемую поверхность атаки) злоумышленники чаще всего и пытаются взломать систему. Если разработчики ПО заранее знают, где находятся такие слабые места, они могут усилить их защиту.

Для оценки безопасности кода используются два подхода. Первый — статический анализ, который предполагает изучение исходного текста программы без ее запуска. Такой метод не может учесть особенности работы приложения, например, реальные входные данные. Он не может предсказать, какие внешние компоненты — готовые блоки кода — программа подтянет к себе уже после запуска. Он также не видит, как отдельные части программы начинают общаться и обмениваться данными в живой, работающей системе, создавая сложные цепочки взаимодействий, которые невозможно увидеть в исходном коде.

Второй подход — динамический анализ — заключается в запуске программы и наблюдении за ее работой. Специалисты видят, какие функции срабатывают, но этого часто недостаточно. Ключевая проблема остается нерешенной: выполнение фрагмента кода не говорит о том, что он имеет дело с потенциально опасными данными. Например, служебная функция, подготавливающая программу к работе, выполняется всегда, но хакер не может передать в нее свои команды. Значит, и искать в ней уязвимости почти бесполезно. Можно потратить большие усилия на проверку кода, который для безопасности не критичен.

Поэтому нужен был способ, который мог бы автоматически, в масштабе всей системы, проследить, куда именно попадают непроверенные данные — от момента, когда они входят в систему из файла или сети, и до той конкретной строки кода, которая их обрабатывает.

Ученые НовГУ и Института системного программирования РАН решили эту проблему, создав инструмент Natch. В его основе лежит полносистемный эмулятор QEMU – программная платформа, которая позволяет воссоздать работу всего компьютера целиком — от операционной системы до отдельных приложений.

Новый инструмент помечает данные, пришедшие из ненадежных источников — например, из только что полученного пользователем файла. Затем Natch в режиме реального времени следит, как эти данные передаются между процессами и обрабатываются разными функциями.

— Представьте, что одна программа читает текстовый файл, в первой строке которого находится адрес сайта. Этот файл помечается как непроверенный источник. Затем строка с адресом передается как параметр командной строки второй программе, которая, в свою очередь, запускает утилиту для обращения к этому сайту. Natch в деталях визуализирует весь этот путь: как помеченные данные перешли из файла в память первой программы, затем через командную строку — во вторую, и наконец утекли в сеть. Такой анализ помогает сразу увидеть потенциально опасную цепочку обработки информации, — пояснил Павел Довгалюк.

Полученные данные можно увидеть в графическом интерфейсе через браузер. Он показывает то, как одна функция программы вызывает другую, как процессы обмениваются данными и в какой момент какие программы работали. «Это позволяет разработчикам не изучать все ПО целиком, а тестировать и защищать те конкретные функции, которые действительно контактируют с внешним миром», - рассказал ученый.

По словам разработчика, Natch – это первая система, которая автоматически строит такую карту потенциальных уязвимостей. Ранее подобные инструменты либо не обладали нужной глубиной анализа, либо модифицировали исходный код, что меняло поведение самой системы.

— Мы предполагаем, что компании-гиганты будут внедрять Natch в свой конвейер разработки безопасного ПО наравне с другими инструментами, которые не менее важны. Те же компании, что не выстраивают такой конвейер, могут использовать наш инструмент для углубленного тестирования и анализа кода в ручном режиме. При этом важно помнить, что Natch — лишь малая часть того, что нужно применять для разработки безопасного ПО. В первую очередь необходимо донести до всех разработчиков, что думать о безопасности нужно всегда, а не только когда выходят сообщения о каких-то взломах уже работающих систем, — заключил Павел Довгалюк.

Теперь процесс можно автоматизировать и встроить в цикл непрерывной разработки, что повышает безопасность ПО на этапе его создания. Инструмент уже внедрен в некоторых компаниях. Они анализируют как собственный код, так и сторонние компоненты, чей исходный код недоступен.

Эту и другие новости читайте в официальном МАХ-канале Новгородского университета.

Рубрика:

Похожие новости

Все новости
27 декабря, 13:37
Резидент ИНТЦ получит 500 тысяч рублей на разработку высокофункционального протеза руки
Региональные гранты получат пять резидентов ИНТЦ
Технологии
4018
27 ноября, 16:54
Студенты НовГУ заняли третье место на всероссийском конкурсе «Роботы в городе»

Участники программировали роботов для передвижения по городским улицам

Технологии
3216
05 октября, 15:08
Проект BIM-лаборатории и Фабрики пилотирования НовГУ вошёл в первый российский учебник ...

Цифровая модель спорткомплекса была разработана в НовГУ с помощью отечественного программного обеспечения

Технологии
3648
21 сентября, 23:09
Студенты НовГУ взяли два «золота» и одно «серебро» на Чемпионате высоких технологий
Ещё одна серебряная медаль досталась новгородскому НПО «Квант» и бронзовая – команде региона
Технологии
3716
20 сентября, 10:31
Призёры Чемпионата высоких технологий пройдут стажировку в компании «Техбионик»
Предприятие имеет уникальные разработки в области протезирования
Технологии
3060
19 сентября, 21:37
Пять студентов колледжа НовГУ принимают участие в Чемпионате высоких технологий
Они представляют Новгородскую область в четырёх из восьми компетенций
Технологии
3755
19 сентября, 11:38
Андрей Никитин: «Мы всегда были и остаёмся центром радиоэлектронной промышленности»
В ИНТЦ «Валдай» прошло пленарное заседание Чемпионата высоких технологий
Технологии
3321
19 сентября, 09:00
В Великом Новгороде стартовал финал Чемпионата высоких технологий
В нём принимают участие представители 32 российских регионов и пяти иностранных государств
Технологии
3858
18 сентября, 12:17
Чемпионат высоких технологий в ИНТЦ собрал участников из шести стран
Гостями и участниками стали порядка 5000 человек
Технологии
3732
25 июля, 12:12
Студенты НовГУ разработали комплекс системы оповещений через telegram-бота

Студенты Старорусского политехнического колледжа получили благодарственные письма от работодателей за проекты

Технологии
2946