Анализатор кода ПО: почему бесплатные решения обходятся дорого СТАТЬИ | 31 март, 14:51
На российском рынке приостановили работу крупнейшие зарубежные разработчики программного обеспечения. Так как у компаний не всегда есть возможность быстро перейти на другой качественный коммерческий продукт, корпоративный сектор начал активно искать замену в ПО с открытым исходными кодом (open-source), размещенном в публичном доступе.
Поскольку компоненты open-source создаются широким ИТ-сообществом, его защищенность никто не гарантирует. Тем временем стали появляться сообщения, что в разработчики начали намеренно добавлять в open-source вредоносный код.
Даниил Чернов, директор Центра Solar appScreener компании «Ростелеком-Солар», рассказал «БГ», зачем проверять защищенность ПО, какие инструменты анализа защищенности существуют и почему бесплатные инструменты анализа не способны гарантировать полную защиту. Проверка кода. Зачем это нужно Анализ безопасности исходного кода — это анализ ПО на предмет выявления уязвимостей информационной безопасности, которые были допущены при его разработке. Всего есть три группы методов анализа исходного кода: динамические, статические и гибридные. К динамическим относятся методы анализа кода, работающие по принципу «черного ящика» и не требующие доступа к исходному коду. Статические методы не требуют запуска программ, а лишь получают доступ к его исходному коду. Гибридные методы совмещают в себе и динамические, и статические. Статические методы анализа традиционно используются при создании и эксплуатации ПО, динамические — при вводе в эксплуатацию и в процессе эксплуатации программного обеспечения. «Задача анализа кода касается как компании, которые разрабатывают и поставляют на рынок программное обеспечение, так и те компании, которые сами пользуются чьим-то софтом или разрабатывают его для внутреннего пользования, — комментирует Даниил Чернов. — В первом случае выпуск ПО с уязвимостями приводит к тому, что киберугрозам подвергаются пользователи, которые приобретают этот софт. Сам же вендор рискует собственной репутацией, доверием клиентов и, как следствие, доходами от продажи ПО». Вы должны помнить, что повышение защищенности ПО, которое используется вашей компанией, значительно повышают устойчивость данных к киберугрозам. Качество алгоритмов По словам директора Центра Solar appScreener компании «Ростелеком-Солар», традиционно бесплатные решения для проверки кода включают в себя относительно простые алгоритмы, которые осуществляют обычный текстовый поиск по фрагментам кода и ищут совпадения с базой. «Большинство угроз таким способом найти не удастся. Так, есть сложные уязвимости, части которых находятся в разных местах кода. Чтобы их обнаружить, нужны более сложные алгоритмы, например taint-анализ, который отслеживает распространение по программе данных, полученных из внешнего источника», — рассказывает г-н Чернов, подчеркивая, что на качество алгоритмов поиска влияет также и борьба с ложными срабатываниями. Дело в том, что уязвимости, найденные анализатором, должны быть верифицированы, и, чем больше ложных срабатываний, тем больших трудозатрат требует проверка. Поэтому, считает эксперт, экономия на анализаторе безопасности кода обернется потерями: ваши ИТ-специалисты будут вынуждены вручную верифицировать выявленные ошибки. «В полноценном коммерческом продукте для поиска уязвимостей и принятия решения о том, что она действительно есть в коде, используются технологии значительно более высокого уровня, в том числе задействованы технологии, основанные на математических теориях. Кроме того, в хорошем SAST есть возможность гибкой настройки фильтров, позволяющих найти баланс для снижения числа ложных срабатываний и пропусков уязвимостей», — комментирует Даниил Чернов. Продвинутые алгоритмы и технологии анализатора создаются большой командой специалистов, которых может себе позволить лишь крупный вендор, который так или иначе должен окупать свои вложения. Поэтому полноценные анализаторы, предлагаемые бесплатно, обычно представляют из себя продукт с урезанным функционалом. За доступ к полной версии вам рано или поздно придется заплатить. Что такое бинарный анализ Если вы используете программное обеспечение, исходный код которого недоступен и вы сомневаетесь в его безопасности, то вы можете воспользоваться SAST, который проверяет исполняемые файлы. С этим справляются технологии, выявляющие уязвимости на уровне бинарного кода. «Кроме того, анализ бинарного кода позволяет выявить уязвимости, появившиеся в ПО по вине компилятора — программы, которая преобразует исходный код в машинный, — рассказывает г-н Чернов. — Так как по своей сути компилятор — тоже софт, который тоже может содержать ошибки. А они в итоге скажутся на безопасности скомпилированного в нем ПО. Поэтому даже при наличии доступа к исходному коду такие уязвимости можно обнаружить только с помощью бинарного анализа. Очевидно, что подобные технологии также могут быть доступны только в продвинутом коммерческом продукте по тем же самым причинам, которые были описаны выше». А что, если базы не актуальны Директор Центра Solar appScreener компании «Ростелеком-Солар» отмечает, что коммерческие и бесплатные анализаторы отличаются в том числе и тем, что первые своевременно обновляют базы, а также регулярно добавляют новые правила поиска уязвимостей. «Обычно вендоры, разрабатывающие SAST-решения, обладают серьезной экспертизой в сфере информационной безопасности и получают самую актуальную информацию по киберугрозам из разных источников. Это позволяет им максимально оперативно реагировать на появление новых брешей и векторов атак», — комментирует эксперт. Бесплатные же решения обычно отстают в добавлении новых правил, не имея обязательств перед пользователями. В таких анализаторах правил поиска может вовсе не быть. Бесплатно — это просто неудобно Если вы решились работать с бесплатными анализаторами, вам нужно быть готовым к тому, что вашему специалисту нужно: — разбираться в коде; — иметь навыки разработчика; — быть знакомым с рядом языков программирования. Но вы должны помнить, что контроль безопасности софта традиционно не входит в обязанности ИБ-подразделений, у сотрудников просто нет опыта разработки ПО. «С этой точки зрения SAST должен не только подсвечивать найденные уязвимости, но и давать четкое представление об уровне угрозы и способах ее устранения. Вендоры коммерческих анализаторов отталкиваются от потребностей целевой аудитории продукта. Они заинтересованы в том, чтобы сделать понятный и удобный интерфейс анализатора, с которым смогут работать не только разработчики, но и специалисты по информационной безопасности», — резюмирует Даниил Чернов. Сопровождение Бесплатные анализаторы не могут предоставить пользователям сопровождение. То есть рассчитывать на то, что разработчик будет вносить изменения в продукт согласно вашим требованиям, не стоит. «В случае с open-source-анализаторами (с открытым исходным кодом) доработка возможна силами самих пользователей, но для этого нужно обладать навыками разработчика», — комментирует эксперт. Бесплатные решения для анализа кода, как правило, либо имеют слабые возможности интеграции в корпоративные системы, либо вовсе их не имеют. Выводы — Использование бесплатного решения для анализа программного кода лучше, чем неиспользование никакого решения. — Коммерческий анализатор использует продвинутые технологии поиска угроз, обновляется и развивается, а также сопровождает клиента. — Open-source и бесплатные решения могут привести к бо́льшим расходам из-за пропущенных угроз. Кроме того, вам нужно быть готовым к тому, что компании понадобится высококвалифицированный ИТ-сотрудник, иначе вы просто не сможете обслуживать продукт.
ДРУГИЕ НОВОСТИ
|
СПЕЦПРОЕКТЫПо этно-хутору Старозолотовскому запустили бесплатный аудиогид
24.10.2024 13:17
Банк «Центр-инвест» внедрил универсальный QR-код от НСПК
|