Talento

Uma ferramenta de ca³digo aberto para segurança de software
A startup r2c, fundada por ex-alunos do MIT, oferece um banco de dados de verificaçaµes de segurança de software para simplificar o processo de protea§a£o de ca³digo.
Por Zach Winn - 10/02/2022


A inicialização r2c ajuda os profissionais de segurança a escanear bases de ca³digo e identificar vulnerabilidades de segurança em seus softwares. Na foto estãoos fundadores, da esquerda para a direita: Luke O'Malley '14; Isaac Evans '13, SM '15; e Drew Dennison '13. Imagem: Cortesia de r2c, editado pelo MIT News

A triste realidade da indústria de segurança de software éque émuito mais fa¡cil atacar um sistema do que protegaª-lo. Os hackers são precisam encontrar uma vulnerabilidade para ter sucesso, enquanto os desenvolvedores de software precisam proteger seu ca³digo contra todos os ataques possa­veis.

A assimetria significa que, quando um programador solo involuntariamente cria um aplicativo popular, ele rapidamente se torna um peixe vulnera¡vel em um oceano de ameaa§as. Empresas maiores tem equipes de segurança de software, mas desenvolveram uma reputação entre os desenvolvedores por retardar as implantações a  medida que revisam minuciosamente as linhas de ca³digo para se proteger contra ataques.

Agora, a startup r2c estãoprocurando tornar o software seguro uma experiência mais perfeita com uma ferramenta de ca³digo aberto para revisão de ca³digo. Da mesma forma que o Grammarly encontra erros gramaticais ou oportunidades de melhoria em redações e e-mails, a ferramenta da r2c, chamada Semgrep, analisa linhas de ca³digo para verificar milhares de possa­veis bugs e vulnerabilidades.

No coração do Semgrep estãoum banco de dados com mais de 1.500 regras pré-escritas que os profissionais de segurança podem incorporar em suas varreduras de ca³digo. Se eles não virem uma que desejam, eles podem escrever suas próprias regras usando a interface intuitiva do r2c e adiciona¡-las ao banco de dados para outros.

“Se vocêsabe programar em uma linguagem, agora pode escrever regras e estender o Semgrep, e éaa­ que vocêbasicamente democratiza esse campo que são era acessa­vel a pessoas com habilidades altamente especializadas”, diz o chefe de produto da r2c, Luke O'Malley '14, que cofundou a empresa com Isaac Evans '13, SM '15 e Drew Dennison '13. “Agora que qualquer um pode escrever uma regra, vocêpode aproveitar o conhecimento especializado das pessoas em seus campos. Esse éo grande avanço. Semgrep éum projeto de ca³digo aberto feito por desenvolvedores, para desenvolvedores.”

Além de simplificar o processo de implementação de padraµes de ca³digo, a r2c promoveu uma comunidade de profissionais de segurança que podem compartilhar ideias e soluções para as ameaa§as mais recentes. Esse ecossistema de suporte provou ser crucial em um setor em rápida evolução, no qual os profissionais de segurança podem acordar em qualquer manha£ e ler sobre novas vulnerabilidades expostas por hacks para algumas das maiores empresas de tecnologia do planeta.

“Pode ser frustrante ver que os computadores são tão inseguros mesmo tendo 40 ou 50 anos”, diz Dennison. “Gosto de me lembrar dos automa³veis. Sessenta anos no mundo automotivo, ainda não ta­nhamos cintos de segurança ou airbags. Foi realmente quando comea§amos a medir a segurança e ter padraµes que a indústria melhorou. Agora seu carro tem todos os tipos de recursos de segurança sofisticados. Adorara­amos fazer o mesmo com software.”

Aprendendo a hackear

Como estudantes de graduação no MIT, Evans, O'Malley e Dennison moravam um ao lado do outro em Simmons Hall. Os três estudantes de engenharia elanãtrica e ciência da computação logo começam a trabalhar juntos em vários programas do campus e projetos paralelos. Durante o Pera­odo de Atividades Independentes de 2011, eles conseguiram um contrato para ajudar militares do Exanãrcito a usar aplicativos em telefones Android com mais segurança.

“Isso realmente cimentou nossos papanãis porque Drew era o CTO do projeto, Isaac era CEO e eu estava trabalhando no produto, e esses são os papanãis em que caa­mos na r2c”, diz O'Malley. “Nãoera oficialmente uma empresa, mas nos demos um nome e a tratamos como se fa´ssemos uma startup.”

Todos os três fundadores também participaram do Programa Gordon-MIT Engineering Leadership (GEL).

“O GEL realmente me ajudou a pensar em como uma equipe trabalha em conjunto e como vocêse comunica e ouve”, diz Dennison. “Tambanãm me deu pessoas para admirar. Joel Schindall [Professor Bernard M. Gordon do MIT em Engenharia de Produto] foi um grande mentor. Perguntei a ele se devera­amos transformar a coisa do Exanãrcito em uma startup, e seu conselho foi bom. Ele disse: 'Va¡ cometer erros com o dinheiro de outra pessoa por alguns anos. Ha¡ muito tempo.'”

Seguindo esse conselho, os fundadores seguiram caminhos separados após a formatura, ingressando em diferentes empresas, mas sempre mantendo suas colaborações bem-sucedidas no fundo de suas mentes.

Em 2016, os fundadores começam a explorar oportunidades no espaço de segurança de software. No MIT, Evans havia escrito sua tese de mestrado sobre técnicas avana§adas de segurança de software, mas os fundadores queriam construir algo que pudesse ser usado por pessoas sem esse conhecimento tanãcnico profundo.

Os fundadores exploraram vários projetos diferentes relacionados a  digitalização de ca³digo antes de um hackathon interno em 2019, quando um colega mostrou a eles um antigo projeto de ca³digo aberto em que trabalhou no Facebook para ajudar a analisar o ca³digo. Eles decidiram passar o hackathon revivendo o projeto.

Os fundadores decidiram adicionar amplitude a  ferramenta, tornando-a compata­vel com mais linguagens, e profundidade, permitindo que ela entendesse o ca³digo em na­veis mais altos. Seu objetivo era fazer com que o Semgrep se encaixasse perfeitamente nos fluxos de trabalho de segurança existentes.

Antes de um novo ca³digo ser implantado por uma empresa, ele normalmente érevisado pela equipe de segurança (embora os fundadores digam que os especialistas em segurança estãoem desvantagem de 100 para um pelos desenvolvedores em muitas empresas). Com o Semgrep, a equipe de segurança pode implementar regras ou verificações que são executadas automaticamente no ca³digo para sinalizar possa­veis problemas. O Semgrep pode se integrar ao Slack e a outros programas comuns para entregar os resultados. Ele funciona com mais de 25 linguagens de codificação hoje relacionadas a  codificação ma³vel, back-end, front-end e desenvolvimento web.

Além do banco de dados de regras, o r2c oferece servia§os para ajudar as empresas a tirar o ma¡ximo proveito do mecanismo de localização de bugs, garantindo que cada base de ca³digo seja verificada em busca das coisas certas sem causar atrasos desnecessa¡rios.

“A Semgrep estãomudando a maneira como o software pode ser escrito, de modo que de repente vocêpode ser rápido e seguro, e isso não era possí­vel para a maioria das equipes antes”, diz O'Malley.

Um efeito de rede

Quando uma grande vulnerabilidade a uma estrutura de software amplamente usada conhecida como Log4Shell foi exposta recentemente, o canal Slack da comunidade r2c ganhou vida.

“Todo mundo dizia: 'Ok, aqui estãouma nova ameaa§a, o que estamos fazendo para detecta¡-la?'”, lembra O'Malley. “Eles rapidamente disseram: 'Aqui estãoa variante A, B, C para todos.' Esse éo poder de democratizar a escrita de regras.”

Os fundadores são constantemente surpreendidos com o uso do Semgrep. Grandes clientes incluem empresas como Slack, Dropbox e Snowflake. O ministanãrio do interior de um grande governo estadual recentemente enviou uma mensagem a eles sobre um importante projeto no qual eles estavam usando a Semgrep.

Amedida que a popularidade da Semgrep continua a crescer, os fundadores acreditam que podera£o desenvolver suas análises para fornecer aos desenvolvedores insights sobre a segurança de suas bases de ca³digo instantaneamente.

“O setor de segurança mais amplo não tem muitas manãtricas sobre o quanto bem estamos indo”, diz Dennison. “a‰ difa­cil responder a perguntas como estamos melhorando? Nosso software estãomelhorando? Estamos progredindo contra os atacantes? Então, como chegamos a um ponto em que podemos fornecer uma pontuação de qualidade de ca³digo? Então, de repente, vocêestãosimplificando a segurança do software.”

 

.
.

Leia mais a seguir