1

Question aux libristes : qu'est-ce que ça vous inspire, http://www.cs.cmu.edu/~dbrumley/pubs/apeg.pdf ?

Pour résumer, ils analysent automatiquement des patchs qui corrigent une vulnérabilité pour en extraire un exploit disponible qques minutes après la publication du patch. Ils ne parlent pas de logiciel propriétaire vs libre (c'est une approche qui marche actuellement sur les deux), mais le logiciel propriétaire a une solution "simple" pour casser cette attaque : l'obfuscation. Le problème c'est qu'un logiciel libre doit distribuer le code source dans la "preferred form of the work for making modifications to it", donc il n'a aucun moyen d'éviter ça... Est-ce que ce sera le prochain argument de MS contre le logiciel libre ? grin (on pourrait aussi imaginer qu'un logiciel sous double licence comme Qt choisirait de corriger d'abord la version propriétaire et puis plus tard seulement la version libre)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

2

Heu... Ce papier ne parle que de logiciels patchés à l'état binaire. Ils ne parlent pas de code source (en première lecture rapide).
Donc je ne vois pas le débat logiciel libre vs logiciel propriétaire, puisqu'ils ont juste besoin du binaire (et ils prennent comme exemple, les patchs fournis par windows update).
Je dirais même plus. Ce papier montre que l'obfuscation ne marche absolument pas !

3

PpHd (./2) :
Heu... Ce papier ne parle que de logiciels patchés à l'état binaire. Ils ne parlent pas de code source (en première lecture rapide).
Donc je ne vois pas le débat logiciel libre vs logiciel propriétaire, puisqu'ils ont juste besoin du binaire (et ils prennent comme exemple, les patchs fournis par windows update).

Ben c'est bien ce que je dis, ils n'en parlent pas, et "c'est une approche qui marche actuellement sur les deux". Mais en fait, la solution consistant à obfusquer le binaire ne marche qu'avec un logiciel propriétaire comme Windows ; pour un logiciel libre on pourra quoi qu'il arrive recompiler le nouveau code non obfusqué et donc en tirer un joli exploit... Donc il y a bien une différence fondamentale, même s'ils ne la soulignent pas (je pense que s'ils n'en parlent pas, c'est avant tout parce que pour eux il n'y a que Windows qui compte).
PpHd (./2) :
Je dirais même plus. Ce papier montre que l'obfuscation ne marche absolument pas !

confus (par obfuscation j'entends "transformation non triviale du programme qui préserve la sémantique", pas sécurité par l'obscurité, hein)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

4

et ca marche (mais pas lgtps) smile

5

En même temps on a d'un côté les logiciels propriétaires, en particulier Windows, qui sont mis à jour assez rarement ou qui ne disposent pas de système de gestion de paquets permettant de mettre à jour régulièrement et facilement l'ensemble des logiciels, donc qui sont assez susceptibles de se faire emmerder par la technique présentée par ton papier (sauf bien sûr s'ils font de l'obfuscation).
Et d'un autre côté les logiciels libres qui disposent souvent d'un système de gestion de paquets (en tout cas sur ceux que je connais c'est le cas), où il est encouragé de mettre à jour régulièrement le système pour bénéficier des correctifs de failles de sécurité, du coup les pirates auraient certainement peu de temps pour exploiter les failles entre le moment où les maj seraient publiées et le moment où l'utilisateur ferait la maj.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

6

Pollux (./3) :
confus.gif (par obfuscation j'entends "transformation non triviale du programme qui préserve la sémantique", pas sécurité par l'obscurité, hein)


Donne moi des exemples concrets, parce que je ne vois pas d'obfuscation qui marcherait en binaire mais pas en source.

7

Sasume (./5) :
en particulier Windows, qui sont mis à jour assez rarement

Tu trouves que Windows n'est pas mis souvent à jour ? O_o
En mises à jours auto de base, la quantité est effectivement faible ; mais en quantité de mises à jours, c'est assez hallucinant (si tu travailles dans un environnement avec un serveur WSUS et que tu imposes toutes les mises à jour, ça devient même parfois particulièrement chiants parce que, contrairement aux mises à jours Linux, le redémarrage est souvent indispensable x_x).
Et il ne faut pas oublier que Microsoft a une politique de "mises à jours cumulées" qui permet de faire baisser le nombre visible de mises à jours.
avatar

8

Peut-être que je ne connais pas assez bien Windows alors. Il me semble que les mises à jour sont proposées tous les quelques mois seulement, non ? (et effectivement à chaque fois il y en a un paquet)
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

Sur winupdate je crois que les mises à jour sont disponibles tous les mardis.
D'ailleurs je viens d'aller voir, et le SP3 m'attend.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

10

mardi toutes les deux semaine je crois. et ca a ete ralenti (pour des raisons de tests je crois), avant c'etait plus que ca...

11

Ah, bah j'ai rien dit alors.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

12

C'est pas tous les mois (un mardi) ?

13

Si : http://en.wikipedia.org/wiki/Patch_Tuesday
PpHd (./6) :
Pollux (./3) :
confus.gif (par obfuscation j'entends "transformation non triviale du programme qui préserve la sémantique", pas sécurité par l'obscurité, hein)


Donne moi des exemples concrets, parce que je ne vois pas d'obfuscation qui marcherait en binaire mais pas en source.

Le source que tu obtiendrais avec une obfuscation n'est pas du tout la forme préférée pour l'édition du code source, donc ça ne répond pas aux exigences de code source d'une licence copyleft. Ca ressemblerait plus à un "binaire portable" qu'à un code source, en fait...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

14

Pollux (./13) :
Le source que tu obtiendrais avec une obfuscation n'est pas du tout la forme préférée pour l'édition du code source, donc ça ne répond pas aux exigences de code source d'une licence copyleft. Ca ressemblerait plus à un "binaire portable" qu'à un code source, en fait...


Ce n'est pas très concret tout çà...

15

La GPL interdit effectivement les sources obfusquées (cf. la définition des sources en tant que "preferred form for modification"). Et c'est une bonne chose. À mort les "sources" obfusquées qui ne sont pas les vraies sources!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

À mort les hérétiques!
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

17

ben à moins qu'on développe directement en obfusqué (qui a dit en lisp ? embarrassed )
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

18

Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

19

mouaif... encore une refonte d'un brainf*ck lambda...

http://esolangs.org/wiki/Language_list
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

20

Très différent d'un brainfuck classique en ce que c'est un langage fonctionnel, et ça change pas mal les choses niveau obfuscation cheeky
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

21

mouaif quand même, je préfère les langages qui jouent avec l'espace tongue
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

22

PpHd (./14) :
Pollux (./13) :
Le source que tu obtiendrais avec une obfuscation n'est pas du tout la forme préférée pour l'édition du code source, donc ça ne répond pas aux exigences de code source d'une licence copyleft. Ca ressemblerait plus à un "binaire portable" qu'à un code source, en fait...


Ce n'est pas très concret tout çà...

Essaye de distribuer une version modifiée du noyau Linux en la faisant passer après par un obfuscateur digne de ce nom (assez puissant pour que ça soit quasiment infaisable d'éditer la version obfusquée à la main), on va voir si ça reste "pas très concret" quand tu seras convoqué au procès hehe
Bref, c'est clairement pas une solution d'avenir qui résoudrait les problèmes de sécurité que j'ai évoqués -- et quoi qu'il en soit c'est contraire à l'esprit du libre.


Hippo> bof, c'est pas très compliqué l'unlambda cheeky

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

23

Pollux (./22) :

Essaye de distribuer une version modifiée du noyau Linux en la faisant passer après par un obfuscateur digne de ce nom (assez puissant pour que ça soit quasiment infaisable d'éditer la version obfusquée à la main), on va voir si ça reste "pas très concret" quand tu seras convoqué au procès hehe.gif


Mais concrétement ?

24

Concrètement quoi ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

25

26

Pff tu sais vraiment pas t'exprimer :/ Qu'est-ce que tu veux ? La preuve que c'est contraire à la GPL ? La preuve que c'est techniquement possible ? La preuve que c'est déjà arrivé historiquement ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

27

Je crois qu'au départ il voulait la preuve qu'il est possible de contrer l'exploiteur de vulnérabilités par l'obfuscation (sans quoi l'inconvénient que tu vois au logiciel libre n'existe pas), mais je ne suis pas sûr d'avoir bien compris moi non plus cheeky

Ou alors peut-être qu'il dit qu'on peut écrire un truc qui génère un binaire obfusqué sans devoir pour cela obfusquer le code source ?
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

28

Sally (./27) :
la preuve qu'il est possible de contrer l'exploiteur de vulnérabilités par l'obfuscation

Ben déjà c'est pas moi qui en parle mais les auteurs de l'article ; et de fait, leur exploiteur de vulnérabilités est vulnérable à n'importe quelle obfuscation, même triviale ; évidemment on peut faire un exploiteur plus résistant, mais pour une obfuscation non triviale ça devient très compliqué de réussir à faire la correspondance entre les deux binaires : même pour du code très simple (électronique embarquée) c'est difficile de faire le lien entre code source et binaire compilé dès que le compilo fait des optimisations (et c'est précisément pour ça qu'on désactive toujours les optimisations pour les applications critiques), alors faire le lien entre deux traductions binaires complètement arbitraires d'un même code c'est même pas la peine d'y penser...
Ou alors peut-être qu'il dit qu'on peut écrire un truc qui génère un binaire obfusqué sans devoir pour cela obfusquer le code source ?

Ca ne tient pas, certes il peut y avoir des obfuscations asm qui changent les instructions pour avoir du code qui ne serait généré par aucun compilo mais ça doit pas être très compliqué de s'en débarrasser quand on veut déobfusquer, parce que ça n'ajoute aucune information. Les obfuscations les plus intéressantes sont celles générables par un compilo, et donc qui correspondent à un code source : ça ne sera pas un code source modulaire du tout et ce sera de plus bas niveau (il dépendra des offsets de tels membres de telle structure interne), mais c'est ce qu'on veut (si c'est modulaire ou de haut niveau on peut facilement patcher le code). Après bien entendu, ça peut être plus facile à implémenter ou un chouilla plus rapide à exécuter de faire un obfuscateur binaire, mais c'est pas fondamentalement différent d'un obfuscateur de code source.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

29

Il suffit de soumettre des patches qui, en plus de corriger les vulnérabilités, changent un peu la logique du code sans pour autant l'obfusquer smile
avatar
I'm on a boat motherfucker, don't you ever forget

30

tiens, ça pourrait plaire au NWO ça dehors