LES ENJEUX DE LA SÉCURITÉ INFORMATIQUE EN 2020

QUI PEUT EN 2020 SE TARGUER DE NE POSSÉDER AUCUN APPAREIL CONNECTÉ ? ORDINATEURS, SMARTPHONES, TABLETTES, TÉLÉVISEURS, DOMOTIQUE... NOUS VIVONS DANS UN MONDE ULTRA-CONNECTÉ ET CELA N'EST PAS PRÊT DE S'ARRÊTER.

L'information est devenue le bien le plus précieux dans les contextes sociaux, politiques et industriels. Aussi, la protection du patrimoine informationnel, si elle représente à première vue des coûts supplémentaires sans retours sur investissement, s'avère souvent cruciale pour la pérennité d'une organisation industrielle ou étatique.

La presse se fait de plus en plus l'écho de divulgations de données personnelles d'utilisateurs, de demandes de rançons via rançongiciel et de compromissions de grandes entreprises. Les moyens déployés pour sécuriser les données augmentent au rythme de ceux engagés afin de briser les barrières de sécurité.

Cybersécurité

La cybersécurité est dorénavant le nerf de la guerre

picto-espionnage

Espionnage politique et industriel

picto-rançon

Demande de rançons via ransomware

picto-atteinte à l'image

Atteinte à l'image

picto-destruction patrimoine

Destruction du patrimoine informationnel

Étude de cas

Les cas les plus fréquents

Spear-phishing

Notre équipe envoie un e-mail malveillant à une dizaine d’utilisateurs. Deux utilisateurs activent la macro, ce qui nous permet de prendre le contrôle des postes de travail. L’équipe pivote vers le réseau interne, escalade ses privilèges et exfiltre les trophées de la mission...
Spear-phishing

Compromission serveur frontal vulnérable

Notre équipe identifie une vulnérabilité critique dans une application exposée sur Internet. Elle compromet un serveur, puis un autre, et accède progressivement au réseau interne pour démontrer au commanditaire qu’il est possible d’acccéder aux trophées définis.
Compromission serveur frontal vulnerable

Rejeu des secrets d'authentification

L’équipe trouve dans des leaks publics les mots de passe de plusieurs employés. Certains mots de passe sont toujours valides sur un Extranet accessible sans double-authentification ! Une vulnérabilité sur cet Extranet permet de compromettre le domaine interne et d’accéder à des informations sensibles.
Rejeu secrets authentification

SYNACKTIV, L'ASSURANCE D'UNE EXPERTISE TECHNIQUE

Chez Synacktiv nous mettons un point d'honneur à garantir la satisfaction de nos clients. Un tel résultat n'est atteignable à notre sens qu'au travers d'une expertise technique de pointe et d'une parfaite compréhension des menaces actuelles. En constante recherche d'améliorations, nous participons régulièrement à des conférences internationales et des compétitions de hacking "Capture The Flag" afin de parfaire nos connaissances et techniques d'intrusion.

 

Témoignages

Témoignages

Notre expertise nous permet de répondre précisément aux demandes de nos clients et de mettre l'accent sur les points qu'ils jugent importants.
Tilkal

Sébastien Gaïde

CTO
Experts en tests d'intrusion, et très au fait des technologies que nous exploitons, Synacktiv s'est montré être un excellent choix : une méthodologie parfaitement maîtrisée assurant l'exhaustivité de la surface des tests, jusqu'au rapport très détaillé permettant d'encore améliorer la sécurité de notre plate-forme.
Qonto

Marc-Antoine Lacroix

CTO
Dans le secteur bancaire plus qu'ailleurs, la sécurité est un enjeu clé. Nous faisons appel à Synacktiv de manière régulière pour s'assurer du niveau de nos pratiques, les faire évoluer et valider la sécurité de notre plateforme.
SPB

Fabien Desmoulins

Responsable Sécurité SI
L’accompagnement de Synacktiv a été précieux lors de ma prise de poste en tant que Responsable Sécurité des Systèmes d'Information du Groupe SPB. La formation dispensée par les équipes de Synacktiv m’a permis de perfectionner mes connaissances techniques et ainsi mieux appréhender les menaces.

Return of the iOS sandbox escape: lightspeed's back in the race!!

Last week-end a new version of the iOS jailbreak unc0ver1 was released with the support of the latest iOS 13.5.

Since iOS 8 in 2014, this is the first jailbreak using a 0-day vulnerability, a vulnerability still unknown to Apple at the time of the release, to break iPhone security measures. To keep this vulnerability secret, the jailbreak is heavily obfuscated and protected against dynamic inspection.

However, since this vulnerability is not exactly new to us and since the cat is out of the bag, now seems a good time to write about it :).

TL;DR Disclosure of an old new XNU kernel bug that was reintroduced with iOS 13

Quick recap of the situation

During late 2018, we published the details about a XNU kernel vulnerability that we dubbed lightspeed. This vulnerability started as a racy UaF in the syscall lio_listio that allows the liberation of a kernel object twice. You can read all the details about it in our post.

This vulnerability was patched early in iOS 12 and 11.4.1 was the last vulnerable iOS version. We were wondering if someone would make something out of it, and were thrilled to see that both the JakeBlair420 team (@s1guza, @stek29, @sparkey, @littlelailo) and @tihmstar1 were successful in doing so.

So when iOS 12 came out this vulnerability died and the lio_listio implementation was correct, right? Well, not really... In the blogpost we explained that, while the issue was fixed, a memory leak was introduced, and it was now possible to force the kernel to panic. As the conclusion of the blogpost we were wondering if Apple would fix it or not.

Apple cares about mem leaks!

We don't know if the XNU developers read the Synacktiv blog, but it turned out that they were bothered by the memory leak, and they even opened a radar issue about it. So they fixed it during the early version of iOS 13. And here is the fix from the xnu-6153.4.3 sources (that has not changed since).


int lio_listio(proc_t p, struct lio_listio_args *uap, int *retval )

{

    // [...]

    for (i = 0; i < uap->nent; i++) {

        // [...]

        aio_proc_lock_spin(p);

        // [...]

        lck_mtx_convert_spin(aio_proc_mutex(p));

        aio_enqueue_work(p, entryp, 1); // I/O enqueuing 

        aio_proc_unlock(p);

        // [...]

    }

    // [...]



    aio_proc_lock_spin(p);

    switch (uap->mode) {

        // [...]

    case LIO_NOWAIT:

        /* If no IOs were issued must free it (rdar://problem/45717887) */

        if (lio_context->io_issued == 0) {

            free_context = TRUE;

        }

        break;

    }

    aio_proc_unlock(p);

    // [...]



    if (free_context) {

        free_lio_context(lio_context);

    }

    // [...]

    return call_result;

} /* lio_listio */

We observe that if no I/O were issued in the LIO_NOWAIT case (lio_context->io_issued == 0), the context is now freed again, preventing the allocation to remain in memory. We also notice that they reworked the way they take the proc lock a bit. But we also spot that they fixed it wrongly and reintroduced lightspeed!

Indeed, taking the lock with aio_proc_lock_spin(p) is irrelevant here to prevent the race. At this point the kernel worker may already have raced the main thread and freed the allocation (see our previous blogpost for more details).

light_speed_is_back_meme

 

As a consequence, the exact same vulnerability is back, with the same primitives. You can even test it with our old PoC (but you may need to tweak the parameters). From our tests it seems that the race probability changed a bit since the proc lock is now taken but that is not a big deal.

Conclusion

There is no doubt that lightspeed will be fixed again in the next iOS version. One way to fix that would be to never free the lio_context once I/O were scheduled, while using another variable to keep trace of the submitted tasks to free the context if none were.

Even if this is still a 0-day at the time this blog post is released, we think that it is the right time to publish as an exploit is out. Moreover, the regression was really easy to spot by diffing the sources months ago. So it was merely an open secret and it is likely that most researchers and bad actors already knew about it. The good news is that this vulnerability cannot be exploited from the WebKit renderer process since its sandbox has been considerably tightened since iOS 13 with the introduction of syscall whitelist.

This means that the risk for this vulnerability to be used by malicious actors is relatively low. An attacker would first have to compromise a vulnerable service or application in order to exploit this vulnerability. Nevertheless, you should update your iPhone as soon as a patch is made available by Apple.

As a final note, we would like to congratulate @Pwn20wnd and the unc0ver team for their successful exploit.

Étiquettes
Exploit

Dernières publications

Bypassing Naxsi filtering engine

Exploit
In order to better protect its users, NBS System has asked Synacktiv to perform a source code review of Naxsi, a famous open source Web Application Firewall (WAF). During this audit, Synacktiv discov...
En savoir plus

Ubuntu ppp's CVE-2020-15704 wrap-up

Exploit
As you may already know, we collaborated with Zero Day Initiative to disclose a vulnerability in Ubuntu's ppp package. This vulnerability has been assigned the identifiers ZDI-CAN-11504 / CVE-202...
En savoir plus