La base des bonnes pratiques de sécurité commence dans votre organisation.
Créer une équipe de sécurité et de confidentialité
Créez une équipe dédiée à la sécurité et à la confidentialité et établissez un leader pour cette organisation.
- Construisez une équipe de sécurité.
- Assurez-vous qu’au moins un employé est responsable de la sécurité, de la confidentialité et de la réponse aux incidents.
- Définir une mission et une portée pour cette équipe.
- Développer un organigramme et des descriptions de poste pour : responsable de la sécurité, ingénieur de sécurité, gestionnaire des incidents.
- Embauchez des employés ou des entrepreneurs externes pour remplir ces rôles.
- Définir un cycle de vie de développement de sécurité (SDL) . Votre SDL doit couvrir ces domaines :
- Exigences de sécurité pour les produits.
- Analyse des risques et modélisation des menaces.
- Analyse statique et dynamique des applications et du code.
- Processus finaux d’examen de sécurité des produits.
- Réponse aux incidents.
- Évaluer le risque organisationnel . Créez une évaluation des risques et élaborez des plans pour éliminer ou atténuer ces risques.
Processus de vérification de construction
Évaluez les lacunes de vos processus internes existants de vérification et d’approbation des builds.
- Identifiez toutes les lacunes dans votre processus de vérification de build actuel qui pourraient conduire à l’introduction d’une application potentiellement dangereuse (PHA) dans votre build.
- Assurez-vous de disposer d'un processus de révision et d'approbation du code, même pour les correctifs internes d' AOSP .
- Améliorez l’intégrité de la construction en mettant en œuvre des contrôles dans ces domaines :
- Suivi des modifications . Suivre les ingénieurs logiciels ; conserver des journaux de modifications.
- Évaluer le risque . Évaluer les autorisations utilisées par une application ; nécessitent un examen manuel des modifications du code.
- Moniteur . Évaluez les modifications apportées au code privilégié.
Suivi des modifications du code source
Surveillez les modifications involontaires du code source ou des applications/binaires/SDK tiers.
- Évaluer les partenariats . Évaluez le risque de travailler avec un partenaire technique en suivant les étapes suivantes :
- Établir des critères sur la façon d’évaluer le risque de travailler avec un fournisseur spécifique.
- Créez un formulaire qui demande au fournisseur comment il résout les incidents et gère la sécurité et la confidentialité.
- Vérifiez leurs affirmations avec un audit périodique.
- Suivi des modifications . Enregistrez les entreprises et les employés qui modifient le code source et effectuez des audits périodiques pour garantir que seules les modifications appropriées ont lieu.
- Tenir des registres . Enregistrez les entreprises qui ajoutent des binaires tiers à votre build et documentez les fonctions exécutées par ces applications et les données qu'elles collectent.
- Planifier les mises à jour . Assurez-vous que vos fournisseurs sont tenus de fournir des mises à jour logicielles pendant toute la durée de vie de votre produit. Des vulnérabilités imprévues peuvent nécessiter l’assistance des fournisseurs pour être corrigées.
Valider l'intégrité et le pedigree du code source
Inspectez et validez le code source fourni par un fabricant d'appareil d'origine (ODM), une mise à jour en direct (OTA) ou un opérateur.
- Gérer les certificats de signature .
- Stockez les clés dans un module de sécurité matériel (HSM) ou dans un service cloud sécurisé (ne les partagez pas).
- Assurez-vous que l’accès aux certificats de signature est contrôlé et audité.
- Exigez que toute la signature de code soit effectuée dans votre système de build.
- Révoquer les clés perdues.
- Générez des clés en utilisant les meilleures pratiques.
- Analyser le nouveau code . Testez le code nouvellement ajouté avec les outils d’analyse du code de sécurité pour vérifier l’introduction de nouvelles vulnérabilités. De plus, analysez la fonctionnalité globale pour détecter l’expression de nouvelles vulnérabilités.
- Réviser avant de publier . Recherchez les failles de sécurité dans le code source et les applications tierces avant de les mettre en production. Par exemple:
- Exiger que les applications utilisent une communication sécurisée.
- Suivez le principe du moindre privilège et accordez l’ensemble minimum d’autorisations nécessaires au fonctionnement de l’application.
- Assurez-vous que les données sont stockées et transférées via des canaux sécurisés.
- Gardez les dépendances de service à jour.
- Appliquez des correctifs de sécurité aux SDK et aux bibliothèques open source.
Réponse aux incidents
Android croit au pouvoir d'une solide communauté de sécurité pour vous aider à détecter les problèmes. Vous devez créer et publier un moyen permettant aux parties externes de vous contacter au sujet des problèmes de sécurité spécifiques à l'appareil.
- Établir le contact . Créez une adresse e-mail, telle que security@ your-company .com ou un site Web avec des instructions claires pour signaler les problèmes de sécurité potentiels associés à votre produit ( exemple ).
- Établir un programme de récompenses de vulnérabilité (VRP) . Encouragez les chercheurs externes en sécurité à soumettre des rapports sur les vulnérabilités de sécurité ayant un impact sur vos produits en offrant des récompenses monétaires pour les soumissions valides ( exemple ). Nous recommandons de récompenser les chercheurs avec des récompenses compétitives du secteur, telles que 5 000 $ pour les vulnérabilités de gravité critique et 2 500 $ pour les vulnérabilités de gravité élevée.
- Contribuer aux changements en amont . Si vous prenez conscience d'un problème de sécurité affectant la plate-forme Android ou les appareils de plusieurs fabricants d'appareils, contactez l'équipe de sécurité Android en déposant un rapport de bogue de sécurité .
- Promouvoir les bonnes pratiques de sécurité . Évaluez de manière proactive les pratiques de sécurité des fournisseurs de matériel et de logiciels qui fournissent des services, des composants et/ou du code pour vos appareils. Tenez les fournisseurs responsables du maintien d’une bonne posture de sécurité.