Desenvolvimento - Office
Excel: Falha na segurança de consultas
Neste artigo, falarei a respeito de um problema de segurança já conhecido no Excel (Office) o qual foi carregado para a versão 2007.
por Robert MartimHá bastante coisa nova no Excel 2007, mas por outro lado ainda há bastante coisa velha. Neste artigo, falarei a respeito de um problema de segurança já conhecido no Excel (Office) o qual foi carregado para a versão 2007.
Imagine o cenário onde o leitor precisa fazer uma consulta à dados externos (no exemplo usarei um banco de dados Access, mas a questão também se aplica ao SQL Server).
O leitor iniciaria a consulta conforme mostra a figura:
Figura 1 – Iniciando o processo
de consulta.
Ao selecionarmos a fonte de dados que contém nome de usuário e senha, somos solicitados pela senha (aqui, assume-se que o usuário é o padrão “admin” para o Access):
Figura
2 –
Inserindo senha de acesso à fonte de dados
Até este ponto não há nada de errado, afinal existe uma máscara na senha. Não obstante, quando acessamos as propriedades da conexão nos deparamos com a string de conexão completa, incluindo a senha não criptografada. Observe a figura:
Figura 3 – String de conexão exposta na definição das propriedades da consulta
Assumindo que o processo foi iniciado pelo administrador da rede ou do banco de dados, não há problemas, afinal ele certamente tem privilégios para ter conhecimento da senha e a exposição neste momento é irrelevante.
O problema começa quando clicamos em “Save password”. Na nova versão do Excel, um aviso é dado sobre o fato da senha não ser criptografada.
Figura 4 – Novo aviso sobre fragilidade no nível de segurança
Em versões anteriores, utilizávamos o Notepad para extrair a senha em uma conexão como esta. Contudo, o formato e estrutura dos arquivos mudaram na versão 2007. Agora, possuimos vários arquivo XML compactados em um arquivo único.
Utilizando a versão trial do WinZip ou WinRAR, por exemplo, podemos abrir os arquivos compactados em um instante. Dentro deste grupo compactado, há uma pasta intitulada “xl”. Abra esta pasta e procure pelo arquivo connections.xlm. Um duplo-clique neste arquivo ativará o seu browser o qual irá expor a estrutura do arquivo xml de conexão conforme mostra a figura:
Figura 5 – Nome de usuário e senha expostos em documento xml de conexão
Como podemos ver, tanto o nome de usuário quando a senha estão completamente expostos para o mundo!
Esta exposição não criptografada já é velha conhecida da Microsoft e de muitos usuários avançados (e nem tão avançados assim) de Excel e do Office. Infelizmente, o mesmo problema continua sendo perpetuado e a versão 2007 não é exceção.
Conclusão
Embora para o usuário comum as implicações possam ser mínimas, image o que ocorreria em uma consulta em banco de dados SQL remoto? Devemos lembrar que o usuário comum dificilmente estará interessado em tais consultas.
Portanto, se leitor é usuário de Excel e depende de consultas em bancos de dados este problema de segurança precisa ser levado seriamente em conta para evitar problemas irreversíveis na base de dados. O ideal é conversar com o administrador do BD para determinar a melhor estratégia de acesso às informações.
Curso completo de Excel (entrega
via download)
Fazendo o possível e o impossível
com gráficos no Excel (entrega via download)
Tudo sobre o Solver no Excel
Programação Orientada a Objetos:
uma introdução à classes no Excel
Criando Menus, Barras de Comando e
Botões Personalizados no Access usando VBA (Via Download)
http://shop.linhadecodigo.com.br/treinamento.asp?id=357
http://shop.linhadecodigo.com.br/treinamento.asp?id=359
- Data Bars para MS-AccessAccess
- Funcionalidades do Office usando Visual Studio for Office – Parte 3C#
- Funcionalidades do Office usando Visual Studio for Office - Parte 2C#
- Estenda as funcionalidades do Office com o Visual Studio for OfficeC#
- Como evitar processos pendurados na automação do ExcelOffice