TOOLinux

Le journal du Libre

OSDEM, Bruxelles

mardi 25 mai 2004

Retrouvez l’interview de Raphaël Bauduin, organisateur, sur TooLinux.

Open Source et Logiciel Libre ont rendez-vous à Bruxelles

A peine la Linux Expo Paris est-elle finie que Bruxelles accueille les développeurs européens du logiciel libre et/ou Open Source dans une ambiance plus conviviale qu’à Paris. Tout le monde ici s’accorde à dire que la Linux Expo est devenue un événement plus commercial que fédérateur.
Les conférences se déroulent dans trois amphitéatres différents de l’Université Libre de Bruxelles.
Ces derniers risquent d’ailleurs de se révéler trop exigüs tant la manifestation est un succès. Plus de 400 personnes se sont déplacées, que ce soit de Belgique, de France, de République Tchèque, et ce malgré le temps ... éxecrable ;)

Premier jour

Ce matin, Richard M. Stallman a ouvert la série de conférences avec une intervention d’une heure et demie sur les brevets logiciels et leurs dangers, que ce soit pour les logiciels libres ou pour la liberté des citoyens.
Ensuite, les conférences sont multiples et se déroulent en parallèle.

Avant la pause repas de ce midi, les conférences portaient sur le projets/sujets suivants : Mozilla, GnuPG, LDAP.
En ce moment, c’est au tour de Smoothwall, Crystal Space, Mosix, Nessus et autres d’être présentés au public, dont El Moustico, qui fera un compte-rendu dans la soirée :

Le résumé de la conférence de Renaud à propos de Nessus (voir ci-dessous).

Plusieurs salles ( nommées hacking rooms ) ont été ouvertes afin que tout-un-chacun puisse utiliser son ordinateur et se relier à Internet - c’est depuis une de ces salles que ce dossier est envoyé. Saluons d’ailleurs le travail des organisateurs, qui ont mis à disposition un accès réseau de grande qualité.

Second jour

La matinée démarre par une conférence Hurd suivie d’une conférence forte intéressante sur les technologies de KDE 2.

Ce dossier sera mis à jour progressivement.

Les brevets logiciels vus par Richard M. Stallman

Nus pieds devant une assistance captivée et trop nombreuse pour l’amphitéatre de 250 places assises (une centaine de personnes était debout), RMS a une nouvelle fois expliqué pourquoi les brevets logiciciels étaient dangereux.

Il a insisté sur le fait qu’il est impossible de nos jours de programmer sans s’appuyer sur des connaissances et des travaux existants, « car nous devrions repenser alors toute l’informatique » , ce qui imposerait de payer des drois sur de multiples brevets pour le moindre programme développé.
Les partisans du brevetage des logiciels avancent souvent l’argument que cela permettrait aux "petits" de se défendre contre les grandes entreprises. Selon Stallman, « le mythe du petit développeur génial protégé » est faux. En effet, les grosses sociétés possèdent déjà des centaines de brevets ou plus ( IBM en a plus de 10.000 ) ce qui fait qu’un développeur ne pourra se protéger face à une grosse société qui l’accuserait d’utiliser quelques-uns de ses brevets pour son programme "révolutionnaire". Tous ces brevets déposés par les multinationales laissent entrevoir de nombreux et coûteux procès. D’autant que ces brevets représenteraient une source d’argent non négligeable ?.IBM par exemple auraient une double source de bénéfices : en vendant leurs logiciels et en touchant les droits sur les brevets possédés utilisés par d’autres. Stallman a rappelé que les licences pour certains brevets peuvent coûter jusqu’à 10 millions de dollars, ce qui est tout simplement hors de portée pour les développeurs du libre.

Il a déclaré que « programmer librement va de plus en plus ressembler à une promenade dans un champ de mines. »

Un des principaux problèmes est que ce ne sont aps forcément les programmes qui sont brevetés, mais les idées, les concepts. Or il y a différentes méthodes pour arriver à un même résultat ; de plus, comment breveter quelque chose d’aussi immatériel qu’une idée ?

La situation en Europe

En novembre dernier, les pays européens ont rejeté les brevets logiciels, mais comme le souligne Richard Stallman « rien n’est gagné . »

Pour que cette "loi" acceptée dans un pays, il faut que le gouvernement l’accepte, il y a donc un important lobbying en France et en Allemagne. RMS a demandé à l’assistance de militer auprès despersonnes influentes, comme les hommes politiques, ...

Si certains pensent que jamais l’Europe ne laissera passer une telle loi, Stallman a rappelé qu’au Royaume-Uni, les policiers peuvent venir chez un particulier le forcer à leur dévoiler sa clé de cryptage privée, car crypter ses données relève là-bas de l’espionnage. [ndr : rappelons que le cryptage à 128 bits n’est autorisé que depuis très peu de temps en France]

Pour finir, RMS a endossé son habit de "prêcheur du libre". L’assistance amusée a dû prêter le serment de ne jamais utuliser de logiciel propriétaire pour être admise dans "l’Eglise Emacs".

Nessus

Conférence présentée par Renaud Deraison

Présentation

Nessus est un scanner de sécurité : il réalise un audit du réseau. En s’appuyant sur une base de données de failles de sécurité, il indique à l’administrateur réseau les faiblesses et les failles existantes sur son réseau.

Que fait Nessus ?

Nessus est un outil capable de répondre à ces questions :
- Quelles machines sont présentes sur mon réseau (adresse IP, nom) ?
- Quel système d’exploitation est utilisé sur telle machine ?
- Quels services (démons) fonctionnent sur la machine ?
- Mon réseau est-il sûr ?
- Mon réseau est-il sûr aujourd’hui ? Cette question est essentielle car un réseau sûr aujourd’hui ne le sera pas forcément dans quelques jours. En effet, chaque jour de nombreuses failles sont découvertes.

Etat du projet

La version stable actuelle de Nessus est la version 1.0.7a. Ce logiciel fonctionne sur les systèmes GNU/Linux, BSD, HPUX, Irix, Solaris. Des clients sont disponibles pour les systèmes utilisant Windows. Aujourd’hui, le développement de la version 1.0 est stoppé et complétement axé sur la version 1.2. La base de données des failles de sécurité comporte plus de 500 tests.

Le projet est reconnu par de nombreux professionels du monde de la sécurité :

- 1er outil au Fyodor security tools
- Reconnu par le gouvernement russe
- Recommandé comme outil de sécurité aux USA

Fonctionnement de Nessus

Le serveur est en charge de l’attaque. Le client est juste une interface graphique capable de visualiser les différents résultats obtenus.

Il est possible d’avoir plusieurs utilisateurs distincts de Nessus. Les communications entre le client et le serveur sont cryptées.

L’architecture est modulaire : il est possible à toute personne d’écrire de nouveaux tests soit en C, soit en NASL (Nessus Attack Scripting Langage). Et les tests peuvent être mis à jour régulièrement en activant un plug-in.

Caractéristiques de Nessus

- reconnaissance intelligente des services : Nessus ne se base pas sur les ports pour reconnaître les services. Ainsi un serveur HTTP fonctionnant sur un port 1234 sera détecté.
- support du français et de l’anglais.
- détection sur plusieurs machines de manière concurrente.

NASL

NASL a été défini pour faciliter la création rapide de tests d’intrusion. Les scipts NASL fonctionne dans des boîtes de telle manière qu’ils ne peuvent nullement endommager la machine sur lesquels ils s’éxécutent.

Visualisation des résultats de Nessus

Il est possible de visualiser les analyses faites par Nessus sous forme de fichiers HTML, fichiers HTML et images, latex, XML.

Pour en savoir plus

N’hésitez pas à contribuer à ce projet très intéressant. Le site de Nessus

Les technologies de KDE 2

Voila déjà trois mois que KDE 2.0 s’empare de nos bureaux, et rares sont ceux qui se sont intéressés aux différentes technologies employées. Heureusement, David Faure, développeur et représentant de KDE, fut présent à l’OSDEM pour combler nos lacunes.
KDE 2.0 se distingue de KDE 1.x par une architecture beaucoup plus modulaire. De nombreuses librairies de KDE 1.x ont été scindées afin de fournir une plus grande souplesse.
Lors de cette conférence, David nous a présenté les principaux modules de KDE 2.0 :

- KConfig
- XML-UI
- DCOP
- KIO
- KSyCoCa
- KParts

KConfig

KConfig est la librairie qui permet de lire les fichiers de configurations de KDE 2.0. Ceux ci sont décrits sous forme de fichiers textes, l’objectif étant de permettre à chacun de lire et de modifier ces fichiers. Afin d’être le plus lisible possible, le projet KDE n’a pas voulu les décrire sous forme de fichiers XML, mais comme suit :

[Section]
clef=valeur
clef2=valeur2

Les actions KDE

Créer une interface graphique sous KDE, implique souvent d’écrire de nombreuses fois les méthodes d’ajout de boutons, de barres d’outils. Ceci pose de nombreux problèmes et dupliquent bien souvent le code. Un exemple est la gestion du copier/coller que l’on retrouve dans le menu edit, dans la barre d’outils et sous forme de raccourcis claviers. Un code identique sera dupliqué, même si pour l’utilisateur, il s’agit de la même action. Pour résumer, une action KDE a un effet unique mais peut être utilisée par plusieurs éléments graphiques.
Sous KDE, les actions sont stockées dans des objets KAction qui réagissent à certains signaux. Ensuite, il suffit de plugger la KAction sur les widgets correspondants... La plupart des classes d’éléments graphiques gèrent les KAction, ainsi que leurs représentations graphiques, ce qui facilite d’autant le travail du programmeur. Si l’on change la KAction, l’ensemble des widgets l’intégrant sera alors immédiatement modifié.

XML-UI

Les interfaces des applications KDE sont décrites sous forme de fichiers XML, afin de permettre la configuration de l’interface.

DCOP

DCOP (Desktop COmmunication Protocol) est la librairie qui permet la communication entre les différents processus. A l’origine de KDE 2.0, cette tâche était acquitée par CORBA. Toutefois, la lourdeur du protocole a poussé les développeurs KDE à rechercher une solution plus légère et plus souple.

DCOP est basée sur ICE, une librairie standard de X11R6, qui était à l’origine développée pour le Session Manager de X11. La librairie DCOP fournit l’authentification et l’appel de fonction distantes. QtDataStream permet le marshalling, c’est à dire l’encodage et le décodage des paramètres des fonctions. Un générateur de fichiers IDL (fichiers qui permettent de décrire les interfaces des composants) est disponible afin de faciliter l’écriture des interfaces.

Afin de permettre l’utilisation des composants KDE, des passerelles ont été écrites :

- XML-RPC : permet d’écrire des scripts distants
- Des connexions Python, Perl, C, Java.
- QT via DCOP : accès à tous les objects QT

KSyCoca

KSyCoca est le cache du système de configuration. Ce programme a été écrit afin d’accélerer les accés aux configurations des applications. Ce programme crée une petite base de données sous forme de table de Hashage et stocke les clefs déja utilisées. KSyCoca permet donc aux applications de trouver rapidement leurs infos nécessaires.

KIO

KIO est la librairie fournissant la transparence réseau. Dans KDE 1.X, kfm fournissait ce service : ceci impliquait donc le lancement de kfm pour toute application KDE utilisant le réseau. Dans KDE 2, il a été décidé de développer une librairie spécifique à cette tâche. La librairie KIO permet :

- les opérations d’entrées/sorties asynchrones
- une interface unifiée aux ressources réseaux
- support de FTP, HTTP, SMB, POP3, IMAP4, LDAP
- support des filtres bzip2, tar, gzip
- support du protocole SSL

KIO fournit des opérations de haut niveau : list, copy, put, get, copy, move ... KIO s’appuie sur les processus KIOSlave, qui implémentent les divers protocoles.

KParts

Il s’agit du modèle composant de KDE 2 qui facilite la création de composants pour KDE2. Elle gére les composants, fenètres et les plugins. Les composants (Parts) sont basés sur QT. Un part est un widget, avec des fonctionalités dépendantes des KActions et une interface graphique.
Chaque Part est une librairie partagée. Elle est ouverte dynamiquement lors de l’utilisation des composants. Les GUI sont décrites en XML.

KTrader

KTrader est le service de pages jaunes de KDE : vous recherchez qui peut réaliser un service particulier et KTrader vous renvoie selon les contraintes fixées un service. La réponse tient compte des préferences de l’utilisateur.

Service Type Text/plain KOffice filter
Service KEdit MSWordFilter

KOffice

Les librairies KOffice fournissent une boîte à outils très fournie :
- un ensemble de fonctions communes (Ouvrir fichier, Fermer fichier)
- des boîtes de dialogues communes aux applications
- des filtres (importation/exportation)
- une gestion des composants
- un système de fichiers qui utilise XML
des scripts

Intégration de composants

Concernant l’intégration de composants, il convient de distinguer deux types de composants :

- les In process composants : ils sont utilisés dans le même processus que l’application. Ces composants sont simples, flexibles, légers, synchrone, stables et puissants
- les Out process composants : ils peuvent être écrits dans divers langages et sont plus complexes à intéger et développer

Les composants Out process utilisent la technologie XPart. Ils communiquent avec DCOP.
KVim utilise aujourd’hui cette technologie.

Konqueror

Konqueror est l’application KDE qui expérimente aujourd’hui les mieux les différentes technologies KDE.
Konqueror le navigateur universel

Comment contribuer au projet KDE

Le projet KDE recherche davantage de développeurs d’applications. Le projet KOffice nécessite un effort supplémentaire.

Le site officiel de KDE
Le site des développeurs de KDE
Le site de KOffice
Le site de KDevelop