Raffaele Cerulli

71 papers C 8Journal 60Unranked 2
YearRankTypeTitle / Venue / Authors
2026 J jnl
Oper. Res. Forum
Domenico Serra, Carmine Sorgente, Monica Gentili, Raffaele Cerulli
2025 J jnl
Networks
Giuseppe D'Ambrosio, Raffaele Cerulli, Domenico Serra, Carmine Sorgente, Ugo Vaccaro
2025 J jnl
Eur. J. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Renata Mansini, Domenico Serra, Carmine Sorgente
2025 C conf
ICORES
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Gabriele Murano
2024 conf
DSA ISC (2)
Raffaele Cerulli, Mario Lepore, Raffaele Maccioni, Elvira Plenzich, Roberto Tufano
2024 J jnl
Soft Comput.
Raffaele Cerulli, Ciriaco D'Ambrosio, Andrea Raiconi
2024 J jnl
Eur. J. Oper. Res.
Claudia Archetti, Francesco Carrabs, Raffaele Cerulli, Federica Laureana
2024 J jnl
Eur. J. Oper. Res.
Claudia Archetti, Francesco Carrabs, Raffaele Cerulli, Federica Laureana
2024 J jnl
Neural Comput. Appl.
Mario Lepore, Elvira Plenzich, Roberto Tufano, Raffaele Cerulli, Raffaele Maccioni
2024 J jnl
Comput. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Renata Mansini, Lorenzo Moreschini, Domenico Serra
2023 J jnl
Networks
Francesco Carrabs, Raffaele Cerulli, Federica Laureana, Domenico Serra, Carmine Sorgente
2023 J jnl
J. Optim. Theory Appl.
Mohsen Mohammadi, Monica Gentili, Milan Hladík, Raffaele Cerulli
2023 J jnl
Comput. Oper. Res.
Raffaele Cerulli, Francesca Guerriero, Edoardo Scalzo, Carmine Sorgente
2022 J jnl
Comput. Oper. Res.
Fernando Álvarez-Bazo, Raffaele Cerulli, Santos Sánchez-Cambronero, Monica Gentili, Ana Rivas
2022 J jnl
J. Supercomput.
Raffaele Cerulli, Ciriaco D'Ambrosio, Antonio Iossa, Francesco Palmieri
2021 J jnl
RAIRO Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Andrea Raiconi
2021 J jnl
Networks
Carmine Cerrone, Raffaele Cerulli, Anna Sciomachen
2021 J jnl
Ann. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Rosa Pentangelo, Andrea Raiconi
2021 J jnl
J. Optim. Theory Appl.
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Federica Laureana
2020 J jnl
INFORMS J. Comput.
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli, Bruce L. Golden
2020 J jnl
J. Artif. Intell. Res.
Marco Amoruso, Daniele Anello, Vincenzo Auletta, Raffaele Cerulli, Diodato Ferraioli, Andrea Raiconi
2020 C conf
ISCO
Raffaele Cerulli, Ciriaco D'Ambrosio, Andrea Raiconi, Gaetano Vitale
2019 J jnl
Comput. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Giovanni Felici, Gaurav Singh
2019 J jnl
Networks
Raffaele Cerulli, Antonio Sforza, Daniele Vigo
2018 J jnl
Comput. Optim. Appl.
Francesco Carrabs, Raffaele Cerulli, Rosa Pentangelo, Andrea Raiconi
2018 ed.
ICCL
Raffaele Cerulli, Andrea Raiconi, Stefan Voß
2018 J jnl
Optim. Lett.
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli, Selene Silvestri
2018 J jnl
Networks
Francesco Carrabs, Raffaele Cerulli, Monica Gentili
2018 J jnl
Eur. J. Oper. Res.
Claudia Archetti, Francesco Carrabs, Raffaele Cerulli
2018 J jnl
Soft Comput.
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli, Selene Silvestri
2017 J jnl
Comput. Oper. Res.
Selene Silvestri, Gilbert Laporte, Raffaele Cerulli
2017 J jnl
Comput. Oper. Res.
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli, Manlio Gaudioso
2017 J jnl
Optim. Lett.
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Andrea Raiconi
2017 J jnl
Soft Comput.
Francesco Carrabs, Raffaele Cerulli, Anna Sciomachen
2017 J jnl
Comput. Oper. Res.
Carmine Cerrone, Raffaele Cerulli, Bruce L. Golden
2017 J jnl
RAIRO Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Andrea Raiconi
2017 C conf
GPC
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli, Ciriaco D'Ambrosio
2017 C conf
GPC
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Andrea Raiconi
2017 J jnl
Appl. Artif. Intell.
Alessio Petrozziello, Guido Cervone, Pasquale Franzese, Sue Ellen Haupt, Raffaele Cerulli
2017 J jnl
Asia Pac. J. Oper. Res.
Andrea Raiconi, Julia Pahl, Monica Gentili, Stefan Voß, Raffaele Cerulli
2016 C ed.
ISCO
Raffaele Cerulli, Satoru Fujishige, Ali Ridha Mahjoub
2016 J jnl
Optim. Lett.
Giuseppe Bruno, Raffaele Cerulli, Monica Gentili
2016 J jnl
Optim. Lett.
Carmine Cerrone, Raffaele Cerulli, Manlio Gaudioso
2016 J jnl
Networks
Selene Silvestri, Gilbert Laporte, Raffaele Cerulli
2015 J jnl
J. Netw. Comput. Appl.
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Andrea Raiconi
2015 J jnl
Comput. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Ciriaco D'Ambrosio, Monica Gentili, Andrea Raiconi
2015 J jnl
Eur. J. Oper. Res.
Carmine Cerrone, Raffaele Cerulli, Monica Gentili
2014 conf
NBiS
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli
2014 J jnl
Networks
Francesco Carrabs, Carmine Cerrone, Raffaele Cerulli
2014 J jnl
Networks
Raffaele Cerulli, Monica Gentili
2014 J jnl
Comput. Oper. Res.
Lucio Bianco, Carmine Cerrone, Raffaele Cerulli, Monica Gentili
2014 J jnl
Networks
Raffaele Cerulli, Monica Gentili, Andrea Raiconi
2014 J jnl
Eur. J. Oper. Res.
Carmine Cerrone, Raffaele Cerulli, Andrea Raiconi
2013 J jnl
Networks
Francesco Carrabs, Raffaele Cerulli, Maria Grazia Speranza
2013 J jnl
Int. J. Metaheuristics
John Silberholz, Andrea Raiconi, Raffaele Cerulli, Monica Gentili, Bruce L. Golden, S. Chen
2013 J jnl
Comput. Optim. Appl.
Francesco Carrabs, Raffaele Cerulli, Manlio Gaudioso, Monica Gentili
2012 J jnl
Eur. J. Oper. Res.
Raffaele Cerulli, R. De Donato, Andrea Raiconi
2011 C conf
INOC
Francesco Carrabs, Raffaele Cerulli, Monica Gentili, Gennaro Parlato
2011 C conf
CTW
Paolo Dell'Olmo, Raffaele Cerulli, Francesco Carrabs
2009 J jnl
Comput. Optim. Appl.
Raffaele Cerulli, Monica Gentili, Antonio Iossa
2009 J jnl
Comput. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Monica Gentili
2008 J jnl
Comput. Oper. Res.
Raffaele Cerulli, Monica Gentili, Antonio Iossa
2007 J jnl
INFOR Inf. Syst. Oper. Res.
Francesco Carrabs, Raffaele Cerulli, Jean-François Cordeau
2006 J jnl
Electron. Notes Discret. Math.
Raffaele Cerulli, Paolo Dell'Olmo, Monica Gentili, Andrea Raiconi
2005 J jnl
Inf. Process. Lett.
Francesco Carrabs, Raffaele Cerulli, Monica Gentili, Gennaro Parlato
2004 C conf
CTW
Francesco Carrabs, Raffaele Cerulli, Monica Gentili, Gennaro Parlato
2004 J jnl
Electron. Notes Discret. Math.
Francesco Carrabs, Raffaele Cerulli, Monica Gentili, Gennaro Parlato
2003 J jnl
Comput. Optim. Appl.
Raffaele Cerulli, Paola Festa, Giancarlo Raiconi
1998 J jnl
J. Intell. Robotic Syst.
Raffaele Cerulli, Paola Festa, Giancarlo Raiconi, G. Visciano
1992 J jnl
ZOR Methods Model. Oper. Res.
Raffaele Cerulli, Manlio Gaudioso, R. Mautone
1988 J jnl
Comput. Oper. Res.
Raffaele Cerulli, Manlio Gaudioso
redb/extractors/pe_extractors/pe_overlay.py
← Index redb/extractors/pe_extractors/pe_overlay.py python
from hashlib import md5, sha1, sha256
import inspect
from datetime import datetime, timezone
from typing import Any

import magic
from magika import Magika

from redb.extractors.enum import Tag
from redb.extractors.pe_extractor import PEExtractor
from redb.models.dataclasses import PEOverlay


class PEOverlayExtractor(PEExtractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        pe=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters,
            index_prefix,
            elastic_index,
            known_benign,
            known_malicious,
            pe,
        )
        self.elastic_index = self.index_prefix + "-pe_overlay"
        self.log.debug(inspect.currentframe().f_code.co_name)

    def tag(self):
        return Tag.PE_OVERLAY.value

    def _extract_pe_overlay(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        overlay = self.pe.get_overlay()
        if overlay:
            return PEOverlay(
                _id=sha256(overlay).hexdigest(),
                overlay_size=len(overlay),
                overlay_entropy=self.calculate_entropy(overlay),
                overlay_offset=self.pe.get_overlay_data_start_offset(),
                overlay_mimetype=magic.from_buffer(overlay, mime=True),
                overlay_type=magic.from_buffer(overlay),
                overlay_magika=Magika().identify_bytes(overlay).output.ct_label,
                overlay_sha256=sha256(overlay).hexdigest(),
                overlay_sha1=sha1(overlay).hexdigest(),
                overlay_md5=md5(overlay).hexdigest(),
            )
        return None

    def extract(self):
        try:
            self.log.debug(inspect.currentframe().f_code.co_name)
            overlay = self._extract_pe_overlay()
            # self.export_to_elastic([overlay])  # Let the exporters handle this
            return overlay
        except Exception as e:
            self.log.error(f"Error extracting PE overlay: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.extract()
        elif exporter_type == "ClickHouseExporter":
            overlay = self.extract()
            if overlay is None:
                return None
            
            data = []
            current_time = datetime.now(timezone.utc)
            
            data.append([
                self.sha256,              # sha256
                self.md5,                 # md5
                self.sha1,                # sha1
                overlay.overlay_size,     # overlay_size
                overlay.overlay_entropy,  # overlay_entropy
                overlay.overlay_offset,   # overlay_offset
                overlay.overlay_mimetype, # overlay_mimetype
                overlay.overlay_type,     # overlay_type
                overlay.overlay_magika,   # overlay_magika
                overlay.overlay_sha256,   # overlay_sha256
                overlay.overlay_sha1,     # overlay_sha1
                overlay.overlay_md5,      # overlay_md5
                current_time             # analysis_date
            ])
            
            column_names = [
                'sha256', 'md5', 'sha1', 'overlay_size', 'overlay_entropy',
                'overlay_offset', 'overlay_mimetype', 'overlay_type', 'overlay_magika',
                'overlay_sha256', 'overlay_sha1', 'overlay_md5',
                'analysis_date'
            ]
            
            if not data:
                return None

            column_type_names = [
                'FixedString(64)', 'FixedString(32)', 'FixedString(40)',
                'UInt64', 'Float64', 'UInt64',
                'LowCardinality(String)', 'LowCardinality(String)', 'LowCardinality(String)',
                'FixedString(64)', 'FixedString(40)', 'FixedString(32)',
                'DateTime64(3, \'UTC\')'
            ]

            return (data, column_names, column_type_names)

    def get_clickhouse_table(self) -> str:
        return "redb_pe_overlays"