iStegSiri : une attaque des dispositifs iOS pour voler des informations privées
En se basant sur l'assistant vocal Siri

Le , par Amine Horseman, Expert éminent sénior
Deux chercheurs en sécurité informatique ont réussi à voler des informations privées des appareils iOS en utilisant l'assistant vocal Siri.

Siri est une application publiée en 2010 par Apple, puis intégrée en natif dans les appareils iOS à partir de 2011. Son but est de convertir les commandes vocales de l'utilisateur en commandes que la machine pourrait comprendre (effectuer un appel, envoyer un message, écrire du texte, etc.). Mais en réalité ces commandes vocales ne sont pas traitées dans l'appareil mobile, mais plutôt envoyées au serveur d’Apple, qui les convertit en texte puis renvoie la réponse.

L'attaque iStegSiri décrite par les deux chercheurs se base sur la dissimulation de données durant la phase d'envoi. En effet, une personne malveillante pourrait utiliser ce flux comme canal de transfert afin de voler des informations sensibles sans être repéré en transformant la forme du trafic généré par l'application Siri. En guise d'exemple, les deux chercheurs ont réussi à exfiltrer des données à un taux de 0,5 octet/sec, sans nécessiter l'installation de composants logiciels supplémentaires, ni modification de l'appareil. Ils ont d'abord transformé le message secret en séquence audio, cette séquence est ensuite envoyée par le microphone interne à Siri, qui l'envoi à son tour au serveur d'Apple. C'est durant ce transfert que le hacker devra intercepter le message et décoder les informations cachées. À noter qu'avec cette vitesse (0,5 octet/sec), il faudra environ 2 minutes pour envoyer un numéro de carte de paiement à 16 chiffres.


Figure : fonctionnement de l'attaque iStegSiri

« Avec iStegSiri, la contre-mesure idéale agit sur le côté serveur », écrivent les chercheurs dans leur rapport, « Apple devrait analyser les tendances dans le texte reconnu pour déterminer si la séquence de mots s'écarte sensiblement des comportements typiques de la langue utilisée. Par conséquent, la connexion pourrait être interrompue de sorte à limiter le taux de données secrètes transférées ».

Ce type d'attaques n'est pas nouveau. Une technique similaire avait été utilisée par le passé pour cacher des informations en utilisant des applications populaires comme Skype afin de tromper les analyseurs de flux et les antivirus.

Source : Rapport publié par les chercheurs

Et vous ?

Que pensez-vous de ce type d'attaque et des solutions potentielles ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de DelphiManiac DelphiManiac - Membre émérite https://www.developpez.com
le 21/01/2015 à 20:35
À noter qu'avec cette vitesse (0,5 octet/sec), il faudra environ 2 minutes pour envoyer un numéro de carte de paiement à 16 chiffres.

Je ne sais pas comment ont calculer ces "chercheurs", mais 0.5 octet par sec, ça fait un octet toutes les 2 secondes, donc 32 secondes pour 16 octets ^^ (pas 2 minutes). Ça rassure sur la capacité des chercheurs à chercher :p
Avatar de mrqs2crbs mrqs2crbs - Membre averti https://www.developpez.com
le 21/01/2015 à 23:14
Citation Envoyé par DelphiManiac  Voir le message
0.5 octet par sec, ça fait un octet toutes les 2 secondes, donc 32 secondes pour 16 octets ^^ (pas 2 minutes)

salut DelphiManiac,

il y a confusion sur les termes, l'article original parle de byte/sec (et pas d'octet/sec),
de plus le "byte" est ici utilisé dans son sens le plus large : "la plus petite unité de donnée" (soit 0 ou 1)

pour décrire un nombre à 16 chiffres, il faudra donc 64 "bytes"
au rythme de 0.5 byte/sec, on arrive bien à 128 sec.
Avatar de tiamat59 tiamat59 - Membre habitué https://www.developpez.com
le 22/01/2015 à 8:56
il y a confusion sur les termes, l'article original parle de byte/sec (et pas d'octet/sec),

?? confusion pourquoi byte en anglais c'est octet c'est tout.

de plus le "byte" est ici utilisé dans son sens le plus large : "la plus petite unité de donnée" (soit 0 ou 1)

bah ça c'est bit (en anglais et en français).
Avatar de mrqs2crbs mrqs2crbs - Membre averti https://www.developpez.com
le 22/01/2015 à 9:55
Citation Envoyé par tiamat59  Voir le message
?? confusion pourquoi byte en anglais c'est octet c'est tout.

pas forcément:
1 octet c'est toujours 8 bits,
1 byte c'est 1 unité de mémoire (souvent 8 bits, mais pas toujours, ici c'est plutôt 1 bit)
Avatar de Le Vendangeur Masqué Le Vendangeur Masqué - Nouveau Candidat au Club https://www.developpez.com
le 22/01/2015 à 10:17
Citation Envoyé par Amine Horseman  Voir le message
Que pensez-vous de ce type d'attaque et des solutions potentielles ?

Que comme toute faille c'est corrigeable, et qu'on fait là dessus beaucoup de bruit pour rien, puisque l'attaque nécessite d'être faite sur un appareil préalablement jailbreaké, donc déjà transformé en passoire.

On passera aussi sur le côté sensationnaliste du rapport de ces chercheurs, qui nous sortent en préambule l'habituelle poncif "oui mais comme Apple a du succès les créateurs de malwares se sont jetés dessus"… en avouant quand-même une ligne plus tard que c'était là encore sur des appareils jailbreakés.

Mais ce que est dommage c'est que l'article oublie justement de préciser que le jailbreak est nécessaire et c'est pourtant important.
Avatar de Saverok Saverok - Expert éminent https://www.developpez.com
le 22/01/2015 à 10:43
Citation Envoyé par mrqs2crbs  Voir le message
pour décrire un nombre à 16 chiffres, il faudra donc 64 "bytes"
au rythme de 0.5 byte/sec, on arrive bien à 128 sec.

Ca, c'est le cas idéal.
Il faut également tenir compte qu'il s'agit du débit de la connexion, pas celle du transfert de données car il peut y avoir des pertes de paquets, des de contrôles de flux, etc. (cf TCP)
Autrement dit, 128s, c'est le temps minimal
Avatar de DelphiManiac DelphiManiac - Membre émérite https://www.developpez.com
le 22/01/2015 à 14:30
Citation Envoyé par mrqs2crbs  Voir le message
pas forcément:
1 octet c'est toujours 8 bits,
1 byte c'est 1 unité de mémoire (souvent 8 bits, mais pas toujours, ici c'est plutôt 1 bit)

Honnêtement, ma réponse étais plus un "joke" qu'autre chose, mais là tu commence à m'expliquer qu'il est évident que le document initial utilise Byte pour désigner bit, alors que ce n'est là que ton interprétation, autant utilisé bit quand c'est un bit. Demain, on inventeras les bytes de 0.5 bit et l'étape suivante sont les bytes de tailles aléatoires :/ comme ça il sera facile de communiquer.
Avatar de JayGr JayGr - Membre actif https://www.developpez.com
le 26/01/2015 à 9:42
Citation Envoyé par mrqs2crbs  Voir le message
pas forcément:
1 octet c'est toujours 8 bits,
1 byte c'est 1 unité de mémoire (souvent 8 bits, mais pas toujours, ici c'est plutôt 1 bit)



Je me coucherais moins bête ce soir.

http://fr.wikipedia.org/wiki/Byte#Di..._byte_et_octet

@+
Offres d'emploi IT
Spécialiste systèmes informatiques qualité et référent procédure H/F
Safran - Ile de France - Colombes (92700)
Ingénieur développement fpga (traitement vidéo) H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY
Ingénieur intégration, validation, qualification du système de drone H/F
Safran - Ile de France - Éragny (95610)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil