iCloud et bruteforce

Vous n’avez pas échapper à la mauvaise nouvelle, malgré leur confiance dans iCloud, des gens se sont retrouvés à poil sur Internet. Certains sites informatiques tels que Numerama ou Reflet pensent qu’une attaque par brutefore des services d’Apple a pu permettre cela.

Je suis très sceptique sur le bruteforce par Internet. La latence est un ennemi assez redoutable.
Prenons en exemple le script Python incriminé pour bruteforcer iCloud nommé iBrute.
En insérant un basique timer, on peut compter 2 tentatives par secondes depuis une ligne ADSL.

Sachant qu’un password d’AppleID contient au minimum 8 caractères dont au moins un nombre et une majuscule. Ce qui fait, dans le pire des cas (6 chiffres, un caractère minuscule, un caractère majuscule) : 10⁶*26²*8*7 = 38*10⁹ possibilités.

Ce qui veut dire qu’il faudrait 602 années pour trouver le mot de passe à coup sûr avec une attaque de ce type.

Par contre, si votre mot de passe est composé d’un mot du dictionnaire, du langage commun, ou d’une référence que connaît l’attaquant, la recherche peut être bien plus courte. A titre de référence, le dictionnaire Larousse contient 135’000 mots soit environ le même nombre de possibilités qu’un mot de passe à 5 chiffres. Imaginons que votre mot de passe AppleID soit maintenant un mot français de 6 lettres (16000 possibilités), dont la première lettre est majuscule, suivi d’un nombre à 2 chiffres soit 16000*10² =1.6*10e6 possibilités. Il faudrait alors seulement 9 jours pour le trouver à coup sûr avec l’attaque par bruteforce citée ici si l’attaquant se focalisait sur ce pattern.

La moralité de cette histoire, c’est que si votre mot de passe est suffisamment complexe et surtout évite les mots communs, vous être tranquille face à une attaque par bruteforce de votre compte AppleID par Internet.

La blague de cette histoire, c’est que pour couper court à la polémique, Apple a décidé de bloquer l’accès au compte iCloud après 25 tentatives infructueuses. L’utilisateur est alors forcé à changer son mot de passe sur cette page. Vous voyez déjà le truc, il est possible d’empêcher quelqu’un d’accéder à son compte en lançant en continu des tentatives de connections avec le script cité ci-dessus. Pourquoi Apple bannit le mot de passe et non l’IP de l’attaquant comme le font classiquement les systèmes fail2ban, mystère…

9 réactions sur “ iCloud et bruteforce ”

  1. bluetouf

    from multiprocessing import Pool
    ….
    import threading
    ;)

    Python est plus riche que ce script ne le montre et un botnet ça se loue. Ensuite faut du bon dico.

    Et outre je suis plus nuancé que tu ne le laisses entendre dans mon approche :
    « une attaque en règle en utilisant ***entre autres*** une attaque par force brute »… tout est dans le « entre autres ». Pour moi les pass ont été p0wn ailleurs puis testés sur iCloud, pas le contraire.

  2. bluetouf

    « ’IP de l’attaquant comme le font classiquement les systèmes fail2ban,  » : parce qu’un ban ip est totalement inefficace de nos jours ? et que fail2ban tourne avec les permissions roots pour add une rules à iptables (rien que ça) et que c’est par définition pas un modèle de bonne pratique en matière de sécu ? Le jour où on trouve un trou dans fail2ban, je connais un paquet de SI qui vont regretter de l’avoir installé.

  3. Anonyous Coward

    Les « vieux » identifiants Apple n’ont pas besoin d’un mot de passe si compliqué.
    En particulier, pas besoin de majuscule.

  4. Tuxicoman

    Tu peux bannir une IP pour l’authentification à un compte donné dans l’application directement. Ca n’empechera pas l’avalanche de connections TCP sur le serveur mais ca mettra le compte de l’utilisateur à l’abri d’une attaque par bruteforce sans bloquer son usage. Je pense que c’est ce que veulent les utilisatrurs d’iCloud.

  5. Tuxicoman

    @bluetouf : A propos du parallélisme que je n’ai pas évoqué (mais j’ai pris la pire hypothèse d’un mot de passe composé majoritairement de chiffres), imaginons que tu puisse gagner un facteur 1e4, ca ne changerait pas la donne si le mot de passe était bien fait : 6 lettres minuscules + 1 chiffre + 1 lettre majuscule = 26⁶x10x26x8x7 = 4.5e12 possibilités

    Si l’attaquant peut faire 20’000 essais par secondes, il lui faudrait 7 années pour trouver le mot de passe à coup sûr. Soit une éternité par rapport à la durée de vie du mot de passe iCloud qui à mon avis changera avant.

  6. bluetouf

    Ouais mais là tu restes sur l’hypothèse que leur mot de passe n’est pas le nom de leur chat aspiré par un script sur leur page facebook pour générer un dico à la volée.
    La théorie que tu exposes est, sur le papier, bien développée, malheureusement, et tu le sais bien, dans la vie réelle, les modèles mathématiques volent en éclat à cause d’une vulnérabilité bien connue : le PFH (Putain de Facteur Humain).

  7. bluetouf

    En outre, au risque de me répéter, dans mon article, je pars du postulat que les mots de passe ne viennent pas d’icloud, mais qu’ils ont bien été pompés ailleurs puis re-testé sur différents services, dont iCloud (il y a des scripts qui font ça très bien)… le brute force, c’est tout de suite plus facile quand t’as le pass dans le dico.

  8. Tuxicoman

    C’est aussi mon avis bluetouf. Ce n’est pas une attaque par bruteforce « basique » sur iCloud qui a permis de récolter toutes ces photos. Apple s’en prend plein la gueule dans les médias mais si ca se trouve, ce n’est pas leur faute du tout. Wait and see.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.