domingo, 10 de janeiro de 2010

Forense em SQL Server

Com o amadurecimento da Forense Computacional como ciência e disciplina, era de se esperar que cada vez mais surgissem especializações em alguns assuntos específicos.

Um dos assuntos que recebem grande importância atualmente é a Forense de Banco de Dados. Qualquer sistema de informação atual usa um banco de dados para armazenar e tratar suas informações, e está em todos os esquemas atuais de arquitetura de SI. Como parte fundamental dessa arquitetura, nada mais natural que estudos apareçam para desvendar os vestígios das ações realizadas em um banco de dados. Não é incomum, por exemplo, que tenhamos esse componente em investigações de invasão e roubo de informações, pois em última instância, é lá que as informações ficam. Poucos são os que já militam nessa área, mas já despontam algumas pesquisas interessantes.

No final de novembro de 2009, li um artigo excelente sobre artefatos e vestígios em bancos de dados SQL Server. Na verdade, inicialmente eu li uma apresentação em PPT feita na Black Hat, e depois acabei descobrindo que o autor, Kevvie Fowler, adaptou a apresentação de um paper que ele mesmo produziu como resultado do trabalho da certificação GCFA Gold, da SANS.

O artigo detalha muito bem como é possível, apenas de posse do Transaction Log do Banco e sem nenhum outro log ativado, descrever as operações CRUD que foram realizadas nas bases de dados. Na verdade, existem vários produtos no mercado que permitem logar todas as operações em um banco de dados. Porém, o mais comum é chegarmos em um caso e não termos essa facilidade. No entanto, o Transaction Log estará sempre lá, pois faz parte da arquitetura do banco e por isso nem precisa de algum tipo de iniciativa por parte de nenhuma equipe. Logicamente, nem tudo estará lá. As operações de Select, por exemplo, não fazem parte do Transaction Log.

Como não estamos na País das Maravilhas, tinha de existir um "entretanto". Neste caso, o entretanto é que o Transaction Log não é publicamente mapeado. Há alguns softwares que fazem recuperação de dados através do transaction, e o que dizem é que essas empresas licenciaram as informações diretamente da Microsoft.

O artigo não aborda todas as opções possíveis de serem encontradas em um Transaction, mas dá um bom pontapé para um estudo no sentido de automatizar as operações de levantamento dos vestígios. Com isso em mente, iniciei uma linha de pesquisa para criar um script que pudesse automatizar os passos indicados no artigo do Kevvie. Troquei alguns emails com ele, e por fim o script está no que posso chamar de versão alfa. Ainda há algumas coisas a implementar e vários testes, já que são tantas possibilidades que não há como tratar tudo de uma vez só. É aí que entra a comunidade de Computação Forense, pois há poucos dias eu postei algo sobre esse assunto em uma lista de discussões internacional e vários profissionais se colocaram a disposição para ajudar. Em breve vou iniciar a discussão dos detalhes do grupo e ver como faremos para desenvolver novas funcionalidades e testar o script. Provavelmente, o script ficará instalado no SourceForge, mas ainda discutiremos isso com o grupo de trabalho.

Você gostaria de participar ? O perfil é de alguém que conheça SQL Server, para participar dos testes. Se conhecer Perl e SQL Server, poderá participar programando também. O resultado do trabalho será sempre distribuído como open source.

Entre em contato, aqui pelo blog ou pelo meu email, indicando que deseja trabalhar no projeto de Forense em SQL Server. Quanto mais interessados, melhor.

Até o próximo post !

6 comentários:

Giancarlo disse...

Grande iniciativa Tony!
Eu me habilito para testes.

[]s

demar disse...

Eu também me habilito.

Giancarlo disse...

Opa. Qual é o teu email Tony? Nao tenho um perfil aqui do Blogger então não sei se vai conseguir entrar em contato.. t+

Tony Rodrigues disse...

dartagnham no gmail

Quem não tiver o email no perfil do blogger, pode me mandar direto.

[]s

Tony

Comedia Alive disse...

Olá Tony, me interesso muito pela area de segurança de dados e info, pretendo fazer meu tcc relacionado a pericia forense digital e me interessei muito por esse assunto, quanto a forense em banco de dados sql, gostaria que se possivel voce compartilhasse esse tal artigo comigo, o quanto antes, pois tenho poucas semanas para definir o rumo do meu projeto de graduaçao.

Meu email é ricardorgimenes@hotmail.com

Desde já, muito grato pela colaboração enorme que seu blog traz com informaçoes aos interessados pela area.

Abraços!

Tony Rodrigues disse...

Ricardo, basta procurar nos archieves da Black Hat por Forensics SQL Server, vc vai achar fácil. Eu deveria ter posto o link do artigo no blog, infelizmente não fiz e agora n o tenho mais. Mas é tranquilo achar !