SLIDE 1
Replicant : appareils mobiles, logiciels libres et vie priv ee - - PowerPoint PPT Presentation
Replicant : appareils mobiles, logiciels libres et vie priv ee - - PowerPoint PPT Presentation
Replicant : appareils mobiles, logiciels libres et vie priv ee Paul Kocialkowski paulk@replicant.us Samedi 2 Juin 2016 Composants, probl ematiques et libert es Composants et impl ementations Composants (num eriques) dun
SLIDE 2
SLIDE 3
Composants et impl´ ementations
Composants (num´ eriques) d’un appareil mobile :
- Processeurs
- Processeur principal
- Processeurs auxiliaires de calcul
- Processeur de communication
- Contrˆ
- leurs
- P´
eriph´ eriques Impl´ ementations :
- Design mat´
eriel
- Logiciels
SLIDE 4
Situation actuelle, probl´ ematiques
Situation et ´ evolutions :
- Nombre de composants programm´
es
- D´
elocalisation du traitement
- Acc`
es aux communications et aux donn´ ees Probl´ ematiques :
- Confiance en la technologie
- Contrˆ
- le des appareils
- Connaissance du fonctionnement,
pr´ eservation Degr´ e de complexit´ e
SLIDE 5
Libert´ es fondamentales et impl´ ementations
Garanties : libert´ es fondamentales
- 0. Utilisation pour tous les usages
- 1. ´
Etude et modification
- 2. Redistribution
- 3. Redistribution des modifications
Impl´ ementations pour les appareils mobiles :
- Design mat´
eriel libre
- Logiciel libre
SLIDE 6
Appareils mobiles et libert´ e
SLIDE 7
Appareils mobiles et libert´ e
Design mat´ eriel libre
SLIDE 8
Design mat´ eriel libre
Technologies :
- Circuits imprim´
es
- Circuits int´
egr´ es Lib´ erer le mat´ eriel :
- Modifications, code source et design
- Formats et chaˆ
ınes d’outils
- Coˆ
uts et dimensions
- Infrastructure et confiance
SLIDE 9
Design mat´ eriel libre
Situation actuelle:
- Possible `
a certains niveaux
- Exemples de designs de circuits int´
egr´ es libres : OpenRISC, OpenSPARC, LEON, LM32, lowRISC, etc
- Exemples de designs de circuits imprim´
es libres : Arduino, Freeduino, USB armory, Novena, etc
- Documentation mat´
erielle, confusion ”OpenHardware”
- Rapport aux appareils mobiles
Jamais aussi simple que: $ ./configure $ make # make install
SLIDE 10
Appareils mobiles et libert´ e
Lib´ eration du logiciel et limitations
SLIDE 11
Lib´ eration du logiciel
Lib´ eration du logiciel :
- Positions des fabricants
- Int´
erˆ et ´ economique
- Droits d’auteur (blocs), brevets
- Gauche d’auteur (copyleft)
- Qualit´
e, maintenabilit´ e (r´ ef´ erence)
- Travail d’ing´
enierie inverse
- Temps et ressources n´
ecessaires
- Possibilit´
e technique, limitations r´ ecurrentes
- Int´
erˆ et ` a long terme et obsolescence
SLIDE 12
Limitations techniques ` a la lib´ eration du logiciel
Limitations r´ ecurrentes :
- Documentation du mat´
eriel, sch´ emas, etc
- Connaissances techniques et outils adapt´
es
- Contraintes l´
egales (ing´ enierie inverse)
- Possibilit´
e de remplacer le logiciel : M´ emoires en lecture seule, interfaces secr` etes, acc` es ”externe”
- Possibilit´
e d’ex´ ecuter son propre code : v´ erifications
- Possibilit´
e de d´ eboguer le code Une fois le logiciel lib´ er´ e fonctionnel :
- Facilit´
e d’installation pour l’utilisateur
- Risque de rendre le tout inop´
erant
SLIDE 13
Logiciels sur diff´ erents composants
Diff´ erents composants ex´ ecutant des logiciels :
- Processeurs (principal, auxiliaires, communication)
- Contrˆ
- leurs
- P´
eriph´ eriques Diff´ erents types de logiciels:
- Micrologiciels
- Logiciels de d´
emarrage
- Environnements logiciels de confiance
- Syst`
emes d’exploitation
SLIDE 14
Appareils mobiles et libert´ e
Micrologiciels
SLIDE 15
Micrologiciels et libert´ e
Mat´ eriel associ´ e :
- Processeurs auxiliaires
- Contrˆ
- leurs et p´
eriph´ eriques Prise en charge du logiciel libre :
- Mat´
eriel sp´ ecifique (Arduino, BusPirate, FX2LA)
- P´
eriph´ eriques Wi-Fi (ath9k htc, AR9170, OpenFWWF) Appareils mobiles :
- Micrologiciels propri´
etaires, rarement v´ erifi´ es
- Pre-install´
es ou charg´ es
- Wi-Fi, bluetooth, GPS, multimedia, cam´
eras, . . . Pas de micrologiciels libres pour les appareils mobiles
SLIDE 16
Appareils mobiles et libert´ e
Processeur de communication (modem)
SLIDE 17
Processeur de communication (modem) et libert´ e
Processeur de communication (modem) :
- Processeur puissant
- Syst`
eme d’exploitation complet
- Interfaces R/F
Logiciels pour le modem :
- Syst`
emes propri´ etaires (appareils modernes)
- Remplacer le syst`
eme, v´ erifications Prise en charge du logiciel libre :
- Pile GSM libre : OsmocomBB
- Limites : utilisation, prise en charge, certification
´ Enorme probl` eme pour la libert´ e et la vie priv´ ee/s´ ecurit´ e
SLIDE 18
Isolation du processeur de communication (modem)
Enjeux de vie priv´ ee/s´ ecurit´ e :
- Acc`
es au mat´ eriel
- Capacit´
e d’espionner l’utilisateur
- Capacit´
e de compromettre le processeur principal? Isolation du modem :
- Contournement, autres moyens d’espionner
- V´
erification pratique et confiance : preuve de mauvaise situation, modem int´ egr´ e, sch´ emas, mat´ eriel libre
- Probl`
emes de libert´ es ? Solution pragmatique et jamais enti` erement fiable
SLIDE 19
Appareils mobiles et libert´ e
Processeur principal
SLIDE 20
Logiciels sur le processeur principal
Diff´ erentes couches logicielles :
- Logiciels de d´
emarrage
- Environnement logiciel de confiance
- Syst`
eme d’exploitation :
- Noyau (Linux)
- Couches d’abstraction mat´
erielle
- Frameworks
- Applications
SLIDE 21
Logiciels de d´ emarrage et libert´ e
Logiciels de d´ emarrage :
- Bootrom : privateur, m´
emoire non-r´ einscriptible (hardware)
- V´
erifications de signatures, chargement en chaˆ ıne sp´ ecifique ` a la plateforme, variante
- Logiciels de d´
emarrage libres : U-Boot, Coreboot
- Exemples de bonnes plateformes :
i.MX, Allwinner, OMAP (GP), Tegra (non-ODM), Rockchip
- Quels appareils mobiles ?
Logiciels de d´ emarrage libres pour quelques appareils mobiles
SLIDE 22
Environnement logiciel de confiance
Besoin de logiciels de confiance :
- Syst`
eme d’exploitation imparfait
- Op´
erations privil´ egi´ ees, acc` es mat´ eriel
- Op´
erations sensibles (vie priv´ ee/s´ ecurit´ e) Impl´ ementation d’un environnement logiciel de confiance:
- Coop´
eration avec la puce (TrustZone)
- Mis en place rapidement (logiciel de d´
emarrage)
- Mode privil´
egi´ e, Secure Monitor Call (SMC)
SLIDE 23
Environnement logiciel de confiance et libert´ e
Cons´ equences pour la libert´ e :
- Pas bon ou mauvais per-se
- Privil`
eges
- Implications pour la vie priv´
ee/s´ ecurit´ e
- Impl´
ementations libres
- D´
ependance au logiciel de d´ emarrage
- Impl´
ementations propri´ etaires et v´ erifi´ ees (appareils r´ ecents)
- Bons exemples connus : USB armory avec i.MX53, Rockchip
Souvent probl´ ematique pour les appareils r´ ecents mais pourrait respecter la libert´ e
SLIDE 24
Syst` eme d’exploitation et libert´ e
Crucial pour la vie priv´ ee/s´ ecurit´ e :
- Acc`
es aux contrˆ
- leurs et p´
eriph´ eriques
- Acc`
es aux donn´ ees de l’utilisateur
- Acc`
es aux communications de l’utilisateur
- Samsung Galaxy back-door
Au premier plan du logiciel libre :
- Interaction directe
- Compr´
ehension, modifications
- Nouvelles versions, mises `
a jour
SLIDE 25
Syst` eme d’exploitation et libert´ e
Couches des syst` emes d’exploitation :
- Noyau : Linux, libre, versions modifi´
ees, drivers passoires
- Couches d’abstraction mat´
erielle : privateur en majorit´ e
- Frameworks : syst`
emes plutˆ
- t libres
Android, FirefoxOS, Ubuntu Touch, OpenWebOS, etc
- Applications : diverses libres
D´ epˆ
- ts d’applications (F-Droid)
SLIDE 26
Couches d’abstraction mat´ erielle et libert´ e
Aspects g´ en´ eralement probl´ ematiques :
- Acc´
el´ eration graphique, GPU
- GPS
Selon les plateformes :
- Cam´
eras (d´ ependance au GPU)
- Audio
Projets d´ edi´ es lib´ eration des aspects complexes (GPUs) :
- Freedreno (GPUs Adreno)
- Nouveau (GPUs nVidia)
- Lima (GPUs Mali)
Couches privatrices : n´ ecessit´ e, privil` eges, acc` es, savoir
SLIDE 27
Bilan et rem´ ediations possibles
SLIDE 28
Bilan, approches pragmatiques
Apr` es une vue d’ensemble des appareils mobiles :
- Situation imparfaite
- Appareils peuvent ˆ
etre compromis (donn´ ees, communications)
- ´
Evaluation des enjeux, niveaux de confiance
- Limites du possible `
a court terme
- Besoin fort de d´
eveloppeurs Approches ` a court et moyen terme :
- Lib´
erer le syst` eme du processeur principal
- Pr´
ef´ erer de bonnes plateformes
- Int´
erˆ et pour l’isolation du modem
- Production d’appareils mobiles
SLIDE 29
Bilan et rem´ ediations possibles
Syst` eme libre : Replicant
SLIDE 30
Replicant : syst` eme libre pour appareils mobiles
Projet bas´ e sur des id´ ees et valeurs :
- Syst`
eme mobile enti` erement libre, bas´ e sur Android
- Distribution et recommandation de logiciel libre exclusivement
(GNU FSDG)
- Accent sur la vie priv´
ee/s´ ecurit´ e
- Fonctionnel et utilisable
- Information et documentation
SLIDE 31
´ Etat du projet Replicant
´ Etat actuel du projet :
- Tr`
es peu de d´ eveloppeurs, temps libre
- Peu (mais de plus en plus) de contributions externes (s´
ecurit´ e)
- 12 appareils pris en charge :
Samsung Galaxy, Nexus
- Fonctionnalit´
es manquantes
- Base CyanogenMod 10.1, Android 4.2
- Soutien financier : dons
Derni` eres images : Replicant 4.2 0004
SLIDE 32
Appareils pris en charge par Replicant
Maintenus
- Nexus S (I902x): 2011
- Galaxy S (I9000): 2012
- Galaxy S 2 (I9100): 2012
- Galaxy Note (N7000): 2013
- Galaxy Nexus (I9250): 2012
- Galaxy Tab 2 7.0 (P31xx): 2013
- Galaxy Tab 2 10.1 (P51xx): 2013
- Galaxy S 3 (I9300): 2013
- Galaxy Note 2 (N7100): 2014
Pas compl´ et´ e
- GTA04: 2012
Plus maintenus
- HTC Dream/Magic: 2010
- Nexus One: 2011
SLIDE 33
Challenges et objectifs futurs
Challenges futurs :
- Confiance en CyanogenMod, OmniROM
- Nouvelles versions, prise en charge des appareils
- Applications Google et AOSP
Objectifs futurs :
- Version plus r´
ecente (6.0)
- Meilleure documentation
- Am´
eliorations pour la vie priv´ ee et la s´ ecurit´ e
- Meilleurs appareils pris en charge
SLIDE 34
Meilleure documentation, vie priv´ ee/s´ ecurit´ e
Mise ` a jour du wiki :
- ´
Evaluation des appareils et informations : chargeurs de d´ emarrage, vie priv´ ee/s´ ecurit´ e, isolation du modem
- Recherche `
a propos d’autres appareils
- Documentation des projets inachev´
es (GPS, etc) Am´ eliorations vie priv´ ee/s´ ecurit´ e :
- Version de Replicant orient´
ee s´ ecurit´ e ? au d´ etriment de certaines fonctionnalit´ es
- Prise en charge de meilleurs appareils
SLIDE 35
Bilan et rem´ ediations possibles
Meilleurs appareils
SLIDE 36
Appareils pris en charge, libert´ e, vie priv´ ee/s´ ecurit´ e
Mauvaise isolation du modem Chargeurs de d´ emarrage privateurs et sign´ es
SLIDE 37
Choix d’appareils pour Replicant
Pris en charge de meilleurs appareils :
- Designs mat´
eriels libres, documentation du mat´ eriel
- Appareils sans modem, isolation du modem
- Logiciels de d´
emarrage libres
- Protocoles connus et drivers libres
Communaut´ e OpenPhoenux :
- GTA04, appareils Letux
- Neo900
Appareils chinois peu coˆ uteux :
- Tablettes Allwinner
- Tablettes Rockchip
Appareils produits en masse : Autres formats d’appareils !
- Optimus Black (LG)
- Kindle Fire premi`
ere g´ en´ eration (Amazon)
SLIDE 38
En apprendre plus ` a propos de Replicant :
- Site web : http://www.replicant.us/
- Blog : http://blog.replicant.us/
- Wiki/tracker : http://redmine.replicant.us/
Rejoignez la communaut´ e :
- Forums
- Liste de diffusion
- Canal IRC : #replicant chez freenode
Le projet a besoin de vous !
- Replicant m´
erite plus qu’un seul d´ eveloppeur
- Les dons sont bienvenus (les appareils coˆ