Най-новият експлойт за сигурност, който засяга милиони устройства, се нарича RAMpage. Това е вариант на предишни атаки, които използват хардуерната уязвимост на Rowhammer, за да стартират злонамерен код чрез промяна на това, което се съхранява в паметта на вашето устройство (RAM) и има потенциал за загуба на данни и позволяване на неоторизирано достъп. С други думи, някой, използващ RAMpage, може да влезе в телефона ви и да контролира.
Страшните заглавия, които гласят „Всяко устройство с Android от 2012 г.“ са ефективни за разгласяване, но оставят много въпроси. Можем да отговорим на някои от тях на разбираем за всички език.
Какво е Rowhammer?
Трябва да започнете от тук, за да разберете как работи този експлойт. Rowhammer е термин, използван за описание на хардуерен проблем, който засяга компютърната RAM памет. Технически това не е експлойт и се случва поради законите на физиката.
DDR2 и по-новите RAM са опаковани толкова плътно, че можете електрически да манипулирате една област от RAM и това ще засегне друга чрез електрическо пресичане или нещо като изтичане на транзистор - където един компонент излъчва повече бездомно електричество, отколкото неговите съседи могат дръжка. Теоретично това може да засегне всеки базиран на силиций компютърен хардуер като видеокарти или процесори.
Атака, която използва ефекта Rowhammer бих могъл направете това, което се нарича "обръщане на битове" и обърнете един бит в RAM от едно състояние в друго - включете го или го изключете, в зависимост от това как е бил зададен преди атаката. Ако десният бит беше обърнат, нападателят може да промени разрешенията за своето приложение и да му даде пълен контрол над вашия телефон.
RAMpage атакува ION на устройства с Android. Какво е ION?
Има много начини да инициирате атака на Rowhammer. Има дори примери (сега закърпени от почти всяка компания, която трябва да прави пачове) с помощта на мрежови пакети или Javascript, което означава, че може да се случи само чрез посещение на уеб страница. RAMpage използва подсистемата ION, за да инициира атаката.
ION е универсална обща система за управление на паметта, която Google добави към ядрото на Android в Ice Cream Sandwich. Имате нужда от подсистема за управление и разпределяне на паметта, тъй като една програма може да се нуждае от 10 бита (например) използвана памет, но "стандартните" начини за разпределяне на памет означават, че ще бъдат използвани 16 бита. Ето как броят повечето компютри - те преминават от 0 до 4 до 8 до 16 до 32 и така нататък. Ако всеки работещ процес резервира повече памет, отколкото е необходима, ще имате много празна памет, която смята, че трябва да се използва.
Компаниите, които произвеждат чипове за смартфони, като Qualcomm или Samsung, всички имаха собствен инструмент за разпределяне на паметта. За да позволи на Android да използва „обикновения“ (основен) източник на ядрото на Linux, Google добави ION към ядрото на Android, така че всички производители да могат да преминат към използването му и системата ще бъде повече универсален. И го направиха.
Как работи RAMpage?
RAMpage атакува подсистемата ION и я кара трескаво да записва и опреснява ред от битове във физическата памет с надеждата, че в крайна сметка ще преобърне малко в съседния ред. Това потенциално може да позволи на едно приложение да получи достъп до данните на друго приложение или дори да позволи на това приложение да действа като системен администратор и да има пълен контрол.
Ще трябва да инсталирате злонамерено приложение, което използва атаката RAMpage, и тъй като това беше публично достояние, Google Play и App Store на Amazon няма да позволят качване на такива. Ще трябва да получите приложението чрез други средства и да го заредите отстрани.
Изследователите, които ни запознаха с RAMpage, имат приложение за тестване на уязвимости, както и приложение за сигурност, за да предотвратят атаката. Можете да намерите и двете тук.
Това засяга ли продуктите на Windows или Apple?
Може би. Самите изследователи не са много ясни по въпроса, но твърдят, че RAMpage може да засегне iOS, macOS, компютри с Windows и дори облачни сървъри.
Ще трябва да изчакаме допълнителни открития, за да знаем със сигурност.
Трябва ли да се притеснявам?
Всяко устройство с Android, произведено от 2012 г. насам (всеки телефон, доставен с Ice Cream Sandwich или по-късно), използва подсистемата ION и има DDR2, DDR3 или DDR4 RAM и е потенциално уязвим. Това означава, че определено трябва да знаете за RAMpage и други атаки на Rowhammer.
Но използването на Rowhammer атака за извършване на конкретно нещо не е възможно. Достатъчно просто е да атакувате един ред от битове в RAM модул, докато бит в съседен ред се преобърне, но е почти невъзможно да разберете какво е записано в този съседен ред. Софтуер като Android или iOS има вградени защити, които гарантират, че няма конкретно място в паметта, където трябва да се запише задача, и всичко е на случаен принцип.
Нападателят не може да знае кой бит ще бъде обърнат или какво ще направи. Това означава, че е като игра на рулетка с колело, което има 32 милиарда слота, в които топката да падне. Съществува случаен късмет, но тези шансове са изключително ниски.
Освен това на 29 юни Google издаде следното изявление за нас относно RAMpage:
Трябва да сте наясно с RAMpage, но няма нужда да се притеснявате, че нещо ще ви се случи. Продължете да използвате здравия разум и да инсталирате само приложения, които идват от място, на което имате доверие (придържането към Google Play е добра идея) и продължете както обикновено.
Актуализирано на 29 юни 2018 г.: Добавено изявление от Google.