Jaeseok Yun

38 papers Misc 2Journal 33Unranked 3
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Internet Things J.
Godwin Msigwa, Minji An, Ester Ntambala, Jaeseok Yun
2025 J jnl
IEEE Internet Things J.
Minji An, Godwin Msigwa, Jaeseok Yun
2025 J jnl
Knowl. Based Syst.
Denis Bernard, Constantino Msigwa, Jaeseok Yun
2024 J jnl
IEEE Internet Things J.
Geonwoo Ji, Jiyoung Woo, Geon Lee, Constantino Msigwa, Denis Bernard, Jaeseok Yun
2024 J jnl
Eng. Appl. Artif. Intell.
Godwin Msigwa, Ester Ntambala, Jaeseok Yun
2024 J jnl
Internet Things
Constantino Msigwa, Denis Bernard, Jaeseok Yun
2023 J jnl
Eng. Appl. Artif. Intell.
Jaeseok Yun, Daehee Kim, Dong Min Kim, Taewon Song, Jiyoung Woo
2023 conf
BigComp
Geonwoo Ji, Constantino Msigwa, Denis Bernard, Geon Lee, Jiyoung Woo, Jaeseok Yun
2023 J jnl
IEEE Internet Things J.
Denis Bernard, Constantino Msigwa, Jaeseok Yun
2022 J jnl
Sensors
Constantino Msigwa, Seungwoo Baek, Denis Bernard, Jaeseok Yun
2021 J jnl
IEEE Internet Things J.
Jaeseok Yun, Jiyoung Woo
2020 J jnl
IEEE Internet Things J.
Jaeseok Yun, Jiyoung Woo
2020 J jnl
IEEE Access
Huy Truong Dinh, Jaeseok Yun, Dong Min Kim, Kyu-haeng Lee, Daehee Kim
2019 J jnl
Sensors
Jaeseok Yun, Il-Yeup Ahn, JaeSeung Song, Jaeho Kim
2019 conf
IEEE SENSORS
Jaeseok Yun, Nak-Myoung Sung, Sung-Chan Choi, Jaeho Kim
2019 J jnl
IEEE Internet Things J.
Jonggwan An, Franck Le Gall, Jaeho Kim, Jaeseok Yun, Jaeyoung Hwang, Martin Bauer, Mengxuan Zhao, JaeSeung Song
2018 J jnl
CoRR
Ernö Kovacs, Martin Bauer, Jaeho Kim, Jaeseok Yun, Franck Le Gall, Mengxuan Zhao
2018 J jnl
Peer-to-Peer Netw. Appl.
Jaeho Kim, Sung-Chan Choi, Jaeseok Yun, Jang-Won Lee
2017 J jnl
Sensors
Sheik Mohammad Mostakim Fattah, Nak-Myoung Sung, Il-Yeup Ahn, Min-Woo Ryu, Jaeseok Yun
2016 J jnl
Sensors
Jaeho Kim, Sung-Chan Choi, Il-Yeup Ahn, Nak-Myoung Sung, Jaeseok Yun
2016 J jnl
IEEE Commun. Mag.
Jaeho Kim, Jaeseok Yun, Sung-Chan Choi, Dale Seed, Guang Lu, Martin Bauer, Adel Al-Hezmi, Konrad Campowsky, JaeSeung Song
2016 J jnl
IEEE Commun. Mag.
Ernö Kovacs, Martin Bauer, Jaeho Kim, Jaeseok Yun, Franck Le Gall, Mengxuan Zhao
2016 J jnl
Sensors
Jaeseok Yun, Il-Yeup Ahn, Sung-Chan Choi, Jaeho Kim
2015 J jnl
IEEE Trans. Consumer Electron.
Jaeseok Yun, Il-Yeop Ahn, Nak-Myung Sung, Jaeho Kim
2015 Misc conf
SenSys
Jaeseok Yun, Sung-Chan Choi, Nak-Myoung Sung, Jaeho Kim
2015 J jnl
Sensors
Min-Woo Ryu, Jaeho Kim, Jaeseok Yun
2014 J jnl
Smart Comput. Rev.
Min-Woo Ryu, Sang-Shin Lee, Jaeseok Yun, Il-Yeop Ahn, Han-Wool Seok
2014 J jnl
Sensors
Jaeseok Yun, Sang-Shin Lee
2014 J jnl
IEEE Commun. Surv. Tutorials
Jaewoo Kim, Jaiyong Lee, Jaeho Kim, Jaeseok Yun
2013 J jnl
Smart Comput. Rev.
Sung-Chan Choi, Jaeho Kim, Jaeseok Yun, Il-Yeop Ahn
2013 J jnl
Int. J. Distributed Sens. Networks
Jaeseok Yun, Jaeho Kim
2013 J jnl
Smart Comput. Rev.
Jaeseok Yun, Min-Woo Ryu, Sang-Shin Lee
2012 J jnl
Sensors
Jaeseok Yun, Kwang-Ho Won
2011 J jnl
IEEE Trans. Mob. Comput.
Jaeseok Yun, Shwetak N. Patel, Matthew S. Reynolds, Gregory D. Abowd
2011 J jnl
Sensors
Jaeseok Yun
2008 Misc conf
UbiComp
Jaeseok Yun, Shwetak N. Patel, Matthew S. Reynolds, Gregory D. Abowd
2008 J jnl
Int. J. Pattern Recognit. Artif. Intell.
Jaeseok Yun, Gregory D. Abowd, Jeha Ryu, Woontack Woo
2005 conf
CIS (1)
Jaeseok Yun, Woontack Woo, Jeha Ryu
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"