Plataformas e ferramentas · 2024/2

Flipper Zero

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

  1. 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.
    • 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
  2. 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
  3. 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
  4. 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.
      • 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
  5. 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
  6. 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

  7. 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;
      • Pinos GPIO do Flipper Zero
      • Referência: Flipper Zero GPIO specs
  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

    • Tela do Flipper Zero

    • Botões e conectores

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

  1. Flipper Devices. Flipper Zero Tech Specs. Acessado em 24/11/2024.
  2. STMicroelectronics. STM32WB Series Microcontrollers. Acessado em 27/11/2024.
  3. STMicroelectronics. STM32WB55RG Datasheet. Acessado em 25/11/2024.
  4. Wikipedia. Flipper Zero. Acessado em 30/11/2024.
  5. Texas Instruments. CC1101 RF Transceiver Datasheet. Acessado em 24/11/2024.
  6. STMicroelectronics. ST25R3916 NFC Transceiver Datasheet. Acessado em 26/11/2024.
  7. Flipper Devices. GPIO and Modules Documentation. Acessado em 28/11/2024.
  8. GitHub. Flipper Zero Firmware Repository. Acessado em 27/11/2024.
  9. Repositório de Investigação. HcM-FreeRTOS: Hardware-centric FreeRTOS for ARM Multicore. Acessado em 25/11/2024.
  10. MDPI. Performance Evaluation of Attribute-Based Encryption in Automotive Embedded Platform for Secure Software Over-The-Air Update. Acessado em 29/11/2024.
  11. MDPI. Design and Implementation of an Atrial Fibrillation Detection Algorithm on the ARM Cortex-M4 Microcontroller. Acessado em 24/11/2024.
  12. Espressif. ESP32 Product Page. Acessado em 01/12/2024.
  13. OpenBCI. Cyton Biosensing Board. Acessado em 30/11/2024.
  14. Raspberry Pi Foundation. Raspberry Pi Pico. Acessado em 26/11/2024.
  15. SourceForge. GoodFET Debugger. Acessado em 27/11/2024.
Continue sua descoberta.Explorar outros projetos ↗