
Toolkit para testar o estabelecimento de sessões Bluetooth contra ataques de sigilo progressivo e futuro, usando patch de firmware, análise de PCAP e verificações automatizadas de vulnerabilidades em dispositivos.
Este repositório contém código relacionado a BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses.
Bluetooth é uma tecnologia omnipresente para comunicação sem fio. Bilhões de dispositivos a utilizam em aplicações sensíveis e para trocar dados privados. A segurança do Bluetooth depende do padrão Bluetooth e de seus dois mecanismos de segurança: emparelhamento e estabelecimento de sessão. Nenhum trabalho anterior, incluindo o próprio padrão, analisou as garantias de sigilo futuro e encaminhado desses mecanismos, por exemplo, se o emparelhamento Bluetooth e o estabelecimento de sessão defendem sessões passadas e futuras quando o adversário compromete a atual. Para preencher essa lacuna, apresentamos seis novos ataques, definidos como ataques BLUFFS, que quebram o sigilo futuro e encaminhado das sessões Bluetooth. Nossos ataques permitem a suplantação de dispositivo e o intermediário entre sessões ao comprometer apenas uma chave de sessão. Os ataques exploram duas novas vulnerabilidades que descobrimos no padrão Bluetooth relacionadas à derivação unilateral e repetível de chave de sessão. Como os ataques afetam o Bluetooth em nível arquitetural, eles são eficazes independentemente dos detalhes de hardware e software da vítima (por exemplo, chip, pilha, versão e modo de segurança).
Também disponibilizamos o BLUFFS, um kit de ferramentas de baixo custo para executar e verificar automaticamente a eficácia de nossos ataques. O kit utiliza sete patches originais para manipular e monitorar a derivação de chave de sessão Bluetooth, aplicando patches dinamicamente a um firmware Bluetooth de código fechado que fizemos engenharia reversa. Mostramos que nossos ataques têm um impacto crítico e em grande escala no ecossistema Bluetooth, avaliando-os em dezessete chips Bluetooth diversos (dezoito dispositivos) de fornecedores populares de hardware e software e com suporte às versões mais populares do Bluetooth. Motivados por nossos achados empíricos, desenvolvemos e testamos com sucesso uma função de derivação de chave aprimorada para Bluetooth que impede, por design, nossos seis ataques e suas quatro causas-raiz. Mostramos como integrar efetivamente nossa correção ao padrão Bluetooth e discutimos mitigações alternativas em nível de implementação. Divulgamos de forma responsável nossas contribuições ao Bluetooth SIG.
@inproceedings{antonioli23bluffs,
title={{BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses}},
author={Antonioli, Daniele},
booktitle={ACM conference on Computer and Communications Security (CCS)},
month={November},
year={2023}
}
CVE 2023-24023, slides do ACM CCS'23.
Navegue até o diretório pcap. Use o seguinte comando para analisar amostras pcap:
wireshark file.pcap
A pasta checker contém o parser. Para usar o parser, execute:
python checker/parser.py [arguments]
Para testar se um dispositivo vítima é vulnerável aos ataques BLUFFS, leia a Seção 6.1 do artigo e aplique o patch no dispositivo de ataque usando:
python device/bluffs.py
Os patches individuais também são fornecidos em arquivos *.s dedicados.
Contém o asm.py corrigido, adicionando a flag --no-warn-rwx-segment aos ldflags para evitar um erro do ld com versões recentes do arm binutils. No Linux, o arquivo deve ser copiado para: /usr/lib/python2.7/site-packages/pwnlib.