DevSecOpsARTIGO

OWASP – inspiração para desenvolver código seguro

O desenvolvimento de código seguro é um tópico que todos os profissionais deveriam perseguir, mas que, infelizmente, ainda é deixado de lado e tratado como tema secundário.

Antigamente o modelo de segurança era somente baseado no nível de acesso (ou role) que um usuário possuía, ou seja, todo o código que era executado com a autenticação daquele usuário rodava com os mesmos privilégios. Com o surgimento da Internet, e consequentemente das aplicações Web, os softwares ficaram cada vez mais expostos, tornando-os mais visíveis para terceiros em qualquer parte do mundo. Novos e poderosos ataques surgiram, exigindo cada vez mais investimentos e preocupações da equipe de desenvolvimento com a segurança da aplicação.

Um processo de desenvolvimento de software que prima (e devemos sempre primar) pela qualidade do produto a ser entregue não pode de forma nenhuma desconsiderar a questão da segurança. A equipe da qual faço parte, por exemplo, criou um documento de orientação para desenvolvimento de software seguro, com base no projeto OWASP TOP 10. Esse projeto tem por objetivo educar desenvolvedores, designers, arquitetos e organizações a respeito das consequências das vulnerabilidades mais comuns encontradas em aplicações Web e elenca os 10 principais riscos de segurança, em ordem pelos tipo de ataque, de problema ou de impactos que causam.

Pra quem não conhece, a OWASP (The Open Web Application Security Project) é uma organização sem fins lucrativos, focada em auxiliar indivíduos e organizações a melhorar a segurança de software. Com o intuito de me aprofundar mais no tema, participei no último mês de setembro do OWASP Floripa Day Security Conference. A primeira edição do capítulo Florianópolis, organizado brilhantemente por Gabriella de Bem (gabidebem@owasp.org) e Tiago Natel (natel@owasp.org), foi muito boa com diversas palestras e tendo a segurança como tema principal.

Abaixo, temos a lista de riscos referente aos principais ataques registrados até a última revisão feita em 2010:

A1  Injection

A2 – Cross-Site Scripting

A3 – Broken Authentication and Session Management

A4 – Insecure Direct Object References

A5 – Cross-Site request Forgery

A6 – Security Misconfiguration

A7 – Insecure Cryptographic Storage

A8 – Failure to restrict URL Access

A9 – Insufficient Transport Layer Protection

A10 – Unvalidated Redirects and Forwards

Provavelmente teremos uma revisão do TOP 10 em 2013, e novos itens poderão entrar ou a ordem dos itens atuais poderá ser alterada. Em uma próxima oportunidade, podemos conversar mais detalhadamente sobre esses itens.

O risco A1 – Injection, que é o mais conhecido pela maioria dos desenvolvedores, ocorre quando os dados fornecidos pelo usuário são enviados a um interpretador como parte do comando ou consulta. Muitas das vezes, o desenvolvedor determina que o software é seguro se estiver protegido por SQL Injection. Calma, não é bem assim. O assunto segurança é muito mais abrangente e merece toda a nossa atenção. A própria orientação do OWASP é para que você não fique ligado apenas no TOP 10, e sim que esteja atento às demais possibilidades de vulnerabilidades que possam existir.

Aos profissionais de desenvolvimento cabe o estudo, a dedicação e a disciplina para uma demanda crescente que é a entrega de soluções seguras, e o conteúdo disponível no portal da OWASP é um excelente caminho para isso. Explore-o. Faça dele sua referência, sua inspiração. Comece a escrever código realmente seguro.

Até a próxima.

 

é especialista em serviços gerenciados de segurança na Arcon.

Ver perfil