30 de dezembro de 2008

Twitter?

É eu me rendi a mais uma "ferramenta" geek! Eu conheci o twitter há algum tempo atrás e confesso que achei meio bobo, sem sentido. Conversando com alguns amigos eu fui convencido a olhar com mais calma, afinal, poderia ser mais uma ferramenta para troca de idéias, opiniões, sobre o que eu penso e faço no meu dia-a-dia.

Bom, fui lá e dei-um "Forgot password" e resolvi começar a "twittar" (é assim que se fala?).

Quem quiser acompanhar e claro, apreciar com moderação, é só me incluir (é assim? Calma, estou começando.) acessando a URL: http://twitter.com/welias

29 de dezembro de 2008

Pen-test não morre não, fiquem tranquilos!

No início de Dezembro Brian Chess co-fundador da Fortify escreveu um artigo para o portal CSO Online com o seguinte título: Penetration Testing: Dead in 2009.

Como o título foi extremamente sensacionalista e na minha opinião, as declarações de Chess foram bastante parciais em favor do produto/negócio da Fortify, as interpretações não foram as melhores.

Ivan Arce CTO da Core Security escreveu um outro artigo para o mesmo portal com o título: Twelve Reasons Pen Testing Won't Die

Neste artigo Arce "contra-ataca" Chess e faz uma brincadeira criando o acrônimo, SISSP (School of Information Systems Security Prophets) e descreve de forma muito clara inúmeros motivos para se realizar testes de segurança (pen-tests).

No maior estilo Schopenhauer, Chess, escreveu outro post no blog da Fortify: Penetration Testing is Dead, Long Live Penetration Testing

A minha opinião sobre esta novela toda é: Muda-se o nome, muda-se a "roupagem" mas os testes de segurança sempre deverão ser feitos. Afinal, como será garantido que os produtos mesmo após um bom SDL (secure Development Lifecycle) são realmente seguros como deveriam ser? Como diria Michael Howard: "Ou você testa ou alguém ira testar por você".

22 de dezembro de 2008

SDL e falha de XML Parser do Internet Explorer

Um excelente post no blog Security Development Lifecycle, fala sobre a falha de XML Parser que afeta algumas versões do Internet Explorer da Microsoft.

A falha irá causar algumas mudanças na capacitação dos desenvolvedores, segundo o post o conteúdo dos treinamentos voltados ao SDL (Secure Development Lifecycle) não cobre com clareza a falha que ocorreu.

"Code Analysis and Review

Memory-related TOCTOU bugs are hard to find through code review; we teach TOCTOU issues, and we teach memory corruption issues, and issues with using freed memory blocks; but we do not teach memory-related TOCTOU issues. We will update our training to address this.

Our static analysis tools don't find this because the tools would need to understand the re-entrant nature of the code."

Devido a característica bastante peculiar da falha, muito provavelmente a falha foi encontrada por acaso, pois até mesmo as técnicas de fuzzing (considerada bala de prata por alguns) não conseguiriam identificar facilmente.

"Fuzz Testing

In theory, fuzz testing could find this bug, but today there is no fuzz test case for this code. Triggering the bug would require a fuzzing tool that builds data streams with multiple data binding constructs with the same identifier. Random (or dumb) fuzzing payloads of this data type would probably not trigger the bug, however."

Outro ponto é a questão da compatibilidade entre as versões. Devido a compatibilidade com versões anteriores não é usado ASLR e NX, o que poderia ter amenizado o problema.

"ASLR and NX

Even though Windows Vista and Windows Server 2008 have both ASLR and NX enabled by default, Internet Explorer 7 does not opt-in to these defenses owing to compatibility issues with many common applications. Internet Explorer 8 enables these defenses by default, but an attack could be mounted by calling a component that does not use these defenses, and then by using an attack technique known as heap-spraying get the attacker's code into the non-ASLR and non-NX memory. This is why it's so important to build components for Windows that use all the available Windows defenses. Matt Thomlinson and I wrote an article on this subject, and David LeBlanc and I wrote Writing Secure Code for Windows Vista that covers the subject in much more detail."

15 de dezembro de 2008

Treinamentos em Janeiro

A Conviso IT Security oferece no primeiro trimestre de 2009, os cursos "Internet Hacking Techniques" e "Web Hacking Techniques" em várias capitais brasileiras:

Internet Hacking Techniques


Ensina o processo de análise de vulnerabilidades técnicas em redes de dados, incluindo técnicas para teste de intrusão (pen-test), scan de vulnerabilidades, testes de resistência de senhas e análise do controle de acesso a dados.

Belo Horizonte: 12, 13 e 14 de janeiro
Manaus: 19, 20 e 21 de janeiro
Recife: 21, 22 e 23 de janeiro
Curitiba: 26, 27 e 28 de janeiro

Web Hacking Techniques


Ao entender as principais vulnerabilidades em aplicações web e como evitar que elas sejam criadas, os alunos deste curso aprendem a revisar a segurança das aplicações web, além de serem capacitados em práticas de programação segura e no uso de ferramentas Open Source para testes de segurança e criação de medidas de proteção neste modelo de aplicação.

Belo Horizonte: 15 e 16 de janeiro
Manaus: 23 e 24 de janeiro

Calendário dos Cursos: http://convisosec.com/yahoo_site_admin1/assets/docs/CSTR_Calendario_2009_V2.35175159.pdf

11 de dezembro de 2008

Browser Security Handbook

O Google lançou um book em versão wiki que, descreve várias características de segurança de diversos browsers. A wiki é atualizada constantemente e é um material interessantíssimo para quem deseja conhecer um pouco mais dos "internals" dos browsers.

As informações são valiosas para quem deseja ir além do debug.print/echo POST/GET no desenvolvimento web. Recomendo fortemente a parte 3 - Experimental and legacy security mechanisms.

O conteúdo se mostrou bastante imparcial e não é voltado apenas para o Chrome do Google.

9 de dezembro de 2008

php, Estefan Esser, e a saga

No último dia 04/12/2008 Stefan Esser, divulgou um advisory que anunciava uma falha no método ZipArchive::extractTo() do php 5.2.6. A falha é um Path Traversal e extremamente simples de explorar. Para explorar a falha é necessário que o sistema utilize o método ZipArchive::extractTo() para upload e fazer a descompressão automática (Muitos CMS utilizam isso). Para quem necessita deste recurso o único meio de tratamento é upgrade para versão 2.5.7. Mais detalhes sobre o advisory estão publicadas neste link.

No Domingo 07/12/2008 o mesmo Stefan Esser, fez alguns comentários sobre os backports relacionados a segurança e disse para tomar cuidado com o upgrade, pois o upgrade para a versão 5.2.7 irá quebrar a diretiva de magic_quotes. Qual o problema disto? Acreditem, muitas aplicações dependem única e exclusivamente disto para tratar problemas de SQL Injection e afins.

Já hoje dia 09/12/2008 novamente ele, anunciou um projeto bem interessante que ele vinha trabalhando e disponibilizou a primeira versão para download. O projeto chama ext/usim e permite que você teste o upgrade para versões mais recentes, assim você pode testar se a sua aplicação irá se comportar perfeitamente nesta versão.

Será que até o final da semana ele vai soltar mais uma?

4 de dezembro de 2008

Coisas que me irritam e espero que mudem

Entre um dia corrido e outro, vou anotando algumas coisas. Quem me conhece sabe, minha área de trabalho é cheia de arquivos texto onde escrevo de tudo, uns comandos que estou começando a usar, um script, algumas referências para ler com mais calma e também coisas do dia-a-dia.

Entre as coisas que venho observando há anos e sempre faço uma anotação ou outra é sobre o mercado de segurança da informação. Está certo que eu sou um pouco mais rabugento que a média, mas muita coisa é de irritar, as anotações servem como válvula de escape. As vezes leio algo ou passo por uma situação e a primeira coisa que vem a cabeça é: vou escrever um post e soltar o verbo, mas acabo anotando e observando um pouco mais. É verdade, as vezes escapa e acabo falando demais. Hoje eu decidi falar sobre uma coisa que me incomoda profundamente.

Profissionais que adoram falar sobre código de ética, classificação da informação, política de segurança e plano de continuidade de negócios

Mas Wagner, você sempre defendeu estes pontos? Sim, eu sempre defendi e acho super importante estes pontos, mas, (a quem diga que após um mas sempre vem uma crítica. :) ) eu estou cansado de encontrar "Grandes" profissionais do mercado de segurança da informação que, nunca implementaram nada, não sabem do que falam e se colocam em posição de sênior e superior a todos que não falam as palavras da moda e não lêem revistas de negócio. Vou dar umas dicas para quem deseja ser este profissional altamente desejado e merecedor de bons cargos e salários.

  • Gaste boa parte do seu sálario com um bom terno, camisas, abotoaduras e sapatos bem lustrados;

  • Leia todos os livros de auto-ajuda e os nacionais de segurança da informação;

  • Faça lobby, muito lobby. Vale convidar para fumar charutos (mesmo que você odeie qualquer tipo de coisa parecida com cigarros), degustar vinhos caros (mesmo que você goste mesmo é de uma cerveja bem gelada);

  • Fale muito daquela viagem que você fez para Miami e Buenos Aires, isso é chique, (não é tão chique assim, mas é o que você consegue pagar, pois os ternos são caríssimos) os executivos gostam disto;

  • Critique a postura alienada dos técnicos que salvam sua pele, garantem o seu salário e lhe passam as informações para montar aquela maravilhosa apresentação "vendendo" sua área. Afinal, o que seria destes técnicos sem todo seu poder de relacionamento inter-pessoal e astúcia com o power point?


E a regra de ouro é: nunca participe de listas de discussões, não tenha um blog, não tenha opiniões fortes. Isso é exposição demais para um "Grande" profissional como você. Vai que alguém descobre que você é um charlatão, que tudo que você aprendeu nos livros é meia dúzia de palavras e conceitos.

Sobre os temas mais citados em gestão de segurança da informação, IMHO é bem simples:

Código de ética: ou você tem ou não tem. Se você precisa a todo momento ficar falando sobre ética é porque você almeja muito e não tem. Vejo muitos profissionais falando o tempo todo, citando, escrevendo, enormes códigos de ética e na primeira oportunidade o "Gersão" surge dentro deles e a ética só vale para os outros;

Classificação da Informação: super importante e um tema muito interessante, mas quem consegue aplicar da forma como os "Grandes" falam? Escrever políticas e colocar rótulos em algumas informações não irá mitigar nenhum risco;

Plano de Continuidade de Negócios: um dos temas que mais me fascina, me dedico bastante a aprender e estudar o tema, porém, na maioria das vezes só tenho contato com BCP (Bullshit Compliance Plan). Tudo não passa de discurso, um monte de papel sem sentido e algum mané dizendo que vai salvar o mundo com este monte de papel.

Eu acredito muito em segurança da informação, já vi muitos casos de sucesso e conheço grandes profissionais, senão fosse isto eu já havia desistido. Ainda sou Brasileiro e não desisto nunca, acredito na "queda das mascaras" e na maturidade do mercado de segurança da informação e no surgimento de mais Profissionais capacitados e capazes de lidar com todos os riscos que nos assolam todos os dias.

[Update] Resolvi deixar uma coisa bem clara, afinal acho que as interpretações foram diversas. Eu não acredito que todas as pessoas que tomam vinho, se vestem impecavelmente e fumam charutos são charlatonas, a mensagem é bem direta: quem é charlatão que se identifique. Como disse ao Lincoln nos comentários, as pessoas podem ser opostas a estas características e serem charlatonas. Muitos gerentes, executivos em geral gostam de tudo que falei e são responsáveis pelo sucesso de muitas áreas e organizações, estão longe de ser charlatões, se preocupam em ser e não em ter. Apreciem o texto com moderação. :)

1 de dezembro de 2008

SQL Injection e as funções de escape no php

Acredito que todos que acompanham este blog e até mesmo quem tenha qualquer contato com desenvolvimento WEB saiba o que é um SQL Injection e o que se deve evitar para combatê-lo, porém, todos os dias eu me deparo com técnicas ineficazes para tratamento de ataques de SQL Injection baseados na dupla php e MySQL.

A maioria destas técnicas para tratamento de SQL Injection fazem referência a funções de escape ou o popular magic_quotes do php, porém poucos devem saber que estas técnicas são ineficazes para evitar este tipo de ataque. A simples adição de uma barra invertida (" \ ") em uma string que contenha um apóstrofo (" ' ") não irá eliminar a possibilidade de exploração de ataques baseados em SQL Injection.

As funções de escape mais conhecidas são addslashes() e mysql_real_escape_string(). Estas funções irão fazer a seguinte transformação em uma string.

String normal = 'admin'
String com escape = \'admin\'

Agora o que poucos sabem é que o MySQL possibilita que você faça consultas de caracteres baseados na tabela ascii. Execute no MySQL a query: select ascii('a'); e você terá a o código da letra a que é 97. Agora faça o oposto, execute a query: select char(97); e você terá o caracter a. Isso quer dizer que podemos representar strings SQL usando os códigos ascii. Se usarmos a função concat() podemos montar uma query inteira usando os códigos ascii.

Execute a seguinte query no MySQL:

select concat(char(39), char(104), char(116), char(116), char(112), char(58), char(47), char(47), char(119), char(97), char(103), char(110), char(101), char(114), char(101), char(108), char(105), char(97), char(115), char(46), char(99), char(111), char(109), char(39))

O resultado será:

'http://wagnerelias.com'

Reparem que na string criada usando a função concat não é representado o apóstrofo (" ' "), com isso as funções de escape não teriam efeito algum. Portanto, cuidado com as funções de escape, muitas vezes elas não irão lhe salvar de um ataque de SQL Injection. Sempre que possível use Bind Variables implementando as Prepared Statements do MySQL.

30 de novembro de 2008

Palestra - Tratando as vulnerabilidades do Top10 da OWASP

Nesta sexta-feira dia 28/11 eu palestrei na Php Conference! Obrigado pela presença de todos e estou disponibilizando os slides da palestra.

26 de novembro de 2008

Pen-test by Adobe or Office

Uma prática horrível invadiu o mercado de pen-test, se é que podemos chamar isso de prática. A técnica consiste no envio de arquivos do office ou arquivos pdf com algum tipo de backdoor. Utilizando pura e simplesmente de engenharia social a empresa contratada para testar os controles de segurança envia um arquivo malicioso que, pode ser um currículo em pdf para o RH. Naturalmente alguém irá abrir o arquivo, e após isso é "OWNADO" e o FUD começa, direito a filme e tudo.

Pergunta: que controle você testou com isso? Você apenas irá saber que precisa de uma campanha de conscientização, não terá nenhum tipo de validação dos controles de perímetro da sua rede.



Testes como esse podem ser usados para testar o nível de conscientização de seus usuários, mas nunca como ferramenta de avaliação de controles técnicos. E lamentavelmente muitos acham isso a última maravilha do mercado de segurança, pois, saibam todos que a técnica já não tinha nada complicado e agora ficou mais prático e banal com a implementação desta feature no metasploit 3.2. vejam os exemplos a seguir:

Criando um pdf com backdoor

Criando um arquivo do word com backdoor

Agora faça o seguinte, procure profissionais sérios e competentes para testar seus controles de segurança, não aceite qualquer coisa.

11 de novembro de 2008

Palestra H2HC 2008

Estou disponibilizando os slides da minha palestra na H2HC deste ano. No site do evento em breve estará disponível os slides de outros palestrantes.


Extreme Web Hacking - h2hc 2008
View SlideShare presentation or Upload your own. (tags: h2hc)

1 de novembro de 2008

Hardening de sessão no PHP

Php é criticado, muitas vezes pwned, mas eu gosto. Acho uma linguagem que lhe dá muitas opções, tem uma grande comunidade, possui vasta documentação (ok, eu sei que a maioria das pessoas nem sabe que isso existe) e a maioria dos projetos open source tem algo em php. O meu envolvimento com php veio fuçando em projetos open source.

Lógicamente que devido a sua popularidade e a possibilidade de fazer qualquer coisa, o php acaba protagonizando coisas horríveis. Já ouviram a expressão: "Arma na mão de macaco"? Isso também acontece com php!

Bom, já dei muita desculpa, gosto de php e pronto!

Eu, tenho lidado com sistemas que possuem muitas falhas de segurança devido a problemas de gestão de sessão, por isso decidi escrever algo sobre as sessões do php.

Até um macaco autista consegue trabalhar com sessões no php, basta olhar o manual: Funções para sessão.

Mas como qualquer função ela merece alguns cuidados, um simples session_start e um session_unset não é suficiente caso você queira garantir a integridade dos dados da aplicação.

A primeira coisa que deve ser feita é realizar algumas configurações que irão aumentar a segurança da gestão de sessão do php. Os seguintes itens devem ser alterados no php.ini:

O nome da sessão

default: session.name = PHPSESSID
hardening: session.name = Uma string que você determinar

Path onde será armazenado a sessão no servidor
default: session.save_path = Diretório de armazenamento Temporário da Máquina(tmp)
hardening: session.save_path = Defina um diretório onde as configurações de permissão foram alteradas e somente o acesso pela aplicação é permitido.

Cookies mais seguros

Apesar da possibilidade de desenvolver algo "cookieless" é mais prático e eficaz fazer algumas configurações para aumentar a segurança dos cookies.

Uma boa prática é você não permitir que seja acessada por javascript o cookie de sessão, ataques de XSS podem ser evitados. Para isso determine que o cookie será acessado apenas por HTTP.
default: session.cookie_httponly = 0
hardening: session.cookie_httponly = 1

Se você possui o recurso de HTTPS, force o envio apenas por HTTPS.
default: session.cookie_secure = 0
hardening: session.cookie_secure = 1

A gestão de sessão usa algoritmos de hash para gerar os IDs de sessão. Por default o php usa o algoritmo md5 (128 bits), mas como já deve ser conhecimento de todos, ele já não é o mais confiável. Então altere o algoritmo de hash para SHA-1 (160 bits).
default: session.hash_fuction = 0
hardening: session.hash_fuction = 1

Com estas configurações você já vai ter mais segurança nas sessões do php, existe outras functions que podem ser alteradas, consulte o manual.

Você já garantiu um pouco mais de confiança as sessões, mas também é necessário cuidado ao manipular/usar os recursos de sessão. algumas dicas são:

  • Se possível determine o tempo que o cookie de sessão expira o mais baixo possível;

  • Use a seguinte sequência sempre que iniciar uma sessão:


session_destroy();
session_regenerate_id();
session_start();

Isso irá garantir que a sessão será destruída e um novo id será gerado sempre que você iniciar uma sessão.

Não seja um macaco com uma arma na mão, use os recursos da linguagem.

28 de outubro de 2008

Testes de Segurança de Software (Tech-Ed 2008)

A minha palestra sobre segurança em desenvolvimento no tech-ed me surpreendeu! Primeiro, pelo número de pessoas, mesmo acontecendo no mesmo horário que a do Steve Riley, a sala lotou. Segundo, pelo interesse dos participantes. Ano passado tinhamos 3 palestrantes falando sobre segurança em desenvolvimento e poucas pessoas participaram. Estou disponibilizando os slides da minha palestra!

27 de outubro de 2008

Uma captcha diferente

Não sou um grande fã das implementações de CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart). Geralmente elas são tão complexas quanto o acrônimo. São um terror para algumas pessoas. Acessibilidade é péssima!

Agora eu achei essa solução interessante, letras grandes e qualquer pessoa consegue facilmente "resolver", ainda temos o problema de acessibilidade com deficientes visuais que utilizam softwares para leitura, mas é mais interessante que as tradicionais. A solução chama-se grapcha e se baseia na biblioteca Graphviz. Você tem que começar a ler o desafio de start a stop. Dê uma olhada no gráfico gerado pela palavra Wagner.

Grapcha

26 de outubro de 2008

Clickjacking

Na última conferência AppSec promovida pela OWASP em New York, Jeremiah Grossman e Robert Hansen aka RSnake, sacudiram a conferência após o cancelamento da apresentação onde eles iriam mostrar uma prova de conceito de uma vulnerabilidade que ficou conhecida como Clickjacking (sequestro de clique).

Basicamente a vulnerabilidade possibilita que alguém mal intencionado inclua um botão falso, que leva o usuário a clicar em um link que ele acha ser confiável, mas está sendo manipulado. Eles disponibilizaram um vídeo onde é possível visualizar o PoC. Prestem atenção no ponteiro do mouse!


Clickjacking Camjack Demonstration from Jeremiah Grossman on Vimeo.
Segundo os pesquisadores, é possível explorar a falha por características dos browser e do flash player. Uma solução alternativa para o problema é utilizar o plugin No-Script.

24 de outubro de 2008

Wordpress é exemplo

Mais uma vez o wordpress dá um exemplo de projeto confiável. Sempre que alguma vulnerabilidade em alguma função ou biblioteca que ele utiliza é descoberta, rapidamente o projeto solta uma atualização.

O motivo da versão 2.6.3 do wordpress foi uma falha crítica no snoopy, biblioteca que o wordpress utiliza para mostrar as últimas referências no dashboard. Detalhe, a versão do wordpress foi lançada poucas horas após a publicação da falha no snoopy.

Projetos open source, aprendam com o wordpress! Think Security First!

22 de outubro de 2008

Palestra - Segurança em Desenvolvimento de Software

Ontem eu tive a oportunidade de realizar uma palestra no forum de tecnologia promovido pela UNIFRAN (Universidade de Franca). Gostaria de agradecer a todos os organizadores e presentes. Disponibilizei a palestra para acesso via slideshare.

Um pouco sobre o ratproxy

O ratproxy é aquela ferramenta que a Google disponibilizou e com isso conseguiu o hype de sempre. Eu queria escrever algo sobre o código fonte, como funciona as análises que a ferramenta faz, mas como não vi nada se quer sobre a compilação e utilização, decidi fazer um tutorial de compilação e utilização.

O cygwin

Eu uso no meu dia a dia uma máquina com sistema operacional windows, apesar de ter uma distro linux (andlinux) também rodando na máquina. Mas quem não está disposto a fazer grandes alterações eu recomendo o cygwin. Com ele eu tenho as principais ferramentas do linux direto no prompt do windows.

Vamos usar os recursos do cygwin para usar o ratproxy. A instalação é bem simples, apenas tenha certeza de instalar os pacotes necessários. Para compilar e usar o ratproxy é necessário os seguintes pacotes:

1 - make (localizado na biblioteca Devel)
2 - gcc-core (localizado na biblioteca Devel)
3 - openssl-dev (localizado na biblioteca Devel)
4 - openssl - The Open SSL runtime enviroment (localizado na biblioteca Libs)


Estes pacotes são suficientes para compilar e executar o ratproxy. Além destes pacotes é necessário baixar e substituir o flare que vem com o ratproxy por este compilado pra windows. O flare é uma solução usada pelo ratproxy para análise de arquivos swf (flash). Basicamente ele transforma o swf em um arquivo texto que pode ser analisado pelo ratproxy.

Compilando o ratproxy

Feito as instalações dos pacotes necessários vamos alterar o arquivo makefile e compilar o ratproxy. O makefile é apenas um arquivo que contém todos os critérios para que a compilação seja simplificada, basta rodar um make no diretório.

O makefile ficará com as seguintes configurações:

    PROGNAME = ratproxy
    CFLAGS     = -Wall -O3 -D_GNU_SOURCE
    LDFLAGS  = -lcrypto -lssl

Agora para compilar apenas navegue até o diretório onde o fonte do ratproxy se encontra e dê o seguinte comando: make

Com isso "automagicamente" irá aparecer um arquivo ratproxy.exe no diretório. Agora é só utilizar.


Utilizando o ratproxy


syntax de comando:

Usage: ratproxy [ -w logfile ] [ -v logdir ] [ -p port ] [ -d domain ] [ -P host:port ] [ -xtifkgmjscael2XCr ]
   -w logfile - write results to a specified file (default: stdout)
   -v logdir - write HTTP traces to a specified directory (default: none)
   -p port - listen on a custom TCP port (default: 8080)
   -d domain - analyze requests to specified domains only (default: all)
   -P host:port - use upstream proxy for all requests (format host:port)
   -r - accept remote connections (default: 127.0.0.1 only)
   -l - use response length, not checksum, for identity check
   -2 - perform two, not one, page identity check
   -e - perform pedantic caching headers checks
   -x - log all XSS candidates
   -t - log all directory traversal candidates
   -i - log all PNG files served inline
   -f - log all Flash applications for analysis (add -v to decompile)
   -s - log all POST requests for analysis
   -c - log all cookie setting URLs for analysis
   -g - perform XSRF token checks on all GET requests
   -j - report on risky Javascript constructions
   -m - log all active content referenced across domains
   -X - disruptively validate XSRF, XSS protections
   -C - try to auto-correct persistent side effects of -X
   -k - flag HTTP requests as bad (for HTTPS-only applications)
   -a - indiscriminately report all visited URLs
  
Rodando o proxy:

O ratproxy funciona como um proxy, assim enquanto você navegua na aplicação ele vai fazendo a análise das requisições.

Para iniciar o ratproxy digite uma das 3 opções sugeridas no prompt de comando. Váriações podem ser usadas de acordo com a syntax

  1) Low verbosity
 
  -v c:\cygwin\bin\ratproxy -w ratproxy.log -d siteasertestado.com -lfscm
 
  2) High verbosity

  -v c:\cygwin\bin\ratproxy -w ratproxy.log -d siteasertestado.com -lextifscgjm
 
  3) Active testing
 
  -v c:\cygwin\bin\ratproxy -w ratproxy.log -d siteasertestado.com -XClfscm
 
Configurando o browser e utilizando a ferramenta

O ratproxy usa a porta 8080 como default. Então configure o browser para usar um proxy no localhost porta 8080.

Agora vá até o browser e navegue por todas as páginas que você deseja analisar. Enquanto você navega o ratproxy está analisando e armazenando no arquivo de log definido na opção anterior.

Analisando os resultados


Após a navegação feche o prompt que iniciou o ratproxy. O log de análise está no diretório determinado no comando de execução.

Para gerar um relatório mais amigável o google disponibilizou um script para gerar um relatório em html.

No prompt de comando execute o seguinte comando: sh ratproxy-report.sh ratproxy.log > report.html

Pronto, você já tem uma boa ferramenta de análise de aplicações web a sua disposição!

17 de outubro de 2008

You Shot The Sheriff 2.0

O ano passado eu tive o privilégio de ser um dos convidados da primeira versão de um evento bastante interessante e totalmente diferente dos eventos convencionais. O evento irá mais uma vez contar com palestrantes de renome nacional e internacional tratando de temas técnicos e gerencias de segurança da informação.



A Conviso será uns dos patrocinadores do evento e conta com a presença de vocês. Mais informações no site do evento.

7 de outubro de 2008

O Processo de SDL da Microsoft e aplicações WEB

Quem estuda o processo de SDL (Security Development Lifecycle) da Microsoft, logo percebe que ele se refere muito ao modelo de desenvolvimento client-server e explora o tratamento de vulnerabilidades como Buffer Overflow (ou Buffer Overrun na Microsoft). Muitos se perguntam, e o desenvolvimento de aplicações WEB?

Sim, a Microsoft também trata a segurança de aplicações WEB no seu SDL! Este artigo trás alguns detalhes sobre.

6 de outubro de 2008

OWASP e eventos

Querido Diário. Brincadeiras a parte, prometo que este será o último post sobre eventos e agenda.

No dia 21 de Outubro as 21hrs. eu estarei dando uma palestra sobre segurança em desenvolvimento de software na UNIFRAN (Universidade de Franca). Já em Novembro, eu, Eduardo Neves e Leonardo Cavallari vamos para o OWASP EU Summit 2008 em Portugal. Além de nós que vamos como líderes de projetos e participando da organização, o meu amigo Lucas Ferreira vai apresentar um curso de técnicas de segurança em desenvolvimento de sistemas java. O treinamento é uma versão enxuta do treinamento que o Lucas vai ministrar junto com a Conviso em São Paulo e Brasília.

3 de outubro de 2008

Técnicas de Segurança no Desenvolvimento de Sistemas em Java

A Conviso IT Security oferece o curso:


Técnicas de Segurança no Desenvolvimento de Sistemas em Java



São Paulo: 10 e 11 de novembro
Brasília: 13 e 14 de novembro

Instrutor: Lucas de Carvalho Ferreira


Profissional com mais de 10 anos de experiência em segurança da informação, tendo atuado em grandes instituições públicas e privadas. Possui ampla formação acadêmica, com mestrado em Segurança da Informação pela Universidade de Campinas (Unicamp) e artigos publicados no Brasil e no exterior.


Mais informações no site da Conviso web site

2 de outubro de 2008

Palestra no tech-ed 2008

O evento acontece durante os dias 14 a 16 de Outubro e irei ministrar a palestra: "Como fazer revisão e testes de código para identificar problemas (bugs) de segurança". Irei abordar técnicas e farei demonstraçòes de ferramentas que podem auxiliar no processo de testes de segurança em software.

Outras palestras de segurança

  • Introdução ao Microsoft Forefront Code Name "Stirling" - Nível 300

  • TMG (Threat Management Gateway), o próximo Firewall Microsoft: Visão Técnica - Nível 300

  • Como fazer revisão e testes de código para identificar problemas (bugs) de segurança - Nível 300

  • Introdução ao Forefront Client Security 2.0 - Nível 300

  • O que é o IAG 2007 e Como Ele Protege Meu Ambiente - Nível 300

  • Windows Server 2008 - Por que é Realmente Seguro (Análise Técnica) - Nível 200

  • Defesa em Profundidade ? O NAP (Network Access Protection) Pode Ajudar ! - Nível 300

  • [Sessão de Almoço] Implementação de Extranets Seguras com o Microsoft Forefront Security for Sharepoint - Nível 300

  • 10 Passos para Manter-se Protegido ou.... Seja D0min@d0! - Nível 200

  • Privacidade: Onde, Como e Por quê! - Nível 300

  • Estamos no Século 21: É Hora de Jogar Fora seus Gateways Medievais! - Nível 300


Sobre o tech-ed 2008

Tech-ed é uma conferência organizada pela Microsoft, cujo principal objetivo é permitir a disseminação, discussão e a troca de conhecimento sobre tecnologia e os produtos da Microsoft entre os participantes e também entre as empresas envolvidas no evento. Umas das principais atrações é a presença de Steve Balmer, o site do evento pode ser acessado em http://www.teched.com.br.

30 de setembro de 2008

Nova onda de browsers e as máquinas virtuais

Com o lançamento do Chrome e das novas versões do Firefox e Internet Explorer, um assunto que foi bastante discutido foi a performance das engines de processamento/interpretação de javascript.

Os interpretadores mudaram muito e dentre as principais mudanças está a transformação de javascript direto para linguagem de máquina. Este post do Rodrigo Kumpera mostra uma outra característica, agora os interpretadores são baseados em registradores e não em pilha como as máquinas virtuais tradicionais.

Segundo o post, apesar do interpretador exigir um espaço maior em memória, ele leva vantagem sobre as máquinas virtuais baseadas em pilha. O post é bastante interessante, recomendo a leitura.

11 de setembro de 2008

Gerador de números aleatórios

Algum tempo atrás o Stefan Esser divulgou uma falha na implementação das funções que geram números aleatórios em php (rand e mt_rand). O problema está na implementação da biblioteca. Basicamente o problema é a fraqueza na "semente" que gera o número aleatório.

A questão é, quantos projetos em php usam estas funções no processo de gerar senhas, cookies, passphrase, entre outras caracteristicas de segurança? Muitos! O bom exemplo veio mais uma vez do wordpress.

Ele acaba de lançar a versão 2.6.2 que substitui a utilização do m_rand por uma função desenvolvida por eles. Confira o trac!

Eles não só tratam essa questão como outra também descrita pelo Stefan (MySQL and SQL Columm Truncation). No trac você pode ver as alterações e o motivador (um exploit divulgado no milw0rm).

28 de agosto de 2008

Palestra na H2HC

A palestra irá abordar técnicas de exploração em Aplicações Web, onde serão apresentados testes que vão além de vulnerabilidades como SQL Injection e XSS (Cross Site Scripting), e englobam recursos como AJAX (Asynchronous Javascript And XML), JSON (JavaScript Object Notation) e XML-RPC (XML Remote Procedure Calling).

Sobre o H2HC 2008
Hackers To Hackers Conference (H2HC) é uma conferência organizada por pessoas que trabalham ou que estão diretamente envolvidas com pesquisas e desenvolvimento na área de segurança da informação, cujo principal objetivo é permitir a disseminação, discussão e a troca de conhecimento sobre segurança da informação entre os participantes e também entre as empresas envolvidas no evento. O site do evento pode ser acessado em http://www.h2hc.org.br.

26 de agosto de 2008

Segurança em JAVA

O meu amigo Lucas Ferreira disponibilizou um portal onde ele descreve técnicas/recursos de segurança em ambiente JAVA. Estudo altamente recomendado.

Os seguintes tópicos são abordados:

  • Validar os dados de entrada

  • Proteger a aplicação web contra cross site scripting

  • Evitar "command injection"

  • Tratar corretamente todos os erros da aplicação

  • Validar a origem das requisições

  • Usar objetos imutáveis

  • Limitar o acesso às variáveis, classes e métodos

  • Tornar todos os métodos e classes “final”

  • Não usar o escopo de pacote para proteger a classe contra acessos indesejados

  • Impedir a clonagem dos objetos

  • Usar classes não serializáveis

  • Usar classes não desserializáveis

  • Não armazenar informações confidenciais no código do programa

  • Não comparar classes por nome

  • Não usar classes internas (“inner class”)

  • Usar os mecanismos de autenticação dos contêineres J2EE

  • Usar sockets com criptografia SSL

  • Proteger os arquivos criados

  • Especificar o diretório onde serão criados os arquivos temporários

  • Verificar condições de “overflow”, “underflow” e conversões de tipos numéricos

  • Declarar as variáveis estáticas públicas como “final”

  • Não armazenar vetores recebidos como parâmetros

  • Apagar dados críticos da memória

  • Controle de acesso em aplicações web

  • Usar os mecanismos de tratamento de exceções

  • Verificar métodos nativos (“native methods”)

  • Validar unboxing para tipos primitivos

25 de agosto de 2008

Modelagem de Ameaças e Star Wars

Brian Williams fez uma apresentação sobre Modelagem de ameaças fazendo uma referência a Star Wars. Não sou nenhum fan-boy de Star Wars, mas a apresentação ficou muito boa.

Parte 1



Parte 2



Parte 3



Fonte: Dana Epp's

The Developer Highway Code

Está disponível gratuitamente para download o livro: The Developer Highway Code.
"To build software that meets your security objectives, you must integrate security activities into your software development lifecycle. This handbook captures and summarises the key security engineering activities that should be an integral part of your software development processes.

These security engineering activities have been developed by Microsoft patterns & practices to build on, refine and extend core lifecycle activities with a set of security-specific activities. These include identifying security objectives, applying design guidelines for security, threat modelling, security architecture and design reviews, security code reviews and security deployment reviews."

21 de agosto de 2008

Database Proxy como ferramenta para segurança de aplicações

Quando pensamos em soluções de segurança para banco de dados, quase sempre pensamos em soluções de missão crítica e de grande porte. Uma excelente ferramenta para isso é a Guardium.

Mas e as aplicações que dependem de um database como MySQL? Solução simples, sem custos de licença (com algumas exceções) e que suporta muito bem inúmeras soluções web.

A comunidade ficou assustada quando foi anunciada a compra da empresa que o desenvolvia pela SUN. Logo as coisas começaram a melhorar na minha opinião, o fonte foi disponibilizado via repositório, antes não era. E recentemente alguns desenvolvedores ao ver que a estratégia da SUN é desenvolver uma solução mais robusta logo fizeram um fork do projeto e criaram o Drizzle.

Soluções para databases como o MySQL não são comuns. Uma grata surpresa pra mim foi o trabalho de Stefan Esser, ele desenvolveu um script em Lua que transforma o MySQL-Proxy em uma ferramenta de detecção de SQL Injection baseada em heurística.

O MySQL-Proxy é um proxy de banco de dados para ser usado com o MySQL. Funcionando como um proxy ela possibilita que seja feito não só um monitoramento mas tratamento e manipulação de requisições ao database.

A parte interessante deste proxy e que foi usado pelo Stefan Esser é a engine de scripts. A engine possibilita que você desenvolva scripts em Lua para interagir com as requisições que são feitas ao database.



O script desenvolvido por Esser está disponível aqui e na página do MySQL Forge também é possível encontrar outros scripts e colaborar.

18 de agosto de 2008

IP (Internet Protocol) Security Assessment

O CPNI (Centre for the Protection of National Infrastucture) do Reino Unido acaba de lançar um Guideline para análise de segurança no protocolo IP (Security Assessment of the internet Protocol). O guide além de detalhar o funcionamento do protocolo, demonstra características que tornam o protocolo inseguro.

Além deste guide outros paper/guides podem ser acessado aqui.

16 de agosto de 2008

Falha em DNS ilustrada

Passado o "vuco-vuco" e a apresentação do Dan Kaminsky sobre a falha crítica em implementações de DNS, foi lançado um guia ilustrado demonstrando características do DNS e explicando a falha.


Excelente material, esse guia se junta a outro material excelente sobre  IPsec.

23 de julho de 2008

Firebug - Um canivete suiço

Uma das ferramentas que eu mais utilizo quando estou desenvolvendo alguma coisa para WEB e analisando algum fonte buscando algum problema de segurança é o Firebug. O Firebug é um extensão que pode ser instalada em Firefox, Opera, Safari e Internet Explorer e acaba de ser anunciado que agora ele será mais um projeto da fundação Mozilla.

Esta ferramenta á fantástica e permite que você interaja com facilidade com objetos DOM, javascript e mais uma pancada de coisas relacionadas a layout e performance. Para quem gosta de desenvolvimento como eu, chega a viciar. Sempre que vejo alguma coisa interessante na WEB ou em determinada aplicação já mando logo um F12 (atalho para chamar o Firebug no Firefox).

Todo mundo sabe que depurar aplicações WEB não é a melhor coisa do mundo, javascript então eu fujo, mas o Firebug por si só facilita muito. Além disso ele possibilita que você utilize alguns plugins:


No youtube tem uma série de vídeos demonstrando o funcionamento, segue alguns:

Como usar o Firebug



Introdução a Debugging de aplicações que utilizam do recurso de AJAX


19 de julho de 2008

Wireshark University

Foi lançado recentemente uma certificação para quem utiliza o Wireshark. O Wireshark University é uma iniciativa da Laura Chappell (aquela mesma dos brincos USB).

No site da Wireshark University você pode saber mais sobre a iniciativa e comprar os DVDs que são base para a preparação.

Além deste conteúdo, é possível acessar gratuitamente uma série de paper e vídeos no próprio site.

18 de julho de 2008

Wordpress Security

Faz um bom tempo que eu utilizo o wordpress para manter este blog, sempre achei uma excelente ferramenta. Mas agora tenho ainda mais motivos para adota-lo nas minhas iniciativas.

Com a popularidade do wordpress, não demorou muito para as vulnerabilidades começarem a aparecer. Felizmente a comunidade e a empresa responsável pelo wordpress não tem decepcionado, a resposta a problemas de segurança que, são inevitáveis, é muito rápida e eficaz.

Eu acabei de migrar o blog para versão 2.6, nesta versão algumas mudanças relacionadas a segurança valem o comentário.

  1. XML-RPC desabilitado por default;
  2. Controles para garantir a integridade dos cookies;
  3. Salt nas senhas;
  4. Tratado as informações de erro relacionadas ao Banco de Dados.
Além destas mudanças, um dos maiores especialistas em segurança de ambiente web na minha opinião, Petko D. (PDP) Petkov do GNUCITIZEN junto com o BlogSecurity, lançaram o Blogsecurify. A iniciativa conta com o apoio de PDP no antigo projeto do BlogSecurity, o wp-scanner.

Para fazer um scan buscando por vulnerabilidades no seu wordpress usando o Blogsecurify baixe o plugin disponibilizado, habilite-o e no site do blogsecurify informe a URL do seu blog e mande analisar.

16 de julho de 2008

Conviso e a FortConsult

Este mês atingimos mais uma grande meta na Conviso. Quando eu e o Eduardo Neves decidimos juntar esforços e tornar a Conviso uma referência em segurança técnica, nosso objetivo era trabalhar junto ao mercado Europeu e ir ganhando força no mercado extremamente competitivo do Brasil.

Foi assim que o Eduardo partiu para Dinamarca para se aproximar na época de um parceiro. Este mês o parceiro passou a ser sócio da Conviso. No site da Conviso você pode conferir o press-release desta nova conquista.

Com esta conquista a Conviso ganha muito mais força e recursos para continuar trabalhando em pesquisa e desenvolvimento do mercado de Segurança Técnica.

11 de julho de 2008

SNMP Resources

O portal SNMPLink.org disponibiliza todo tipo de recurso sobre SNMP (Simple Network Management Protocol). Lá você encontra referência de artigos, tutoriais, livros e ferramentas. O local certo para encontrar informações sobre gerenciamento de rede usando SNMP.

Vídeos sobre Data Center

Acabo de incluir na página de vídeos do blog a referência ao arquivo de vídeos do Data Center Knowledge, destaco os seguintes:

Infra-Estrutura de suporte a DNS da VeriSign (53 min.)



Sistema de Supressão de Incêndio (5 min.)

8 de julho de 2008

A indústria do Antivírus e suas idéias brilhantes

A Grisoft desenvolvedora do popular antivírus AVG adotou uma prática que eles entenderam como genial, mas a coisa é bastante absurda e sem sentido na prática.



Enquanto você faz uma pesquisa em sites de buscas como Google, Yahoo ou Windows Live, uma função chamada LinkScanner sorrateiramente visita todos os links listados buscando por "links maliciosos". Tudo isso como se fosse você, inclusive com seu IP.

O Tecnoblog dá mais detalhes sobre esta tremenda orelhada da Grisoft.

7 de julho de 2008

PHP and Javascript Code Sniffer

Greg Sherwood e Marc McIntyre acabam de lançar um projeto que pode ser bastante interessante para segurança em desenvolvimento de aplicações que usem php e Javascript. Uma das práticas adotadas quando implementamos segurança no processo de desenvolvimento de software é criar uma cartilha de boas práticas de desenvolvimento, não é a solução para todos os problemas mas pode ajudar em escrever código melhor.

A ferramenta promete comparar o código escrito com uma política previamente estabelecida, ou seja, você determina que todo o código desenvolvido não pode usar a função eval() e quando você rodar o PHP_CodeSniffer ele irá apontar a utilização desta função.

É apenas uma Análise Léxica, mas é um controle simples e que pode trazer um bom retorno no ambiente de desenvolvimento que usem php e javascript.

4 de julho de 2008

Internet Explorer Security

No Blog dos desenvolvedores do Internet Explorer está disponível uma série de posts relacionados a características de segurança do Internet Explorer 8.

IE8 and Trustworthy Browsing


IE8 Security Part III: SmartScreen® Filter

IE8 Security Part IV: The XSS Filter

IE8 Security Part V: Comprehensive Protection

Algumas características que eu achei bastante interessantes são relacionadas ao Safer Mashups.

É cada vez mais comum o consumo de funções de outros sites na internet, para se ter uma idéia vejam o número de widgets, API disponíveis no site ProgrammableWeb.

A solução usa o recurso de isolamento do DOM para mitigar o risco da aplicação estar consumindo scripts potencialmente perigosos de outros sites. Além do isolamento ela faz uma sanitização das tags HTML e dados serializados usando JSON. Recomendo a leitura dos posts.

Publicações sobre criptografia, matemática e física

Lendo este post no Log4Dev fiquei sabendo de duas fontes bastante interessantes sobre criptografia, matemática e física.

Um é o Cryptology ePrint Archive. Aqui você pode encontrar estudos, pesquisas sobre criptografia que ainda não foram patenteadas ou aceitas em congressos de criptografia.

Já no arXiv.org da Cornell University você tem acesso a estudos sobre: matemática, Ciência da Computação, Física, Biologia e Estatística.

3 de julho de 2008

Business Impact Analysis não é método de alocação de capital

Após o estabelecimento da Resolução 3.380 do BACEN, muitas instituições financeiras de pequeno e médio porte tiveram que estabelecer uma estrutura de gestão de risco operacional. O que é um diferencial de negócio nas grandes instituições se tornou dor de cabeça nas pequenas e médias.

Vários projetos foram desenvolvidos para se alcançar a conformidade com a resolução. Muitos destes projetos foram de Continuidade de Negócios. Eu tive a oportunidade de trabalhar em alguns destes projetos e consequentemente estudar bastante sobre risco operacional.

O objetivo deste post é esclarecer um equívoco que esta sendo cometido relacionado a métodos de alocação de capital. Em um bom projeto de Continuidade de Negócios a BIA (Business Impact Analysis) é um dos estudos que saltam os olhos, acredito que, por este motivo muitos associaram o BIA (Business Impact Analysis) com o BIA (Basic Indicator Approach) que é um dos métodos de alocação de capital.

Segundo a Resolução 3.380 todas as instituições tem que estabelecer uma metodologia para alocação de capital, as mais utilizadas são:

  • BIA (Basic Indicator Approach)

    Consiste no método mais simplificado e tem a seguinte fórmula: Calcula-se a média do resultado bruto nos últimos 36 meses e aplica-se o fator de 15%.
  • STA (Standardized Approach)

    Este método é semelhante ao anterior mais separa os resultados em linhas de negócio da instituição financeira.

    1. Corporate Finance: 18%
    2. Retail Banking 12%
    3. Commercial Banking 15%
    4. Trading and Sales 18%
    5. Payment and Settlement 18%
    6. Agency Services 15%
    7. Asset Management 12%
    8. Retail Brokerage 12%

  • ASA (Alternative Standardized Approach)

    Esse método tem abordagem semelhante ao anterior mais com foco diferenciado nas linhas Commercial e de Retail.
  • AMA (Advanced Measurement Approach)

    Este método é o mais complexo e exige maturidade da instituição. Ele adota métodos qualitativos e quantitativos. A vantagem em adotar o AMA está na possibilidade de alocar menos capital para risco operacional.
Não sou nenhum especialista no mercado financeiro, a idéia é tentar esclarecer este equívoco entre os profissionais que nunca passaram por esta situação. Uma boa fonte para quem deseja se aprofundar é o próprio site do Banco Central.

2 de julho de 2008

Tutorial de segurança em PHP

O site phpfreaks publicou um tutorial de 14 páginas sobre segurança em php. O Tutorial não trás nenhuma técnica nova, mas gostei dele por estar orientado as falhas do Top Ten da OWASP. Ao invés de uma lista de dicas, eles estruturaram o conteúdo. O tutorial pode ser acessado no site ou você pode baixar um pdf.

1 de julho de 2008

SQL Injection For Dummies

A HP utilizando a tecnologia que adquiriu comprando a Spidynamics lançou uma ferramenta freeware chamada Scrawlr para procurar por Sql Injections.

A iniciativa foi em conjunto com a Microsoft, mais detalhes você pode conferir em um post no blog da Conviso.

Vale ressaltar que as ferramentas automatizam o processo, mas ainda tem dificuldades em ataques complexos.

30 de junho de 2008

Internet Banking e Gestão de Riscos

O MAS (Monetary Authority of Singapore) acaba de atualizar seu guideline de gestão de risco relacionado a Internet Banking.

O IBTRM (Internet Banking and Technology Risk Management) está disponível para download no site do MAS.

23 de junho de 2008

USB Monitor

As soluções de controle de dispositivos USB estão em alta. Eu cheguei até esta ferramenta freeware da Nirsoft.

Ela monitora dispositivos USB locais e remotos, gera relatórios HTML e possibilita que você bloqueie dispositivos.

Não é nenhuma solução completa de DLP (Data Leak Protection) mas, pode ser útil.

Cisco IOS Rootkit [Fix]

Recentemente o pesquisador Sebastian Muniz da Core Security falou na EuSecWest Conference sobre o desenvolvimento de Rootkits para o Cisco IOS.

A notícia foi dado com um certo alarde pelas comunidades de segurança. A Cisco divulgou um documento sobre como tratar esta possibilidade de infecção por um Rootkit.

O paper basicamente trata de boas práticas de hardening (Controle de Acesso, Logs, etc...) e obviamente fala da utilização de hash para validação de integridade do IOS. Vale a leitura.

12 de junho de 2008

Pen-test e metodologias

Qualquer atividade com certa complexidade e que envolva um conjunto de atividades que devem ser executadas de forma estruturada para que se alcance o objetivo desejado, necessita de um método claro e documentado.

Muitos profissionais citam alguns pontos negativos da utilização de uma metodologia:

  • Um método previamente descrito limita as ações/técnicas do analista;

  • Teste de intrusão é uma arte e não uma prática;


Eu vejo um certo desconhecimento do que é metodologia quando vejo citações como essa. Afinal, metodologia não é instrução de trabalho e sim uma descrição dos métodos para chegar aos resultados.

O que são métodos?

“A palavra método vem do grego méthodos, (caminho para chegar a um fim). O método científico é um conjunto de regras básicas para desenvolver uma experiência a fim de produzir novo conhecimento, bem como corrigir e integrar conhecimentos pré-existentes. Na maioria das disciplinas científicas consiste em juntar evidências observáveis, empíricas (ou seja, baseadas apenas na experiência) e mensuráveis e as analisar com o uso da lógica. Para muitos autores o método científico nada mais é do que a lógica aplicada à ciência (Haddad).
Metodologia literalmente refere-se ao estudo dos métodos e, especialmente, do método da ciência, que se supõe universal. Embora procedimentos variem de uma área da ciência para outra (as disciplinas científicas), diferenciadas por seus distintos objetos de estudo, consegue-se determinar certos elementos que diferenciam o método científico de outros métodos (filosófico, algoritmo – matemático, etc.).”
Fonte: Wikipedia

Para que serve a Instrução de Trabalho?
“a mesma tem como função básica definir todo o funcionamento de um processo, para que os envolvidos entendam o mesmo de um forma só, considerando que todas as suas etapas são fundamentais, e quando no caso de uma auditoria o mesmo tenha os seus processos definidos e documentados e sendo o mesmo deverá realizar através de inspeção e ou auditoria interna se o mesmo processo atende o documento elaborado ou vice e versa.”
Fonte: ISO 9001

Esclarecendo este ponto, fica claro que um pen-test necessita sim de uma metodologia clara. Os seguintes pontos podem estar descritos na metodologia:

  • Quais as etapas serão seguidas para atingir o resultado;

  • Qual o papel de cada analista no processo;

  • Como será manuseada e armazenada as informações do cliente;

  • Como será divulgada informações confidenciais que forem identificadas;


Ao contrário de que alguns pregam, metodologia não é diferencial é obrigação, exija sempre que contratar um serviço de consultoria.

VMware Security

A VMware em conjunto com a Tripwire desenvolverão uma ferramenta gratuita para verificar a as configurações buscando por falhas que podem comprometer a segurança do ambiente.

A ferramenta chama ConfigCheck.

Litle Bobby Tables

SQL Injection


Legenda:

Escola:
- Olá, aqui é da escola do seu filho. Nós estamos tendo um problema com o computador.
Mãe:
- Nossa, ele quebrou alguma coisa?
Escola:
- De certa forma... Você realmente deu ao seu filho o nome de Robert'); DROP TABLE Alunos;--?
Mãe:
- Ah, sim! Nós chamamos ele de pequeno Bobby Tables.
Escola:
- Bem, nós perdemos todos os registros dos alunos deste ano. Espero que esteja satisfeita.
Mãe:
- E eu espero que vocês tenham aprendido a sanitizar entradas no banco de dados.

Fonte: ISTF - Marcos Machado

9 de junho de 2008

Leopard Security Config

A Apple acaba de lançar um guide sobre configurações de segurança em seu sistema Operacional (Leopard). Bela iniciativa da Apple.

Não deixe de conferir mesmo que não seja usuário de Mac, pois o guide tem muitos detalhes e é bastante útil para profissionais de segurança.

Leopard Security Config

4 de junho de 2008

Segurança no desenvolvimento de software em ambiente .Net (Visual Studio)

A Microsoft disponibiliza uma série de recursos para aumentar a segurança no desenvolvimento de software, desde guides, bibliotecas, até características do próprio Visual Stúdio.

Este artigo do Weber Ress mostra algumas preocupações e dicas de bibliotecas e neste link você pode encontrar tudo sobre as características de segurança do Visual Studio.

30 de maio de 2008

Service-oriented Architecture for Dummies

Quer explicar o que é SOA para sua esposa/namorada ou aquele seu amigo estilista? Use este vídeo.

SecurityTube.Net

Um youtube somente de vídeos de segurança? É isso mesmo! SecurityTube.Net.

No portal esta disponível vários vídeos sobre hacking, Wireless, entre outros.

29 de maio de 2008

Técnica Salame, o retorno!

Todo mundo conhece a técnica salame, agora foi registrado um novo tipo de fraude que pode ser considerado uma evolução.

"Um criminoso americano utilizou computadores para roubar poucos centavos de cada vez de empresas como o Google e o PayPal, e conseguiu acumular mais de US$ 50 mil (cerca de R$ 82 mil) até ser pego pela polícia. De acordo com o site PC Pro, o hacker será julgado por fraude bancária e falsidade ideológica.

O hacker se aproveitou de um procedimento utilizado por serviços de comércio online como E-trade e Schwab, que fazem depósitos de poucos centavos ou mesmo alguns dólares durante a verificação da existência de uma conta bancária.

O Google Checkout e o PayPal também utilizam tática similar para verificar se cartões de crédito ou débito estão ligados a uma conta.

De acordo com a Justiça americana, o hacker criou um programa que abriu, automaticamente, 58 mil contas em serviços online. Depois, coletou os centavos depositados em uma conta bancária registrada em nome de uma identidade falsa. Só do Google Checkout, ele teria roubado mais de US$ 8 mil."

Fonte: G1

Os serviços de meio de pagamento citados utilizam uma técnica que consiste em creditar pequenas quantidades (centavos) na conta do usuário, possibilitando que seja validado os dados cadastrais referentes a conta bancária.

O que o caboclo fez? Criou um robô que criou várias contas neste sistemas, assim de grão em grão, ou melhor, de centavos em centavos ele levou uma boa grana. Mas como todos sabem, o crime não compensa...

27 de maio de 2008

RFID Vírus

A possibilidade de explorar falhas na arquitetura, implementação de RFID não é novidade, agora o que a Universidade de Vrije em Amsterdam estão divulgando são informações, estudos, sobre o desenvolvimento de vírus para RFID.

Um dos participantes dos estudos é o Andrew S. Tanembaum, aquele mesmo das discussões com Linus Torvalds e que conhece um pouco de Sistemas Operacionais.

No site é possível conhecer um pouco sobre RFID e ter acesso a informações de como escrever vírus para RFID.

[UPDATE] Meu amigo Lucas também escreveu sobre o tema, recomendo a leitura.

Air Force Cyber Command


Imagine a situação: "venha participar da tropa de elite do exército Brasileiro e combater os criminosos da internet".

Pois é exatamente isto que a Força Aérea Americana está fazendo. O Air Force Cyber Command é uma unidade especial que tem como objetivo combater, agir sobre crimes cibernéticos.

Até os famosos cartazes convocando os cidadão americanos eles possuem. No site você também pode acessar vários materiais e acompanhar a atuação deles.

Será que o Brasil possui um desse?

19 de maio de 2008

links for 2008-05-19

Aplicando componentes de uma TV de Plasma para quebrar senhas

Quando eu vi esta notícia no The Register fiquei imaginando qual seria a novidade. Afinal, já se usa placas de vídeo, Playstation para quebrar senhas. Mas, isto era mais fácil de ser previsto, afinal ambos possuem processadores com boa capacidade de resposta.

Após a leitura cheguei a conclusão que a notícia era um pouco exagerada, o que a TV de Plasma possui é um componente chamado FPGA (Field Programmable Gate Array). Como eu sou técnico em eletrônica (não praticante, como diria um católico que não vai a missa) e já li um livro que trata deste assunto (Criptografia em Software e Hardware), logo entendi do que se tratava.

Como este componente possui uma capacidade muito forte de processamento/cálculos pesquisadores usaram para quebrar algoritmos de criptografia. Parece algo surreal, mas não é nada novo, como pode ser visto nesta apresentação no CCC de 2004.

O livro Criptografia em Software e Hardware de 2005 é bastante técnico e trás mais detalhes sobre esta técnica/recurso.

Google e desenvolvimento WEB

Quem acompanha o mundo de desenvolvimento WEB na semana passada acompanhou o lançamento de mais um serviço/biblioteca disponibilizado pelo google.

A biblioteca chamada DocType e com o slogam Document the Open Web consiste em uma série de artigos e dicas sobre desenvolvimento WEB, incluindo dicas de segurança que podem ser acessadas aqui.

Criptografia para crianças

O Governo Americano investe bastante em conscientização e treinamento de assuntos relacionados a segurança. Uma iniciativa interessante que eles possuem é o desenvolvimento de games e materiais didáticos para crianças em idade escolar.

Eu já mostrei aqui um game desenvolvido pela FEMA (Federal Emergency Management Agency). Eu encontrei agora um game que tem como objetivo ensinar criptografia para crianças. Isso mesmo criptografia e desenvolvido pela NSA (National Security Agency).

A iniciativa consiste em jogos animados (desenvolvido em flash), animações explicando o funcionamento de algoritmos e outros recursos para estudo. Recomendo não só para crianças, mas para estudantes, adultos, melhor idade e a qualquer um que deseje saber um pouco mais sobre criptografia.

16 de maio de 2008

PDCA e ISO 27001

Alguém sabe me dizer por que o PDCA da ISO 27001 está em sentido anti-horário?



E não sentido horário como é o tradicional.



Os Gurus da Qualidade

Todos adoram citar Deming, falando do Ciclo PDCA. Mas não podemos esquecer que existem muitos outros que contribuiram para a gestão da qualidade.

Dêem uma olhada nesta lista!

WebGoat 5.1 em Português

O Fabricio Braz além de manter um blog muito bom sobre desenvolvimento seguro, vem fazendo um excelente trabalho na comunidade OWASP.

Ele acaba de anunciar a tradução do WebGoat 5.1 para o Português. Esta ferramenta do projeto OWASP tem o objetivo de ser um laboratório onde você aprende na prática as principais vulnerabilidades WEB.

Go aHead OWASP!

15 de maio de 2008

Hacker Safe?

Eu acho extremamente apelativas e sem nexo iniciativas como a Hacker Safe da McAfee.

Uma pena que muitos C-Levels achem interessante deixar sua marca/negócio exposto desta maneira. Colocar um selo dizendo que seu site é seguro porque está sendo monitorado por um grande player é um tremendo chamariz.

Dêem uma olhada neste vídeo.

14 de maio de 2008

W3C e licenciamento de conteúdo

A Creative Commons está tentando junto ao W3C desenvolver um padrão para identificar a licença de uso de conteúdos publicados na internet. Hoje isso é feito pelo autor usando de links e/ou ícones com o tipo de licença escolhido, a idéia é que isto seja automatizado.

A grande sacada na minha opinião está na utilização de Microformats para tornar isso viável. Não sabe o que é Microformats? Aguarde e verás, este padrão será bem mais que o simples hCard utilizado pelo Linkedin e outros recursos de compartilhamento de contatos.

Saiba mais sobre esta iniciativa da Creative Commons e W3C nestes links:

Para saber mais sobre Microformats eu recomendo o tutorial do Henrique C. Pereira do Revolução Etc.

12 de maio de 2008

Google e MSS (Managed Security Services)?

Em Julho de 2007 a Google comprou a Postini. Se durante algum tempo os serviços estavam focados apenas em produtos do google, parece que eles estão ofertando serviços gerenciados de segurança baseado na sua estratégia de Clouding Computing. Eles lançaram os serviços da Postini ao consumidor final.

Os serviços vão de antivírus a gerenciamento de conteúdo e tem o valor de $ 36,00 ao ano.

Password Manager Online

Em algumas situações é interessante manter um repositório de senhas, eu já escrevi sobre isso algum tempo atrás.

Com o crescimento das aplicações Web 2.0 estas soluções começaram a migrar para WEB, vejam uma lista destas ferramentas neste link: List of Free Online Password Managers.

Ou se você é saudosista e jamais irá deixar de anotar de maneira tradicional, que tal comprar um destes: Top Secret Password Notepad?

11 de maio de 2008

Um Período na Dinamarca

Como alguns devem saber, o primeiro contrato da Conviso foi fechado com uma empresa Dinamarqueza, a Fort Consult.

Durante o período que o Eduardo vai passar por lá ele decidiu falar um pouco da sua experiência com os vikings. Quem quiser acompanhar é só ficar de olho no blog: Um Período na Dinamarca e no blog da Conviso.

10 de maio de 2008

Deadline de implementação do PCI

Eu já havia comentado aqui no blog um dos requisitos do PCI-DSS. Este requisito trata de vulnerabilidades em aplicações web, basicamente implementando controles para o Top Ten você está em conformidade com o requisito 6.5.

Agora lendo um post do Fabricio Braz eu fiquei sabendo de um deadline para adequação a este controle. Até 30 de Junho este requisito era considerado melhor prática, a partir desta data vai ser uma exigência.

7 de maio de 2008

Mapeamento de Objeto Relacional e Segurança de Aplicações WEB

Ultimamente tenho mexido bastante com frameworks que utilizam de ORM (Object-Relational Mapping) como, Rails (framework para linguagem Ruby) e Cake-php (port do Rails para php).

Eu tinha um certo ceticismo sobre estes frameworks que fazem muita coisa por baixo dos panos, mas ao mexer um pouco mais e entender melhor, cheguei a conclusão que eles não limitam/amarram em nada o desenvolvimento das aplicações e que a maior abstração é referente a manipulação dos dados do banco de dados.

E analisando um pouco mais, cheguei a conclusão que ORM pode colaborar e muito com a segurança das aplicações WEB. Um problema sério no desenvolvimento WEB são os famosos Injection Flaws (Cross Site Scripting, SQL Injection) e isso é devido o despreparo de muitos desenvolvedores que acabam manipulando dados nas aplicações como um chipanzé autista. Quem nunca viu aquelas concatenações horríveis de strings SQL?

Quando estes desenvolvedores despreparados usam ORM eles estão trazendo menos riscos a suas aplicações, pois o ORM faz tudo para eles.

Mas o que é ORM?

ORM é uma biblioteca que transforma dados de bancos relacionais em classes de manipulação de dados de maneira transparente ao usuário. Além de preservar as características de orientação a objetos, o desenvolvedor não precisa fazer nenhuma Query, String de conexão, tudo é feito pelo framework de ORM.

Existem frameworks de ORM para diversas linguagems como, Java (Hibernate, Cayenne), .Net (NHibernate), além dos já citados.

Um problema dos ORM é o volume de dados gerados, em alguns casos a performance é bastante prejudicada. Mas a coisa vem mudando, o Rails por exemplo implementou uma mudança que elimina muito o volume de dados em cada consulta ao banco.

ORM é um tema bem interessante, quem quiser saber mais consulte: Mapping Objects to Relational Databases: O/R Mapping In Detail

6 de maio de 2008

Chamada de Trabalhos

A diretoria de Educação e Conteúdo do capítulo Brasil da ISSA convida seus membros locais, sejam profissionais, estudantes ou pesquisadores, a contribuir com a comunidade de segurança da informação brasileira submetendo artigos, tutoriais ou estudos de caso para publicação em nosso portal e apresentação em eventos.

Os conteúdos enviados serão elegíveis para apresentação nos ISSA Days, publicação no ISSA Journal Internacional, na revista Antebellum da ISSA Brasil e na revista Security Review. Os direitos autorais dos autores serão mantidos e a publicação em qualquer dos meios disponibilizados pela ISSA será feita mediante a aprovação formal do autor.

Os interessados deverão enviar o material seguindo os padrões descritos a seguir para o e-mail conteudo@issabrasil.orgThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it .

Categorias editoriais

Tutoriais

Apresentam didaticamente e ilustrativamente conceitos, técnicas sobre assuntos relacionados a segurança da informação. Deve ser classificado como iniciante, intermediário e avançado e possuir de 20 a 25 páginas.

Artigos

Apresentam pontos de vista, experiências ou reflexão sobre assuntos relacionados a segurança da informação. Deve possuir de 3 a 6 páginas.

Estudos de caso

Apresentam cases práticos de soluções desenvolvidas e implementadas e que seja relacionado a segurança da informação. Deve ser autorizado por terceiros envolvidos e possuir de 6 a 8 páginas.

Formato das Contribuições

* Todos os trabalhos deverão ser submetidos em arquivos no formato Microsoft Word ou compatível;
* A configuração da página deve ser retrato, utilizando Fonte Times New Roman corpo 12, com espaçamento simples entre as linhas;
* Os textos devem ser em idioma português ou inglês.

Sugerimos os seguintes assuntos relacionados a segurança da informação, embora não seja limitado aos assuntos propostos.

* Algoritmos e técnicas criptográficas;
* Ameaças internas;
* Análise Forense;
* Arquitetura de Segurança;
* Aspectos legais da segurança;
* Ataques e "Hacking";
* Auditoria e análise em sistemas;
* Avaliação da segurança, Análise de Vulnerabilidade ou Penetration Test;
* Biometria e sistemas biométricos;
* Certificação de sistemas e de software;
* Códigos maliciosos;
* Comércio eletrônico;
* Criminalística computacional;
* Ferramentas de Segurança;
* Gestão de Segurança;
* Dispositivos móveis, sistemas embarcados e redes sem fio;
* Hardware criptográfico, RFID, cartões inteligentes;
* Infra-estrutura de chaves públicas;
* Integridade e confidencialidade da informação;
* Medidas e sistemas de contingência e recuperação de desastres;
* Modelos e técnicas de controle de acesso;
* Padronização e normatização;
* Políticas de segurança;
* Protocolos de segurança;
* Resposta a Incidentes;
* Segurança em middleware (Java, RMI, J2EE, CORBA, .Net, etc...);
* Segurança em redes;
* Segurança em serviços WEB (ws-security, soap, xml,xacml, etc...);
* Segurança em sistemas distribuídos;
* Segurança em sistemas operacionais;
* Técnicas para desenvolvimento de sistemas seguros;
* Tecnologias de firewall;
* Tecnologias de identificação de ataques (IDS, IPS);
* Tolerância a intrusões;
* Tolerância a falhas;
* Votação eletrônica.

Os documentos devem respeitar a seqüência dos tópicos a seguir:

* Título;
* Nome Completo;
* Resumo em português;
* Abstract; (resumo em inglês)
* Índice;
* Referências Bibliográficas.

--
Att.
Wagner Elias
Diretor de Conteúdo e Educação da ISSA-BR