You are on page 1of 15

ENSICAEN

6, bd maréchal Juin
F-14050 Caen cedex 4

Spécialité Informatique - 1re année


Rapport de mini-projet

Distributions Linux
embarquées

Corentin MARCIAU
Aurélien TAMISIER

Encadrant : Léonard DALLOT

2009 - 2010
2
Table des matières
1 Introduction 4

2 L’embarqué : état de l’art 4


2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.3 Les routeurs Wifi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Les distributions embarquées . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Sveasoft (routeurs Linksys) . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 VxWorks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 OpenWRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.4 dd-wrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.5 emdebian - Embedded Debian . . . . . . . . . . . . . . . . . . . . . 7
2.3 Choix d’un routeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Choix d’une distribution répondant au cahier des charges . . . . . . . . . . 7
2.4.1 Rappel du sujet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.2 Cahier des charges et contraintes . . . . . . . . . . . . . . . . . . . 7
2.4.3 Distributions retenues . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Travaux d’installation et de mise en oeuvre des distributions 8


3.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 Précautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 La ligne de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Connexion au routeur . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Installation de logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1 Les méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.2 Les paquets visés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Redéfinitions successives de la distribution . . . . . . . . . . . . . . . . . . 11
3.4.1 OpenWRT I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4.2 dd-wrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4.3 OpenWRT II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Méthodologie 12
4.1 Recherches : distribution et matériel . . . . . . . . . . . . . . . . . . . . . 13
4.2 Site Web : des débuts difficiles mais une maturation réussie . . . . . . . . . 13
4.3 Phase d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Révision des objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5 Rédaction du rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.6 Diagramme de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 Conclusion 14

A Bibliographie 15

3
1 Introduction
Les dernières décennies on vu l’informatique apparaître, puis se développer à une
vitesse exponentielle. Devenue omniprésente et incontournable dans le monde actuel, l’in-
formatique fait partie de notre quotidien, et son champ d’action englobe un nombre de
tâches toujours croissant.
Dorénavant, la plupart des appareils domestiques et ménagers font intervenir des sys-
tèmes embarqués. De conception simple et robuste, ceux-ci se voient attribuer des fonc-
tionnalités précises, communiquent très peu avec l’utilisateur, et ne nécéssitent souvent
aucune intervention de la part de celui-ci.
Après avoir défini les bases de l’embarqué, nous nous intéresserons au cas des routeurs
Wifi, tout d’abord en abordant les points de vue matériel et logiciel. Puis, nous présente-
rons la phase pratique du projet, à savoir l’installation sur un routeur Linksys de plusieurs
distributions et logiciels.

2 L’embarqué : état de l’art


2.1 Présentation
2.1.1 Définition
Un système embarqué [8] est un système électronique et informatique, dédié à faire
une tâche précise, de manière complètement autonome. Il obéit à des contraintes relatives
à l’encombrement, la consommation électrique et le coût.
D’un point de vue pratique, un système embarqué dispose rarement d’interface homme
/ machine, et fonctionne sans intervention extérieure. Le dimensionnement des composants
est très strict, l’appareil est conçu pour un usage précis et sa puissance est adaptée en
conséquence.
On peut aussi distinguer les systèmes temps réel. Plus complexes à mettre en oeuvre
car répondant à des besoins spécifiques, ils nécessitent le rajout d’une couche logicielle
pour la gestion des interruptions. Ces systèmes sont principalement utilisés pour effectuer
des mesures physiques.

2.1.2 Applications
On retrouve les systèmes embarqués dans des domaines d’application très variés, allant
des appareils domestiques aux outils médicaux. Les exemples suivants illustrent différentes
utilisations de l’embarqué.

Les GPS (Géolocalisation Par Satellite) font partie des quelques systèmes em-
barqués à posséder une interface pour communiquer avec l’utilisateur. Encore rares il y a
quelques années, ils sont de plus en plus présents au sein des automobiles, et sont quel-
quefois intégrés à l’ordinateur de bord sur des modèles luxueux. Il devient maintenant
possible d’intégrer un ordinateur complet dans un habitacle, grâce à la miniaturisation
des composants et aux progrès effectués en matière de consommation (rendement des
alimentations, finesse de gravure).

Dans le domaine médical, les systèmes embarqués on su s’imposer grâce à leur


fiabilité et à leur autonomie croissantes. Les laboratoires sont de plus en plus équipés en
appareillage effectuant les manipulations, comme les mesures hématologiques.

Cependant, l’un des domaines clés demeure l’industrie spatiale. Ici, les contraintes
sont drastiques, et la stabilité des dispositifs est cruciale. Dans le cas d’une sonde spatiale,

4
toute la chaîne de collecte et de transmission de données se base sur des systèmes temps
réel. Ils utilisent des logiciels stables, robustes et optimisés, qui sont soumis à de nombreux
tests.

2.1.3 Les routeurs Wifi


Dans le cadre du projet réalisé en première année à l’ENSICAEN, nous nous inté-
ressons au cas des routeurs Wifi. Abordables au grand public et simples à mettre en
oeuvre, ils fonctionnent majoritairement avec une distribution propre à chaque fabricant.
De nombreux modèles de routeurs sans fil sont disponibles sur le marché. Cependant, ils
possèdent de nombreux points communs, et les performances sont très proches, pour un
segment de gamme donné, d’un modèle à un autre.
Certains fabricants, comme Linksys, produisent des déclinaisons de leurs modèles in-
cluant une distribution s’articulant autour d’un noyau Linux. Il est généralement très
facile de remplacer la distribution originale de son routeur au profit d’une distribution
Linux, et la plupart des routeurs disponibles sont supportés par au moins une distribution.
Dans le cas contraire, il est possible pour l’utilisateur avancé (et averti) de compiler sa
propre disribution en fonction de ses besoins et du matériel impliqué. Cela nécessite un
minimum de connaissances en microélectronique, en informatique embarquée, ainsi que le
matériel approprié (outillage, environnement de développement et de compilation, outils
de programmation et de déboguage).
En somme, n’importe quel routeur disponible est susceptible de pouvoir accueillir une
distribution Linux. En réalité, il est nécessaire des se renseigner sur les sites des différentes
distributions pour vérifier que le modèle est bien supporté.

2.2 Les distributions embarquées


En dehors des firmwares installés par les fabriquants, il est possible, et même avanta-
geux, de remplacer la distribution de son routeur. Cela permet de bénéficier de nouvelles
fonctionnalités, et d’étendre les possibilités offertes par le matériel.
Il existe deux types de distributions : libres et propriétaires. Alors que l’on rencontre
principalement des solutions propriétaires dans le milieu industriel (pour des raisons de
maintenance et de sécurité), les alternatives libres sont de plus en plus prisées par les uti-
lisateurs et s’imposent progressivement dans le milieu professionnel. En effet, l’utilisation
d’une distribution libre possède de nombreux avantages. Le code source étant disponible
et facilement portable, il n’est plus nécessaire de recoder l’intégralité de la partie logicielle
à chaque changement d’architecture.
Un autre facteur est la communauté dynamique d’utilisateurs et de programmeurs
faisant vivre les logiciels libres. Cela permet de résoudre rapidement les failles de sécurité et
autres bogues. Il n’est cependant pas facile pour le néophyte de se tourner vers une solution
Linux, aussi le développement d’interfaces graphiques et l’amélioration de l’ergonomie des
logiciels est-elle cruciale pour franchir le pas. Les distributions alternatives sont en général
très bien documentées, que ce soit sur le site de la distribution, ou par l’intermédiaire des
forums, permettant de poser des questions et de résoudre un problème.
Les distributions suivantes couvrent un nombre important de routeurs, pour la simple
raison que ceux-ci utilisent souvent des chipsets similaires, ce qui facilite le portage des
distributions.

Note 1 : Il est important de préciser que, comme nous avons investi dans un routeur
Linksys afin de réaliser le projet, cela a influencé le choix des solutions logicielles étudiées.
Note 2 : Le routeur choisi est un WRT54GL, incluant de série une distribution Linux,
libre et sous licence GPL. Elle a initialement servi de base aux autres distributions, mais,
au fil du temps, celles-ci ont développé leur propre code source.

5
2.2.1 Sveasoft (routeurs Linksys)
Anciennement Open-Source et basée sur le code fourni par Linksys, cette distribution
est devenue payante. Elle souffre de n’être développée que par une seule personne, James
Ewing, et présente des failles de sécurité. Par ailleurs, M. Ewing ayant eu des différends
avec de nombreux utilisateurs et la distribution ne respectant pas la licence GPL, elle est
tombée en désuétude.

Site : http://www.sveasoft.com [6]

2.2.2 VxWorks
Cet OS est utilisé principalement dans le domaine de l’industrie (NASA, télécommuni-
cations). Permettant de gérer plusieurs cartes mères et bénéficiant du traitement en temps
réel, il est particulièrement adapté pour les mesures (sondes spatiales). On retrouve aussi
des versions allégées de VxWorks pour des applications grand public, comme les routeurs
Wifi.

Site : http://www.windriver.com/products/vxworks/ [7]

2.2.3 OpenWRT
S’adressant initialement aux routeurs intégrant un chipset Broadcom, la liste du maté-
riel supporté par OpenWRT ne cesse de s’agrandir. La dernière version en date, "Kamikaze
8.09", intègre un noyau Linux 2.6 (ou 2.4) ainsi que plus de 250 paquetages logiciels. Open-
WRT permet de personnaliser sa configuration, car c’est à l’utilisateur que revient le choix
des paquets installés.
Elle dispose, une fois installée, d’une interface Web agréable et intuitive, d’outils de
monitoring réseau puissants ainsi que d’une interface de gestion des paquets.

Site : www.openwrt.org [5]

2.2.4 dd-wrt
Initialement basée sur la version "Alchemy" de Sveasoft, dd-wrt apporte de nouvelles
fonctionnalités, comme la possibilité d’intégrer ses propres programmes et scripts shell.
dd-wrt s’adresse notamment aux utilisateurs désireux d’augmenter la capacité de stockage
de leur routeur, par ajout de disques réseau ou par modification du circuit (ajout d’un
contrôleur de cartes SD).
dd-wrt permet l’installation de paquets, bien que celle-ci ne soit pas des plus aisées
(il faut utiliser les paquets d’OpenWRT). Il est possible d’installer ceux-ci sur un support
externe (partage réseau), ou de les placer en mémoire vive à l’aide d’un script se lançant
au démarrage du système.
Suite à des accusations de plagiat de la part de Sveasoft, les développeurs de dd-wrt
ont décidé de recoder intégralement la distribution.

Site : www.dd-wrt.com/site/index [2]


Documentation francophone :
http://www.dd-wrt.com/wiki/index.php/dd-wrt_Docu_(FR) [3]

6
2.2.5 emdebian - Embedded Debian
Basée sur Debian, distribution reconnue dont dérivent de nombreuses autres (Ubuntu,
Gentoo), emdebian propose une version minimaliste de celle-ci, et permet d’utiliser les
packages Debian. A l’instar de celle-ci, un grand nombre d’architectures matérielles est
supporté. L’objectif d’emdebian est de faciliter le portage de Debian sur les systèmes
embarqués, en fournissant des paquets issus de Debian, mais de taille réduite.

Site : http://www.emdebian.org/ [4]

2.3 Choix d’un routeur


Au fur et à mesure de l’avancement du projet, et après avoir cerné la notion de système
embarqué, nous nous sommes heurtés à un obstacle de taille : nous n’avions pas de “cible”.
En d’autres termes, il nous manquait un lien entre la phase de recherche préliminaire, et
la phase pratique consistant à répondre au cahier des charges (présenté ci-après).
Nous avons cherché, suite à la suggestion de notre encadrant de projet, à obtenir une
plate-forme virtuelle de tests, à savoir un émulateur de routeur sans fil. Cette recherche
s’est soldée par un échec partiel. De tels émulateurs existent bel et bien, mais sont dé-
veloppés par les fabricants pour effectuer des tests et ne sont pas mis à disposition des
utilisateurs. Toutefois, il existe des émulateurs libres pour du matériel haut de gamme,
comme les routeurs CISCO utilisés dans les fermes de serveurs.
Afin de passer à une phase pratique, nous avons décidé d’investir dans un routeur
Wifi. Notre choix s’est arrêté sur le Linksys WRT54GL [9].

Les atouts de ce routeur sont les suivants :


– distribution Linux d’origine sous licence GPL ;
– largement supporté, vaste communauté d’utilisateurs ;
– excellent rapport qualité / prix ;
– possibilités de modifications matérielles ;
– prix abordable (environ 50 euros).

2.4 Choix d’une distribution répondant au cahier des charges


2.4.1 Rappel du sujet
Certains routeurs sans fils embarquent une distribution linux en leur sein, ce qui per-
met l’ajout (ou le retrait) de fonctionnalités. Les étudiants devront tout d’abord établir
une liste comparative des routeurs linux disponibles sur le marché et des différentes dis-
tributions spécialisées dans la gestion des routeurs sans fils.
Cette liste permettra de sélectionner une distribution en vue d’y intégrer un ensemble
de scripts développés dans le cadre d’un projet de deuxième année ; l’objectif final étant
de réaliser un boîtier sans fil autonome permettant de réaliser un audit de sécurité des
réseaux sans fils avoisinants.

Sujets de projet 2010 (R. Clouard) :


http://www.greyc.ensicaen.fr/~regis/sujets10.html

2.4.2 Cahier des charges et contraintes


Initialement, l’objectif était d’intégrer des scripts d’audit réseau sur du matériel de
type routeur / box Internet. Les scripts n’étant pas prêts à temps, notre encadrant de
projet nous a suggéré d’utiliser les outils existants pour effectuer des tests.

7
Le système ainsi obtenu devait permettre de tester la sécurité des réseaux Wifi envi-
ronnants, à l’aide des outils screen et aircrack-ng. Le routeur étant choisi, nous devions
sélectionner des distributions simples à installer et bien documentées, afin de répondre à
nos attentes.

Les contraintes étaient les suivantes :


– connexion au routeur, lancement d’un terminal
– connexion à un réseau pour en effectuer l’audit
– lancement d’un programme de cassage de clé (WEP)
– détachement du terminal avec screen
– cassage de la clé
– reconnexion au terminal
– récupération de la clé

2.4.3 Distributions retenues


Nous avons retenu deux distributions à tester, compatibles avec le routeur Linksys
WRT54GL et simples d’installation : OpenWRT pour sa documentation et son large
support, et dd-wrt pour sa légèreté et ses outils de monitoring.

3 Travaux d’installation et de mise en oeuvre des dis-


tributions
Une nouvelle phase orientée vers l’aspect logiciel a débuté une fois arrêté le choix
des distributions. Cette phase consiste d’abord à les installer, puis, une fois passée cette
étape, à nous familiariser avec ce nouvel environnement et tenter quelques installations
de paquets supplémentaires.
Les sections qui suivent se concentrent donc sur les procédures générales d’installation
et de prise en main de distributions embarquées, puis plus spécifiquement, sur notre
parcours et nos choix logiciels.

3.1 Installation
3.1.1 Version
La principale difficulté lors de l’installation d’une distribution embarquée réside dans
le choix de sa version. Une des caractéristiques de l’embarqué est précisément l’absence
d’interface classique comme les lecteurs de CD ou de disquette. En cas de problème
d’amorçage, il n’y a donc que peu de moyens de récupération du système. En conséquence,
l’étape du choix du firmware à installer est critique.
Par ailleurs, il n’existe pas de fichier binaire spécifique à chaque matériel, mais plutôt
à chaque chipset et révision de chipset. Ainsi, lorsque l’on recherche des binaires pour
notre type de routeur, le WRT54GL, on ne trouve que quelques fichiers attribués à la
famille WRT54G.
Il existe pourtant de grandes disparités entre ces quelques fichiers puisqu’ils s’ac-
cordent, au sein de la famille WRT54G, avec les marques de chipsets. Pour choisir le bon
firmware, il faut donc identifier très clairement notre matériel parmi plusieurs dizaines de
routeurs WRT54G. Le choix de la version du firmware nécessite donc une connaissance
très précise de la version et de la composition de l’appareil concerné.

Dans notre cas, nous avons opté pour les binaires ainsi nommés :
– pour OpenWRT : openwrt − wrt54g − squashf s.bin ;

8
– pour dd-wrt : dd − wrt.v24 − mini − generic.

3.1.2 Précautions
Si un problème logiciel survient, rendant le contrôle du routeur impossible, il convient
de réinstaller le firmware. Mais dans ce cas précis, les méthodes usuelles ne peuvent être
employées puisque les interfaces ne fonctionnent plus.
C’est dans un tel cas que l’on se heurte au manque de "moyens de communication" de
l’embarqué. En réalité, ces "moyens" existent. Ils sont simplement difficiles d’accès et on
y a rarement recours dans le cadre d’une utilisation normale.

Sur notre routeur deux moyens sont prévus :


– TFTP : Notre routeur est muni d’une option qui, une fois activée, lui fait vérifier
à chaque démarrage si un ordinateur distant n’essaie pas de lui envoyer un fichier
par le protocole TFTP (Trivial File Transfert Protocol). Si c’est le cas, il accepte la
transmission et considère le fichier comme un nouveau firmware à installer.
– JTAG : Le routeur peut en réalité gérer une liaison parallèle avec un ordinateur.
Seulement, comme l’utilisateur final est censé ne JAMAIS avoir recours à une telle
liaison, les connecteurs on tout bonnement été retirés du PCB. La méthode JTAG
consiste donc à réinstaller les connecteurs et à dialoguer avec le routeur par liaison
parallèle.
Suite à une erreur de manipulation, nous avons dû expérimenter la méthode TFTP.
La methode JTAG, quant à elle, est réservée aux situations plus délicates.

3.1.3 Installation
Nous n’avons utilisé aucune distribution qui ne propose pas une interface Web pour
la mise à jour du firware. L’installation des distributions est donc très aisée et n’a pas
constitué un obstacle au cours du projet. Il est à noter que certains préfèrent utiliser le
TFTP par défaut au lieu de l’interface Web. Cela n’a pas d’incidence sur la distribution.

3.2 La ligne de commande


3.2.1 Connexion au routeur
Pour manipuler le routeur et installer confortablement des logiciels, nous avons été
obligés d’explorer l’interface en ligne de commande des distributions, accessible en ssh.
Pour cela, nous nous sommes heurtés à notre manque d’expérience avec l’outil ssh. La
connexion en ssh se fait généralement à l’aide du système des identifiants et mots de passe,
c’est la manière que nous avons employée sans problème avec OpenWRT.
Mais ssh permet également d’utiliser des clefs privées et publiques. Comme ce mode
d’utilisation est parametré par défaut dans dd-wrt, nous avons dû nous y conformer. Le
principe clé publique/clé privée ne nous était pas connu et s’est rapidement transformé en
un obstacle à l’utilisation de dd-wrt. À posteriori, son utilisation est relativement simple,
mais la découverte fut rude.

3.2.2 Environnement logiciel


Une fois connecté, l’on retrouve sur le routeur les mêmes caractéristiques que n’importe
que système Linux. L’arborescence en est très proche et donc peu déroutante. Contrai-
rement aux systèmes GNU/Linux que nous connaissons, il n’y a pas de zone dédiée à
l’utilisateur.
Le système de partition est de type JFFS lorsqu’on le désire (par défaut sous Open-
WRT). Sinon, aucune zone de la partition système n’est modifiable, sauf /tmp qui est

9
localisé dans la ram et non la rom. Le jeu de commandes de base est identique à celui
d’un PC, mis à part l’économie de certaines fonctions dans le but de gagner de précieux
kilo-octets.

3.3 Installation de logiciels


Une fois pris en main l’environnement, nous avons pu nous consacrer à l’étape suivante
de notre cahier des charges, à savoir l’intégration de logiciels. L’objectif original concernait
des scripts automatisant diverses tâches d’administration réseau.
L’avantage eut été de pouvoir mapitriser les dépendances de tels scripts et de contrôler
ainsi l’espace mémoire nécessaire. Notre objectif fut finalement modifié et nous avons donc
décidé d’intégrer des paquets disponibles sur Internet. Contrairement à ce que l’on aurait
pu croire, ce ne fut guère plus aisé.

3.3.1 Les méthodes


Il existe plusieurs manières d’installer des paquets dans l’embarqué. À chaque distri-
bution correspond donc une méthode privilégiée. La plus simple est un module intégré
dans l’interface Web qui permet la gestion de paquet en mode graphique à l’instar de
Synaptic. C’est la solution qui a été choisie par OpenWRT.
Elle est simple mais implique que les situations anormales soient gérées par la page
Web, c’est à dire que les erreurs du logiciel d’installation mis en oeuvre par la page soient
retranscrites correctement. Bien souvent, à force d’expérimentation, nous avons rencontré
des erreurs inhabituelles résultant parfois de maladresses de configuration d’autres parties
de la distribution. Ces erreurs plus complexes se sont souvent soldées par l’affichage sur
la page d’une erreur générique.
Nous atteignons donc les limites de la confortable interface Web, ce qui nous amène
à la deuxième méthode d’installation, beaucoup plus générale, qui consiste simplement
à manipuler l’utilitaire de gestion de paquets directement en lignes de commandes. Sur
dd-wrt, c’est la seule méthode existante. Mais là encore, il existe des disparités entre
distributions pour le choix de l’utilitaire.

Il faut en citer au moins deux dont l’un est un fork de l’autre :


– IPKG : Ce logiciel est l’utilitaire de gestion de paquets de base employé par beau-
coup de distributions embarquées. Il est "Debian like" puisqu’il fonctionne exacte-
ment à la manière de dpkg. Par souci, une fois de plus, d’économie d’espace, de
nombreuses fonctionnalités y sont écartées. Ainsi, sa gestion des dépendances et de
nettoyage des paquets inutilisés est très lacunaire.
– OPKG : Pour répondre à ces lacunes, le projet Openmoko a produit et maintient un
fork d’IPKG, OPKG qui conserve completement l’interface d’IPKG et implémente
les systèmes de gestion de dépendances qui lui manquaient. Cela en fait un gestion-
naire de paquet léger et abouti qui a été choisi par OpenWRT comme gestionnaire
par défaut.
Ces gestionnaires de paquets utilisent largement Internet et les dépôts de logiciels
maintenus par OpenWRT, mais il est également possible d’installer des paquets sans
connexion en les important manuellement.

3.3.2 Les paquets visés


Nous avons donc essayé ou tenté d’installer de nombreux paquets en lien avec le réseau
et la sécurité. En voici une liste assez exhaustive :
– aircrack-ng : La suite aircrack, assez connue, nous est apparue comme le paquet
indiqué pour dévier le moins possible de notre objectif initial. Elle regroupe plusieurs

10
logiciels permettant de mener des attaques sur des réseaux wifi protégés par des
clés WEP. Idéal pour tester la sécurité d’un hotspot, par exemple... Cette suite a
le mérite d’être très complète au niveau des outils qu’elle propose et sa relative
célébrité permet de se procurer de nombreux tutoriels sur le net. Son complément
aircrack-ptw améliore l’efficacité des attaques en réduisant la quantité de données à
collecter.
– wl : Ce logiciel est en fait un paquet de pilotes semi-libres proposés par Broadcom
pour ses chipsets et dont les fonctionnalités sont indispensables pour l’utilisation
d’aircrack. Sa récupération est plus délicate car il n’est pas dans les dépôts officiels.
– screen : Il s’agit d’un logiciel implémentant des outils de détachement de terminaux
d’un ordinateur. Ainsi, grâce à screen, l’on peut lancer un programme en lignes de
commandes en ssh sur le routeur et détacher le terminal de l’ordinateur source afin
que le programme perdure sur le matériel. En temps normal, en effet, la fermeture
du terminal provoque la fermeture de toutes les commandes lancées. Screen pouvait
donc avoir une utilité, notamment pour rendre le routeur capable de mener des
audits de sécurité par lui-même.
– kismet : Après quelques problèmes avec aircrack-ng expliqués plus bas, nous avons
recherché un autre logiciel qui correspondrait à nos objectifs. Kismet est un utilitaire
passif d’analyse de réseaux sans fil. Il permet de les détecter et de connaître leurs
caractéristiques et la façon dont ils sont protégés. Il est extrêmement léger et organisé
de manière à pouvoir faire fonctionner plusieurs parties du logiciel sur des machines
différentes afin de gérer de manière optimale l’espace mémoire occupé.

Pour chacun de ces paquets, nous avons rencontré des problèmes qui nous on poussé
à réviser nos objectifs.

3.4 Redéfinitions successives de la distribution


3.4.1 OpenWRT I
L’installation d’OpenWRT fut des plus confortables et sa large documentation conve-
nait parfaitement à nos explorations et découvertes. Pourtant nous avons rencontré un
problème insoluble dans le temps qui nous était imparti : le manque d’espace. Les distribu-
tions embarquées sont conçues pour employer la mémoire du routeur de manière optimale
selon les quantités standards, à savoir 2, 4 ou 8Mo. OpenWRT nous laissait donc un petit
méga-octet d’espace libre sur les 4 dont nous disposions.
En considérant les tailles moyennes des paquets des dépots d’OpenWRT, cela parais-
sait largement suffisant. Malheureusement, cela s’est révélé être très légèrement insuffisant.
En effet, la suite aircrack-ng, pour être complète, est très lourde et nécéssite des librai-
ries elles-même lourdes comme OpenSSL. L’installation est possible mais ne laisse guère
suffisamment d’espace pour installer WL ou screen sans lesquels la suite est inutilisable.
Nous avons donc décidé de nous rediriger vers la distribution dd-wrt, ce qui avait le
double avantage de permettre de gagner un peu de place, du moins selon la documenta-
tion associée, et de nous faire découvrir une nouvelle distribution et d’éviter ainsi de ne
connaître qu’OpenWRT. dd-wrt propose en effet de plus nombreuses versions selon les
quantités de mémoire.

3.4.2 dd-wrt
L’installation de dd-wrt, une fois choisie la version à l’aide de la documentation, ne
pose pas plus de problème qu’OpenWRT. Pourtant, c’est une fois l’installation effective
que nous avons rencontré le plus de difficultés.

11
C’est au moment de se connecter pour la première fois au routeur en ssh que nous
avons brutalement découvert l’existence du système des clés privées/clés publiques. Le ssh
sur dd-wrt fut donc pour nous une épreuve, ce qui nous a particulièrement rebuté alors
que cela avait été instantané sur OpenWRT.
Les difficultés s’enchaînèrent puisque le système de gestion de paquets de dd-wrt est en-
core IPKG. Les similarités de fonctionnement avec OPKG ne suffirent pas à nous faciliter
la tâche étant donné que la nouvelle distribution ne plébiscite pas ce mode d’installation.
Ainsi, avant d’avoir accès aux mêmes facilités que sur OpenWRT, il faut sur dd-wrt ac-
tiver le système de partition jffs, désactivé par défaut, puis configurer les dépots ... qui
sont ceux d’OpenWRT !
Trouver des dépots de paquets spécifiques à une distribution embarquée conçue pour
notre routeur est une épreuve que nous avons redouté. Ceux-ci existent, contrairement à
ce que nous avons craint. Ces premiers soucis contournés, nous avons finalement rencontré
exactement le même problème que sous OpenWRT, à savoir le manque d’espace.
Toutes ces péripéties pour se heurter en fin de compte au même mur nous convain-
quirent de retourner au plus vite sous OpenWRT. Les objectifs changèrent à nouveau
puisque nous avons décidé d’abandonner la suite aircrack, trop lourde pour fonctionner
sur le routeur sans support de stockage additionnel. Dans le cadre d’une nouvelle recherche
de logiciel d’analyse de réseaux, nous avons envisagé par ailleurs qu’une distribution où
nous nous sentirions à l’aise faciliterait notre tâche.

3.4.3 OpenWRT II
De retour sous OpenWRT (après avoir testé malgré nous l’installation via TFTP),
nous avons défini les derniers objectifs de notre projet, à savoir de trouver et d’installer un
logiciel proposant quelques fonctionnalités d’aircrack en gagnant suffisamment d’espace
pour qu’il puisse fonctionner sur le routeur. Ce fut chose faite avec Kismet, utilitaire
d’audit de réseaux sans fil très léger et modulaire. Son installation sur OpenWRT ne pose
pas de problème, en plus de WL, là encore nécéssaire.
Nous n’avons pas eu le temps de pousser plus loin notre exploration de ce nouveau
logiciel comme arrivait la fin du projet. Cela nous a donc conduit à arrêter nos expéri-
mentation et à considérer plutôt les perspectives offertes afin de poursuivre le projet et
enrichir notre expérience de l’embarqué. Deux chemins s’offrent à nous dans le cadre d’un
nouveau projet dans la continuité de celui-ci. Le premier est plus matériel et concerne
précisément la mémoire du routeur.
Nous avons trouvé durant nos recherche de nombreuses explications pour ajouter au
routeur une carde SD [1]. À moindre coût, cela fait monter la quantité de mémoire persis-
tante de 4Mo à 512Mo, voire plus. De quoi nous éviter tout problème de place ultérieur.
Le deuxième chemin s’orienterait vers l’aspect logiciel. Nous n’avons pas, au cours du
projet mis en oeuvre les logiciels de sécurité réseau que nous avons réussi à intégrer.
Une suite à ce projet pourrait donc consister à utiliser les bases acquises pour expéri-
menter des méthodes de test de sécurité pour réseaux Wifi. Cette suite ne serait d’ailleurs
pas incompatible avec une manipulation consistant à rajouter de la mémoire.

4 Méthodologie
La section suivante concerne la méthodologie employée au cours du projet ainsi que la
chronologie. La phase de recherche a commencé dès le choix du sujet, mais ce n’est qu’une
fois que la décision d’acheter un routeur a été prise que le rythme s’est accéléré.
Le projet a progressé par à-coups au fil des réunions, le site Web étant du même coup
mis à jour afin de conserver la trace du travail réalisé. Tout au long du projet, enfin, nous
avons essayé de fixer des rendez-vous réguliers avec notre encadrant.

12
4.1 Recherches : distribution et matériel
Le premier travail a été de mener en parallèle des recherches concernant les routeurs
fonctionnant sous Linux et des distributions associées. Nous nous sommes largement re-
posés sur Internet pour cela, aiguillés par notre encadrant. Le choix d’OpenWRT et du
routeur WRT54GL fut arrêté aux alentours de mi-avril. Nous avons également pris le
temps de rechercher des émulateurs de routeur avant d’avoir pris la décision d’en acheter
un.
Comme les objectifs n’étaient pas totalement définis et que nous ne connaissions pas
du tout le domaine de l’embarqué, cette phase a nécessité beaucoup de temps et de re-
cherches tous azimuts souvent infructueuses. C’est à ce moment que nous avons déterminé
un ensemble de distributions sur lesquelles cibler nos recherches. Cette phase s’est donc
terminée avec la commande du routeur fin avril.

4.2 Site Web : des débuts difficiles mais une maturation réussie
Nous voulions initialement utiliser un site commun pour présenter le travail effectué
tout au long du projet. Cependant, cela n’aurait été pratique que si nous avions eu recours
à un hébergeur pour mettre en ligne le site, investissement qui n’aurait pas été justifié.
Ainsi, Corentin Marciau a débuté le developpement Web et la mise en ligne de l’avan-
cement du projet. Suite à des discussions et des retards, il fut décidé que le site serait
reconstruit et maintenu par Aurélien Tamisier.
Le nouveau site s’est alors stabilisé et a évolué jusqu’à aujourd’hui. Ainsi, le dévelop-
pement s’est déroulé en deux phases : la première, de fin avril à mi-mai avec la mise en
ligne des recherches sur les distributions, puis la seconde de mi-mai à début juin avec des
mises à jours plus régulières et des informations plus pratiques concernant notre travail.

Les deux sites sont visibles aux adresses suivantes :


– Ancien site : http://www.ecole.ensicaen.fr/~marciau ;
– Site officiel : http://www.ecole.ensicaen.fr/~tamisier .

4.3 Phase d’installation


Un peu avant la mi-mai ont débuté les opérations d’installation des distributions et
celles d’expérimentation des logiciels ont logiquement suivi. Nous avons alors préféré fonc-
tionner par réunions successives afin d’avancer de concert. Nous avons ainsi installé Open-
WRT et découvert le système en premier lieu et une ou deux semaine plus tard, nous
sommes passés à dd-wrt. Les installations de paquets furent également réparties pendant
cette période.

4.4 Révision des objectifs


L’installation de dd-wrt qui correspond à la période où nous avons changer d’objectifs
pour la première fois, s’est déroulée fin mai au cours du week-end du 22. Nous avons alors
convenu après très peu de temps, suite à nos déboires, de revenir à OpenWRT et de se
concentrer sur d’autres paquets. Les objectifs on peu varié par la suite et jusqu’à la fin du
projet début juin. Les dernières réunions et recherches se sont concentrés sur kismet et sur
la finalisation du site Internet jusqu’à la clôture et le début de la rédaction du rapport.

4.5 Rédaction du rapport


Le présent rapport a été rédigé grâce au langage LATEX, outil puissant et très répandu
dans les domaines scientifiques. Cela nous a permis d’avoir une plus grande flexibilité de

13
rédaction, ainsi qu’un meilleur contrôle sur l’agencement du texte, tout en conservant une
homogénéité parfaite.
Les fichiers sont compilés avec pdf latex, ce qui permet d’obtenir des fichiers PDF. Pour
intégrer la page de garde, nous avons eu recours à l’outil pdf tk permettant de concaténer
plusieurs fichiers PDF. Nous utilisons aussi BibTeX pour générer la bibliographie.

4.6 Diagramme de Gantt


Afin de représenter graphiquement l’avancement du projet, voici un diagramme repré-
sentant sur une échelle temporelle les diférentes étapes de notre progression.

5 Conclusion
Le projet "Distributions Linux embarquées" s’articule finalement autour de deux axes,
le premier concernant les choix matériels et logiciels que nous avons pris, et le second les
manières de manipuler le routeur ainsi que les connaissances à avoir pour évoluer avec les
distributions envisagées.
L’objectif principal, qui était d’établir un aperçu du matériel disponible dans le com-
merce et des distributions Linux utilisables, a été atteint. L’objectif secondaire, dont la
définition était moins claire, a été partiellement rempli puisque nous n’avons pas abouti
à une utilisation effective du routeur pour un audit de sécurité, mais de nombreuses
connaissances, auxiliaires mais néanmoins indispensables au bon fonctionnement de la
distribution, ont été apportées.
Nous avons longuement discuté, au fil du projet, de la pertinence de nos choix et de
l’apport de cette activité à notre cursus. Pour effectuer un bilan exhaustif, les compétences
que nous avons dû mettre en oeuvre (et le plus souvent, acquérir pour l’occasion) sont
très larges.
Qu’il s’agisse de la réalisation d’un site Web, de la manipulation d’outils réseau ou
de l’utilisation de clés publique et privée, le projet nous a donc permis de nous ouvrir
à de nouveaux champs de l’informatique. Par ailleurs, les compétences acquises lors de
ce projet nous permettent d’envisager de mener celui-ci à son terme, car nous sommes
désormais en mesure de résoudre les problèmes auxquels nous avons été confrontés (espace
mémoire, installation de paquets, outils d’audit).

14
A Bibliographie
Références
[1] Paul Asadoorian and Larry Pesce. Linksys WRT54G Ultimate Hacking. Syngress,
2007.
[2] dd wrt. http://www.dd-wrt.com/site/index.
[3] dd-wrt : documentation francophone. http://www.dd-wrt.com/wiki/index.php/
dd-wrt_Docu_(FR).
[4] emdebian. http://www.emdebian.org/.
[5] OpenWRT. http://www.openwrt.org/.
[6] Sveasoft. http://www.sveasoft.com/.
[7] VxWorks. http://www.windriver.com/products/vxworks/.
[8] Wikipedia. http://fr.wikipedia.org/wiki/Système_embarqué.
[9] Linksys WRT54GL. http://www.linksysbycisco.com/EU/fr/products/WRT54GL.

15

You might also like