Комментарии 23
Очередная защищённось через секретность?
Вы украли мой комментарий
В рамках defense in depth можно использовать обфускацию как один из редутов обороны, почему нет. Или где-то в статье сказано, что это единственный способ защитить код приложения? Что в виду-то имели?
Не понял, обфускация это теперь плохо?
Имхо , обфускация - слишком просто для коммерческого решения для защиты приложения. 100% виртуализация , расковырять порядком сложнее и дольше - соответственно не рентабельно)
Но обфускация - это не одна техника, а целый набор защит в статике. Виртуализация - спорный момент именно в мобилках: магазины приложений очень не любят, когда виртуализируют код. Приходится выкручиваться.
Помимо защиты в статике крайне желательно использовать еще и защиту в динамике - RASP - runtime application self protection. В комплексе набор техник защит в статике и динамике дают эффект синергии, когда одна защита препятствует отлому другой.
Поэтому коммерческое решение должно предлагать полный спектр проверок и техник для противодействия реверс инжинирингу, тут я с вами согласен.
Я к сожалению(или счастью) далёк от мобильной разработки и смотрю по аналогии с разработкой обычных приложений, по этому да, признаю , не учёл как на это смотрят магазины приложений. Естественно нет одной золотой техники что б 100% надёжно защитить и используются в реальных условиях комбинации разных , просто по моему мнению - виртуализация одна из самых сложных для взлома)
Вы абсолютно правы: и по части виртуализации, и по части разнообразного применения различных техник. Но если первое вызывает огромные сложности при проходе ревью, то остается пользоваться вторым принципом. Так мы и делаем) но в сторону виртуализации смотрим. Реализовать сложно - не значит невозможно)
В случае защиты от реверс инжиниринга это единственный способ. Но полагаться только на него не стоит. Тут в комментариях уже написали, что подобная защита должна использоваться в рамках принципа эшелонированной защиты, но не как единственный инструмент.
Нет не единственный. Как раз в случае positive technologies - они то должны были "собаку съесть" на расковыривании всяких крипторов файлов для обхода ав, и теперь применяют те же техники для защиты.
А ещё RE юзают, чтобы делать трейнеры и читы для игр. Да и правильно подмечено, сколько не защищай, если взлом программы/игры очень востребован, его сделают :)
Если не принимать важных решений на клиенте, а переносить их на бэкенд, то хоть обвзламывайся, сделать ничего не получится.
Все так. Вопрос только какой ценой. Хороший протектор должен сравнять шансы в пользу защиты в плане денежных, экспертных и временных затрат атакующего. Даже опытные багхантеры не любят иметь дело с приложениями под обфускацией и RASP
PT MAZE превращает приложение, образно говоря, в непроходимый лабиринт для злоумышленников.
Судя по всему, код модифицируется и делаются ложные ходы, чтобы исследователь потратил полжизни на распутываение хитросплетений условий, переходов и циклов, а потом бросил это гиблое занятие.
Однако,
Для модификации приложения и применения к нему защитных модeлей PT MAZE необходимо загрузить приложение на сервер, а затем скачать любую из измененных версий с уже встроенными модулями защиты.
т.е. предлагается отдать свой код этим людям, а взамен получить нечто, которое похоже на загруженное, но что на самом деле содержит, сказать, по определению, очень сложно?
Имеет, конечно, право на существование, но было бы больше доверия, если бы алгоритмы модификации были открыты, и исходники бы не покидали внутренний контур. Не то чтобы редкость, что и штатные кодеры гадили, а уж отдать, не контролируя процесс, и затем на одном чистом доверии запускать это нечто... Ну как-то стремновато.
Думается мне, проблему надо решать совершенно кардинально: чтобы на уровне операционной системы бинарники должны быть подписаны (защита от модификации третьими лицами) и зашифрованы (защита от анализа кода), и сама ОСь не давала запускать неподписанное, и не давала доступа к зашифрованному.
А пока что, обходимся известными методами обфускации,в надежде, что конечный код окажется слишком сложным для анализа.
П.С. термин "обратная разработка" точно хороший и устоявшийся перевод (кроме реверс-инженеринг), или снова надмозг?
П.П.С. а вообще, опенсорс и SaS - наше всё. Т.е. даже если бы исходники утащили и изменили, то ничего плохого бы не сделали, и даже наоборот, открытый код - скорее благо. Для стратегически важных алгоритмов же могут быть использованы и сервера по методу черных ящиков.
Важное уточнение: pt maze работает без исходных кодов, а ровно с теми сборками, которые и так попадают в магазины приложений. Открытые алгоритмы обфускации - это хорошо, но открытость упрощает их изучение и, как следствие, обход.
Что касается кардинального решения проблемы на уровне ОС - все это уже применяется и увы, никак не мешает атакующим. Зашифрованные приложения дампятся, перепаковываются. Контроль подписи не защищает от перепаковки, потому что предназначен в первую очередь для доверенной установки и обновления. В общем кажется, что в текущей ситуации без протектора все же не обойтись
Думается мне, проблему надо решать совершенно кардинально: чтобы на уровне операционной системы бинарники должны быть подписаны (защита от модификации третьими лицами) и зашифрованы (защита от анализа кода), и сама ОСь не давала запускать неподписанное, и не давала доступа к зашифрованному.
Мечта копирастов. Но такая платформа не станет народной, а значит всё равно останется необходимость выпускать версии приложения для "незащищённых" ОС.
Как забавно смотреть в изнанку, компания которая борется с хакерами создала идеальный для них инструмент?
Так вроде инструмент как раз против тех, кто реверсит приложения, то есть против тех самых хакеров, разве нет?)
А чтобы найти зловреда бывает надо реверсить приложение
Positive Technologies запустит первый в России сервис для защиты мобильных приложений от обратной разработки