FI/SP/00

Hacker, hacker, est-ce que j'ai une gueule de hacker ?

Laurent.Kling@epfl.ch, colaborateur au Département d'Architecture

Afin de faciliter l'identification de l'auteur des propos qui vont suivre, je me suis permis de joindre mon portrait [bizarrement, le résultat ressemble à du bruit blanc].

En paraphrasant Arletty, dans Hôtel du Nord, de Marcel Carné (1938), je ne prétends pas répondre à la célèbre réplique d'Arletty à Jouvet, mais donner un éclairage à la thématique qui nous préoccupe. Cette tragédie [ou cette farce?] va se dérouler en trois actes:

Intermède

Le doyen a dit: «Il y a deux catégories d'imbéciles: ceux qui disent: cela est ancien, donc bon, et ceux qui affirment: cela est nouveau, donc meilleur.»
John Brunner, Sur l'onde de choc, p 91

Les pionniers

Je me permets de rappeler quelques éléments historiques, sans lesquels le phénomène hacker n'existerait pas [du moins dans le sens communément admis aujourd'hui].

Dans un premier temps, la genèse, il est nécessaire de mettre en place quelques acteurs de ce drame:

David Hilbert
1862-1943
mathématicien allemand
Kurt Gödel
1906-1978
mathématicien austro-hongrois
Alan Mathison Turing
1912-1954
mathématicien anglais
János Neumann (John von Neumann)
1903-1957
mathématicien hongrois, puis américain
Un procédé de codage de message, Enigma, utilisé par les allemands pendant la Seconde Guerre mondiale

Suite au 2e congrès de mathématiques tenu à Paris en 1900, Hilbert, alors au faîte de sa gloire, propose 21 problèmes représentant, selon son point de vue, les grands domaines de recherche de cette discipline. L'un de ces problèmes consistait [je simplifie], à proposer une théorie de la démonstration ou métamathématique permettant de formaliser une théorie des mathématiques [vaste programme]. Comme réponses à ce problème, en voici deux remarquables:

Un collègue actif dans de nombreux domaines, John von Neumann, remarque le travail de Turing et fait le rapprochement avec ses propres travaux de formalisation.

La montée des périls, puis la 2ème Guerre mondiale font que leurs efforts se concentrent sur la menace que représentent les U-boat sur les lignes d'approvisionnement entre les Etats-Unis et l'Angleterre:

Le modèle mathématique pour l'organisation interne des calculateurs (ou ordinateurs) mis au point par Von Neumann en 1945 permit de définir l'architecture Turing-Von Neumann qui est toujours la base des processeurs actuels.

salle des bombes à Bletchley Park
partie de Colossus

La mise au point des bombes à Bletchley Park pendant la Seconde Guerre mondiale assura à Turing un havre de paix. Du fait de son rôle central dans le projet Enigma, son homosexualité ne posa pas de problème. Cette quiétude ne dura pas dans l'Après-Guerre, le puritanisme post-victorien le persécute [n'oublions pas qu'Orwell dans 1984 ne décrit pas un monde totalitaire futur, mais cette société]. On le condamne à suivre un traitement hormonal destiné à le guérir de ce comportement [une méthode rappelant les épisodes les plus sombres de la psychiatrie où l'on faisait subir des lobotomies aux patients]. L'échappatoire de Turing fut la synthèse de cyanure de potassium par l'intermédiaire d'un équipement ménager commun, selon un procédé inconnu à l'époque, voulant démontrer ainsi la dangerosité de chaque ménagère anglaise. Il en ingurgita un échantillon, un parfait exemple d'humour [noir] anglais. De ces éléments historiques, on retiendra:

Le réseau

Ne désirant pas aborder la naissance d'Internet [car maintenant cela tient de la culture générale], je vais tenter de l'approcher sous la thématique qui nous intéresse. Dans un domaine comme l'informatique où l'union fait la force, la nécessité de disposer de moyens de communication a permis la création des BBS (Bulletin Board System). Ces moyens d'échange d'information peuvent nous paraître archaïques:

Démarrage d'un serveur récent (PC) avec une interface texte

Ces lieux d'échanges furent à mon avis le début d'une prise de conscience d'un phénomène hacker. Les fabricants d'ordinateurs, comprenant le formidable réservoir de ressources humaines et d'expertises que représentaient ces forums, les mirent à leur service en créant des services similaires avec une logique pseudo élitaire de différents niveaux d'accès ! [souvent en relation avec la cotisation devant refléter la qualité des services proposés].

Un artiste, écrivain, auteur de science fiction britannique, John Brunner (1934-1995) a écrit un ouvrage que je qualifie de prémonitoire, Sur l'onde de choc (ShockWawe Ridder, 1975 paru en français en 1977). Ce livre s'inscrivant dans sa tétralogie noire (Tous à Zanzibar, L'orbite déchiquetée, Le Troupeau aveugle et bien sûr, Sur l'onde de choc) décrit une société qui se base sur l'information et sa manipulation [sous toutes ses formes]. Le héros, surdoué de cette société, peut se voir attribuer le titre d'hacker, voire de cracker . Bénéficiant de la faculté de redéfinir son état civil, il nous entraîne dans une analyse sociologique transversale de cette société. Tour à tour il est: créateur d'utopies, conseiller en style de vie, spéculateur delphique, expert saboteur en informatique, rationalisateur-système et homme d'église (la terminologie est de l'auteur).

Cette vision futuriste est digne des plus grands (Jules Verne, Conan Doyle, HG Wells, Philip K Dick, Frank Herbert) et préfigure le new age avec 15 ans d'avance [et également des modes que j'espère ne pas connaître]. Son analyse de la course au cerveau, voire des manipulations des gamètes humains préfigure des débats toujours d'actualité. Mais sa plus grande création reste son héros, créateur de virus informatiques circulant sur le réseau, la couleuvre [N'oublions pas qu'à l'époque où l'auteur a écrit ce livre, Internet en était à ses balbutiements]:

Dans le genre visionnaire, je vous propose comme lecture Crise de Lester del Rey, qui sur la problématique de la sûreté nucléaire a fait preuve d'encore plus de capacité d'anticipation. Cette nouvelle parue en 1942 dans une revue de science-fiction (Astouding Science-Fiction) fut interdite sur un des sites du projet Manhattan (classé top secret), alors qu'elle était disponible dans la ville voisine! Ce genre, souvent assimilé à une littérature de gare avec les attributs s'y rapportant: format de poche, couverture criarde, est en réalité un espace de liberté:

Ce vivier d'inspiration commence à être pris au sérieux, car l'agence spatiale européenne (ESA) a mandaté le musée d'Ailleurs d'Yverdon pour réaliser un inventaire de techniques de projets spatiaux à partir d'ouvrages de science-fiction. Dans le même sens, je peux vous recommander la lecture des ouvrages suivants qui me paraissent pertinents:

L'époque contemporaine

Je me permets de rappeler quelques points de vocabulaire afin de pouvoir les utiliser sans retenue:

Il me paraît primordial de comprendre que chaque outil utilisant un processeur (organisé selon une architecture Turing-Von Neumann) s'exécute en langage machine, celui-ci étant généré par un être humain, (ou pour éviter le problème de l'oeuf et de la poule) au moyen d'un outil développé par l'intelligence humaine. Une certaine catégorie d'humains ne peut résister à l'attrait de l'inconnu et désire comprendre le fonctionnement des outils qu'on lui met à disposition. Dans le cas de l'informatique, il y a des gens qui vont vouloir comprendre comment fonctionne leur programme favori (d'une manière similaire à leur envie de démonter tous les objets usuels [et parfois même à les remonter]).

Disposant des outils adéquats, ils vont donc plonger dans le code (utiliser un débogueur ou un désassembleur) afin d'obtenir un code plus compréhensible qu'un dump hexadécimal.

La compréhension de l'assembleur, est à mon avis, un passage obligé pour tout informaticien !

Connaissant une architecture spécifique, et les outils (assembleur, compilateur de langage) s'y rapportant, ou peut comprendre le travail du concepteur du logiciel.

Utilisation d'un débogueur (MacsBug) pour suivre le fonctionnement d'un désassembleur (MacNosyII)
Transformation de code machine en assembleur [transformation d'une chaîne de caractères]
Vue d'ensemble du désassemblage d'un programme [en l'occurrence, lui-même, encore un problème récursif]

Bravo, vous venez de devenir un hacker...

En fait, vous pouvez vous trouver devant quelques déconvenues comme:

ou dans un esprit constructif:

Ces différentes opérations s'effectuent:

Bien, mais c'est la face obscure qui vous intéresse [admirateur de StarWars?]

Vous voulez devenir un cracker! [sans aucun rapport avec un amuse-gueule!]

Étant déjà un hacker [cela peut aider] vous désirez:

Cela permet généralement de distinguer entre le pseudo-pirate qui a comme seul mérite d'accéder à un cercle (plutôt une nébuleuse) apparemment fermé, où les numéros de série, les programmes de patch sont disponibles, et le milieu où:

Dans ce domaine où l'information côtoie souvent la désinformation, voire le bourrage de crâne, il existe un certain nombre de mythes et de légendes. Je vais essayer de préciser certains points importants:

Le mythe du hacker loup solitaire

Ce mythe est probablement la conséquence du manque généralisé d'information, donc de compréhension des technologies modernes. Un hacker est par essence même, une personne au coeur de l'information; son travail est généralement lié au domaine informatique [généralement, son niveau de compréhension des systèmes lui permet d'en tirer un revenu lucratif]. Sa profession peut être variée, mais reste généralement en rapport étroit avec de grandes masses d'information, quasiment tous les métiers de la société moderne nous confrontent à ce déluge d'information. Que l'on soit architecte, informaticien, mécanicien, chirurgien, documentaliste, enseignant ou étudiant, la connaissance provient d'échanges et de la compréhension intime des éléments que l'on manipule. Je pense que n'importe quel scientifique curieux peut appliquer les méthodes décrites dans cet article et se considérer comme un hacker.

Le syndrome de la victime

Sans tomber dans celui de Stockholm [où la victime épouse la cause de son kidnappeur], il est souvent plus simple pour la victime d'invoquer des puissances ténébreuses que de reconnaître son manque de vigilance, voire son incompétence. Le visionnage de grands classiques du cinéma comme le docteur Knock où les spécialistes en tous genres ressemblent à Jouvet [le talent en moins] et les cohortes de malades [plus ou moins somatiques], à des experts en informatique. En effet dans une société où la maîtrise des systèmes d'information passe pour un acquis de la part de tous ses acteurs, il apparaît que la reconnaissance de lacunes, de faiblesses, est considérée comme une faute grave. Dans un rôle d'expert, il est savoureux de constater la réaction des interlocuteurs quand on reconnaît son incompétence totale sur un sujet! [que le questionneur par sa pratique quotidienne manipule avec une dextérité consommée]. Les réactions constatées sont:

Ce genre d'attitude est paradoxal, car il est surhumain et particulièrement vain de tenter d'assimiler l'ensemble des ressources mises à notre disposition. Il serait plus simple de constater que tous ensemble nous savons plus de choses qu'individuellement [principe même de la spécialisation du travail due à la civilisation de Sumer, il y a 7000 ans].

La légende de la complexité

Contrairement à la tradition de l'heroic fantasy à la Tolkien, le monde où nous vivons n'est pas entouré de mages ou de lutins, mais fait de l'application de règles et de normes, qu'elles soient issues du droit coutumier, législatif ou de facto. Ces normes issues de notre civilisation ont connu une mise en oeuvre incomparable grâce à la Révolution française et à l'adoption du système MKSA (Mètre, Kilo, Seconde, Ampère). Cette logique se retrouve dans l'informatique [que serait Internet sans les «RFC», Request For Comment] et explique par là même son évolution (sans normalisation, pas d'économie d'échelle). Il est étonnant de constater l'obstination à vouloir simplifier, puis complexifier l'apparence des outils informatiques. Une expérience qui provoque souvent l'effroi est la mise en place d'un débogueur, puis l'interruption d'un programme quelconque pour parcourir pas à pas le code en assembleur, le must étant de relancer le déroulement du programme:

Il serait peut-être souhaitable que chaque utilisateur soit confronté dans son apprentissage avec une machine de Turing et les différents niveaux de fonctionnement d'un ordinateur [on peut toujours rêver].

D'une manière similaire à l'automobile, il serait judicieux de disposer d'un réseau hiérarchisé d'intervenants. De cette manière, on pourrait bénéficier des différents niveaux de compréhension, ceci sans aucune notion de hiérarchie. Le pire bêta-testeur que l'on puisse imaginer est, soit le concepteur, soit quelqu'un connaissant les algorithmes utilisés [je plaide encore coupable]. Cela peut être drôle de tester le cas limite répertorié dans la littérature et d'observer le désastre qui en résulte lors de présentation publique [vaporware?, non, logiciel commercial!].

La dualité de l'épée et du bouclier [ou l'attaque défense]

La course à l'armement n'est [malheureusement] pas une découverte récente, au village fortifié gaulois ont répondu les légions romaines et leur fameux pilum [sauf un petit village qui...]. Cette course semble s'être arrêté dans l'équilibre de la terreur [aussi nommé dissuasion nucléaire]. Pour l'informatique, ces deux tendances coexistent [avec leur lot de propagande], malheureusement l'hystérie semble parfois régner... J'ai malheureusement vécu l'expérience, où évoquant à bâtons rompus les problèmes de sécurité, j'ai abordé le fait que chaque objet programmable peut être re-configuré pour un autre usage, en prenant comme exemple une imprimante PostScript [c'est ce que fait la soi-disant capture d'une imprimante sur NT, ou plus prosaïquement le dictionnaire propre à la description de chaque police de caractère]. La réponse de mon interlocuteur fut une frappe préventive, une lettre du directeur de son département à mon patron m'intimant l'ordre de me tenir éloigné de toutes ses imprimantes. [La chute était qu'elles se trouvaient dans le même réseau AppleTalk].

Plus sérieusement, on peut se poser la question des méthodes de gestion système, où une grande partie des tâches se font manuellement. Ceci est à mettre en relation avec le fait que les outils offensifs utilisés par les hackers sont des programmes. En général, après 2 heures sur un réseau Internet [sans pare-feu], vous avez des tentatives d'intrusion [vivent les tables de routage]. Ceci crée la légende que des versions modifiées de Satan [un utilitaire écrit pour vérifier la fiabilité d'une configuration Unix] sont utilisées pour pénétrer des sites informatiques [et c'est possible]. On oublie que le créateur de Satan, un universitaire travaillant à l'institut technologique d'Eindhoven, est également l'auteur de TCP-Wrapper, un programme très efficace pour bloquer les ports TCP [de nombreux outils commerciaux offrent une fonctionnalité similaire avec une interface graphique plus seyante qu'un simple fichier texte de configuration].

Tant que l'écriture de code est de l'ordre de la réflexion humaine, la création de contre-mesures est possible (le plein emploi en informatique est une aubaine pour la sécurité, en asséchant le vivier potentiel de hackers-crackers). Seule l'utilisation de la glace1 noire2 (chère à William Gibson) pourra peut-être changer cette situation.

Évolution de Bletchey Park de 1939 à 1945 [les prémisses d'Échelon et du NSA]

Cracker vs Hacker

Afin de promouvoir une tendance politiquement correcte, on fait le distinguo entre hacker et cracker, ce dernier devant symboliser une tendance néfaste dans un dualisme primitif. Je ne pense pas que cette distinction existe:

La tentative hégémonique

Il peut être commode de croire à la pérennité d'une technologie ou à sa toute-puissance dans un domaine où les chapelles sont légion. À mes débuts dans ce domaine, l'hégémonie était représentée par 2 acronymes qui doivent être totalement inconnus de nombreux utilisateurs aujourd'hui:

Dans ce sens, il me paraît primordial de favoriser des configurations hétérogènes:

À l'exemple de la civilisation hispanique de 800 à 1400 qui a permis, grâce à la tolérance de régimes mulsumans, la coexistence pacifique des religions mulsumane, hébraïque et chrétienne, donnant ainsi la base de connaissance de la Renaissance, grâce à la conservation des savoirs grecs et romains et à l'apport de la diversité des cultures. Grâce à cette hétérogénéité, une perturbation n'affectera qu'une partie des services fournis.

Conclusion

Je ne peux m'empêcher d'essayer d'élever le débat quelques instants et de reprendre in extenso la conclusion de John Brunner dans Sur l'onde de choc:

«Le contenu des propositions

Le résultat du plébiscite

Illustrations


hacker (to hack = piocher) est issu de la communauté universitaire américaine pour désigner une personne qui serait dénommée un bourreau du travail [peut-être un stakhanoviste?]. Par extension, il s'applique à un informaticien qui connaît particulièrement bien un ordinateur ou un système d'exploitation.

Cela n'est pas anodin: un des premiers virus qui touchera le monde Internet (en novembre 1988) l'a été par l'intermédiaire d'un étudiant en informatique qui utilisa les mécanismes propres à sendmail [qui intègre un langage de commande encore plus abscon que vi ou yacc et lex].

GLACE = Générateur de Logiciel Anti-intrusion par Contre-mesure électronique, (ou ICE, Intrusion Contermeasures Electronics)

Noire car piloté par une IA, Neuromancien - page37


retour au sommaire du Flash informatique spécial été 2000
retour à la page principale des Flash informatique
Vos commentaires
© FI spécial été 2000 du 5 septembre 2000