MISC n°100, le changement, c’est tout le temps

Magazine
Marque
MISC
Numéro
100
Mois de parution
novembre 2018


Résumé
Ô temps ! suspends ton vol, et vous, heures propices ! Suspendez votre cours !

Body

Et de 100 ! Waouh … Et dire qu’à l’époque, on m’avait prédit pas plus de 3 numéros. Depuis le numéro 0 de MISC en juillet 2001 et sa tête de mort vert fluo, les choses ont bien changé. Enfin, une chose est restée constante : MISC est un magazine qui traite de la partie technique de la sécurité avant tout. Mais une fois ceci posé, force est de constater les évolutions depuis le lancement de MISC en 2001.

1. Expansion du domaine de la lutte (informatique)

À ce qui semble être /A long time ago in a galaxy far, far away/, il était possible de s’intéresser à la fois au réseau, au système, à la crypto, aux vulnérabilités, etc. Bref, d’être touche-à-tout. Aujourd’hui c’est… compliqué.

Avec le recul (a.k.a. expérience a.k.a. cheveux gris), je constate que la courbe d’apprentissage est aujourd’hui plus longue, même si certaines bases restent incontournables.

En gros, tout le monde commence à toucher à plusieurs sujets : c’est la naissance. On est curieux, on veut tester, c’est facile et marrant : un peu de ARP spoofing, quelques challenges ici et là dans plein de domaines, une injection, lire, lire, lire, pratiquer, pratiquer, pratiquer, pratiquer, pratiquer. On découvre avec émerveillement, on y passe des heures et nos conjoint(e)s découvrent le « temps informatique » : j’arrive dans 5 minutes. Et 2h plus tard, le dîner est froid, évidemment.

Cette phase de découverte est elle-même simplifiée aujourd’hui, car la connaissance est disponible partout : dans des magazines, sur Internet, dans des cours / écoles / cursus plus ou moins spécialisés. Là où seuls des fous furieux^w^w passionnés persévéraient, on trouve aujourd’hui des espèces variées intéressées par la sécurité : de l’opérateur de SOC au pentester en herbe qui fait ses premiers pas sur des bug bounties, tout en passant par les chantres des processus et de la gouvernance. Il y en a pour tous les goûts.

Tout comme le pratiquant, restreignons donc notre propos aux aspects techniques. Petit à petit le goût s’affine : Windows ou macOS (personne de sain n’utilise plus Linux en desktop), Android ou iOS, vim ou Emacs, Il est alors temps de se limiter à une discipline, deux grand maximum, afin d’acquérir une réelle expertise : reverse, OS, pentest, crypto, web, infrastructure…

Puis vient le temps de la sagesse, où les connaissances acquises s’adaptent à d’autres domaines. On se rend compte des similitudes et des différences plus aisément d’un domaine à un autre, et ce qu’on a appris sert à continuer à apprendre de nouveaux sujets.

Pour résumer, le chemin de la connaissance est une fuite en avant, avec toujours des choses à apprendre, à la fois, car l’espace de connaissances est énorme, mais aussi parce que, comme notre galaxie, il est en expansion.

La transmission est un enjeu critique. Comment attirer des gens dans ce domaine austère, les couver, les cocooner et les faire progresser dans notre discipline. MISC répondait - et répond toujours - à cet enjeu. Pas MISC seul bien sûr, mais il y contribue, encore aujourd’hui. Merci à tous ceux qui ont permis cela au cours des 100 précédents numéros, en partageant leur savoir-faire. Je ne désespère pas de m’atteler autrement à la transmission, ça m'a toujours guidé.

2. De l’âge de pierre à l’âge de bronze

Je vais maintenant me concentrer sur les sujets techniques qui m’intéressent le plus, tout ce qui est lié aux systèmes : les vulnérabilités, le reverse engineering, la crypto, les architectures, etc. Et là aussi, la fuite en avant n’est pas une vaine expression.

Globalement, tous ces sujets sont de plus en plus complexes à plusieurs titres :

  1. La complexité, ça compte : les systèmes d’aujourd’hui sont autrement complexes. Un navigateur ressemble de plus en plus à un noyau, avec son allocateur, ses interruptions, sa gestion du matériel en direct, etc.
  2. La taille, ça compte : il est loin le temps où les développeurs ne disposaient que de 1Ko de RAM, et pas de swap. Maintenant les applications sont énormes, embarquent ou interagissent avec des tonnes de composants externes et la seule économie recherchée est celle pour préserver les batteries de nos téléphones.
  3. La fréquence, ça compte : ces magnifiques logiciels évoluent en plus très rapidement aujourd’hui. Toutes les approches agiles et devops facilitent l’entretien et les mises à jour fréquentes, mais rendent encore une fois la tâche d’un analyste bien compliquée.

Moralité, telle la lutte antivirale, les analyses de systèmes sont un puits sans fond.

La question est donc de savoir quoi faire ? Faut-il compter sur les bug bounties pour tester puis fixer à moindre coût les problèmes ? Ou bien laisser Google Project 0 se charger de la sécurité d’Internet ? Évidemment, la réponse est « non » aux 2 questions.

Je distingue 3 axes pour tenter de résoudre cette situation. Tout d’abord, les éditeurs pourraient accroître le temps consacré aux analyses et autres recherches de vulnérabilités puisque les systèmes sont plus complexes. Malheureusement, ils ne sont pas pour autant prêts à augmenter leurs budgets. Une autre option est d’augmenter les cerveaux, c’est-à-dire recruter plus, mais on se retrouve confronté au problème évoqué en première partie : avec quelles personnes ? Reste une troisième voie : les outils.

Il existe des tonnes d’outils en sécurité informatique, beaucoup trop même. Nombre sont à peine maintenus ou ne fonctionnent que sur le poste du développeur. Pour autant, il faut aussi reconnaître des progrès dans ce secteur, mais sans trouver réponse à tous les besoins. Prenons l’exemple du fuzzing, qui permet de gagner du temps quand on doit tester des logiciels. En général, les fuzzers rendus publics ont déjà intensivement tourné, et ne sont pas facilement adaptables à des cibles différentes. En outre, tout le monde n’est pas Microsoft ou Google, à chercher à tester des failles dans des millions de fichiers de 1Mo. Faire la même chose sur une seule grosse cible de 20Mo ne pose pas du tout les mêmes défis.

À ce titre, il est intéressant de fouiller un peu les travaux réalisés actuellement en analyses statique, dynamique et symbolique. La conjonction de ces approches avec l’automatisation permise par l’intégration continue et les approches devops se révèle fascinante. Ainsi, ce n’est pas seulement une question de « meilleurs outils », mais aussi d’être capables d’en automatiser le fonctionnement sur des tâches plus ou moins simples, pour que l’humain puisse se concentrer sur les tâches où il apporte réellement.

L’exemple donné par le cyber grand challenge organisé par le DARPA s’avère riche en enseignements et en progrès. Il révèle aussi une tendance, l'automatisation, qui sera nécessaire dans le futur, l’informatique se trouvant partout : dans nos poches avec nos portables, nos ordinateurs, mais aussi nos voitures, nos maisons …

L’étape suivant l’automatisation est l’orchestration. Il s’agit d’être en mesure d’enchaîner les entrées/sorties des outils, pour que les sorties de l’un servent d’entrées à l’autre, et ainsi de suite. Là encore, les approches modernes de développement aident.

3. Et maintenant, que vais-je faire ?

La sécurité est souvent perçue comme un domaine où « il faut en chier », certains en tirent même une grande fierté. Qui n'a jamais passé plusieurs journées à essayer de faire tourner un obscur outil, invectivant son auteur, pour se rendre finalement compte qu’il ne répond pas exactement à notre besoin, et se lancer dans le développement d’un nouveau prototype, évidemment mieux ? Ou qui ne s'est jamais moqué des erreurs des autres, car les découvrir donne un sentiment d'être meilleur, plus fort, que le développeur ou l'architecte ? Ces comportements font malheureusement partie de la culture en sécurité.

Sortir de ses dogmes et de sa tour d’ivoire, où on a parfois l’impression qu’on doit sauver le monde alors que non, est une urgence. La sécurité ne doit pas être à part, mais faire partie de, tout en étant la plus invisible possible, sans quoi elle n’obtiendra pas l’adhésion du public. Elle doit se fondre dans l'existant, sous forme de compromis, donc s'ouvrir à d'autres voies. C’est aussi vrai pour apprendre d’autres domaines. Je l’ai évoqué à plusieurs reprises, mais les ingénieurs sécurité ont à apprendre des développeurs par exemple, car ils ne sont souvent pas du tout développeurs, la qualité et la pérennité de leur code y gagnerait beaucoup.

Le gars qui fait de la sécurité est encore trop souvent vu comme un artiste soliste, voire un magicien (ou il se considère comme tel). Pour que la sécurité fasse ses preuves, nous devrons faire évoluer nos mentalités maintenant que les non-pratiquants ont globalement compris qu’ils avaient besoin de sécurité. Et cela passe par un travail en équipe afin d’affronter une complexité croissante, tant technique qu’humaine.

Que ce soit avec MISC, SSTIC, ou les entreprises où je suis passé, j’ai toujours été convaincu que les solutions ne pourraient émerger qu’en équipe. Et plus encore aujourd’hui quand on voit les évolutions et les enjeux de société auxquels la sécurité est confrontée.

Remerciements

Au rédac’ chef en titre pour m'avoir tiré de ma retraite, à l'équipe de Quarkslab pour ses retours, et en particulier Cédric pour les heures passées à discuter de ces sujets et à essayer d'affronter certains de ces enjeux.




Article rédigé par

Par le(s) même(s) auteur(s)

Édito : Le monde se divise en deux catégories ...

Magazine
Marque
MISC
HS n°
Numéro
26
Mois de parution
octobre 2022
Résumé

Avertissement : cet édito se consomme avec la bande originale de « Le bon, la brute et le truand ».

Il y a quelques semaines, un étudiant me demandait ce que je trouvais difficile dans la cybersécurité. Ma réponse : durer et convaincre.

Quand on tire, on raconte pas sa vie. Je vais donc raconter ma vie.

Les derniers articles Premiums

Les derniers articles Premium

La place de l’Intelligence Artificielle dans les entreprises

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’intelligence artificielle est en train de redéfinir le paysage professionnel. De l’automatisation des tâches répétitives à la cybersécurité, en passant par l’analyse des données, l’IA s’immisce dans tous les aspects de l’entreprise moderne. Toutefois, cette révolution technologique soulève des questions éthiques et sociétales, notamment sur l’avenir des emplois. Cet article se penche sur l’évolution de l’IA, ses applications variées, et les enjeux qu’elle engendre dans le monde du travail.

Petit guide d’outils open source pour le télétravail

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Ah le Covid ! Si en cette période de nombreux cas resurgissent, ce n’est rien comparé aux vagues que nous avons connues en 2020 et 2021. Ce fléau a contraint une large partie de la population à faire ce que tout le monde connaît sous le nom de télétravail. Nous avons dû changer nos habitudes et avons dû apprendre à utiliser de nombreux outils collaboratifs, de visioconférence, etc., dont tout le monde n’était pas habitué. Dans cet article, nous passons en revue quelques outils open source utiles pour le travail à la maison. En effet, pour les adeptes du costume en haut et du pyjama en bas, la communauté open source s’est démenée pour proposer des alternatives aux outils propriétaires et payants.

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Les listes de lecture

11 article(s) - ajoutée le 01/07/2020
Clé de voûte d'une infrastructure Windows, Active Directory est l'une des cibles les plus appréciées des attaquants. Les articles regroupés dans cette liste vous permettront de découvrir l'état de la menace, les attaques et, bien sûr, les contre-mesures.
8 article(s) - ajoutée le 13/10/2020
Découvrez les méthodologies d'analyse de la sécurité des terminaux mobiles au travers d'exemples concrets sur Android et iOS.
10 article(s) - ajoutée le 13/10/2020
Vous retrouverez ici un ensemble d'articles sur les usages contemporains de la cryptographie (whitebox, courbes elliptiques, embarqué, post-quantique), qu'il s'agisse de rechercher des vulnérabilités ou simplement comprendre les fondamentaux du domaine.
Voir les 67 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous