12345678910111213141516171819202122232425262728293031323334353637383940 |
- Ce rapport formalise mon stage ingénieur de fin d'étude, réalisé de février 2018
- à août 2018. Il retrace une grande partie de mon travail au sein de l'entreprise
- VideoLabs, sponsorisant le développement d'un lecteur multimédia libre et bien
- connu: VLC. Le sujet principal de ce rapport sera la transformation de VLC pour
- introduire un modèle multi-processus à travers un fil rouge dédié au sandboxing.
- Le sandboxing consiste à isoler les parties de l'application en limitant leurs
- accès et permissions, et l'ajout de cette architecture multi-processus est
- nécessaire pour en réaliser une implémentation satisfaisante.
- En premier lieu, j'introduirai le fil principal de ce document, le sandboxing,
- en soulignant des concepts, des exemples d'attaques et de raisons d'appliquer
- ce type de mesure et en rajoutant un état de l'art du sandboxing dans les
- applications d'aujourd'hui.
- En second lieu, je ferai une présentation technique simple du fonctionnement
- interne de VLC pour couvrir les besoins des autres parties tout en mentionnant
- des points d'intérets pour l'implémentation de la sandbox.
- En troisème partie, je mettrai en avant mes recherches et les mécanismes que
- j'ai mis en place pour intégrer incrémentalement une architecture
- multi-processus au sein de VLC. La finalité de l'intégration de cette
- architecture est d'apporter du \og{}sandboxing\fg{} dans libvlc. Il s'agissait de la
- mission centrale de mon stage donc une grande attention sera portée à détailler
- le contexte, les problématiques à résoudre lors de son intégration, les
- difficultés rencontrées et les points à améliorer, de façon à offrir une trace
- réutilisable pour la compréhension du travail.
- En quatrième partie, je détaillerai tout particulièrement l'implémentation Linux
- et les solutions techniques pratiques liées aux points évoqués dans la partie
- précédente. S'agissant du modèle de référence et s'appuyant sur les travaux du
- précédent stagiaire Guillaume Fournier, la partie permettra de montrer
- réellement l'architecture multi-processus fonctionnelle et en place.
- En cinquième partie, j'ajouterai les missions supplémentaires auxquelles j'ai
- participé en détaillant leurs spécificités. Trois gros projets indépendants se
- détachent en particulier: l'écriture d'un encodeur matériel pour Android et la
- finalisation d'un projet de cinéma virtuel ainsi que d'un client BitTorrent
- pour VLC comprenant des travaux liés à ses dépendences. À cela s'ajoutent en
- outre des résolutions de bogues et des rajouts de fonctionnalités.
|