Skip to content
João B Filho edited this page Dec 2, 2025 · 1 revision

Fonte: https://deepwiki.com/sepinf-inc/IPED

Visão geral

Arquivos de origem relevantes > - ReleaseNotes.txt

Este documento fornece uma introdução geral ao código-fonte do IPED, resumindo seu propósito, arquitetura e principais funcionalidades. Destina-se a usuários técnicos que precisam compreender a estrutura geral e os principais sistemas do IPED antes de explorar subsistemas específicos ou detalhes de implementação.


Objetivo e Escopo

IPED (Incident Processing and Evidence Discovery) é uma plataforma de código aberto para perícia digital, projetada para processar, analisar e gerar relatórios sobre evidências digitais provenientes de uma ampla gama de fontes. Esta visão geral abrange:

  • Os principais objetivos e casos de uso do IPED.
  • A arquitetura modular e como os principais componentes interagem.
  • A relação entre conceitos de sistema de alto nível e entidades de código concretas.
  • Os pontos de extensibilidade e integração com ferramentas e serviços externos.

Esta página não aborda configurações detalhadas, instruções de uso ou análises aprofundadas de subsistemas individuais. Para esses tópicos, consulte as páginas relacionadas.

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/iped-parsers-impl/pom.xml 1-283 ReleaseNotes.txt 1-100


Objetivo do sistema

O IPED foi projetado para automatizar e agilizar o processo de análise de evidências digitais. Suas principais funções incluem:

  • Ingestão de evidências de diversas fontes (imagens de disco, pastas, extrações de dispositivos móveis, etc.).
  • Detecção de tipos de arquivo e categorização de evidências.
  • Análise sintática, extração e classificação de metadados de arquivos.
  • Indexação e armazenamento de evidências para busca e recuperação eficientes.
  • Fornecer interfaces de usuário para análise, visualização e geração de relatórios.
  • Suporte à extensibilidade por meio de design modular e integração com ferramentas externas (por exemplo, Tika, Sleuthkit, RegRipper, ElasticSearch, MinIO, APIs de transcrição em nuvem).

Fontes:
pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 ReleaseNotes.txt 1-100


Arquitetura de Alto Nível

A base de código do IPED está organizada em vários módulos Maven, cada um responsável por um aspecto específico do sistema. A arquitetura é modular e em camadas, suportando extensibilidade e facilidade de manutenção.

Diagrama: "Arquitetura Geral do Sistema"

graph TD
    %% Definição de Estilos
    classDef layer fill:#222,stroke:#666,color:#fff;
    classDef component fill:#333,stroke:#fff,color:#fff;
    classDef external fill:#1a1a1a,stroke:#888,stroke-dasharray: 5 5,color:#ccc;

    subgraph AppLayer["Application Layer"]
        direction TB
        App["iped-app (IPED Application)"]
    end

    subgraph CoreLayer["Core Engine"]
        direction TB
        Engine["iped-engine (IPED Engine)"]
    end

    subgraph ModulesLayer["Modules"]
        direction TB
        %% Agrupamento visual conforme a imagem
        Parsers["iped-parsers"]
        Utils["iped-utils"]
        API["iped-api"]
        Carvers["iped-carvers"]
        Viewers["iped-viewers"]
        Geo["iped-geo"]
    end

    subgraph ExternalLayer["External Tools & Services"]
        direction TB
        ExtTools["External Tools (Tika, <br/>Sleuthkit, RegRipper, etc.)"]
        Cloud["Cloud Services<br/>(ElasticSearch, MinIO,<br/>Google/MS Speech)"]
    end

    %% Relações Principais (Descendo as camadas)
    App --> Engine
    
    %% O Engine orquestra os módulos
    Engine --> Parsers
    Engine --> Utils
    Engine --> API
    Engine --> Carvers
    Engine --> Viewers

    %% Relações entre Módulos
    Viewers --> Geo

    %% Relações com Ferramentas Externas
    Parsers --> ExtTools
    Carvers --> ExtTools
    Geo --> ExtTools

    %% Acessos a Cloud Services
    App --> Cloud
    Engine --> Cloud

    %% Estilização
    class AppLayer,CoreLayer,ModulesLayer,ExternalLayer layer;
    class App,Engine,Parsers,Utils,API,Carvers,Viewers,Geo component;
    class ExtTools,Cloud external;
Loading

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/iped-parsers-impl/pom.xml 1-283


Integrando conceitos de sistemas a entidades de código

Os diagramas a seguir mapeiam conceitos de alto nível do sistema para entidades de código concretas, facilitando a navegação das ideias arquitetônicas aos detalhes de implementação.

Diagrama: "Estrutura de Dependência de Módulos (POMs e Artefatos do Maven)"

graph TD
    %% Nós (Nodes)
    Parent["pom.xml (Parent)"]
    App["iped-app/pom.xml"]
    Geo["iped-geo/pom.xml"]
    Engine["iped-engine/pom.xml"]
    Parsers["iped-parsers/pom.xml"]
    Carvers["iped-carvers/pom.xml"]
    Viewers["iped-viewers/pom.xml"]
    Utils["iped-utils/pom.xml"]
    API["iped-api/pom.xml"]

    %% Relações do Pai (Herança/Agregação)
    %% O Parent se conecta a todos os módulos
    Parent --> App
    Parent --> Geo
    Parent --> Engine
    Parent --> Parsers
    Parent --> Carvers
    Parent --> Viewers
    Parent --> Utils
    Parent --> API

    %% Dependências entre Módulos
    %% App depende de Geo e Engine
    App --> Geo
    App --> Engine

    %% Geo depende de Parsers
    Geo --> Parsers

    %% Engine é o hub central para os módulos base
    Engine --> Parsers
    Engine --> Carvers
    Engine --> Viewers
    Engine --> Utils
    Engine --> API
Loading

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/pom.xml 1-100 iped-carvers/pom.xml 1-100 iped-viewers/pom.xml 1-100 iped-geo/pom.xml 1-100 iped-utils/pom.xml 1-100 iped-api/pom.xml 1-100


Diagrama: "Fluxo de Processamento de Evidências e Entidades de Código"

graph TD
    %% Estilos
    classDef stage fill:#e3f2fd,stroke:#1565c0,stroke-width:1.5px;
    classDef ext fill:#f9f9f9,stroke:#555,stroke-dasharray:5 5;
    classDef module fill:#e8f5e9,stroke:#2e7d32;

    %% Fontes de evidência
    Sources["Evidence Sources\n(Images, Folders, UFED, etc.)"]:::stage

    %% Etapas de processamento + entidades de código
    Mime["MIME Type Detection\n(CustomSignatures.xml, iped-parsers)"]:::stage
    Cat["File Categorization\n(CategoriesConfig.json, iped-parsers)"]:::stage
    ParseCarve["Parsing & Carving\n(iped-parsers, iped-carvers)"]:::stage
    Meta["Metadata Extraction & Enrichment\n(iped-parsers, iped-engine)"]:::stage
    IndexStore["Indexing & Storage\n(Lucene, MinIO, ElasticSearch, iped-engine)"]:::stage
    Analysis["Analysis & Visualization\n(iped-app, iped-viewers, iped-geo)"]:::stage

    %% Ferramentas externas
    ExtTools["External Tools & Services\n(Tika, Sleuthkit, RegRipper, Cloud APIs)"]:::ext

    %% Fluxo principal
    Sources --> Mime
    Mime --> Cat
    Cat --> ParseCarve
    ParseCarve --> Meta
    Meta --> IndexStore
    IndexStore --> Analysis

    %% Interações com ferramentas externas
    Mime -.-> ExtTools
    ParseCarve --> ExtTools
    Meta -.-> ExtTools
    IndexStore -.-> ExtTools
    Analysis -.-> ExtTools

Loading

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/iped-parsers-impl/pom.xml 1-283


Principais capacidades

Capacidade Descrição Entidades/Módulos de Código Principal
Ingestão de Evidências Suporta imagens de disco, pastas, extrações de dispositivos móveis e muito mais. iped-app,iped-engine
Detecção de tipo de arquivo Detecção de MIME personalizada e baseada em Tika iped-parsers,CustomSignatures.xml
Categorização Atribuição configurável de categoria de arquivo iped-parsers,CategoriesConfig.json
Desmembramento e entalhe Analisadores e extratores modulares para diversos tipos de arquivo. iped-parsers,iped-carvers
Extração de Metadados Extrai e enriquece metadados de arquivos. iped-parsers,iped-engine
Indexação e armazenamento Lucene, ElasticSearch, MinIO, SQLite e gerenciamento de dados do usuário. iped-engine
Análise e visualização Interface de usuário para pesquisa, linha do tempo, mapa e relatórios. iped-app, iped-viewers,iped-geo
Extensibilidade Arquitetura de plugins, integração de ferramentas externas, APIs em nuvem Todos os módulos, diretórios de plugins
Internacionalização Suporte multilíngue por meio de pacotes de recursos iped-app/resources/localization/

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/iped-parsers-impl/pom.xml 1-283 iped-app/resources/localization/iped-parsers-messages.properties 1-100


Extensibilidade e integração

O IPED foi projetado para ser extensível em múltiplos níveis:

  • Estrutura modular do Maven: Cada subsistema principal é um módulo Maven separado, permitindo desenvolvimento e testes independentes.
  • Suporte a plugins: Funcionalidades adicionais podem ser adicionadas por meio de plugins, incluindo analisadores sintáticos, visualizadores e integrações externas.
  • Ferramentas externas: Integra-se com Tika, Sleuthkit, RegRipper e outras para processamento especializado.
  • Serviços em nuvem e remotos: Compatível com ElasticSearch, MinIO e APIs de transcrição de áudio baseadas em nuvem.

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/iped-parsers-impl/pom.xml 1-283


Resumo

O IPED oferece uma plataforma abrangente, modular e extensível para processamento e análise de evidências digitais. Sua arquitetura foi projetada para suportar uma ampla gama de tipos de evidências, fluxos de trabalho de processamento e cenários de integração, tornando-o adequado para uso em investigações policiais, corporativas e outros contextos de perícia digital.

Para obter mais detalhes sobre subsistemas específicos, consulte as páginas relacionadas, como Arquitetura do Sistema, Construção e Módulos e Pipeline de Processamento de Evidências.

Fontes:

pom.xml 1-165 iped-app/pom.xml 1-499 iped-engine/pom.xml 1-280 iped-parsers/iped-parsers-impl/pom.xml 1-283 ReleaseNotes.txt 1-100

Clone this wiki locally