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.


Sur le même sujet

Antivirus Avira (CVE-2019-18568) : quand l'authentification d'un PE mène à une LPE

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

En juillet 2019, je me suis penché sur la sécurité d'un antivirus grand public, connu sous le nom de « Avira ». Lors de cette analyse, j'ai identifié, dans le driver en charge d'authentifier un programme exécutable, une vulnérabilité menant à une élévation de privilèges. Après une brève présentation du composant noyau, nous étudierons en détail la vulnérabilité et préparerons les éléments nécessaires à la réussite d'une exploitation.

Analyse UEFI avec Windbg

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

La dernière étape dans la mise en place d’un environnement de travail complet en UEFI va être l’installation d’un debugger. Celui-ci va permettre de, non seulement faciliter le développement au sein du micrologiciel, mais aussi de comprendre dynamiquement le code source. Dès lors, il sera possible de mieux appréhender ce code afin de l’éditer et créer son propre UEFI.

Extraction des secrets de lsass à distance

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

Le mouvement latéral est une composante essentielle des tests d’intrusion. Cette phase peut être fastidieuse si les cibles sont correctement protégées. L’outil « lsassy » répond à ce besoin en permettant d’extraire à distance les secrets présents sur des machines.

Mécanismes de défense en profondeur de Safari sur iOS

Magazine
Marque
MISC
Numéro
108
|
Mois de parution
mars 2020
|
Domaines
Résumé

Les navigateurs sont depuis plusieurs années une cible de choix pour obtenir une exécution de code arbitraire initiale dans la chaîne de compromission d’un équipement « client », que ce soit une station de travail classique ou un smartphone. La prolifération des vulnérabilités et techniques d’exploitation encourage les éditeurs à mettre en place de la défense en profondeur afin de supprimer des classes entières de vulnérabilités ou rendre leur exploitation particulièrement complexe.

Par le même auteur

Contrôle d’identité avec Passport

Magazine
Marque
MISC
Numéro
101
|
Mois de parution
janvier 2019
|
Domaines
Résumé
On ne plaisante pas avec un contrôle d’identité ! Il en va de même en sécurité applicative où l’authentification est une fonctionnalité primordiale à mettre en œuvre. Mais quand il faut s’y mettre, le développeur sera confronté à de nombreuses problématiques et se posera beaucoup de questions sans y trouver de réponses, faute d’avoir un expert en sécurité applicative à sa disposition.Tout au long de cet article, vous suivrez pas à pas le questionnement d’un développeur back end accompagné d’un expert sécurité pour l’aider dans son raisonnement.

Les fondamentaux pour sécuriser une (application) MEAN ?

Magazine
Marque
MISC
Numéro
101
|
Mois de parution
janvier 2019
|
Domaines
Résumé
MEAN est un socle technique composé de MongoDB, Express, Angular et Node.js. Ces quatre composants ont un point commun : le JavaScript ! La connaissance de cet unique langage de programmation vous permet désormais de créer une application web dynamique et moderne. Ce socle technique est donc largement utilisé par les développeurs « full stack » et c’est ainsi que de nombreuses applications MEAN viennent s’installer progressivement dans les SI des entreprises. Mais voilà ! Ce socle technique est-il suffisant pour développer des applications sécurisées qui seront amenées à manipuler des données sensibles (carte bancaire, santé…) ?