Pourquoi Python est utilisé dans la cybersécurité ?

Salut c’est Val, bienvenue dans ce nouvel article. Aujourd’hui, j’aimerais répondre à cette question : pourquoi Python est utilisé dans la cybersécurité ?

Dans cet article, je répondrai à certaines questions que vous devez sûrement vous poser :

  • Pourquoi apprendre Python pour le domaine de la cybersécurité ?
  • Comment pouvez-vous intégrer Python dans votre parcours d’apprentissage ?
  • Quelles sont les ressources nécessaires pour apprendre ce langage de programmation ?

Je vais également vous donner des exemples qui vont vous permettre de comprendre comment Python est implémenté techniquement dans des projets en cybersécurité. Grâce à mon expérience professionnelle et personnelle, je vais pouvoir vous guider tout au long de cet article pour mieux choisir vos ressources pour apprendre Python et l’intégrer dans votre parcours d’apprentissage.

Pourquoi apprendre le langage Python ?

Tout d’abord, il faut savoir que Python est un choix relativement populaire dans le domaine de la cybersécurité. On va notamment le retrouver dans l’intégration des API avec les produits de sécurité, dans le FLO-SIC, mais aussi dans le reverse engineering. Pour ceux qui s’intéressent aux exploits, il y a un site qui s’appelle Exploit-DB relativement connu dans le domaine de la sécurité informatique et qui regroupe un grand nombre de chercheurs. Ils y publient des preuves de concept, proof of concept, qui sont généralement écrites en Python. 

Pourquoi sont-elles écrites en Python ? 

Python est un langage relativement facile, rapide à comprendre et à mettre en œuvre. Donc, forcément, le but des chercheurs est d’obtenir leur CVE le plus rapidement possible et Python les aide justement à écrire leurs preuves de concept dans les plus brefs délais. Il va généralement falloir avoir des bases solides en Python pour comprendre ces exploits et pouvoir mieux les développer plus tard. Cela vous permettra même de développer vos propres exploits

Python va également être utile dans le domaine du recrutement si vous souhaitez vous faire recruter par une entreprise dans la cybersécurité, puisque, au terme de votre recrutement, vous allez avoir des questions sur les différents domaines de l’informatique (réseaux, systèmes) et sur la programmation. Python peut de ce fait vous aider à répondre à la plupart des questions, car comme je vous l’ai dit, et nous allons y revenir un petit peu plus tard, Python est facile à comprendre et facile à lire, donc c’est un bon point de départ si vous souhaitez apprendre les bases de la programmation.

Trois raisons d’apprendre la programmation en Python

Je vais à présent vous donner trois raisons qui vont vous permettre de vraiment comprendre pourquoi Python est important à apprendre si vous souhaitez vous lancer dans un parcours d’apprentissage pour devenir un professionnel de la cybersécurité.

La première raison, et nous en avons parlé juste avant, c’est que Python est facile à comprendre et à mettre en œuvre. Si vous souhaitez vous lancer dans la programmation et si vous n’avez jamais touché à des langages de programmation de votre vie, je vous recommande fortement d’apprendre ce langage. Python est un excellent point de départ. Chaque personne a un chemin différent. Certains commenceront avec ce qu’on appelle des langages de bas niveau et des langages de haut niveau (nous y reviendrons juste après). Python sera très utile pour comprendre les bases de la programmation. Comme je vous l’ai dit, la plupart des professionnels en cybersécurité utilisent Python, notamment les chercheurs pour développer leur proof of concept. C’est pourquoi je vous recommande d’utiliser Python pour sa facilité et son compréhension relativement facile.

La deuxième raison est la variété des librairies pour développer plus facilement et rapidement vos programmes. Qu’est-ce qu’une librairie ?

Une librairie est un module qui vous permet d’interagir avec certaines parties d’un système. Je vais vous en donner quelques exemples. Vous avez la librairie Scapy qui vous permet de manipuler les paquets réseau. Vous avez également la librairie Requests qui permet de faire directement des interactions avec le protocole HTTP pour faire des requêtes. Vous avez enfin la librairie Pycrypto qui permet de faire de la cryptographie en Python.

La troisième raison d’apprendre Python, c’est sa polyvalence et la possibilité d’automatiser de nombreuses tâches. Qu’est-ce que j’entends par polyvalence ? Python n’est pas seulement utilisé dans le domaine de la cybersécurité, mais également dans l’intelligence artificielle, dans le domaine du Big Data et du traitement de la donnée. C’est donc pour cela que je vais plus vous orienter vers Python, puisque vous n’allez pas seulement l’utiliser dans le domaine de la cybersécurité. Donc si plus tard vous êtes amenés à changer de poste et à traiter de la donnée, Python sera alors intéressant pour sa polyvalence. 

La quatrième raison est l’automatisation. Python est effectivement utilisé pour l’automatisation de certaines tâches répétitives, notamment dans la surveillance de la sécurité d’un réseau et dans le parsing des journaux d’événements.

Qu’est-ce que le parsing ?

Le parsing est ce qui permet de mettre en forme des journaux d’événements provenant de postes de travail appelés plus généralement « Endpoint ». Ces journaux d’événements parsés seront ensuite intégrés dans des solutions de sécurité. Ce n’est pas le sujet de cet article, donc je vous en parlerai bientôt, mais c’est tout de même une chose à savoir. Python permet ainsi d’automatiser des tâches assez chronophages pour un professionnel de la cybersécurité. Python est également très utile dans des tâches très variées comme la reconnaissance de vulnérabilité, le développement d’exploits, mais également dans la sécurité des applications web.

Comment l’intégrer à son apprentissage ?

Si vous n’avez jamais touché à des langages de programmation et même à la programmation dans sa généralité, il faudra commencer par les bases.

Quelles sont les bases de Python ? Comme à peu près tous les langages de programmation, nous avons les boucles, les types de données (ce qui va être variable), les fonctions et les conditions. Tout ceci compose les bases de Python que vous pourrez utiliser vous-mêmes dans d’autres langages de programmation. Autrement dit, ce que vous allez apprendre ici, par exemple les boucles, sera également utilisé dans d’autres langages de programmation. Donc le fait de l’apprendre avec Python va vous permettre de mieux les comprendre quand vous les utiliserez avec d’autres langages de programmation.

Une fois que vous avez les bases de Python, donc en soi la théorie, il va falloir se lancer dans le développement de projet. Il faudra dans un premier temps s’orienter vers des projets qui ne seront pas trop complexes, par exemple développer une calculette en Python ou développer un mini jeu en Python. Nous nous orienterons ensuite doucement vers des projets orientés sécurité pour l’aspect sécurité de l’informatique. Avant cela, comme j’ai pu déjà le préciser dans mes autres articles, il va tout d’abord vous falloir des bases en réseau, en système et en sécurité des applications. Donc, avant de vous lancer dans des projets orientés sécurité, ayez des bases dans ces domaines-là, comme le réseau et le système. Pour vous donner un exemple très concret : si aujourd’hui, vous souhaitez tester la disponibilité d’un site web pour savoir s’il est en ligne ou s’il est déconnecté, vous allez avoir besoin de la librairie Requests. Cette dernière vous permettra alors de faire des requêtes HTTP. Sauf que si vous ne connaissez pas les bases en réseau des requêtes HTTP, vous allez avoir du mal à vous lancer dans la réalisation de ce simple script. C’est donc notamment pour cela que je vous recommande, avant de vous lancer dans des projets beaucoup plus avancés et orientés sécurité, de vous concentrer d’abord sur les bases en réseau système et de revoir les fondamentaux dans la programmation en Python.

Le dernier conseil que j’ai à vous donner pour votre parcours d’apprentissage avec Python est d’être monoprojet, c’est-à-dire gérer un projet à la fois et ne pas faire du multi-tâches, puisque vous n’allez pas être assez efficients à la tâche si vous gérez plusieurs projets en même temps. Sinon, vous allez vous y perdre au fur et à mesure. Donc si vous débutez en programmation avec Python, faites un seul projet et une fois que vous aurez bien compris le premier, développez le second.

Les ressources pour apprendre Python

Nous allons à présent parler des ressources pour apprendre le langage de programmation Python. Il y en a énormément sur internet, cependant il n’y en a que quelques-unes à retenir et il s’agit de la documentation officielle. Vous pouvez vous rendre directement sur le site Python.org qui est le site de la documentation officielle de Python pour obtenir ces informations. La documentation est en anglais, donc pour ceux qui ont un peu de mal avec l’anglais, vous pouvez utiliser des extensions dans vos propres navigateurs pour comprendre plus facilement la programmation en Python. Cela vous permettra déjà d’avoir une bonne base : connaître la documentation officielle, et ça, croyez-moi, c’est vraiment le plus important. Vous verrez que ces informations vous serviront même pour plus tard quand vous démarrerez et apprendrez une nouvelle solution de sécurité. Donc je vous conseille de vous concentrer d’abord sur la documentation officielle.

La deuxième ressource pour apprendre le langage de programmation Python est l’espace membre du Cyberinstitut. Pour ceux qui ne nous ont pas encore rejoints, je vous invite directement à nous rejoindre via le lien en description situé en bas de cet article. L’espace membre du Cyberinstitut, c’est quoi ? C’est une centaine d’idées de projet, une centaine de ressources, qui vous permettent de mieux vous orienter dans votre parcours d’apprentissage et – le plus important – de structurer votre parcours d’apprentissage pour devenir un professionnel dans le domaine de la cybersécurité. Dans ces idées de projet, il y en a pour tous les niveaux. Il y en a pour les débutants, les personnes avec peu ou très peu de connaissances en programmation et les personnes qui ont beaucoup plus de compétences en programmation. Ces idées de projet vont vous permettre de passer directement à la pratique et si vous n’avez pas encore rejoint l’espace membre du Cyberinstitut, je vous laisse cliquer directement sur le lien que vous retrouverez en description.

Ensuite, la troisième ressource que j’ai à vous proposer pour apprendre le langage de programmation Python orienté cybersécurité côté offensif est un livre qui s’intitule Black Hat Python : Programming for Hackers and Pentesters de Justin Seitz. C’est un livre qui va parler de sujets beaucoup plus avancés comme la création de shellcode, l’exploitation de vulnérabilité, mais également le développement de bots malveillants. Je ne recommande pas du tout ce livre aux débutants, puisqu’il est particulièrement orienté offensif, donc lorsqu’on commence à apprendre dans le domaine, ce n’est vraiment pas du tout la bonne chose à faire. De plus, il s’agit d’un livre qui traite de sujets assez avancés, donc avant de vous lancer dans la lecture de cet ouvrage, je vous recommande fortement d’apprendre d’abord les bases solides en langage de programmation avec Python, notamment si vous souhaitez développer les projets présentés dans cet ouvrage.

Rejoindre le Cyberinstitut

Pour ceux et celles qui ne nous ont pas encore rejoints au Cyberinstitut, je vous laisse un lien en description pour que vous puissiez rejoindre la formation offerte. C’est une formation qui traite de nombreux aspects sur comment bien débuter une carrière dans la cybersécurité, les compétences techniques et non techniques à avoir et où je vous donne également un plan en quatre étapes qui vous permettra de mieux développer votre parcours d’apprentissage pour ne pas vous perdre dans les tonnes de ressources qu’il y a en ligne.

Encore une fois, c’était un plaisir de vous écrire cet article.

J’espère avoir éveillé en vous une certaine motivation pour vous lancer dans la programmation et notamment avec le langage de programmation Python. On se retrouve pour de prochains articles.

C’était Val. Ciao, ciao.

Se former : 

Formation offerte du Cyberinstitut : https://cyberinstitut.fr/formation-offerte/

Deviens membre du Cyberinstitut : https://cyberinstitut.fr/programmes/ 

Ressources mentionnées dans la vidéo : 

Exploit Database : https://www.exploit-db.com/

Librairie Scapy : https://scapy.net/

Librairie Requests : https://pypi.org/project/requests/

Librairie Pycrypto : https://pypi.org/project/pycrypto/

Black Hat Python : Python Programming for Hackers and Pentesters de Justin Seitz : https://amzn.to/3xUVoBQ

Vous avez trouvé cet article intéressant ? Faites-le connaître en le partageant avec vos followers et amis ! Cela nous aide à continuer à fournir un contenu de qualité.

formation offerte en cybersécurité

Prêt à devenir un professionnel en cybersécurité ? 👇🏻

Obtenez votre formation offerte dès maintenant.

Pin It on Pinterest