Lineamientos De Código Seguro - Alveiro García Consultor - Icfes
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
¿Qué es un producto seguro? - Un producto seguro es un producto que protege la confidencialidad, integridad y disponibilidad de la información de los clientes y la integridad y disponibilidad de los recursos de procesamiento bajo el control del propietario del sistema o administrador. ¿Qué es una vulnerabilidad de seguridad? - Es una falla en un producto que lo hace no efectivo para prevenir que un atacante pueda usurpar los privilegios en el sistema de usuarios, regulando la operación o comprometiendo los datos del mismo. Código Seguro
Cifras de seguridad Se prevé que los daños causados por los delitos cibernéticos lleguen a 6 Se prevé que el gasto mundial billones de dólares en el en ciberseguridad superará el mundo en 2021, frente a los 3 billón de dólares en los billones de dólares en 2015. próximos cinco años, de 2017 Esto incluye daños y a 2021. En 2004, el mercado destrucción de datos, dinero mundial de ciberseguridad fue robado, pérdida de de US$ 3.500 millones y en productividad, robo de 2017 llegará a US$ 120.000 propiedad intelectual, etc. millones. El mercado de ciberseguridad creció aproximadamente 35 veces en 13 años Código Seguro
Cifras de seguridad La tasa de desempleo en Se prevé que el mercado de ciberseguridad se mantiene capacitación para en cero por ciento en 2017 concientización (igual que en 2016). El sobre la seguridad Centro de Investigación de llegue a 10.000 Palo Alto informa que para millones de dólares 2019 la demanda de anuales para el año profesionales de 2027 ciberseguridad aumentará a 300 mil millones de aproximadamente 6 contraseñas requerirán millones a nivel mundial protección cibernética Hay 1 millón de Se pronostica para 2021. La cuenta puestos de trabajo que los ataques incluye 100 millones de de seguridad de Ransomware contraseñas humanas y cibernética en a las 200 millones de 2017 y se prevé organizaciones contraseñas de que superen los sanitarias se máquina (Internet de 1,5 millones en cuadruplicarán Cosas) 2019. en 2020 Código Seguro
Las Cifras de seguridad explotaciones de día cero Casi la mitad aumentarán de de todos los una por semana ciberataques El 65 por ciento de los en 2015 a una se cometen encuestados dicen que los por día para contra piratas informáticos tienen más 2021 pequeñas experiencia que los sombreros En 2017 se empresas blancos. Los sombreros negros crearán 11.100 Se espera que 4 están motivados por el dinero, millones de billones de el espionaje, la notoriedad y la líneas de personas estén en intención maliciosa y son más nuevos línea – y necesiten rápidos, más atrevidos y más códigos de protección experimentados que los software cibernética – para sombreros blancos que están 2020, frente a los 2 limitados por límites y reglas mil millones más el año pasado Código Seguro
Marco de Referencia ISO/IEC 27001 Marco legal colombiano NIST 800-27, 800-30, 800-64 • Estándar de seguridad de la • Ley 1581 de 17 de octubre de • NIST (National Institute of información de ISO 2012. Disposiciones generales para Standards and Technology) la protección de datos personales. Principios de seguridad para ser • Especifica un sistema de considerados en el diseño, administración que busca • Decreto 1377 de 27 de junio de desarrollo y operación de un mantener la información 2013. Se reglamenta parcialmente sistema de información. asegurada bajo un control la ley 1581 de 17 de octubre de administrado para cual genera 2012. requerimientos específicos. • Se alinea con el estándar de calidad de ISO 9000 bajo el ciclo PDCA (Plan, Do, Check, Act) Código Seguro
Asegurando código en Java
Arquitectura por Capas - Java EE EIS/Data Presentation Business Integration Client Tier (Resource) Tier Tier Tier Tier Web Container Embedded Web Browser EJB Container HTML Form Controller DBMS Business HTTP Services SQL Entities UI Views Model Client Presentation and Business Resource Java EE Application Boundary Asegurando código en Java
Resumen de Tecnologías - Java EE 7 Bean XML Servlet CDI EJB Validation Mess. EJB Lite JSON Intercept. JMS JAXR JSP JAX-RS JSF Batch JASPI Expr. Lang JSTL JAXP Concurr. JAX-RPC Common JPA JMX JAXB JavaMail Annotation Web JTA StAX JDBC JAX-WS Socket Asegurando código en Java
Consideraciones de seguridad - Procesamiento seguro de datos - Encriptación de datos que transitan en la red - Autenticación y autorización de usuarios. Asegurando código en Java
Conceptos de Seguridad - Autenticación: Establecer que la identidad reclamada por el usuario es genuina. - Autorización: Establecer que un usuario tiene los privilegios requeridos para realizar una acción solicitada. - Confidencialidad: Proteger los datos de vistas no autorizadas durante la comunicación. - Integridad: Asegurar que los datos recibidos son iguales a los datos enviados. La confidencialidad y la integridad se manejan desde la capa de transporte a través del uso de protocolo de clave publica de bajo nivel como Secure Sockets Layer (SSL) Asegurando código en Java
Características de Seguridad en Java EE - No existe una referencia directa hacia el entorno de ejecución. - Puede ser aumentada con métodos programáticos de seguridad. - Esta basado en la referencia “Java Authentication and Authorization Service” para interoperabilidad. - Un modelo de seguridad end-to-end, el cual hace las credenciales disponibles donde sea necesario. Asegurando código en Java
Modelo de Seguridad End-To-End Asegurando código en Java
Herramientas De Análisis de Código
PMD Es un analizador de código fuente. Encuentra fallas de programación comunes como variables no utilizadas, bloques de captura vacíos, creación de objetos innecesarios, etc. Herramientas De Análisis de Código
FindBugs Es un programa que utiliza el análisis estático para buscar errores de código Java. Se trata de software libre, distribuido bajo los términos de la Licencia Pública Lesser GNU. FindBugs requiere JRE 1.7.0 o posterior para ejecutarse. Herramientas De Análisis de Código
Checkstyle Puede comprobar muchos aspectos de su código fuente. Puede encontrar problemas de diseño de clase, problemas de diseño de métodos. También tiene la capacidad de comprobar el diseño del código y los problemas de formato. Herramientas De Análisis de Código
SonarQube Es una plataforma Open Source que es usada para administrar la calidad del código fuente que puede ser escalado para trabajar el proceso de mejoramiento continuo del código a nivel global dentro de la organización. Ofrece herramientas de análisis de código completamente automatizadas y puede ser incluido dentro de procesos de integración continua. Herramientas De Análisis de Código
Metodologías
Open Web Application Security Project (OWASP) Comunidad online, fundada en el 2001, sin animo de lucro que produce artículos, metodologías, herramientas y tecnologías en el campo de la seguridad de las aplicaciones. El objetivo de OWASP es habilitar las organizaciones para que conciban, desarrollen, operen y mantengan aplicaciones que sean confiables. Metodologías
Proyectos y documentos destacados OWASP • Guía rápida de referencia para prácticas de codificación segura. • Base de conocimiento de OWASP Java y tecnología JVM. • Proyectos de terceros • Apache Shiro: Framework para realizar autenticación, autorización, criptografía y administración de sesiones. • Spring Security: Servicios de seguridad basados en Java EE • HDIV: Framework equipado con múltiples funciones para seguridad en aplicaciones Web Metodologías
SD3 Secure By Secure By Design Segure By Default Deployment • Piensa en mitigar • Menor privilegio, • Guías de y prevenir defensa en implementación, vulnerabilidades profundidad, herramientas de en la etapa de minimizar la administración y diseño. superficie de patch ataque, evitar deployment. cambios riesgosos y desactivar los servicios no utilizados. Metodologías
TÉCNICA STRIDE S • Spoofing • Autenticación T • Tampering • Integridad R • Repudiation • No repudio I • Information Disclosure • Confidencialidad D • Denial Of Service • Disponibilidad E • Elevation Of Privilege • Autorización Metodologías
DREAD Esquema de clasificación para cuantificar, comparar y dar prioridad a los riesgos que presenta una amenaza especifica. Se utiliza para clasificar y ordenar las amenazas en base a su riesgo. Damage Reproductibility Potencial Explotaibility Affected User Discoverability Metodologías
Ciclo de vida de desarrollo de software seguro STRIDE OWASP DREAD SD3 Metodologías
Prácticas criptográficas. Criptografía: Arte de escribir con clave secreta o de Todas las funciones un modo enigmático. En informática se usa para criptográficas usadas proteger la confidencialidad de los mensajes a través para proteger de sistemas de cifrado y códigos. secretos de la aplicación deben ser implementadas en un sistema confiable (Servidor por Los módulos ejemplo) criptográficos Proteger los de fallar secretos deben hacerlo maestros de en un contexto acceso no seguro autorizado Metodologías
Prácticas criptográficas. Establecer y utilizar una política y proceso para como serán administradas las Los módulos llaves criptográficos usados criptográficas Los números por la aplicación aleatorios, deben cumplir la archivos especificación NIST aleatorios, FIPS 140-2 o un cadenas aleatorias estándar equivalente y demás deben ser generados usando el módulo criptográfico Metodologías
Seguridad en el ciclo de desarrollo del Software Fase de Requerimientos
Administración y gestión de riesgos Identificar Comprender Definir la riesgos del Priorizar los los objetivos mitigación de negocio y riesgos del negocio los riesgos técnicos Realizar correcciones y validaciones Fase de Requerimientos
Definición de Roles • Determinar los roles que serán implementados en la aplicación • Definir los privilegios que tendrá cada rol • Definir una política para la autorización de la asignación del rol Fase de Requerimientos
Aprobación de privilegios • Usar el principio del menor privilegio • Poner atención a la información sensitiva • Establecer la estrategia de control de acceso en las diferentes etapas • No depender de herencia de seguridad por defecto Fase de Requerimientos
También puede leer