56 min

Meetup Septembre 2019 - Obfuscation de Code 10**2+(2*a+3)%2 - Gaetan Ferry Codeurs en Seine

    • Technology

Obfuscation de Code 10**2+(2*a+3)%2

Lorsque l'on parle de protection de donnée sensible, le sujet arrivant en tête de discussion est la cryptographie. Mais qu'en est-il de la protection des algorithmes qui manipulent ces données hors d'enclaves d'exécution sécurisées? Comment protéger l'anti-triche de votre jeux vidéo préféré? Comment faire pour qu'il ne soit pas copié illégitimement sur un autre logiciel?

C'est là qu'intervient l'obfuscation.

L'obfuscation de code vise à rendre un programme aussi inintelligible que possible. On emploie pour cela diverses méthodes permettant de transformer le programme d'origine en une nouvelle version plus difficile à lire et analyser mais équivalente. Le programme devient alors opaque, compliquant grandement la compréhension de quiconque osera l'étudier.

En pratique, l'obfuscation est utilisée aussi bien par les éditeurs logiciel, pour protéger leur programmes et empêcher leur rétro-ingénierie, que par les attaquants, pour contourner les détections anti-virus.

De fait, connaître les techniques de base de l'obfuscation permet aussi bien d'en appliquer les principes, pour protéger ses programmes sensibles, que d'aider à l'analyse de codes protégés.

Dans cette présentation, nous chercherons à détailler certaines des méthodes de base de l'obfuscation de code que nous mettrons en pratique sur le langage Python.

Par Gaetan Ferry

Issus de l'Université de Rouen, je suis aujourd'hui expert sécurité chez Synacktiv. Touche a tout de la sécurité offensive, je me plaît dans le web ou la cryptanalyse. J'aime aussi faire profiter les autres de mon expérience dans des conférences ou en enseignant à l'Université.

Obfuscation de Code 10**2+(2*a+3)%2

Lorsque l'on parle de protection de donnée sensible, le sujet arrivant en tête de discussion est la cryptographie. Mais qu'en est-il de la protection des algorithmes qui manipulent ces données hors d'enclaves d'exécution sécurisées? Comment protéger l'anti-triche de votre jeux vidéo préféré? Comment faire pour qu'il ne soit pas copié illégitimement sur un autre logiciel?

C'est là qu'intervient l'obfuscation.

L'obfuscation de code vise à rendre un programme aussi inintelligible que possible. On emploie pour cela diverses méthodes permettant de transformer le programme d'origine en une nouvelle version plus difficile à lire et analyser mais équivalente. Le programme devient alors opaque, compliquant grandement la compréhension de quiconque osera l'étudier.

En pratique, l'obfuscation est utilisée aussi bien par les éditeurs logiciel, pour protéger leur programmes et empêcher leur rétro-ingénierie, que par les attaquants, pour contourner les détections anti-virus.

De fait, connaître les techniques de base de l'obfuscation permet aussi bien d'en appliquer les principes, pour protéger ses programmes sensibles, que d'aider à l'analyse de codes protégés.

Dans cette présentation, nous chercherons à détailler certaines des méthodes de base de l'obfuscation de code que nous mettrons en pratique sur le langage Python.

Par Gaetan Ferry

Issus de l'Université de Rouen, je suis aujourd'hui expert sécurité chez Synacktiv. Touche a tout de la sécurité offensive, je me plaît dans le web ou la cryptanalyse. J'aime aussi faire profiter les autres de mon expérience dans des conférences ou en enseignant à l'Université.

56 min

Top Podcasts In Technology

No Priors: Artificial Intelligence | Technology | Startups
Conviction | Pod People
Lex Fridman Podcast
Lex Fridman
All-In with Chamath, Jason, Sacks & Friedberg
All-In Podcast, LLC
Acquired
Ben Gilbert and David Rosenthal
Hard Fork
The New York Times
This Week in XR Podcast
Charlie Fink Productions