Skip to main content

Apprentissage des compétences de l’ingénieur en sécurité des applications

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Expliquer l’impact de la sécurité des applications sur les entreprises
  • Énumérer les principales compétences requises pour devenir professionnel en sécurité des applications
  • Décrire les scénarios courants de sécurité des applications

Impact de la sécurité des applications sur les entreprises

Une sécurité des applications inadéquate peut avoir d’énormes répercussions dans une organisation. Les cybercriminels attaquent chaque jour diverses organisations dans l’espoir de s’enrichir en extorquant de l’argent, des informations commerciales et de la propriété intellectuelle. Les assaillants utilisent les données piratées pour effectuer des achats non autorisés et voler l’identité des consommateurs. 

Si vous suivez l’actualité, vous savez que des cybercriminels ont réussi à compromettre des applications pour accéder aux données stockées dans les systèmes informatiques de détaillants, de sociétés d’évaluation du crédit, de compagnies aériennes, de sociétés de divertissement, d’organismes gouvernementaux, d’écoles et de nombreuses autres organisations. Il y a eu un cas où une chaîne hôtelière a été piratée par un pays étranger. Dans un autre cas, une attaque par injection SQL (que nous aborderons plus tard) a installé un logiciel espion sur les ordinateurs d’une entreprise, qui a exposé les informations de carte de crédit des clients. De nombreuses fois, des intrus ont volé des données de carte de crédit en profitant de la faiblesse des systèmes de cryptage des données. Au total, ces attaques ont exposé les informations personnelles de centaines de millions de clients.

Ces failles de sécurité ont eu des répercussions économiques directes dues à la fraude et au vol, mais elles peuvent également avoir des impacts économiques indirects, comme la baisse du niveau de réputation. Cela peut entraîner des conséquences financières supplémentaires sur l’entreprise : perte de clients, perte de confiance des actionnaires et image de marque abîmée. Les failles de sécurité peuvent avoir des conséquences juridiques et réglementaires qui entraîneront des amendes et des sanctions. 

Les ingénieurs en sécurité des applications ont un rôle essentiel à jouer pour s’assurer que les données des clients sont correctement protégées par les applications commerciales. Compte tenu de l’importance de leur rôle, ils doivent avoir un large éventail de compétences. Examinons un instant ces différentes compétences.

Compétences d’ingénieur en sécurité des applications

Imaginez que vous vous envolez vers une île lointaine pour des vacances sous les tropiques. Avant de monter à bord de votre avion, vous devez passer par plusieurs contrôles de sécurité dans l’aéroport. Le personnel de sécurité vérifie votre carte d’identité et votre carte d’embarquement, vous passez devant un détecteur de métaux, vos bagages sont passés aux rayons X, vous passez devant les chiens de sécurité de l’aéroport et les agents de sécurité surveillent les écrans de télésurveillance à l’affût d’activités inhabituelles. Il s’agit là des couches de sécurité de l’aéroport pour s’assurer que vous profitiez d’un voyage en toute sécurité vers votre destination. À l’instar du personnel de sécurité d’un aéroport, un ingénieur en sécurité des applications doit connaître les points d’entrée des assaillants et fournir les protections nécessaires contre les vulnérabilités à chaque phase du développement et du déploiement de l’application.

Le personnel de sécurité de l’aéroport contrôle les voyageurs et les bagages

Les rapports des associations de sécurité (ISC)² et l’Association internationale pour la sécurité des systèmes d’information (AISS) font état de la pénurie de compétences en cybersécurité qui ne cesse de croître depuis plusieurs années. Une augmentation des incidents de sécurité a conduit les organisations à signaler un besoin aigu de professionnels de la sécurité pour protéger les applications et les données. Pour cette raison et du fait que les ingénieurs en sécurité des applications ont besoin de plus de formation, leur salaire est souvent plus élevé que celui des développeurs d’applications.

Les ingénieurs en sécurité des applications déploient diverses techniques à différentes étapes du cycle de vie du développement logiciel (SDLC) d’une application pour découvrir les vulnérabilités de sécurité. Pour ce faire, ils doivent maîtriser de nombreuses compétences techniques, parmi lesquelles :

  • La modélisation des menaces : réfléchir à la façon dont les assaillants peuvent compromettre un système et aux protections nécessaires contre eux.
  • Le cycle de développement logiciel sécurisé (SSDLC) : aider les développeurs à écrire du code sécurisé qui réduit les vulnérabilités en appliquant des normes, des techniques et des bonnes pratiques de codage sécurisé.
  • Les revues de code de sécurité : identifier les vulnérabilités de sécurité dans le code source avant qu’une application ne soit déployée en production.
  • Les tests et analyses de vulnérabilité : découvrir les faiblesses une fois qu’une application est déployée et conseiller les équipes de développement sur les corrections à apporter.

Étant donné que les ingénieurs en sécurité des applications travaillent avec différentes personnes (développeurs d’applications, testeurs, concepteurs et autres), ils doivent savoir bien collaborer et communiquer. Ils doivent également être de bons rédacteurs, car ils produisent des documents qui expliquent les éléments techniques qu’ils ont mis au jour. Dans certains cas, ils doivent utiliser leurs pouvoirs de persuasion pour convaincre la direction d’installer une fonctionnalité de sécurité donnée avant le déploiement d’une application. Souvent, ils doivent faire appel à leur esprit critique pour déterminer les différentes manières dont un intrus pourrait tenter d’attaquer une application. Ils doivent ensuite trouver des solutions créatives pour contrecarrer les attaques potentielles. Si une intrusion se produit, ils enquêtent sur l’incident pour identifier la source de la violation et renforcer l’application contre de futures attaques.

En plus des compétences énumérées ci-dessus, les certifications suivantes peuvent renforcer les connaissances des ingénieurs en sécurité des applications.

Si vous envisagez une carrière en tant que professionnel de la sécurité des applications, l’obtention d’un diplôme universitaire en informatique est un bon moyen de vous lancer sur cette voie. Les ingénieurs en sécurité des applications commenceront souvent en tant que développeurs d’applications, puis se spécialiseront dans le domaine de la cybersécurité. En outre, plusieurs universités proposent des diplômes en cybersécurité. Ce domaine est vraiment passionnant et offre de nombreuses opportunités.

Maintenant que vous connaissez les compétences dont vous avez besoin pour devenir ingénieur en sécurité des applications, examinons les scénarios de sécurité courants rencontrés dans ce métier et comment protéger les applications dans ces situations.

Scénarios courants de sécurité des applications

Les cybercriminels recherchent l’accès le plus simple pour voler, modifier ou détruire les données, qui nécessite le moins d’efforts et soit le plus rentable. Plus une application est complexe, plus la probabilité qu’elle contienne des failles de sécurité est élevée. Les applications, notamment les applications Web, comptent parmi les cibles des cybercriminels, car elles présentent une surface d’attaque importante et relativement facilement exploitable (l’interface utilisateur), qui peut permettre à un intrus d’accéder à des informations sensibles stockées sur un ordinateur. De plus, les intrus n’ont pas besoin d’outils particuliers pour s’attaquer à une application Web. Il leur faut simplement un ordinateur et une connexion Internet.

Alors que les assaillants essaient de trouver comment infiltrer une application, les ingénieurs en sécurité des applications se concentrent sur la réduction des vulnérabilités dans le code de l’application et sur la configuration sécurisée des composants de l’application, afin d’empêcher tout accès non autorisé aux comptes et aux données des clients. Une ressource précieuse à consulter lors de l’examen des risques de sécurité des applications est l’organisme Open Web Application Security Project (OWASP). L’OWASP est une organisation internationale qui fournit des informations disponibles gratuitement, portant sur l’amélioration de la sécurité des logiciels.

Alors, quels sont les risques courants qu’un ingénieur en sécurité des applications peut rencontrer ? Une attaque par injection est un bon exemple ; elle se produit lorsque les saisies d’une application ne sont pas assainies. Lors d’une attaque par injection, un intrus insère du code, au lieu des saisies attendues, dans la logique de gestion des saisies de l’application (le code qui gère la communication entre une interface utilisateur et une base de données). 

Si l’application est mal écrite, l’application exécutera le code injecté par l’assaillant. Par exemple, un langage de requête structuré, communément appelé SQL, peut être saisi dans un champ d’adresse e-mail sur une page Web. SQL est un langage utilisé en programmation et est conçu pour gérer des données. En cas d’absence de contrôle sur le champ de saisie, un assaillant pourra être en mesure d’extraire des informations (comme des dossiers de santé) de la base de données de l’application via le code SQL. 

Pour assainir la saisie utilisateur, une application doit s’assurer qu’elle traite cette saisie comme des données et non comme des commandes et qu’elle n’inclut que les caractères de la liste autorisée (une liste autorisée est une liste de caractères qui sont autorisés à accéder à un système). Lorsqu’une liste autorisée est utilisée, toutes les autres entités se voient refuser l’accès, à l’exception de celles incluses dans la liste autorisée et de celles qui ne dépassent pas les longueurs maximales des champs de données.

Les autres responsabilités des ingénieurs en sécurité des applications consistent à examiner, tester et vérifier le code pendant le processus de développement pour s’assurer que les saisies utilisateur sont correctement filtrées afin d’aider à prévenir l’attaque par injection décrite ci-dessus. C’est particulièrement important dans le contexte du développement logiciel agile, qui vise à fournir des fonctionnalités d’application plus rapidement que les autres méthodes de développement. Cependant, la méthode agile est plus complexe, car elle nécessite une mise à jour continue des applications pour répondre aux attentes des utilisateurs finaux. Les développeurs sont censés créer des fonctionnalités et corriger les bogues découverts à un rythme soutenu. Les applications doivent être renforcées pour empêcher les exploits, et c’est le rôle de l’ingénieur en sécurité des applications de conseiller l’équipe de développement sur la manière la plus efficace de le faire.

Un cryptage faible ou inexistant est une autre lacune de sécurité des applications répandue. Elle peut permettre aux assaillants d’exposer des données sensibles. Les applications sont vulnérables lorsqu’elles utilisent des protocoles comme HTTP qui transmettent des données en texte clair. Les applications doivent plutôt utiliser des protocoles sécurisés, tels que HTTPS, qui cryptent les transmissions de données, de sorte que les données ne puissent pas être lues sans la clé de décryptage appropriée. Il convient d’éviter les anciens algorithmes de cryptage faibles et les fonctionnalités de cryptage développées en interne. Les ingénieurs en sécurité des applications doivent de préférence s’appuyer sur des algorithmes de cryptage sécurisés qui reposent sur des normes.

Les ingénieurs en sécurité des applications aident les développeurs à respecter un processus SDLC sécurisé. Ils emploient des techniques de conception et d’architecture des applications qui sont sécurisées et fondées sur des pratiques de sécurité reconnues, dont notamment la fourniture d’une authentification et d’une autorisation fortes et l’utilisation d’une gestion des sessions sécurisée pour empêcher tout accès non autorisé. 

Ils déploient des applications qui empêchent les utilisateurs de se connecter avec des identifiants par défaut, car il s’agit d’un vecteur d’attaque courant. Ils assainissent les saisies utilisateur pour empêcher les attaques par injection. Certaines violations de données réussissent du fait de la faiblesse du cryptage. Les ingénieurs en sécurité des applications utilisent donc des algorithmes puissants avec une gestion appropriée des clés de cryptage afin de chiffrer les transmissions de données et les données stockées (données au repos). Ainsi, si des pirates parviennent à infiltrer le système, ils ne pourront pas en extraire d’informations utiles, car ils ne sauront pas décrypter les données. 

Les ingénieurs en sécurité des applications s’assurent que les erreurs sont correctement gérées afin qu’aucune information sensible ne soit divulguée à l’utilisateur. Ils effectuent également des tests de sécurité statiques et dynamiques de l’application pendant et après son développement et ils surveillent l’absence de toute activité inhabituelle après son déploiement.

Conclusion

Dans cette unité, nous avons expliqué en quoi une violation de la sécurité des applications peut avoir un impact sur l’entreprise, les compétences dont les ingénieurs en sécurité des applications ont besoin et nous avons exploré des scénarios courants concernant la sécurité des applications. Nous aborderons ensuite la première étape suivie par tout bon ingénieur en sécurité des applications : identifier les applications dans leur environnement ainsi que les risques associés.

Ressources

Formez-vous gratuitement !
Créez un compte pour continuer.
Qu’est-ce que vous y gagnez ?
  • Obtenez des recommandations personnalisées pour vos objectifs de carrière
  • Mettez en pratique vos compétences grâce à des défis pratiques et à des questionnaires
  • Suivez et partagez vos progrès avec des employeurs
  • Découvrez des opportunités de mentorat et de carrière