Button Up

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

Светозар Яхонтов
Светозар Яхонтов
Директор по развитию бизнеса ООО «Протекшен Технолоджи»
19 Ноя 2018
В неком маркетинговом исследовании прочитал, что самым читаемым в мире текстом являются надписи на баллончиках освежителя воздуха в туалетах. В исследовании было отмечено, что рекламный текст как акт убеждающей коммуникации на потребителя, находящегося в столь интимной и уединенной обстановке, действует очень эффективно:
  • повышен уровень любопытства («Чем-бы себя занять?!»),
  • временно отключены фильтры социального восприятия («Я здесь один!»),
  • отключены критические фильтры восприятия информации («Здесь я в безопасности!),
и, как следствие, повышается восприимчивость «читающего» к информации.

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

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

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

Сдерживающими от покупки шоустоперами будут любые задержки, дающие время выдохнуть и одуматься: 
  • Долгий отклик платежной страницы в браузере или приложении; 
  • Процедуры проверки («проверьте ссылку для подтверждения на почте», «введите код из смс… повторно выслать смс… еще смс через 40 секунд»).
  • Требования ввести «кодовое слово» которое еле угадываешь за три попытки….
  • Любые задержки или меры контроля по «секретному паролю» дают покупателю шанс одуматься, и сделка будет сорвана. 
Для преодоления таких недостатков потребительского поведения ИТ индустрия предложила методы биометрической аутентификации: не надо вспоминать и вводить секретный пароль — только проведи пальцем по сканеру отпечатка пальцев на телефоне или улыбнись в камеру — и оплата будет произведена быстрее, чем придет осознания сделанного. 

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

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

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

Обфускация

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


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



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

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

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

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





Возврат к списку