Обфускация как хакер-фумигатор
19 Ноя 2018
В неком маркетинговом исследовании прочитал, что самым читаемым в мире текстом являются надписи на баллончиках освежителя воздуха в туалетах. В исследовании было отмечено, что рекламный текст как акт убеждающей коммуникации на потребителя, находящегося в столь интимной и уединенной обстановке, действует очень эффективно:- повышен уровень любопытства («Чем-бы себя занять?!»),
- временно отключены фильтры социального восприятия («Я здесь один!»),
- отключены критические фильтры восприятия информации («Здесь я в безопасности!)
У человека, находящегося в таком состоянии, высока степень готовности принять, зачастую, иррациональные решения и сделать импульсивную покупку. Вероятность конверсии от такой рекламы потенциально должна быть высокой.
Проблема лишь в том, что, покидая «читальный зал», состояние повышенной восприимчивости у человека пропадает. Вот если бы была возможность довести «воронку продаж» в «потенциальный момент» до сделки (до заказа и оплаты) — эффект от такой рекламной кампании был бы высоким. В такой момент надо «дожать» покупателя, пока тот не моргнул, пока он «на одном дыхании» со своим желанием.
С распространением смартфонов «читальный зал» трансформировался в «игровую», «ньюсрум» (кто-то читает эту статью как паблик в соцсети именно здесь), «пункт заказов по каталогам». Осталось добавить к желанию возможность оплатить — и кто-то, получив шанс обогатить кредитную историю, уже знает, на какой курорт поедет в тур в очередной отпуск.
Сдерживающими от покупки шоустоперами будут любые задержки, дающие время выдохнуть и одуматься:
- Долгий отклик платежной страницы в браузере или приложении;
- Процедуры проверки («проверьте ссылку для подтверждения на почте», «введите код из смс… повторно выслать смс… еще смс через 40 секунд»).
- Требования ввести «кодовое слово» которое еле угадываешь за три попытки….
- Любые задержки или меры контроля по «секретному паролю» дают покупателю шанс одуматься, и сделка будет сорвана.
Сама биометрия не повышает безопасность механизма аутентификации — это лишь способ удобно и быстро ввести пароль; программная реализация механизма аутентификации по хешу пароля остается той же. Для обхода такой меры контроля по-прежнему достаточно изучить алгоритм проверки и правильно подменить значение функции проверки учетных данных.
Сейчас наиболее продвинутые банки соревнуются в том, кто первый внедрит биометрию -
- в мобильное приложение,
- в банкомат,
- в терминал электронной очереди,
- и так далее.
В условиях доступности дистрибутивов приложений на публичных ресурсах Play Market и AppStore любой заинтересованный исследователь уязвимостей может ознакомиться с новинкой. Результаты ознакомления стабильно пополняют статистику взломов в новостях и найденных уязвимостей в пресс-релизах компаний-исследователей.
Проповедуемый евангелистами от безопасности подход использования методологий безопасной разработки, позволяющий предупредить недостатки программной реализации приложений, во многом оказался утопичным. Причины предсказуемы:
- на рынке разработчиков приложений почти нет специалистов владеющих методикой безопасной разработки;
- если есть единичные специалисты — то нет команд, способных реализовать методически целостное производство;
- нет заказа от бизнеса на реализацию приложений в таких практиках, так как это увеличивает сроки реализации, и проект по фактору «Первые!» гарантированно становится аутсайдером.
— это метод защиты бинарного кода, позволяющий не менять логику программы и усложнять процесс исследования кода компьютерными пиратами и хакерами.
Пример использования обфускатора:
До обфускации После обфускации
Если вынести чувствительные к компрометации алгоритмы в отдельную библиотеку на C++ и обфусцировать, то подавляющее большинство исследователей (как в белых, так и в черных шляпах) просто не будут связываться с данным приложением. Такое исследование, вследствие качественного повышения сложности задачи, становится крайне ресурсоемким. А так как процесс исследования уязвимостей приложений является исключительно экспертным и распараллелить задачи на несколько исследователей эффективно нельзя, то именно сроки решения задачи значительно и, главное, непредсказуемо возрастают.
По нашей статистике, профессионалы в области взлома защиты приложений (имеется ввиду защита приложений от компьютерного пиратства, где механизмы защиты используют в том числе и технологии обфускации) при соответствующем ресурсном и методическом обеспечении затрачивают на взлом от 4 до 6 недель в условиях своевременного выхода обновлений механизмов защиты.
То есть в случае целевого исследования конкретного приложения периодический выпуск обновлений (выпуск нового бизнес-функционала приложения) с внесением изменений в защищаемые алгоритмы, подвергаемые обфускации, позволит обеспечить предсказуемый результат реализации мер безопасности при контролируемом по ресурсам и срокам проекте разработки.