SDL Security et la pratique de la mise en œuvre sécurisée d'Enterprise Office

La gestion du cycle de vie du développement de la sécurité est une mesure importante pour assurer le fonctionnement normal des activités de l'entreprise Internet, qui est directement lié à la sécurité des opérations commerciales en ligne de l'entreprise. Les risques de sécurité liés à la sécurité des bureaux d'entreprise sont plus complexes et divers, avec de nombreuses fuites de données, des violations de personnel, des intrusions externes et des problèmes de sécurité physique.

1. Cycle de vie du développement de la sécurité

Le SDL des sociétés Internet doit être intégré aux systèmes CI / CD (intégration continue / déploiement continu) existants (tels que IDE, Gitlab, Jenkins, JIRA, etc.) pour produire de bons résultats. La construction de SDL doit être placée dans le développement agile, la livraison continue et l'exploitation technique, c'est-à-dire qu'elle doit être conforme à l'idée de sécurité et de conception.

Dans l'atterrissage réelle SDL peut être divisé en quatre étapes: 计划阶段, 编码阶段, 测试阶段, 部署阶段.

1.1 Étape de planification

Le travail à effectuer au stade de la planification a des exigences de sécurité claires et réalise la conception de la sécurité, la modélisation des menaces, l'évaluation de la sécurité des fournisseurs, la formation à la sécurité, etc. Les exigences de sécurité doivent être intégrées dans la mesure des exigences logicielles, la modélisation UML et la gestion de projet détaillée.

Les principes de conception de la sécurité comprennent:

Principe Expliquer
Minimisez la surface d'attaque Minimiser l'exposition du côté vulnérable du système
Établir un mécanisme de sécurité par défaut Dans la situation initiale, les paramètres pertinents du système doivent être sécurisés par défaut
Faire respecter le principe du moindre privilège Il est recommandé que le compte dispose des autorisations minimales requises pour effectuer ses processus métier
Mettre en œuvre le principe de défense en profondeur Faire face au même risque avec des mesures de contrôle plus différentes
Manipulation sûre de choses anormales Gérer correctement les exceptions de programme
Gérer les situations incontrôlables de tiers Mesures de manipulation sûres contre les situations incontrôlables des systèmes externes
Séparation des fonctions Séparation des autorisations pour différents rôles de gestion
Évitez le secret de sécurité La sécurité des systèmes critiques ne doit pas seulement dépendre de la confidentialité
Gardez-le simple et sûr La logique métier doit être aussi simple et efficace que possible
Corrigez correctement les problèmes de sécurité Identifiez la cause première du problème, résolvez-le soigneusement et effectuez un test de sécurité

Outils de modélisation des menaces:

SeaSpongeIl s'agit d'un outil open source de modélisation de modèle de menace Web fourni par Mozilla. Il est très pratique de créer un modèle de menace Web via un navigateur.
Threat DragonIl s'agit d'un outil de modélisation des menaces open source gratuit fourni par OWASP.
Microsoft Threat ModelingIl s'agit d'un outil gratuit de modélisation des menaces fourni par Microsoft.

Évaluation de la sécurité par un tiers:

Vous pouvez utiliser VSAQles outils d'évaluation open source de Google (questionnaire d'évaluation de la sécurité des fournisseurs).

Formation à la sécurité:

La formation à la sécurité est un travail de longue durée et doit être dispensée dès le début de l'emploi du salarié.

1.2 Étape de codage

Les principales tâches de la phase de codage sont les suivantes:

1. Établir des spécifications de codage sûr
2. Analyse de sécurité du code source statique
3. Analyse de sécurité des composants open source (OSS)
4. Bibliothèque de filtres de sécurité et middleware
5. Vérification de la compilation de la sécurité

Références aux spécifications de codage sécurisé publiées:

OWASP Secure Coding Practice

Plugin de détection de code IDE:

Plug-ins pour les spécifications de codage Java: Plug-ins pour P3C IDE
la détection de vulnérabilité Java: Findbugset successeurs Plug-ins pour la Spotbugs
détection de vulnérabilité .NET: Plug-ins qui Puma Scan
prennent en charge C / C ++:cppcheck

Outil d'analyse de sécurité des composants open source (OSS):

Produits commerciaux OSS: BlackDuck
contrat de licence open source produits d'inspection de conformité: produits FOSSology
open source pour l'inspection des vulnérabilités des composants: Dependency-Check(peut être utilisé en combinaison avec maven ou Jenkins)
produits de détection de vulnérabilité des composants: synk(peut analyser les vulnérabilités dans les dépendances node.js nmp, ruby, java ) Les
contrôles de sécurité les plus abondants proviennent de SourceClear:EFDA

Bibliothèque de filtres de sécurité et middleware:

Bibliothèque de filtres de sécurité Java commune: la bibliothèque de filtres de sécurité ESAPI
Web Node.js peut faire référence aux egg-security
bibliothèques de filtres côté navigateur:DOMPurify

Vérification de compilation sûre:

/GSVérifiez le débordement de la mémoire tampon dans les options des options de compilation de Visual Studio et /guard:cfvérifiez la sécurité du flux de contrôle.
Options du compilateur iOS APP de sécurité sont -fobjc-arc, -fstack-protector-all,-pie

1.3 Phase d'essai

1.3.1 Tests de sécurité automatisés

Les tests de sécurité automatisés comprennent les tests de sécurité des applications statiques (SAST), les tests de sécurité des applications dynamiques (DAST), les tests de sécurité des applications interactives (IAST)

Test de sécurité des applications statiques

Autrement dit, la boîte blanche teste l'application.

Les produits commerciaux: Fortify, 奇安信代码安全卫士
vulnérabilité code source PHP open source analyse produit: RIPS, progpilot
pour l'outil de synthèse Python, Ruby, balayage de sécurité de Go langue: huskyCI
pour les outils de numérisation de sécurité java comprennent: spotbugset plug-ins connexes fb-contrib, des find-sec-bugs
outils intégrés pour de sécurité C / C ++ est : flawfinder
Outil d'analyse de sécurité complet prenant en charge plusieurs langues: Infer
Plateforme complète pour les tests de sécurité des applications statiques:SonarQube

Test de sécurité d'application dynamique

Autrement dit, la boîte noire teste l'application.

Les produits commerciaux comprennent: AWVS, AppScan, les 绿盟漏洞扫描器
produits open source sont: Arachni
pour les produits tests API REST automatisée: les Astra
tests de sécurité des produits pour les services Web: WSSAT
produits Open Source test DAST pour Android:Qark

Tests de sécurité des applications interactives

Utilisé pour tester les vulnérabilités de sécurité dans les applications.

Les produits commerciaux comprennent: Synopsys Seeker, Veracode, CxIAST
pour les produits open source PHP: PHP taint, PHP Aspis
pour Java produits open source sont:security_taint_propagation

1.3.2 Test de sécurité manuel

Audit de code et fuzzing

audits de code manuel: OWASP代码审计指南
pour les outils de fuzzing protocole couramment utilisés: Peach fuzzer(test boîte noire peut être effectuée sur une variété de documents et accords)
outil fuzzing pour la vulnérabilité binaire: Asan, Tsan, Msan, UBsan
open source plateforme de tests Fuzz sont:OSS-Fuzz

tests de sécurité web

tests de sécurité web: OWASP安全测试指南
Les principaux outils utilisés: BurpSuite,Fiddler

Test de sécurité mobile

Test Mobile Security: OWASP移动安全测试指南
produits open source sont: MobSF
outils de test manuel Android: Drozer, AppUse, Xposed, Frida
outils de tests manuels ios sont: needle,iOSSecAudit

1.4 Étape de déploiement

La phase de déploiement garantit principalement que les produits développés peuvent être commercialisés en toute sécurité. Les sociétés Internet devraient établir une plate-forme de publication sûre et contrôlable pour assurer l'automatisation de la configuration et s'assurer que la version est crédible et vérifiable.

Gestion des clés de certificats:

Le système de gestion des clés de certificat (KMS) est principalement responsable du stockage sécurisé, de l'émission et de la révocation des clés privées API, des certificats IAM / STS cloud, des mots de passe de base de données, des certificats X.509, des certificats SSH, des certificats de signature d'application, des clés de communication cryptées, etc. La fuite de ces mots de passe de certificat est directement liée à la sécurité des données de l'entreprise.

Produits KMS open source:Vault

Audit opérationnel:

Garantit principalement l'audit contrôlable et sûr du processus de publication. Les technologies prenant en charge l'audit des opérations comprennent le système de gestion de base de données DMS, la machine bastion, etc.

Le système de gestion de base de données DMS peut être utilisé pour être responsable de la gestion unifiée des données, de l'authentification et de l'autorisation, de l'audit de sécurité, de la tendance des données, du suivi des données, des graphiques BI et de l'optimisation des performances des sociétés Internet. . Les produits open source qui prennent en charge MySQL sont:Yearning

La machine bastion enregistre et suit les opérations d'exploitation et de maintenance, et fournit un contrôle d'accès fin et centralisé pour l'accès à l'hôte, tout en réduisant l'exposition des hôtes commerciaux critiques au monde extérieur. Open Source machine produits: forteresse JumpServer,Guacamole

Test de pénétration:

Il s'agit d'un processus à long terme et continu visant à garantir la sécurité de l'entreprise après sa mise en ligne via des tests de pénétration complets de l'entreprise, du système et du réseau.

Deuxièmement, la sécurité du siège social

La sécurité des bureaux a toujours été un maillon faible de la sécurité de l'information. Les menaces courantes incluent les fuites de données, les initiés malveillants, les attaques APT et les vers de virus. Par rapport à la sécurité des affaires en ligne, la sécurité du bureau interne de l'entreprise est plus compliquée. Par exemple, il existe des scénarios tels que le bureau mobile et le bureau BYOD.

2.1 Gestion du personnel

Avant que les employés ne commencent à travailler, les entreprises doivent vérifier leurs antécédents et dispenser une formation de sensibilisation à la sécurité après leur entrée dans l'entreprise. Une formation spéciale au développement de la sécurité devrait également être dispensée aux postes de R&D et les examens devraient être menés de manière plus stricte.

Promouvoir la culture de sécurité de l'entreprise, organiser régulièrement des semaines de sécurité, des mois de sécurité et d'autres activités. Le traitement des violations de la sécurité et le processus d'approbation de la sécurité devraient être intégrés dans le système de processus, et les sanctions nécessaires et le système d'évaluation des KPI devraient être formulés. En outre, des audits de sécurité doivent être effectués sur diverses activités de bureau et des audits de conformité doivent être effectués sur l'environnement interne et les services commerciaux externes de l'entreprise pour répondre aux exigences des lois et des réglementations de l'industrie.

2.2 Équipements terminaux

Les entreprises devraient déployer un logiciel antivirus de gestion centralisée AV et des produits de détection et de réponse de terminaux EDR pour résister aux virus et aux attaques APT. Les produits EDR open source sont Facebook Osqueryet Mozilla MIG.

Les départements commerciaux importants doivent déployer des produits de prévention des fuites de données DLP et de gestion des droits sur les données DRM pour empêcher la fuite des actifs clés de l'entreprise (tels que les données, le code et les documents).

Il est également courant d'utiliser des terminaux mobiles pour fonctionner maintenant. Par conséquent, les produits de bureau mobile devraient également être renforcés. Les produits courants de sécurité des terminaux mobiles incluent la gestion des appareils mobiles MDM et la gestion des applications mobiles MAM. Produits commerciaux IBM MaaS360, SAP Mobile Secureetc., produits open source, flyve-mdmetc.

L'équipement terminal au sens large comprend également les systèmes de contrôle d'accès, les systèmes d'impression et de télécopie, les systèmes de conférence téléphonique, les systèmes de vidéosurveillance, les systèmes de routage Wi-Fi, etc. Des solutions de sécurité doivent également être envisagées pour ces appareils.

Enfin, Splunkl'entité utilisateur UEBA et l'analyse du comportement des produits SIEM (tels que ) peuvent être utilisées pour découvrir des attaques de comportement de sécurité anormales causées par le comportement actif de l'utilisateur ou le vol de compte et le contrôle du terminal.

2.3 Services de bureau

Le service Office fait référence à la plate-forme de service de soutien interne de l'entreprise, telle que les boîtes aux lettres d'entreprise, les disques de réseau d'entreprise, CRM, ERP, OA, HR, BOSS et autres systèmes et plates-formes de soutien à la R & D.

Les tests de pénétration sont un moyen efficace de vérifier la sécurité des services de bureau.A travers les tests de pénétration, divers points faibles du réseau du siège social peuvent être découverts pour faciliter l'amélioration continue et la perfection de leur propre sécurité.

Publié 234 articles originaux · louange won 1264 · Vues 230000 +

Je suppose que tu aimes

Origine blog.csdn.net/wutianxu123/article/details/104419283
conseillé
Classement