← Voltar à página principal do "Utilizar o Fedora".

Steve, Analista de Segurança da Informação

Steve Milner é um analista de segurança da informação da Carolina do Norte. Ele usa o Fedora para auditoria de aplicações web, em questões de segurança. Steve caminha leva-nos através de algumas grandes aplicações no Fedora para análise de segurança e tem algumas dicas para também manter os seus sistemas seguros!

Steve Milner

De onde é?

Em todo o EUA. Actualmente vive em Raleigh.

Qual é a sua profissão?

Analista/Desenvolvedor de Segurança.

Qual é o seu nick no IRC? Sempre que ele vem?

Ashcrow. Quando estava no ensino médio realmente gostei do The Crow. Usar muitas referências a Crow em diferentes nicks no meu IRC, mas ashcrow foi com o que acabei por ficar.

Quando soube do Fedora pela primeira vez?

A minha primeira utilização do Fedora foi o Fedora Core 2. Naquela época, era um utilizador de Debian muito duro. Uma vez que no passado tinha usado o Red Hat Linux, decidi dar o Fedora Core 2 uma hipótese. Sinceramente, pensei que o Fedora Core 2 estava OK no momento, mas o Fedora Core 3 impressionou-me tanto que resolvi colocá-lo na máquina dos meus pais. A minha mãe gostou muito!

Como se tornou um colaborador?

A ler código. No secundário eu era muito interessado no código, mas a maioria dos livros de programação eram de certa maneira muito caros para mim. Lembro-me de uma cópia de um livro de C velho em meados dos anos 90 que trazia uma disquete de 5 1/4, que me ensinou um pouco. A melhor coisa que me ensinou a codificar foi a ver programadores de código aberto a trabalhar. A partir daí comecei a escrever código e enviar correcções para projectos e acabei por ser contratado por uma pequena, na altura, empresa de desenvolvimento de aplicações web, em Orlando, Flórida.

Pode explicar o que significa auditoria de segurança? Como começou na auditoria de segurança?

Em resumo a auditoria de segurança é a procura de problemas de segurança numa aplicação ou sistema. Depois de encontrados os problemas, são registados e trazidos para programadores com informações sobre como corrigir os problemas. Primeiramente faço auditorias de segurança de aplicações da web e pentests (testes de penetração).

Que tipos de problemas geralmente procura ao realizar uma auditoria de segurança?

A primeira linha de problemas que procuro são os mesmos listados no OWASP Top Ten . Dos 10 listados, começo a procurar o que acho ser o mais comum: injeções, cross-site scripting, falsificações de pedidos de cross-site e redireccionamentos inválidos. Depois de olhar para o mais comum, começo a olhar mais profundamente para a aplicação para encontrar problemas de lógica, mensagens de erro, etc. o que irá ajudar a descobrir outros problemas de segurança.

Diga-nos quais as 3 aplicações do Fedora que acha mais úteis para o trabalho de auditoria de segurança?

Nmap, Ratproxy e Python.

Python? Como usa o python para testar a segurança das aplicações web?

Ao fazer uma auditoria é importante ser capaz de escrever ataques rápidos como prova de conceito. Python tem uma infinidade de módulos que fazem ataques fazendo de ataques POC uma alegria. Para listar algumas:

  • urllib/urllib2
  • BeautifulSoup
  • python-nmap
  • sulley

Ipython e bpython também são grandes ambientes de codificação à medida (code-as-you-go) para tentar variações rápidas de ataques POC. Utilizando módulos Python, bem como ferramentas de segurança em geral controladas por Python, facilmente tornam a linguagem de programação uma ferramenta indispensável.

Fale-nos um pouco do nmap. Como é que funciona? Pode ser usado para analisar as máquinas que não correm o Fedora? É algo que voçê automaticamente e constantemente corre para verificar problemas, ou executa-o manualmente para responder a questões específicas?

Nmap (http://nmap.org/) é uma ferramenta para explorar a rede. Nmap verifica um host ou conjunto de hosts e responde com a informação. É normalmente usado como um portscanner geral.

O Nmap pode encontrar ou analisar praticamente qualquer máquina na rede. No passado usei-o, também, para fazer análises a máquinas com base em Windows ou Mac OS X.

Uso o Nmap como uma parte da minha auditorias junto com scripts NSE (motor de script do Nmap) das quais a maioria vêm directamente do próprio projecto Nmap. Costumo usá-lo para verificar o estado das firewall, serviços abertos de um sistema juntamente com as versões dos ditos serviços. Ele ajuda a obter uma base de conhecimento.

O que faz o ratproxy? Pode analisar os sistemas que não correm o Fedora? Pode analisar os sistemas que não correm o Linux? É um programa que executa manualmente ou corre constantemente em segundo plano?

Ratproxy (http://code.google.com/p/ratproxy/) é um proxy para auditoria passiva de aplicações web. Ele fica entre o browser e a aplicação web, à qual que está a fazer a auditoria, e regista informações à medida que navega no sítio. Ele pode analisar quase todas as aplicações web, indiferentemente do sistema operativo que está em execução. Uma vez que o Ratproxy é passivo, pode ser usado com aplicações ajax.

Fale-nos de algumas personalizações de ambiente de trabalho interessantes que fez ao seu ambiente de trabalho Fedora para ajudar no seu trabalho de auditoria de segurança.

Eu uso uma máquina com dois/três monitores configurados com o GNOME e o synergy. Estou realmente ansioso que a Shell do GNOME seja considerada estável. Uso-a nas minhas próprias máquinas e adoro-o! Se puder, tento correr quase tudo através do terminal. Acho que o uso de aplicações de terminal muito mais fáceis, especialmente desde que eu possa executá-las através de byobu/ecrã.

Pode-nos contar sobre uma falha (exploit) que tenha descoberto recentemente usando o Fedora?

Encadeando um redireccionamento inválido e um pedido cruzado falsificado a sítios vislumbrei uma ligação que faz o seguinte:

  • Permite que o utilizador faça login normalmente
  • Após o login, o utilizador seria encaminhado para o meu sítio 'mal-intencionado'
  • O sítio deveria fazer um post javascript na aplicação original e executaria acções como o utilizador, o que poderia incluir coisas como adicionar ou modificar contas.
  • O utilizador, então, seria enviado de volta para a aplicação original, como se nada tivesse acontecido.

A partir de sua experiência em descobrir falhas de segurança em aplicações, tem algum truque ou dica simples para os programadores que desejam evitar falhas de segurança no seu código?

Não confie nos seus utilizadores! Deve escrever código com a expectativa de que haverá pelo menos um utilizador mal-intencionado que não parará de tentar encontrar problemas na sua aplicação.

Tem alguma dica para os utilizadores do Fedora para manter os seus sistemas seguros?

Não se esqueçam do básico! Mantenha o sistema actualizado, use regras de firewall sensatas (e use a firewall), desactive os serviços que não precisa e use senhas sensatas.

Obrigado, Steve!

← Leia mais entrevistas com os utilizadores do Fedora.