LISTE
DES ABREVIATIONS
ARP: Address Resolution Protocol
API: Application Programming Interface
BTT: BPF testing tool
BDAT: BPF design aid tool
BPF: Berkeley Packet Filter
CSV: Comma-Separated Values
C&C: command-and-control
CVE: Common vulnerabilities and Exposures
DDoS: Distributed Denial of Service
DHCP: Dynamic Host Configuration
Protocol
DoS: Denial of Service
DNS: Domain Name System
FAI : Fournisseurs d'accès à
Internet
GSM: Global System for Mobile
Communications
GPRS: General Packet Radio Service
HTTP: HyperText Transfer Protocol
ICMP: Internet Control Message Protocol
IRC: Internet Relay Chat
IPTRB: IPTable rule builder
IP: Internet Protocol
IoT: Internet of Things
LED: light-emitting diode
LTE: Long Term evolution
LSTM: Long Short Term Memory
MLP: multilayer perceptron
MAC: Media Access Control
NF: NetFilter
NFC: Near Field Communication
NBIoT: Narrowband Internet of Things
OWASP: Open Web Application Security Project
OS: Operating System
PCAP: Packet Capture
PC: Personal Computer
SSH: Secure Shell
SSL: secure sockets layer
SD: Secure Digital
TCP: Transmission Control Protocol
UDP: User Datagram Protocol
USB: Universal Serial Bus
UMTS: Universal Mobile Telecommunications
System
6LOWPAN: IPV6 Low-power wireless Personal Area
Network
INTRODUCTION GENERALE
Tous les objets de notre quotidien peuvent devenir
connectés et rendre notre vie plus confortable. Des caméras
intelligentes, des écouteurs sans fil, des télévisions ou
encore des montres connectées. En fait, il suffit d'ajouter un capteur
à un objet et le faire communiquer avec un réseau pour
transmettre et recevoir des données pour en faire un objet
connecté. Les objets connectés représentent une
opportunité immense pour de nombreuses entreprises.
Toutefois, la sécurité des objets
connectés à travers le monde inquiète de plus en
plus. Non seulement on compte environ 26.6 milliards d'appareils
connectés (On compte aussi les téléphones tablettes, etc)
en 2019 [1] mais leur chiffre continue exponentiellement d'augmenter. On ne
cesse de lire dans la presse et les divers sites et blogs liés à
la cyber sécurité tel que celui d'Olivier Ezratty les nombreuses
vulnérabilités dont elle souffre. Dans un des articles de son
site intitulé « peut-on sécuriser l'internet des
objets» [2], il présente les fragilités connues des
objets connectés et leur sécurisation. Nous nous rendons compte
que presque tout est « piratable » si ce n'est tout, que ce
soit des voitures, des caméras, des thermostats, des grille-pain etc.
Tout ceci à partir d'applications facilement trouvables sur internet et
téléchargeables sur son téléphone androïde.
D'ailleurs Kaspersky, l'éditeur de logiciels antivirus avait
déjà estimé en 2019 le nombre de piratages à 105
millions au premier semestre alors qu'il ne s'élevait qu'à 12
millions sur la même période en 2018 - soit neuf fois plus [3].
Parmi tous les domaines d'applications de l'internet des
objets tels que la santé, l'agriculture, les finances, c'est la
domotique qui va nous intéresser. Ceci simplement à cause du fait
que les objets connectés utilisés au sein d'un réseau
domotique sont des proies faciles et parfaites pour des attaquants. Les pirates
utilisent des « maliciels » (logiciels malveillants) pour
infecter ces objets connectés en exploitant des failles connues car peu
de fabricants de ces objets pensent à la sécurité de leurs
objets dès leur conception. Les attaquants les organisent ensuite en
« botnets » (réseau d'automates informatiques
souvent destinés à des usages malveillants) prompts à
déferler sur une cible, bien souvent des serveurs.
De plus, les caractéristiques de ces objets sont
très inférieures à celles d'un équipement de bureau
ce qui rend leur gestion difficile, sans parler de leur nombre et du fait que
certains sont mobiles ou facilement transportables (hors du réseau
domotique). Tout ceci révèle plusieurs difficultés pour
sécuriser les objets connectés : il est difficile
d'être informés d'une attaque en cours, un objet peut être
piraté hors du réseau et s'y reconnecter ensuite, il est
difficile d'avoir une vue des appareils connectés à un certain
temps dans un réseau, il est presque impossible de mettre des agents de
surveillance local sur chaque objet, en bref il est difficile de superviser la
sécurité d'un réseau d'objet connectés.
Cela inquiète et emmène donc à se poser
des questions sur la fiabilité des objets connectés d'une part
pour la confidentialité des données des utilisateurs de ces
objets et d'autre part sur la façon dont les hackers utilisent les
objets dont ils prennent le contrôle.
Nous voulons sécuriser les appareils d'un réseau
domotique au niveau de la passerelle. Un réseau domotique peut
être installé au sein d'une maison comme au sein d'une entreprise.
La domotique est l'ensemble des techniques permettant de centraliser le
contrôle des différents systèmes de la maison et/ou de
l'entreprise. Le plus important est que nous ne concentrons sur la passerelle
qui est l'élément central avec lequel les objets communiquent.
Nous voulons d'une part connaitre quels sont les objets connectés au
réseau et d'autre part bloquer les attaques avant même qu'elles
n'arrivent sur les objets car ceux-ci n'ont presque pas de mécanismes de
défense.
Nous proposons une passerelle qui s'occupe du trafic IoT et de
filtrer les paquets malveillants. Une passerelle permettrait non seulement de
protéger les objets connectés d'attaques auxquels elles sont le
plus exposées mais qui permettrait aussi d'avoir une vue globale des
objets du réseau. Ce travail vise à protéger les appareils
à l'intérieur du réseau interne d'attaques externes.
Notre travail sera présenté en 3
chapitres :
- Chapitre 1 : Nous présenterons ce que c'est
qu'un réseau d'objet connecté, les éléments qui le
composent, les éléments de son environnement, la façon
dont il communique dans le réseau, ses vulnérabilités, les
attaques fréquentes dont il fait face mais aussi des projets
existant.
- Chapitre 2 : Nous parlerons de la méthodologie
c'est-à-dire pour présenter les concepts clés qui nous
ont aidé à proposer une solution, de la façon dont nous
pensons pouvoir protéger le réseau interne et de la conception
des modèles proposés pour nous aidés dans notre
approche.
- Chapitre 3 : Nous présenterons les
résultats obtenus durant l'entraînement et les tests des
modèles suggérés tout en ayant précédemment
expliqués les métriques d'évaluation que nous utiliserons
et l'implémentation du code servant à vérifier le filtrage
sans création de règles de filtrage.
|