Auteur

Sébastien LEBRETON

Sébastien LebretonPassionné de nouvelles technologies depuis de nombreuses années, Sébastien s'intéresse tout particulièrement à l’optimisation, le reverse engineering, l’interopérabilité et les techniques d’objets distribués, principalement sur les plateformes .NET et JAVA.

Il est également l'auteur de différents outils open-source comme Reflexil, BoutDuTunnel, Dexer ou Shellify.

Fil des billets

Par Sébastien LEBRETON, le 10 février 2012
Catégorie : .NET

TechDays 2012 : Coding4Fun

Si comme moi vous aimez le code et les vannes, la session Coding4fun est faite pour vous !

Au programme les excellents David Catuhe et Mitsu Furuta nous présentent des exemples débiles comme un arkanoid dans l’éditeur de Visual Studio et le système OUPS (Over Usefull Protection System) qui masque vos fenêtres « sensibles » en lien avec le capteur Kinect PC.

Même Eric Mittelette (qui est le responsable de l’organisation des sessions…) s’y jette et présente une démo en C++/Direct2D et MFC (désolé). Enfin Pierre Lagarde revisite le casse brique social en invitant les spectateurs à jouer en utilisant Twitter.

 
Lire la suite
Par Sébastien LEBRETON, le 09 février 2012
Catégorie : .NET

TechDays 2012 : Le futur a-t-il besoin de nous ?

Cette troisième et dernière conférence plénière des TechDays est traditionnellement dédiée aux réflexions autour des technologies d’avenir. Cette année Microsoft nous invite à réfléchir autour des rapports entre humains et ordinateurs intelligents. Bref une session de choix pour les fans de « l’Odyssée de l’espace » ou de « Ghost In The Shell » !

 
Lire la suite
Par Sébastien LEBRETON, le 08 février 2012
Catégorie : .NET

TechDays 2012 : « Consumérisation de l’IT » - Les utilisateurs prennent-ils le pouvoir ?

Avec l’explosion de l’utilisation des smartphones, tablettes et maintenant ultrabooks, Microsoft dévoile ses solutions lors des TechDays afin de répondre à cette déferlante du « Bring Your Own Device » c’est-à-dire l’utilisation de produits à vocation grand public dans le contexte de l’entreprise.

 
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 Sébastien LEBRETON, le 15 septembre 2011
Catégorie : Actualité

Sony annonce le support du C# en tant que langage de programmation pour sa "Playstation Suite SDK"

Cf. l'article sur Engadget.

Cette nouvelle est de taille, car le langage C# est désormais adopté sur de nombreuses plateformes:

  • Windows Phone 7 en natif avec le support du SilverLight
  • Android avec l'aide de Mono For Android (de Xamarin, ex Monodroid de Novell)
  • IPhone avec l'aide de MonoTouch (de Xamarin)
  • XBox360 avec le framework XNA
  • Playstation avec Playstation Suite SDK
  • MacOSX, Linux, Unix avec Mono
  • Windows avec le Framework .NET

Ce SDK Sony adresse tous les périphériques certifiés comme la PS Vita, le Xperia Play, les tablettes P et S.

 
Par Sébastien LEBRETON, le 09 septembre 2011
Catégorie : .NET

Architecture DDDD N-Layered (Distributed Domain Driven Design) et .NET

Régulièrement, l'équipe des architectes Microsoft met à jour un excellent document d'architecture pour les très gros projets. Cet article a pour but de présenter en synthèse cette architecture, particulièrement bien découpée.

Besoins en architecture

Il existe une grosse demande pour faire correspondre les patterns d’architectures avec les toutes dernières technologies Microsoft. Il est nécessaire de bénéficier d’architectures d’entreprise préétablies pour avoir une démarche unifiée de construction des applications.

Les frameworks techniques

Les briques technologiques offertes par Microsoft (ou le monde du .NET) sont extrêmement nombreuses: Framework .NET, Silverlight, WPF, WCF, WF, ASP.NET MVC, Windows Identity Foundation, Entity Framework, Azure, SQL Server, Unity, … Comment distribuer tous ces frameworks sur une architecture d’entreprise ?

 
Lire la suite
Par Sébastien LEBRETON, le 29 juillet 2011
Catégorie : .NET

Amélioration des performances en .NET avec le parallélisme et l’asynchronisme.

Les différentes versions du C# ont toujours apporté une nouveauté remarquable (je ne parle pas ici des versions du framework .NET qui sont en décalage, par exemple C# 3.0 est disponible avec le framework v3.5):

  • V1.0 : le support du code managé, l’essence du .NET
  • V2.0 : les générics
  • V3.0 : LINQ
  • V4.0 : la programmation et le binding dynamique (mot clef dynamic) et l'intégration de la TPL (Task Parallel Library) avec le support Parallel.ForEach et .AsParallel sur les requêtes LINQ.
  • V5.0 : (à venir) la programmation asynchrone (nouveaux mots clefs await et async)

Pour optimiser les performances de nos applications .NET, deux outils sont particulièrement importants : le parallélisme et l’asynchronisme.

 
Lire la suite
Par Sébastien LEBRETON, le 19 juillet 2011
Catégorie : Java J2EE

Authentification forte par certificats et transfert de certificats de Apache vers Tomcat.

Pour certaines applications sensibles, on préfère utiliser un système d’authentification forte par certificats, plutôt que des couples login/mot de passe. C’est de plus en plus le cas avec certaines applications Web ou encore des WebServices devenant des points d’entrées critiques dans le SI des clients.

Le principe de l’authentification forte est un principe de vérification mutuelle, le client à la connexion va vérifier le certificat présenté par le serveur (notamment l’autorité de certification qui signe les certificats) et inversement le serveur va vérifier que le certificat du client est valide et autorisé.

 
Lire la suite
Par Sébastien LEBRETON, le 28 juin 2011
Catégorie : .NET

NuGet, le gestionnaire de packages .NET

NuGet viens de sortir en version 1.4. Pour rappel cet outil (anciennement appelé NuPack dans les premières « preview ») est un gestionnaire de packages open source, ce qui est assez nouveau dans le monde .NET, contrairement à d’autres plateformes comme Java avec Apache Maven par exemple.

NuGet facilite l’intégration de frameworks en proposant un référentiel global et permet de télécharger puis d’intégrer un framework à vos projets en un clic, et ce avec la gestion des dépendances.

 
Lire la suite
Par Sébastien LEBRETON, le 22 juin 2011
Catégorie : .NET

Mocking avec le framework « Moq » en .NET

Lorsque l’on doit écrire des tests unitaires, il est souvent très pratique de pouvoir simuler le comportement de certains objets pour travailler dans un contexte isolé.

Par exemple simuler un « repository » d’objets habituellement liés à la base de données avec un « repository » factice ne retournant qu’un objet bien défini ou encore simuler les réponses d’un service Web sans même devoir le contacter.

Il est aussi important d’utiliser des objets factices pour conserver le caractère de répétabilité d’un test (une propriété de date ou un capteur de température devant rester figés pour obtenir les mêmes résultats en sortie et donc la validation du test).

 
Lire la suite