Това, което ние от XDA някога си представяхме като доказателство за концептуална уязвимост на сигурността, сега беше потвърдено от компютърни учени в Технологичния институт на Джорджия в Атланта. Екипът описва какво наричат "наметало и кама" експлойти, които могат да поемат потребителския интерфейс на повечето версии на Android (включително 7.1.2). Предвид природата му е трудно да се коригира, а също и трудно да се открие.
Cloak and Dagger е експлойт, който се възползва от две разрешения, за да поеме контрол над потребителския интерфейс, без да дава възможност на потребителя да забележи злонамерената дейност. Атаката използва две разрешения: SYSTEM_ALERT_WINDOW ("начертайте отгоре") и BIND_ACCESSIBILITY_SERVICE ("a11y"), които се използват много често в приложения за Android.
Ние имаме очерта това в миналото, но това, което прави тази уязвимост толкова остра, е фактът, че приложенията, изискващи SYSTEM_ALERT_WINDOW, автоматично получават това разрешение, когато се инсталират чрез Google Play Store. Що се отнася до активирането на услуга за достъпност, злонамерено приложение е в състояние доста лесно социално да накара потребител да я предостави. Злонамереното приложение може дори да бъде настроено да използва услуга за достъпност за полулегитимна цел, като например наблюдение, когато определени приложения са отворени, за да променят определени настройки.
След като тези две разрешения бъдат предоставени, броят на атаките, които могат да възникнат, е многоброен. Възможни са кражба на ПИН кодове, токени за двуфакторно удостоверяване, пароли или дори атаки за отказ на услуга. Това се дължи на комбинацията от наслагвания, които подвеждат потребителя да мисли, че взаимодейства с a легитимно приложение и услугата за достъпност, използвани за прихващане на текст и въвеждане чрез докосване (или предаване на собствено вход).
Ние теоретизирахме такава уязвимост преди няколко месеца, в която ще създадем приложение за доказателство на концепцията, което използва SYSTEM_ALERT_WINDOW и BIND_ACCESSIBILITY_SERVICE, за да нарисувате наслагване върху екрана за въвеждане на парола в приложението XDA Labs и да прихванете въвеждането на клавиши за плъзгане пароли. Това приложение, което предвидихме, ще бъде приложение за управление на автоматично завъртане, което ще използва наслагване за целите на рисуване на невидима кутия на екрана, за контрол на завъртането (вместо да изисква WRITE_SETTINGS, което би повдигнало флагове) и услуга за достъпност, за да позволи на потребителя да контролира автоматично завъртане на профили за всяко приложение база. На теория това би бил един пример за приложение, използващо "наметало и кама". Никой от нашия екип обаче не пожела да рискува акаунти на разработчици, като предизвикате автоматизираните системи за сканиране на приложения на Google, за да видите дали експлойтът ни за доказателство на концепцията ще бъде разрешен в Play Магазин.
Във всеки случай тези изследователи свършиха работата и изпратиха тестови приложения, за да докажат, че използването на тези две разрешения наистина може да бъде основен проблем за сигурността:
Както можете да видите, атаките са невидими за потребителите и позволяват пълен контрол върху устройството. В момента всички версии на Android, започвайки от Android 5.1.1 до Android 7.1.2, са уязвими на това експлойт, предвид факта, че се възползва от две разрешения, използвани иначе за напълно легитимни цели.
Не очаквайте истинско решение за този проблем да дойде на вашето устройство скоро, въпреки че трябва да се отбележи, че направени промени в SYSTEM_ALERT_WINDOW в Android O частично ще се справи с този недостатък, като забрани на злонамерените приложения да рисуват изцяло върху целия екран. Освен това Android O вече предупреждава чрез известие, ако дадено приложение активно рисува наслагване. С тези две промени е по-малко вероятно злонамерено приложение да се измъкне от експлойта ако потребителят е внимателен.
Как се предпазвате във версии преди Android O? Както винаги, инсталирайте само приложения, на които имате доверие, от източници, на които имате доверие. Уверете се, че разрешенията, които искат, отговарят на това, което очаквате.
Що се отнася до стотиците милиони редовни потребители там, според говорител на Google Play Store Protect също така ще предостави необходимите корекции за предотвратяване на атаките с мантията и камата. Как точно ще се постигне това не е ясно, но се надяваме, че включва някакъв начин за откриване, когато тези две разрешения се използват злонамерено. Съмнявам се обаче, че ще може да открие всички подобни случаи, така че във всеки случай е най-добре да наблюдавате какви разрешения се дават на всяко приложение, което инсталирате.