Sécurité

EHLO
je code avec quelques langages (C, asm x86, php, perl, héxa) et je me disais que ça serait intéressant d’avoir les “tricks” de sécurité de chacun, autant sur le design d’un programme/script que sur le code à proprement parler. je connais quelques trucs mais je débute, et des gens plus expérimentés que moi ont sans doute des connaissances à partager.
de plus, qu’utilisez-vous comme moyen automatisé de vérifier la robustesse de votre code?
personnellement je ne connais qu’un script ida qui fasse ça et c’est un peu léger…
à bientôt les codeurs

Un
Deux
Trois

T’entends quoi par ‘langage’ héxa?

Il code en ASM sur papier et pour programmer la machine, il est oblige de convertir a la main le code ASM en code hexa

B)

Dire que je faisais ca sur Apple IIe y a … pfiou longtemps

LoneWolf
Ca me rajeunit pas B)

hehe, exact lonewolf =)

Glop> merci pour les liens, je vais jeter un oeil, mais j’entendais plutôt dans mon post les “tricks” un peu moins connus. J’ai quelques livres aussi (un des meilleurs sur le sujet est de microsoft d’ailleurs) mais ça manque un peu de vivant d’une part, puis je m’interrogeais d’autre part sur les méthodes des dev ici présents. Faites-vous tous vraiment attention à coder propre?

Comment ça se passe en entreprise, le délai prime sur la qualité?

J’ai bossé pour un éditeur de logiciels il y a quelques temps, et j’étais surpris de constater qu’ils n’avaient rien prévu pour éviter que leur soft se fasse reverser. Il contenait plusieurs données “sensibles” mais personne ne jugeait bon de le protéger.

Y a pas de “trucs”, c’est toute une methode de la conception a l’execution. Apres si tu veux voir des exploits “standards” du genre buffer overflow, int overflow et autre, il faut surtout en comprendre le contexte, faire tourner prefix/prefast, fxcop et autre outils automatises mais c’est pas ca qui rendra un produit securise ou propre a lui tout seul. Chez nous une spec est pas acceptee pour etre codee sans un “security review”, et autre “threat modelling”, c’est la methode qui est decrite dans le second bouquin, avec ensuite beaucoup de tests, au dev (unit test) et apres (QA forte) dediee a la secu et autre. La methode du bouquin que j’ai file en lien et contrairement a ce qu’on pense ca empeche pas de coder avec le delai comme priorite numero 1 B)

Pour ce qui est d’écrire un code robuste et propre, j’use et j’abuse des exceptions, les try … catch ça rox. Les exceptions sont natifs en Java/C#, pour le perl il existe un bibliothèque indépendante qui fonctionne parfaitement, par contre j’aimerai savoir si on trouve la même chose en PHP.
Après, j’utilise aussi des bibliothèques de tests unitaires (JUnit pour Java, Unit::Test pour Perl, il existe aussi phpunit pour PHP), en utilisant la technique du développement piloté par les tests :
http://www.design-up.com/articles/extreme-…ires/index.html
http://nikrou.net/2006/02/21/80-developpem…e-par-les-tests

La qualite du code est le premier facteur de securite. Etre concis, verifier les valeurs de retour, intercepter les exceptions, verifier les parametres donnes, tester son code…

Ensuite d’un langage a l’autre ca a des consequences diverses et avariees.