Układ scalony pierwszej generacji firmy Apple, M1, zrewolucjonizował wrażenia z korzystania z komputerów Mac. Dzięki wyższej wydajności i niesamowitej żywotności baterii firma Apple Silicon umożliwiła gigantowi technologicznemu z Cupertino wprowadzenie aplikacji iPhone na komputery Mac w postaci ujednoliconej architektury. Jednak nowy niestandardowy układ ma wadę.

Programista Hector Martin odkrył lukę w zabezpieczeniach procesora M1, która tworzy ukryty kanał między dwiema lub więcej wstępnie zainstalowanymi złośliwymi aplikacjami, co pozwala im przesyłać informacje. Chociaż „potajemna wymiana danych” jest niewykrywalna bez specjalistycznego sprzętu, usterka jest uważana za nieszkodliwą, ponieważ nie można jej użyć do zainstalowania złośliwego oprogramowania i przesyłania danych z systemu, ponieważ nie wykorzystuje „pamięci, gniazd, plików ani żadnego innego normalnego systemu operacyjnego funkcje”.

Chip Apple M1

Deweloper odkrywa lukę M1, o której Apple nie wiedział

Martin odkrył zastrzeżony przez Apple błąd (lukę) podczas obliczania wydajności procesora M1 w celu przeniesienia na niego Linuksa, o czym sama firma nie była świadoma. Kiedy Martin powiadomił dział bezpieczeństwa produktów giganta technologicznego z Cupertino o usterce, „potwierdzili lukę i przypisali jej CVE-2021-30747”.

Rejestr systemu ARM zakodowany jako s3_5_c15_c10_1 jest dostępny z EL0 i zawiera dwa zaimplementowane bity, które można odczytać lub zapisać (bity 0 i 1). Jest to rejestr na klaster, do którego mogą jednocześnie uzyskać dostęp wszystkie rdzenie w klastrze. To sprawia, że ​​jest to dwubitowy ukryty kanał, którego dowolny proces może używać do wymiany danych z innym współpracującym procesem.

Złośliwa para współpracujących procesów może zbudować solidny kanał z tego dwubitowego stanu, używając protokołu zegara i danych (np. jedna strona zapisuje 1x w celu wysłania danych, druga strona zapisuje 00 do zażądać następnego bitu). Dzięki temu procesy mogą wymieniać dowolną ilość danych, powiązaną jedynie obciążeniem procesora. Za pomocą interfejsów API koligacji rdzeni procesora można zapewnić, że oba procesy są zaplanowane w tym samym klastrze rdzeni procesora. Takie podejście, bez znacznej optymalizacji, może osiągnąć szybkość transferu ponad 1 MB/s (mniej przy nadmiarowości danych).

Apple Silicon Mac-M1

Powiedziałem to, że luka nie może zostać wykorzystana przez hakerów i wykorzystana do uszkodzenia systemu. Złośliwe oprogramowanie nie może być wykorzystywane do przejmowania komputera, kradzieży prywatnych informacji i nie może być wykorzystywane przez JavaScript na stronie internetowej i aplety Flash. Nadal jest „zapieczony w chipach Apple Silicon i nie można go naprawić bez nowej wersji silikonowej”.

Jednak luka stanowi realne zagrożenie dla systemu iOS. Odkąd firma Apple wprowadziła na rynek modele iPada Pro zasilane przez M1.

iOS jest zagrożony, podobnie jak wszystkie inne systemy operacyjne. Ta luka w systemie iOS ma wyjątkowe konsekwencje dla prywatności, ponieważ może zostać wykorzystana do ominięcia niektórych bardziej rygorystycznych zabezpieczeń prywatności. Na przykład aplikacje klawiatury nie mają dostępu do Internetu ze względu na ochronę prywatności. Złośliwa aplikacja z klawiaturą może wykorzystać tę lukę w zabezpieczeniach do wysłania tekstu wpisanego przez użytkownika do innej złośliwej aplikacji, która następnie może wysłać go do Internetu.

Ale ufając procesowi oceny App Store, Martin uważa, że złośliwe oprogramowanie zostanie zidentyfikowane, zanim zostanie dopuszczone w sklepie cyfrowym.

Ponieważ aplikacje na iOS dystrybuowane za pośrednictwem App Store nie mogą tworzyć kodu w czasie wykonywania (JIT), Apple może automatycznie skanować je w momencie przesyłania i niezawodnie wykrywać wszelkie próby wykorzystania tej luki przy użyciu statycznego analiza (z której już korzystają). Nie mamy dalszych informacji na temat tego, czy Apple planuje wdrożyć te kontrole (lub czy już to zrobili), ale są świadomi potencjalnego problemu i można się spodziewać, że to zrobią. Możliwe nawet, że istniejąca automatyczna analiza już odrzuca wszelkie próby bezpośredniego użycia rejestrów systemowych.

Czytaj więcej:

Categories: IT Info