Пиратство и другие угрозы для Android-приложений. Как защищаться? Противостояние добрых и злых сил. Как спасти Android-приложения от различных угроз? Иван.

Презентация:



Advertisements
Похожие презентации
W w w. a l a d d i n. r u eToken PRO Anywhere 1 Безопасный удаленный доступ с любого компьютера!
Advertisements

ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Защита и контроль распространения приложений для мобильных устройств от несанкционированного использования и незаконного распространения.
КУРСОВАЯ РАБОТА по дисциплине «ПРОГРАММНО-АППАРАТНАЯ ЗАЩИТА ИНФОРМАЦИИ» на тему «Обзор уязвимостей МОС Android.» Выполнил студент группы 3881 Евелев Ю.Е.
PRIVAFON КОНФИДЕНЦИАЛЬНАЯ МОБИЛЬНАЯ СВЯЗЬ «Микрокрипт Текнолоджис» µcrypt.
ПЕРСОНАЛЬНОЕ СКЗИ ШИПКА ОКБ САПР Москва, 2007.
ОСНОВНЫЕ ВИДЫ И ПРИЕМЫ ХАКЕРСКИХ АТАК Свидетель 3.
РАЗРАБОТКА КРИПТОГРАФИЧЕСКОГО МОДУЛЯ, ПРЕДОСТАВЛЯЮЩЕГО УСЛУГИ ШИФРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ФУНКЦИОНАЛА SIM КАРТЫ МОБИЛЬНОГО ТЕЛЕФОНА. Автор проекта: Карпов.
Обнаружен вирус, передающий данные хакерам через Telegram МОСКВА, 8 ноя РИА Новости/ Прайм.
Основные понятия информационной безопасности Выполнила: студент ВМИ-256, Майя Кутырева Проверила: Анастасия Валерьевна Шамакина, программист отдела распределенных.
Новые технологии и тенденции использования мобильных ECM- решений в корпоративном сегменте Дмитрий Матвеев главный специалист управления маркетинга, компания.
© ОАО «ЭЛВИС-ПЛЮС», 2012 ЗАЩИЩЕННЫЕ КОРПОРАТИВНЫЕ СИСТЕМЫ Как повысить доверие к облачному провайдеру? Основные организационные и технические задачи 20.
Россия, , Москва, улица Пришвина, дом 8, корпус 1, офис 202 телефон: +7 (495) ; e-Style ISP.
Топчий Андрей, Южно-Уральский государственный университет IT Security for the Next Generation Тур Россия с СНГ, МГТУ им. Н.Э. Баумана 5-7 марта, 2012 Топчий.
Единая система аутентификации Обзор решения Москва, 2012г.
Безопасность IT-решений и защита персональных данных Михаил Косилов.
Системы управления сайтами: тенденции рынка и требования пользователей Алексей Сидоренко Директор по развитию 1С-Битрикс.
Клиент банка под атакой © 2009, Digital Security.
Артем Рябинков руководитель отдела развития бизнеса, к.т.н. Битрикс24 От сайта до комплексного управления компанией.
Выполнила: Абдуллаева С.И. Проверила: Митющенко Е.В.
Защита информации МАОУ СОШ 19 Горохова Светлана Николаевна.
Транксрипт:

Пиратство и другие угрозы для Android-приложений. Как защищаться? Противостояние добрых и злых сил. Как спасти Android-приложения от различных угроз? Иван Кинаш, Licel, 2014, Москва

О нас Иван Кинаш – генеральный директор и со-основатель компании Licel Licel создает решения для защиты интеллектуальной собственности от кражи и нелегального использования для платформ Android и Java Наш проект jCardSim завоевал награду Dukes Choice Award 2013, Java One, San Francisco

Отчет Mobile Techworld Report: Looking at a total of 230 apps – the top 100 paid apps and top 15 free apps for Android and iOS – Arxan found that 100 percent of the top paid apps on Android and 56 percent on iOS were being impersonated in a compromised form on grey markets.

Краткие факты о модели безопасности Android Нет стандартного EULA (Google Play) APK хранятся на устройстве и доступны даже без rootа APK подписываются сертификатом разработчика или публикующей компании Есть система привилегий. Конечные пользователи не воспринимают всерьез требования приложений, а порой, просто не имеют выбора

Краткие факты о модели безопасности Android Подпись должна гарантировать целостность приложений (пассивная защита). На деле – не работает Нужно 2 минуты, чтобы переподписать приложение своим сертификатом После этого, можно выкладывать чужое приложение на серые маркеты, p2p, варезные сайты и т.п. Или даже на тот же маркет, где есть (или было)

Структура APK classes.dex (dalvik bytecode) resources.arsc (compiled resources) META-INF/ (signatures) res/ (resources) assets/ (assets) lib/ (native libs) AndroidManifest.xml (name, version, access rights, referenced libs)

Dalvik Bytecode Защищен ли он? Как сложно reverse-engineerить? Нет, не сложно, совсем.

Пример Представим, что у нас есть приложение с рекламой Что злоумышленник должен сделать, чтобы крутить свою рекламу в вашем приложении? Apktool disassemble -> изменить ad id -> Apktool assemble -> подпись -> zipalign -> распространение (p2p, grey markets, official markets, warez sites) = 10 минут Если используются обфускаторы с, так называемой, name obfuscation функциональностью, нужна будет еще одна минута

Демо

Угрозы Клонирование приложений Кража чувствительной информации Взлом систем лицензирования Реверс-инжиниринг

Клонирование приложений Нелегальная публикация в серых магазинах Снижение дохода от продаж приложения Перенаправление доходов от рекламы и/или In-App покупок Потеря дохода от вышеупомянутых источников Внедрение вредоносного кода Утрата репутации и вред пользователю

Кража чувствительной информации Данные пользователя –Логины, пароли, ключи, данные банковских карт… –Приватная информация из социальных сетей, мессенджеров, почтовых клиентов и т.п. –Местоположение Данные приложений –Уникальные ресурсы (видео, звук, графика, …) –Информация из встроенных БД –Алгоритмы, бизнес логика Корпоративные данные –БД, Конфиденциальные документы

Взлом систем лицензирования. Google Play LVL Основной сервис лицензирования в Google Play Основан на ассиметричной криптографии –Секретные ключи на сервере лицензирования, публичные – в коде приложения Автоматическая утилита для снятия лицензирования: AntiLVL (+ Amazon DRM, Verizon DRM, Debbugable и Debbuger connected хуки, свои правила и многое другое)

Реверс-инжиниринг Порой безобидно Анализ «слабых» и критичных мест, чтобы найти уязвимости Анализ внутренней логики приложений –Банковский OTP-токен, Средства для реверса: ApkTool, Androguard, Dex2jar

Реверс-инжинирим токен моего банка Оригинальное приложение для Android, генерирующее OTP После декомпиляции –Определен алгоритм генерации паролей – TOTP TOTP = HOTP(SecretKey, TimeCounter) –Извлечен секретный ключ –Сделан клон на Arduino

Реверс-инжинирим токен моего банка

Стандартные техники защиты и лицензирования Name Obfuscation (в частности ProGuard) Системы лицензирования, предоставляемые магазинами приложений –Google Play Licensing –Amazon DRM Пользовательские native-библиотеки для проверки лицензий, шифрование строк и классов Server-side computation Математические пазлы (Mathematical Jigsaw Puzzle Obfuscation, держите ProGuard с включенной оптимизацией подальше)

Полезно, но не работает Все это не работает без… Активной и надежной системы контроля целостности приложения

Популярные и общедоступные средства для взлома Автоматические – AntiLVL Анализ и модификация –ApkTool –Androlib –Dex2Jar –JD-GUI/JEB/… Текстовый редактор и grep

Продвинутые методы защиты Шифрование строк (WhiteBoxCrypto) Сокрытие вызовов API Шифрование классов Шифрование ресурсов Активная система контроля целостности приложения

Цель Реверс-инжиниринг байт-кода (даже если удалось сделать его дамп) должен быть на сколько тяжелым, на сколько это возможно: строки зашифрованы, ценные алгоритмы и вызовы API скрыты Хорошая система контроля целостности приложения, чтобы предотвратить злонамеренную модификацию и последующую перепаковку приложения Уникальные ресурсы зашифрованы

Схема Защиты APK Bytecode String Encryption Class Encryption Hide API calls Resources Resource encryption Signature Active Integrity Protection (Repackaging protection) Если в приложении есть сетевая функциональность, можно менять параметры протокола взаимодействия от версии к версии

Несколько важных советов Если вы разрабатываете банковское/финансовое/корпоративное/безопасное приложение: Device fingerprint Device-related OTP через второй коммуникационный канал (SMS) Защищенные протоколы и сильная криптография Чувствительная информация должна быть зашифрована, если это БД – SQLCipher, ключи должны быть зашифрованы Баланс между защищенностью и производительностью Думайте о защите и защищайтесь заранее, ДО ДНЯ РЕЛИЗА

Когда все хорошо После того, как приложение надежно защищено, можно подумать над следующими проверками: Проверка сертификата приложения Проверка на debug-mode Проверка на rootа Проверка на запуск в эмуляторе

Вывод К сожалению, никто не сможет гарантировать вам 100% вероятности, что приложение не будет взломано Актуальность проблемы растет с каждым днем, вместе с ростом рынка Android-приложений Стандартные методы уже никак не противостоят текущим техникам и инструментам злоумышленников, например, даже script-kiddies смогут поменять учетные данные рекламной площадки Должны быть применены несколько технологий защиты Контроль целостности – одна из самых важных вещей

Вывод 2 Если вы применили технологии защиты с умом – 90% потенциальных хакеров либо не смогут справиться с защитой, либо им будет неинтересно Не у каждого пользователя rooted-устройство Google? Jelly Bean Encrypted Containers? Secured boot-loader?

Контакты Web: