Comment sécuriser les applications critiques des entreprises
Alors que les entreprises migrent de plus en plus d'applications critiques vers le cloud, les cyber-adversaires s'adaptent et modifient leurs stratégies en conséquence.
Une chose reste certaine : dans le cloud, les cybercriminels s'attaquent aux applications logicielles. Rien qu’en 2023, 8 brèches sur 10 étaient liées à des applications. Les applications critiques traitent généralement de grandes quantités de données sensibles, or ces applications présentent souvent des vulnérabilités ou sont mal configurées, exposant des informations importantes à des acteurs menaçants.
L’enjeu est donc de protéger ces applications critiques afin d’éviter qu’elles tombent entre de mauvaises mains.
Identifier les applications critiques pour l'entreprise
En cas de brèche d'une application critique, la société devra faire face à des amendes, à la perte de données, à une atteinte à la réputation et autres conséquences néfastes. En outre, l'entreprise peut voir son chiffre d'affaires diminuer si ses services sont indisponibles et que les clients ne peuvent plus les utiliser.
Parmi les exemples courants d'applications critiques, nous retrouvons les applications boursières, les sites e-commerce, les logiciels de santé et tout autre logiciel personnalisé qui traite des informations privées ou des données critiques. Une fois que les applications développées sont considérées comme "critiques pour l'entreprise", elles doivent être sécurisées à tout prix.
Configurer une infrastructure numérique sécurisée
Afin de parvenir à sécuriser les machines exécutant ces applications critiques, plusieurs paramètres doivent être pris en considération :
- La segmentation du réseau,
- Les pare-feu,
- Les corrections du système d'exploitation et de la machine virtuelle (VM),
- La cryptographie,
- La gestion de données sensibles.
Restreindre la capacité d'un attaquant à se déplacer dans le réseau contribue grandement à limiter le nombre de brèches. En isolant les actifs numériques et en exigeant une autorisation pour accéder aux applications critiques, la probabilité d'une attaque réussie diminue.
Par ailleurs, crypter les données sensibles, tant au repos qu'en transit, ainsi que les mots de passe, permet de réduire la probabilité qu'un pirate extraie des informations précieuses.
Restreindre les autorisations d'accès
La plupart des cyberattaques réussies proviennent d’un vol d'identifiants. En limitant l'accès des utilisateurs, l'entreprise peut réduire considérablement le risque de compromission.
En fonction des applications, les autorisations d’accès diffèrent. Les applications professionnelles internes utilisent souvent un contrôle d'accès basé sur les rôles (RBAC) pour autoriser ou interdire l'accès. Pour une application business-to-consumer, la stratégie d'accès est différente. Les applications destinées à un large public accordent souvent l'accès à tout utilisateur qui choisit de s'inscrire.
Indépendamment de savoir qui peut accéder à l'application dans son ensemble, il est toujours essentiel de veiller à ce que les utilisateurs ne puissent accéder qu'aux parties de l'application qui les concernent. Souvent, les fonctions communes sont accessibles par tous les utilisateurs, tandis que les fonctions spécialisées ne sont accessibles qu'à des membres accrédités. Par exemple, les fonctions administratives peuvent être réservées aux personnes travaillant au sein du département informatique et de l'organisation mère. Les applications critiques doivent régulièrement révoquer l'accès des utilisateurs qui n'ont plus besoin d'accéder au système, comme les employés ne faisant plus parti de l’entreprise.
Une fois les utilisateurs authentifiés, ils reçoivent généralement un token pour accéder à l'application. Ces tokens identifient de manière unique un individu et permettent au logiciel d'autoriser les requêtes de l'utilisateur, plutôt que de demander à plusieurs reprises un nom d'utilisateur et un mot de passe. Les attaquants tentent de voler les tokens afin d'usurper l'identité d'utilisateurs valides et de voler des données sensibles dans les logiciels. Des précautions particulières doivent être prises pour protéger les tokens contre les attaquants. Exiger des connexions HTTPS pour l'émission de token et imposer leur expiration sont des mécanismes de défense courants.
Monitorer les changements dans la production
Au fur et à mesure que les changements de code modifient les applications personnalisées, il est impératif de suivre l'évolution de leur niveau de risque.
Les flux de données et les API nouvellement introduits peuvent avoir une influence considérable sur la probabilité d'exposition de données sensibles. Les modifications apportées aux flux de données et aux API existants sont encore plus difficiles à gérer : de petites mises à jour peuvent présenter un risque important, comme la suppression accidentelle de l'authentification d'une API ou le renvoi de données sensibles dans la charge utile d'une API.
La plupart des codes ne sont pas créés en interne : les logiciels open source représentent plus de 80 % des lignes de code des applications logicielles modernes. Au fur et à mesure que les versions changent et que de nouvelles bibliothèques sont importées pour la première fois, les CVE (listes de failles de sécurité) présentes dans une application changent. Comprendre à la fois l'impact commercial et la probabilité d'exploitation de chaque CVE en production permet aux équipes de sécurité de prioriser leurs efforts.
Régulièrement mesurer le niveau de risque permet aux équipes de sécurité de rester en phase avec leurs homologues chargés du développement des logiciels, et de rapidement réagir en cas de danger.