Sécurité du navigateur Chrome

Magazine
Marque
MISC
Numéro
78
Mois de parution
mars 2015
Domaines


Résumé

Naviguer sur Internet. Probablement l'une des tâches les plus complexes et les plus périlleuses que l'homme moderne accomplisse pourtant quotidiennement. Dans cette quête, il convient de s'équiper des meilleurs outils. Pour votre confort et votre sécurité à bord, voyons ce que le navigateur Google Chrome implémente dans les domaines de l’interprétation JavaScript et HTML, de la défense en profondeur (sandboxing), de l'extensibilité, et de la cryptographie.


1. JavaScript

1.1 Compilation JIT

Chrome fut le premier navigateur à proposer un saut quantique dans les performances JavaScript avec la compilation JIT :  il s'agit du projet « V8 », également disponible en version standalone [1].

Il s'agit de transformer le code JavaScript présent sur la page Web en code natif (Intel x86) qui va s'exécuter dans le navigateur sans garde-fou. On peut comprendre que l'expert en sécurité tressaille à cette idée.

En premier lieu le compilateur JIT doit produire du code valide, y compris (et surtout) après optimisation. Cela peut sembler une évidence, mais toutes les machines virtuelles existantes ont produit des contre-exemples…

- NET : dans un cas précis d'accès à un tableau, le code natif généré ne préserve pas les registres RSI et RDI, contrairement à ce qui est attendu par l'appelant. C'est la faille MS13-052 [2].

- Java : les nombreux crashs connus dans la méthode Node::rematerialize() sont généralement...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite
Références

http://dev.chromium.org/developers/design-documents 

http://blog.chromium.org/

[1] https://code.google.com/p/v8/

[2] http://weblog.ikvm.net/default.aspx?date=2013-07-10

[3] https://bugs.openjdk.java.net/issues/?jql=text%20~%20%22rematerialize%22

[4] https://code.google.com/p/google-security-research/issues/detail?id=106

[5] https://en.wikipedia.org/wiki/JIT_spraying

[6] http://matasano.com/research/Attacking_Clientside_JIT_Compilers_Paper.pdf

[7] http://www.safetyresearch.net/Library/BarrSlides_FINAL_SCRUBBED.pdf

[8] http://research.google.com/pubs/pub35162.html

[9] http://dinaburg.org/bitsquatting.html

[10] https://github.com/CMU-SAFARI/rowhammer

[11] http://blog.chromium.org/2012/05/tale-of-two-pwnies-part-1.html

[12] http://blog.chromium.org/2012/06/tale-of-two-pwnies-part-2.html

[13] https://www.nsa.gov/ia/_files/factsheets/i733-006r-2008.pdf

[14] http://www.chromium.org/developers/design-documents/sandbox

[15] http://googleprojectzero.blogspot.com/2014/10/did-man-with-no-name-feel-insecure.html

[16] http://googleprojectzero.blogspot.com/2014/11/project-zero-patch-tuesday-roundup.html

[17] https://code.google.com/p/chromium/issues/list?can=1&q=pwn2own&colspec=ID+Pri+M+Iteration+ReleaseBlock+Cr+Status+Owner+Summary+OS+Modified&cells=tiles

[18] http://peter.sh/experiments/chromium-command-line-switches/

[19] https://chrome.google.com/webstore/category/extensions

[20] https://developer.chrome.com/extensions/devguide

[21] http://www.chromium.org/developers/npapi-deprecation

[22] http://labs.bromium.com/2014/07/22/h1-2014-endpoint-exploitation-trends/

[23] http://www.chromium.org/nativeclient/

[24] http://events.ccc.de/congress/2008/Fahrplan/events/3023.en.html

[25] http://www.ssi.gouv.fr/IMG/pdf/B1_referentiel_standard.pdf

[26] https://en.wikipedia.org/wiki/Transport_Layer_Security#Attacks_against_TLS.2FSSL

[27] http://blog.fox-it.com/2011/11/21/rsa-512-certificates-abused-in-the-wild/

[28] https://www.eff.org/fr/observatory

[29] http://www.ssi.gouv.fr/fr/anssi/services-securises/igc-a/certificats-et-liste-de-revocation-emis-par-l-igc-a-rsa-2048.html

[30] http://www.certificate-transparency.org/

[31] https://chromium.googlesource.com/chromium/chromium/+/trunk/net/http/transport_security_state.cc

[32] https://chromium.googlesource.com/chromium/chromium/+/trunk/net/cert/crl_set.cc

[33] https://github.com/agl/crlset-tools

[34] http://www.chromium.org/developers/design-documents/idn-in-google-chrome

[35] https://developers.google.com/safe-browsing/

[36] http://www.chromium.org/developers/design-documents/safebrowsing

[37] http://www.oxid.it/downloads/ca_setup.exe

[38] https://code.google.com/p/omaha/

[39] https://code.google.com/p/browsersec/wiki/Main

[40] http://lcamtuf.blogspot.com/2014/03/messing-around-with-download.html



Articles qui pourraient vous intéresser...

La téléportation, de la fiction au SDN

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

L’art de se téléporter n’est plus réservé au cinéma ! Suite au développement de nouveaux paradigmes tels que le SDN, facilitant le déploiement de firewalls, la sécurité du plan de données a considérablement augmenté. Mais est-il possible d’éviter ces points de passage pour exfiltrer des données entre deux extrémités d’un réseau ? Au lieu de chercher un trou dans le mur, ne serait-il pas plus simple de trouver un moyen de le contourner ? C’est là l’ambition des techniques de téléportation. Nous explorerons les différentes techniques exploitant ce concept, puis nous reproduirons l’une de celles-ci sur un contrôleur SDN, ONOS.

Découverte de la puce Titan M a.k.a Citadel

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

La puce Titan M ou Citadel est une puce sécurisée sur laquelle repose en grande partie la sécurité des terminaux Android de Google, la gamme Pixel. Dans cet article, nous détaillerons le fonctionnement interne et les usages de ce composant pour lequel peu d’information publique est disponible à ce jour. Nous donnerons également plusieurs pistes pour aider le rétro-ingénieur à travailler sur ce projet.

Introduction au dossier : Puces sécurisées - À la découverte de la sécurité matérielle

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Le grand public est familiarisé, ne serait-ce qu’inconsciemment, au concept de puce de sécurité de par l’usage quotidien et depuis de nombreuses années des cartes à puce dans le domaine bancaire ou des cartes SIM dans la téléphonie mobile. Des puces dédiées à la sécurité ont également fait leur apparition dans certains de nos équipements du quotidien (ordinateur portable, smartphone), qu’il s’agisse de microcontrôleur dédié disposant de fonctionnalités liées à la cryptographie (stockage de clef de chiffrement) tel un TPM, ou d’un mode d’exécution sécurisé intégré au processeur principal, à l’instar de SGX pour Intel, de TrustZone chez ARM et de PSP pour AMD.

Les protections des Secure Elements contre les attaques physiques

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Écrire du code sécurisé sans bug ni vulnérabilité n’est pas suffisant pour protéger un système contre des attaques matérielles. Les circuits sécurisés, ou Secure Elements, sont de vraies forteresses numériques capables de résister à des attaques évoluées, qui requièrent parfois des moyens colossaux. Que se cache-t-il derrière ces petites puces ?