Segurança de Aplicação

Aplicações Web, como está a segurança das suas?

Recentemente tivemos a divulgação de mais alguns dados disponibilizados pela Statista que mostra que nossa País foi o mais afetado por ataques em aplicações web em 2019. 

Certamente, esse tipo de dado nos leva a questionar a segurança de nossas aplicações web e tentar entender porque ainda temos tantas aplicações sendo disponibilizadas com vulnerabilidades já muito conhecidas.

Portanto, vamos buscar colocar alguns pontos que podem ser observados quando tratamos sobre a segurança das aplicações web e com isso tentar oferecer mais informações e questionamentos sobre o assunto.

Cresce o número de ataque em aplicações Web

A estatística conhecida é que 70% das aplicações web apresentam problemas de segurança e estão em risco.

Mas, o que leva uma aplicação web a estar nesta estatística não é somente a falha em si, temos que entender que motivação e conhecimento técnico são fortes fatores.

Como podemos ver na imagem abaixo, o Brasil foi o País mais afetado por ataques no ano de 2019, quando olhamos para os dados da América Latina.

Esses dados fortalecem nosso entendimento que precisamos olhar melhor para nossas aplicações e buscar entender como a segurança está sendo entendida nas empresas.

Entretanto, para entendermos os riscos à segurança das aplicações precisamos entender e conhecer melhor os atacantes e como eles podem escolher seus alvos.

Tipos de Atacantes

Podemos classificar os atacantes com base em 3 categorias de conhecimento, e levando em conta também seus motivos e seus métodos de operação.

Script kiddies:   Este termos se refere a atacantes que ainda são amadores, possuem pouco ou nenhum conhecimento para desenvolver suas próprias ferramentas.

Por isso , geralmente usam e consomem ferramentas criadas por atacantes mais experientes. Todavia, isso não quer dizer que não devemos ter atenção a eles, estes atacantes geralmente gostam de espalhar o caos, muitas vezes gerando ataques de negação de serviços (DOS – denial-of-service attacks).

Black-hat hackers: Este termo se refere a atacantes com bem mais conhecimento técnico.

Primordialmente, os objetivos deste tipo de atacante são focados em um resultado financeiro. Seus métodos de ataque são ilegais ou mesmo antiéticos. Seu conhecimento é mais vasto e eles normalmente aplicam este conhecimento para a construção de ferramentas personalizadas de ataques.

White-hat hackers: Estes profissionais possuem uma motivação financeira mas usam o seu conhecimento de forma a executar testes e trabalhos usando métodos legais e éticos.

Eles tem como objetivo básico identificar e ajudar a mitigar riscos e vulnerabilidades. Comumente são chamados quando há necessidade de testar uma solução ou a segurança de uma aplicação.

Tipos de Ataques

Ainda, podemos classificar ataques em duas categorias diferentes, como seguem:

Alvos de oportunidade: Alvos de oportunidade são usados quando o atacante busca de forma randômica por algum sistema que tenha uma vulnerabilidade conhecida por ele e ao encontrar ele começa a buscar meios de explorar a vulnerabilidade. 

Ataques definidos: Em um ataque com alvo definido o atacante fez sua escolha baseado em algum critério ou valor para ele, por exemplo, é o sistema que detém algum tipo de dado ou informação. Neste caso o atacante está focado na descoberta de falhas e ou vulnerabilidades de um sistema específico.

Embora você entenda que seu negócio ou aplicativo tem pouco valor para um atacante, ele ainda pode ser alvo de um ataque de oportunidade, ou ainda, que seja usado como uma ponte para um ataque direcionado.

Ainda, se no seu caso sua aplicação possui ou trabalha com dados que podem ser considerados valiosos, é certo que em algum momento pode acontecer uma tentativa de violação do seu sistema. 

O conceito de “hardening” deve ser aplicado tanto ao seu sistema quanto à infraestrutura que dá suporte a esta aplicação. 

Mas porque segurança de aplicações web é importante?

Sabemos que os ataques a aplicações web são muitas vezes usados em conjunto com outros tipos de ataques para se obter o sucesso desejado. 

Ainda assim temos muitas empresas que tentar manter este tipo de assunto reservado a pequenas ações dentro de suas estruturas e entendemos que esta não é a melhor opção dentro de um cenário maior. 

Aqui vão algumas de nossas recomendações.

Priorize a segurança no processo: Sempre que houver o pensamento de desenvolvimento seguro dentro do processo de desenvolvimento teremos como resultado códigos melhores e mais resilientes à ataques.

Esse fato se deve à mudança de postura e cultura das equipes de desenvolvimento que passam a usar dentro da esteira de desenvolvimento conceitos e práticas de desenvolvimento seguro.

Priorize segurança das aplicações sobre segurança de rede: Mesmo entendendo a importância da infraestrutura, este não deve ser o único e prioritário foco para a implementação de segurança. 

Proporcionalmente a quantidade de falhas que exploram a infraestrutura de uma aplicação é menor que a quantidade de oportunidades que podem ser descobertas como falhas de software. 

Portanto, a priorização da segurança de uma aplicação web deve ser feita de forma a garantir que toda a aplicação se mantenha segura mesmo com algumas falhas de infraestrutura.

Elimine o problema pela raiz: Antes de implementar uma solução de segurança em sua aplicação ou infraestrutura, veja e avalie se este ponto é realmente o foco do problema, algumas vezes o esforço de correção pode estar sendo colocado em um ponto que não resolverá o problema.

Não adianta você a cada novo ciclo ficar corrigindo sempre o tipo de vulnerabilidade. Está claro que o problema não é a vulnerabilidade e sim a falta de conhecimento da equipe de desenvolvimento. 

Capacite seu time de desenvolvimento

A segurança de aplicações web não é apenas a busca e a solução de falhas de software, a busca de aplicações mais seguras passa por uma mudança de cultura e de postura de um time de desenvolvimento.

Pensamos que a forma mais efetiva de introduzir este tipo de mudança é educando e treinando todos aqueles que fazem parte de alguma forma do processo de desenvolvimento.

Essa passagem de conhecimento tanto pode ser feita por meio de treinamento quanto pela passagem de experiência entre equipe ou mesmo profissionais. A criação de um time de Security Champions pode ajudar neste processo.

Descubra que ao mudar a forma como pensamos em desenvolvimento também mudamos os resultados recebidos do processo. Ao colocarmos o pensamento de segurança dentro do pipeline de desenvolvimento vamos obter códigos mais seguros e mais fáceis de serem mantidos.

Boa sorte e avalie se sua aplicação é segura!

About author

Articles

Mais de 15 anos de experiência em segurança da informação e aplicações, graduado em processamento de dados, trabalhei como professor universitário e participei ativamente como instrutor de treinamento para mais de 6000 desenvolvedores em equipes de TI. Sou pai de duas meninas e trader nas horas vagas.
Related posts
Segurança de Aplicação

Quais temas um treinamento de segurança deve contemplar?

O mercado de desenvolvimento parece estar se conscientizando cada vez mais com relação à…
Read more
Segurança de AplicaçãoTech

Conheça as diferenças entre segurança de aplicativos web e mobile

Com o mercado de desenvolvimento de aplicativos para aparelhos móveis (os famosos “mobile…
Read more
Segurança de Aplicação

O seu container é realmente seguro?

Nestes últimos anos, o uso de containers para empacotar e entregar aplicações tem se tornado cada…
Read more

Deixe um comentário