Présentation générale de l'offre de solutions TAGES
1. LA PROTECTION CONTRE LE REVERSE
ENGINEERING DE LOGICIELS PAR TAGES
SOLIDSHIELD EN 7 SLIDES
TAGES
2. LE REVERSE ENGINEERING DE VOTRE
CODE
Dans le domaine B2B ou B2G (Government), il convient de protéger sa
position:
Par le reverse engineering, on tentera de récupérer une connaissance suffisante de votre
logiciel afin d'affaiblir votre position à l'avenir. La perte de l'avantage concurrentiel que cela
représente peut aboutir notamment dans les contrats grand export à l'émergence de nouveaux
concurrents. Les grands contrats export de systèmes défense mettent en place
systèmatiquement des obligations offset (transfert de technologie) et il devient alors encore
plus nécessaire de protéger ce qui n'intègre pas le périmètre transféré.
Dans le domaine B2C (jeux vidéo typiquement)
Le reverse engineering n'aura qu'un seul but, celui de contourner ou de forcer la gestion de
droits de
l'utilisateur. Il s'agit d'accéder gratuitement (ou de faire accéder gratuitement) à votre application
sans
payer.
Le reverse engineering consiste à faire l'opération inverse du développeur (partir du compilé et remonter vers le
source) pour comprendre et/ou modifier le logiciel à l'insu du développeur. Différens buts sont recherchés et font
apparaître différentes menaces:
Dans le domaine B2G (système SCADA défense ou auprès des opérateurs
importance vitale)
Le reverse engineering peut être destiné à mener une attaque de type cyber ciblée. Ce type
d'attaque
nécessite une analyse préalable du logiciel.
3. ARSENAL DE TECHNIQUES
La virtualisation de code:
On extrait la sémantique (la fonction) d'un logiciel sous sa forme binaire pour le traduire en
bytecode dont la syntaxe est inconnue de l'attaquant. Cette syntaxe requiert des
exécuteurs (appelés "machine virtuelle") pour décoder le bytecode.
L'analyse statique demeure impossible faute de disposer de la syntaxe. L'analyse
dynamique reste possible mais infiniment complexifiée. Le bytecode et ses exécteurs sont
liés intimement à l'exécution. Le niveau d'effort requis est optimal et dès lors que la solution
de virtualisation a été bien conçue, aucun raccourci pour l'attaquant.
Le chiffrement de code:
(Certes) Avec un bon algo de chiffrement, on peut en effet rendre son code
totalement inaccessible pour une analyse à plat (dite statique) MAIS,
il suffit au hacker d'attendre (par l'analyse dite dynamique avec un débogueur)
que le code soit déchiffré avant son exécution par la machine pour le récupérer
en CLAIR.
Ne présente qu'une très faible résilience à l'attaquant.
Le déport d'exécution
On extrait tout ou partie du code pour le placer dans une autre
machine distante: l'attaquant n'a plus le code sous les yeux.
Dès lors que la partie déportée est suffisamment complexe, c'est une
protection totale.
A noter que le serveur peut rester local mais sur une machine ou un
système pour lesquels on n'a pas d'accès.
4. Company profile
PROTECTION DE LICENCES JEU VIDEO
La protection des droits utilisateurs (Digital Right Management) de jeux PC:
Note: L'attaquant n'a qu'un seul intérêt ici: le contournement de la routine de gestion des droits de l'utilisateur.
C'est cette routine en particulier que nous fournissons et protégeons par la virtualisation.
Des jeux "AAA" particulièrement exposés et des plus grands éditeurs mondiaux protégés par notre solution.
Solution de gestion de droits par activation en ligne. (ci-dessus: un rapport type accessible sur notre interface
de gestion avec présentation de la distribution temporelle et géographique des activations sur un jeu.
5. Company profile
PROTECTION DE LOGICIELS DEFENSE
Le convention de recherches PRELD (Protection contre le Reverse Engineering de Logiciels
Défense).
Le but est de permettre d'utiliser la virtualisation de code dans la sphère défense et en particulier
quand on doit satisfaire des exigences d'exécution temps réel.
Résultat: un outil qui délivre une présentation immédiate de l'optimisation à produire en quelques
clicks pour disposer du meilleur niveau de protection (à contrainte d'exécution donnée) par notre
outil SOLIDSTUDIO
SolidStudio présente les points chauds
automatiquement pour une
optimisation semi automatique par
l'opérateur
6. NOTRE OFFRE EN SYNTHESE
La virtualisation de code optimisée par SOLIDSHELD:
Notre solution résultant de nos deux marchés jeux vidéo et défense est la solution la
plus performante actuellement sur le marché.
Elle fonctionne sur binaires X-86 32 et 64 bits ainsi que PowerPC 32/64 bits
Elle fonctionne sur binaires compilés pour Windows, Linux et VxWorks
La solution vous donne tous contrôles sur le coût machine de la virtualisation
Sans nécessiter la modification du code source, peut se mettre en oeuvre sur du
logiciel "Legacy"
Mise en oeuvre en quelques clicks par SOLIDSHIELD:
Seul virtualisateur de bytecode Java actuellement sur le marché,
SOLIDSHIELD Java porte à Java le principe de virtualisation. Notre gestion
par la granularité du coût de la protection résultant du contrat PRELD
participe à cette solution exclusive.
Les industriels qui ont fait le choix de Java (gains de productivité, portabilité
accrue) peuvent désormais se protéger efficacement.
Nous travaillons actuellement à une utilisation de cette technologie pour
protéger les applications android
Le déport d'execution sur binaires par CLOUDSHIFT
La réalisation de l'extraction est réalisée automatiquement et en
quelques clicks
Première mondiale: le déport d'exécution sans avoir modifier le code
source.
Peut se mettre en oeuvre sur un logiciel "Legacy", déjà en opération
et sans avoir à disposer des codes source.
7. NOTRE OFFRE EN SYNTHESE
Mise en oeuvre en quelques clicks sans toucher les sources
ni besoin de contact nécessaire avec le développeur.
Le plus haut niveau de protection disponible (mondialement)
Trois premières mondiales:
• Optimisation de la virtualisation par rapport à la
performance du logiciel (temps d'exécution)
• déport d'exécution partiel offrant une sécurité totale
• Protection de logiciels développés sous Java par la
virtualisation.