Retours sur le livre surveillance:// de Tristan Nitot

Dans un monde ou internet est omniprésent, les smartphones sont devenus des objets utilisés à outrance, le nombre d’objets connectés augmentent et ou les GAFAM (Google, Amazon, Facebook, Apple, Microsoft) nous connaissent mieux que nous même, la question de la protection de la vie privée est de plus présente dans les esprits. Je suis gêné quand Google lit mes emails lorsque je réserve un hotel ou un avion et me propose les informations sur le terminal de l’aéroport ou l’heure à laquelle je dois partir de chez moi pour ne pas rater mon vol. [Voir plus]

Principe et implémentation de HSTS (HTTP Strict Transport Security)

HTTPS est devenu quasiment obligatoire sur tous les sites web et particulièrement sur ceux contenant des formulaires. Même si ce n’est pour le moment qu’une indication non bloquante, Firefox émet une erreur lors de la visite d’une page non sécurisée contenant des formulaires (en savoir plus). Pour rappel, la mise en place du protocole HTTPS est maintenant facilitée par l’initiative Let’s Encrypt. Problématique Traditionnellement, sur un site web implémentant HTTPS, un utilisateur qui souhaite accéder à la version HTTP est redirigé via une HTTP 301 sur la version HTTPS : [Voir plus]

Se protéger des failles XSS avec les headers CSP (Content Security Policy)

Les failles XSS (Cross-Site Scripting), étant classées en troisième position du dernier TOP 10 de l’OWASP, sont une porte d’entrée dans les systèmes d’information (scan de ports, exploits, etc.) et une menace pour les utilisateurs (vol d’information d’identifications). Les traditionnelles contre mesures mises en place sont le filtrage des données entrantes sur le serveur (input filtering) et l’encodage des données sortantes (output encoding) afin d'éviter l’exécution de scripts malveillants sur les postes clients. [Voir plus]

ASCII Folding dans Elasticsearch et appel de _analyze

Dans Elasticsearch, pour une faire une recherche sur un mot contenant un caractère unicode non présent dans la table ASCII (un accent par exemple) sans avoir à rechercher spécifiquement le mot avec ce caractère, une phase d’ASCII folding est nécessaire pour convertir ces caractères unicodes en leurs équivalents ASCII (si possible). Par exemple “ê” devient “e”. Pour réaliser cette étape, le mapping du champ contenant ces caractères doit spécifier le filtre “asciifolding” fourni nativement par le moteur Elasticsearch. [Voir plus]

Backbone, Node.Js et SEO

Les frameworks javascript du type Backbone.js ou Angular.js sont en plein essor et permettent de construire rapidement et proprement des applications dites Single page application. Ce type d’application permet principalement d’améliorer l’expérience de vos utilisateurs. Lorsque l’utilisateur souhaite accéder à l’application, il envoie une requête sur un serveur web, qui lui répond par une page HTML classique. Cette page fait référence aux fichiers javascript de Backbone, underscore.js, jquery et le javascript contenant la logique de l’application basée sur Backbone. [Voir plus]

Feedbacks sur la garantie de la Surface RT

Depuis novembre 2012, j’ai une Surface RT de 32Go que j’utilise pour aller sur internet, mail, news, etc. Tout fonctionnait très bien jusqu’à la semaine derrière où une tâche jaunâtre est apparue dans la partie inferieure droite de l’écran (à côté du connecteur pour le chargeur). Après quelques recherches sur mon moteur de recherche préféré, je constate que je ne suis pas le seul à avoir ce soucis (exemple ici). Certaines personnes ont constaté ce problème dès la réception de la Surface alors que d’autres comme moi seulement après plusieurs mois. [Voir plus]

Skype et CPU élevé

Depuis quelques temps, j’ai remarqué que mon Skype consommait beaucoup de CPU alors qu’il était simplement démarré et connecté à mon compte. On peut le voir sur le screenshot de Process Explorer ci-dessous. Dans l’onglet “Threads”, on voit qu’un seul thread (TID = 8556) consomme la quasi totalité du CPU utilisé par Skype. Après avoir pris plusieurs dumps avec ProcDump (Skype semble ne pas trop aimer être breaké par WinDbg, il lance un nombre incalculable d’access violation lors de la libération du processus). [Voir plus]
CPU  Debug  Skype  WinDBG 

Afficher les chaînes de caractères situées dans un processus ou un dump

Récupérer la liste des chaînes de caractères (string) présentes dans la mémoire utilisée par un exécutable peut être intéressant (Mise en place d’interning par exemple). Cet article montre plusieurs manières de récupérer ces chaînes de caractères directement dans un processus live ou un dump. Dans les exemples ci-dessous, l’application console (.NET) récupère un mot situé sur une page web. Le but est de retrouver ce mot en mémoire. Process Explorer Avec un processus live, Process Explorer donne accès aux chaînes de caractères que ce soit en mémoire ou à l’intérieur du binaire. [Voir plus]

[TFS] MSBUILD : Logger error MSB4104: Failed to write to log file "C:\a\src\<Project>\<SolutionName>\<SolutionName>.log dans TFS

Grâce à Team Foundation Service disponible depuis peu, il est possible de faire de l’intégration continue directement via ce TFS online mais également de publier un site web sur Azure à chaque check-in. Cette étape se fait en quelques clicks et est très simple à mettre en place. La mise en place d’intégration continue sur Azure ou sur un TFS classique peut reserver quelques surprises et notamment l’erreur suivante lors de la build : [Voir plus]

Webcasts sur le debugging

Show très intéressant sur le debugging animé par Larry Larsen, Chad Beeder et Andrew Richards composé de webcasts d’une trentaine de minutes qui paraissent toutes les semaines. Les animateurs présentent les outils de la suites SysInternals, expliquent comment utiliser WinDBG pour debugger les applications .NET et natives, analyser des dumps de BSOD, etc… La plupart des concepts sont expliqués assez clairement même si certains épisodes (notamment sur les drivers) ont un niveau technique assez élevé. [Voir plus]