Gatekeeper megkerülése
A Mysk kutatói egy macOS viselkedést tártak fel, amely lehetővé teszi, hogy egy már a felhasználó jogosultságával futó rosszindulatú alkalmazás vagy szkript csendben lecserélje egy internetről letöltött, korábban már elindított alkalmazás fő futtatható állományát. A módszer nem igényel rendszergazdai jogosultságot, nem vált ki Gatekeeper- vagy kódaláírási figyelmeztetést az alkalmazás következő indításakor, és a felhasználó továbbra is az eredeti program nevét, ikonját és hitelesnek tűnő jogosultságkérő ablakaival találkozik.
A demonstráció során olyan népszerű alkalmazásokkal reprodukálták a hibát, mint a Signal, a Slack, a Visual Studio Code vagy a Brave böngésző, miközben a Mac App Store-ból telepített alkalmazások nem érintettek, mivel azok tulajdonosa jellemzően a root felhasználó. A támadás előfeltétele, hogy a támadó már képes legyen kódot futtatni a felhasználói fiók alatt – például egy másik malware vagy megtévesztő alkalmazás révén –, ezt követően azonban a lecserélt alkalmazás nevében kérhet hozzáférést a Keychainhez, a TCC által védett mappákhoz vagy más érzékeny erőforrásokhoz, kihasználva a felhasználó meglévő bizalmát.
A kutatók szerint a probléma abból ered, hogy a Gatekeeper az első indítás után nem ellenőrzi újra megfelelően az alkalmazás integritását ebben a speciális visszaállítási forgatókönyvben. Bár a sérülékenységet felelősségteljes módon jelentették az Apple-nek, a vállalat nem tekintette azt javítandó biztonsági hibának. A Mysk javaslata szerint a macOS-nek minden módosított alkalmazáscsomagot újra kellene hitelesítenie, illetve a jogosultságkérő ablakokban nemcsak az alkalmazás nevét és ikonját, hanem a tényleges kódaláírási identitást is meg kellene jelenítenie, hogy egy lecserélt bináris ne tudjon hiteles alkalmazásként fellépni.