Device Fingerprinter
Por: Messias Andrade • 30/6/2017 • Projeto de pesquisa • 2.796 Palavras (12 Páginas) • 253 Visualizações
PROJETO DE MESTRADO/DOUTORADO
Implementando técnicas de fingerprinting como componente para método de autenticação multifator
Messias Augusto Lima Belchior de Andrade
Orientador: Prof. Dr. Eduardo Luzeiro Feitosa
- Apresentação/Justificativa
É notório o aumento contínuo dos serviços disponibilizados na Internet, resultando em uma maior interação entre as pessoas, fazendo crescer a quatidade de informações pessoais compartilhadas na rede.
Contudo, se por um lado estes serviços disponibilizados trazem conforto aos usuários, do outro torna-os alvo para o roubo de dados. Nesse contexto, a Segurança da Informação tem se aprimorado e desenvolvido técnicas para proteger as comunicações em meio eletrônico contra a ação de usuários mal-intencionados.
O crescimento dos ataques de phishing e de outras atividades fraudulentas realizadas no ambiente cibernético não é novidade para ninguém. No entanto, proteger informações sensíveis de forma rentável e sem comprometer a usabilidade e conveniência do cliente continuam sendo dois grandes desafios para as empresas.
Além da utilização de nome de usuário e senha, uma segunda autenticação com o envio de um código ou senha para o e-mail ou dispositivo móvel do cliente tem sido um método de autenticação multifator cada vez mais utilizado no mercado. No entanto, smartphones, notebooks e tablets nem sempre são seguros e um crescente volume de malwares tem permitido que códigos de verificação fossem rastreados e utilizados por hackers, em diversas partes do mundo.
No projeto será utilizado protocolo de segurança, utilizando técnicas de fingerprinting para assegurar que o transporte dos dados seja realizado de forma segura. Segundo RYAN [1], 2000), um protocolo de segurança, em tradução livre, “compreende uma sequência pré-definida de interações entre entidades envolvidas para alcançar um fim específico”. Normalmente, as entidades envolvidas possuem interesses conflitantes, tornando o protejo de protocolos uma atividade trabalhosa e complexa.
Importante ressaltar que protocolos fazem uso de dados providos de outros protocolos. De acordo com TANENBAUM [2], diferentes protocolos cuidam das tarefas de transmissão em meio físico, conexão host-a-host, roteamento de pacotes, apresentação da informação e criptografia de dados.
Será proposto no decorrer deste projeto o uso de uma técnica de fingerprinting na construção de um protocolo de segurança que permita identificar, através de um conjunto de atributos do sistema extraídos do dispositivo do usuário, os valores que associem o dispositivo ao usuário que está por trás dele, fazendo a validação do protocolo principal, proporcionando maior segurança ao usuário.
É relevante considerar que os métodos de autenticação de usuários mais comuns são baseados em senhas, que são sequências de caracteres alfanuméricos digitados via teclado, largamente utilizado em várias aplicações. Infelizmente, este método não é eficaz, uma vez que fica a critério dos usuários a definição de suas senha, que muitas vezes são óbvias e enfraquecem a segurança dos sistemas de informação.
Logo, a utilização de técnicas de fingerprinting neste projeto visam aumentar a confiabilidade das informações trocadas, garantindo ao usuário maior segurança nas transações eletrônicas.
- Objetivos
Implementar algoritmos de fingerprinting para rastrear e idenfificar dispositivos, associando ao usuário que faz uso do sistema de informação.
- Objetivos Específicos
- Analisar as técnicas de fingerprinting para Web, para determinar a que melhor se aplica ao projeto;
- Definir o escopo das principais informações a serem coletadas nos dispositivos, visando associar aos seus respectivos usuários;
- Implementar um protótipo funcional utilizando os algoritmos de fingerprinting;
- Estudar e apresentar técnicas existentes para verificação formal de protocolos de segurança;
- Estender a versão inicial do protocolo, adaptando-a para conter dois fatores de autenticação (protocolo principal e device fingerprinting);
- Elaborar especificações para toda o projeto;
- Confirmar a viabilidade prática do projeto através da implementação de um protótipo;
- Escolher uma ferramenta para verificação dos protocolos;
- Testar cenários de ataque sobre as especificações formais criadas;
- Avaliar o comportamento dos protocolos aos testes efetuados;
- Referencial Teórico
- Website Fingerprinting
Website Fingerprinting é o processo em que as informações do dispositivo e do navegador são coletadas, a princípio, para autenticação e identificação do usuário [3][4][5], para evitar fraudes de transações [6], para rastrear usuários [7], para evitar roubo de sessão [8], dentre outras aplicações.
Também é possível fazer fingerprinting apenas do navegador, obtendo informações estritamente relacionadas ao mesmo (versão, família, etc) [9] e assim ajustar os conteudos da página que serão exibidos, a fim de proporcionar uma boa experiência de navegação.
De acordo com a RFC 6973 [10], fingerprinting é o processo no qual o observador ou atacante, com uma alta probabilidade, identifica unicamente um dispositivo ou aplicação, baseado na comunicação que ocorre entre os elementos que estão sendo observados. Alguns autores na literatura consideram Website Fingerprinting como o método usado para descobrir o navegador, sua família e versão [9]. Já outros consideram o termo como técnicas e tecnologias utilizadas para identificar um usuário [4][5].
...