Navigateur sécurisé d’Avira : projets et tactiques (partie 1)

Le nœud gordien

Un navigateur sécurisé implique la résolution des problèmes de sécurité dans un certain laps de temps. Ça paraît logique, n’est-ce pas ? En ce qui nous concerne, ce laps de temps est de seulement quelques jours après la prise de connaissance du problème. Chrome corrige les vulnérabilités à chaque nouvelle version, ce qui nous oblige à éditer de nouvelles versions en synchronisation avec les versions de Chrome. Mais chaque modification que nous effectuons dans le code source de Chromium engendre des conflits de fusion. Lorsque nos modifications (qui sont spécifiques à Avira) et les modifications des développeurs de Chromium se chevauchent, nos outils ne peuvent pas les combiner. À raison d’environ 150 modifications, nous devions faire face à un conflit par semaine et passions des heures et des heures à extriquer le code.

À la manière d’Alexandre, qui à son époque choisit l’épée, nous avons tranché : nous n’introduirons pas de différences par rapport au code de Chromium.

Nous voulons envisager le navigateur davantage comme une distribution Linux (Ubuntu, par exemple). Nous sélectionnons les meilleurs outils. Nous les combinons. Nous en assurons la gestion et la maintenance. Nous les optimisons.

Extensions open source

Des extensions de sécurité formidables existent déjà pour les navigateurs. Nous n’avons qu’à investir quelques années de travail à copier leurs fonctionnalités. Nous pouvons créer des versions closed source qui seront pratiquement aussi bonnes que les extensions originales, à la différence qu’elles seront à NOUS !

… trêve de plaisanterie …

Nous avons décidé de nous tourner vers les communautés et de leur expliquer nos projets. Nous avons déjà commencé à collaborer et nous continuerons à le faire (les difficultés rencontrées avec les fondements du navigateur ont été plus longues à résoudre que prévu et nous avons légèrement dépassé la limite de temps fixée au départ, nous en parlerons plus en détail dans un prochain article). Les premières extensions sont intégrées, d’autres sont à venir. Une technique efficace et une situation gagnant-gagnant.

Notre contribution à Chromium

Seules les différences de code entre notre navigateur et Chromium causent des problèmes. Si nous voulons une fonctionnalité de sécurité en particulier, nous pouvons apporter notre contribution au code de Chromium de sorte à ce qu’il n’y ait pas de différences ni de conflits de fusion. Nous protégeons ainsi et accidentellement plus de personnes que nous ne sommes tenus de le faire, mais personne n’est parfait. 😉

Nous avons déjà contribué à tout un tas de modifications qui permettent une valorisation plus simple de la marque (plus de détails dans le prochain article). Mais les collègues de HTTPS-Everywhere à eux seuls ont une liste de vœux avec 2 ou 3 modifications importantes du code de Chromium. La prochaine étape sera d’étendre l’interface de programmation (API) des extensions car nous voulons que davantage d’informations y soient disponibles. Par exemple, il est à l’heure actuelle impossible de visualiser les détails de chiffrement (suite cryptographique utilisée, certificats) à partir d’une extension. Cela signifie qu’il était jusque là impossible d’écrire quelque chose comme Calomel pour Chrome.

Notre contribution au code tiers

Chromium intègre plus de 100 bibliothèques tierces. Ces dernières contiennent des vulnérabilités, des bogues et des failles. Lorsque nous trouvons un problème, nous le résolvons et envoyons les correctifs en amont (c’est-à-dire aux auteurs). Nous procédons actuellement à des expériences sur le meilleur moyen de développer autant de corrections que possible par semaine. Dès que nous aurons trouvé une bonne solution, nous vous en informerons par le biais d’un autre article de blog.

Nos propres extensions

Bien évidemment, nous avons déjà intégré PNA (Protection de navigateur Avira) et SafeSearch. Ça tombe sous le sens. Passons donc à la suite.

Nos outils externes

En ce moment, nous planifions l’intégration de notre scanner antivirus dans le navigateur. Nous faisons déjà des analyses avec la fonctionnalité Protection Web, mais le futur d’Internet est résolument dans le chiffrement (plus d’HTTPS, \o/). Protection Web est un proxy, or l’analyse du trafic chiffré à l’aide d’un proxy est source de nombreuses cryptomigraines. Heureusement, le navigateur déchiffre les données (il est bien obligé) dès qu’elles arrivent : l’analyse du contenu des paquets de données déchiffrées directement dans le navigateur est un bon remède à ces cryptomigraines.

Protection Web convient donc très bien pour le moment. Mais bien sûr, nous réfléchissons déjà à l’avenir. Lorsque le futur sera là, nous serons prêts, avec des capacités d’analyse optimales dans le navigateur.

Tout ce que je viens de mentionner ne représente qu’environ 50 % de ce que nous projetons de faire. Ne manquez pas les deux autres tactiques avancées que nous comptons mettre en œuvre. Celles-ci sont décrites dans le prochain article.

TL;DR:
Il y a tellement de possibilités d’amélioration du navigateur, sans même toucher au noyau…

Nous avons parcouru la moitié du chemin. Il est temps de faire une pause.
Thorsten Sick

Cet article est également disponible en: AnglaisAllemandItalien

I use science to protect people. My name is Thorsten Sick and I do research projects at Avira. My last project was the ITES project where I experimented with Sandboxes, Sensors and Virtual Machines. Currently I am one of the developers of the new Avira Browser