IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Obfuscation de code obsolète par l'IA ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 342
    Points : 123
    Points
    123
    Par défaut Obfuscation de code obsolète par l'IA ?
    Bonjour,

    L'Obfuscation de code est une pratique de sécurité mais n'a jamais été la meilleure.
    Pour ce qui ne connaisse pas, il s'agit de rendre grace un outil, le code illisible mais fonctionnel à l'identique.

    Pour ma part, je l'utilisais car comme la majorité des sites sur le web, mes sites ont déjà été piratés.
    Et juste après les données du site, c'est le code du site qui est le plus critique.

    En effet, une fois la brèche rebouchée si un hack a accés au code, il pourra très facilement en trouver d'autres, et le php a la particularité de ne pas etre compilé et donc très facilement visible.
    Obfusquer est une methode comme une autre, pas parfait certe mais qui à le mérite de ne pas facilité la tache aux hackers.

    En Php, il existe des frameworks permettant obfuscation bas niveau comme Zend, mais faut il encore un hébergeur compatible.
    La plupart des obfuscateurs sont donc sur le niveau haut,et juste complexifié de le code en le rendant moins lisible.
    Coté hackers certains outils permettent de regénérer un code plus lisible même si on ne retrouve pas le code initiale.

    Toutefois désormais avec l'IA, un simple mais puissant chatGPT 3.5, il permet de déobfusquer le code et rétablir le code initiale en quelques secondes.
    Je m'interroge alors sur l'avenir de l'obfuscation et comme souvent dans le jeu du chat et de la souris, si la souris (les languages script) ont pu trouvé de nouvelles alternatives ou évolution à l'obfuscation ?

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 224
    Points
    20 224
    Par défaut
    L'obfuscation pour la sécurité c'est illusoire.
    Si ton site est piraté c'est pas l'obfuscation qui va le sauver, et sauf cas très particulier c'est pas ton code source qui les intéresse.
    Et quand bien même ca serai ton code, si il ont accès au code source ils auront tout le nécessaire pour dé-obfusquer.

    Je vois que 2 intérêt a l'obfuscation :
    * Le licencing (genre ce qu'on peux faire avec Zend Guard) mais ca tend a disparaitre avec l'hégémonie du saas.
    * Protéger le code de l'utilisateur lambda, qui aurait du code en local et qui serait un peu trop curieux , mais encore une fois le saas efface cette problématique de plus en plus.

    Bref je vois aucun intérêt a l'obfuscation aujourdhui puisque quoi qu'il arrive c'est réversible et que ca impose des contrainte non négligeable pour l'hébergement.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 757
    Points : 2 992
    Points
    2 992
    Par défaut
    Bonjour

    Il y a dix ans, je développais et vendais un outil de protection de site Web apache (il se nommait aesecure, c'était un web application firewall).

    C'était un freemium (gratuit et fonctions avancées payantes).

    J'avais opté pour de l'obfuscation (càd rendre mon code illisible, difficile à modifier mais toujours fonctionnel). Remplacer une variable comme $firstname en $pqz par exemple, une fonction getFirstName() en kcq() , etc.

    J'ai publié mon code l'obfuscation sur Github si cela peut intéresser quelqu'un.

    L'idée est donc, juste, de fortement compliquer la vie du gars qui souhaiterait s'approprier mon code php d'alors et de le revendre p.ex.

    https://github.com/cavo789/php_obfus...les%2Ftest.php

    Note : le code est toujours exécutable et ne nécessite aucune configuration spécifique sur le serveur. Il est juste rendu plus difficilement lisible pour celui qui souhaiterait s'en "inspirer" (code non OpenSource)
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par grunk Voir le message
    Et quand bien même ca serai ton code, si il ont accès au code source ils auront tout le nécessaire pour dé-obfusquer.
    complètement d'accord avec cela.
    ce que je vois de plus en plus dans la vente de code, c'est du code distribué en open source et ensuite le développeur se rémunère avec des licences qui incluent les mises à jour pendant la durée de la licence.

  5. #5
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 757
    Points : 2 992
    Points
    2 992
    Par défaut
    Citation Envoyé par mathieu Voir le message
    complètement d'accord avec cela.
    ce que je vois de plus en plus dans la vente de code, c'est du code distribué en open source et ensuite le développeur se rémunère avec des licences qui incluent les mises à jour pendant la durée de la licence.
    C'est ce que je faisais (il y a dix ans), incluant aussi le support.

    Le truc était (et est toujours) : la personne qui paie xxx euros pour avoir une version payante peut faire ensuite une archive du logiciel et le mettre à disposition de tout un chacun sur son ftp p.ex.

    Ceux qui récupèrent cette version-là n'auront bien sûr pas le support mais ils auraient toutes les fonctionnalités (selon la version du gars qui a fait l'archive).

    L'obfuscation visait à rendre ce type de comportements plus difficiles.

    Bon, dix ans après, l'IA semble parfaitement en mesure d'analyser un code rendu illisible (obfusqué) et d'en écrire une version mise à propre. Je l'ai testé hier et j'ai été vraiment surpris de la qualité du rendu.

    L'obfuscation semble donc faire partie du passé, faudra réfléchir à d'autres techniques...
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

Discussions similaires

  1. [MySQL] Comment appeler du code PHP par requête
    Par mickdu90 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 19/04/2006, 10h55
  2. [VB6]Code Manchester par port com
    Par alamaison62 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/02/2006, 09h21
  3. Réponses: 4
    Dernier message: 13/10/2005, 14h44
  4. Réponses: 6
    Dernier message: 26/09/2005, 18h35
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo