lLes DRMs dans le numérique

Dylan Fontaine
INSA TC
Published in
8 min readJan 5, 2020

Les DRM (Digital Rights Management)

Les DRM (Digital Rights Management), est une approche de la protection des droits d’auteurs pour les médias numériques. Elle permet de protéger l’accès à des données soumises à la propriété intellectuelle.

A la base, les DRM sont apparus pour protéger les contenus musicaux au début des années 2000, puis se sont démocratisés dans le domaine de la vidéo, des marchands de musiques et par la suite à tout ce qui touche au numérique (jeux vidéos, flux vidéos, livre numériques…).

Le rôle principal des DRM est d’empêcher ou de limiter les copies des fichiers protégés par les droits intellectuels. Techniquement, le fichier est chiffré de sorte qu’il soit illisible pour empêcher n’importe qui d’avoir le contenu en clair. Ainsi, l’utilisateur, pour avoir accès à la ressource, va ensuite utiliser ce fichier sur un lecteur capable de déchiffrer son contenu. Ce lecteur, en plus de réaliser l’opération de déchiffrage, est aussi capable de vérifier qu’il s’agit bien d’une version originale et non d’une copie illégale.

La controverse du DRM

Concernant l’usage des DRMs, il existe deux points de vue sur la question :

  • d’un côté, le fournisseur de contenu qui, par le biais de cette technologie, va être protégé contre les copies.
  • de l’autre, les usagers qui se sentent lésés par ce système qui peut constituer un point bloquant pour devenir pleinement propriétaires de leur achat.

Toutefois, certains usages d’un contenu numérique ne sont pas possibles lors d’une utilisation hors ligne, ce qui est le cas, par exemple, de manière générale avec les plateformes de jeux vidéos. En effet, ces dernières centralisent les jeux vidéos et empêchent l’utilisation des jeux de l’usager lorsqu’il est hors connexion. Dans ce cas, le DRM porte atteinte aux droits de propriété de l’usager puisqu’il empêche son utilisation librement, sans quelconque contrainte.

Ainsi, le débat autour des DRM est surtout un débat sur le bon compromis entre droits d’auteurs (d’un point de vue fournisseur) et droits de propriété de l’utilisateur (d’un point de vue usager).

Les DRMs dans divers domaines et leurs contournements

La PS1, un mécanisme archaïque

Il n’a pas fallu attendre la dématérialisation des jeux vidéos pour voir apparaître des mécanismes de contrôle de contenu. En effet, les DRM se faisaient physiquement sur les consoles et sur les supports contenant les jeux vidéos (CD, cartouches, etc.). Les supports physiques offrent plus de possibilités d’attaques puisque nous avons un accès physique sur le contenu et que nous pouvons ainsi modifier les fichiers ou les copier. La PS1 en est un exemple, le mécanisme implémenté par Sony pour vérifier l’authenticité des jeux insérés dans la console est assez trivial : au démarrage de la console, cette dernière va simplement vérifier, par un mécanisme de lecture particulier de Sony (wobbling), si le disque contient une chaîne de caractère précise, une fois cela fait, le jeu peut démarrer. En soi, il s’agit en quelque sorte d’une sorte de “Secure Boot”.
Ce mécanisme, très simple, n’a pas eu beaucoup de mal à être déjoué. En effet, la vérification de la chaîne de caractère étant faite par un organe précis de la console, il suffit simplement, au démarrage de la console, d’envoyer systématiquement le bon signal, par l’intermédiaire d’un microcontrôleur (modchip), programmé spécialement pour cette tâche. En plus de permettre aux joueurs d’utiliser des jeux gravés sur CD, ce contournement permet également à ces derniers de jouer à des jeux bloqués pour leur localisation (US, Europe, Japon), Sony incluant également le paramètre de localisation dans cette chaîne de caractère, considérant que l’une des plus grandes forces de ce mécanisme de DRM est le fait qu’il ne soit pas connu du grand public (offuscation).
Ce mécanisme de protection, très simple, a cependant été étoffé, avec des mises à jour hardware. Par la suite, les constructeurs ont rivalisé d’ingéniosité pour ne pas commettre les mêmes erreurs.

La 3DS, une chaîne de confiance d’apparence robuste

La 3DS est une console bien connue de la firme Nintendo. Dans le but d’avoir un niveau de sécurité important, l’architecture de la console a été réalisée de sorte que les différentes fonctions soient exécutées par des composants différents. Ainsi, la console comporte deux CPU :

  • un ARM 11 dédié aux tâches usuelles (utilisateurs), avec deux niveaux d’accès : le niveau utilisateur et le niveau kernel (noyau)
  • un ARM 9 dédié exclusivement aux tâches relatives à la cryptographie : vérification de clés pour les jeux etc.

Ajouté à cette architecture, des mécanismes tels que le DEP (Data Execution Prevention), interdisant l'exécution de code se trouvant à certains emplacements mémoire, rendent l‘exécution de codes, autres que ceux prévu par Nintendo, encore plus compliqué.

Cette architecture a l’avantage, en théorie, de réduire la surface d‘attaque et ainsi d’empêcher l’exécution de logiciels non signés par Nintendo, dans la pratique, certaines failles subsistent dans ce système, permettant, par rebond, d’obtenir un contrôle total de la console.

Une première technique d'attaque du niveau utilisateur de l'ARM11 exploitant le DMA (Direct Memory Acces) du processeur graphique (GPU), appelée GSPWN, consiste à surcharger une application en exécution (stack overflow) dans le but d’exécuter par la suite des bouts de code dans la pile d’exécution de la machine (ROP). Pour ce faire, GSPWN va réecrire dans les fichiers contenant les données de l’application. Un exemple d’implémentation de cette technique est “soundhax”, utilisant l’application de musique intégrée à la console comme point d’entrée pour réaliser l’overflow.

Cependant, cette attaque ne permet d’avoir seulement un accès aux ressources du processeur ARM11 niveau utilisateur tel que l’application en cours d'exécution et la mémoire flash de la console (NAND) via l’accès par le processeur graphique.

Les processeurs ARM11 et ARM9 ont, en revanche, accès à certaines ressources en commun, y compris des sections de mémoire partagées; en prenant le contrôle total de l'ARM11 avec la manipulation précédente, il est alors possible de prendre le contrôle de l'ARM9 en exploitant cet espace partagé.

Ainsi, l'une des attaques sur l'ARM9 consiste à utiliser une carte DS modifiée. Ce processeur est en effet en charge, en plus du matériel cryptographique, de la rétrocompatibilité de la console avec les jeux DS, ce processus de lecture d'une cartouche DS utilise ladite région partagée entre ARM11 et ARM9.

L’objectif de l’attaque consiste ainsi à réaliser un dépassement du tampon de l’espace mémoire partagée via la prise de contrôle de l’ARM11. En passant par l’ARM11, il est possible d’envoyer plus de donner que le tampon ne puisse lire. Ce procédé va permettre d’écraser le registre gérant la vérification de l’intégrité de la cartouche.

C’est avec cette cartouche DS modifiée que nous pouvons alors exécuter notre propre code sur le processeur ARM9, et donc installer un autre firmware principal (CF: Custom Firmware) que celui de Nintendo, ainsi que des outils tel que FBI et godmode9, qui peuvent être utilisés, par exemple, pour récupérer des fichiers de jeux (dumping) et exécuter des jeux stockés sur carte SD, sans se soucier du matériel cryptographique de Nintendo mis en place pour vérifier l’authenticité d’un jeu et éviter la copie de ce dernier.

Steam, le dématérialisé mis à l'épreuve

Dans le secteur du jeu vidéo, le principal acteur utilisant des DRM est Valve. Son objectif est de réduire le piratage à 0%, pour se faire, il utilise un DRM original qui ne consiste pas à protéger l’œuvre mais à contrôler l’accès à cette dernière, c’est ainsi la plateforme Steam elle-même qui fait office de DRM puisqu’elle centralise les connexions vers les œuvres originales. Cette méthode oblige les utilisateurs à utiliser Steam pour mettre à jour et jouer à leurs jeux, mais limite également l’accès à un compte Steam sur deux PC simultanément. Malgré tous ces inconvénients, ce mécanisme permet aux usagers de pouvoir profiter de leur contenu sur n’importe quel ordinateur à partir du moment où ils ont accès à leur compte.

Techniquement, le mécanisme de DRM utilisé par Steam est basé sur la génération d’exécutables personnalisés (CEG : Custom Execution Generation), c’est-à-dire que Steam va générer un exécutable chiffré relié au compte d’un utilisateur. Cet exécutable ne pourra ainsi être exécuté uniquement par l’utilisateur via son compte et l’application Steam. Il s’agit d’une technologie “wrapper crypto” pour le jeu vidéo, la technologie est bien connue, mais son implémentation par Steam connaît très peu de brèches dans la mesure où c’est Valve qui stocke les clés sur ses serveurs. Ce DRM a pour objectif de vérifier si l’utilisateur est bien le propriétaire du jeu, il n’empêche en aucun cas la copie du contenu. La vérification de l’appartenance du jeu est réalisé à chaque nouveau lancement. D’ailleurs on peut retrouver la totalité des fichiers utilisés par le jeu (sauvegardes par exemple), assez facilement sur son ordinateur. En soi, ce DRM est présent pour limiter le partage du jeu entre différentes personnes et assure à Valve une certaine certitude sur l’achat de leur jeu et l’utilisation de leur plateforme.

Netflix, l‘attaque par l’erreur

Les DRMs, à l’heure actuelle, sont également présents dans d’autres domaines que le jeu vidéo, le streaming vidéo, très utilisé actuellement par le biais de plateformes tel Netflix emploie également ce mécanisme.
En effet, les DRM implémentés par Netflix se basent sur le module Widevine (L3). Ce module s’appuie notamment sur le chiffrement AES-128.

Widevine est décomposé en deux niveaux de sécurité sur Android:

  • Level 3 : implémentation logicielle qui est fourni par défaut à toutes les versions d’Android.
  • Level 1 : implémentation matérielle sur le SoC (Security Operations Centers) du téléphone.

Widevine réputé comme étant “sécurisé” et permettant de chiffrer le flux transmis aux utilisateurs, a été cependant cassé ce janvier 2019 par David Buchanan, un chercheur en sécurité.

La faille qui a permis cet exploit est dû à l’implémentation du mécanisme de chiffrement (WhiteBox AES-128) . En effet, ce mécanisme est sensible, par sa conception, aux attaques assez connues de DFA (Differential Fault Analysis), ou attaques par injection de faute en français. Ce type de faille est très connu dans le monde académique, et consiste à altérer un système qui utilise un mécanisme de cryptographie dans le but d’identifier son fonctionnement, puis , par la suite, récupérer sa clé de déchiffrement, par le biais de plusieurs techniques, que ce soit par exemple, la modification de température d’un composant ou encore la surtension de ce dernier.

Dans le cas de Widevine, il s’agit plutôt d’une attaque applicative, qui consiste à injecter volontairement certaines fautes au contenu chiffré, avant la phase de déchiffrement. Ainsi, cette erreur va se propager lors de l’application du protocole AES, ce qui va permettre, par injections successives à divers endroits des données, de récupérer la clé qui a été utilisée initialement pour chiffrer ces dernières. Une fois la clé trouvée, il ne reste alors plus qu’à déchiffrer le flux envoyé par Netflix au moyen d’un programme de lecture de flux vidéo tel que ffplay, en passant la clé trouvée en paramètre.

Ouverture: un monde sans DRM

Est-il possible de proposer une oeuvre numérique sans DRM ? Il existe déjà quelques solutions pour la vente de jeux-vidéo sans DRM. La plateforme GOG permet d’acheter et de jouer à des jeux via une plateforme ou non (la plateforme permet seulement la mise à jour des jeux). Ils ont de plus, utilisé l’API de Steam pour pouvoir synchroniser son compte GOG avec son compte Steam, permettant de jouer aux jeux sans DRM de GOG sur la plateforme Steam. D’ailleurs, l’un des acteurs majeurs de la vente de musique en ligne: Itunes, vendait leurs musiques avec DRM à leurs débuts. C’est en 2007, qu’ils ont commencé à vendre des musiques sans DRM. Ils ont démocratisé cette pratique sur l’ensemble de leur catalogues en 2009. Ce qui permet aux usagers d’être propriétaires de la musique qu’ils ont achetée et ainsi prouver qu’un monde numérique sans DRM peut exister.

--

--