Planet

(par J. Daemen)

Les slides sont dispo ici

L'orateur, Joan Daemen, est un peu une des stars de la crypto aujourd'hui. Il a (attention les yeux) remporté 2 fois les défis du NIST (l'organisme américain qui gère les standards en technologie, notamment en crypto). Le monsieur a donc participé a l'élaboration du protocole AES, et à celui de Keccak, mieux connu sous le nom de SHA-3.

Sa présentation d'une heure, en anglais, a été plutôt difficile à suivre puisqu'il avait un accent un peu spécial et qu'on ne le comprennait pas tellement avec le micro. Malgré tout j'ai pu suivre grâce aux slides, et il a retracé l'ensemble des évolutions de la cryto symétrique, depuis le DES jusqu'aux algorithmes qu'il a participé à écrire.

J'aurai surtout retenu que pour faire de bons protocoles il faut :

  • Essayer beaucoup d'idées
  • Jeter la plupart d'entre elles
  • Garder les bonnes
  • Avoir dans l'équipe des gens qui vont collaborer et surtout confronter leurs idées pour améliorer les choses

Son avant dernière diapo était également très bonne. Il y expliquait les lignes directrices utilisées pour développer leurs algos (applicables à un peu tous les projets ;) ) :

  • Ré-écrire et ré-organiser le code plutôt que le patcher
  • Privilégier la simplicité à la complexité
  • Être motivés par le résultat plutôt que par les papiers scientifiques.

Des infos sur ce sur quoi il travaille sont dispos à http://sponge.noekeon.org et http://keccak.noekeon.org

05 Juin 2013 à 20:00

SSTIC 2013 Jour #1 via Quack1

Aujourd'hui a débuté la 11ème édition du SSTIC 2013. L'évènement a débuté à 9h ce matin par la validation de mon inscription, et la réception du petit goodies bag, plutôt léger (un MISC Mag., un autocollant SSTIC 2013, un livre contenant l'ensemble des whitepapers, et un porte-badge SSTIC).

C'était pas moins de 10 conférences que nous avons pu voir aujourd'hui. Je vais faire un petit résumé de chacune, soit ici, soit dans un article séparé si j'ai trop de choses à dire ;-)

Innovations en crypto symétrique (par J. Daemen) Mise a plat de graphes de flot de contrôle et exécution symbolique (par E. Vanderbéken)

Slides

J'ai un peu moins compris cette conf' parce que c'est un peu moins ce qui m'intéresse, mais je vais essayer de dire les choses simplement.

Un programme peut être représenté comme un graphe, qui donne les liens et la suite d'exécution entre chaque portion de code. Sauf que pour masquer les malware, des packers vont modifier le binaire pour brouiller les liens jusqu'à rendre le code incompréhensible.

Le but de la conférence est de montrer une technique qui permet de débrouiller le code en remettant à plat le graphe de flot selon des nouvelles techniques d'analyse du code.

Polyglottes binaires et implications (par A. Albertini)

Slides

J'ai adoré cette présentation, même si je ne pourrais pas tout détailler ici.

Le but est de montrer qu'il est possible de créer un fichier d'un type donné (ici un pdf) et d'incorporer dans ce fichier des portions de code PE (format d'exécutable Windows), d'Html, de code Java, etc... Et tout ceci en ayant un fichier final valide.

Pour plus de détail (ce serait trop long ici), voir le site de l'auteur corkami.com ou pour le PDF version Linux ici

Pire, on peut créer un fichier PDF qui s'affichera différement suivant le lecteur utilisé, à cause du laxisme de chacun d'entre eux.

Chrome, c'est n'importe quoi,Sumatra c'est n'importe quoi, Adobe c'est n'importe quoi, mais en moins pire

Recompilation dynamique de codes binaires hostiles (par S. Josse)

Là encore je n'ai pas tout compris, mais en gros le but est d'avoir un logiciel qui est capable d'unpacker, analyser et comprendre automatiquement le fonctionnement d'un malware, puis de ré-écrire le binaire pour l'exécuter dans un environnement virtualisé (QEMU).

Présentations courtes Compromission d'un terminal sécurisé via l'interface carte à puces (par G. Vinet)

Slides

Une conférence très technique et pointue sur la carte à puce. Malheureusement pas trop mon délire...

Attaques applicatives via périphériques USB modifiés : infection virale et fuite d'informations (par B. Badrignans)

Slides

Cette présentation était très intéressante. On nous a montré ici qu'on pouvait créer un périphérique USB custom qui se fait passer pour autre chose que ce qu'il est réellement. Par exemple, un clavier USB qui contient un petit disque USB non visible avec un malware. Le clavier va donc ensuite pouvoir taper une commande sur l'OS pour executer le malware qu'il contient dès son branchement.

Red October (par N. Brulez)

Slides

Nicolas Brulez, Principal Malware Researcher chez Kaspersky Labs est revenu sur Red October, l'attaque par malware survenue entre 2007 et 2013 sur de nombreux systèmes diplomatiques ou gouvernementaux internationaux.

De nombreux articles sur le sujet sont disponibles sur le Net, j'aurais retenu que les attaques commençaient par du physique et des attaques (très connues, pas de 0 day) sur des fichiers Word ou Excel. Les malwares contenaient de nombreux modules permettant d'infecter des mobiles, de récupérer des mots de passe, des infos sur les routeurs Cisco, ...

Je retiendrais enfin les techniques utilisées par Kaspersky pour obtenir des infos sur les serveurs C&C ou les malwares. Les attaquants avaient fait des fautes de frappes dans les noms de domaine qu'ils avaient enregistrés pour être contacté par les malwares, ou tout simplement qu'ils n'avaient pas été renouvelés. Ils ont ainsi pu ré-acheter ces NDD pour obtenir des informations sur les données et requêtes que les virus clients envoyaient aux serveurs.

Plutôt que de prendre des photos de loin avec mon téléphone, j'ai réussi à récupérer les images présentées dans les slides sur l'infra de Red October et ses principales victimes.

L'embarqué entre confiance et défiance (par A. Francillon)

Slides

La conférence était un peu confuse, mais ça m'a permis de voir que sur à peu près tous les périphériques embarqués (tels que des puces 3G, des puces de disques dur ou même de clé de voiture sans contact) n'étaient pas très sécurisés et qu'avec quelques manips on pouvait modifier le firmware installé ou simplement bypasser les protections (non existantes bien souvent).

J'aurais aussi retenu un autre conseil : si vous voulez faire du Hack/DIY, courez acheter du scotch!

 

J'ai profité de la soirée sur Rennes pour voir des potes, boire quelques bières en terrasse, manger une galette ou deux et boire quelques bières avant d'attaquer la deuxième journée

05 Juin 2013 à 20:00

SSTIC 2013 Jour #1 via Quack1

Aujourd'hui a débuté la 11ème édition du SSTIC 2013. L'évènement a débuté à 9h ce matin par la validation de mon inscription, et la réception du petit goodies bag, plutôt léger (un MISC Mag., un autocollant SSTIC 2013, un livre contenant l'ensemble des whitepapers, et un porte-badge SSTIC).

C'était pas moins de 10 conférences que nous avons pu voir aujourd'hui. Je vais faire un petit résumé de chacune, soit ici, soit dans un article séparé si j'ai trop de choses à dire ;-)

Innovations en crypto symétrique (par J. Daemen) Mise a plat de graphes de flot de contrôle et exécution symbolique (par E. Vanderbéken)

Slides

J'ai un peu moins compris cette conf' parce que c'est un peu moins ce qui m'intéresse, mais je vais essayer de dire les choses simplement.

Un programme peut être représenté comme un graphe, qui donne les liens et la suite d'exécution entre chaque portion de code. Sauf que pour masquer les malware, des packers vont modifier le binaire pour brouiller les liens jusqu'à rendre le code incompréhensible.

Le but de la conférence est de montrer une technique qui permet de débrouiller le code en remettant à plat le graphe de flot selon des nouvelles techniques d'analyse du code.

Polyglottes binaires et implications (par A. Albertini)

Slides

J'ai adoré cette présentation, même si je ne pourrais pas tout détailler ici.

Le but est de montrer qu'il est possible de créer un fichier d'un type donné (ici un pdf) et d'incorporer dans ce fichier des portions de code PE (format d'exécutable Windows), d'Html, de code Java, etc... Et tout ceci en ayant un fichier final valide.

Pour plus de détail (ce serait trop long ici), voir le site de l'auteur corkami.com ou pour le PDF version Linux ici

Pire, on peut créer un fichier PDF qui s'affichera différement suivant le lecteur utilisé, à cause du laxisme de chacun d'entre eux.

Chrome, c'est n'importe quoi,Sumatra c'est n'importe quoi, Adobe c'est n'importe quoi, mais en moins pire

Recompilation dynamique de codes binaires hostiles (par S. Josse)

Là encore je n'ai pas tout compris, mais en gros le but est d'avoir un logiciel qui est capable d'unpacker, analyser et comprendre automatiquement le fonctionnement d'un malware, puis de ré-écrire le binaire pour l'exécuter dans un environnement virtualisé (QEMU).

Présentations courtes Compromission d'un terminal sécurisé via l'interface carte à puces (par G. Vinet)

Slides

Une conférence très technique et pointue sur la carte à puce. Malheureusement pas trop mon délire...

Attaques applicatives via périphériques USB modifiés : infection virale et fuite d'informations (par B. Badrignans)

Slides

Cette présentation était très intéressante. On nous a montré ici qu'on pouvait créer un périphérique USB custom qui se fait passer pour autre chose que ce qu'il est réellement. Par exemple, un clavier USB qui contient un petit disque USB non visible avec un malware. Le clavier va donc ensuite pouvoir taper une commande sur l'OS pour executer le malware qu'il contient dès son branchement.

Red October (par N. Brulez)

Slides

Nicolas Brulez, Principal Malware Researcher chez Kaspersky Labs est revenu sur Red October, l'attaque par malware survenue entre 2007 et 2013 sur de nombreux systèmes diplomatiques ou gouvernementaux internationaux.

De nombreux articles sur le sujet sont disponibles sur le Net, j'aurais retenu que les attaques commençaient par du physique et des attaques (très connues, pas de 0 day) sur des fichiers Word ou Excel. Les malwares contenaient de nombreux modules permettant d'infecter des mobiles, de récupérer des mots de passe, des infos sur les routeurs Cisco, ...

Je retiendrais enfin les techniques utilisées par Kaspersky pour obtenir des infos sur les serveurs C&C ou les malwares. Les attaquants avaient fait des fautes de frappes dans les noms de domaine qu'ils avaient enregistrés pour être contacté par les malwares, ou tout simplement qu'ils n'avaient pas été renouvelés. Ils ont ainsi pu ré-acheter ces NDD pour obtenir des informations sur les données et requêtes que les virus clients envoyaient aux serveurs.

Plutôt que de prendre des photos de loin avec mon téléphone, j'ai réussi à récupérer les images présentées dans les slides sur l'infra de Red October et ses principales victimes.

L'embarqué entre confiance et défiance (par A. Francillon)

Slides

La conférence était un peu confuse, mais ça m'a permis de voir que sur à peu près tous les périphériques embarqués (tels que des puces 3G, des puces de disques dur ou même de clé de voiture sans contact) n'étaient pas très sécurisés et qu'avec quelques manips on pouvait modifier le firmware installé ou simplement bypasser les protections (non existantes bien souvent).

J'aurais aussi retenu un autre conseil : si vous voulez faire du Hack/DIY, courez acheter du scotch!

 

J'ai profité de la soirée sur Rennes pour voir des potes, boire quelques bières en terrasse, manger une galette ou deux et boire quelques bières avant d'attaquer la deuxième journée

04 Juin 2013 à 21:33

SSTIC 2013 : Me voilà! via Quack1

 

Cette année, j'ai la chance de pouvoir assister, plus ou moins dans le cadre de mon stage, au #SSTIC, une des plus anciennes et une des plus grandes conférences de matière de Sécurité Informatique en France.

Malgré que les places se soient arrachées très rapidement, j'ai pu (merci ma touche [F5]) a décroché un fabuleux sésame pour y participer.

Cette conférence se déroule à Rennes tous les ans depuis un peu plus d'une dizaine d'années maintenant et réuni des conférenciers de très bon niveau durant 3 jours, et je me ferais un plaisir de vous live-tweeter le tout sur mon compte Twitter et au travers de résumés journaliers le soir sur ce blog. Stay Tuned !!

Liens directs

 

Pour les lecteurs du Planet-Libre, je dois reconnaitre que cet article (et les suivants concernant le SSTIC) ne sont pas totalement dans l'optique du libre, mais je pense que cela peut être intéressant pour ces lecteurs d'avoir accès à des retours sur ce genre de manifestation.

04 Juin 2013 à 21:33

SSTIC 2013 : Me voilà! via Quack1

 

Cette année, j'ai la chance de pouvoir assister, plus ou moins dans le cadre de mon stage, au #SSTIC, une des plus anciennes et une des plus grandes conférences de matière de Sécurité Informatique en France.

Malgré que les places se soient arrachées très rapidement, j'ai pu (merci ma touche [F5]) a décroché un fabuleux sésame pour y participer.

Cette conférence se déroule à Rennes tous les ans depuis un peu plus d'une dizaine d'années maintenant et réuni des conférenciers de très bon niveau durant 3 jours, et je me ferais un plaisir de vous live-tweeter le tout sur mon compte Twitter et au travers de résumés journaliers le soir sur ce blog. Stay Tuned !!

Liens directs

 

Pour les lecteurs du Planet-Libre, je dois reconnaitre que cet article (et les suivants concernant le SSTIC) ne sont pas totalement dans l'optique du libre, mais je pense que cela peut être intéressant pour ces lecteurs d'avoir accès à des retours sur ce genre de manifestation.

04 Juin 2013 à 18:10

En Vrac' #2 via Quack1

Je suis actuellement dans le train à destination de Rennes pour le #SSTIC et j'aurais sûrement des tas de choses à partager en rentrant, donc voici mes derniers liens En Vrac' que je partage avec vous avant d'arriver!

  • Compfight[en], un outil en ligne qui permet de rechercher des photos sous licence Creative Commons sur Flickr
  • C'est un peu vieux, mais je trouve ça toujours aussi fascinant, un robot à base d'Arduino[en + clip] qui joue de la basse, exemple en vidéo avec l'excellent Hysteria de Muse
  • Un article découvert il y a peu qui donne 7 raisons de chosir Firefox [en]. Si j'avais du temps, j'aurais du le rajouter en lien à mon article sur Ubuntu et le passage de Firefox à Chromium
  • Mark Shuttleworth annonce que "oui, en effet" [en], Canonical est en discussion avec des grands constructeurs comme LG ou Samsung pour commercialiser un Ubuntu Touch en Europe.
  • Des petits curieux ont démontré, au moyen de 2 recherches sur GitHub, qu'il était possible de trouver des failles Web [fr] dans des projets Web open-sources. Je trouve ça assez balaise, même si les techniques sont déjà utilisées, je pense, dans des analyseurs de code statiques qui recherchent les vulnérabilités. Évidemment ça remonte beaucoup de faux-positifs, mais ça permet d'avoir un petit aperçu du niveau de sécurité des applications sur GitHub.
  • Beaucoup de sites et autres blogs en ont parlé, Foxconn, ex-sous-traitant pour Apple, va collaborer avec Mozilla pour fabriquer des smartphones et/ou des tablettes [fr] propulsés par Firefox OS. Malgré que l'offre en terme d'article soit très important, j'ai préféré choisir un article de BFMTV, parce que je pense que ça peut être très bénéfique pour Mozilla et Firefox OS d'avoir une couverture médiatique par un média de cette taille.
  • Fini la limite de 5 écoutes par chanson, on peut désormais écouter un titre autant de fois qu'on le souhaite sur Spotify [fr]. Suck it Pascal Nègre, l'accès à la culture légalement et gratuitement pour l'utilisateur s'améliore de plus en plus.
  • Jocly, le site de jeux en ligne dont j'ai déjà parlé sur ce blog, sous la plume de @jcfrog, a publié aujourd'hui un très bon article sur l'intelligence artificielle qu'ils ont développé pour l'IA de Jocly [fr]. Je dois avouer que je suis bluffé par la simplicité avec laquelle ils ont expliqué ça, tout en donnant des informations très précises. Comme je l'ai dit sur Twitter, si j'avais pu avoir cet article de blog l'année dernière lors de mes projes de développement en IA, j'aurais eu de bien meilleures notes!
  • La semaine dernière (ou celle d'avant...) se tenait à Toulouse le THSF, un rassemblement de Hackers, libristes, DIY_-ers_ et consorts. Au cours de ce festival, Benjamin Bayart et Jérémie Zimmermann ont donné une mini conférence [fr] à laquelle je ne pourrais pas donner de titre puisqu'eux même n'en avait pas tellement. Ça parle d'un peut de tout ce qu'ils connaissent, à savoir les réseaux, l'Internet associatif, la liberté sur le Net, etc. Même si c'est un peu brouillon et que ça ressemble plus à une discussion entre les deux, au final on y retrouve des choses plutôt intéressantes dans l'ensemble.
  • Enfin, Sam de Sam&Max présente son environnement de travail sous Ubuntu [fr]. Il m'a donné envie de faire un article semblable, mais plus je lisait l'article, plus je me rendais compte que j'utilisait sensiblement les mêmes logiciels que lui (même si j'en ai également découvert certaines en lisant l'article). Dans les différences, on peut simplement noter que j'utilise la dernière release stable d'Ubuntu (la 13.04) au lieu de la LTS, Feedly au lieu de Liferea, Hotot au lieu de Qwit, Xnoise à la place de Rhythmbox, Terminator en lieu et place de Guake, et sinon j'utilise également Getting Things Done, Shutter et SSH Menu.
04 Juin 2013 à 18:10

En Vrac' #2 via Quack1

Je suis actuellement dans le train à destination de Rennes pour le #SSTIC et j'aurais sûrement des tas de choses à partager en rentrant, donc voici mes derniers liens En Vrac' que je partage avec vous avant d'arriver!

  • Compfight[en], un outil en ligne qui permet de rechercher des photos sous licence Creative Commons sur Flickr
  • C'est un peu vieux, mais je trouve ça toujours aussi fascinant, un robot à base d'Arduino[en + clip] qui joue de la basse, exemple en vidéo avec l'excellent Hysteria de Muse
  • Un article découvert il y a peu qui donne 7 raisons de chosir Firefox [en]. Si j'avais du temps, j'aurais du le rajouter en lien à mon article sur Ubuntu et le passage de Firefox à Chromium
  • Mark Shuttleworth annonce que "oui, en effet" [en], Canonical est en discussion avec des grands constructeurs comme LG ou Samsung pour commercialiser un Ubuntu Touch en Europe.
  • Des petits curieux ont démontré, au moyen de 2 recherches sur GitHub, qu'il était possible de trouver des failles Web [fr] dans des projets Web open-sources. Je trouve ça assez balaise, même si les techniques sont déjà utilisées, je pense, dans des analyseurs de code statiques qui recherchent les vulnérabilités. Évidemment ça remonte beaucoup de faux-positifs, mais ça permet d'avoir un petit aperçu du niveau de sécurité des applications sur GitHub.
  • Beaucoup de sites et autres blogs en ont parlé, Foxconn, ex-sous-traitant pour Apple, va collaborer avec Mozilla pour fabriquer des smartphones et/ou des tablettes [fr] propulsés par Firefox OS. Malgré que l'offre en terme d'article soit très important, j'ai préféré choisir un article de BFMTV, parce que je pense que ça peut être très bénéfique pour Mozilla et Firefox OS d'avoir une couverture médiatique par un média de cette taille.
  • Fini la limite de 5 écoutes par chanson, on peut désormais écouter un titre autant de fois qu'on le souhaite sur Spotify [fr]. Suck it Pascal Nègre, l'accès à la culture légalement et gratuitement pour l'utilisateur s'améliore de plus en plus.
  • Jocly, le site de jeux en ligne dont j'ai déjà parlé sur ce blog, sous la plume de @jcfrog, a publié aujourd'hui un très bon article sur l'intelligence artificielle qu'ils ont développé pour l'IA de Jocly [fr]. Je dois avouer que je suis bluffé par la simplicité avec laquelle ils ont expliqué ça, tout en donnant des informations très précises. Comme je l'ai dit sur Twitter, si j'avais pu avoir cet article de blog l'année dernière lors de mes projes de développement en IA, j'aurais eu de bien meilleures notes!
  • La semaine dernière (ou celle d'avant...) se tenait à Toulouse le THSF, un rassemblement de Hackers, libristes, DIY_-ers_ et consorts. Au cours de ce festival, Benjamin Bayart et Jérémie Zimmermann ont donné une mini conférence [fr] à laquelle je ne pourrais pas donner de titre puisqu'eux même n'en avait pas tellement. Ça parle d'un peut de tout ce qu'ils connaissent, à savoir les réseaux, l'Internet associatif, la liberté sur le Net, etc. Même si c'est un peu brouillon et que ça ressemble plus à une discussion entre les deux, au final on y retrouve des choses plutôt intéressantes dans l'ensemble.
  • Enfin, Sam de Sam&Max présente son environnement de travail sous Ubuntu [fr]. Il m'a donné envie de faire un article semblable, mais plus je lisait l'article, plus je me rendais compte que j'utilisait sensiblement les mêmes logiciels que lui (même si j'en ai également découvert certaines en lisant l'article). Dans les différences, on peut simplement noter que j'utilise la dernière release stable d'Ubuntu (la 13.04) au lieu de la LTS, Feedly au lieu de Liferea, Hotot au lieu de Qwit, Xnoise à la place de Rhythmbox, Terminator en lieu et place de Guake, et sinon j'utilise également Getting Things Done, Shutter et SSH Menu.
Ouvert le 19 août 2004, soit deux mois avant la publication de la première version finale d'Ubuntu, un premier rapport de bogue dénonçait la monopolisation du marché de l'informatique personnelle entre les mains du géant américain Microsoft. Neuf ans plus tard, Mark Shuttleworth, le fondateur d'Ubuntu, déclare que ce bogue est maintenant corrigé. Une opinion que je ne partage pas.  

Qu'est-ce que le « Bug #1 » ?

Microsoft a une part de marché majoritaire sur le marché des nouveaux ordinateurs de bureau. Ceci est un bogue qu'Ubuntu et d'autres projets visent à corriger. Tel que le déclare la philosophie d'Ubuntu, "Notre travail est conduit par la croyance que les logiciels doivent être libres et accessibles à tous."
Ainsi s'ouvre le texte du « Bug #1 » dans la plateforme de suivi Launchpad. Rempli à la manière d'un vrai rapport de bogue, ce texte décrit une véritable situation problématique de l'écosystème de l'informatique personnelle. Mais plus encore, il est avant tout un emblème, un élément rassembleur de la communauté et un moteur de motivation et d'innovation quant au travail à accomplir autour d'Ubuntu et des logiciels libres. Il décrit les piliers fondateurs d'Ubuntu, à savoir sa philosophie -- Ubuntu est basé sur des logiciels libres, encourage le logiciel libre et sera toujours libre. Il expose les dérives qui se produisent quand un monopole propriétaire s'établit : surveillance, mesures techniques de protection des contenus, enfermement dans des formats incompatibles et fermés, et faible nécessité d'innovation. Bien qu'il mentionne explicitement Microsoft, le rapport ne vise pas particulièrement l'éditeur américain, mais plutôt l'état de quasi-monopole dans laquelle il se trouve. Selon ce rapport, pour rectifier la situation, une majorité d'ordinateurs à la vente devraient être livrés avec uniquement des logiciels libres.  

Le bogue n'est plus, selon Mark Shuttleworth

Le 30 mai 2013, Mark Shuttleworth postait un commentaire à la suite du rapport de bogue indiquant que, selon lui, il était enfin corrigé. Selon son argumentaire, l'informatique personnelle a énormément changé depuis 2004. Aujourd'hui, une place de plus en plus importante est occupée par les téléphones mobiles, les tablettes tactiles, des gadgets portables et divers autres périphériques, et il faudrait plutôt juger le rapport selon cette nouvelle perspective. À ce sujet, il cite une analyse de la firme Goldman Sachs, rapportée par ZDNet. Selon celle-ci, si Microsoft reste dominant dans le domaine des ordinateurs personnels, Apple et Google le dépassent dans le domaine plus large (et plus important) des périphériques informatiques. Alors qu'en 2000 l'ordinateur personnel était le principal outil reliés à Internet, il ne représenterait aujourd'hui plus que 29% des périphériques connectés : les téléphones mobiles et les tablettes occuperaient maintenant à eux seuls 66% du marché, où iOS et Android ont devancé Windows Phone et Windows RT. Passage d'un marché à vendeur unique (MSFT) à un marché de vendeurs multiples (MSFT, AAPL, GOOG et autres) À la lumière de cette analyse, Shuttleworth continuait : "Android n'est peut-être pas mon ni votre premier choix de Linux, mais il est sans aucun doute une plateforme open source qui offre des bénéfices à la fois pratiques et économiques aux utilisateurs et à l'industrie. Donc nous avons à la fois de la compétition et une bonne représentation pour l'open source en informatique personnelle." Même si Ubuntu y a joué seulement un rôle mineur, selon Shuttleworth, il est important de reconnaître ce changement de l'écosystème numérique. Du point de vue d'Ubuntu, le bogue est donc corrigé, car Microsoft n'est plus en position quasi-monopolistique sur le marché large de l'informatique personnelle.  

Un bogue réellement corrigé ?

Selon le Bug #1, pour corriger ce bogue, une majorité d'ordinateurs à la vente devaient être livrés avec uniquement des logiciels libres. Il n'est pas nécessaire que ce logiciel soit Ubuntu, mais la ou les solutions préférées doivent être libres. Peut-on considérer, comme Shuttleworth, que le bogue est corrigé ? À mon avis, pas encore.  

Android : un bon représentant de l'open source ?

Avec ses parts de marché estimées à 42% en 2012 selon le rapport de Goldman Sachs, Android est en tête des systèmes d'exploitation pour périphériques connectés, devant les produits d'Apple (24%) et de Microsoft (20%). On le retrouve certes dans des smartphones et des tablettes, mais aussi des netbooks, des téléviseurs, des caméras, des montres, des lecteurs CD et DVD de voitures, et même un projet Kickstarter de console de jeu vidéo (la Ouya). Une telle versatilité aurait assurément été plus difficile avec une plateforme propriétaire. Mais peut-on considérer Android comme "une bonne représentation de l'open source", pour reprendre les mots de Shuttleworth ? Si l'on se limite aux smartphones et tablettes, la plupart de ceux-ci sont livrés avec une version d'Android personnalisée par des constructeurs à l'aide de code propriétaire. Pensons aux pilotes propriétaires, qui rendent difficile une parfaite compatibilité de projets Android alternatifs comme CyanogenMod et des ROM AOSP. Pensons aussi aux interfaces propriétaires telles Sense, Motoblur et TouchWiz -- ce dernier étant tout un framework, faisant en sorte que certains logiciels de l'Android de Samsung ne peuvent pas fonctionner sur d'autres ROM. Si Android en lui-même est open source, il n'en reste pas moins que ses plus populaires incarnations sont propriétaires.  

L'objet du bogue : les ordinateurs de table

Pour justifier la clôture du bogue, Shuttleworth élargit la cible des périphériques visés. Il est tout à fait vrai que l'écosystème numérique s'est énormément diversifié depuis le début des années 2000, et qu'il devrait être plus juste de considérer cet écosystème dans son ensemble. Cependant, même avec 29% de part de marché, l'ordinateur personnel représente encore une part importante des appareils connectés à Internet. De plus, alors que les smartphones et les tablettes sont davantage des outils de consommation, l'ordinateur demeure la plateforme par excellence en matière de production. À ce titre, une solution libre doit encore tirer son épingle du jeu et entrer en compétition avec Microsoft, qui détient encore une position de roi. Cela dit, des initiatives de plus en plus nombreuses font leur apparition. Des noms comme System76 et ZaReason sont bien connus de certains cercles. Et des entreprises de plus grande envergure, comme ASUS, Lenovo, HP (avec son Pavilion 20) et Dell (avec son XPS 13 et son AlienWare X51), s'intéressent quelque peu à Ubuntu.  

Un rapport qu'il faudrait revoir

Ainsi, je ne partage pas l'avis de Shuttleworth. Je crois qu'il a clos le rapport de bogue trop tôt. Que ce soit en ce concentrant uniquement sur le marché de l'ordinateur personnel ou en ayant une perspective plus générale de l'informatique personnelle englobant les plateformes mobiles, il me semble qu'aucune solution libre n'occupe encore véritablement une place de challenger. L'avenir s'annonce toutefois intéressant. Du côté des plateformes mobiles, Firefox OS, Sailfish et Tizen viendront ajouter davantage de couleur. Et Ubuntu, avec son ambition d'unifier les interfaces mobiles et de bureau, pourrait aussi déranger d'un point de vue d'utilisation bureautique. Plutôt que de marquer le bogue comme étant Fixed (corrigé), Shuttleworth aurait dû remplacer son statut par Won't Fix (ne sera pas corrigé), comme le suggèrent plusieurs personnes. Le rapport concernant le parc des ordinateurs personnels, si Shuttleworth entend recentrer son objectif sur les nouvelles réalités du marché, sur l'ensemble hétéroclite des périphériques informatiques, il devrait plutôt rédiger un nouveau rapport en ce sens. Car de nombreux défis attendent encore les logiciels libres.

Lorsque la distribution GNU/Linux Ubuntu est sortie en 2004, son père fondateur Mark Shuttleworth a signalé lui-même le premier « bug » : Microsoft détient la majorité du marché (Microsoft has a majority market share).

Il s’agissait symboliquement, et avec humour, de montrer le cap à suivre en désignant le principal concurrent.

Aujourd’hui la donne a changé et Shuttleworth a décidé hier de marquer ce bug comme résolu (fix released), quand bien même cela ne signifie pas, loin de là, qu’Ubuntu ait gagné comme il s’en explique ci-dessous.

Remarque : Nous en profitons pour signaler que Framasoft sera présent en masse à l’Ubuntu Party de Paris, avec stand et 3 mini-conférences le samedi 1er juin.


Ubuntu bug#1 Microsoft


Bug #1 : Microsoft détient la majorité du marché

Bug #1 (liberation) : Microsoft has a majority market share

Mark Shuttleworth - 30 mai 2013 - Launchpad Ubuntu
(Traduction : Penguin, Mowee, Cryptie, quack1, @zessx, Asta, misc, MFolschette, Samusz + anonymes)

Aujourd’hui, l’utilisation de l’informatique dans la vie de tous les jours est beaucoup plus importante qu’elle ne l’était en 2004 : les téléphones, tablettes et autres appareils nomades sont devenus une part non négligeable de notre vie numérique. D’un point de vue compétitif, cet édifiant marché est une bénédiction pour la concurrence. Avec notamment iOS et Android, qui tous deux représentent une part significative du marché (Voir Windows en dessous de iOS et Android réunis avec ce graphique.

Android n’est peut-être pas mon premier choix de (noyau) Linux, ni le vôtre, mais c’est sans aucun doute une plateforme open source qui offre des avantages pratiques et économiques aux utilisateurs, comme à l’industrie. Ainsi, nous avons d’un côté de la concurrence et de l’autre une bonne représentation de l‘open source dans l’informatique personnelle.

Même si nous n’avons joué qu’un petit rôle dans ce changement, je pense qu’il est important pour nous de reconnaître qu’il a eu lieu. Du point de vue d’Ubuntu, le bug est maintenant clos.

Évidemment, ce bug a aussi un aspect social. Pour beaucoup, il a fait office de déclaration d’intention. Mais il est préférable pour nous de nous concentrer sur l’excellence de notre propre travail, plutôt que considérer notre impact sur le produit des autres. Depuis les (nombreuses) années que ce bug est référencé, nous avons trouvé comment être excellents dans le cloud, et j’espère que nous trouverons aussi bientôt comment l’être sur les postes de travail des développeurs, et peut-être même sur toute la quantité d’appareils que les utilisateurs réguliers peuvent utiliser. Je préférerais désormais que nous trouvions un cri de ralliement qui célébrerait ces idées et leur management.

Il est important de remarquer que de nos jours, si vous êtes dans le domaine de l’informatique dématérialisée (NdT : cloud computing), l’équipe de service d’infrastructure (NdT : IaaS) de Microsoft est très compétente et travaille dur pour que Linux soit parfaitement supporté par Azure, ce qui rend le travail avec eux très plaisant. Si l’évolution du marché a peut-être joué un rôle dans tout ça, les circonstances ont changé et les institutions se sont adaptées. Nous nous devons donc de le faire aussi.

Cela dit, il est bon de prendre du recul et de visualiser combien tout cela a changé depuis 2004, et à quelle vitesse ! Avec Ubuntu, notre but est de proposer à tous une expérience utilisateur formidable, que ce soit pour les développeurs, pour la production en entreprise ou tout simplement l’utilisateur final. Et tout cela avec un large support de matériel. Nous évoluons dans un environnement dynamique qui ne cesse de changer d’année en année. C’est donc pour cela que nous devons sans arrêt nous remettre en question, que ce soit au niveau de notre façon de faire, nos pratiques, les outils que nous utilisons ainsi que les relations que nous entretenons en interne et en externe. Corriger ce problème n’en est qu’un tout petit exemple.

30 Mai 2013 à 17:40

GIT : squasher des merges via Rom1

gitmerge

Supposons que je souhaite ajouter une fonctionnalité à un projet sur GIT.

Je prends la version actuelle de la branche master (A), puis ajoute sur ma branche topic les commits X et Y.

X---Y topic / --A master

Je propose la fonctionnalité upstream (par un git request-pull ou une pull request), qui met un peu de temps à être revue.

Pendant ce temps, la branche master a avancé, et malheureusement les modifications effectuées entrent en conflit avec mon travail sur topic.

X---Y topic / --A---B---C master

Une fois mon code revu et accepté, les mainteneurs vont alors me demander de résoudre les conflits avec la branche master avant de merger ma branche topic.

Si j’avais eu à prendre en compte les mises à jour de master avant d’avoir rendu public mon topic, j’aurais simplement rebasé mon travail par-dessus master. Mais là, impossible.

Je dois donc merger. Très bien. Je merge et je résous les conflits.

X---Y---M topic / / --A---B---C master

Mais, alors que je n’ai pas encore rendu M public, je m’aperçois qu’il y a un nouveau commit D sur master, que je veux intégrer dans topic.

X---Y---M topic / / --A---B---C---D master

La solution la plus évidente est de merger à nouveau.

X---Y---M---N topic / / / --A---B---C---D master

Mais je voudrais éviter un commit de merge inutile. Pour un seul, ce n’est pas très gênant, mais si on maintient une branche suffisamment longtemps avant qu’elle ne soit mergée, ces commits inutiles vont se multiplier.

Une solution serait de revenir à Y et de le merger avec D :

git checkout topic git reset --hard Y git merge master X---Y---M' topic / \ --A---B---C---D master

Mais dans ce cas, pour créer M', je vais devoir résoudre à nouveau les conflits que j’avais déjà résolu en créant M.

Comment éviter ce problème ?

rerere

Une solution est d’avoir activé rerere avant d’avoir résolu les conflits de M :

git config rerere.enabled true

Ainsi, lorsque je tenterai de merger à nouveau Y et D, les conflits entre Y et C seront automatiquement résolus de la même manière que précédemment.

Cependant, cette méthode a ses inconvénients.

Tout d’abord, il ne s’agit que d’un cache local de résolutions des conflits, stocké pendant une durée déterminée (par défaut à 60 jours pour les conflits résolus), ce qui est peu pratique si on clone son dépôt sur plusieurs machines (les conflits ne seront résolus automatiquement que sur certaines).

Ensuite, elle est inutilisable lorsqu’on souhaite squasher un merge conflictuel alors que rerere était désactivé lors de sa création.

Enfin, cette fonctionnalité est encore récente, et la fonction git rerere forget (pour permettre de résoudre autrement des conflits déjà résolus), a la fâcheuse tendance à segfaulter (un patch a été proposé).

Rebranchement

La solution que j’utilise est donc la suivante.

X---Y---M---N topic / / / --A---B---C---D master

Une fois obtenus les deux merges M et N, le principe est de remplacer le parent de N, qui était M, par Y, sans rien changer d’autre au contenu.

----- / \ X---Y---M N' topic / / / --A---B---C---D master

Ainsi, M devient inatteignable, et c’est exactement le résultat souhaité :

X---Y-------N' topic / / --A---B---C---D master

Pour faire cela, il faut déplacer le HEAD (pointant vers topic) sur Y, faire croire à GIT qu’on est en phase de merge avec D en modifiant la référence MERGE_HEAD, puis commiter :

git checkout N git reset --soft Y git update-ref MERGE_HEAD D git commit -eF <(git log ..N ^D --pretty='# %H%n%s%n%n%b')

Il n’y a plus qu’à éditer le message de commit de merge.

La fin de la ligne du git commit permet de concaténer l’historique des commits intermédiaires (a priori uniquement des merges) comme lors d’un squash avec git rebase (pour pouvoir conserver les messages de merges intermédiaires, contenant nontamment les conflits).

En utilisant les références plutôt que les numéros de commit, cela donne :

git checkout feature git reset --soft HEAD~2 git update-ref MERGE_HEAD master git commit -eF <(git log ..HEAD@{1} ^master --pretty='# %H%n%s%n%n%b')

Si vous avez plus simple, je suis preneur…

Merci aux membres de stackoverflow.

Pages