introduction
L'approche classique de la sécurité de l'information, qui a pris forme dans les premières années d'Internet, s'est reflétée dans le modèle basé sur le périmètre. Avec cette approche, l'entreprise disposait d'un segment sécurisé interne où se trouvaient des postes de travail de confiance, et d'un segment externe avec des ressources non fiables, dont l'accès était contrôlé. Un pare-feu a été placé entre les segments interne et externe, qui a déterminé les règles pour travailler avec le monde extérieur. Cette approche s'est rapidement avérée inefficace. L'augmentation du nombre de postes de travail dans le réseau local a conduit au fait qu'il est devenu presque impossible de contrôler chaque hôte. Les tentatives de surveillance non seulement du périmètre, mais également des périphériques internes ont conduit à une approche de confiance zéro, lorsque chaque entité doit être identifiée de manière unique quel que soit le point de connexion.Les difficultés liées à la mise en œuvre généralisée de l'approche de la confiance zéro ont conduit au développement de ce concept, que l'on peut appeler la «confiance numérique». Dans le cas de la «confiance numérique», chaque appareil ou chaque utilisateur du système a certains schémas de comportement qui peuvent être considérés comme «normaux». Par exemple, un certain ensemble de logiciels est installé sur un smartphone ou un ordinateur portable, qui peut être reconnu en générant un trafic spécifique sur le réseau. Les programmes et sites que l'utilisateur ouvre définissent également des modèles de comportement spécifiques. Un écart important par rapport à ces modèles peut être considéré comme un incident de sécurité résultant d'une usurpation d'utilisateur / appareil ou d'un logiciel malveillant.qui peut être appelé "confiance numérique". Dans le cas de la «confiance numérique», chaque appareil ou chaque utilisateur du système a certains schémas de comportement qui peuvent être considérés comme «normaux». Par exemple, un certain ensemble de logiciels est installé sur un smartphone ou un ordinateur portable, qui peut être reconnu en générant un trafic spécifique sur le réseau. Les programmes et sites que l'utilisateur ouvre définissent également des modèles de comportement spécifiques. Un écart important par rapport à ces modèles peut être considéré comme un incident de sécurité résultant d'une usurpation d'utilisateur / appareil ou d'un logiciel malveillant.qui peut être appelé "confiance numérique". Dans le cas de la «confiance numérique», chaque appareil ou chaque utilisateur du système a certains schémas de comportement qui peuvent être considérés comme «normaux». Par exemple, un certain ensemble de logiciels est installé sur un smartphone ou un ordinateur portable, qui peut être reconnu en générant un trafic spécifique sur le réseau. Les programmes et sites que l'utilisateur ouvre définissent également des modèles de comportement spécifiques. Un écart important par rapport à ces modèles peut être considéré comme un incident de sécurité résultant d'une usurpation d'utilisateur / appareil ou d'un logiciel malveillant.qui peut être reconnu par la génération d'un trafic spécifique sur le réseau. Les programmes et sites que l'utilisateur ouvre définissent également des modèles de comportement spécifiques. Un écart important par rapport à ces modèles peut être considéré comme un incident de sécurité résultant d'une usurpation d'utilisateur / appareil ou d'un logiciel malveillant.qui peut être reconnu par la génération d'un trafic spécifique sur le réseau. Les programmes et sites que l'utilisateur ouvre définissent également des modèles de comportement spécifiques. Un écart important par rapport à ces modèles peut être considéré comme un incident de sécurité résultant d'une usurpation d'utilisateur / appareil ou d'un logiciel malveillant.
Cette évolution des approches de la sécurité des réseaux reflète le fait général de changer les modes de protection en raison de l'augmentation inévitable de la complexité des systèmes d'information. Cependant, l'écart sans cesse grandissant entre les dépenses et les incidents liés à la sécurité de l'information suggère que le paradigme de la cybersécurité doit changer. Les chercheurs du monde entier sont de plus en plus enclins à l'idée qu'un tel changement de paradigme se produira dans le domaine de l'asymétrie d'information qui existe entre l'attaquant et le défenseur des systèmes d'information. L'asymétrie reflète le fait que le temps pour un attaquant d'étudier un système d'information dépasse le temps de le concevoir, et aussi qu'un attaquant n'a besoin que de trouver et de mettre en œuvre une seule vulnérabilité, alors que lors de la conception, il est nécessaire de les trouver toutes.
Vers l'élimination de l'asymétrie d'information
Comme toute attaque contre un système d'information est toujours précédée d'un processus de reconnaissance, l'idée de rendre ce processus aussi difficile que possible pour un attaquant semble évidente. Vous pouvez bien sûr bloquer l'accès à certains processus et appareils et ainsi les protéger de la recherche externe, mais la pratique a montré que cette approche n'est pas toujours efficace. L'idée de changer continuellement les paramètres d'un système d'information a gagné beaucoup plus de popularité. En conséquence, les informations obtenues par l'attaquant ne sont plus pertinentes au moment suivant. Cette approche s'appelait Moving Target Defense (MTD - défense basée sur des cibles mobiles).
La croissance de l'intérêt pour le sujet est remarquable, qui peut être attribuée au nombre de publications dans les principales bases de données sur le sujet MTD. La principale percée a eu lieu après 2011, lorsque, aux États-Unis, le sujet de la DMT a été inclus dans le nombre de domaines prioritaires pour le développement des technologies de sécurité d'État . Par la suite, une grande quantité de subventions sur le thème de la MDT a été allouée par divers fonds aux États-Unis (DARPA) et dans d'autres pays (Union européenne, Inde, Chine, etc.). Si en 2011 il y avait 50 publications sur MTD, alors en 2017 plus de 500 d'entre elles étaient publiées par an. Cependant, ils n'ont pas fait de percée technologique significative dans les premières années. Des méthodes MTD sont apparues et sont devenues la norme de facto de l'industrie, comme la technologie ASLR, vous permettant de mélanger aléatoirement les sections d'adresses utilisées par l'application en RAM. ASLR est désormais utilisé dans tous les systèmes d'exploitation.
Il n'y a pas tellement de produits de sécurité superposés qui ont pu atteindre le marché et commencer à vendre. Ici, vous pouvez sélectionner Morphisec , qui est installé sur les terminaux et peut agir comme une couche pour les zones de mémoire utilisées. L'annexe CryptoMove vous permet de transformer un cryptage secret et de le distribuer sur plusieurs sites à l'aide du MTD.
Les solutions de MTD pour masquer les paramètres et les adresses du réseau local sont devenues encore moins populaires. La plupart de ces développements sont restés dans les études théoriques et n'ont pas été reflétés dans les produits des grands fournisseurs de sécurité de l'information. Bien que les technologies MTD soient devenues des normes de facto pour travailler avec la mémoire, une protection complète des systèmes d'information selon la méthodologie MTD n'a pas eu lieu. La raison de l'échec d'une si belle théorie à l'efficacité objectivement prouvée ne réside probablement pas dans son inefficacité, mais dans la difficulté d'adapter les méthodes MTD aux systèmes réels. Le système ne peut pas être complètement unique. Certains composants d'application doivent en comprendre d'autres, les protocoles de communication doivent être universels et la structure du logiciel doit être reconnaissable pour le consommateur.Tout au long de l'histoire du développement informatique, ils ont suivi le chemin de la standardisation et de l'unification maximale des processus, et ce chemin même les a conduits aux problèmes de cybersécurité que nous avons actuellement. La conclusion clé du problème de l'asymétrie de l'information est la nécessité de changer le paradigme de l'unité de la structure fonctionnelle des systèmes d'information et de passer au principe de randomisation maximale de leurs paramètres. En conséquence, le système lui-même, en raison de son caractère unique, va acquérir une «immunité» aux attaques et permettra de combler le fossé de l'asymétrie de l'information.En conséquence, le système lui-même, en raison de son caractère unique, acquiert une «immunité» aux attaques et contribuera à combler le fossé de l'asymétrie de l'information.En conséquence, le système lui-même, en raison de son caractère unique, acquiert une «immunité» aux attaques et contribuera à combler le fossé de l'asymétrie de l'information.
La plupart des méthodes MTD ont eu du mal à les distinguer en tant que solutions de produits spécifiques. Par exemple, de nombreux développements se sont concentrés sur la randomisation pour se protéger contre l'injection de code. La méthode la plus simple, mais en même temps efficace, est la randomisation des commandes de code interprété. Par exemple, un nombre aléatoire est ajouté aux commandes SQL classiques, sans lequel l'interpréteur ne le comprend pas comme une commande. Disons qu'une commande INSERT est interprétée comme une commande INSERT avec seulement un code unique connu de l'interpréteur: INSERT853491. Dans ce cas, il sera impossible de faire une injection SQL, même s'il y a vraiment une vulnérabilité due au manque de validation des paramètres. Bien que cette méthode soit efficace, elle ne peut évidemment pas être mise en œuvre avec des fonctionnalités de sécurité "overlay", mais doit faire partie de la logique du serveur de base de données lui-même.Une autre approche importante de la randomisation du système est la diversification du code.
Diversification du code de programme
La diversification du code implique que nous pouvons cloner fonctionnellement un programme tout en modifiant le code du programme. Il y a énormément de recherches sur ce sujet, mais la plupart de ces travaux sont restés au niveau de la R&D, sans se transformer en solutions commercialement intéressantes. En règle générale, ce sont des programmes qui vous permettent "d'augmenter" le nombre de circuits logiques avec un ajout de fonctionnalité à zéro fini ou d'effectuer une substitution de modèle de certaines sections du code. En fin de compte, cependant, le programme diversifié présentait souvent les mêmes vulnérabilités que le programme initial.
Le principal problème avec cette approche est que le code déjà écrit est envoyé à l'entrée du diversificateur. Un diversificateur ne peut pas «comprendre» la signification de certaines constructions logicielles, par conséquent, il n'est pas en mesure de les diversifier véritablement, mais ne remplace qu'un morceau de code dans un modèle par un autre ou génère du code supplémentaire «inutile».
Afin de résoudre radicalement le problème de la diversification, il est nécessaire de réaliser une génération automatique de code applicatif. Si nous pouvons éliminer le travail du programmeur d'écrire des instructions spécifiques et des constructions algorithmiques, alors nous résoudrons également le problème de diversification. La génération automatique de code suppose que vous pouvez créer un programme à un niveau supérieur, par exemple, avec une liste d'exigences fonctionnelles ou de relations graphiques - et le code, à son tour, sera généré automatiquement pour cette construction.
Il existe un certain nombre d'approches de génération de code qui ont gagné en popularité au cours des dernières années.
- Generative program. (metaprogramming). , , , , . . (run-time) (compile-time) .
- Source code generation (SCG). SCG , UML-. — , . . SCG Scaffolding — -, .
- Low-code development platform (LCDP). ; «», . 4- (fourth-generation programming language, 4GL), — C++, Python, Ruby . ( , 4GL 3GL). AI- sur la génération automatique de code, mais la plupart d'entre elles visent à résoudre des tâches hautement spécialisées, telles que la correction automatique des erreurs à l'aide d'un outil de suivi de bogues ou la recherche et l'élimination des vulnérabilités connues dans le code.
Une question logique peut se poser: qu'est-ce que la sécurité a à voir avec cela? La révolution des technologies de génération de code conduira à terme à une révolution de la cybersécurité. Si vous ouvrez la base de données CVE, vous pouvez constater que plus de 90% des vulnérabilités ne sont pas des erreurs logiques dans le développement de logiciels, mais leur implémentation spécifique dans le code du programme (un problème controversé est de savoir si les vulnérabilités matérielles dans CVE sont également incluses ici). Si nous déplaçons le développement vers un niveau abstrait plus élevé, cela peut s'exprimer en deux conséquences:
- , «». , .
- . . , . . , , , , .
En conséquence, le «logiciel» généré, en raison de son caractère unique et inconnu de l'attaquant, élimine l'asymétrie d'information qui existait auparavant. Et un tel «flou» des fonctionnalités et des paramètres logiciels crée une barrière insurmontable pour un attaquant, même en tenant compte de la présence de vulnérabilités dans le système. Les vulnérabilités dues au manque d'asymétrie d'information ne seront jamais trouvées. > Les technologies Deepfake comme menace pour la sécurité de l'information
La nouvelle réalité des systèmes d'information
Comme vous pouvez le voir, nous constatons une tendance à surmonter l'asymétrie d'information entre l'attaquant et le défenseur des systèmes d'information, qui peut se traduire par plusieurs caractéristiques:
- Accumulation maximale de pseudo-aléas de développement (modèle de données, instructions machine, fonctions, etc.) quels que soient les protocoles externes et les interfaces d'interaction.
- Transition vers la structure dynamique des paramètres clés tant au stade de la conception qu'au stade du fonctionnement du système d'information.
Cela ne mènera pas à la solution de tous les problèmes de cybersécurité, mais cela entraînera certainement une transformation significative du marché de la sécurité de l'information.
Ici, nous ferons face à plusieurs changements clés de l'industrie:
- La fin de l'ère des virus et des antivirus. Si les antivirus étaient autrefois presque synonymes de produit de cybersécurité, aujourd'hui leur part de marché a considérablement diminué. Si, en fin de compte, toutes les failles logicielles n'existent qu'au niveau logique, sans la capacité d'exploiter les erreurs de code, alors le concept de malware appartiendra au passé. Ce sera la fin de toute une ère technologique de cybersécurité et peut-être de certains fournisseurs qui ne structurent pas leurs activités en ce moment.
- () . — , . , (AI) (ML) , , . NLP- (NLP — Natural Language Processing, ) , . . , — NLP (PhishNetd-NLP, ). , (Deepfake).
- . , - «» .
- , . ( , .), - (Web Application Firewalls), «» «» , ( , Darktrace).
-
Les marchés de l'informatique et de la sécurité de l'information se conjuguent et s'influencent mutuellement sur le plan technologique. La sécurité est un problème courant dans les systèmes d'information. Un marché distinct de la cybersécurité existe maintenant uniquement parce que la plupart des outils de cybersécurité sont imposés, mais cette tendance pourrait changer dans un proche avenir. Seuls les systèmes de contrôle du comportement des utilisateurs dans l'entreprise (DLP, suivi d'activité, UEBA, etc.) peuvent se sentir les plus confiants: ils sont susceptibles de conserver leur marché «séparé», tandis que les systèmes de contrôle des attaques réseau, des tests de pénétration, de l'analyse de code, etc. se transforment tout en surmontant l'asymétrie d'information de la conception des systèmes d'information.
Les changements les plus importants se produiront dans le domaine du codage. Même si dans les années à venir nous ne passons pas à la 4GL en développement et qu'il n'y a pas de révolution ici, les principes de diversification deviendront toujours la règle générale, comme maintenant l'ASLR est une telle règle. Et ici, il n'y a pas seulement des bonus évidents associés à une augmentation de la vitesse de développement (et éventuellement une diminution des qualifications des développeurs), mais aussi des avantages dans le domaine de la cybersécurité. Nous obtenons une probabilité plus faible d'apparition de vulnérabilités à la suite d'une erreur d'un programmeur et pouvons en outre diversifier le code à un niveau bas en y ajoutant des éléments de pseudo-aléatoire. Bien entendu, cette transition ne se fera pas rapidement. Le principal obstacle à l'innovation peut être que ces fonds ne sont pas "imposés" à la propriété intellectuelle, et il est donc peu probable queque les startups et les entreprises de haute technologie seront les moteurs du progrès.
Le deuxième élément important est la diversification générale et le passage aux paramètres dynamiques des systèmes d'information. Si, par exemple, vous concevez un réseau local avec adressage dynamique sur IPv6 à l'aide de la méthodologie MTD, cela vous permet d'exclure les hôtes non autorisés de rejoindre le réseau. Ils seront simplement «rejetés» comme un corps étranger dans le corps. De même, l'utilisation de MTD dans d'autres processus rendra difficile toute modification non autorisée du fonctionnement normal. Cela vous permet d'acquérir une sorte d'immunité contre les modifications et la pénétration non autorisées dans le système.
Comment cela peut affecter de manière significative le marché informatique:
- , - , .
- (open-source) open-source . «algoend»- . open-source — . , :
- open-source ( ),
- open-source , «algoend».
, open-source , . - AI / NLP . , — , ( ) , . NLP-, — NLP .
- . , (deception) . deception-, «» , .
Dans l'ensemble, on peut prédire qu'à long terme, nous nous éloignerons de plus en plus des problèmes de cybersécurité associés aux erreurs de code de programme, jusqu'à ce que l'élimination de l'asymétrie d'information ramène ce problème à zéro. Mais cela ne résoudra pas tous les problèmes de cybersécurité. La sécurité est une sorte d'élément d'excellence dans la compréhension des processus de fonctionnement du SI et la capacité à maîtriser ces processus. Plus les systèmes sont complexes, plus la probabilité de présence d'erreurs logiques dans leur fonctionnement et l'influence du facteur humain est grande.
Il existe une trajectoire très claire dans laquelle le marché de la cybersécurité à l'avenir sera divisé entre des solutions de gestion des facteurs humains, tandis que la sécurité de bas niveau cessera d'exister sous la forme de protections imposées et deviendra une partie intégrante des solutions informatiques de plate-forme.
Alors que la cybersécurité transforme le marché informatique (partie 2)
Comment transformer le marché informatique de la cybersécurité (partie 1)
Article original publié ici