Summ3r 0f h4ck: prácticas de verano en Digital Security



Por tercer año consecutivo, hemos continuado con éxito la tradición de las pasantías de verano. Como en años anteriores, tomamos pasantes en dos áreas técnicas: el departamento de investigación y el departamento de análisis de seguridad. Los resultados de pasantías anteriores se pueden encontrar aquí:


Y hoy te contaremos cómo fue nuestro Summer of h4ck 2018 .

Como muestra la práctica, la corriente principal de currículums internos llega al departamento de análisis de seguridad; Había muchas más personas que deseaban pasar el verano en Digital Security y, por lo tanto, creamos un cuestionario especial para candidatos, que estaba disponible en nuestro sitio web. Los solicitantes tuvieron que esforzarse y demostrar no solo sus conocimientos y habilidades, sino también un deseo de desarrollarse profesionalmente. Gracias a esto, pudimos evaluar el nivel de capacitación de futuros pasantes y elegir el más digno de ellos. Además, esta vez Digital Security se centró exclusivamente en la pasantía en la oficina; no consideramos la opción de pasantía remota.

Breve informacion

Los empleados del departamento de análisis de seguridad desglosan las pruebas de penetración de Wi-Fi vecinas en redes corporativas, analizan la seguridad de las aplicaciones web y el software corporativo, y también observan cuidadosamente el código fuente, incluidas las aplicaciones móviles y bancarias.

Los empleados del departamento de investigación resuelven problemas relacionados con ingeniería inversa, búsqueda y explotación de vulnerabilidades, desarrollo de sistemas y auditoría de código C / C ++; realizar investigaciones en aprendizaje automático, blockchain y otras áreas interesantes. El equipo está desarrollando activamente complementos, scripts, herramientas para automatizar la búsqueda de vulnerabilidades tanto estáticas como dinámicas (fuzzing).

¿A quién estábamos esperando? ¡Amantes de tareas interesantes que no ceden ante las dificultades y que están enamorados de lo que hacen!

Introduccion

Nos alegramos de ver nombres y apellidos familiares en las listas de candidatos para la pasantía nuevamente; algunos de nosotros ya nos visitaron el año pasado y realmente les gustó todo :) La compañía solo apoya esta iniciativa. Además, si vienes de nuevo, ¡obtienes más DSec-merch de marca!


Estos son los regalos que hemos preparado este año.

Un poco más sobre el proceso de selección. Se publicaron cuestionarios electrónicos en nuestro sitio web: el cuestionario del departamento de investigación permitió obtener una idea inicial de las habilidades del aprendiz potencial a la inversa, y en el cuestionario del departamento de análisis de seguridad había diez pequeñas tareas que podrían / ​​deberían resolverse. No exigimos la solución de todas las tareas, pero cuanto más respuestas correctas daba el candidato y cuanto mejor explicaba el curso de su razonamiento, más atención recibía durante la evaluación. Sin embargo, esto no significa que entrar en el departamento de investigación fue más fácil :) En lugar de un cuestionario detallado, los empleados prefirieron realizar una fase de entrevista en persona, donde descubrieron detalles sobre el nivel de capacitación en una conversación personal.

Como antes, a los alumnos se les ofreció una lista de temas que podían hacer durante la pasantía. Además, los chicos podían ofrecer su propio tema, siempre estábamos listos para escucharlos.

Dimos conferencias a los alumnos sobre diversas áreas temáticas; Por supuesto, quería que estas conferencias fueran interesantes y útiles para todos, independientemente del nivel de capacitación del alumno.

Las conferencias incluyeron:

  • Auditoría de seguridad de Active Directory
  • Redes de dispositivos y protocolos de red.
  • Vulnerabilidades web
  • Escalada de privilegios en Linux y Windows
  • La exposición de la arquitectura Intel 64
  • El estudio de grandes proyectos de C ++ en el ejemplo de Chromium
  • Recuperación de nombres de funciones en ausencia de información simbólica
  • Instrumentación de código
  • SMT, Z3, SSE, DSE, ...
  • Y otros ...

Al final de Summ3r 0f h4ck, los participantes nos dieron conferencias: nos dijeron si habían logrado sus objetivos, qué dificultades encontraron durante la investigación y cuáles fueron los resultados de la pasantía. Todos los que llegaron exitosamente a la final recibieron un certificado de participación Summ3r 0f h4ck 2018 . Algunos de los pasantes preferían formar un equipo y trabajar juntos, y, por supuesto, solo agradecimos este deseo.

Siguiendo una buena tradición, realizamos una pequeña encuesta a los participantes que llegaron exitosamente al final y ahora comparten con ustedes sus comentarios sobre el verano en Seguridad Digital.

Las preguntas para la mini entrevista fueron las siguientes:

  1. ¿Por qué decidiste hacer una pasantía en Digital Security? ¿Qué te atrajo de la empresa?
  2. ¿Te gustó la pasantía? ¿Qué fue especialmente memorable? ¿Cómo coincidió la realidad con tus expectativas?
  3. Cuéntanos sobre tu tarea / tareas.
  4. ¿Le parecieron interesantes las tareas en las que trabajó durante la pasantía? ¿Hubo algo que quisiste hacer pero fracasaste?
  5. ¿Estás listo para regresar a la empresa para una pasantía o para trabajar?

Y aquí hay algunas respuestas dadas por algunos pasantes:

Pavel Knyazev, tema "Análisis de contaminación de la arquitectura ARM":

  1. Después de terminar el segundo año, me di cuenta de que carecía de habilidades en seguridad de la información. Quería no solo escuchar los cursos, sino trabajar con mis manos. Lo primero que se me ocurrió fue un artículo sobre Summer of H3ck de Digital security en Habré. Con casi cero experiencia, decidí ir.
  2. Me gustó la pasantía. Una habitación espaciosa, una mesa grande y silencio: me dieron un lugar de trabajo en la habitación para pasantes. Un par de aprendices, adictos al trabajo, están sentados cerca. De vez en cuando, los mentores vienen a nosotros para discutir planes, acciones adicionales. Siempre están listos para explicar algo, para poner el enlace necesario. Recuerdo especialmente la facilidad de comunicarse con ellos, solo Anton, Sasha, Dima. Puedes olvidar por un momento que un gran jefe está sentado frente a ti, y solo hablar.
  3. Tenía, me parece, un tema muy exótico: "Análisis de contaminación de la arquitectura ARM". Teniendo en cuenta que ni el análisis de contaminación ni la arquitectura ARM realmente sabían nada, estaba "increíblemente contento" de tener ese tema. Para empezar, era necesario comprender las diferencias entre ARM y x86 (solo estaba familiarizado con él), estudiar el ensamblador de esta arquitectura y los modos de direccionamiento. Entonces era necesario tratar con los medios existentes, que ... no lo eran. Sin embargo, eran una herramienta que no era adecuada para las tareas de seguridad de la información, la segunda no tenía suficiente flexibilidad y funcionalidad, y la tercera, la biblioteca DrTaint , recién había comenzado a existir. Mi tarea era finalizar esta biblioteca. Aquí me esperaba una agradable sorpresa: la biblioteca DrTaint está basada en DynamoRIO, y lo sabía un poco. A pesar de que DrTaint era muy pequeño, tardó casi dos semanas en estudiar el código fuente y comprender los principios de su funcionamiento. Solo después de estas dos semanas sentí que no iba al fondo. Pasó otra semana y todo comenzó a mejorar. Dejé de tener miedo y comencé a cambiar el código fuente. Si algo salió mal, entonces DynamoRIO me lo informó inmediatamente con su caída. Como resultado de la pasantía, logré encontrar y corregir varios errores en la biblioteca, agregar nuevas funciones y demostrar su rendimiento. Al final, me sorprendió darme cuenta de que entiendo DBI y ensamblador para ARM.
  4. Después de descubrir que el análisis de manchas facilita el trabajo de los inversores e incluso ayuda a detectar vulnerabilidades de software, el desarrollo de DrTaint realmente me interesó. Lo que hice fue suficiente para mí.
  5. Yo colecciono cosas.


Ejecutando una de las pruebas

Eugene Lukin, tema de Golang Social Bot:

  1. Por el hecho de que DSek trata a los estudiantes normalmente y les permite trabajar con proyectos reales de trabajo. Además, he oído hablar de la compañía durante mucho tiempo y sé que en ella trabajan personas geniales.
  2. Probablemente fue incluso mejor de lo que pensaba. Me gustó que todos los miembros del departamento puedan informarle sobre casi cualquier tema, y ​​si hay un problema, resuélvalo. Se esperaban más formalidades, por así decirlo
  3. Tenía un tema de Golang Social Bot. Este bot se usa durante las pruebas de penetración. El objetivo principal era escribir módulos que recopilan los datos necesarios, por ejemplo, contraseñas, archivos de configuración y archivos, en principio, le permiten interactuar con el sistema de archivos. También era necesario pensar en arreglar el sistema y el trabajo de la red dentro de la red corporativa.
  4. Sí, como dije, escribí módulos. Y aunque se ha hecho mucho trabajo, todavía queda mucho por hacer.
  5. Sí, aquí trabaja gente genial, de la que puedes aprender mucho.

Una parte del trabajo se puede encontrar aquí .

Dmitry Frolov, tema "Finalización del nuevo motor UEFITool":

  1. Después de leer reseñas de pasantes de años anteriores, me di cuenta de que aquí me esperan interesantes proyectos relacionados con el reverso. Y no perdí.
  2. Realmente me gustó la pasantía, y la realidad superó todas mis expectativas. El ambiente muy amigable en el equipo creó condiciones favorables para trabajar en el proyecto, y la solución de las tareas establecidas para mí me trajo placer.
  3. He estado interesado en el desarrollo inverso de varias piezas de bajo nivel durante mucho tiempo, en particular el BIOS, por lo que elegí la tarea adecuada. Consistió en finalizar el programa UEFITool NE , que está diseñado para funcionar con imágenes UEFI BIOS. La suscripción NE significa Nuevo motor: el UEFITool original una vez se decidió reescribir, y así nació su nueva rama NE. Pero UEFITool New Engine aún no admitía la posibilidad de modificar el firmware con su posterior reensamblaje, ya que estaba en la rama original, y tuve la tarea de devolver esta función e incluso agregar la capacidad de modificar las secciones de NVRAM (que no eran compatibles con la herramienta anterior) ) Hice frente a la tarea y realicé un par más adicionales (por ejemplo, era necesario agregar la capacidad de analizar algunas estructuras intrincadas). Mi curador y yo contactamos al desarrollador de la herramienta, y pronto se enviará una solicitud de extracción.
  4. Las tareas son muy interesantes. En el proceso de resolverlos, obtuve una muy buena base de conocimiento en el campo de BIOS, y quiero continuar desarrollándola.
  5. Me encantaría volver tanto a una pasantía como a un trabajo.


Arquitectura generalizada del nuevo motor UEFITool modificado

El progreso de aceptar una solicitud de extracción al repositorio principal de UEFItool se puede ver aquí .

Tema "Herramienta de análisis de configuración de Cisco"

Los siguientes pasantes trabajaron en grupo en un tema común, la Herramienta de análisis de configuración de Cisco. El resultado de su trabajo se puede encontrar aquí .

Natalia Khodukina :

  1. Hace mucho que escuché acerca de la compañía como una de las compañías líderes en el campo de la seguridad de la información en Rusia.
  2. Me gustó, y la realidad coincidió completamente con las expectativas. Resultó que los tres trabajamos en el tema, por lo tanto, además de las habilidades prácticas y teóricas, aprendí a trabajar en equipo. En las discusiones, nacieron nuevas ideas y soluciones, además, nos ayudamos mutuamente a encontrar y corregir errores y defectos, compartimos nuestra (pequeña) experiencia y recibimos una nueva. También fue agradable comunicarse con los empleados, todos intentaron transmitir información de la manera más comprensible, estaban listos para responder todas las preguntas y explicar lo que seguía siendo incomprensible.
  3. Nos enfrentamos a la tarea de desarrollar una utilidad para analizar archivos de configuración de equipos de red en busca de debilidades y configuraciones inseguras. Para hacer esto, era necesario familiarizarse con el equipo de red, aprender sobre varias configuraciones, intentar configurar el interruptor y verificar su operatividad y resistencia a los ataques.
  4. Las tareas fueron realmente interesantes, porque Estudié tecnologías de red antes de la pasantía. Todo lo planeado resultó ser hecho. Sin embargo, en el proceso de investigación y desarrollo, han aparecido muchas ideas nuevas que, espero, nos daremos cuenta.
  5. Por supuesto que si.

Mikhail Dryagunov:

  1. Empresa de seguridad conocida. Entre los demás, destaca por diversos estudios y publicaciones.
  2. Sí, todo es super! Informes interesantes y temas de proyectos. De los más recordados: el desarrollo del equipo y todo lo relacionado con él.
  3. Tuve un proyecto grupal. Primero, decidimos la funcionalidad básica, luego dividimos los temas (era necesario comprender qué y cómo funciona antes de escribir cheques para todo esto), creamos una especie de wiki para posibles puntos débiles y características de seguridad en los conmutadores. Cuando todo estuvo listo, comenzamos a escribir el programa en sí. Hacia el final de la pasantía, escribimos la funcionalidad que se planeó originalmente, pero aparecieron aún más ideas y características deseadas. Planeamos completarlos y hacer una presentación sobre ZN.
  4. Al principio quería abordar el tema de trabajar con PayPass / PayWave, pero ya estaba ocupado. El tema de la investigación sobre protocolos de enrutamiento dinámico también fue interesante, pero me pareció demasiado abierto.
  5. Por supuesto!

Ekaterina Fedoshchenko, tema "Restauración de estructuras de datos a lo largo de rutas dinámicas":

  1. La reputación de DSec es casi legendaria. Escuchado sobre las actividades de investigación de la compañía, fue increíblemente interesante tocar todo esto. Me pareció que esta es una gran oportunidad para descubrir cómo se está trabajando en la seguridad práctica de la información, qué habilidades se necesitan.
  2. Decir que te gustó es no decir nada. Recordé muchas cosas: y conferencias maravillosas, muchas gracias a los muchachos que prepararon los discursos; y comunicarse con mentores y becarios en pasantías: qué tipo de personas entusiastas y decididas hay, cuánto puede aprender de ellas. La realidad y las expectativas, ni idealistas ni pesimistas, coincidieron perfectamente, y esta fue la experiencia más genial. Y también logré experimentar una sensación increíble cuando el conocimiento adquirido fue útil no solo como parte de la pasantía.
  3. El tema de mi pasantía fue la restauración de estructuras de datos a lo largo de trazas dinámicas. Hay una buena cantidad de trabajo académico en el dominio público, pero las herramientas que resuelven este problema pueden contarse con los dedos. En el curso del trabajo, resultó considerar dos de estas herramientas: Recoverer y dynStruct ; Resultó que solo uno está administrando (dynStruct), pero requiere refinamiento. También fue necesario combinar los resultados con las estadísticas de HexRaysPyTools, un complemento genial para IDA Pro , escrito por mi mentor. A pesar del hecho de que se lograron algunos éxitos, todavía hay muchos problemas sin resolver. Además, siguiendo el consejo de Dmitry, se comenzó a trabajar en una aplicación de prueba que debería abarcar tantas formas como sea posible trabajando con estructuras y clases para verificar la efectividad de las herramientas existentes, porque esta también es una tarea bastante urgente.
  4. Todo fue muy interesante. Quería, pero no podía dedicar más tiempo a las tareas de la pasantía: es muy posible combinarlo con el trabajo, aunque a veces no había suficiente fuerza y ​​disciplina psicológica. Una excelente razón, sin embargo, para conocerse y comprender en qué trabajar.
  5. Con mucho gusto. ¡Muchas gracias a los organizadores y pasantes!


Nuevos módulos para dynStruct

Vitaliy S., tema "Buscando errores en las interfaces web de hipervisores (proxmox / kimchi / oVirt)":

  1. Esta es la única compañía en la ciudad que realiza tales eventos. Puede haber otras compañías, pero son desconocidas para mí. Creo que algunas universidades pueden de alguna manera interactuar directamente con las compañías de seguridad de la información, sin tener pasantías disponibles, como lo ha hecho Digital Security. Sé sobre tales prácticas. Creo que otras compañías deberían aprender de la seguridad digital. Si no está en la organización, al menos en la idea y la accesibilidad. La empresa se dedica profesionalmente a la seguridad práctica de la información.
  2. Me gustó la pasantía. Ella no puede evitar gustar. Recordé el hecho de que hablé con los muchachos que estudiaban en la universidad, de los cuales una vez me gradué. En especialidades familiares para mí con un personal docente muy conocido :). Los laboratorios son geniales. No esperaba que hubiera tantas máquinas virtuales. Expectativa / Realidad. Me di cuenta de que mis habilidades dejaban mucho que desear. Me di cuenta de las direcciones que debía tomar. Qué leer y dónde buscar.
  3. Mi tarea consistía en encontrar debilidades y vulnerabilidades en la virtualización de sistemas de control (web) (código abierto). En este caso, estos son proyectos en los que los desarrolladores monitorean la seguridad de sus desarrollos, pero no en todas partes. El tema resultó ser bastante voluminoso, y el trabajo continúa más allá del alcance de la pasantía.
  4. La mayoría de las tareas son interesantes. No los llamaría luz. Al elegir un tema, es difícil decidir sin apresurarse a los extremos. Es agradable ver palabras familiares en los títulos de los temas. Hay un par de trucos de la vida. No tome más de un tema. Le resultará difícil combinar los temas en sí y el trabajo, a menos que, por supuesto, el tema no coincida con su trabajo principal. Tome un tema, que incluye áreas que puede haber encontrado o en las que está trabajando actualmente. Hay varias direcciones personales, pero son muy pequeñas. Básicamente, lo que encuentras en el trabajo práctico, y que hay pensamientos, pero no hay tiempo para verificar.
  5. Listo para regresar para una pasantía. Trabajo - puede ser en el futuro.

Hipervisores afectados en el estudio:


Nikita Knizhov, el tema de "Proyectos de código abierto fuzzing impulsado por comentarios":

  1. Porque solo conozco un par de empresas además de Digital Security que se ocupan de las mismas cosas interesantes que en el departamento de investigación.
  2. Realmente me gusto Fue especialmente interesante hablar con aquellos que trabajan profesionalmente en el campo, algunas conferencias útiles con ejemplos de la vida son muy útiles.
  3. Mi tarea era realizar un estudio de fuzzers (tenedores y afines en afl), comprender los principios de funcionamiento, estructurar y comparar en una aplicación de prueba qué fuzzer encontró cuántas vulnerabilidades.
  4. Una tarea muy interesante, el área es relevante en ciencia e industria. No sabía que los fuzzers son tan astutos y difíciles de arreglar. Incluso confundí dos vulnerabilidades en ffmpeg durante la pasantía.
  5. ¡Por supuesto que estoy listo!


Resumen de fuzzing de características de código abierto

Stepan Besklubov, tema "Seguimiento basado en las capacidades de hardware del procesador ARM":

  1. Hace mucho tiempo que conozco DSec, principalmente de amigos y conocidos en el campo de la seguridad de la información, también me atrae mucho la participación activa de la empresa en la vida de la seguridad de la información rusa e internacional.
  2. Ciertamente me gustó la pasantía. , . .
  3. « ARM ». ARM CoreSight, IDA Pro. ARM TrustZone, , .
  4. . ARM-. , .
  5. .


IDA Pro

, , ( CoreSight ).

, “ ”:

  1. , , , .
  2. , : , , , , (/), () () .
  3. « ». IDA PRO. , , , , () . , () , , , , . .
  4. Si , , , .
  5. Por supuesto!


IDA PRO

Conclusión

, , , , . , , :)

!

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


All Articles