- Super android analyzer описание
- Usage
- Анализируем память android-устройства: ES Disk Analyzer, DiskUsage и «Диски, Хранилища и SD карты» – чем заполнена MicroSD?
- Оглавление
- Вступление
- реклама
- ES Disk Analyzer
- Знакомство
- Начало работы
- реклама
- реклама
- Тестирование
- реклама
- Выводы
- Статический анализ мобильных приложений
Super android analyzer описание
Secure, Unified, Powerful and Extensible Rust Android Analyzer
Welcome to SUPER! Here you can find all the information relevant to the SUPER Android Analyzer. You can find news too, and of course, the downloads. SUPER is a command-line application that can be used in Windows, MacOS X and Linux, that analyzes .apk files in search for vulnerabilities. It does this by decompressing APKs and applying a series of rules to detect those vulnerabilities.
SUPER has been developed in Rust, a systems programming language that gives performance similar to well-written C/C++, while avoiding memory leaks, data races, and giving memory safety. This programming language was selected to improve all the Java or Python based alternatives. It also gives us the ability to perform much more powerful checks faster.
Usage
Using SUPER is really simple:
If SUPER is installed in the current directory, in Unix, you will need to run ./super instead.
This will decompress all the files in the dist/
In the results page, an index.html file will contain the report, while a report.json file will have a machine readable format of that report. In the case of using the verbose mode (see below), the report will also be shown in the terminal.
You can learn about more specific use cases by running:
You can also configure in the config.toml file the paths of vendor , downloads and other folders. If the package was installed using one of the provided packages, the default configuration will usually simply work. If not, probably the same folder where super is called from will work (usually the installation folder, or the current workspace). If willing to use other paths, a sample configuration file can be found in the config.toml.sample file.
Lots of parameters can be configured in that file, such as the threads that will be used for the analysis or the rule file. We currently require some Java dependencies that are included in the packages. This should change once #22 is implemented.
Источник
Анализируем память android-устройства: ES Disk Analyzer, DiskUsage и «Диски, Хранилища и SD карты» – чем заполнена MicroSD?
Оглавление
Вступление
В жизни каждого пользователя смартфона или планшета на базе Android OS наступает тот момент, когда ему приходит уведомление с незатейливой надписью «Недостаточно памяти на вашем устройстве». И все бы ничего, если бы не 16 Гбайт встроенной в аппарате памяти, MicroSD-карта объемом 32 Гбайт и всего десяток установленных приложений.
реклама
Отсюда следуют вопросы – куда делась память, чем она занята и что установлено на мобильном устройстве? На них мы и постараемся ответить с помощью трех утилит, анализирующих память аппарата: ES Disk Analyzer, DiskUsage и «Диски, Хранилища и SD карты».
В качестве тестового оборудования использовались следующие устройства:
- Смартфон Xiaomi Redmi Note 3 Pro (OC Android 8.0.0, Nitrogen OS, процессор Snapdragon 650 64 бит, 6 х 1800 МГц, видеосопроцессор Adreno 510, 2 Гбайта ОЗУ);
- Смартфон Jinga Basco M500 3G (OC Android 5.1.1, процессор MediaTek MT6580, 4 х 1300 МГц, видеосопроцессор Mali-400 MP2, 1 Гбайт ОЗУ).
ES Disk Analyzer
Знакомство
Продукты компании ES Global хорошо знакомы многим пользователям, благодаря их качественному прикладному софту (к примеру, бесплатным приложениям «ES Проводник» и «ES Диспетчер задач»). Сегодня речь пойдет о программе, деятельность которой связана с памятью устройства – ES Disk Analyzer.
Начало работы
реклама
ES Disk Analyzer «стартует» с ознакомления со своей функциональностью. Программа рассказывает об анализе накопителя, расширенном управлении большими файлами, контроле новых файлов и расходе батареи, а также о возможности сжимать изображения для освобождения места в памяти устройства. Мы это обязательно учтем и протестируем данные функции.
Затем мы оказываемся на главном экране, на котором отображается подробная информация о памяти мобильного устройства. Показываются все подключенные накопители, их суммарный объем памяти и какое количество памяти из них занято.
Уже ниже на специальных карточках, так любимых в Google и Android OS, приведена подробная информация по файлам и каждой из категорий. Каждая карточка включает соответствующие функции:
- «Избыточные файлы»;
- «Большие файлы»;
- «Сжать изображения»;
- «Файлы кэша»;
- «Новые файлы»;
- «Редко используемые приложения»;
- «Все разделы».
Несмотря на то, что названия карточек говорят сами за себя, пройти мимо их рассмотрения нельзя. Начнем с самой первой категории – с избыточных файлов.
Данная опция максимально проста. При сканировании памяти происходит ее анализ, что мы и видим на представленной «карте», а также осуществляется поиск дубликатов (повторяющихся файлов). Эти дубликаты можно удалить, тем самым получив свободное место. В моем случае нашлось около трех сотен файлов-дублеров, что в итоге позволило получить 300 дополнительных Мбайт памяти на съемном флеш-накопителе.
Дополнительно освободить место в памяти можно, удалив кэш-файлы, благо с этим прекрасно справляется стандартная функция системы Android. Для тех, кто не знает, делается это в разделе «Память»: Настройки – «Память» – «Очистить кэш-файлы».
Отметим, что в ES Disk Analyzer при сканировании системы и хранилищ программа отображает не только кэш приложений, но и дополнительные источники сохранения кэш-файлов. Это может быть как банальная реклама, так и весьма нужные сохранения видеороликов или аудиофайлов из того же Kate Mobile и аналогичных приложений.
В разделе «Большие файлы», как понятно из названия, располагаются самые большие файлы. Как правило, это различные видеоролики, игровые и программные файлы, прошивки и различные системные файлы. Если на вашем устройстве затесался большой файл – вы сразу его увидите.
А если нехватка памяти на устройстве возникла относительно недавно, тогда вам нужно просмотреть все новые файлы. Благо программа показывает файлы за последние семь дней и их суммарный объем. Поэтому если был скачан большой документ или приложения выкачали огромное количество рекламы, то уже по объему этого раздела вы все поймете.
реклама
Теперь перейдем к «умным» функциям анализатора памяти ES Disk Analyzer. Например, к сжатию изображений. Для экономии памяти в устройстве нам предлагают сжать некоторые фотографии. Сжимать изображения можно в двух режимах: с потерей качества и без потерь, экономия памяти в таких случаях составляет до 60% и 80% соответственно.
Результаты прекрасные, да и сама функция работает хорошо. Вот только возникает вопрос, какие картинки вы собрались сжимать на смартфоне? Те, которые сняли на 21.0 Мпикс камеру? Тогда какой толк от детализированной фотографии, если вы все равно сожмете снимок и потеряете оригинальное качество? На мой взгляд, эта функция тут не нужна.
Кратко скажем и об анализе мобильных приложений. ES Disk Analyzer следит за работой установленных приложений и предлагает нам удалять редко используемые и малоиспользуемые программы.
Тестирование
реклама
Версия приложения | 1.0.2.9 |
Размер дистрибутива | 4.38 Мбайт |
Размер приложения в установленном виде | 13.72 Мбайт |
Потребление ОЗУ | 20-40 Мбайт |
С работой ES Disk Analyzer у меня не возникало никаких проблем, и это при том, что она используется мною уже давно, не оставляя поводов для нареканий. Программа весьма деликатно очищает память устройства, не повреждая и не удаляя важные файлы и документы.
Выводы
ES Disk Analyzer – это качественная и дружелюбная программа для анализа памяти android-устройств. Благодаря ей вы сможете не только понять, какое приложение или файл «поглотило» всю память, но еще и очистить ее, найти дубликаты фотографий, определить неиспользуемые приложения, сжать снимки и многое другое.
Программа не содержит рекламы и предлагается бесплатно, но, как ни странно, это никак не отразилось на качестве и уровне работы.
Источник
Статический анализ мобильных приложений
Одним из этапов тестирования мобильного приложения — это статический анализ. Статический анализ приложения — это анализ приложения без выполнения каких либо функций приложения. Наиболее удобным для меня из open source фреймворков есть MobSF. Кому интересно, добро пожаловать под кат.
MobSF выполняет статический анализ приложений: Android, Apple iOS и Windows Phone и динамический анализ: только приложения для Android. Как проводить динамический анализ расскажу в следующей статье посвящённой MobSF. Более подробное описание и мануал по установке можно прочитать по ссылке.
После установки MobSF — выполним следующий батничек для запуска сервера (писал для себя, поэтому диск D).
Дальше нужно перейтипо адресу http[:]//127.0.0.1:8000 и открывается главная страница(Рис. 1). Здесь функционала не много:
- загрузка файла;
- просмотреть отчеты по прошедшим сканам;
- переход на документацию API;
- переход на GitHub проекта.
Рис. 1. Главная страница
После того как файл был загружен и проанализирован, появляется страница с результатом анализа (Рис. 2). Слева меню, которое позволит переходить быстро по всей странице (результат объёмный просто). Какая полезная информация находится на этом скриншоте:
- хэш-сумма приложения;
- поддерживаемые версии OS Android;
- количество и типы компонентов (экспортированный или нет), это важно, так как экспортированные компоненты могут привести к критическим уязвимостям;
- возможность просмотреть и скачать java- и smali-файлы, которые можно проанализировать другими инструментами или вручную;
- просмотреть файл манифеста, для анализа.
Рис. 2. Результат анализа
Идем далее. На рис. 3 показана информация по сертификату, которым было подписано приложение.
Рис. 3. Информация о сертификате
Далее идёт описание анализа permissions, которые описаны в файле AndroidManifest.xml (Рис. 4). MobSF анализирует permissions приложения, определяет его статус, на предмет критичности и описание permissions. Здесь нужно понимать архитектуру OS Android для действительной критичности приложения.
Рис. 4. Анализ Android Permissions
На вкладке Security Analysis -> Code Analysis (Рис. 5) показывается результат анализа java-кода статическим анализатором, который определяет потенциальные уязвимости, определяет их критичность и файлы в которых этот тип уязвимости был найден. Во многом эти результаты является являются false positive, но нужно это всё перепроверять.
Рис. 5. Анализ кода
Следующая вкладка (Рис. 6) — это анализ файлов, на сервисе virustotal.com. В данном случае файл не определялся как заражённый.
Рис. 6. Анализ файла
Вкладка URLs (Рис. 7) выводит список URL-адресов, IP-адресов и файлов в которых они хранятся или вызываются. В этом разделе анализируются куда приложение отправляет данные или куда сохраняет информацию.
Рис. 7. Вкладка URLs
Вкладка “Strings” (Рис. 8) проводит анализ текстовых файлов, которые находятся в директории res. При анализе приложения эти файлы могут содержать захардкодженые учетки и другие чувствительные данные. Хотя на моей памяти такого не было.
Рис. 8. Анализ текстовых файлов
Вкладка “Components” (Рис. 9) выводит полный список компонентов (activity, service, content provider и receives), импортированные библиотеки и файлы без определения расширения.
Рис. 9. Список компонентов
Дополнительно анализ исходного кода можно провести с помощью статического анализатора VCG scanner. Для VCG нужен исходный код. Исходный код можно загрузить через кнопку Download Java Code (Рис. 10). Файл скачивается в ZIP-архиве. Дальше нужно извлечь папку с файлами из архива (Рис. 11).
Рис. 10. Скачивание исходного кода
Рис. 11. Извлечение исходного кода
Сканирование исходного кода делается следующим образом:
- Во вкладке “Settings” выбираем пункт “Java” — рисунок 12.
- Во вкладке “File” выбираем “New Target Directory” — рисунок 13.
- Во вкладке “Scan” выбираем “Full scan” — рисунок 14.
Рис. 12. Выбор исходного кода
Рис. 13. Подгрузка директории с файлами
Рис. 14. Запуск сканирования
После завершения сканирования сканер выдаёт названия уязвимости, её критичность, краткое описание и место в исходном коде (Рис. 15). Можно получить полный список уязвимостей и сортировать по их критичности (Рис. 16).
Рис. 15. Описание уязвимостей
Рис. 16. Полный список уязвимостей
Статический анализ приложения и исходного кода даёт базовые понятия об архитектуре приложения и потенциальных векторов атак. Согласно методологии применяемой в компании ByteCode именно с него начинается анализ любых приложений от клиента пришедших на пентест.
Источник