
Imagen: Cortesía de r2c, editado por MIT News
2022-02-11
Una herramienta de código abierto para la seguridad del software
La desafortunada realidad de la industria de la seguridad del software es que es mucho más fácil atacar un sistema que protegerlo. Los piratas informáticos solo necesitan encontrar una vulnerabilidad para tener éxito, mientras que los desarrolladores de software deben proteger su código contra todos los ataques posibles.
La asimetría significa que cuando un programador independiente, sin saberlo, crea una aplicación popular, rápidamente se convierte en un pez vulnerable en un océano de amenazas. Las empresas más grandes tienen equipos de seguridad de software, pero han desarrollado una reputación entre los desarrolladores por ralentizar las implementaciones mientras revisan minuciosamente las líneas de código para protegerse contra los ataques.
Ahora, la startup r2c busca hacer que la protección del software sea una experiencia más fluida con una herramienta de código abierto para corregir el código. De la misma manera que Grammarly encuentra errores gramaticales u oportunidades de mejora en ensayos y correos electrónicos, la herramienta de r2c, llamada Semgrep, analiza líneas de código para buscar miles de errores y vulnerabilidades potenciales.
En el corazón de Semgrep se encuentra una base de datos de más de 1500 reglas escritas previamente que los profesionales de la seguridad pueden incorporar en sus escaneos de códigos. Si no ven la que desean, pueden escribir sus propias reglas usando la interfaz intuitiva de r2c y agregarla a la base de datos para otros.
"Si sabe cómo programar en un lenguaje, ahora puede escribir reglas y extender Semgrep, y ahí es donde básicamente democratiza este campo que solo ha sido accesible para personas con habilidades altamente especializadas", dice el jefe de producto de r2c, Luke O´Malley. ´14, quien cofundó la compañía con Isaac Evans ´13, SM ´15 y Drew Dennison ´13. “Ahora que cualquiera puede escribir una regla, puede aprovechar el conocimiento especializado de las personas en sus campos. Ese es el gran avance. Semgrep es un proyecto de código abierto creado por desarrolladores para desarrolladores”.
Además de simplificar el proceso de implementación de estándares de código, r2c ha fomentado una comunidad de profesionales de la seguridad que pueden compartir ideas y aportar soluciones a las amenazas más recientes. Ese ecosistema de soporte ha demostrado ser crucial en una industria en rápida evolución en la que los profesionales de la seguridad pueden despertarse cualquier mañana y leer sobre nuevas vulnerabilidades expuestas por ataques a algunas de las empresas tecnológicas más grandes del planeta.
“Puede ser frustrante ver que las computadoras son tan inseguras a pesar de que tienen 40 o 50 años”, dice Dennison. “Me gusta recordarme a mí mismo los automóviles. Sesenta años en el mundo del automóvil todavía no teníamos cinturones de seguridad ni bolsas de aire. Realmente fue cuando empezamos a medir la seguridad y a tener estándares que la industria mejoró. Ahora su automóvil tiene todo tipo de características de seguridad sofisticadas. Nos encantaría hacer lo mismo con el software”.
Aprendiendo a hackear
Como estudiantes universitarios en el MIT, Evans, O´Malley y Dennison vivían juntos en Simmons Hall. Los tres estudiantes de ingeniería eléctrica y ciencias de la computación pronto comenzaron a trabajar juntos en varios programas del campus y proyectos paralelos. Durante el Período de actividades independientes de 2011, obtuvieron un contrato para ayudar al personal militar del Ejército a usar aplicaciones en teléfonos Android de manera más segura.
“Eso realmente consolidó nuestros roles porque Drew fue el CTO del proyecto, Isaac fue el CEO y yo estaba trabajando en el producto, y esos son los roles en los que caímos con r2c”, dice O´Malley. “No era oficialmente una empresa, pero nos dimos un nombre y lo tratamos como si fuéramos una startup”.
“GEL realmente me ayudó a pensar en cómo un equipo trabaja en conjunto y cómo se comunica y escucha”, dice Dennison. “También me dio gente a la que admirar. Joel Schindall [Profesor Bernard M. Gordon de Ingeniería de Producto del MIT] fue un gran mentor. Le pregunté si deberíamos convertir lo del Ejército en una startup, y su consejo fue acertado. Él dijo: Ve a cometer errores con el centavo de otra persona durante unos años. Hay un montón de tiempo."
Siguiendo ese consejo, los fundadores tomaron caminos separados después de graduarse, uniéndose a diferentes compañías pero siempre manteniendo sus colaboraciones exitosas en el fondo de sus mentes.
En 2016, los fundadores comenzaron a explorar oportunidades en el espacio de la seguridad del software. En el MIT, Evans había escrito su tesis de maestría sobre técnicas avanzadas de seguridad de software, pero los fundadores querían construir algo que pudiera ser utilizado por personas sin ese profundo conocimiento técnico.
Los fundadores exploraron varios proyectos diferentes relacionados con el escaneo de código antes de un hackathon interno en 2019, cuando un colega les mostró un antiguo proyecto de código abierto en el que había trabajado mientras estaba en Facebook para ayudar a analizar el código. Decidieron pasar el hackatón reviviendo el proyecto.
Los fundadores se propusieron agregar amplitud a la herramienta al hacerla compatible con más lenguajes y profundidad al permitirle comprender el código en niveles más altos. Su objetivo era hacer que Semgrep encajara perfectamente en los flujos de trabajo de seguridad existentes.
Antes de que una empresa implemente un código nuevo, normalmente lo revisa el equipo de seguridad (aunque los fundadores dicen que los desarrolladores de muchas empresas superan en número a los expertos en seguridad en una proporción de 100 a uno). Con Semgrep, el equipo de seguridad puede implementar reglas o comprobaciones que se ejecutan automáticamente en el código para señalar posibles problemas. Semgrep puede integrarse con Slack y otros programas comunes para entregar los resultados. Funciona con más de 25 lenguajes de codificación en la actualidad relacionados con la codificación móvil, back-end, front-end y desarrollo web.
Además de la base de datos de reglas, r2c ofrece servicios para ayudar a las empresas a aprovechar al máximo el motor de búsqueda de errores al garantizar que cada base de código se escanee en busca de las cosas correctas sin causar demoras innecesarias.
“Semgrep está cambiando la forma en que se puede escribir el software, por lo que de repente puede ir rápido y estar seguro, y eso simplemente no ha sido posible para la mayoría de los equipos antes”, dice O´Malley.
Un efecto de red
Cuando recientemente se expuso una vulnerabilidad importante en un marco de software ampliamente utilizado conocido como Log4Shell, el canal Slack de la comunidad de r2c cobró vida.
“Todo el mundo decía: Está bien, aquí hay una nueva amenaza, ¿qué estamos haciendo para detectarla?”, recuerda O´Malley. “Rápidamente dijeron: Aquí está la variante A, B, C para todos´. Ese es el poder de democratizar la redacción de reglas”.
Los fundadores se sorprenden constantemente de dónde se utiliza Semgrep. Los grandes clientes incluyen empresas como Slack, Dropbox y Snowflake. El ministerio del interior de un gobierno estatal grande les envió un mensaje recientemente sobre un proyecto importante en el que estaban usando Semgrep.
A medida que la popularidad de Semgrep continúa creciendo, los fundadores creen que podrán desarrollar sus análisis para brindarles a los desarrolladores información sobre la seguridad de sus bases de código de manera instantánea.
“La industria de la seguridad en general no tiene un montón de métricas sobre qué tan bien lo estamos haciendo”, dice Dennison. “Es difícil responder preguntas como ¿estamos mejorando? ¿Está mejorando nuestro software? ¿Estamos progresando contra los atacantes? Entonces, ¿cómo llegamos a un punto en el que podamos darle un puntaje de calidad del código? Entonces, de repente, estás simplificando la seguridad del software”.

MIT
Promover la investigación, las innovaciones, la enseñanza y los eventos y las personas de interés periodístico del MIT a la comunidad del campus, los medios de comunicación y el público en general, Comunicar anuncios del Instituto, Publicar noticias de la comunidad para profesores, estudiantes, personal y ex alumnos del MIT. Proporcionar servicios de medios a los miembros de la comunidad, incluido el asesoramiento sobre cómo trabajar con periodistas, Responder a consultas de los medios y solicitudes de entrevistas...