Les codeurs conquièrent la sécurité : Share & Learn Series - Protection insuffisante de la couche transport
Même si vous avez complètement sécurisé un serveur d'application et les systèmes dorsaux qu'il utilise, les communications peuvent toujours être vulnérables à l'espionnage si la protection de la couche transport est insuffisante. Dans le monde physique, la raison pour laquelle les devises fortes sont déplacées à l'aide de véhicules blindés est qu'elles sont protégées pendant leur transit. La sécurité d'un magasin ou d'une banque importe peu si l'argent qu'il génère est chargé dans une voiturette de golf pour être transporté à l'autre bout de la ville.
Il en va de même pour les couches de transport dans le domaine cybernétique. Même si une application est sécurisée, il existe toujours une vulnérabilité critique si les informations qui lui parviennent sont envoyées sans protection. Certaines applications présentent une deuxième vulnérabilité si elles envoient en outre des informations à d'autres serveurs ou à une base de données. Ces informations peuvent être exposées à des initiés qui n'ont rien à faire pour espionner ces transactions.
Pour protéger pleinement les utilisateurs et les données, il faut protéger la couche de transport. Ce n'est qu'à cette condition que vous pourrez sécuriser l'ensemble d'une transaction de bout en bout.
Dans cet épisode, vous apprendrez
- Comment les pirates peuvent exploiter une protection insuffisante de la couche transport
- Pourquoi le fait de ne pas protéger la couche transport est si dangereux
- Ce qui peut être fait pour sécuriser le transport de toutes les données qui entrent et sortent d'une application ou d'un serveur.
Comment les attaquants exploitent-ils une protection insuffisante de la couche transport ?
Une protection insuffisante de la couche transport peut permettre des attaques en deux points de votre flux de données. Le point le plus couramment exploité se situe entre un utilisateur et le serveur d'application. Si des informations sont envoyées en clair, ou avec un faible cryptage, les pirates pourront surveiller, voler et éventuellement modifier ces informations. Les pirates peuvent ainsi voler la carte de crédit d'un utilisateur, ses identifiants de connexion ou tout autre élément envoyé au serveur d'application. Même si le serveur lui-même est sécurisé, un pirate informatique surveillant le canal non sécurisé entre le serveur et les utilisateurs pourrait obtenir un accès presque illimité à de nombreuses informations.
Le deuxième point qui n'est souvent pas protégé est la couche de transport entre une application et le reste du réseau. Par exemple, un serveur d'application peut traiter des commandes d'achats en ligne et les envoyer ensuite à un système d'exécution, ou des données peuvent simplement être transférées vers une base de données pour y être stockées. Si ces canaux internes ne sont pas protégés, les utilisateurs internes pourraient être en mesure de voir ces informations.
S'il est agréable de croire que tous les utilisateurs internes sont de bonnes personnes, il n'en reste pas moins que les menaces internes sont en augmentation dans de nombreux secteurs d'activité. Des initiés ont été surpris en train d'accepter des pots-de-vin en échange de la collecte d'informations sensibles pour des attaquants ou des concurrents. Et avoir accès à des milliers de cartes de crédit valides peut être tout simplement trop tentant pour certaines personnes.
En termes de techniques d'attaque, il n'est pas très difficile d'intercepter des communications non protégées. Même les pirates de bas niveau savent comment effectuer des attaques de type "man-in-the-middle" contre des flux de données non chiffrés. S'ils ne le savent pas, il existe des vidéos en ligne qui leur permettent de se former en moins d'une demi-heure.
Pourquoi les vulnérabilités liées à une protection insuffisante de la couche transport sont-elles si dangereuses ?
Une protection insuffisante ou inexistante des couches de transport est dangereuse car elle permet aux pirates de recueillir très facilement des informations sensibles. Ils n'ont pas besoin de s'introduire dans votre serveur d'applications ou de pirater votre réseau. Il leur suffit de mettre en place une attaque de type "man in the middle" et de lire tout ce que les utilisateurs envoient à un serveur. Il peut s'agir de noms d'utilisateur et de mots de passe qui peuvent être utilisés pour contourner la sécurité à l'avenir en utilisant des informations d'identification valides. Selon l'application, il peut également s'agir d'informations relatives aux cartes de crédit ou d'autres données personnelles concernant les utilisateurs.
Il est important de noter que tous ces espionnages ont lieu en dehors de votre réseau. Si vous utilisez des canaux de transport non sécurisés, il n'y a aucun moyen de savoir si quelqu'un capture ces informations. Normalement, le premier signe est lorsque de nombreux utilisateurs commencent à signaler des comptes compromis ou des achats par carte de crédit, et le facteur commun est que votre application " n'est pas un bon endroit où se trouver ". Les pirates peuvent également modifier les informations une fois qu'ils les ont, en changeant l'adresse de livraison par exemple, ou même en insérant des scripts malveillants dans la réponse du serveur avant de la transmettre aux utilisateurs.
Au niveau du backend, le fait de ne pas sécuriser la couche de transport expose les données à des initiés. Il est probablement beaucoup moins probable qu'un initié espionne la couche de transport que des pirates de l'extérieur qui font la même chose. Mais c'est aussi plus dangereux si cela se produit, parce que la menace interne pourra voir non seulement les données de l'utilisateur, mais aussi toute information propriétaire ajoutée par le serveur d'application avant d'envoyer ces paquets.
Élimination des vulnérabilités liées à une protection insuffisante de la couche transport
Aussi dangereuse que puisse être une protection insuffisante de la couche de transport, il n'est pas incroyablement difficile de sécuriser correctement tous vos canaux de transport. Cela commence par l'infrastructure dorsale. Celle-ci doit être exclusivement HTTPS, veillez à ne pas mélanger HTTPS et HTTP sur un site. Enfin, maintenez un certificat SSL valide avec une taille de clé minimale de 2048 bits tout en forçant tous les utilisateurs à interagir avec des navigateurs sécurisés avec HTTP Strict Transport Security (HSTS).
Une fois l'infrastructure en place, les développeurs doivent utiliser un protocole solide pour protéger la couche de transport. L'idéal est d'utiliser TLS 1.2, bien que TLS 1.1 et 1.0 soient également acceptables en cas d'absolue nécessité. Une fois ce protocole en place, les protocoles faibles comme SSLv2 doivent être complètement désactivés et ne jamais être pris en charge.
Il convient également de veiller à ce que les algorithmes de chiffrement soient suffisamment puissants au niveau du backend. Idéalement, la taille minimale de la clé de session devrait être de 128 bits. Comme pour les protocoles, la prise en charge d'algorithmes cryptographiques faibles tels que DES et RC4-40 doit être désactivée. Enfin, ne considérez pas une application comme réellement sûre tant que le serveur lui-même et tous les chemins de données qui y mènent et qui en partent ne sont pas suffisamment protégés.
Plus d'informations sur les vulnérabilités de la protection de la couche de transport insuffisante
Pour en savoir plus, vous pouvez consulter le guide de l'OWASP sur la protection des couches de transport. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Même si vous avez entièrement sécurisé un serveur d'application et les systèmes dorsaux qu'il utilise, les communications peuvent encore être espionnées si la protection de la couche transport est insuffisante.
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationJaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.
Même si vous avez complètement sécurisé un serveur d'application et les systèmes dorsaux qu'il utilise, les communications peuvent toujours être vulnérables à l'espionnage si la protection de la couche transport est insuffisante. Dans le monde physique, la raison pour laquelle les devises fortes sont déplacées à l'aide de véhicules blindés est qu'elles sont protégées pendant leur transit. La sécurité d'un magasin ou d'une banque importe peu si l'argent qu'il génère est chargé dans une voiturette de golf pour être transporté à l'autre bout de la ville.
Il en va de même pour les couches de transport dans le domaine cybernétique. Même si une application est sécurisée, il existe toujours une vulnérabilité critique si les informations qui lui parviennent sont envoyées sans protection. Certaines applications présentent une deuxième vulnérabilité si elles envoient en outre des informations à d'autres serveurs ou à une base de données. Ces informations peuvent être exposées à des initiés qui n'ont rien à faire pour espionner ces transactions.
Pour protéger pleinement les utilisateurs et les données, il faut protéger la couche de transport. Ce n'est qu'à cette condition que vous pourrez sécuriser l'ensemble d'une transaction de bout en bout.
Dans cet épisode, vous apprendrez
- Comment les pirates peuvent exploiter une protection insuffisante de la couche transport
- Pourquoi le fait de ne pas protéger la couche transport est si dangereux
- Ce qui peut être fait pour sécuriser le transport de toutes les données qui entrent et sortent d'une application ou d'un serveur.
Comment les attaquants exploitent-ils une protection insuffisante de la couche transport ?
Une protection insuffisante de la couche transport peut permettre des attaques en deux points de votre flux de données. Le point le plus couramment exploité se situe entre un utilisateur et le serveur d'application. Si des informations sont envoyées en clair, ou avec un faible cryptage, les pirates pourront surveiller, voler et éventuellement modifier ces informations. Les pirates peuvent ainsi voler la carte de crédit d'un utilisateur, ses identifiants de connexion ou tout autre élément envoyé au serveur d'application. Même si le serveur lui-même est sécurisé, un pirate informatique surveillant le canal non sécurisé entre le serveur et les utilisateurs pourrait obtenir un accès presque illimité à de nombreuses informations.
Le deuxième point qui n'est souvent pas protégé est la couche de transport entre une application et le reste du réseau. Par exemple, un serveur d'application peut traiter des commandes d'achats en ligne et les envoyer ensuite à un système d'exécution, ou des données peuvent simplement être transférées vers une base de données pour y être stockées. Si ces canaux internes ne sont pas protégés, les utilisateurs internes pourraient être en mesure de voir ces informations.
S'il est agréable de croire que tous les utilisateurs internes sont de bonnes personnes, il n'en reste pas moins que les menaces internes sont en augmentation dans de nombreux secteurs d'activité. Des initiés ont été surpris en train d'accepter des pots-de-vin en échange de la collecte d'informations sensibles pour des attaquants ou des concurrents. Et avoir accès à des milliers de cartes de crédit valides peut être tout simplement trop tentant pour certaines personnes.
En termes de techniques d'attaque, il n'est pas très difficile d'intercepter des communications non protégées. Même les pirates de bas niveau savent comment effectuer des attaques de type "man-in-the-middle" contre des flux de données non chiffrés. S'ils ne le savent pas, il existe des vidéos en ligne qui leur permettent de se former en moins d'une demi-heure.
Pourquoi les vulnérabilités liées à une protection insuffisante de la couche transport sont-elles si dangereuses ?
Une protection insuffisante ou inexistante des couches de transport est dangereuse car elle permet aux pirates de recueillir très facilement des informations sensibles. Ils n'ont pas besoin de s'introduire dans votre serveur d'applications ou de pirater votre réseau. Il leur suffit de mettre en place une attaque de type "man in the middle" et de lire tout ce que les utilisateurs envoient à un serveur. Il peut s'agir de noms d'utilisateur et de mots de passe qui peuvent être utilisés pour contourner la sécurité à l'avenir en utilisant des informations d'identification valides. Selon l'application, il peut également s'agir d'informations relatives aux cartes de crédit ou d'autres données personnelles concernant les utilisateurs.
Il est important de noter que tous ces espionnages ont lieu en dehors de votre réseau. Si vous utilisez des canaux de transport non sécurisés, il n'y a aucun moyen de savoir si quelqu'un capture ces informations. Normalement, le premier signe est lorsque de nombreux utilisateurs commencent à signaler des comptes compromis ou des achats par carte de crédit, et le facteur commun est que votre application " n'est pas un bon endroit où se trouver ". Les pirates peuvent également modifier les informations une fois qu'ils les ont, en changeant l'adresse de livraison par exemple, ou même en insérant des scripts malveillants dans la réponse du serveur avant de la transmettre aux utilisateurs.
Au niveau du backend, le fait de ne pas sécuriser la couche de transport expose les données à des initiés. Il est probablement beaucoup moins probable qu'un initié espionne la couche de transport que des pirates de l'extérieur qui font la même chose. Mais c'est aussi plus dangereux si cela se produit, parce que la menace interne pourra voir non seulement les données de l'utilisateur, mais aussi toute information propriétaire ajoutée par le serveur d'application avant d'envoyer ces paquets.
Élimination des vulnérabilités liées à une protection insuffisante de la couche transport
Aussi dangereuse que puisse être une protection insuffisante de la couche de transport, il n'est pas incroyablement difficile de sécuriser correctement tous vos canaux de transport. Cela commence par l'infrastructure dorsale. Celle-ci doit être exclusivement HTTPS, veillez à ne pas mélanger HTTPS et HTTP sur un site. Enfin, maintenez un certificat SSL valide avec une taille de clé minimale de 2048 bits tout en forçant tous les utilisateurs à interagir avec des navigateurs sécurisés avec HTTP Strict Transport Security (HSTS).
Une fois l'infrastructure en place, les développeurs doivent utiliser un protocole solide pour protéger la couche de transport. L'idéal est d'utiliser TLS 1.2, bien que TLS 1.1 et 1.0 soient également acceptables en cas d'absolue nécessité. Une fois ce protocole en place, les protocoles faibles comme SSLv2 doivent être complètement désactivés et ne jamais être pris en charge.
Il convient également de veiller à ce que les algorithmes de chiffrement soient suffisamment puissants au niveau du backend. Idéalement, la taille minimale de la clé de session devrait être de 128 bits. Comme pour les protocoles, la prise en charge d'algorithmes cryptographiques faibles tels que DES et RC4-40 doit être désactivée. Enfin, ne considérez pas une application comme réellement sûre tant que le serveur lui-même et tous les chemins de données qui y mènent et qui en partent ne sont pas suffisamment protégés.
Plus d'informations sur les vulnérabilités de la protection de la couche de transport insuffisante
Pour en savoir plus, vous pouvez consulter le guide de l'OWASP sur la protection des couches de transport. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Même si vous avez complètement sécurisé un serveur d'application et les systèmes dorsaux qu'il utilise, les communications peuvent toujours être vulnérables à l'espionnage si la protection de la couche transport est insuffisante. Dans le monde physique, la raison pour laquelle les devises fortes sont déplacées à l'aide de véhicules blindés est qu'elles sont protégées pendant leur transit. La sécurité d'un magasin ou d'une banque importe peu si l'argent qu'il génère est chargé dans une voiturette de golf pour être transporté à l'autre bout de la ville.
Il en va de même pour les couches de transport dans le domaine cybernétique. Même si une application est sécurisée, il existe toujours une vulnérabilité critique si les informations qui lui parviennent sont envoyées sans protection. Certaines applications présentent une deuxième vulnérabilité si elles envoient en outre des informations à d'autres serveurs ou à une base de données. Ces informations peuvent être exposées à des initiés qui n'ont rien à faire pour espionner ces transactions.
Pour protéger pleinement les utilisateurs et les données, il faut protéger la couche de transport. Ce n'est qu'à cette condition que vous pourrez sécuriser l'ensemble d'une transaction de bout en bout.
Dans cet épisode, vous apprendrez
- Comment les pirates peuvent exploiter une protection insuffisante de la couche transport
- Pourquoi le fait de ne pas protéger la couche transport est si dangereux
- Ce qui peut être fait pour sécuriser le transport de toutes les données qui entrent et sortent d'une application ou d'un serveur.
Comment les attaquants exploitent-ils une protection insuffisante de la couche transport ?
Une protection insuffisante de la couche transport peut permettre des attaques en deux points de votre flux de données. Le point le plus couramment exploité se situe entre un utilisateur et le serveur d'application. Si des informations sont envoyées en clair, ou avec un faible cryptage, les pirates pourront surveiller, voler et éventuellement modifier ces informations. Les pirates peuvent ainsi voler la carte de crédit d'un utilisateur, ses identifiants de connexion ou tout autre élément envoyé au serveur d'application. Même si le serveur lui-même est sécurisé, un pirate informatique surveillant le canal non sécurisé entre le serveur et les utilisateurs pourrait obtenir un accès presque illimité à de nombreuses informations.
Le deuxième point qui n'est souvent pas protégé est la couche de transport entre une application et le reste du réseau. Par exemple, un serveur d'application peut traiter des commandes d'achats en ligne et les envoyer ensuite à un système d'exécution, ou des données peuvent simplement être transférées vers une base de données pour y être stockées. Si ces canaux internes ne sont pas protégés, les utilisateurs internes pourraient être en mesure de voir ces informations.
S'il est agréable de croire que tous les utilisateurs internes sont de bonnes personnes, il n'en reste pas moins que les menaces internes sont en augmentation dans de nombreux secteurs d'activité. Des initiés ont été surpris en train d'accepter des pots-de-vin en échange de la collecte d'informations sensibles pour des attaquants ou des concurrents. Et avoir accès à des milliers de cartes de crédit valides peut être tout simplement trop tentant pour certaines personnes.
En termes de techniques d'attaque, il n'est pas très difficile d'intercepter des communications non protégées. Même les pirates de bas niveau savent comment effectuer des attaques de type "man-in-the-middle" contre des flux de données non chiffrés. S'ils ne le savent pas, il existe des vidéos en ligne qui leur permettent de se former en moins d'une demi-heure.
Pourquoi les vulnérabilités liées à une protection insuffisante de la couche transport sont-elles si dangereuses ?
Une protection insuffisante ou inexistante des couches de transport est dangereuse car elle permet aux pirates de recueillir très facilement des informations sensibles. Ils n'ont pas besoin de s'introduire dans votre serveur d'applications ou de pirater votre réseau. Il leur suffit de mettre en place une attaque de type "man in the middle" et de lire tout ce que les utilisateurs envoient à un serveur. Il peut s'agir de noms d'utilisateur et de mots de passe qui peuvent être utilisés pour contourner la sécurité à l'avenir en utilisant des informations d'identification valides. Selon l'application, il peut également s'agir d'informations relatives aux cartes de crédit ou d'autres données personnelles concernant les utilisateurs.
Il est important de noter que tous ces espionnages ont lieu en dehors de votre réseau. Si vous utilisez des canaux de transport non sécurisés, il n'y a aucun moyen de savoir si quelqu'un capture ces informations. Normalement, le premier signe est lorsque de nombreux utilisateurs commencent à signaler des comptes compromis ou des achats par carte de crédit, et le facteur commun est que votre application " n'est pas un bon endroit où se trouver ". Les pirates peuvent également modifier les informations une fois qu'ils les ont, en changeant l'adresse de livraison par exemple, ou même en insérant des scripts malveillants dans la réponse du serveur avant de la transmettre aux utilisateurs.
Au niveau du backend, le fait de ne pas sécuriser la couche de transport expose les données à des initiés. Il est probablement beaucoup moins probable qu'un initié espionne la couche de transport que des pirates de l'extérieur qui font la même chose. Mais c'est aussi plus dangereux si cela se produit, parce que la menace interne pourra voir non seulement les données de l'utilisateur, mais aussi toute information propriétaire ajoutée par le serveur d'application avant d'envoyer ces paquets.
Élimination des vulnérabilités liées à une protection insuffisante de la couche transport
Aussi dangereuse que puisse être une protection insuffisante de la couche de transport, il n'est pas incroyablement difficile de sécuriser correctement tous vos canaux de transport. Cela commence par l'infrastructure dorsale. Celle-ci doit être exclusivement HTTPS, veillez à ne pas mélanger HTTPS et HTTP sur un site. Enfin, maintenez un certificat SSL valide avec une taille de clé minimale de 2048 bits tout en forçant tous les utilisateurs à interagir avec des navigateurs sécurisés avec HTTP Strict Transport Security (HSTS).
Une fois l'infrastructure en place, les développeurs doivent utiliser un protocole solide pour protéger la couche de transport. L'idéal est d'utiliser TLS 1.2, bien que TLS 1.1 et 1.0 soient également acceptables en cas d'absolue nécessité. Une fois ce protocole en place, les protocoles faibles comme SSLv2 doivent être complètement désactivés et ne jamais être pris en charge.
Il convient également de veiller à ce que les algorithmes de chiffrement soient suffisamment puissants au niveau du backend. Idéalement, la taille minimale de la clé de session devrait être de 128 bits. Comme pour les protocoles, la prise en charge d'algorithmes cryptographiques faibles tels que DES et RC4-40 doit être désactivée. Enfin, ne considérez pas une application comme réellement sûre tant que le serveur lui-même et tous les chemins de données qui y mènent et qui en partent ne sont pas suffisamment protégés.
Plus d'informations sur les vulnérabilités de la protection de la couche de transport insuffisante
Pour en savoir plus, vous pouvez consulter le guide de l'OWASP sur la protection des couches de transport. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Voir le rapportRéservez une démonstrationJaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.
Même si vous avez complètement sécurisé un serveur d'application et les systèmes dorsaux qu'il utilise, les communications peuvent toujours être vulnérables à l'espionnage si la protection de la couche transport est insuffisante. Dans le monde physique, la raison pour laquelle les devises fortes sont déplacées à l'aide de véhicules blindés est qu'elles sont protégées pendant leur transit. La sécurité d'un magasin ou d'une banque importe peu si l'argent qu'il génère est chargé dans une voiturette de golf pour être transporté à l'autre bout de la ville.
Il en va de même pour les couches de transport dans le domaine cybernétique. Même si une application est sécurisée, il existe toujours une vulnérabilité critique si les informations qui lui parviennent sont envoyées sans protection. Certaines applications présentent une deuxième vulnérabilité si elles envoient en outre des informations à d'autres serveurs ou à une base de données. Ces informations peuvent être exposées à des initiés qui n'ont rien à faire pour espionner ces transactions.
Pour protéger pleinement les utilisateurs et les données, il faut protéger la couche de transport. Ce n'est qu'à cette condition que vous pourrez sécuriser l'ensemble d'une transaction de bout en bout.
Dans cet épisode, vous apprendrez
- Comment les pirates peuvent exploiter une protection insuffisante de la couche transport
- Pourquoi le fait de ne pas protéger la couche transport est si dangereux
- Ce qui peut être fait pour sécuriser le transport de toutes les données qui entrent et sortent d'une application ou d'un serveur.
Comment les attaquants exploitent-ils une protection insuffisante de la couche transport ?
Une protection insuffisante de la couche transport peut permettre des attaques en deux points de votre flux de données. Le point le plus couramment exploité se situe entre un utilisateur et le serveur d'application. Si des informations sont envoyées en clair, ou avec un faible cryptage, les pirates pourront surveiller, voler et éventuellement modifier ces informations. Les pirates peuvent ainsi voler la carte de crédit d'un utilisateur, ses identifiants de connexion ou tout autre élément envoyé au serveur d'application. Même si le serveur lui-même est sécurisé, un pirate informatique surveillant le canal non sécurisé entre le serveur et les utilisateurs pourrait obtenir un accès presque illimité à de nombreuses informations.
Le deuxième point qui n'est souvent pas protégé est la couche de transport entre une application et le reste du réseau. Par exemple, un serveur d'application peut traiter des commandes d'achats en ligne et les envoyer ensuite à un système d'exécution, ou des données peuvent simplement être transférées vers une base de données pour y être stockées. Si ces canaux internes ne sont pas protégés, les utilisateurs internes pourraient être en mesure de voir ces informations.
S'il est agréable de croire que tous les utilisateurs internes sont de bonnes personnes, il n'en reste pas moins que les menaces internes sont en augmentation dans de nombreux secteurs d'activité. Des initiés ont été surpris en train d'accepter des pots-de-vin en échange de la collecte d'informations sensibles pour des attaquants ou des concurrents. Et avoir accès à des milliers de cartes de crédit valides peut être tout simplement trop tentant pour certaines personnes.
En termes de techniques d'attaque, il n'est pas très difficile d'intercepter des communications non protégées. Même les pirates de bas niveau savent comment effectuer des attaques de type "man-in-the-middle" contre des flux de données non chiffrés. S'ils ne le savent pas, il existe des vidéos en ligne qui leur permettent de se former en moins d'une demi-heure.
Pourquoi les vulnérabilités liées à une protection insuffisante de la couche transport sont-elles si dangereuses ?
Une protection insuffisante ou inexistante des couches de transport est dangereuse car elle permet aux pirates de recueillir très facilement des informations sensibles. Ils n'ont pas besoin de s'introduire dans votre serveur d'applications ou de pirater votre réseau. Il leur suffit de mettre en place une attaque de type "man in the middle" et de lire tout ce que les utilisateurs envoient à un serveur. Il peut s'agir de noms d'utilisateur et de mots de passe qui peuvent être utilisés pour contourner la sécurité à l'avenir en utilisant des informations d'identification valides. Selon l'application, il peut également s'agir d'informations relatives aux cartes de crédit ou d'autres données personnelles concernant les utilisateurs.
Il est important de noter que tous ces espionnages ont lieu en dehors de votre réseau. Si vous utilisez des canaux de transport non sécurisés, il n'y a aucun moyen de savoir si quelqu'un capture ces informations. Normalement, le premier signe est lorsque de nombreux utilisateurs commencent à signaler des comptes compromis ou des achats par carte de crédit, et le facteur commun est que votre application " n'est pas un bon endroit où se trouver ". Les pirates peuvent également modifier les informations une fois qu'ils les ont, en changeant l'adresse de livraison par exemple, ou même en insérant des scripts malveillants dans la réponse du serveur avant de la transmettre aux utilisateurs.
Au niveau du backend, le fait de ne pas sécuriser la couche de transport expose les données à des initiés. Il est probablement beaucoup moins probable qu'un initié espionne la couche de transport que des pirates de l'extérieur qui font la même chose. Mais c'est aussi plus dangereux si cela se produit, parce que la menace interne pourra voir non seulement les données de l'utilisateur, mais aussi toute information propriétaire ajoutée par le serveur d'application avant d'envoyer ces paquets.
Élimination des vulnérabilités liées à une protection insuffisante de la couche transport
Aussi dangereuse que puisse être une protection insuffisante de la couche de transport, il n'est pas incroyablement difficile de sécuriser correctement tous vos canaux de transport. Cela commence par l'infrastructure dorsale. Celle-ci doit être exclusivement HTTPS, veillez à ne pas mélanger HTTPS et HTTP sur un site. Enfin, maintenez un certificat SSL valide avec une taille de clé minimale de 2048 bits tout en forçant tous les utilisateurs à interagir avec des navigateurs sécurisés avec HTTP Strict Transport Security (HSTS).
Une fois l'infrastructure en place, les développeurs doivent utiliser un protocole solide pour protéger la couche de transport. L'idéal est d'utiliser TLS 1.2, bien que TLS 1.1 et 1.0 soient également acceptables en cas d'absolue nécessité. Une fois ce protocole en place, les protocoles faibles comme SSLv2 doivent être complètement désactivés et ne jamais être pris en charge.
Il convient également de veiller à ce que les algorithmes de chiffrement soient suffisamment puissants au niveau du backend. Idéalement, la taille minimale de la clé de session devrait être de 128 bits. Comme pour les protocoles, la prise en charge d'algorithmes cryptographiques faibles tels que DES et RC4-40 doit être désactivée. Enfin, ne considérez pas une application comme réellement sûre tant que le serveur lui-même et tous les chemins de données qui y mènent et qui en partent ne sont pas suffisamment protégés.
Plus d'informations sur les vulnérabilités de la protection de la couche de transport insuffisante
Pour en savoir plus, vous pouvez consulter le guide de l'OWASP sur la protection des couches de transport. Vous pouvez également mettre à l'épreuve vos nouvelles connaissances en matière de défense grâce à la démo gratuite de la plateforme Secure Code Warrior , qui forme les équipes de cybersécurité à devenir les meilleurs cyber-guerriers. Pour en savoir plus sur la manière de vaincre cette vulnérabilité et d'autres menaces, visitez le blogSecure Code Warrior .
Table des matières
Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.
Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.
Réservez une démonstrationTéléchargerRessources pour vous aider à démarrer
Évaluation comparative des compétences en matière de sécurité : Rationalisation de la conception sécurisée dans l'entreprise
Le mouvement "Secure-by-Design" (conception sécurisée) est l'avenir du développement de logiciels sécurisés. Découvrez les éléments clés que les entreprises doivent garder à l'esprit lorsqu'elles envisagent une initiative de conception sécurisée.
DigitalOcean réduit sa dette de sécurité avec Secure Code Warrior
L'utilisation par DigitalOcean de la formation Secure Code Warrior a considérablement réduit la dette de sécurité, permettant aux équipes de se concentrer davantage sur l'innovation et la productivité. L'amélioration de la sécurité a renforcé la qualité des produits et l'avantage concurrentiel de l'entreprise. À l'avenir, le score de confiance SCW les aidera à améliorer leurs pratiques de sécurité et à continuer à stimuler l'innovation.
Ressources pour vous aider à démarrer
La note de confiance révèle la valeur des initiatives d'amélioration de la sécurité par la conception
Nos recherches ont montré que la formation au code sécurisé fonctionne. Le Trust Score, qui utilise un algorithme s'appuyant sur plus de 20 millions de points de données d'apprentissage issus du travail de plus de 250 000 apprenants dans plus de 600 organisations, révèle son efficacité à réduire les vulnérabilités et la manière de rendre l'initiative encore plus efficace.
Sécurité réactive contre sécurité préventive : La prévention est un meilleur remède
L'idée d'apporter une sécurité préventive aux codes et systèmes existants en même temps qu'aux applications plus récentes peut sembler décourageante, mais une approche "Secure-by-Design", mise en œuvre en améliorant les compétences des développeurs, permet d'appliquer les meilleures pratiques de sécurité à ces systèmes. C'est la meilleure chance qu'ont de nombreuses organisations d'améliorer leur sécurité.
Les avantages de l'évaluation des compétences des développeurs en matière de sécurité
L'importance croissante accordée au code sécurisé et aux principes de conception sécurisée exige que les développeurs soient formés à la cybersécurité dès le début du cycle de développement durable, et que des outils tels que le Trust Score de Secure Code Warriorles aident à mesurer et à améliorer leurs progrès.
Assurer le succès des initiatives de conception sécurisée de l'entreprise
Notre dernier document de recherche, Benchmarking Security Skills : Streamlining Secure-by-Design in the Enterprise est le résultat d'une analyse approfondie d'initiatives réelles de conception sécurisée au niveau de l'entreprise, et de l'élaboration d'approches de meilleures pratiques basées sur des conclusions fondées sur des données.