Integrantes do grupo
| Nome | Matrícula |
|---|---|
| Gabriel Pessoa Zaranza | 190107243 |
| Lucas Medeiros Rosa | 170039803 |
| Nicolas Roberto de Queiroz | 200042360 |
Flipper Zero
O Flipper Zero é um dispositivo portátil e multifuncional desenvolvido para profissionais de segurança e entusiastas da eletrônica, ideal para testes e exploração de sistemas de comunicação e segurança. Com suporte a tecnologias como RFID, NFC, infravermelho, Sub-GHz, Bluetooth e GPIO, ele permite interagir e manipular diversos tipos de dispositivos, desde cartões de acesso a sistemas de controle remoto. Focado no segmento de segurança cibernética e pesquisa de vulnerabilidades, o Flipper Zero é uma ferramenta essencial para aprendizado, experimentação prática e análise de falhas em dispositivos e redes.
Listagem de características
-
Unidade de Processamento:
- Tipo de Unidade: Microcontrolador (MCU)
- Modelo: STM32WB55RG
- Fabricante: STMicroelectronics
- Arquitetura:
- Application Processor (Processador de Aplicação): ARM Cortex-M4, arquitetura de 32 bits.
- Radio Processor (Processador de Rádio): ARM Cortex-M0+, arquitetura de 32 bits.
- Frequência de Clock:
- Application Processor (ARM Cortex-M4): 64 MHz.
- Esse processador principal é responsável por executar as tarefas de aplicação, proporcionando bom desempenho para tarefas de controle e processamento de dados.
- Radio Processor (ARM Cortex-M0+): 32 MHz.
- Esse processador secundário é projetado para realizar operações de rádio e comunicação, mantendo baixo consumo de energia para tarefas de comunicação sem fio.
- Application Processor (ARM Cortex-M4): 64 MHz.
- Capacidades de Comunicação Sem Fio (Rádio):
- Bluetooth Low Energy (BLE): Compatível com Bluetooth LE 5.4, adequado para comunicações de baixa energia e alto desempenho.
- 802.15.4: Suporta redes de baixa energia, como Zigbee, muito usadas em redes de sensores e dispositivos IoT.
- Modos Proprietários: Capaz de suportar protocolos de rádio personalizados, permitindo flexibilidade para aplicações específicas.
- Referência: Microcontroller unit reference
-
Memória:
- Flash: 1024 KB (1 MB), que é memória não-volátil usada para armazenar o firmware e dados essenciais do sistema. Esta memória é compartilhada entre o processador de aplicação e o processador de rádio.
- SRAM: 256 KB, memória volátil que armazena dados temporários durante a execução das operações. Essa memória também é compartilhada entre os dois processadores, garantindo desempenho adequado para as tarefas.
- EEPROM: não possui;
- Referência: Microcontroller unit reference
-
Sistema Operacional:
- FreeRTOS: É um sistema operacional em tempo real que gerencia tarefas essenciais, especialmente aquelas que exigem precisão e respostas rápidas, como captura e replicação de sinais de comunicação. Ele permite que o dispositivo execute várias tarefas simultaneamente com eficiência energética, priorizando processos críticos e otimizando o uso de recursos. O FreeRTOS também é modular, facilitando a integração de novas funcionalidades e garantindo o controle direto dos componentes de hardware do Flipper Zero.
- Referência: Flipper_Zero Wikipedia
-
Sensores e Atuadores:
- Sensores:
- Receptor Infravermelho: Permite ao Flipper Zero receber sinais infravermelhos de controles remotos e outros dispositivos IR.
- Leitor RFID: Sensor capar de ler e armazenar informações RFID como tags, cartões e pulseiras.
- Leitor NFC: Esse sensor dá ao Flipper Zero a capacidade de ler os dados em dispositivos NFC, como cartões de crédito.
- Transceiver: ST25R3916
- Frequência: 13,56 MHz
- Receptor Sub-1 GHz: Receptor de ondar de rádio em frequência entre 300-928 MHz.
- Transceiver: CC1101
- iButton 1-Wire: Interface capaz de ler e escrever dados em dispositivos iButton
- Atuadores:
- Transmissor Infravermelho: Envia sinais infravermelhos para controlar dispositivos como TVs e aparelhos de ar-condicionado.
- Emulador RFID: Emula cartões RFID na frequência de 125 kHz.
- Emulador NFC: Emula tags e dispositivos NFC.
- Transmissor Sub-1 GHz: Transmite sinais em frequências sub-1 GHz para emulação ou controle de dispositivos sem fio.
- Tela LCD: Display monocromático de 1,4 polegadas para exibição de informações e interações com o usuário.
- Buzzer: Fornece feedback sonoro para alertas e notificações.
- Motor de vibração: Fornece feedback tátil para o usuário.
- Conexão com a MCU/MPU:
- Saídas GPIO: Controla dispositivos externos conectados através dos pinos de Entrada/Saída de Propósito Geral.
- Bluetooth LE 5.4: Possibilita a conexão com outros dispositivos IoT.
- Referência: Flipper Zero tech specs
- Sensores:
-
Interfaces de Comunicação com fio:
- O Flipper Zero pode ser utilizado como um conversor de USB para UART/SPI/I2C.
- SPI:
- Utilizada pelo MicroSD e pelo display LCD.
- Acessível nos pinos 2 (SPI1.MOSI), 3 (SPI1.MISO), 4 (SPI1.CS), 5 (SPI1.SCK), 6 (SPI1.CS).
- UART:
- Possui dois pinos da GPIO exclusivos para essa interface, pino 13 (Transmit) e pino 14 (Receive).
- I2C:
- Utilizada pelo módulo NFC;
- Acessível nos pinos 2 (I2C3.SCL), 6(I2C3.SMBA), 15 (I2C3.SDA), 16 (I2C3.SCL)
- Referência: Flipper Zero tech specs
-
Interfaces de Comunicação sem fio:
-
Bluetooth LE 5.4:
- Modelo Low Energy (LE) para maior eficiência energética;
- Utilizada para a interação com computadores, celulares e dispositivos IoT;
- Potência de transmissão: +4 dBm;
- Sensibilidade de recepção: -96 dBm;
- Taxa de transmissão: 2 Mbps.
-
NFC:
- Transceiver: STMicroelectronics modelo ST25R3916;
- Frequência: 13,56 MHz;
- Cartões suportados:
- ISO-14443A/B;
- NXP MIFARE Classic®, Ultralight®, DESFire®, etc.;
- FeliCa™;
- HID iClass (Picopass);
- NFC Forum protocols.
-
Referência: Flipper Zero tech specs
-
-
Unidades de Entrada/Saída (I/O):
- GPIO:
- O Flipper Zero possui 18 pinos, sendo de fonte de energia ou I/O para módulos externos;
- Em relação à fornecimento de energia, o pino 1 fornece +5 Volts e o pino 9 fornece +3.3 Volts, ambos com a corrente máxima de 1.2 A;
- Os pinos 8, 11 e 18 são reservados para o ground;
- Os demais pinos são utilizados como I/O para conectar módulos externos aos pinos I/O do microcontrolador STM32WB55 do Flipper Zero;

- Referência: Flipper Zero GPIO specs
- GPIO:
-
Fonte de Energia e Sistema de Alimentação:
-
Tipo:
- O Flipper Zero utiliza uma bateria Li-Po (Lithium Polymer), com capacidade de 2100 mAh, ideal para dispositivos portáteis devido à densidade energética e durabilidade.
-
Gerenciamento de Energia (PMIC):
-
O dispositivo possui um sistema integrado para controle eficiente de energia, regulando o fornecimento para os componentes e otimizando o consumo, garantindo maior duração da bateria (até 28 dias em stand-by).
-
Power-On Reset POR: Garante a inicialização segura quando o dispositivo é energizado.
-
Brown-Out Reset BOR: Detecta quedas de tensão abaixo do limite seguro e reinicia automaticamente o sistema.
-
Voltage Scaling (Dois Modos):
- Modo 1 (Performance): Fornece potência máxima para executar tarefas de alto desempenho.
- Modo 2 (Low Power): Reduz o consumo de energia ao mínimo, ideal para modos stand-by ou tarefas leves.
-
-
Backup de Energia:
- Não possui uma bateria dedicada para backup de longo prazo.
-
Circuitos de Reset:
- Independent Watchdog (IWDG): Reinicia o sistema automaticamente caso o firmware trave ou deixe de responder.
- Window Watchdog (WWDG): Monitora o tempo de execução de tarefas críticas, garantindo que não ultrapassem limites predefinidos.
- Reset Manual, o dispositivo possui um botão de reset físico integrado à placa para recuperação manual em situações de travamento
-
Supervisores de Energia: Sistemas de monitoramento verificam a voltagem da bateria e ativam o reset automático caso ocorram quedas críticas, evitando falhas operacionais.
-
Power Supply (Fonte de Alimentação):
- Opera com uma faixa de alimentação de 1,71V a 3,6V. Possui modos de economia de energia, como Sleep e Stop, para reduzir o consumo em aplicações portáteis como o Flipper Zero.
-
Referência: Flipper Zero tech specs, Microprocessors STM32WB55 e Flipper Zero Power
-
-
Firmware e Atualizações:
-
Firmware:
- Utiliza um firmware baseado em FreeRTOS (um sistema operacional em tempo real) para gerenciar a execução de tarefas e a comunicação com os diversos módulos e sensores (Bluetooth, NFC, RFID, Sub-GHz, etc.). O firmware é desenvolvido de forma open-source, permitindo que a comunidade contribua com melhorias e personalizações.
-
Atualizações Over-the-Air (OTA):
- O Flipper Zero suporta atualizações OTA via Bluetooth LE, utilizando o aplicativo qFlipper em Windows, macOS, ou Linux.
- O processo permite atualizar o firmware remotamente, garantindo novos recursos, correções de bugs e melhorias de segurança sem necessidade de conexão física.
-
Referência: Flipper Zero Firmware
-
-
Unidade de Proteção e Segurança:
-
Criptografia:
- O STM32WB55RG do Flipper Zero possui suporte a hardware de criptografia integrado, como o 256-bit AES/PKA e True Random Number Generator (TRNG).
-
Hardware Security Module (HSM):
- O microcontrolador inclui recursos dedicados para o armazenamento seguro de chaves de criptografia e credenciais, protegendo-as contra acesso não autorizado ou ataques físicos.
-
Outras Características de Segurança:
- O U2F é um padrão de autenticação que adiciona segurança ao login. O Flipper Zero atua como uma chave física USB, usada junto com a senha para validar acessos, protegendo contra phishing e roubo de credenciais.
- Controle de Acesso e Proteções contra Invasões: O STM32WB55RG, usado no Flipper Zero, suporta proteção de setores de memória (PCROP) para restringir operações de leitura e escrita, além de criptografia AES-256 e gerenciamento seguro de chaves. Esses recursos são úteis para controlar acesso e proteger contra manipulações não autorizadas.
- TLS e Comunicação Segura: O suporte para criptografia AES e geradores de números aleatórios verdadeiros (TRNG) possibilita comunicações seguras via Bluetooth e durante atualizações OTA, fornecendo uma base robusta para o uso de protocolos como TLS.
- Hardware para Segurança: Recursos como o Public Key Accelerator (PKA) e gerenciamento seguro de firmware com autenticação (SFI) reforçam a integridade do sistema contra ataques físicos e digitais, garantindo que apenas firmware autenticado seja carregado no dispositivo.
-
Referência: Microprocessors STM32WB Series, Microprocessors STM32WB55, Microprocessors STM32WB Rev e Flipper Zero U2F
-
-
Armazenamento Externo:
-
Tipo: MicroSD card;
-
Capacidade máxima: até 256 GB;
-
Capacidade recomendada: 2-32 GB;
-
Tipo de interface: SPI;
-
Velocidade de escrita/leitura: até 5 Mbps;
-
Referência: Flipper Zero GPIO specs
-
-
Interface com o Usuário (UI):
-
Tela:
- Tipo: Monochrome LCD;
- Resolução: 128x64 pixels;
- Controlador: ST7567;
- Interface: SPI;
- Tamanho em Diagonal 1.4“;
-
Botões e conectores:
- Led de status;
- 5 botões direcionais;
- 1 botão de voltar;
- Uma entrada tipo USB-C;
- Lanyard loop;
- Entrada para cartão MicroSD;
- Pinos GPIO;
- Transceptor de infravermelho;
- Pinos de contato com mola;
-
Referência: Flipper Zero GPIO specs
-

-

-
Artigos acadêmicos relacionados
HcM-FreeRTOS: Hardware-centric FreeRTOS for ARM Multicore
O trabalho aborda o desenvolvimento do HcM-FreeRTOS, uma versão multicore e centrada em hardware do FreeRTOS para a arquitetura ARM Cortex-A9, que propõe soluções para os desafios enfrentados por sistemas operacionais de tempo real (RTOSes) em sistemas embarcados multicore.
Em sistemas multicore, RTOSes enfrentam dois problemas críticos:
- Inversão de prioridade entre threads e interrupções: Threads gerenciadas pelo software (kernel) e interrupções controladas pelo hardware têm espaços de prioridade separados, o que pode levar a atrasos imprevisíveis na execução de tarefas críticas.
- Sincronização em software: O acesso concorrente a recursos compartilhados do kernel exige pontos de sincronização em software, introduzindo indeterminismo e overhead no sistema.
Esses problemas comprometem o desempenho, a previsibilidade e a eficiência, fatores cruciais para sistemas embarcados de tempo real, como automação industrial, IoT e veículos autônomos. O HcM-FreeRTOS explora o ARM Generic Interrupt Controller (GIC) para delegar serviços críticos do kernel, como agendamento e sincronização, ao hardware. Isso resulta em:
- Unificação do espaço de prioridade: Threads e interrupções são gerenciadas sob a mesma hierarquia de prioridade.
- Eliminação de pontos de sincronização em software: O GIC gerencia recursos compartilhados, reduzindo o overhead e garantindo maior determinismo.
Performance Evaluation of Attribute-Based Encryption in Automotive Embedded Platform for Secure Software Over-The-Air Update
Este artigo explora a aplicação de criptografia baseada em atributos (ABE) para melhorar a segurança de atualizações Over-the-air (OTA) em plataformas automotivas, tema que ganha destaque à medida que veículos modernos se tornam mais conectados e dependentes de sistemas de software. As atualizações OTA são essenciais para corrigir vulnerabilidades, introduzir novas funcionalidades e manter o desempenho ideal dos veículos, mas, ao mesmo tempo, aumentam os desafios relacionados à segurança dos dados.
Esses desafios estão relacionados à:
- Exposição à interceptação e manipulação de dados: Gateways automotivos conectados à internet são mais vulneráveis a ataques, permitindo que adversários capturem ou modifiquem atualizações.
- Falta de confidencialidade em dados em repouso: Mesmo com canais seguros, dados armazenados em servidores ou gateways podem ser acessados por terceiros não confiáveis.
Ao decorrer do artigo conclui-se que a utilização de uma criptografia baseada em atributos contribui para o aumento da confidencialidade dos arquivos de atualização sem comprometer de maneira significativa o desempenho.
Design and Implementation of an Atrial Fibrillation Detection Algorithm on the ARM Cortex-M4 Microcontroller
O artigo citado apresenta o desenvolvimento de um algoritmo para a detecção de fibrilação atrial implementado em um microcontrolador ARM Cortex-M4. A fibrilação atrial é uma condição cardíaca comumente associada a um aumento significativo no risco de acidente vascular cerebral e insuficiência cardíaca. A detecção precoce e precisa dessa condição é crucial para a intervenção médica oportuna e a melhoria dos resultados dos pacientes.
O estudo detalha a concepção de um algoritmo eficiente para identificar episódios de fibrilação em sinais de eletrocardiograma. A implementação no microcontrolador ARM Cortex-M4 visa equilibrar precisão na detecção com baixo consumo de energia, tornando-o adequado para dispositivos médicos portáteis e sistemas de monitoramento contínuo. Os resultados demonstram que o algoritmo alcança alta precisão na detecção de fibrilação, mantendo a eficiência energética necessária para aplicações em sistemas embarcados.
A relevância deste trabalho para sistemas embarcados é significativa, pois aborda a integração de algoritmos complexos de processamento de sinais em hardware com recursos limitados, sem comprometer o desempenho ou a precisão. Isso é particularmente importante em dispositivos médicos portáteis, onde a eficiência energética e a confiabilidade são cruciais. A abordagem apresentada pode ser aplicada a uma variedade de sistemas embarcados que requerem processamento de sinais em tempo real, destacando a importância de soluções de software otimizadas para hardware específico.
Produtos Relacionados
Placas de desenvolvimento ESP32
Placas baseadas no microcontrolador ESP32, com conectividade Wi-Fi e Bluetooth integradas, amplamente usadas em projetos de automação e comunicação. Assim como o Flipper Zero, possuem interfaces GPIO, SPI, I2C e UART, além de conectividade sem fio.
OpenBCI Cyton Board
Uma placa de aquisição de sinais biológicos (EEG, EMG, EKG) com suporte a processamento em tempo real, usada em pesquisas neurocientíficas. Possuem um microcontrolador (PIC32MX250F128B), semelhante ao usado pelo Flipper Zero, além de interfaces GPIO e módulo RFID.
Nest Thermostat
Termostato inteligente que utiliza sensores e conectividade Wi-Fi para gerenciar a temperatura ambiente automaticamente. Utilizam o microcontrolador STMicroelectronics STM32L431VCI6, semelhante ao usado no Flipper Zero, para gerenciar todos os sensores presentes no produto.
Raspberry Pi Pico
A Raspberry Pi Pico é uma placa de desenvolvimento compacta que utiliza o microcontrolador RP2040, projetado para aplicações embarcadas e de baixo consumo de energia. Assim como o Flipper Zero, ela é equipada com interfaces como GPIO, SPI, I2C e UART, permitindo a integração com diversos sensores e dispositivos. O RP2040, com seu design otimizado e arquitetura de alto desempenho, garante a capacidade de controlar múltiplos periféricos de forma eficiente, sendo ideal para projetos de automação, IoT e prototipagem.
GoodFET
O GoodFET é uma ferramenta de hardware open-source projetada para depuração de microcontroladores e análise de interfaces de comunicação. Ele utiliza microcontroladores embarcados, como os da família Texas Instruments MSP430, que compartilham características de baixo consumo de energia e alta eficiência, semelhantes às do STM32 usado no Flipper Zero. Essa arquitetura permite que o GoodFET controle e analise protocolos de comunicação com precisão, sendo amplamente utilizado para engenharia reversa, desenvolvimento de firmware e experimentação em sistemas embarcados.
Referências Bibliográficas
- Flipper Devices. Flipper Zero Tech Specs. Acessado em 24/11/2024.
- STMicroelectronics. STM32WB Series Microcontrollers. Acessado em 27/11/2024.
- STMicroelectronics. STM32WB55RG Datasheet. Acessado em 25/11/2024.
- Wikipedia. Flipper Zero. Acessado em 30/11/2024.
- Texas Instruments. CC1101 RF Transceiver Datasheet. Acessado em 24/11/2024.
- STMicroelectronics. ST25R3916 NFC Transceiver Datasheet. Acessado em 26/11/2024.
- Flipper Devices. GPIO and Modules Documentation. Acessado em 28/11/2024.
- GitHub. Flipper Zero Firmware Repository. Acessado em 27/11/2024.
- Repositório de Investigação. HcM-FreeRTOS: Hardware-centric FreeRTOS for ARM Multicore. Acessado em 25/11/2024.
- MDPI. Performance Evaluation of Attribute-Based Encryption in Automotive Embedded Platform for Secure Software Over-The-Air Update. Acessado em 29/11/2024.
- MDPI. Design and Implementation of an Atrial Fibrillation Detection Algorithm on the ARM Cortex-M4 Microcontroller. Acessado em 24/11/2024.
- Espressif. ESP32 Product Page. Acessado em 01/12/2024.
- OpenBCI. Cyton Biosensing Board. Acessado em 30/11/2024.
- Raspberry Pi Foundation. Raspberry Pi Pico. Acessado em 26/11/2024.
- SourceForge. GoodFET Debugger. Acessado em 27/11/2024.

