Table des Matières
Articles de blog associés
Attaquants ARM aggravants de manière propice
Il y a quelques années, Apple a publié un simple paragraphe de texte qui a changé le cours des choses. Application Security pendant une nuit.
À partir d'Xcode 14, le bitcode n'est plus requis pour les applications watchOS et tvOS, et l'App Store n'accepte plus les soumissions de bitcode depuis Xcode 14. Xcode ne génère plus de bitcode par défaut et affiche un avertissement si un projet l'active explicitement : « La compilation avec bitcode est obsolète. Veuillez mettre à jour les paramètres de votre projet et/ou de votre cible pour désactiver le bitcode. » La possibilité de compiler avec bitcode sera supprimée dans une prochaine version d'Xcode.
Apple savait pertinemment que cela allait arriver et a préservé la grange de Glendenning au sein de son campus, ne serait-ce que pour faire visiter le site d'Enable Bitcode. La visite a commencé derrière la grange. Ce fut une visite éclair. Rassurez-vous, les AirPods sont dotés d'une excellente réduction de bruit, et Tim n'a probablement rien entendu.
Heureusement, nous étions prêts et avions déjà anticipé ce changement. Modifier le bitcode intermédiaire est un processus délicat et frustrant, car il est lié à la chaîne d'outils de compilation contrôlée par Apple et la communauté open source Swift. L'intégration d'un outil de sécurité tiers dans votre chaîne de compilation est donc essentielle. Dramatiquement ralentit la vitesse de développement d'un développeur d'applications.
Temps de construction Application Security c'est pénible, et, bien que nous conservions nos outils de compilation, nous avons délibérément développé une solution axée sur la post-compilation : Digital.ai Application Security pour appareils mobiles : ARMNous pouvons désormais modifier et injecter des éléments de sécurité directement dans un fichier binaire Mach-O plutôt que de modifier le bitcode intermédiaire lors de la compilation.
Maintenant, je vais faire ce que Old Yeller ne peut pas faire : vous donner des nouvelles des progrès et des prochaines étapes de notre produit ARM Protection.
Message d'intérêt public
Comme tous ceux qui ont déjà utilisé Ghidra pourront en témoigner, la manipulation des fichiers exécutables Mach-O est complexe. Le compilateur, l'éditeur de liens et le chargeur suivent chacun des règles spécifiques (dont beaucoup ne sont pas documentées) pour créer et charger un fichier binaire fonctionnel. Injecter notre code de détection après le travail du compilateur et de l'éditeur de liens, sans enfreindre les engagements pris envers le chargeur, complexifie considérablement le processus. Application Security espace.
C'est pourquoi nous sommes les seuls à faire ça.; c'est tout simplement trivial.
Cependant, c'est une arme à double tranchant, et les attaquants éprouvent d'énormes difficultés à contourner nos protections ou à les supprimer sans invalider le code binaire. Le résultat final en vaut la peine, et nous sommes déterminés à améliorer encore ce point de départ révolutionnaire. Nous avons entendu la demande d'un accès plus détaillé, par protection, à nos actions personnalisées de falsification et de non-falsification, et nous avons mobilisé notre équipe d'ingénieurs pour répondre à ce besoin. Notre équipe d'ingénieurs travaille sans relâche pour… __DATA que le béton ey __TEXT Le vôtre n'a donc pas à l'être.
Qu'y a-t-il ici maintenant ?
Frida, pompier fabuleusement énergique
Quiconque s'intéresse à la sécurité côté client connaît Frida. Cet outil, développé et sponsorisé par nos partenaires de NowSecure, est devenu indispensable aux développeurs du monde entier. Malheureusement, il s'agit également de l'outil d'attaque applicative le plus puissant jamais conçu.
Nous avons conçu une solution performante pour détecter le processus d'instrumentation de Frida et nous sommes désormais capables d'injecter une détection complète et sécurisée de Frida directement dans un fichier binaire. Comme pour tous nos processus de détection et d'obfuscation, il s'agit d'une adresse IP à usage interne uniquement. Les LLM n'ont pas accès au code source et ne peuvent pas s'inspirer de nos techniques. Dans l'un de nos mécanismes de détection, nous analysons les zones critiques à l'intérieur et à l'extérieur du sandbox de l'application afin de détecter les traces fondamentales laissées par les deux méthodes. serveur Frida que le béton ey gadget de FridaPlus nous effectuons de scans, moins l'algorithme est performant, et notre processus de détection est spécifiquement conçu pour remédier à ce problème. Nous avons développé un algorithme qui identifie rapidement les zones d'intérêt potentielles et les marque pour une investigation ultérieure. Le gardien effectue ensuite une recherche ciblée sur ces zones marquées afin de détecter la présence de Frida. Nos tests ont montré que cet algorithme a un impact considérablement réduit sur les performances de l'application modifiée.
Ces modifications n'ont aucune incidence sur le comportement d'exécution de l'application et nous permettent de détecter la présence de Frida sans impact notable sur ses performances. Cette détection, plus générique, s'appuie sur le mécanisme de détection d'instrumentation dynamique et sera disponible (avec des actions personnalisées de détection de falsification et d'absence de falsification) dans notre prochaine version.
Entraver le plaisir des hackers
La détection des hooks semble simple à première vue : empêcher les attaquants d’injecter des modifications du flux de contrôle dans le code appelé par une application. Dans ce cas, la détection est effectivement simple. Nous nous assurons que l’assembleur à l’intérieur et à l’extérieur du binaire ne contient aucune instruction non autorisée modifiant le flux de contrôle (B, BL, CBZEn réalité, cette simple étape de détection ne suffit pas à protéger les applications modernes. La complexité en matière de sécurité explose lorsque les applications font appel à des bibliothèques externes depuis leur propre package, ou à des bibliothèques système extérieures au binaire.
Détection des modifications, détournements ou remplacements complets potentiels des bibliothèques système (dont une forme était à l'origine du Violation de données chez Ticketmaster en 2024) représente un bond en avant considérable. Même si sauts sont un x86 En outre, la protection Hook Detection Guard d'ARM Protection protège également contre les vecteurs d'attaque par modification tierce. Comme indiqué lors de la présentation de l'un de nos algorithmes de détection Frida, l'algorithme permettant de détecter ces modifications à fort impact est propriétaire.
Pour l'instant, je ne divulguerai pas publiquement les détails de ce mécanisme. Ce Guard polyvalent, incluant des actions personnalisées, sera disponible prochainement, accompagné du Dynamic Instrumentation Detection Guard.
Quoi de neuf bientôt ?
Détection de jailbreak joyeusement remplie
Nous avons commencé à travailler sur la prochaine génération de notre outil de détection de jailbreak, et il sera bientôt disponible dans une version binaire près de chez vous. La dopamine, sous toutes ses formes et variantes, notamment Dopamine-Roothide, s'est avérée difficile à détecter. Nous proposons des options de détection innovantes et performantes, que vous pouvez découvrir dans [lien/documentation]. Le blog d'Amir a été publié la semaine dernièreCes améliorations, et bien d'autres, sont actuellement en cours de déploiement dans ARM Protection.
Navigation naturelle dans les NAP (Protections natives Android)
Bien qu'ARM Protection ait initialement été conçu pour iOS, la prise en charge native des objets partagés sous Android est un besoin de la plateforme et de la sécurité auquel nous nous efforçons de répondre. Une prochaine version déploiera officiellement une mise à jour de cette fonctionnalité. Application Security Pour appareils mobiles : architecture ARM avec prise en charge d’Android, conçue pour protéger les objets partagés natifs d’Android. L’environnement des objets partagés natifs d’Android étant vulnérable par défaut, l’ajout d’une protection applicative aux bibliothèques ARM compilées est essentiel pour une sécurité applicative complète.
Ce sujet me tient particulièrement à cœur, car le refus de Java d'exposer les pointeurs me terrifie. Que faites-vous avec eux ? Pourquoi ne me faites-vous pas confiance ? Pourquoi portez-vous une camisole de force ?
Conclusion comiquement corroborante
La destruction par Apple du bitcode embarqué et les difficultés liées à un produit de protection au moment de la compilation rendent les outils du passé encombrants et moins résistants aux futures attaques d'Apple. Digital.ai's Application Security Pour appareils mobiles : ARM révolutionne la protection des applications en simplifiant les systèmes de compilation. Bien que la compilation soit plus complexe pour nous, l’utilisation est simplifiée pour vous.
Au lieu de me répéter davantage, je vais vous soumettre une énigme :
J'ai une forme arrondie, mais je ne suis pas un sourire. Je capture ce qui nage ou maintient un certain poids. En programmation, j'attends qu'une action se déclenche, puis j'exécute un script, comblant ainsi un besoin. Je relie souvent des objets suspendus dans les airs, et bien que j'aie des dents, je ne mange ni ne partage. Vous pourriez m'apercevoir sur une porte ou sur le flanc d'un bateau, toujours prêt à saisir, retenir ou cacher.
Sécurisez vos applications mobiles dès aujourd'hui grâce à une protection ARM de pointe
Explorer
Quoi de neuf dans le monde de Digital.ai
Améliorer la confiance dans les jeux mobiles grâce aux protections pour Unity
Les jeux mobiles populaires sont constamment la cible d'attaques de la part d'acteurs malveillants…
Sécurisation des applications modernes : Cryptographie en boîte blanche et OWASP MASVS en pratique
L'OWASP a récemment publié le Top 10 OWASP 2025, le classement des meilleurs artistes du secteur…
Présentation d'App Aware Insights : analyses des menaces partageables pour les applications protégées
Comprendre comment les applications sont ciblées en conditions réelles a traditionnellement…