Desarrollo seguro en PHDays 8: Resultados de la reunión comunitaria PDUG



Del 15 al 16 de mayo, en el sitio del foro de seguridad cibernética de PHDays, se celebró la próxima reunión del Grupo de Usuarios de Desarrollo Seguro , una comunidad de desarrollo seguro. El programa de dos días incluyó 11 informes de diversos grados de hardcore y una mesa redonda dedicada al análisis estático.

Debajo del corte, compartimos materiales para reuniones: presentaciones y grabaciones de video de informes.

Todas las presentaciones separadas del video están disponibles en el canal comunitario Speakerdeck .

Primer dia


Palabras de apertura de Vladimir Kochetkov, Tecnologías positivas


¿Es posible generalizar el analizador de código fuente?


Ivan Kochurkin, Tecnologías positivas

El informe analiza varios tipos de analizadores de código que aceptan expresiones regulares, tokens, árboles de análisis, gráficos de flujo de datos e instrucciones de ejecución simbólicas. El orador describe los problemas que surgen al resumir cada tipo de analizador en diferentes lenguajes de programación y ofrece soluciones. También demuestra las vulnerabilidades y debilidades que se pueden encontrar con cada enfoque (por ejemplo, ir a fallar), describe las capacidades del analizador de código abierto PT.PM, su uso y perspectivas de desarrollo.


Mitos y leyendas del desarrollo seguro.


Yuri Shabalin, Seguridad del pez espada

El autor del informe habla sobre los principales mitos y estereotipos que persiguen la dirección del desarrollo seguro, sobre los principales errores en la planificación y el inicio.

Con base en estos mitos, leyendas y errores, el orador explica cómo abordar la construcción de procesos, qué debe tenerse en cuenta, cómo evaluar correctamente sus fortalezas y comenzar correctamente el proceso de desarrollo seguro. Las medidas organizativas, los medios técnicos (sin especificar proveedores), la interacción entre el desarrollo y la seguridad de la información, los programas de concientización, la gestión de todo el proceso y las métricas de eficiencia se presentan como los principales ejemplos de errores y formas de superarlos.


Seguridad de tipo entero en C ++


Igor Sobinov, experto en seguridad

El informe está dedicado a los problemas de asegurar aplicaciones en C ++ de ataques a desbordamientos de tipos enteros. Se examinan los casos típicos de vulnerabilidades asociadas con esta clase de ataques, las posibles consecuencias de su explotación y los métodos de protección.


Detección de vulnerabilidades en teoría y práctica, o por qué no hay un analizador estático perfecto


Yaroslav Alexandrov, Alexander Chernov y Ekaterina Troshina, Seguridad Solar

El informe analiza los principios básicos de un analizador de código estático, ofrece una descripción comparativa de los métodos y algoritmos que sustentan los analizadores estáticos modernos. Utilizando ejemplos concretos, se muestra cómo un analizador estático busca vulnerabilidades y responde a la pregunta de por qué no hay un analizador estático ideal que funcione rápidamente, no dé falsos positivos y no pierda vulnerabilidades. Los autores explican cómo integrar un analizador estático en el proceso de desarrollo para que sea eficiente en términos de recursos y ofrezca resultados de alta calidad.


Perfecto análisis estático


Vladimir Kochetkov, Tecnologías Positivas

El análisis estadístico ideal como herramienta no existe. ¿Pero hay un análisis estadístico ideal como proceso? ¿Cuál debería ser la distribución de roles entre una persona y las herramientas SAST? ¿Cuáles deberían ser las herramientas para que sea lo más fácil posible para una persona resolver la tarea de análisis estadístico?


Mesa redonda "SAST y su lugar en el SDLC"


Moderador: Vladimir Kochetkov, Tecnologías positivas
Participantes: Tecnologías positivas, SolidLab, Mail.ru, Seguridad solar, PVS-Studio, ISP RAS




Segundo dia


LibProtection: 6 meses después


Vladimir Kochetkov, Tecnologías Positivas

El orador habla sobre los resultados de las pruebas públicas de la biblioteca, considera en detalle los desvíos encontrados y cómo eliminarlos, y también presenta planes para el desarrollo de la biblioteca para el año en curso.


Conceptos básicos de seguridad de algoritmos de consenso de blockchain


Evangelos Deirmentzoglou, Tecnologías Positivas

Los algoritmos de consenso son una parte integral de cualquier plataforma blockchain. El informe destaca los principios de funcionamiento de los algoritmos de consenso, tales como Prueba de trabajo (prueba de trabajo), Prueba de participación (prueba de propiedad), Prueba de participación delegada (confirmación de propiedad delegada) y Prueba de autoridad (prueba de autoridad). Al analizar las diferencias entre estos algoritmos, se consideran los ataques más comunes para los sistemas basados ​​en estas tecnologías, como el gasto doble, el ataque del 51%, el ataque de soborno, el ataque de Sibyl, el ataque Nothing-At-Stake y otros.

Informe en inglés:


Informe en ruso:


Predecir números aleatorios en contratos inteligentes de Ethereum


Arseny Reutov, Tecnologías Positivas

Los contratos inteligentes no solo se utilizan para la colocación inicial de tokens de criptomonedas. El lenguaje Solidity implementa varias loterías, casinos y juegos de cartas disponibles para cualquiera que use la cadena de bloques Ethereum. La autonomía de la cadena de bloques limita las fuentes de entropía para los generadores de números aleatorios (RNG). No existe una biblioteca común con la que los desarrolladores creen RNG seguros.

Es por esta razón que implementar su propio RNG puede crear muchos problemas: no siempre es posible implementar un RNG seguro, lo que brinda a los atacantes la oportunidad de predecir el resultado y robar dinero. El informe presenta un análisis de contratos inteligentes basados ​​en blockchain para la industria del juego. El autor del informe muestra ejemplos reales de implementación incorrecta del RNG y habla sobre cómo identificar problemas en el RNG y crear su propio generador seguro, teniendo en cuenta las limitaciones de la cadena de bloques.


Las trampas de la parametrización y el enfoque del objeto.


Vladimir Kochetkov, Tecnologías Positivas

¿Es siempre el uso de herramientas de parametrización y la transición al modelo de objetos lo que puede resolver efectivamente las tareas de garantizar la seguridad de la aplicación? ¿Qué riesgos conllevan estos enfoques? ¿Son posibles las vulnerabilidades en el código del proyecto cuando se usan? El autor del informe responde a estas preguntas utilizando ejemplos específicos y casos reales.


Método de enganche en Android


Alexander Guzenko, Tinkoff

El autor del informe explica qué son el método de enganche e inyector y explicará cómo, al conocer estos dos conceptos, los aplica a Android y obliga a la aplicación de otra persona a hacer lo que necesita.


Cómo crear un WAF rápido. Creación de un sistema de análisis de tráfico de red de alto rendimiento.


Michael Badin, Wallarm

El informe analiza las etapas de procesamiento de un paquete en WAF, los problemas de obtener la información necesaria de una solicitud, optimizar los procesos de tokenización, filtrar en base a expresiones regulares e implementar análisis de comportamiento como parte del tráfico posterior al procesamiento.


¡Agradecemos a nuestros oradores y participantes por una reunión productiva!

Si tiene alguna pregunta para los organizadores / oradores o desea hacer su presentación en la próxima reunión de PDUG, escriba a pdug@ptsecurity.com .

Source: https://habr.com/ru/post/es414627/


All Articles