Introduction au dossier : Sécurité des applications web

Magazine
Marque
MISC
Numéro
101
Mois de parution
janvier 2019
Domaines


Résumé
Tôt ou tard, tout expert en sécurité informatique sera confronté à une MEAN, mais avant de déclencher l’alerte à la bombe ou de tirer le signal d’alarme, nous vous invitons à lire ce dossier.

Body

Le terme MEAN désigne un ensemble de composants (MongoDB, Express, Angular et Node.js) constituant un socle technique pour développer des applications en JavaScript. Pour un expert en sécurité informatique, l’utilisation de ce langage de programmation n’est pas très rassurante : langage non typé, problème de transitivité des opérateurs…

Pour un joueur de démineur expérimenté (sous Windows 95/98), le JavaScript est un langage de programmation limité à de simples fonctions basiques comme OnClick() ou Alert() et dont l’usage est purement cosmétique (défilement de texte, titre clignotant…).

Mais depuis, les moteurs d’exécution JavaScript ont bien évolué et les optimisations apportées permettent d’augmenter considérablement les performances et par conséquent, d’en adapter les usages. C’est ainsi que le JavaScript se retrouve utilisé côté serveur (SSJS : Server-Side JavaScript). Il existe de nombreux moteurs pour créer un back-end en JavaScript dont le plus connu est Node.js qui utilise le moteur V8 de Google.

Et ainsi, il devient facile de devenir un développeur « full stack » en JavaScript. Les entreprises recherchent activement ce profil de personne capable d’agir du front-end à la base de données en passant par le back-end. Mais pourtant, un vrai développeur full-stack ça n’existe pas vraiment. Il est très difficile de connaître l’ensemble des technologies nécessaires pour développer un site web. Entre MongoDB, Express, Angular et Node.js, c’est le grand écart !

Ce dossier s’adresse aussi bien aux développeurs « full stack » qu’aux personnes curieuses de mettre en œuvre cette technologie, ils y trouveront un ensemble de bonnes pratiques de développement pour sécuriser leurs applications. Les experts en sécurité applicative pourront s’appuyer sur ce dossier pour conseiller les développeurs.

Ce dossier est accompagné de nombreux prototypes disponibles sur GitHub : https://github.com/MiscMag101. Vous pouvez vous y référer à tout moment pour avoir une vue d’ensemble du code source et tester rapidement les prototypes.




Articles qui pourraient vous intéresser...

Retour d’expérience : investigation numérique dans un environnement Windows

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

L’investigation numérique d’un système d’information (SI) consiste à comprendre d’un point de vue temporel et factuel les évènements ayant conduit à l’incident. Bien que les SI présentent une architecture bien souvent commune, les interventions sont toutes différentes et mettent en lumière l’ingéniosité des attaquants afin d’œuvrer de la manière la plus discrète possible. Nous allons présenter au cours de cet article, notre retour d’expérience relatif à une intervention auprès d’un client début 2020.

Zéro SQLi malgré les développeurs

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

Nous proposons une méthode pour effectuer des requêtes SQL qui garantit l'invulnérabilité aux injections SQL, y compris lorsqu'elle est utilisée par un développeur pressé ou incompétent, contrairement aux requêtes paramétrées. Basée sur l'utilisation d'arbres de syntaxe abstraite, elle permet facilement de construire des requêtes dynamiques et est plus facile à mettre en œuvre qu'un ORM. Nous proposons une bibliothèque Java implémentant nos idées, mais la méthode peut s'appliquer à d'autres langages de programmation et d'autres types de requêtes.

Sécurisation du serveur

Magazine
Marque
Linux Pratique
HS n°
Numéro
48
Mois de parution
septembre 2020
Domaines
Résumé

Notre serveur RHEL est désormais fin prêt à être utilisé et maintenu, sans peine et de manière confortable. Cependant, notre travail n’est pas terminé. Il nous reste encore un élément crucial à valider : nous assurer que le serveur est aussi sûr et protégé que possible face à un éventuel assaillant mal attentionné.