Professional Documents
Culture Documents
6, bd maréchal Juin
F-14050 Caen cedex 4
Distributions Linux
embarquées
Corentin MARCIAU
Aurélien TAMISIER
2009 - 2010
2
Table des matières
1 Introduction 4
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.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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.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.
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.
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