Программные средства анализа исходного кода позволяют анализировать его на предмет надежности и отсутствия рисков, а также выявлять дефекты и уязвимости, которые могут поставить под угрозу безопасность конечного продукта. Такое ПО помогает создать быстрый автоматический цикл обратной связи для обнаружения дефектов, которые, если их не устранить, могут привести к более серьезным проблемам. На рынке не так много решений, позволяющих производить качественный и многогранный анализ исходного кода, и об одном из них, которым является DerScanner, мы поговорили с Александром Тварадзе, главой компании Advanced Technologies Solutions, официальным представителем компании DerSecur в Азербайджане, Грузии и Турции.
— Расскажите пожалуйста о компании DerSecur, которая является разработчиком DerScanner.
— DerSecur была основана в 2011 году, и основной профиль деятельности компании лежит в области создания технологий для обеспечения безопасности приложений. В частности, технологии, разработанные DerSecur для анализа исходного кода, сегодня используются в 24 странах мира. Свыше 50 человек, являющихся сотрудниками компании, — это ученые и специалисты в области безопасности приложений. Компания имеет офисы в Израиле, ОАЭ, Австралии, Канаде и других странах мира. Что же касается такого продукта, как DerScanner, то вот лишь небольшой список компаний, использующих в своей работе это решение: израильская высокотехнологичная компания Allot Communications, Корейское агентство интернета и безопасности, сингапурская консалтинговая компания в области кибербезопасности Athena Dynamics, американский поставщик программного обеспечения Parasoft.
— В чем заключается безопасность приложений, от чего она зависит?
— Все, с чем нам сегодня приходится сталкиваться в IT-сфере, а именно, программное обеспечение, мобильные приложения, операционные системы, микропрограммы сетевого оборудования и многое другое, было написано программистами. То есть эти продукты включают исходный код, созданный на каком-либо языке программирования. Затем программами-компиляторами, также написанными программистами, исходный код собирается в готовое программное обеспечение или его элемент, например, в программные библиотеки. Уязвимости, которые служат причинами атак и взломов, — это результат ошибок при разработке программного кода или при работе компилятора. При этом нужно понимать, что современное программное обеспечение состоит из множества готовых библиотек. И даже если программист написал исходный код максимально безопасно — это не является гарантом отсутствия уязвимости. При сборке программы компилятор может добавить свой код с уязвимостями. Уязвимости также могут присутствовать в библиотеках, которые использует программист, но проконтролировать качество кода в них не может. Кроме самих ошибок, это могут быть оставленные бэкдоры, лазейки или недокументированные доступы и функционал. И все это часто используется для взлома и атак.
Именно для анализа исходного кода, обеспечения безопасной разработки и соответственно безопасности самих приложений, компанией DerSecur был разработан продукт DerScanner. DerScanner поддерживает две технологии: статического анализа SAST и динамического анализа DAST. При статическом анализе DerScanner проверяет программный код на предмет потенциальных уязвимостей, бекдоров и скрытого функционала. Программа обозначает проблемный участок кода, показывает пример атаки на него, дает рекомендации по устранению, а если есть предыдущая версия кода, то показывает изменения в коде. Динамический анализ фактически реализует попытку атаки, например, на web-приложение, с целью определить пути возможной атаки на него. За счет комбинаций этих технологий и получается более точная картина возможных уязвимостей.
— Насколько рынок подобных систем развит в Азербайджане?
— В Азербайджане присутствуют подобные системы от нескольких разработчиков, но DerScanner обладает набором свойств, которые делают этот продукт уникальным по функционалу на фоне конкурентов. Во-первых, DerScanner поддерживает большее число языков программирования и правил для них, чем кто-либо из наших ближайших конкурентов. На данный момент DerScanner включает возможность работы с 35 языками программирования и несколькими сотнями правил для этих языков. В этот список входят и узкоспециализированные языки, как, например, язык программирования для 1С. Во-вторых, DerScanner включает в себя модули SAST и DAST, о которых я говорил выше, что позволяет проанализировать программный код максимально эффективно. У конкурентов нет модуля DAST, поэтому фактически заказчик вынужден приобретать сканер DAST отдельно. А затем тратить усилия, пытаясь свести воедино показания двух различных систем? При использовании DerScanner этого не будет. В-третьих, DerScanner умеет работать с популярными системами WAF Imperva и F5, а при наличии уязвимостей, которые могут быть прикрыты этими решениями, DerScanner формирует пошаговую инструкцию по настройке WAF. И еще одно из главных преимуществ заключается в том, что DerScanner умеет работать уже с готовыми скомпилированными программами, может проанализировать их и найти уязвимости в исполняемых программах для Windows или Linux, мобильных приложениях для iOS и Android.
— То есть этот продукт обладает возможностью проанализировать готовое приложение, не имея доступа к исходному коду?
— DerScanner определяет языки и технологии, которые использовались при создании программного продукта, производит декомпиляцию и далее анализирует полученный код на уязвимости. При этом для проверки приложений для iOS и Android DerScanner самостоятельно скачивает их из Google Play или App store. Необходимо понимать, что в этом случае мы работаем фактически с «черным ящиком», то есть не знаем ничего из исходного кода. Поэтому тут больше, чем в основном режиме, проявляется вероятность ложно-положительного срабатывания. Но даже в этом случае процент реальных обнаруженных уязвимостей бывает достаточно высоким.
— А если есть исходный код, то зачем нужно делать декомпиляцию?
— Во-первых, таким образом вы можете проверить, не появились ли уязвимости в процессе сбора программы компилятором. Во-вторых, очень многие библиотеки, используемые при написании программ, поставляются в готовом виде без исходного кода. И мы не знаем, насколько они могут быть уязвимы. И, в-третьих, очень часто банки, коммерческие компании и государственные организации заказывают ПО у подрядчиков, а проанализировать продукт, который сделала сторонняя компания, более чем рекомендуется.
— Таким образом, можно проанализировать все приложения, размещенные в Google Play и AppStore, на предмет уязвимостей?
— Да, в этих магазинах размещается общедоступное программное обеспечение и его можно беспрепятственно скачать и проанализировать. В этом случае DerScanner выставляет оценку надежности от 0 до 5. Например, мы проанализировали 10 самых популярных банковских приложений в Азербайджане и 5 приложений государственных организаций, связанных с использованием финансовых, частных и коммерческих данных. Повторюсь, это был анализ по принципу «черного ящика», где процент ложно-положительных срабатываний существенно выше, чем при анализе непосредственно исходного кода. В итоге из 10 банковских приложений только 3 приложения преодолели отметку в 4 бала из 5, что означает, что система не нашла критических уязвимостей, но есть замечания по возможным уязвимостям среднего уровня. В наихудшем варианте было обнаружено 17 возможных критических уязвимостей. А из 5 государственных приложений только одно преодолело оценку в 4 бала из 5. С учетом же ложно-положительных срабатываний в каждом приложении были возможны как минимум 2-3 критические уязвимости, поэтому такие оценки могут оказаться чуть ниже в реальности.
— Получается, что DerScanner нужен не только компаниям из финансового сектора и государственным порталам, но и тем, кто занимается разработкой ПО?
— Безусловно, учитывая тот факт, что многие банки и государственные организации обладают собственным штатом программистов, DerScanner им необходим. Он также нужен организациям, у которых нет штата программистов, но они заказывают программное обеспечение у сторонних компаний-разработчиков. Наличие DerScanner позволит им контролировать качество работ, определять в программном обеспечении и приложениях возможные уязвимости. DerScanner, в отличие от многих конкурентов, построен так, чтобы процесс анализа уязвимостей и последующие рекомендации, предоставляемые пользователю, были максимально понятны как программистам, так и сотрудникам отделов информационной безопасности. А за счет интеграции с WAF Imperva и F5 отдел информационной безопасности сможет быстро защитить продукт от возможной атаки на обнаруженные уязвимости пока программисты будут заниматься исправлением исходного кода.
— Как и на каких условиях можно приобрести DerScanner в Азербайджане?
— Компания Advanced Technologies Solutions является официальным представителем DerSecur в Азербайджане, Грузии и Турции. Дистрибьюторами программного обеспечения DerScanner в нашей стране выступают компании Techpro DC и MONT. Что касается лицензирования, то в отличие от конкурентов DerScanner не ограничивает в лицензии количество строк исходного кода или количество проектов, а сами лицензии могут быть как постоянными, так и с подпиской на 3, 6 или 9 месяцев, один год и т.д. Кроме того, совместно с вендором специально для Азербайджана нами была разработана модель лицензирования «PerScan», позволяющая заказчикам приобретать определенное количество сканов. Этот вариант будет удобен, например, для компаний, в которых нет собственного штата программистов или же количество приложений, нуждающихся в анализе исходного кода, бывает не столь велико, а их обновления происходят нечасто.