Seguridad SDL y la práctica de implementación segura de Enterprise Office

La gestión del ciclo de vida del desarrollo de la seguridad es una medida importante para garantizar el funcionamiento normal de los negocios empresariales de Internet, que está directamente relacionado con la seguridad del funcionamiento comercial en línea de la empresa. Los riesgos de seguridad involucrados en la seguridad de la oficina corporativa son más complejos y diversos, con numerosas filtraciones de datos, violaciones de personal, intrusiones externas y problemas de seguridad física.

1. Ciclo de vida del desarrollo de seguridad

El SDL de las compañías de Internet debe integrarse con los sistemas existentes de CI / CD (integración continua / implementación continua) (como IDE, Gitlab, Jenkins, JIRA, etc.) para producir buenos resultados. La construcción de SDL debe colocarse en un desarrollo ágil, entrega continua y operación técnica, es decir, debe cumplir con la idea de seguridad y diseño.

En el aterrizaje real SDL se puede dividir en cuatro etapas: 计划阶段, 编码阶段, 测试阶段, 部署阶段.

1.1 Etapa de planificación

El trabajo a realizar en la etapa de planificación tiene requisitos de seguridad claros y lleva a cabo el diseño de seguridad, el modelado de amenazas, la evaluación de seguridad del proveedor, la capacitación en seguridad, etc. Los requisitos de seguridad deben integrarse en la medición de requisitos de software, el modelado UML y la gestión detallada de proyectos.

Los principios de diseño de seguridad incluyen:

Principio Explicar
Minimiza la superficie de ataque Minimice la exposición del lado vulnerable del sistema.
Establecer un mecanismo de seguridad predeterminado En la situación inicial, las configuraciones relevantes del sistema deben ser seguras por defecto
Hacer cumplir el principio de menor privilegio Se recomienda que la cuenta tenga los permisos mínimos necesarios para realizar sus procesos comerciales
Implementar el principio de defensa en profundidad. Hacer frente al mismo riesgo con medidas de control más diferentes.
Manejo seguro de cosas anormales Maneje las excepciones del programa correctamente
Manejo de situaciones incontrolables de terceros. Medidas de manejo seguro frente a situaciones incontrolables de sistemas externos.
Separación de deberes Separación de permisos para diferentes roles de administración
Evitar el secreto de seguridad La seguridad de los sistemas críticos no solo debe depender de la confidencialidad.
Mantenlo seguro y simple La lógica empresarial debe ser lo más simple y efectiva posible
Corregir correctamente los problemas de seguridad Identifique la causa raíz del problema, corríjalo a fondo y realice una prueba de seguridad

Herramientas de modelado de amenazas:

SeaSpongeEs una herramienta de modelado de modelo de amenaza web de código abierto proporcionada por Mozilla. Es muy conveniente construir un modelo de amenaza web a través de un navegador.
Threat DragonEs una herramienta gratuita de modelado de amenazas de código abierto proporcionada por OWASP.
Microsoft Threat ModelingEs una herramienta gratuita de modelado de amenazas proporcionada por Microsoft.

Evaluación de seguridad de terceros:

Puede utilizar las VSAQherramientas de evaluación de código abierto de Google (cuestionario de evaluación de seguridad del proveedor).

Entrenamiento de seguridad:

La capacitación en seguridad es un trabajo a largo plazo y debe llevarse a cabo desde el comienzo del empleo del empleado.

1.2 Etapa de codificación

Las tareas principales en la fase de codificación son:

1. Establecer especificaciones de codificación seguras
2. Análisis de seguridad del código fuente estático
3. Escaneo de seguridad de componentes de código abierto (OSS)
4. Biblioteca de filtros de seguridad y middleware
5. Verificación de compilación de seguridad

Referencias a las especificaciones de codificación segura publicadas:

OWASP Secure Coding Practice

Complemento de detección de código IDE:

Especificaciones de codificación de complementos para Java: complementos para P3C IDE
la detección de vulnerabilidades de Java: Findbugsy sucesores Complementos para la Spotbugs
detección de vulnerabilidades de .NET: complementos que Puma Scan
admiten C / C ++:cppcheck

Herramienta de escaneo de seguridad de componentes de código abierto (OSS):

Productos comerciales de OSS: productos de BlackDuck
inspección de cumplimiento de acuerdo de licencia de código abierto : productos de código FOSSology
abierto para inspección de vulnerabilidad de componentes: Dependency-Check(se puede usar en combinación con Maven o Jenkins)
Productos de detección de vulnerabilidad de componentes: synk(puede escanear vulnerabilidades en dependencias de node.js nmp, ruby, java ) Los
controles de seguridad más abundantes son de SourceClear:EFDA

Biblioteca de filtro de seguridad y middleware:

Biblioteca común de filtros de seguridad de Java: la biblioteca de filtros de seguridad ESAPI
web Node.js puede hacer referencia a: la egg-security
biblioteca de filtros del lado del navegador es:DOMPurify

Comprobación de compilación segura:

/GSVerifique el desbordamiento del búfer a través de las opciones en las opciones de compilación de Visual Studio y /guard:cfverifique la seguridad del flujo de control.
opciones del compilador iOS aplicación de seguridad son -fobjc-arc, -fstack-protector-all,-pie

1.3 Fase de prueba

1.3.1 Pruebas de seguridad automatizadas

Las pruebas de seguridad automatizadas incluyen pruebas de seguridad de aplicaciones estáticas (SAST), pruebas de seguridad de aplicaciones dinámicas (DAST), pruebas de seguridad de aplicaciones interactivas (IAST)

Pruebas de seguridad de aplicaciones estáticas

Es decir, prueba de caja blanca de la aplicación.

Los productos comerciales: Fortify, 奇安信代码安全卫士
de código abierto código fuente PHP producto de escaneo de vulnerabilidades: RIPS, progpilot
para la herramienta de síntesis Python, Ruby, análisis de seguridad del lenguaje Go: huskyCI
para herramientas de análisis de seguridad de Java incluyen: spotbugsy los plug-ins fb-contrib, find-sec-bugs
herramientas integradas para la seguridad de las exploraciones C / C ++ es : flawfinder
Herramienta de escaneo de seguridad integral que admite varios idiomas: Infer
plataforma integral para pruebas de seguridad de aplicaciones estáticas:SonarQube

Pruebas de seguridad de aplicaciones dinámicas.

Es decir, prueba de caja negra de la aplicación.

Los productos comerciales incluyen: AWVS, AppScan, 绿盟漏洞扫描器
productos de código abierto son: Arachni
para la API REST automatizado de productos de pruebas: Astra
las pruebas de seguridad de productos para el servicio Web: WSSAT
Open Source DAST probar productos para Android:Qark

Prueba interactiva de seguridad de aplicaciones

Se usa para probar vulnerabilidades de seguridad dentro de las aplicaciones.

Los productos comerciales incluyen: Synopsys Seeker, Veracode, CxIAST
para los productos de código abierto PHP: PHP taint, PHP Aspis
para Java de código abierto son:security_taint_propagation

1.3.2 Prueba de seguridad manual

Auditoría de código y fuzzing

código manual de auditorías: OWASP代码审计指南
para herramientas de fuzzing protocolo de uso común: Peach fuzzer(pruebas de caja negro se puede realizar en una variedad de documentos y acuerdos)
herramienta de fuzzing para la vulnerabilidad binaria: Asan, Tsan, Msan, UBsan
de código abierto de la pelusa Plataforma de la prueba son:OSS-Fuzz

pruebas de seguridad web

las pruebas de seguridad de Internet: OWASP安全测试指南
Las principales herramientas utilizadas: BurpSuite,Fiddler

Pruebas de seguridad móvil

Pruebas de seguridad móvil: OWASP移动安全测试指南
productos de código abierto son: MobSF
herramientas de Android pruebas manuales: Drozer, AppUse, Xposed, Frida
herramientas ios pruebas manuales son: needle,iOSSecAudit

1.4 Etapa de implementación

La fase de implementación garantiza principalmente que los productos desarrollados se puedan liberar de manera segura.El trabajo relacionado incluye: administración de claves de certificado, endurecimiento de la configuración de seguridad, auditoría de operación y pruebas de penetración. Las compañías de Internet deben establecer una plataforma de lanzamiento segura y controlable para garantizar la automatización de la configuración y garantizar que el lanzamiento sea creíble y auditable.

Gestión de claves de certificado:

El sistema de administración de claves de certificado (KMS) es el principal responsable del almacenamiento seguro, la emisión y la revocación de claves privadas API, certificados IAM / STS en la nube, contraseñas de bases de datos, certificados X.509, certificados SSH, certificados de firma de aplicaciones, claves de comunicación cifradas, etc. La filtración de estas contraseñas de certificados está directamente relacionada con la seguridad de los datos de la empresa.

Productos KMS de código abierto:Vault

Auditoría operacional:

Principalmente garantiza la auditoría controlable y segura del proceso de lanzamiento. Las tecnologías que respaldan la auditoría de operaciones incluyen el sistema de gestión de bases de datos DMS, la máquina de bastión, etc.

El sistema de gestión de la base de datos DMS se puede utilizar para ser responsable de la gestión unificada de datos, autenticación y autorización, auditoría de seguridad, tendencia de datos, seguimiento de datos, gráficos de BI y optimización del rendimiento de las empresas de Internet. . Los productos de código abierto que admiten MySQL son:Yearning

La máquina bastion registra y rastrea las operaciones de operación y mantenimiento, y proporciona un control de acceso de grano fino y centralizado para el acceso del host, al tiempo que reduce la exposición de los hosts comerciales críticos al mundo exterior. de código abierto productos de la máquina: fortaleza JumpServer,Guacamole

Prueba de penetración:

Es un proceso continuo a largo plazo para garantizar la seguridad de la empresa después de conectarse a través de pruebas exhaustivas de penetración de la empresa, el sistema y la red.

Segundo, la seguridad de la oficina corporativa.

La seguridad de Office siempre ha sido un eslabón débil en la seguridad de la información. Las amenazas comunes incluyen fuga de datos, información privilegiada maliciosa, ataques APT y gusanos de virus. En comparación con la seguridad comercial en línea, la seguridad de la oficina interna de la empresa es más complicada, por ejemplo, hay escenarios como la oficina móvil y la oficina BYOD.

2.1 Gestión de personal

Antes de que los empleados comiencen a trabajar, las compañías deben realizar verificaciones de antecedentes de los empleados y realizar una capacitación de concientización sobre seguridad después de ingresar a la compañía. También se debe realizar una capacitación especial en desarrollo de seguridad en puestos de I + D, y los exámenes deben realizarse de manera más estricta.

Promueva la cultura de seguridad corporativa, organice regularmente semanas de seguridad, meses de seguridad y otras actividades. El manejo de las violaciones de seguridad y el proceso de aprobación de seguridad deben incorporarse al sistema de proceso, y deben formularse las sanciones necesarias y el sistema de evaluación de KPI. Además, las auditorías de seguridad deben llevarse a cabo en diversas actividades de la oficina, y las auditorías de cumplimiento deben llevarse a cabo en el entorno interno y los servicios comerciales externos de la empresa para cumplir con los requisitos de las leyes y regulaciones de la industria.

2.2 Equipos terminales

Las empresas deben desplegar software de antivirus AV de gestión centralizada y productos de detección y respuesta de terminales EDR para resistir virus y ataques APT. Los productos EDR de código abierto son Facebook Osqueryy Mozilla MIG.

Los departamentos comerciales importantes deben implementar productos de prevención de fuga de datos DLP y gestión de derechos de datos DRM para evitar la fuga de activos empresariales clave (como datos, código y documentos).

También es común usar terminales móviles para trabajar ahora. Por lo tanto, los productos de oficina móvil también deben fortalecerse. Los productos comunes de seguridad de terminales móviles incluyen la administración de dispositivos móviles MDM y la administración de aplicaciones móviles MAM. Productos comerciales IBM MaaS360, SAP Mobile Secureetc., productos de código abierto, flyve-mdmetc.

El equipo terminal ampliamente definido también incluye sistemas de control de acceso, sistemas de impresión y fax, sistemas de conferencia telefónica, sistemas de video vigilancia, sistemas de enrutamiento Wi-Fi, etc. También se deben considerar soluciones de seguridad para estos dispositivos.

Finalmente, Splunkla entidad de usuario UEBA y el análisis de comportamiento de los productos SIEM (como ) pueden usarse para descubrir ataques de comportamiento de seguridad anormales causados ​​por el comportamiento activo del usuario o el robo de cuentas y el control de terminales.

2.3 Servicios de oficina

El servicio de Office se refiere a la plataforma de servicio de soporte interno de la empresa, como los buzones de correo de la empresa, los discos de red de la empresa, CRM, ERP, OA, HR, BOSS y otros sistemas y plataformas de soporte de I + D.

Las pruebas de penetración son una forma efectiva de verificar la seguridad de los servicios de oficina.A través de las pruebas de penetración, se pueden descubrir varios puntos débiles en la red de oficinas corporativas para facilitar la mejora continua y la perfección de su propia seguridad.

234 artículos originales publicados · Me gusta 1264 · Visita 230,000+

Supongo que te gusta

Origin blog.csdn.net/wutianxu123/article/details/104419283
Recomendado
Clasificación