_hackers/minds
Colin Percival
Chercheur en sécurité

Colin Percival

Informaticien canadien créateur de scrypt, de bsdiff et de Tarsnap, qui a découvert une vulnérabilité critique side-channel sur le hyper-threading d'Intel.

Nationalité
Canada

Colin Percival est un informaticien et chercheur en sécurité canadien reconnu pour des contributions fondatrices à la cryptographie, à la compression delta et à l'infrastructure open source. Il a développé la fonction de dérivation de clé scrypt et l'algorithme de compression bsdiff, et a fondé le service de sauvegarde en ligne chiffré Tarsnap. Il est contributeur de longue date du projet FreeBSD, dont il a été le Security Officer puis le Lead Release Engineer.

Jeunesse et formation

Percival a commencé à suivre des cours de mathématiques à la Simon Fraser University (SFU) à l'âge de 13 ans, alors qu'il était encore élève à la Burnaby Central Secondary School à Burnaby, au Canada. Il s'est officiellement inscrit à SFU en 1998, où il a étudié la théorie des nombres sous la direction de Peter Borwein. Durant ses années de premier cycle, il a participé à la William Lowell Putnam Mathematical Competition, terminant dans le top 15 en 1998 et atteignant le statut de Putnam Fellow — top six — en 1999.

De 1998 à 2000, Percival a organisé le projet de calcul distribué PiHex, coordonnant des contributeurs à travers le monde pour calculer certains chiffres binaires de pi. Il est sorti diplômé de SFU en 2001 et a obtenu une Commonwealth Scholarship pour l'université d'Oxford.

À Oxford, Percival s'est d'abord lancé dans la recherche sur le calcul distribué. Une grave maladie en 2003 a interrompu ces travaux pendant plusieurs mois, le poussant à réorienter son attention vers la construction d'un système de mise à jour logicielle pour le système d'exploitation FreeBSD. Cela l'a conduit à développer bsdiff, un algorithme de compression delta très efficace, qui est devenu le cœur de ses recherches doctorales. Il a également contribué à portsnap en 2004, qui utilise bsdiff pour distribuer des snapshots de l'arbre des ports de FreeBSD. Sa thèse de doctorat de 2006, dirigée par William F. McColl et Richard P. Brent, est intitulée « Matching with Mismatches and Assorted Applications » et décrit des améliorations supplémentaires de la compression bsdiff.

Carrière

FreeBSD et la vulnérabilité hyper-threading

Après avoir rejoint la FreeBSD Security Team en 2004, Percival a analysé le comportement de l'hyper-threading tel qu'implémenté sur les CPU Pentium 4 d'Intel. Il a découvert une faille de sécurité permettant à un thread malveillant d'exploiter une attaque par canal auxiliaire basée sur les délais pour dérober des données secrètes à un autre thread partageant le même cœur de processeur et le même cache. Il a signalé le problème en privé à Intel et aux éditeurs de systèmes d'exploitation, avec des suggestions de mitigation, avant d'en rendre les détails publics en mai 2005.

Après l'obtention de son doctorat, Percival est revenu à SFU comme chercheur invité. Il a été FreeBSD Security Officer d'août 2005 à mai 2012 et a été élu au FreeBSD Core Team pour le mandat 2010-2012.

Tarsnap et scrypt

Percival a fondé Tarsnap en 2006, un service sécurisé de sauvegarde en ligne chiffrée. Après environ deux ans de développement, Tarsnap est entré en bêta publique en novembre 2008 et est devenu rentable en février 2009.

En 2009, alors qu'il travaillait à ajouter une protection par mot de passe aux clés Tarsnap, Percival s'est montré insatisfait des fonctions de dérivation de clé existantes. Fort de son expérience en calcul distribué, il a modélisé un attaquant utilisant du matériel spécialisé pour paralléliser massivement la recherche par force brute de mots de passe. Il a conclu que les fonctions de dérivation de clé existantes étaient vulnérables à de telles attaques et a conçu scrypt, un algorithme dont la consommation mémoire est presque proportionnelle au temps d'exécution, rendant les attaques parallèles à grande échelle prohibitives en coût. Il a formellement défini dans ce contexte le concept de fonctions « memory-hard ». Scrypt a depuis été largement adopté et sert de base à la preuve de travail de Litecoin et de plusieurs autres cryptomonnaies.

Toujours en 2009, Percival a mis au jour une faille critique dans l'usage par AWS de signatures cryptographiques pour authentifier les API REST EC2, SimpleDB, SQS et S3.

FreeBSD sur Amazon EC2 et travaux ultérieurs

Percival a œuvré plusieurs années pour porter FreeBSD sur la plateforme Amazon EC2, en construisant des images disque, en déboguant des crashs noyau et en coordonnant les ingénieurs d'Amazon et de FreeBSD. Amazon a annoncé un support officiel de FreeBSD sur EC2 en novembre 2012. En 2019, il a été reconnu AWS Community Hero pour ce travail. En 2022, il a annoncé le support de FreeBSD pour l'hyperviseur Firecracker d'Amazon.

Depuis 2020, Percival fait partie de l'équipe principale de release engineering de FreeBSD. Le 17 novembre 2023, il a été promu Lead Release Engineer de FreeBSD.

Travaux notables

Les principales contributions techniques de Percival incluent l'algorithme de compression delta bsdiff, la fonction de dérivation de clé memory-hard scrypt, les outils freebsd-update et portsnap, et le service de sauvegarde Tarsnap. Sa découverte de la vulnérabilité side-channel sur l'hyper-threading d'Intel constitue une contribution précoce et significative au domaine de la recherche en sécurité matérielle.

Reconnaissance et héritage

Ayant collaboré avec des mathématiciens tels que Peter Borwein et Richard P. Brent, Percival a un nombre d'Erdős de 3. Les fonctions memory-hard, un concept qu'il a contribué à définir, sont devenues un domaine actif de recherche cryptographique. Il est basé à Vancouver, au Canada, et tient un blog technique depuis 2005.

§Entrées associées

$cat références_externes.txt