Однією з найпоширеніших тактик поширення зловмисного програмного забезпечення (або навіть лише поганих програм) на Android є перепаковка програм. Під час своєї презентації на конференції RSA Пау Оліва Фора від viaForensics продемонстрував, що для перетворення програм інженерів Android потрібні лише кілька хвилин.
Отримання програми
Першим кроком із реверсивної інженерії програми, за словами Фора, було придбати собі додаток. Хоча вони виглядають гладко на вашому телефоні, програми Android (або APK) - це справді лише ZIP-файли з новим розширенням. Всередині все, що потрібно запускати, - від коду до будь-якого носія, який може знадобитися.
Існує кілька способів отримати APK. Якщо у вас є додаток, яке ви хочете зробити інженером на своєму Android, ви можете використовувати диспетчер файлів, як ASTRO, щоб зберегти резервну копію на SD-карті. Також можливо підключити свій Android до комп’ютера, а потім скористатися мостом налагодження Android, щоб перенести додаток на ваш ПК. Ви також можете використовувати онлайн-інструменти, щоб витягнути APK з Google Play.
Потягнувши його
Після роботи APK вам потрібно буде перетворити його на щось більш корисне. Для цього Фора представив два варіанти. Ви можете розібрати свою ціль за допомогою інструменту типу Apktool, який перетворить зібраний файл коду програми APK (виконавчий файл Dalvik або DEX) у мову складання, як Smali. Або ви можете декомпілювати, що перетворює DEX у архів Java (JAR), а потім у Java.
Фора зазначив, що оскільки деякі дані можуть бути втрачені в процесі декомпіляції, краще використовувати декомпілятор, який було зроблено на увазі Android. Це пропускає крок JAR, перетворюючи DEX безпосередньо на Java.
Для людей, незацікавлених самостійно відстежувати всі ці інструменти, Фора запропонував Сантоку. Це спеціальний дистрибутив Linux від viaForensics, який постачається з усіма інструментами, необхідними для розбиття, зміни та перепакування додатка для Android. Це потужний інструмент цифрової криміналістики, про який ми писали раніше.
Швидкий реверс
Якщо ви заснули протягом останніх кількох абзаців, саме тут ви прокидаєтесь. Використовуючи Сантоку, Фора придбав дуже базовий створений ним додаток для Android і розірвав його. Потім він переглянув код для певного рядка, змінив код, перепакував його, підписав, перевстановив модифікований додаток на свій Android та запустив його. Весь процес зайняв менше п'яти хвилин.
Тепер, Фора був дуже простим прикладом. Додаток був дуже базовим і не містив прихованого коду. Однак його демонстрація мала потужні наслідки. "Ви можете це зробити, щоб змінити поведінку будь-якого додатка для Android", - сказала Фора, перелічивши нескінченне життя в грі або платні функції у вільному додатку лише декілька прикладів.
Страшніший приклад? Просто поверніть свою думку на будь-який із шкідливих програм, які ми бачили. Подумайте про це, перш ніж завантажувати цей схематичний клон FlappyBird.