Tag : java

Par Kodjo Agbemebia, le 28 décembre 2011

Cohésion & Couplage (1/2)

A mes tous débuts en programmation orientée objet il y a quelques années, je me demandais pourquoi il était si nécessaire d'écrire des classes "courtes" et ayant un rôle "spécifique". Certes, oui, il faut respecter la philosophie objet. Mais franchement, c'est tellement plus simple et plus rapide de mettre tout son code dans une seule classe, surtout quand on n'a pas beaucoup de temps... Erreur fatale! Heureusement très vite, après avoir été confronté à de multiples problèmes, j'ai compris l'importance du respect de principes orientés objet comme la cohésion et le couplage.

Dans cette série de billets, je me propose de vous présenter brièvement ces 2 concepts fondamentaux de la programmation orientée objet, en précisant les avantages d'une architecture à "forte cohésion et faible couplage".

Lire la suite
Par Sébastien LEBRETON, le 04 octobre 2011

TechEvening à Lyon sur la sécurité des applications Web

Ce lundi s'est déroulé à Lyon un TechEvening consacré à la sécurité des applications Web. Nous avons testé les différentes techniques et outils utilisés par les utilisateurs malveillants. Deux applications ont été utilisées, l'une en J2EE pour la plupart des techniques (WebGoat 5.3 de la fondation OWASP) et l'autre en ASP.NET MVC 3 pour un focus sur les perfides attaques CSRF.

Au programme:

  • Injection: diverses techniques d'injection SQL;
  • Cross-Site Scripting (XSS): techniques de phishing et de "session hijacking";
  • Violation de gestion d'authentification et de session: technique de "session fixation";
  • Références directes non sécurisées: techniques d'"AC Bypass" aux niveaux données et métier;
  • Cross-Site Request Forgery (CSRF): technique du "Token Bypass";
  • Mauvaise configuration de sécurité: technique de "Malicious File Execution";
  • Stockage cryptographique non sécurisé: sensibilisation au "hashing" et "salting";
  • Manque de restriction URL: technique du "forced browsing";
  • Protection insuffisante de la couche transport: "sniffing", "ARP spoofing" et "ARP poisoning"
  • Redirections et renvois non validés: techniques du "HTTP splitting" et du "cache poisoning"

Nous avons utilisé les outils suivants:

  • Firefox
  • Fiddler
  • Firebug
  • TamperData
  • WireShark

Vous pouvez retrouver ci-après tous les supports:

  • L'application WebGoat 5.3;
  • L'application CSRFDemo ASP.NET MVC 3;
  • Les slides (PPTX ou PDF) de présentation;
  • Quelques fichiers utilisés pour les attaques;

Pour ceux qui s’intéressent plus globalement à la sécurité des applications .NET (pas qu'en Web), je vous invite à lire l'article suivant sur l'altération des assemblages, l'injection de code et la suppression des signatures cryptographiques. Une vidéo est également disponible.

Par Pierre-Yves Baloche, le 23 juin 2011

Sécurité des données ? Elémentaire mon cher Java !

Lors de l'introduction de la gestion de la sécurité en Java, les solutions se déclinaient sous forme d'extensions aux noms plus ou moins sympathique comme JAAS, JSSE et JCE, qu'il fallait venir rajouter dans ses applications. Et encore, suivant les régions, toutes n'étaient malheureusement pas disponibles.

Heureusement ce n'est plus que de l'histoire ancienne car désormais, Java propose en standard tous les outils qu'il vous faut pour sécuriser facilement vos données. Intéressons nous en particulier à deux aspects : La génération d'empreinte de fichier et le chiffrement de ces derniers.

Lire la suite