New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "Pourquoi vous ne pouvez pas sécuriser une application frontend" #843
Add "Pourquoi vous ne pouvez pas sécuriser une application frontend" #843
Conversation
20a1e3d
to
3fe727b
Compare
articles/2020-03-8-pourquoi-pouvez-pas-securiser-application-frontend.md
Outdated
Show resolved
Hide resolved
…rontend.md Co-Authored-By: Neil Bryson <neilbryson@users.noreply.github.com>
Petite question, je vois que ça fait longtemps que plus rien n'a été publié ici. Est-ce que le blog est toujours actif? |
On va dire au ralenti. On va te faire un retour sous peu. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello 👋
D'abord, merci beaucoup de proposer cet article, il est très cool !
Je t'ai laissé quelques nitpicks en reviews.
(désolé d'avoir mis autant de temps à review 😄)
slug: pourquoi-peut-pas-securiser-app-frontend | ||
--- | ||
|
||
Je suis toujours très surpris d'entendre parler de la sécurité des applications frontend parce que précisément une application frontend s'exécute sur le périphérique de l'utilisateur et ne peut donc pas être sécurisée. Elle doit même être considérée comme un **client potentiellement malveillant**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je serais plus nuancé que de tirer cette conclusion de "l'execution sur le périphérique", mais plutôt du fait que c'est un langage interprété dont la source est téléchargée pour être exécutée.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour moi ce n'est pas le fait que la source soit téléchargée pour être executée ou que ce soit un langage interprété qui pose problème mais bien l'exécution du code sur le périphérique client.
Même sur un smartphone distribué directement avec une application pré-installée codée en C++, cette dernière sera susceptible d'être détournée. (analyse de l'assembleur, modification des instructions, etc)
Ça sera juste plus compliqué mais ça reste possible et si l'incentive est assez élevé ça sera systématiquement réalisé (par exemple les crack de jeux vidéos)
|
||
Ajouter une couche de chiffrement basique pour le mot de passe avec un simple XOR et une clé réutilisé pour chaque authentification de chaque client est inutile pour plusieurs raisons: | ||
- la **réutilisation de la clé** pour chaque client et chaque requête **rend le chiffrement vulnérable** car il est possible de [deviner le message](https://stackoverflow.com/questions/1135186/whats-wrong-with-xor-encryption/1135197#1135197) avec une [analyse de fréquence](https://www.wikiwand.com/en/Frequency_analysis). | ||
- étant donné que **la clé est stocké dans le device**, il suffit de télécharger l’application pour la connaître |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
stockée
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Également la clé peut être générée puis stockée dans le storage navigateur, on peut peut-être en faire mention ici.
![trying to reinvent the wheel](/public/images/articles/2020-03-8-pourquoi-pouvez-pas-securiser-application-frontend/reinvent-the-wheel.png) | ||
*When you try to reinvent the wheel..* | ||
|
||
Il est bien plus facile d’utiliser d’autres techniques de sécurisation tel que le [SSL Pinning](https://security.stackexchange.com/a/29990) pour se prévenir des attaque MITM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette section mériterait peut-être un point sur la durée de validité des tokens (en privilégier des courtes/très courtes)
articles/2020-03-8-pourquoi-pouvez-pas-securiser-application-frontend.md
Outdated
Show resolved
Hide resolved
articles/2020-03-8-pourquoi-pouvez-pas-securiser-application-frontend.md
Outdated
Show resolved
Hide resolved
articles/2020-03-8-pourquoi-pouvez-pas-securiser-application-frontend.md
Outdated
Show resolved
Hide resolved
@@ -0,0 +1,141 @@ | |||
--- | |||
date: 2020-03-8 | |||
title: Pourquoi vous ne pouvez pas sécuriser une application frontend |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Qu'est-ce que tu dirais d'appeler l'article "Est-il possible de sécuriser une application front-end ?" ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oui j'aime bien aussi :)
…rontend.md Co-Authored-By: Matthias Le Brun <mlbli@me.com>
…rontend.md Co-Authored-By: Matthias Le Brun <mlbli@me.com>
…rontend.md Co-Authored-By: Matthias Le Brun <mlbli@me.com>
…ndecode.io into add-secure-react-native-app
@bloodyowl Tu peux re-jeter un oeil, j'ai appliqué certaines de tes corrections |
@Aschen ok pour moi. On publie demain si ça te va (histoire d'éviter une publication le 1er avril) |
@bloodyowl Ahah bien vu ;-) Ça me va ! |
Hello :-)
J'ai originellement posté cet article en anglais sur le blog de Kuzzle et je voulais proposer une traduction FR ici pour que la communauté dev FR puisse en profiter.