r2c : Un outil open source pour la sécurité des logiciels

Avatar photo
Cybersecurity Software Security Concept

Concept de sécurité logicielle pour la cybersécurité

La startup r2c, fondée par MIT alumni, offers a database of software security checks to simplify the process of securing code.

The unfortunate reality of the software security industry is that it’s much easier to attack a system than it is to safeguard it. Hackers only need to find one vulnerability to have success, while software developers need to protect their code against all possible attacks.

The asymmetry means that when a solo programmer unwittingly makes a popular app, it quickly becomes a vulnerable fish in an ocean of threats. Larger companies have software security teams, but they’ve developed a reputation among developers for slowing down deployments as they painstakingly review lines of code to safeguard against attacks.

Now the startup r2c is seeking to make securing software a more seamless experience with an open-source tool for proofreading code. In the same way that Grammarly finds grammatical errors or opportunities for improvement in essays and emails, r2c’s tool, called Semgrep, parses lines of code to check for thousands of potential bugs and vulnerabilities.

Startup r2c

The startup r2c helps security professionals scan codebases and identify security vulnerabilities in their software. Pictured are the founders, left to right: Luke O’Malley ’14; Isaac Evans ’13, SM ’15; and Drew Dennison ’13. Credit: Courtesy of r2c, edited by MIT News

At the heart of Semgrep is a database of more than 1,500 prewritten rules that security professionals can incorporate into their code scans. If they don’t see one they want, they can write their own rules using r2c’s intuitive interface and add it to the database for others.

“If you know how to program in a language, you can now write rules and extend Semgrep, and that’s where you basically democratize this field that has only been accessible to people with highly specialized skills,” says r2c Head of Product Luke O’Malley ’14, who co-founded the company with Isaac Evans ’13, SM ’15 and Drew Dennison ’13. “Now that anyone can write a rule, you can tap into people’s specialized knowledge of their fields. That’s the big breakthrough. Semgrep is an open-source project that’s by developers, for developers.”

In addition to simplifying the process of implementing code standards, r2c has fostered a community of security professionals who can share ideas and brainstorm solutions to the latest threats. That support ecosystem has proven crucial in a rapidly evolving industry in which security professionals may wake up on any given morning and read about new vulnerabilities exposed by hacks to some of the biggest tech companies on the planet.

“It can be frustrating to see that computers are so insecure even though they’re 40 or 50 years old,” Dennison says. “I like to remind myself of automobiles. Sixty years into the automotive world we still didn’t have seat belts or airbags. It was really when we started measuring safety and having standards that the industry improved. Now your car has all kinds of fancy safety features. We’d love to do the same thing for software.”

Learning to hack

As undergraduates at MIT, Evans, O’Malley and Dennison lived next to each other in Simmons Hall. The three electrical engineering and computer science students soon began hacking together in various campus programs and side projects. Over the Independent Activities Period of 2011, they landed a contract to help military personnel in the Army use apps on Android phones more securely.

“That really cemented our roles because Drew played CTO of the project, Isaac was CEO, and I was doing product work, and those are the roles we fell into with r2c,” O’Malley says. “It wasn’t officially a company, but we gave ourselves a name and treated it like we were a startup.”

All three founders also took part in the Gordon-MIT Engineering Leadership (GEL) Program.

“GEL really helped me think about how a team works together, and how you communicate and listen,” Dennison says. “It also gave me people to look up to. Joel Schindall [MIT’s Bernard M. Gordon Professor in Product Engineering] était un grand mentor. Je lui ai demandé si nous devions transformer le truc de l’armée en une startup, et son conseil était judicieux. Il m’a dit, ‘Va faire des erreurs aux frais de quelqu’un d’autre pendant quelques années. Il y a beaucoup de temps.”

En suivant ce conseil, les fondateurs ont pris des chemins différents après l’obtention de leur diplôme, rejoignant différentes entreprises mais gardant toujours à l’esprit leurs collaborations réussies.

En 2016, les fondateurs ont commencé à explorer les opportunités dans l’espace de la sécurité logicielle. Au MIT, Evans avait écrit sa thèse de maîtrise sur les techniques avancées de sécurité logicielle, mais les fondateurs voulaient construire quelque chose qui pourrait être utilisé par des personnes sans cette connaissance technique approfondie.

Les fondateurs ont exploré plusieurs projets différents liés à l’analyse du code avant un hackathon interne en 2019, lorsqu’un collègue leur a montré un ancien projet open-source sur lequel il avait travaillé lorsqu’il était chez Facebook pour aider à analyser le code. Ils ont décidé de consacrer le hackathon à faire revivre ce projet.

Les fondateurs ont décidé d’élargir l’outil en le rendant compatible avec davantage de langages et de l’approfondir en lui permettant de comprendre le code à des niveaux plus élevés. Leur objectif était de faire en sorte que Semgrep s’intègre parfaitement dans les flux de travail de sécurité existants.

Avant qu’un nouveau code ne soit déployé par une entreprise, il est généralement examiné par l’équipe de sécurité (bien que les fondateurs affirment que les experts en sécurité sont 100 fois plus nombreux que les développeurs dans de nombreuses entreprises). Avec Semgrep, l’équipe de sécurité peut mettre en place des règles ou des vérifications qui s’exécutent automatiquement sur le code pour signaler les problèmes potentiels. Semgrep peut s’intégrer à Slack et à d’autres programmes courants pour fournir les résultats. Il fonctionne aujourd’hui avec plus de 25 langages de codage relatifs au codage du développement mobile, back-end, front-end et web.

En plus de la base de données de règles, r2c offre des services pour aider les entreprises à tirer le meilleur parti du moteur de recherche de bogues en s’assurant que chaque base de code est analysée pour les bonnes choses sans causer de retards inutiles.

“Semgrep est en train de changer la façon dont les logiciels peuvent être écrits, donc soudainement vous pouvez aller vite et être sûr, et cela n’a tout simplement pas été possible pour la plupart des équipes avant”, dit O’Malley.

Un effet de réseau

Lorsqu’une vulnérabilité majeure d’un cadre logiciel largement utilisé, connu sous le nom de Log4Shell, a été exposée récemment, le canal Slack de la communauté r2c s’est animé.

“Tout le monde disait : “Ok, voici une nouvelle menace, que faisons-nous pour la détecter ?”. O’Malley se souvient. “Ils ont rapidement répondu : “Voici la variante A, B, C pour tout le monde”. C’est le pouvoir de la démocratisation de l’écriture des règles.”

Les fondateurs sont constamment surpris par les endroits où Semgrep est utilisé. Parmi les grands clients figurent des entreprises comme Slack, Dropbox et Snowflake. Le ministère de l’intérieur d’un grand gouvernement d’État leur a récemment envoyé un message à propos d’un projet important pour lequel ils utilisaient Semgrep.

Comme la popularité de Semgrep continue de croître, les fondateurs pensent qu’ils seront en mesure de développer leurs analyses pour donner aux développeurs un aperçu de la sécurité de leurs bases de code instantanément.

“L’industrie de la sécurité au sens large ne dispose pas d’une tonne de mesures sur la façon dont nous nous débrouillons,” dit Dennison. “Il est difficile de répondre à des questions telles que : nous améliorons-nous ? Nos logiciels s’améliorent-ils ? Faisons-nous des progrès contre les attaquants ? Alors comment pouvons-nous arriver à un point où nous pouvons vous donner un score de qualité du code ? Alors soudainement, vous rendez la sécurité logicielle simple.”

Related Posts