Orange voit rouge

EDIT : Archive.org n'a eu le temps de mirrorer qu'une version obsolète de siproxd_orange souffrant d'un bug bloquant au login. Ce n'est pas la peine d'essayer de le faire marcher et je ne répondrai pas aux mails ou commentaires à ce propos.

C'est avec peine et regret que j'ai pris la décision de suspendre pour une durée indéterminée tous les liens de téléchargement de siproxd_orange, ainsi que l'accès à son dépôt BitBucket.

Je fais en effet l'objet de pressions de la part d'Orange visant à me faire cesser le développement et la diffusion de siproxd_orange. Après avoir consulté plusieurs personnes dont un avocat spécialisé en droit d'auteur, j'ai estimé plus prudent d'abandonner la diffusion de ce projet.

Je tiens d'abord à remercier toutes les personnes qui ont manifesté leur intérêt pour siproxd_orange, que ce soit en le téléchargeant, en postant des liens vers ce blog sur d'autres sites, en commentant sur les nombreux billets à ce sujet ou en rapportant des bugs. Mais je tiens aussi à ajouter que cela ne signifie aucunement la fin de l'aventure.

Ma motivation : l'interopérabilité

Ma motivation principale était celle d'utiliser un PBX Asterisk sous Linux sur ma ligne Livebox.

La solution la plus simple était d'utiliser l'interface analogique en enfichant une carte FXO/FXS dans la machine, mais cette solution n'est pas sans lacunes. En effet, la Livebox ne signale pas l'état décroché ou raccroché de la ligne à l'aide de signaux électriques. Ce défaut peut entraîner des problèmes potentiellement graves : par exemple, sans hacks à base de « busydetect », le PBX maintient la ligne occupée indéfiniment lorsque la personne à l'autre bout de la ligne raccroche en premier.

En voulant écrire des scripts de supervision Livebox pour Nagios, je suis tombé sur une interface qui exposait une partie des paramètres SIP utilisés par la box : proxy SIP sortant, login, etc., mais bien évidemment pas de mots de passe.

J'ai ensuite constaté que l'application Livephone pour Windows s'enregistrait directement auprès des serveurs SIP d'Orange, à condition de lui fournir les identifiants de l'espace client Orange.

J'ai alors décidé de creuser plus loin afin de savoir quels étaient les identifiants SIP utilisés pour s'authentifier auprès du proxy SIP Orange. Il s'avère que le client SIP officiel n'utilise aucun mot de passe, mais obtient un des secrets nécessaires pour l'échange RFC 2617 (authentification HTTP Digest) par une méthode totalement propre à Orange. Ces secrets étaient impossibles à obtenir sans décompiler l'application d'origine. Impossible donc d'exploiter sa ligne SIP sans autre chose que les applications proposées par Orange.

C'est en modifiant le processus d'authentification qu'Orange cassait l'interopérabilité avec les autres implémentations SIP conformes à la RFC 3261, empêchant ceux-ci de s'enregistrer directement auprès de l'infrastructure d'Orange.

Je m'inscrivais donc dans une double démarche d'interopérabilité : la possibilité d'utiliser un terminal SIP « RFC 3261 » avec ma ligne téléphonique comprise dans l'abonnement que je paye d'une part, et la réimplémentation des extensions propriétaires d'Orange sous Linux et FreeBSD d'autre part.

L'exception de décompilation

C'est dans cette démarche d'interopérabilité que j'estimais être en droit de me prévaloir des dispositions de l'article L122-6-1 du Code de la propriété intellectuelle, qui dispose entre autres que :

IV. La reproduction du code du logiciel ou la traduction de la forme de ce code n'est pas soumise à l'autorisation de l'auteur lorsque la reproduction ou la traduction au sens du 1° ou du 2° de l'article L. 122-6 est indispensable pour obtenir les informations nécessaires à l'interopérabilité d'un logiciel créé de façon indépendante avec d'autres logiciels, sous réserve que soient réunies les conditions suivantes :

1° Ces actes sont accomplis par la personne ayant le droit d'utiliser un exemplaire du logiciel ou pour son compte par une personne habilitée à cette fin ;

2° Les informations nécessaires à l'interopérabilité n'ont pas déjà été rendues facilement et rapidement accessibles aux personnes mentionnées au 1° ci-dessus ;

3° Et ces actes sont limités aux parties du logiciel d'origine nécessaires à cette interopérabilité.

Les informations ainsi obtenues ne peuvent être :

1° Ni utilisées à des fins autres que la réalisation de l'interopérabilité du logiciel créé de façon indépendante ;

2° Ni communiquées à des tiers sauf si cela est nécessaire à l'interopérabilité du logiciel créé de façon indépendante ;

3° Ni utilisées pour la mise au point, la production ou la commercialisation d'un logiciel dont l'expression est substantiellement similaire ou pour tout autre acte portant atteinte au droit d'auteur.

Le seul aspect qui posait vraiment problème, c'était la question de savoir si j'avais le droit de mettre à disposition le code source de siproxd_orange, qui contenait du coup des informations d'interopérabilité obtenues par décompilation. J'étais en outre obligé de diffuser le code source, car siproxd est sous licence GPL et son système de plugins fonctionne par édition de liens dynamiques. Mais les jurisprudences autour de l'exception de décompilation sont rares et il incomberait à moi de prouver que mon travail satisfaisait toutes les conditions pour me prévaloir de cette exception, ce qui n'est pas certain. L'article de François Pellegrini à ce propos est une lecture intéressante.

J'avais donc prédit avec justesse que la réalisation de ce plugin pour siproxd était « à la limite de la légalité ». La question de savoir si mon travail était licite ou illicite était ténue.

J'ai pris des risques en proposant siproxd_orange ici. J'aurais pu faire le choix de continuer malgré les pressions et, si nécessaire, me défendre au tribunal. Mais dans le pire cas, je risquerais de perdre plus que juste la mention « néant » dans mon casier judiciaire.

Conclusion

Je suis vraiment triste de devoir prendre ce genre de décisions. Je suis triste à l'idée de décevoir le grand nombre de personnes qui semblaient intéressés par ce projet. Mais je suis surtout triste de devoir prendre des décisions contraires à mes valeurs de curiosité scientifique et de partage du savoir.

Il s'agissait de mon plus gros projet de rétroingénierie jusqu'à maintenant. Même en mettant hors ligne les archives des sources de siproxd_orange, je n'accepterai pas l'idée d'avoir sacrifié tous ces week-ends, toutes ces soirées et toutes ces pages de mon cahier de brouillon en vain.

L'étape d'après serait d'obtenir les informations nécessaires à l'interopérabilité par une autre voie que la décompilation, par une méthode qui m'autoriserait à les publier. Je n'en dirai pas plus ; je sais désormais que des salariés d'Orange ouvertement hostiles à ce projet me lisent.

En tout cas, je n'ai pas dit mon dernier mot.

Posté par x0r à 44 commentaires • Tags : sip orange livebox siproxd_orange voip legal décompilation reverse engineering

Commentaires

Poster un commentaire

#1 — Nicolas

Hello,

bien dommage, ce petit proxy était juste génial. Il m'arrange grandement pour l'utilisation de mon réseaux.

En tout cas je voulais apporter ma pierre a l'édifice ce soir en postant la config d'un PAP2T qui fonctionne tres bien.

J'en est fait un VM Linux, si tu la veux, fait moi signe.

Bon courage.

#2 — Pace

Hello Nicolas,

Je suis à la recherche d'une VM Linux, tu pourrais me la fournir ?

#3 — Pace

Hello x0r,

Si j'ai bien compris c'est la fourniture du source qui pose problème ? Et si tu fournis un exécutable, le problème existe t'il toujours ?

#4 — A.

@Nicolas: Je suis preneur pour la configuration PAP2T.

Mais lorsqu'on utilise un matériel de type Sipura, ou FXO/FXS en général, l'audio n'a pas la même qualité qu'en SIP/RTP.

siproxd+orange-siproxd (et Orange) permettaient d'avoir un flux audio numérique de bout en bout, sans transformation supplémentaire, ce qui n'est pas le cas avec un PAP2T puisque la voix passe au minimum par deux puces FXO/FXS avant de repasser sur du SIP/RTP.

Bref c'est une bien triste nouvelle. Il est peut-être temps de changer d'opérateur ;)

#5 — x0r

@Pace : Si je distribuais juste un binaire sans distribuer le code source, j'aurais violé la GPL. Ce que j'ai fait était un plugin pour siproxd, qui est sous licence GPL, et un plugin qui est exécuté par édition de liens dynamiques (i.e. un plugin sous la forme d'un fichier .so ou .dll) est considéré comme un logiciel dérivé ; ainsi, si je le distribuais sous forme binaire, je devais également rendre public le code source quoi qu'il arrive.

Il me semble également qu'un binaire, une archive de sources et les documents préparatoires (donc en théorie mes 20 pages de brouillons...) sont tous juridiquement considérés comme un logiciel.

#6 — XaS

Quand on pense que leur livebox est probablement truffée d’open-sources bricolés dont il ne rétribuent pas les modifications ...

#7 — x0r

Orange redistribue les sources des logiciels libres inclus dans leurs box sur cette page : http://assistance.orange.fr/livebox-logiciels-open-source-777.php

On dirait qu'ils fournissent même les scripts de build pour fabriquer une image, ce qui signifierait peut-être qu'il y a des infos sur leur implémentation SIP dedans. Faudra que j'épluche ça lorsque j'aurai le temps.

#8 — cnicolas

Bonjour,

Je découvre, un peu tard semble-t-il, cet excellent travail. J'avoue avoir du mal à comprendre pourquoi Orange ne veut pas de l'interopérabilité SIP alors qu'il ne propose aucune offre en ce sens...

Ceci étant, est-il encore possible de disposer des sources siproxd-orange par échange privé ?

Merci d'avance.

#9 — B

C'est dommage que ça finisse comme ça. Je n'étais pas concerné par ce projet, mais il était tout à fait intéressant de lire les articles postés pour voir le cheminement pour en arriver là. Bon courage pour la suite.

#10 — DoNcK

Orange ne veut pas qu'on fasse de la VoIP depuis ailleurs que chez nous avec notre box. C'est interdit par leurs conditions d'utilisation.

A mon avis en 3G/4G, ils l'interdisent pour pouvoir factuer des forfaits illimité sur les mobiles et c'est tout, car le traffic des appels c'est peanuts par rapport à regarder une video 3G.

Dans le cas du WiFI d'un bar, d'un copain, d'un immeuble ou du boulot, c'est encore plus inexcusable vu qu'on ne charge pas plus leur réseau. Enfin, presque puisqu'il y a un lien montant supplémentaire vers depuis le net vers la box.

Personnellement, là ou je bosse on a pas de réseau GSM / 3G, et ça fait sérieusement chier de pas pouvoir recevoir mes appels via le WiFi et un SIP officiel d'Orange.

A mon avis, leur non respect des standards s'explique simplement par la volonté d'éviter que tout le monde fasse un VPN et utilise un SIPphone standard parce que c'est simple. Là il faut utiliser ce proxy. C'est sans doute pour ça que ça ne leur plait pas.

Au delà de cette regrettable situation, ce qui serait cool déjà ça serait d'arriver, par un moyen ou par un autre, à leur faire changer leurs conditions d'utilisation. Franchement pour 45€ / mois, on pourrait s'attendre à avoir Internet + un mobile 3G avec un SIP standard et accessible de n'importe ou... Y'a-t-il un juriste qui nous lit et qui a un avis là dessus ?

#11 — marauder

Dommage, à quelques jours près, je récupérais cette superbe appli :(

Moi qui voudrait juste utiliser skype pour pouvoir téléphoner en mains libre depuis mon pc en passant par le tel de la livebox, je trouve pitoyable qu'Orange ne propose pas la possibilité de le faire .

On peut mater la télé de n'importe quel pc de chez soi, mais pas téléphoner ?! C'est juste débile. Honte à eux.

#13 — M.

DrEagle : non, malheureusement, l'Archive n'est pas passée par là à temps. J'y ai heureusement pensé, en Décembre dernier, et j'ai fait faire un passage manuel à l'archive (pour la version précédente du coup). 47 -> 42

#14 — HLFH

J'ai tout juste quitté Orange Sosh pour Bouygues Telecom, comme BT restent les meilleurs en 4G et sont davantage compatibles avec les bandes de fréquence 4G du OnePlusOne. L'élément déclencheur reste qu'ils brident les services qu'ils proposent au profit de la rentabilité (option IP fixe, pas encore d'IP fixe, blocage SMTP 25, etc...).

#15 — HLFH

EDIT: *pas encore d'IPV6 [...] Bref, surtout quand on arrive près du but, quand l'enjeu est aussi pertinent, et qu'ils cassent cette initiative.

#17 — zehensocke

..étant un allemand qui a sa niche francaise maintenant: j'utilise une fritzbox 7490. Depuis mon Android smartphone je me connecte depuis un WIFI par VPN sur ma fritzbox a la maison. Avec Fritz.app fon je telephone à travers la fritzbox et la livebox ou je veux. Et les gens d'Orange peuvent se tortiller comme il veulent...aussi longtemps qu'ils ne bloquent pas le VPN ca marche...

#18 — norak

J'ai essayé siproxd_orange avec le lien donné par 3615. L'install se fait bien mais la connexion ne passe pas : ERROR:src/plugin_orange.c:223 auth_step2 failed, aborting ERROR:src/plugin_orange.c:127 plugin_orange: could not login to account

Si quelqu'un peut m'aider je suis preneur, merci...

#19 — x0r

Archive.org n'a eu le temps que de mirrorer une version obsolète de siproxd_orange, qui souffre d'un bug bloquant au login (conséquent au retrait de l'appli officiel Windows). C'est pas la peine d'essayer de faire marcher cette version-là.

#20 — Grunt

Salut,

Ça dérange si d'autres gens reprennent ton projet et tentent de le débugger/le publier en assumant les risques ?

#21 — mat

Et si quelqu'un continuait anonymement le travail et le publiait depuis un site situé très loin d'orange francs ?

#22 — greg

Il y a un .patch qui tourne sur le net qui transforme une 0.2 en 0.2.1, je ne donne pas le lien, google saura le faire

#23 — Gandoulf42

Dégoûté d'apprendre ça :(

En espérant que tu trouveras une solution pour redonner vie à ton projet !

Bonne continuation !

#24 — rabatjoie2015

il y a quelques jours j'ai aidé un couple de personne âgées qui viennent d'être piratés en partie grâce à votre travail. Le pirate a mis en place un NO-IP DUP pour retrouver ses victimes et piloter votre plugin modifié pour le piloter par script afin de générer à leur insu des appel surtaxés. Même si la démarche est louable, le résultat est moins glorieux, la liberté des uns s'arrête chez les autres.

#25 — x0r

Je suis d'accord que toute invention ou découverte est à double tranchant. Mais étant donné que siproxd_orange simule un cas d'utilisation normale (et tout comme les applications officielles, il y avait besoin de se connecter depuis une connexion Orange et de saisir ses identifiants mail Orange pour pouvoir accéder au service), je ne crois vraiment pas avoir beaucoup rendu service à d'éventuels attaquants. Ensuite, rien n'empêche _a priori_ de saisir les identifiants de quelqu'un d'autre pour passer des appels en son nom, mais encore faut-il les compromettre.

Vous dites que le « résultat est moins glorieux », mais j'ai surtout reçu des témoignages de clients lésés par l'immobilisme d'Orange et pour qui siproxd_orange leur était indispensable pour moult raisons. La vie est trop complexe pour se borner à voir les choses en noir et blanc.

Pour finir, on pourrait très bien aussi invoquer le login automatique sur l'espace client (qui est une décision technique d'une stupidité sans nom) et le mot de passe par défaut de l'interface d'administration de la box (où il faut bien chercher pour trouver où le modifier) comme des éléments facilitant les fraudes de ce genre.

C'est comme si j'avais fabriqué un couteau et que vous m'accusiez d'avoir facilité un meurtre.

#26 — Maxime

Je me réveille à l'occasion d'une réinstallation de machine. Je suis abasourdi par autant de stupidité de la part d'Orange. Ceci d'autant que d'autres opérateurs (Free en tête) permettent d'utiliser le protocole SIP pour passer des appels. J'ose imaginer qu'il n'y a donc pas de contre-indications légales ou réglementaires à cela, l'ARCEP s'en serait mêlé sinon.

Je te souhaite plein de courage et j'espère revoir bientôt une solution fonctionner autour de ce super projet. En tous les cas, merci !

#27 — moi

Bonjour,

Ayant acheté une livebox play que je n'utilise plus je "m'amuse" un peu avec celle-ci, je me sert de son port WAN (utilisé pour le FTTH) pour la relier à une machine sous linux hébergeant un serveur PPP, la livebox se croit alors connecté au réseau d'Orange.

Via des outils comme tcpdump il est facile d'espionner le comportement de la box lors de son boot, celle-ci effectue des requêtes en HTTPS, que l'ont peut intercepter en utilisant charly-proxy (je n'ai encore pas pris le temps de le faire mais il est possible de récupérer une copie du firmware, mais OSEF c'est pas le sujet).

En sniffant sur les 4 VLANs qu'utilise la livebox ont peut intercepter tout ce qu'elle fait, ce qui permet de bénéficier de pas mal d'informations sans devoir décompiler les softwares proprio d'Orange, du coup le point de vue légal de la chose peut être vu différemment (a valider).

Je vais me pencher sur la récupération d'une copie du firmware et du maximum de données que je posterai avec grand plaisir sur la toile.

En tout cas, ton analyse risque de fortement m'aider pour la récupération d'info et pourquoi pas (si mon agenda le permet) la création d'un proxy complet.

#28 — Jean-Pierre

J'ai profité de mon déménagement en septembre 2014 pour quitter free pour orange.

J'attendais les résultats de ces recherche pour profiter du SIP chez orange...

J'attends maintenant avec impatience la date de mon retour chez Free.

#29 — Gaduc

Eh, sincèrement, t'es con. Ton code tu le fais publier par quelqu'un d'autre (sur GitHub) tout en le renommant et, accessoirement, tu prétends que tu te l'es fait voler. En outre tu rameutes du monde sur Twitter et FB en cinglant la position antédiluvienne d'Orange. Tu va voir que pour des raisons d'image, Orange va la rabaisser. Et vite fait. Passe-le moi ton code, on va le publier à l'infini sur Torrent, en C, en python, en Shell Script, en PDF, etc. Ça viendra de partout et dans toutes les langues.

Et que fera Orange ? Ben, rien. Face à la déferlante. Toujours compliqué d'aller traîner juridiquement en Russie ou en Chine :)

C'est super classique. Pour des raisons d'avocats payés à ne rien faire et en manque de notoriété, tout grand groupe protège par défaut sa propriété intellectuelle. Là, j'avoue que je suis sec en matière de quoi que ce soit d'intellectuel à protéger. Mais admettons.

Énormément de gens connectent leur Asterisk ou équivalent à leur box. Moi-même je lai fait pendant 9 ans avec Free. Les conf Asterisk pour leur Circpack sont dans tous les forums.

Au pire, tu changes d'opérateur donc. Et tu invites (via les twitter et autres FB de dessus) à en faire pareil. Cdlt,

db

#30 — nsapa est ton ami

@Gaduc : Ce n'est pas ce qui est fait depuis 22 mars ?! Le code est dispo sur une autre plateforme depuis quasi 2 mois

#31 — bobyewing

A côté de ça, toujours pas de loopback sur la livebox malgré de multiple demande et un acces plus que limite en terme de sécurité sur lequel le login est obligatoirement "admin". Bref innovation 0 (et c est pas les multiples essais en domotique, son...qui nous disent le contraire) et securisation pas terrible. Il est passé où le champion français ? Il dort sur ses lauriers.

#32 — Mathis Anonyme

Je vais essayer de me pencher la dessus c'est super intéressent, dommage que les grandes société possède des moyens de ce type ... Bref je vais récupérer le soft de la livebox et apprendre ce que c'est qu'un SIP je n'ai que 14 ans depuis peu donc voila j'aimerai me pencher sur la prog logiciel et pas web comme actuellement (https://pixel-coc.shost.ca) Bref Merci qu'il existent des gens comme ca sur internet ;)

#33 — Mathis Anonyme

Je viens de voir la soluce merci ca m'aide.

#34 — Orangette

Bonjour,

N'allez pas croire x0r que tous, au sein d'Orange, partagent le choix de la société quant à la manière de vous féliciter sur le résultat de vos travaux. Certains ont l'esprit bug bounty, d'autres l'esprit "juridique". Accessoirement : https://orange.jobs/jobs/offer.do?do=fiche&id=46707 (après tout, vous avez fait preuve de vos capacités).

#35 — GG

;) recruter pour faire taire ;) (offre non visible, si l'offre vaut le coup tant mieux pour x0r)

#36 — seb18

#31 — bobyewing le 15 mai 2015 à 18:04

A côté de ça, toujours pas de loopback sur la livebox

Pour info le loopback fonctionne mais sur LIVEBOX PRO V3 dans les paramétrage DNS.

#37 — mcl

Etant chez Free, je fais partie de la myriade de leurs clients chez qui le VDSL fonctionne extrêmement mal depuis mi-mars (7 mois !), ie depuis qu'ils ont mis en place une synchronisation adaptative.

La Freebox fait varier les débits auxquels elle synchronise, en fonction de la marge de bruit ; sauf qu'elle le fait si mal que je perds des paquets jusque par dizaines de milliers à la seconde, sans la moindre raison apparente ; seule une déconnexion forcée permettant de revenir dans les clous pendant quelques heures : un comble, pour quelque chose visant à ne pas avoir besoin d'attendre la prochaine déconnexion pour adapter le débit aux aléas de la ligne.

Ceux qui ont testé en remplaçant la Freebox par un modem tiers semblent ne plus avoir de problème... si ce n'est qu'en faisant ça, on perd la TV, puisque la Freebox semble servir de chien de garde à l'industrie du monopole sur les idées. Mais avec le SIP, au moins, on garde le téléphone.

Ceux qui sont partis chez Orange semblent ne plus avoir de problème non plus (tout a démarré suite au firmware 3.1.1 de la Freebox, implémentant cette synchro adaptativement très foireuse). Je me suis même laissé dire qu'il n'y aurait pas besoin de la Livebox chez Orange pour utiliser leur boîtier TV.

Ah ! Mais par contre, pas de SIP chez Orange. Ce serait trop bien, voyons. Obligé de faire porter mon numéro ailleurs si je migre chez eux...

Bravo, la France ! Des culs de jattes se la disputent à des aveugles... et quand quelqu'un se démène pour mettre au point quelque prothèse, on lui tombe sur le rable. Ras le derche, de ce pays : quoi qu'il y ait d'un peu bien, on ne peut pas s'empêcher de le pourrir jusque la moëlle. Vraiment, ras, ras, plus que ras...

#38 — Intertoxx

Si quelqu'un aurais la gentillesse de poster le fameux lien de la dernière version fonctionnel qui a été repris merci ;-)

#39 — trash-anger

:'(

#40 — al

Ca fait bien chier des pieds ! Au moment où je fini de me monter mon routeur maison (FreeBSD inside) afin de dégager la livebox, je tombe sur la dernière pierre qui me gene : SIP !

Je tombe sur les anciens articles et impossible de télécharger ce petit plugin jusqu'à ce que je tombe sur ce dernier billet...

Vraiment dommage mais je comprends aussi ce problème (à la con) des lois...

Merci, même si je n'ai pas pu en profiter, d'avoir bosser là dessus :)

al.

#41 — lionel

Avec IPPI.com je n'ai plus à me faire mal à la tête et cela fonctionne super bien.

#42 — The BLION Corp.

mcl : ma configuration pour la télé sans LIvebox fonctionne presque au poil (juste les règles QoS qui sautent quand la connexion revient après une coupure)

Par contre, grande surprise, je n'arrive plus à utiliser le SIP ce soir, malgré siproxd_orange. Ils ont touché quleque chose, mais je n'ai pas encore réussi à savoir qoi :(

#43 — G-Rom

Hello, @The Blion, Est ce que le plugin refonctionne depuis ?

#44 — sebastien

et l'idée d'une association pour avoir un fusible ?

et défendre les droits à l’interopérabilité ?

Poster un commentaire