Connaissance de l’ingénierie de la sécurité des applications mobiles
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Décrire les distinctions entre le développement d’applications et la sécurité des applications
- Identifier les défis en matière de sécurité auxquels les développeurs d’applications sont confrontés
- Répertorier les compétences clés pertinentes pour les ingénieurs en AppSec mobile
Différences entre le développement d’applications et la sécurité des applications
Tous les développeurs d’applications mobiles ne sont pas des ingénieurs en sécurité des applications (AppSec) mobiles et vice versa. Bien que chacun puisse avoir une formation dans l’autre domaine, ces rôles ont des missions différentes. Les responsabilités typiques d’un développeur d’applications incluent le codage, la conception, la gestion, le dépannage, la surveillance des mises à jour et des menaces de sécurité possibles, ainsi que l’assistance aux utilisateurs finaux des applications.
De votre côté, en tant qu’ingénieur en AppSec mobile, vous définissez des contrôles de sécurité et des exigences de conception lors de la phase de création et de développement logiciel du cycle de vie du développement logiciel (SDLC). Vous participez également à la réalisation de la modélisation des menaces et à l’évaluation des risques des applications. Vous testez les applications mobiles à l’aide de divers outils pour vous assurer que les problèmes de sécurité sont résolus avant qu’elles ne soient rendues publiques. Vous surveillez également les applications mobiles après leur sortie pour identifier et résoudre toute vulnérabilité de sécurité nouvelle ou non détectée auparavant.
Le dilemme de l’AppSec
Le processus de développement est souvent axé sur la mise sur le marché rapide d’une application et sur la création de nouvelles fonctionnalités, pas nécessairement sur la sécurité. En outre, les organisations peuvent disposer d’un budget limité dédié à la sécurisation de leurs applications mobiles. Du reste, de nombreuses organisations n’analysent ni ne testent le code de leurs applications mobiles pour détecter les vulnérabilités de sécurité, les utilisations non prévues ou les fonctionnalités cachées.
Un autre défi est que les développeurs peuvent ne pas connaître la plate-forme sous-jacente sur laquelle ils travaillent. Pour sécuriser correctement une application mobile, les développeurs doivent être conscients de tous les mécanismes sous-jacents qui fournissent des ressources à l’application, ainsi que de leurs limites.
Un autre obstacle à la sécurisation des applications mobiles est que ces dernières peuvent demander un trop grand nombre d’autorisations, et les utilisateurs ne pensent pas forcément à les remettre en question. Par exemple, une application météo sur votre téléphone a-t-elle vraiment besoin d’accéder à votre caméra ou à votre micro ? Dans quel intérêt ? Des autorisations excessives dans une application créent une surface d’attaque étendue. Plus une application collecte d’informations qui ne sont pas pertinentes pour son objectif, plus il est probable qu’un utilisateur partage inutilement des données potentiellement sensibles.
Par ailleurs, suite à la mise en production d’une application mobile, le travail n’est pas terminé. De nouvelles vulnérabilités apparaissent quotidiennement et même les bibliothèques logicielles les plus réputées nécessitent des mises à jour de sécurité. Vous devez rester vigilant et communiquer avec vos utilisateurs afin d’identifier et de résoudre rapidement les nouveaux problèmes de sécurité. La bonne nouvelle est qu’aujourd’hui, connaître l’AppSec est une compétence qui peut aider les développeurs à se distinguer sur le marché de l’emploi.
Compétences clés de la sécurité des applications mobiles
Le secteur du développement et de la sécurité des applications mobiles continue de croître à mesure que les appareils mobiles deviennent le centre de la communication et du travail. L’importance accrue de la cyberrésilience des appareils et applications mobiles a augmenté la demande en ingénieurs expérimentés en AppSec mobile.
Le développement d’applications mobiles sécurisées implique l’application d’un ensemble d’activités sur l’ensemble du SDLC. Cela nécessite de mettre en place une collaboration relative à la conceptualisation des applications visant à y intégrer la sécurité de manière intrinsèque, de mener une réflexion originale pour anticiper les menaces, et de s’inscrire dans encore bien d’autres démarches. Si vous disposez des connaissances techniques et que vous aspirez à un avenir prospère dans le secteur des technologies, vous avez peut-être intérêt à perfectionner vos compétences en matière de sécurité des applications mobiles.
Si vous aimez automatiser des tâches à l’aide des logiciels, identifier les bogues et failles de sécurité et que les revues de code vous intéressent, vous excellerez probablement dans ce rôle. Les ingénieurs en AppSec mobile aident les développeurs à concevoir des applications mobiles sécurisées à partir de zéro tout en effectuant de manière experte des évaluations de sécurité et des revues de code. Ils implémentant également des outils et des techniques de sécurité pour protéger les applications mobiles déployées. Bien qu’il n’existe pas de qualifications minimales spécifiques pour lancer votre carrière dans l’AppSec mobile, c’est un plus de disposer d’une formation technique.
Éducation
Une licence, un diplôme en informatique ou bien un autre type de formation technique sera précieux dans une telle carrière.
Expérience
Avoir une expérience générale en programmation et une expérience en développement de logiciels ou de sites Web est utile. Vous devez être très compétent dans la conception d’applications Android et iOS personnalisées qui intègrent les exigences commerciales essentielles et personnalisées. Vous devez comprendre les normes et directives réglementaires afin que vos applications personnalisées puissent être publiées et distribuées dans les magasins d’applications des entreprises de la Tech.
certifications
L’obtention d’une certification est judicieuse dans ce secteur. Les certifications concernant le cycle de vie des logiciels sécurisés, la programmation logicielle sécurisée, la défense des applications Web, etc. vous permettent de vous perfectionner et de vous lancer dans le domaine. Voici quelques certifications courantes pour les ingénieurs en AppSec mobile.
Certification |
Description |
---|---|
Professionnel certifié du cycle de vie des logiciels sécurisés (CSSLP)
|
Atteste que les professionnels informatiques ont l’expertise nécessaire pour intégrer les pratiques de sécurité dans chaque phase du SDLC |
Programmeur de logiciels sécurisés GIAC (GSSP-.NET)
|
Atteste des connaissances, des compétences et des capacités d’un professionnel à écrire du code sécurisé et à reconnaître les lacunes de sécurité dans le code existant |
Défenseur des applications Web GIAC (GWEB)
|
Démontre la maîtrise des connaissances en sécurité nécessaires pour traiter les erreurs courantes des applications Web qui entraînent la plupart des problèmes de sécurité |
Analyste de la sécurité des appareils mobiles GIAC (GMOB)
|
Vous prépare à jauger efficacement la sécurité des appareils mobiles, à évaluer et à identifier les failles des applications mobiles et à effectuer un test d’intrusion des appareils mobiles (un pentest) |
Professionnel des logiciels sécurisés (SSP)
|
Fournit les compétences nécessaires pour écrire du code plus sécurisé, réduire les vulnérabilités et améliorer la sécurité globale des logiciels d’une organisation |
Knowledge
Un ingénieur en AppSec mobile doit faire appel à plusieurs types de compétences. Vous devez avoir des compétences en développement sur les plates-formes Android ou iOS et avoir connaissance des concepts d’analyse statique et dynamique des applications mobiles. Vous avez aussi intérêt à vous tenir informé de l’analyse de protocole et du réseau.
De plus, vous devez avoir de l’expérience dans les méthodes d’authentification et de cryptage, dont l’OAuth et l’infrastructure à clés publiques (PKI). Vous devez également disposer de connaissances sur le Top 10 des vulnérabilités mobiles de l’OWASP (Open Web Application Security Project) et la modélisation des menaces. Les compétences en langage de programmation, la maîtrise de l’informatique, l’informatique back-end, la conception d’interface utilisateur (UI), le développement multiplateforme mobile et la gestion des produits sont également des sujets importants à maîtriser. De plus, vous devez aimer acquérir activement de nouvelles connaissances en programmation, avoir une expérience des méthodologies agiles et des compétences analytiques.
Compétences professionnelles
Pour réussir, il est essentiel qu’un ingénieur en AppSec mobile mobilise des compétences commerciales permettant de comprendre la vision du client et la meilleure façon de fournir les fonctionnalités qu’il souhaite de manière sécurisée. En plus des compétences en gestion de produits, en conception, en rédaction et en communication, le souci du détail est crucial dans ce métier.
Évaluation de vos connaissances
Prêt à réviser ce que vous venez d’apprendre ? L’évaluation ci-dessous n’est pas notée, elle vous permet simplement de faire le point. Pour commencer, faites glisser la description de la colonne de gauche vers le terme correspondant à droite. Lorsque vous avez fini d’associer tous les éléments, cliquez sur Soumettre pour vérifier votre travail. Si vous souhaitez recommencer, cliquez sur Réinitialiser.
Excellent travail !
Conclusion
Dans ce module, vous avez découvert le panorama de la sécurité des applications mobiles. Vous en savez plus sur la prévalence de l’AppSec mobile. Vous avez également découvert les responsabilités, les compétences et les qualifications d’un ingénieur en AppSec mobile. Dans le module suivant, Implémentation de la sécurité des applications mobiles vous apprendrez à implémenter l’AppSec mobile et à tester des applications mobiles. Vous souhaitez en savoir plus sur les métiers de la cybersécurité et lire des témoignages de professionnels de la sécurité ? Consultez le centre de formation sur la cybersécurité sur Trailhead.
Ressources
-
Trailhead : Développement de programmes de cyberrésilience
-
Site externe : OAuth : OAuth 2.0
-
Site externe : Federal Trade Commission (Commission fédérale du commerce des États-Unis) : Développeurs d’applications : commencez par la sécurité
-
Site externe : Indeed : Compétences du développeur d’applications mobiles
-
Site externe : LinkedIn : Top 5 des compétences nécessaires pour devenir développeur d’applications mobiles