Найти тему
Starforce Technologies

Обфускация как хакер-фумигатор

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

- повышен уровень любопытства («Чем-бы себя занять?!»),

- временно отключены фильтры социального восприятия («Я здесь один!»),
- отключены критические фильтры восприятия информации («Здесь я в безопасности!),

и, как следствие, повышается восприимчивость «читающего» к информации.

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

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

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

Сдерживающими от покупки шоустоперами будут любые задержки, дающие время выдохнуть и одуматься:

- Долгий отклик платежной страницы в браузере или приложении;

- Процедуры проверки («проверьте ссылку для подтверждения на почте», «введите код из смс… повторно выслать смс… еще смс через 40 секунд»)

- Требования ввести «кодовое слово» которое еле угадываешь за три попытки…

Любые задержки или меры контроля по «секретному паролю» дают покупателю шанс одуматься, и сделка будет сорвана.

Для преодоления таких недостатков потребительского поведения ИТ индустрия предложила методы биометрической аутентификации: не надо вспоминать и вводить секретный пароль — только проведи пальцем по сканеру отпечатка пальцев на телефоне или улыбнись в камеру — и оплата будет произведена быстрее, чем придет осознания сделанного.

Сама биометрия не повышает безопасность механизма аутентификации — это лишь способ удобно и быстро ввести пароль; программная реализация механизма аутентификации по хешу пароля остается той же. Для обхода такой меры контроля по-прежнему достаточно изучить алгоритм проверки и правильно подменить значение функции проверки учетных данных.

Сейчас наиболее продвинутые банки соревнуются в том, кто первый внедрит биометрию - - в пр,

- в банкомат,

- в терминал электронной очереди,

- и так далее.

И важным результатом таких проектов является именно имиджевая составляющая «Кто сделал первый!». Этот, безусловно, важный с точки зрения бизнеса фактор предсказуемо влияет на качество реализации приложения. Треугольник проекта никто не отменял. И, как ни странно, обоснованно влияет на низкое качество программной реализации с точки зрения безопасности, порождая большое количество уязвимостей в приложении. Дополнительные контрольные мероприятия в процессе разработки приложения лишают процесс производства ритмичности, а критический путь проекта — прямоточности.

В условиях доступности дистрибутивов приложений на публичных ресурсах Play Market и AppStore любой заинтересованный исследователь уязвимостей может ознакомиться с новинкой. Результаты ознакомления стабильно пополняют статистику взломов в новостях и найденных уязвимостей в пресс-релизах компаний-исследователей.

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

- на рынке разработчиков приложений почти нет специалистов владеющих методикой безопасной разработки;

- если есть единичные специалисты — то нет команд, способных реализовать методически целостное производство;

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

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

Обфускация — это метод защиты бинарного кода, позволяющий не менять логику

программы и усложнять процесс исследования кода компьютерными пиратами и хакерами.

Пример использования обфускатора:

                  До обфускации                                                                         После обфускации
До обфускации После обфускации

Если вынести чувствительные к компрометации алгоритмы в отдельную библиотеку на C++, то подавляющее большинство исследователей (как в белых, так и в черных шляпах) просто не будут связываться с данным приложением. Такое исследование, вследствие качественного повышения сложности задачи, становится крайне ресурсоемким. А так как процесс исследования уязвимостей приложений является исключительно экспертным и распараллелить задачи на несколько исследователей эффективно нельзя, то именно сроки решения задачи значительно и, главное, непредсказуемо возрастают.

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

То есть в случае целевого исследования конкретного приложения периодический выпуск обновлений (выпуск нового бизнес-функционала приложения) с внесением изменений в защищаемые алгоритмы, подвергаемые обфускации, позволит обеспечить предсказуемый результат реализации мер безопасности при контролируемом по ресурсам и срокам проекте разработки.

Светозар Яхонтов