Comments 38
Новый виток в теме антивирусов — система «антихакер». То есть автоматизированная система анализа безопасности… Шикарная идея! Вы — молодец.
Вам бы добавить какой-нибудь флажок, если у приложения нет проблем. А то скачал свое, проанализировал… и долго искал где же репорт. А сервис оказывается просто уязвимостей не нашел.
И еще — категорически необходимо ввести подтверждение владения приложением до начала работы с ним. Мне не очень нравится, если кто-то будет с помощью вашего сервиса качать напрямую билды из гугл плея и анализировать их на проблемы, я бы предпочел, чтобы это была информация только для меня. Для подтверждения можно, например, отправлять ссылку на контактный адрес, указанный в профиле разработчика на гугл плей.
И еще — категорически необходимо ввести подтверждение владения приложением до начала работы с ним. Мне не очень нравится, если кто-то будет с помощью вашего сервиса качать напрямую билды из гугл плея и анализировать их на проблемы, я бы предпочел, чтобы это была информация только для меня. Для подтверждения можно, например, отправлять ссылку на контактный адрес, указанный в профиле разработчика на гугл плей.
если ни кто не нашел проблем в вашем приложении, это еще не значит, что их там нет.
а чем использование этого инструмента принципиально отличается от ситуации, когда человек скачивает опубликованное приложение и реверсит вручную?
Pro версия, кстати, позволяет через api сканировать дистрибутив приложения перед релизом, и делать автоматическую нотификацию( с результатами анализа) по почте, по факту выхода новой версии приложения.
Pro версия, кстати, позволяет через api сканировать дистрибутив приложения перед релизом, и делать автоматическую нотификацию( с результатами анализа) по почте, по факту выхода новой версии приложения.
если я свое приложение проверяю но на google play и в appstore его нет и не будет
(iOS версия использует Enterprise-сертификат для установки на все девайсы где нужно быть)
то как мне быть?
залить в гугл плей фейковое приложение с тем же id?
кстати проверка показала что все нормально не смотря на то что вообще то пока что и ключи доступа к AWS и Parse в коде и «интересные» URL'ы… только все это — константами в коде.
(iOS версия использует Enterprise-сертификат для установки на все девайсы где нужно быть)
то как мне быть?
залить в гугл плей фейковое приложение с тем же id?
кстати проверка показала что все нормально не смотря на то что вообще то пока что и ключи доступа к AWS и Parse в коде и «интересные» URL'ы… только все это — константами в коде.
Отслеживание в реал тайме это конечно жесть, за это можно и присесть.
UFO just landed and posted this here
Только позвчера задумывался над вопросом, как скачать приложение из AppStore, не имея ни одного устройства Apple. Как раз хотел из одного приложения извлечь информацию как оно к API подключается (его скорее всего токеном закрыли — хотя смысла не вижу, сайт публичный, а я хочу попробовать сделать аналог под Android).
Способа скачать не придумал :(
Способа скачать не придумал :(
Как реализовать автоматическое скачивание из AppStore, тема для отдельной большой статьи, скажу только что это на порядок более трудоемкая задача, чем «качалка» для Google Play.
Было бы крайне интересно прочитать про это. Ведь и правда, как вы заметили, скачать что-то с Google Play — очень просто, даже «качалка» находится в опенсорсе.
Мне интересна противоположная тема: как защитить взаимодействие своего приложения с сервером? То есть, к примеру, у меня есть сервер, выдающий прогноз погоды, и мобильный клиент, его показывающий. Я не хочу, чтобы кто-либо, кроме моего приложения, мог получать данные с моего сервера.
Единственное, что приходит в голову, это добавлять какую-то чексумму в каждый запрос. Это даёт защиту от простейшего хака через сниффер запросов. Злоумышленник, перехватив запрос, сможет выполнить такой же запрос, но не сможет поменять параметры. Но покопавшись в коде, всегда можно найти алгоритм формирования чексуммы и использовать его для создания произвольного запроса. Обфускация в андроид-приложении слегка усложняет задачу взлома, но не делает ее невозможной. Под ios код шифруется, но теоретически его можно расшифровать как я понял.
Единственное, что приходит в голову, это добавлять какую-то чексумму в каждый запрос. Это даёт защиту от простейшего хака через сниффер запросов. Злоумышленник, перехватив запрос, сможет выполнить такой же запрос, но не сможет поменять параметры. Но покопавшись в коде, всегда можно найти алгоритм формирования чексуммы и использовать его для создания произвольного запроса. Обфускация в андроид-приложении слегка усложняет задачу взлома, но не делает ее невозможной. Под ios код шифруется, но теоретически его можно расшифровать как я понял.
Очевидно, что гарантированного решения нет: всё, что может сделать ваше приложение, сможет сделать и злоумышленник, расковыряв и/или изменив его.
Если код выполняется на процессоре, значит в какой-то момент он расшифровывается, значит его возможно расшифровать.
Возможно лишь усложнить взлом.
Если код выполняется на процессоре, значит в какой-то момент он расшифровывается, значит его возможно расшифровать.
Возможно лишь усложнить взлом.
Также можно при шифровании токена добавлять nonce / timestamp, т.е. привязывать к определенному времени, и если кто-то перехватит, а потом повторит запрос (replay attack), но время запроса не совпадает, то токен не валиден и сервер не ответит.
Мне тоже интересно узнать лучшие способы защиты, кроме обфускации и шифрования.
Кстати, кто знает, подскажите пожалуйста ссылки для поиска уязвимостей в iOS приложениях.
Мне тоже интересно узнать лучшие способы защиты, кроме обфускации и шифрования.
Кстати, кто знает, подскажите пожалуйста ссылки для поиска уязвимостей в iOS приложениях.
Пара моих небольших замечаний:
1. Почему-то нет авторизации через Facebook для базового варианта (Free Scan).
2. А где собственно Pro-версия? Не демка, а именно если я хочу заплатить денег сразу (и сколько?)?
1. Почему-то нет авторизации через Facebook для базового варианта (Free Scan).
2. А где собственно Pro-версия? Не демка, а именно если я хочу заплатить денег сразу (и сколько?)?
Имхо, HackApp — неудачное название для такого приложения.
От такого названия веет чем-то другим, а не заявленной функциональностью…
От такого названия веет чем-то другим, а не заявленной функциональностью…
а что бы вы порекомендовали?
Я бы порекомендовал AntihackApp =)
см. первый коммент habrahabr.ru/post/227747/#comment_7731729
см. первый коммент habrahabr.ru/post/227747/#comment_7731729
Отличная идея и спасибо за полезное приложение.
Стоит еще поработать над интерфейсом отчетов, т.к. пока что не совсем понятно, есть уязвимости или нет, и насколько они критичны.
Например, вот анализ нашего приложения, это хорошо или плохо?
qblx.co/1lOyH7T
qblx.co/1mFlxWh
Желаю успеха проекту, с удовольствием будем пользоваться, если будет развиваться.
Хотелось бы аналогичное для iOS.
Стоит еще поработать над интерфейсом отчетов, т.к. пока что не совсем понятно, есть уязвимости или нет, и насколько они критичны.
Например, вот анализ нашего приложения, это хорошо или плохо?
qblx.co/1lOyH7T
qblx.co/1mFlxWh
Желаю успеха проекту, с удовольствием будем пользоваться, если будет развиваться.
Хотелось бы аналогичное для iOS.
Спасибо на добром слове!
>Хотелось бы аналогичное для iOS.
ссылки с itunes тоже работают, анализ базовый тоже проводится.
>это хорошо или плохо?
Если нет вкладки багов, то значит лютых багов не найдено. Рекомендую заглянуть в секцию suspicious files, там частенько можно увидеть то, чего в приложении не нужно.
>Хотелось бы аналогичное для iOS.
ссылки с itunes тоже работают, анализ базовый тоже проводится.
>это хорошо или плохо?
Если нет вкладки багов, то значит лютых багов не найдено. Рекомендую заглянуть в секцию suspicious files, там частенько можно увидеть то, чего в приложении не нужно.
Отсутствие вкладки багов вводит в заблуждение. Я вот тоже загрузил свое андроид-приложение, а потом долго думал-ходил по другим вкладкам (и даже заглянул в help), чтобы понять все ли хорошо с моим приложением? или, может, сервис поиск уязвимостей лишь для iOS приложений делает?
Я бы вкладку bugs показывал всегда. Но если багов не найдено — показывал бы сообщение, что с приложением все хорошо, багов не найдено.
Я бы вкладку bugs показывал всегда. Но если багов не найдено — показывал бы сообщение, что с приложением все хорошо, багов не найдено.
Как ваш сервис приложения для Android анализирует? Используется описанный в статье, на которую вы ссылаетесь, PlayDrone? Или что-то другое, свое?
Свое, конечно. Моя конструкция на год раньше их исследования появилась. В playdrone «грепают» декомпилированный код, я, помимо этого, ещё изучаю содержимое sqlite баз, xml, смотрю подозрительные файлы. Но вот идея с elasticsearch мне в плане удобства понравилась, сейчас смотрю как её лучше встроить.
Sign up to leave a comment.
Application Porno или как найти секреты в мобильных приложениях и вынести всё