У дома Securitywatch Черна шапка: множество уязвимости на главните ключови проблеми андроид

Черна шапка: множество уязвимости на главните ключови проблеми андроид

Видео: 017 ENG HTML and CSS Use the meta tag and the charset utf 8 to display characters like ñ (Септември 2024)

Видео: 017 ENG HTML and CSS Use the meta tag and the charset utf 8 to display characters like ñ (Септември 2024)
Anonim

Всичко започна като шега, обясни Джеф Фористал от Bluebox Security. Екипът на Bluebox искаше да създаде хаквана версия на приложението FourSquare, която да изглежда, че сте някъде странни, като Антарктида. Уви, Google Maps отхвърли заявките от приложението с ощипвам. Проследяването на пътища около този проблем доведе екипа до слабостта, която нарекоха "Master Key". „Тази тема вече беше разгледана“, каза Forristall. "Изтича. Излиза от няколко седмици. Но всъщност има повече от един главен ключ, така че този разговор нарасна от една грешка на четири."

Forristal обясни, че с разглобяването, модифицирането и повторното сглобяване на приложението те са променили подписа на разработчика му. Новият подпис не получи лиценз за използване на Google Maps, така че беше отхвърлен. Новото им търсене; променете кода без да променяте подписа.

Forristal разгледа подробната поредица от събития, които се случват, когато Android проверява подписано приложение. Всеки слой проверява предишния, като се започне с проверка дали кодовите модели не са били подправени и завършва с цифров подпис на пакета като цяло. Той се опитваше да атакува системата на всеки етап, най-вече без късмет.

„Форматите APK, JAR и ZIP са основно еднакви“, отбелязва Forristal. „JAR и APK просто имат допълнителни компоненти.“ Последният му успех включва използване на ZIP формат. Когато той вмъкна "зъл" файл със същото име като съществуващ валиден файл, проверяващият се излезе от валидния файл, но "злият" файл стартира.

Защо? Тъй като Android използва различни ZIP файлове за управление на файлове в проверката и в реалния инсталатор. „Разминаването на анализа на ZIP файловете е източникът на тази грешка“, обясни Forristal. „В действителност има осем отделни реализации за разбор на ZIP файлове в базата на кода на Android.“

Извън пясъчника

"Използвах този трик за добро", каза Форристал. "Сега нека го приемем страхотно." Подобно на iOS, Android стартира всяко приложение в своя пясъчник, така че приложение не може да получи достъп до ресурси, принадлежащи на друго приложение. "Единственият начин в пясъчната кутия е да бъде подписан от същия разработчик", обясни той. „Това прави възможно актуализациите.“

„Системата като цяло се присъединява към една и съща представа“, продължи той. "Системната пясъчна система налага всички останали пясъчни кутии. Тя контролира всичките ви настройки. Това не е root, но има всички ваши данни, приложения, пароли и настройки - какво остава? Системата е доста мощна." Приложенията, които имат достъп до системния пясъчник, обикновено се подписват от производителя на платформата. "Трябваше само да се сдобия с подписано от платформа приложение и да направя моя малък трик. Трябва да имам достъп на системно ниво. Това е по-готино от картите на FourSquare", заключи той.

Оказва се, че VPN на трети страни трябва да бъдат подписани на платформа и като бонус те вече изискват достъп до пясъчната система на системата. Forristal показа трите прости команди, които използва, за да вмъкне своя „зъл“ код в VPN на трета страна, шегувайки се за „хакерски инструменти за über“. Резултатът? Троянски език с пълен достъп на ниво система.

Лесна експлоатация

Главният технолог по сигурността Сорик (Джей Фрийман) изведе концепцията на следващото ниво, обясни Forristal. Неговият инструмент Cydia Impactor работи на OSX и Windows и автоматизира експлоатацията. "Свържете устройство", каза Forristal, "то измисля правилното приложение, изгражда го, добавя подходящия хак, за да получите корен достъп, и го доставя. Бих пуснал малко нахално малко доказателство за концептуални приложения, но това е страхотно."

Forristal отбеляза, че типът на процесора на устройството няма значение. Атаката не се влияе от ASLR (рандомизация на адресната система) или DEP (предотвратяване на изпълнението на данни). Той направи една версия, която работи на четири поколения Android, а единственото необходимо умение е познаването на Java. „Подадох това за Black Hat, защото е лесно да се разбере и експлоатира“, каза Forristal.

Още майсторски ключове

Forristal се сблъска с редица други наскоро открити бъгове, които могат да се считат за "главни ключове". Когато преминаваха през кода за функция, наречена удостоверени атрибути, изследователите от Bluebox откриха ред, коментиран и отбелязан с „TODO“. В резултат на липсващия код, независимо какви промени правите, файлът преминава проверка. Не много файлове използват тази функция, отбеляза Forristal. „Ако намерите такъв, можете да копирате и залепите файла на сертификата и да приемете самоличността на програмиста. Ако сте подписали приложение с удостоверени атрибути, сте му предоставили самоличността си.“ Тъй като тази грешка беше отстранена, преди Bluebox да я съобщи, те не вземат кредит.

Атаката "Скрит троян", отчетена от китайски изследовател, се оказва само един от няколкото възможни начина за използване на множеството анализатори на ZIP файлове на Android. Тези атаки се възползват от факта, че единият потребител на анализатор е подписал цели числа, а другият използва неподписани цели числа.

"Не става дума дори за подмяна на един файл", възхитено Forristal. "Можете да използвате този трик за захранване в напълно различен ZIP файл. Единият се проверява, другият изпълнява. Няколко трика и подсказки в това пространство може да покажат още повече сила на този подход."

Въпреки че зловредният софтуер, използващ тази техника, вече е бил наблюдаван в дивата природа, не трябва да е възможно да се получи троянизиран файл като описания тук в Google Play. Вероятно ще бъдете в безопасност, ако винаги и инсталирате само приложения, които са преминали официален контрол. Все пак, за да сте в безопасност, не забравяйте незабавно да инсталирате всички налични актуализации за Android.

Черна шапка: множество уязвимости на главните ключови проблеми андроид