Valentina Palazzi

23 papers A 1Journal 7Unranked 15
YearRankTypeTitle / Venue / Authors
2025 A conf
DATE
Alper Kanak, Salih Ergün, Ibrahim Arif, Ali Serdar Atalay, Serhat Ege Inanç, Oguzhan Herkiloglu, Ahmet Yazici, Yunus Sabri Kirca, Muhammed Ozberk, Alim Kerem Erdogmus, Ali Kafali, Dilara Bayar, Muhammed Oguz Tas, Luca Davoli, Laura Belli, Gianluigi Ferrari, Badar Muneer, Valentina Palazzi, Luca Roselli, Fabio Gelati
2025 conf
RFID-TA
Badar Muneer, Valentina Palazzi, Federico Alimenti, Paolo Mezzanotte, Luca Roselli
2024 J jnl
IEEE Access
Raffaele Salvati, Valentina Palazzi, Federico Alimenti, Paolo Mezzanotte, Antonio Faba, Ermanno Cardelli, Luca Roselli
2024 J jnl
Proc. IEEE
Valentina Palazzi, Federico Alimenti, Leonardo Pierantozzi, Matteo Ribeca, Leonardo Balocchi, Luca Valentini, Silvia Bittolo Bon, Paolo Mezzanotte, Manos M. Tentzeris, Luca Roselli
2024 J jnl
IEEE Access
Emanuele Pagliari, Luca Davoli, Giordano Cicioni, Valentina Palazzi, Paolo Mezzanotte, Federico Alimenti, Luca Roselli, Gianluigi Ferrari
2023 conf
WiSNeT
Giordano Cicioni, Raffaele Salvati, Roberto Vincenti Gatti, Valentina Palazzi, Paolo Mezzanotte, Luca Roselli, Federico Alimenti
2023 conf
RFID-TA
Leonardo Balocchi, Valentina Palazzi, Stefania Bonafoni, Federico Alimenti, Paolo Mezzanotte, Luca Roselli
2022 conf
RFID-TA
Raffaele Salvati, Valentina Palazzi, Luca Roselli, Lorenzo Copparoni
2022 conf
ICECS 2022
Guendalina Simoncini, Valentina Palazzi, Giulia Orecchini, Paolo Mezzanotte, Luca Roselli, Federico Alimenti
2022 J jnl
Sensors
Valentina Palazzi, Luca Roselli, Manos M. Tentzeris, Paolo Mezzanotte, Federico Alimenti
2022 conf
ICECS 2022
Giordano Cicioni, Raffaele Salvati, Roberto Vincenti Gatti, Valentina Palazzi, Paolo Mezzanotte, Luca Roselli, Federico Alimenti
2022 conf
ICECS 2022
Giulia Orecchini, G. Schiavolini, Paolo Mezzanotte, Simone Pauletto, A. Loppi, A. Beltramello, F. Dogo, D. Maniá, Valentina Palazzi, Guendalina Simoncini, Luca Roselli, Anna Gregorio, M. Fragiacomo, Federico Alimenti
2022 conf
RFID-TA
Valentina Palazzi, Leonardo Balocchi, Stefania Bonafoni, Luca Roselli
2022 conf
WiSNet
Guendalina Simoncini, Raffaele Salvati, Valentina Palazzi, Giordano Cicioni, Federico Alimenti, Paolo Mezzanotte, Luca Roselli
2020 J jnl
IEEE Access
Federico Alimenti, Paolo Mezzanotte, Guendalina Simoncini, Valentina Palazzi, Raffaele Salvati, Giordano Cicioni, Luca Roselli, Federico Dogo, Simone Pauletto, Mario Fragiacomo, Anna Gregorio
2020 J jnl
IEEE Trans. Geosci. Remote. Sens.
Federico Alimenti, Stefania Bonafoni, Elisa Gallo, Valentina Palazzi, Roberto Vincenti Gatti, Paolo Mezzanotte, Luca Roselli, Domenico Zito, Silvia Barbetta, Cristiano Corradini, Donatella Termini, Tommaso Moramarco
2020 conf
WiSNet
Federico Alimenti, Valentina Palazzi, Paolo Mezzanotte, Luca Roselli
2019 conf
WiSNet
Valentina Palazzi, Fabio Gelati, U. Vaglioni, Federico Alimenti, Paolo Mezzanotte, Luca Roselli
2018 conf
WiSNet
Valentina Palazzi, Federico Alimenti, Paolo Mezzanotte, Giulia Orecchini, Luca Roselli
2018 conf
ApplePies
Anwar Mohamed, Valentina Palazzi, Sunny Kumar, Federico Alimenti, Paolo Mezzanotte, Luca Roselli
2017 J jnl
Sensors
Federico Alimenti, Valentina Palazzi, Chiara Mariotti, Marco Virili, Giulia Orecchini, Stefania Bonafoni, Luca Roselli, Paolo Mezzanotte
2017 conf
WiSNet
Valentina Palazzi, Christos Kalialakis, Federico Alimenti, Paolo Mezzanotte, Luca Roselli, Ana Collado, Apostolos Georgiadis
2016 conf
ICECS
Federico Alimenti, Chiara Mariotti, Maicol Silvestri, Valentina Palazzi, Marco Virili, Paolo Mezzanotte, Luca Roselli
CLAUDE.md
← Index CLAUDE.md markdown
# CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

## Project Overview

REDB (RationalEdge Samples DB) is a malware analysis framework that extracts features from PE (Portable Executable) files and stores them in ClickHouse database for analysis. It provides a comprehensive set of extractors for analyzing binary samples including PE headers, imports, resources, signatures, and decompiled code.

## Common Commands

### Development Setup
```bash
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run the main application
python start.py --path /path/to/samples --repo sample_repo --index_prefix redb
```

### Analysis Commands
```bash
# Process a single file
python start.py --path /path/to/binary --repo test --index_prefix redb

# Process from S3 storage
python start.py --s3 --repo malpedia --index_prefix redb

# Process from S3 storage but only a subset of a specific repository
python start.py --s3 --repo "vx-itw" --s3-notes "ITW.0138" --index_prefix redb

# Run only decompilation
python start.py --path /path/to/binary --repo test --index_prefix redb --decompile

# Run specific modules
python start.py --path /path/to/binary --repo test --index_prefix redb --modules "BasicPropertiesExtractor,PEFeaturesExtractor"

# Run as Nomad job (for containerized deployment)
python start.py --nomad-job
```

### Testing
There are no formal unit tests. Testing is done by running the extractors on sample files in the `test_files/` directory.

## Architecture Overview

### Core Components

1. **Ingestor (`redb/ingestor.py`)**: Main orchestrator that handles file processing, multiprocessing, and coordinates extractors
2. **Extractors (`redb/extractors/`)**: Modular analysis components that extract specific features
3. **Database Exporters (`redb/extractors/database_exporters.py`)**: Handle data export to ClickHouse
4. **Settings (`redb/settings/`)**: Configuration management for database connections

### Extractor Architecture

All extractors inherit from the base `Extractor` class and implement:
- `extract()`: Main analysis logic
- `prepare_export_data()`: Format data for database export
- `get_clickhouse_table()`: Return target table name

Available extractors:
- **General**: BasicPropertiesExtractor, HashExtractor, DIEExtractor, CAPAExtractor
- **PE-specific**: PEFeaturesExtractor, PEImportExtractor, PEResourceExtractor, PEOverlayExtractor, PESectionExtractor, PESignatureExtractor, PEDotNetExtractor, PEInconstistencyTestsExtractor, PEExtraFindings
- **ELF**: ELFFeaturesExtractor, ELFSegmentExtractor, ELFSectionExtractor, ELFDependencyExtractor, ELFSymbolExtractor, ELFImportExtractor, ELFExportExtractor, ELFRelocationExtractor, ELFNotesExtractor
- **Mach-O**: MachOFeaturesExtractor, MachOSegmentExtractor, MachOImportExtractor, MachOExportExtractor, MachODylibExtractor, MachOSignatureExtractor
- **APK**: APKFeaturesExtractor, APKManifestExtractor, APKPermissionsExtractor, APKSignatureExtractor, APKDexExtractor, APKResourceExtractor, APKNativeLibExtractor, APKInconsistencyTestsExtractor
- **Decompilation**: DecompileBinja, DecompileAPK

### Database Schema

The project uses a comprehensive ClickHouse schema defined in `redb/redb_schema.yml` with tables for:
- Basic properties (`redb_basic_properties`)
- PE features (`redb_pe_features`, `redb_pe_imports`, `redb_pe_sections`, etc.)
- Decompiled code (`code_binja_decompiled_functions_content`, `code_binja_decompiled_functions_references`)
- CAPA analysis (`redb_capa`, `redb_capa_capabilities`)

Full schema documentation is available in `docs/database_schema.md`.

### Processing Modes

1. **Analysis Mode**: Extracts features using selected modules
2. **Decompile Mode**: Uses Binary Ninja for code decompilation
3. **S3 Mode**: Fetches samples from S3 storage based on catalog queries
4. **Nomad Job Mode**: Processes single jobs using environment variables for containerized deployment

### Configuration

Environment variables are used for configuration:
- Database connection: `CLICKHOUSE_HOST`, `CLICKHOUSE_PORT`, `CLICKHOUSE_USER`, `CLICKHOUSE_PASSWORD`
- S3 storage: `S3_ENDPOINT`, `S3_ACCESS_KEY`, `S3_SECRET_KEY`
- Processing: `BATCH_SIZE`, `REDB_TIMEOUT`, `DECOMPILE_WORKER_TIMEOUT`
- Nomad jobs: `JOB_ID`, `S3_KEY`, `S3_BUCKET`, `WORKER_TYPE`, `CALLBACK_URL`, `ANALYSIS_MODULES`

## Important Implementation Details

### Multiprocessing
- Uses `spawn` method for multiprocessing to avoid memory issues
- Worker processes have timeout handlers to prevent hanging
- Supports both batch processing and streaming processing modes

### Memory Management
- Implements aggressive garbage collection between batches
- Monitors swap usage and restarts worker pools when needed
- Kills stuck processes automatically

### Error Handling
- Comprehensive logging with per-file context
- Graceful handling of corrupted or unsupported files
- Automatic retry logic for database operations

### Security Context
This is a defensive security tool for malware analysis. It processes potentially malicious files in a controlled environment to extract features for detection and analysis purposes.

## Development Notes

- The codebase is optimized for processing large batches of malware samples
- Extractors are designed to be modular and can be run individually or in combination
- Database schema supports both normalized and denormalized views for different query patterns
- S3 integration allows for scalable processing of large malware repositories