Российская компания Solar Security в развитие своей линейки систем безопасности выводит на рынок сканер уязвимостей Solar inCode.
В процессе презентации представитель компании просто копирует ссылку на мобильное приложение в Google Play одного из банков и запускает сканер. Оценка — 1,8 по пятибалльной шкале — примерно соответствует средней защищенности мобильных приложений банковских платежных систем. На экран выводятся критические уязвимости, строчки исходного кода, где они обнаружены, пояснение на русском языке, объясняющее, как эту конкретную уязвимость может использовать хакер, и список рекомендуемой литературы по теме. Тут же даются рекомендации по изменению кода с целью исправления ошибок.
Выявленные в ходе продемонстрированного анализа уязвимости находятся в сторонних библиотеках, которые программист «не глядя» использовал при написании своей программы. Ему главное написать быстро, чтобы программа работала и реализовывала заданный заказчиком функционал. А на наличие уязвимостей полученный код при сдаче скорее всего никто и не проверял.
А вот у пользователя этого банковского приложения могут возникнуть проблемы. Учитывая, что рост атак на мобильные устройства пользователей непрерывно растет. Как сказал на саммите REMS’2015 председатель правления Ассоциации руководителей служб информационной безопасности (АРСИБ) Виктор Минин, «главный тренд сейчас — атака на мобильные устройства на платформе Android». Впрочем, и пользователи устройств на других платформах вряд ли могут спать спокойно. А ведь кроме атак хакеров возможны и другие варианты. Когда разработчик преднамеренно оставляет в коде свои бэкдоры, логические и временные «бомбы».
Конечно, это не новость и такие вещи делались давно. Еще в советское время были дисассемблеры, переводившие машинный код в ассемблер. Это позволяло, не имея исходных кодов провести анализ программы, что-то подправить — например, вырезать блок, отвечающий за защиту от пиратского копирования, и собрать снова. Или проверить программу на наличие закладок. Но это была сложная, кропотливая ручная работа. Особенно когда разработчик специально запутывал следы, вставляя в текст неисполняемые модули или используя другие технологии маскировки. Но эволюция сделала очередной виток. И поиск уязвимостей в приложениях логично был передан автоматизированным системам.
Сейчас Solar inCode позволяет анализировать онлайн- и мобильные приложения, написанные на языках Java, Scala, PHP, Objective C, Java for Android. Даже при отсутствии исходного кода анализ приложений проводится методом «белого» ящика, что позволяет проверить внутреннюю структуру программы и провести анализ логики ее работы.
Конечно, такая система удобна для специалистов по ИБ предприятий. Которые смогут контролировать своих программистов и проверять на соответствие требованиям ИБ разработки сторонних организаций. Но это обоюдоострое оружие. «Не опасается ли компания, что ее продукт повысит эффективность работы хакеров», — поинтересовался я у представителя Solar Security. «Производитель топора не отвечает за возможности его криминального использования», — ответил он.
Продукт поставляется в коробочном виде и как сервис SaaS. Его пользователями уже являются АКБ «Балтика», банк «Образование» и «Яндекс.Деньги».