В активном поиске: прорывная разработка найдет уязвимости в ПО

Новая технология поиска ошибок в программном обеспечении занесена в госреестр и уже куплена рядом отечественных и зарубежных компаний. Разработка российских ученых позволяет находить уязвимые места в коде, которыми могут воспользоваться злоумышленники для взлома или нарушения работы любой программы, в том числе операционной системы (ОС). Для ее проверки требуется максимум несколько часов, после чего специалист получает не только навигацию по ошибкам, но и инструкцию для их исправления. На создание технологии сканера кода, названного Svace, ушло около десяти лет.

Идеала не бывает

С каждым годом программные продукты становятся всё объемнее. Однако с увеличением количества строк кода для любого вида ПО растет и число возможных ошибок. Причем найти их «вручную» очень сложно: например, описание браузера требует 30 млн строк, а ОС — 150 млн. Оплошности программистов-разработчиков используют хакеры с целью захватить систему или вызвать ее отказ. Также уязвимости могут быть использованы для шпионских операций.

Российские ученые создали универсальную технологию, обеспечивающую сканирование таких ошибок. Проверка проходит в момент, когда ПО не работает, поэтому технология носит название статического анализа программ. Саму программу назвали Svace (Security Vulnerabilities and Critical Errors — «уязвимости безопасности и критические ошибки». — «Известия»).

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

Например, к подобному дефекту можно отнести такой: в языке Си (типизированный язык программирования общего назначения. — «Известия») нет проверки по количеству запрашиваемых данных. Злоумышленник может по доступному закрытому протоколу обратиться к серверу, чтобы законно запросить пять единиц данных. Однако вместо пяти ему приходит 500. Случайным образом туда попадают и незапрошенные данные, которые включают случайные пароли и логины пользователей.

— Существуют типовые шаблоны ошибок, признаков присутствия дефектов в коде, — рассказал член-корреспондент Академии криптографии РФ Петр Девянин. — В основном речь идет о дополнительной проверке опасных операций, которые могут привести к утечке информации, нарушению или прекращению работы ПО. Злоумышленник ищет именно такие места. Важно, что Svace не только указывает на ошибку, но и предлагает путь ее исправления, что значительно экономит силы и время разработчика.

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

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

Отечество в безопасности

Зарубежный аналог отечественной разработки — Coverity, популярный инструмент проверки кода, принадлежащий американской компании Synopsys. Однако вряд ли российские компании могут стопроцентно доверять этому продукту.

— В плане обеспечения безопасности важно, что Россия использует именно свои оригинальные наработки, над которыми трудится специально созданная лаборатория Института системного программирования, — подчеркнул Арутюн Аветисян.

По словам разработчиков, дополнить технологию, адаптировав ее под конкретного заказчика, труда не составляет.

— Программный продукт Svace — один из лучших отечественных статических анализаторов, хотя и далеко не единственный, — сообщил заместитель генерального директора «НПО «Эшелон» (компания специализируется на комплексном обеспечении информационной безопасности) Виталий Вареница. — Разработка, безусловно, эффективная и полезная для обнаружения ряда ошибок и недостатков в ПО. Однако одним продуктом закрыть все необходимые решения по поиску ошибок и уязвимостей в коде просто невозможно. К тому же Svace работает только с языками Си и С++. Поэтому гораздо эффективнее использовать разные анализаторы, как это делаем мы.

Как сообщают разработчики, вполне возможно, что в текущем году технология будет сертифицирована в Федеральной службе по техническому и экспортному контролю. Сейчас она занесена в государственный реестр, и в ряде российских компаний уже закупили эту технологию. В конце 2019 года в рамках федеральной целевой программы «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2014–2020 годы» ИСП РАН получил грант на проведение исследований в области технологий производства и сертификации ПО с повышенными требованиями к надежности и безопасности. Основным индустриальным партнером института по этому проекту стала группа компаний Astra Linux.

— Взаимодействие с ИСП РАН позволяет нам, разработчику защищенной ОС Astra Linux, не только исследовать и апробировать на своем продукте самые передовые технологии средств защиты информации, но и сделать их достоянием отечественного рынка информационной безопасности. Именно в этом заключается основная задача индустриального партнерства с ИСП РАН. Мы глубоко убеждены, что только плотное взаимодействие государства и бизнеса в сфере создания собственных защищенных программных решений и инструментов, обеспечивающих доверие к ним, в результате сможет привести нас к технологическому суверенитету, — пояснил директор по продукту ГК Astra Linux Роман Мылицын.

Впрочем, воспользоваться технологией могут не только российские компании. Разработчики экспортируют свой продукт за рубеж — например, в 2015 году Svace внедрен как основной инструмент статического анализа в Samsung.

Ученые отмечают, что методы и инструменты обеспечения доверия к средствам защиты информации постоянно дорабатываются, ведь в сфере IT-безопасности остановиться — значит, перестать быть конкурентоспособным.

Source
Related news
Gennady Korotkevich Wins Google Code Jam For The Sixth Time
Deutsche Bank equities tech head joins BCS Global as information chief
Skolkovo invests in education