Sécuriser son code source PHP avec Bcompiler ou un autre encodeur

Sécuriser son code source PHP avec Bcompiler ou un autre encodeur - PHP - Programmation

Marsh Posté le 15-04-2013 à 16:56:13    

Bonjour,
je suis étudiant en DUT informatique. Actuellement je suis en stage et on me demande de sécuriser des codes sources PHP.
J'ai commencé mes recherches.
Il y a plusieurs "outils" qui reviennent souvent dans les forums comme "Zend Guard", "IonCube", "Bcompiler".
 
Concernant Bcompiler, j'ai notamment lu cet article:
http://maxime-ohayon.developpez.com/...els/bcompiler/
 
Si j'ai bien compris Bcompiler transforme un fichier source en Bytecode. Donc il utilise pour cela la technique de l'encodage.
Or pour la définitionde l'encodage j'ai lu ceci:
 
'Encoding transforms data into another format using a scheme that is publicly available so that it can easily be reversed. It does not require a key as the only thing required to decode it is the algorithm that was used to encode it.
The goal is not to keep information secret, but rather to ensure that it's able to be properly consumed.'
 
>> L'encodage transforme une donnée dans un autre format en utilisant un système qui est accessible au public donc il peut être facilement "inversé". Il ne nécessite pas de clé et la seule chose nécessaire pour le décoder est l'algorithme qui a été utilisé pour l'encodage.
Le but n'est pas de garde les informations secrètes...
 
Je lis un peu partout "protection de code source avec de l'encodage". Mais selon cette définition cela ne me va pas du tout. Dans le cas d'un encodeur tel que Bcompiler, il ne ferai pas qu'encoder mais autre chose?? (obfuscation?)
 
Peut-être que la définition de l'encodage que j'ai lue est inexacte.
Ma question est donc peut-on sécuriser un code source avec uniquement de l'encodage?  
La définition que j'ai trouvée est-elle juste?
 
 
J'aimerais que l'on m'éclaircisse à ce sujet.
 
Merci d'avance.

Reply

Marsh Posté le 15-04-2013 à 16:56:13   

Reply

Marsh Posté le 15-04-2013 à 17:13:43    

"Stagiaire! sécurise mon code php!".....
 
Le but c'est quoi? distribuer des scripts php en limitant la compréhension du code?
 
Il existe des solutions de compilation/encodage/appelez_ça_comme_vous_voulez, mais ce qu'il faut se dire c'est que si cela nécessite un composant spécifique (et ça doit être le cas d'une bonne partie de ces solutions, si ce n'est toutes) sur le serveur web pour être exécuté, on perd d'un coup une bonne partie des cibles potentielles.
 
Pour rester du php pur qui sera exécutable sur n'importe quel serveur PHP standard je ne vois pas grand chose d'autre que l'obfuscation, je ne sais pas s'il y a des solutions viables à l'heure actuelle.
 
Le bytecode, si c'est la même chose que java, .net, etc... ce n'est pas spécialement efficace pour cacher le code source


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 15-04-2013 à 17:24:11    

Oui effectivement le but c'est exactement ça.
La plupart des outils de sécurisation notamment Zend Guard encodent et obfusquent le code.
 
"Le bytecode, si c'est la même chose que java, .net, etc... ce n'est pas spécialement efficace pour cacher le code source" , Pourquoi?

Reply

Marsh Posté le 15-04-2013 à 17:30:53    

Ben je ne sais pas ce qu'il en est du bytecode PHP, mais en tout cas tu prend un exe .net, s'il n'a pas été obscurci, tu peux avoir accès au code source original le plus simplement du monde. Pour autant que je sache c'est la même chose avec java.
 
Et comme tu le dis toi même dans ta définition trouvée sur le net :

Citation :

transforme une donnée dans un autre format en utilisant un système qui est accessible au public donc il peut être facilement "inversé"


 
facilement inversé = obtenir le code source original
 
De toute manière, suivant la complexité du code et la détermination de la personne en face je pense que quelqu'un aura toujours un moyen de trouver ce qu'il veut dans le code source.


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
Reply

Marsh Posté le 15-04-2013 à 17:41:12    

Oui bien sûr le but n'est pas aussi d'avoir la sécurité parfaite et ça n'existe pas d'ailleurs :)  
Mais concernant l'obfuscation j'ai vu que ça augmentait le temps d'exécution ce que je ne veux pas car je dois prendre en compte les conséquences sur les performances.

Reply

Marsh Posté le 16-04-2013 à 14:29:24    

T'es sûr que lorsque ton maître de stage (ou autre) t'as demandé de "sécuriser ton code source", il parlait pas de le protéger contre les failles XSS, sql injection et autres joyeusetés sources communes de hack dans les applis web :??:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 16-04-2013 à 14:46:41    

oui je suis sûr :)
le but est de protégér l'algorithme car le script php va être fournis aux clients

Reply

Marsh Posté le 24-04-2013 à 17:50:08    

Ca m'intéresse également
mais 1) ton lien n'est pas bon
2) regarder plutôt du côté de apache avec un module permettant de lire directement ces fichiers


Message édité par grosbin le 24-04-2013 à 17:50:57

---------------
Photos Panoramiques Montagnes Haute Savoie
Reply

Marsh Posté le 24-04-2013 à 22:22:04    

voici pour le lien : http://maxime-ohayon.developpez.co [...] bcompiler/
donc concernant l'encodage il s'agit en fait d'une compilation du code source en bytecode

Reply

Marsh Posté le 25-04-2013 à 10:07:08    

C'est pas du bytecode mais de l'opcode. ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed