РАЗВИТИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ Сапрыкин
РАЗВИТИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ Сапрыкин А.С.
Закон появления компьютерных вирусов Для появления вредоносного ПО под ОС или платформу необходимо: Популярность платформы. Symbian OS была и остается самой популярной платформой для смартфонов. Общее число пользователей составляет несколько десятков миллионов человек по всему миру. Наличие хорошо документированных средств разработки приложений. Наличие уязвимостей или ошибок. Symbian содержит несколько серьезных ошибок «by design» в системе работы с файлами и сервисами.
Проблемы мобильных ОС Следует рассматривать как минимум три источника уязвимостей: Операционная система Windows CE Операционная система Symbian Беспроводные протоколы (Bluetooth, WiFi, инфракрасные порты)
Windows CE Никаких ограничений для приложений и процессов Полный доступ к любым функциям ОС (прием\передача файлов, телефонные и мультимедиа службы) Открытая для программирования система (.NET)
Уязвимости в Windows CE Узвимости в ActiveSync DoS атаки в MMS\SMS «Bluetooth OBEX push attack» Август 2006: “MMS Buffer overflow and remote code execution” Collin Mulliner, DefCon’06
Symbian OS Symbian позволяет перезаписывать любые системные приложения без пользовательского согласия, а при возникновении проблем с нестандартным форматом файла система становится крайне нестабильной и может вызывать перезагрузку телефона (файл с именем “INFO[67пробелов].wmlc”). Кроме этого, уровни безопасности для приложений весьма похожи на аналогичные у Windows CE… их просто нет
Троянец Skuller.a Троянец заменял иконками с изображением черепа иконки приложений, попутно удаляя их файлы. В результате этого после перезагрузки телефон переставал работать.
Основные виды и семейства мобильных вирусов Черви, распространяющиеся через специфические для смартфонов протоколы и сервисы; Троянцы-вандалы, использующие ошибки Symbian для установки в систему; Троянцы, ориентированные на нанесение финансового ущерба пользователю.
31 семейство, 170 вариантов
Полный список известных семейств мобильных вирусов Увеличение количества известных вариантов мобильных вирусов
Увеличение количества известных семейств мобильных вирусов
Эпидемии «мобильных» вирусов Червь Cabir 24 страны (по состоянию на сентябрь 2005 года) Около 10 случаев атак в московском метро Август 2005: Эпидемия в Хельсинки Червь ComWar 22 страны (по состоянию на сентябрь 2005 года) Создан в России Был обнаружен только спустя 2 месяца после «выпуска в свет» Самый распространенный вирус в MMS-трафике
Вирусы в MMS-трафике Статистика за период с 11 июня по 7 июля 2006 года
Что могут делать мобильные вирусы? Распространяться через Bluetooth, MMS Посылать SMS Заражать файлы Давать возможность удаленно управлять смартфоном Изменять или менять иконки, системные приложения Устанавливать «ложные» или некорректные шрифты, приложения Бороться с антивирусами Устанавливать другие вредоносные программы Блокировать работу карт памяти Воровать информацию
Виды анализа вредоносной программы «Черный ящик» - анализ поведения в реальных условиях. В большинстве случаев является недостаточным. «Белый ящик» - анализ с учетом знания внутреннего устройства вредоносной программы.
«Белый ящик», или Reverse Engineering Распаковка зараженной программы (SIS-архива) Анализ выполняемых распаковщиком действий Загрузка файла приложения (*.app) в отладчик и наложение сигнатур для ARM-архитектуры Поиск и анализ вредоносного кода
Распаковка зараженной программы
Анализ действий распаковщика Анализ действий распаковщика в некоторых случаях может дать до 90% информации о вредоносных действиях. Особенно таких как: Изменение иконок Установка «ложных» или некорректных шрифтов Нарушение работы установленного программного обеспечения Установка других вредоносных программ
Загрузка вредоноса в отладчик IDA
Наложение дополнительных сигнатур
Наложение дополнительных сигнатур Наложение сигнатур необходимо, чтобы увидеть имена и параметры вызываемых из вредоносной программы функций. Необходимые сигнатуры можно взять из пакета Series 60 SDK 2nd Edition, который выпускается корпорацией Nokia. Справочник по функциям S60 SDK также содержится в вышеприведенном пакете.
Поиск и анализ вредоносного кода
Поиск и анализ вредоносного кода На вкладке Imports можно просмотреть список используемых в программе вызовов функций системных и сторонних библиотек. Можно посмотреть откуда осуществляется вызов функций и с какими параметрами. Таким образом можно пройтись по самым «интересным» функциям - работа с дисками и файлами, например. Особенно в случае если оригинальная программа не должна вызывать ничего подобного, исходя из ее описания.
Поиск и анализ вредоносного кода
Поиск и анализ вредоносного кода На вкладке Strings можно просмотреть список используемых в программе строк и строковых констант (как правило, в Unicode). Можно посмотреть откуда осуществляется обращение к каждой строке и с какой целью. Таким образом можно пройтись по самым «интересным» строкам – например, по спам-сообщениям.
Поиск и анализ вредоносного кода
Пропуск выполнения вредоносного кода Итак, предположим, нами были найдены все варианты выполнения вредоносного кода. По проведенному анализу можно создать некую последовательность действий для отката системы. Но что делать с исходным приложением? Работу исходного приложения также возможно восстановить. Для этого необходимо локализовать вызов вредоносного кода и заставить пропускать его выполнение.
Пропуск выполнения вредоносного кода
Пропуск выполнения вредоносного кода
Пропуск выполнения вредоносного кода В отладчике IDA предусмотрено построение деревьев ветвлений алгоритма работы. Благодаря этому, возможно достаточно быстро отыскать вызовы вредоносного кода, чтобы впоследствии и заменить их на пустые операции при помощи шестнадцатиричного редактора, например, HIEW. Изменять код возможно только в терминах его шестнадцатиричного эквивалента - кодов операций, поэтому необходима таблица кодов компилятора ARM-ассемблера.
Пропуск выполнения вредоносного кода
Сборка проекта После проделанных манипуляций надо обратно упаковать измененное приложение. Для этого воспользуемся приложением MakeSis, которое позволяет на основе измененного проекта создать исполняемый инсталлятор для среды Symbian OS S60.
Сборка проекта
Выводы Современные мобильные вирусы умеют практически все то же самое, что и компьютерные вирусы. Но компьютерным вирусам, чтобы породить весь этот спектр поведений, потребовалось более двадцати лет. Мобильные вирусы прошли этот путь всего лишь за два года. Без сомнения, перед нами самая динамичная и быстро развивающаяся область вредоносных программ, причем очевидно, что до пика своего развития ей еще очень далеко.
Спасибо за внимание!
19876-lecture_8_-_mobile_viruses.ppt
- Количество слайдов: 37

