Jaesung Lee

59 papers A* 2A 1B 1C 11Journal 43Unranked 1
YearRankTypeTitle / Venue / Authors
2026 J jnl
Expert Syst. Appl.
Sujeong Han, Hyeonji Moon, Sanghyuck Lee, A-Seong Moon, Min-Kyung Sung, Jeongwon Lee, Sangtae Kim, Jaesung Lee
2026 J jnl
Neurocomputing
Sojeong Kim, Bong-Soo Sohn, Jaesung Lee
2026 J jnl
IEEE Access
A-Seong Moon, Min-Kyung Sung, Jaesung Lee
2026 J jnl
Pattern Recognit.
Sang-Rak Lee, A-Seong Moon, Bong-Soo Sohn, Jaesung Lee
2025 C conf
ICCE
Seungyeon Jeong, Donghee Kim, A-Seong Moon, Jaesung Lee
2025 C conf
ICCE
Haesung Oh, Sujeong Han, Jaesung Lee
2025 C conf
ICCE
Sojeong Kim, A-Seong Moon, Mingi Kim, Jaesung Lee
2025 C conf
ICCE
Min-Kyung Sung, Chae-Woon Kim, Sanghyuck Lee, Jaesung Lee
2025 conf
NAACL (Findings)
Hanyong Lee, Chaelyn Lee, Yongjae Lee, Jaesung Lee
2025 J jnl
CoRR
Hanyong Lee, Chaelyn Lee, Yongjae Lee, Jaesung Lee
2025 C conf
ICCE
Da-Hyun Song, Jaesung Lee
2025 J jnl
Symmetry
Wangduk Seo, Timur Khairulov, Hye-Jin Baek, Jaesung Lee
2025 J jnl
Symmetry
Gyu-Il Kim, Jaesung Lee
2025 J jnl
J. Big Data
A-Seong Moon, Kyumin Kim, Jaesung Lee
2025 C conf
ICCE
Sanghyuck Lee, Timur Khairulov, Jaesung Lee
2025 J jnl
Symmetry
Sanghyuck Lee, Jeongwon Lee, Timur Khairulov, Daehyeon Kim, Jaesung Lee
2025 J jnl
IEEE Access
Sojeong Kim, Bong-Soo Sohn, Jaesung Lee
2025 A* conf
AAAI
Sanghyuck Lee, Sangkeun Park, Jaesung Lee
2025 J jnl
CoRR
Sanghyuck Lee, Sangkeun Park, Jaesung Lee
2025 J jnl
Eng. Appl. Artif. Intell.
Jaegyun Park, Dae-Won Kim, Jaesung Lee
2025 C conf
ICCE
Ye-Chan Park, Hanyong Lee, Jaesung Lee
2025 J jnl
IEEE Access
Mohammad J. M. Zedan, Siti Raihanah Abdani, Jaesung Lee, Mohd Asyraf Zulkifley
2025 J jnl
Comput. Mater. Continua
A-Seong Moon, Seungyeon Jeong, Donghee Kim, Mohd Asyraf Zulkifley, Bong-Soo Sohn, Jaesung Lee
2025 J jnl
IEEE Access
Marzuraikah Mohd Stofa, Mohamad Aizuddin Ismail, Jaesung Lee, Mohd Asyraf Zulkifley
2025 J jnl
IEEE Access
A-Seong Moon, Kunho Lee, Jaesung Lee
2024 J jnl
IEEE Trans. Cybern.
Yu Zhou, Nanjian Yang, Xingyue Huang, Jaesung Lee, Sam Kwong
2024 J jnl
IEEE Access
Wangduk Seo, Sung-Hyun Cho, Pawel Teisseyre, Jaesung Lee
2024 C conf
ICCE
Sanghyuck Lee, Taekyung Song, Mingi Kim, Da-Hyun Song, Sangkeun Park, Jaesung Lee
2024 C conf
ICCE
Chaelyn Lee, Hanyong Lee, Kyumin Kim, Sojeong Kim, Jaesung Lee
2024 A* conf
NeurIPS
Jaegyun Park, Dae-Won Kim, Jaesung Lee
2024 C conf
ICCE
Hun-Sung Park, Jaegyun Park, Dae-Won Kim, Jaesung Lee
2024 J jnl
CoRR
Tomasz Klonecki, Pawel Teisseyre, Jaesung Lee
2024 J jnl
Expert Syst. Appl.
Sanghyeong Jin, Jaesung Lee
2024 C conf
ICCE
Haesung Oh, Sujeong Han, Jaesung Lee
2024 J jnl
J. Big Data
Wangduk Seo, Jaegyun Park, Sanghyuck Lee, A-Seong Moon, Dae-Won Kim, Jaesung Lee
2024 J jnl
IEEE Access
Won-Seon Lim, Yu Zhou, Dae-Won Kim, Jaesung Lee
2024 J jnl
IEEE Access
Sanghyuck Lee, Jeong Kyu Lee, Jaesung Lee
2024 J jnl
IEEE Access
Sanghyuck Lee, Mohd Asyraf Zulkifley, Jeong Kyu Lee, Jaesung Lee
2024 A conf
UAI
Wangduk Seo, Jaesung Lee
2023 B conf
MDAI
Tomasz Klonecki, Pawel Teisseyre, Jaesung Lee
2023 J jnl
Pattern Recognit.
Tomasz Klonecki, Pawel Teisseyre, Jaesung Lee
2023 J jnl
IEEE Access
Tae-Won Lee, Pawel Teisseyre, Jaesung Lee
2023 J jnl
IEEE Access
Won-Seon Lim, Wangduk Seo, Dae-Won Kim, Jaesung Lee
2023 J jnl
Eng. Appl. Artif. Intell.
Jaegyun Park, Won-Seon Lim, Dae-Won Kim, Jaesung Lee
2023 J jnl
J. Big Data
Geonil Yun, Yongjae Lee, A-Seong Moon, Jaesung Lee
2023 J jnl
Expert Syst. Appl.
Pawel Teisseyre, Jaesung Lee
2022 J jnl
Expert Syst. Appl.
Wangduk Seo, Minwoo Park, Dae-Won Kim, Jaesung Lee
2022 J jnl
IEEE Access
Jaegyun Park, Won-Seon Lim, Dae-Won Kim, Jaesung Lee
2021 J jnl
Concurr. Comput. Pract. Exp.
Jinhyuk Jo, Song Ko, Dae-Won Kim, Jaesung Lee
2021 J jnl
IEEE Access
Jonghoon Chae, Sung-Hyun Cho, Jaegyun Park, Dae-Won Kim, Jaesung Lee
2020 J jnl
Entropy
Jaegyun Park, Min-Woo Park, Dae-Won Kim, Jaesung Lee
2020 J jnl
Pattern Recognit. Lett.
Hae-Cheon Kim, Jin-Hyeong Park, Dae-Won Kim, Jaesung Lee
2019 J jnl
Multim. Tools Appl.
Jaesung Lee, Wangduk Seo, Jin-Hyeong Park, Dae-Won Kim
2019 J jnl
Entropy
Jaesung Lee, Jaegyun Park, Hae-Cheon Kim, Dae-Won Kim
2019 J jnl
IEEE Access
Wangduk Seo, Dae-Won Kim, Jaesung Lee
2019 J jnl
Inf. Sci.
Jaesung Lee, Injun Yu, Jaegyun Park, Dae-Won Kim
2018 J jnl
J. Sensors
Jaesung Lee, Wangduk Seo, Ho Han, Dae-Won Kim
2018 J jnl
IEEE Access
Xu Miao, Jaesung Lee, Bo-Yeong Kang
2018 J jnl
Complex.
Jaesung Lee, Dae-Won Kim
redb/extractors/basicproperties.py
← Index redb/extractors/basicproperties.py python
from dataclasses import asdict
import inspect
import os
import magic
from magika import Magika
from datetime import datetime, timezone
from typing import Any, List, Tuple

from redb.extractors.enum import Tag
from redb.models.dataclasses import BasicProperties
from redb.extractors.extractor import Extractor


class BasicPropertiesExtractor(Extractor):

    def __init__(
        self,
        filepath,
        log,
        exporters=None,
        index_prefix=None,
        elastic_index=None,
        known_benign=False,
        known_malicious=False,
        parent_sha256=None,
        precomputed_hashes=None,
        is_fat=None,
        child_sha256=None,
        child_architecture=None,
        child_filetype=None,
        first_seen=None,
    ):
        super().__init__(
            filepath,
            log,
            exporters=exporters,
            index_prefix=index_prefix,
            elastic_index=elastic_index,
            known_benign=known_benign,
            known_malicious=known_malicious,
            precomputed_hashes=precomputed_hashes,
        )
        self.basic_properties = None
        self.elastic_index = self.index_prefix + "-basic_properties"
        self.is_packed = None
        self.parent_sha256 = parent_sha256  # For FAT Mach-O slices, points to container hash
        self.is_fat = is_fat  # True for FAT Mach-O containers, None otherwise
        self.child_sha256 = child_sha256  # SHA256 hashes of children (FAT slices, zip contents)
        self.child_architecture = child_architecture  # Architecture names for FAT Mach-O slices
        self.child_filetype = child_filetype  # Magika filetypes for children (useful for zip archives)
        self.first_seen = first_seen  # From catalog_samples, None for local files

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

    def _extract_basic_properties(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        filename = None  # Reserved for future use
        sample_name = os.path.basename(self.filepath)
        file_entropy = round(self.calculate_entropy(self.binary), 3)
        type_ = magic.from_buffer(self.binary)
        type_mime = magic.from_buffer(self.binary, mime=True)
        type_magika = Magika().identify_bytes(self.binary).output.label
        size = len(self.binary)
        self.basic_properties = BasicProperties(
            filename, sample_name, size, type_, type_mime, type_magika,
            file_entropy, self.is_packed, self.is_fat, self.child_sha256,
            self.child_architecture, self.child_filetype,
            first_seen=str(self.first_seen) if self.first_seen else None,
        )
        self.log.debug(f"Basic Properties dump: {asdict(self.basic_properties)}")

    def extract(self):
        self.log.debug(inspect.currentframe().f_code.co_name)
        try:
            self._extract_basic_properties()
            # self.export_to_elastic([self.basic_properties])
            return self.basic_properties
        except Exception as e:
            self.log.error(f"Extract basic properties error {self.hash.sha256} Exception: {e}")
            return None

    def prepare_export_data(self, exporter_type: str) -> Any:
        if exporter_type == "ElasticsearchExporter":
            return self.basic_properties
        elif exporter_type == "ClickHouseExporter":
            data = [[
                self.sha256,
                self.md5,
                self.sha1,
                self.parent_sha256,  # NULL for standalone/FAT, fat_hash for slices
                self.basic_properties.child_sha256 or [],  # SHA256 hashes of children
                self.basic_properties.child_architecture or [],  # Architecture names for FAT slices
                self.basic_properties.child_filetype or [],  # Magika filetypes for children
                self.basic_properties.is_fat,  # True for FAT Mach-O containers, NULL otherwise
                self.basic_properties.filename,
                self.basic_properties.sample_name,
                self.basic_properties.filesize,
                self.basic_properties.file_entropy,
                self.basic_properties.filetype,
                self.basic_properties.filetype_mime,
                self.basic_properties.filetype_magika,
                self.first_seen or datetime(1970, 1, 1, tzinfo=timezone.utc),  # From catalog_samples, epoch zero for local files (uses original datetime, not string)
                datetime.now(timezone.utc)
            ]]

            column_names = [
                'sha256', 'md5', 'sha1', 'parent_sha256', 'child_sha256', 'child_architecture', 'child_filetype',
                'is_fat', 'filename', 'sample_name',
                'filesize', 'file_entropy', 'filetype', 'filetype_mime',
                'filetype_magika', 'first_seen', 'analysis_date'
            ]

            column_type_names = [
                'String', 'String', 'String', 'Nullable(String)',
                'Array(FixedString(64))', 'Array(LowCardinality(String))', 'Array(LowCardinality(String))',
                'Nullable(UInt8)', 'Nullable(String)', 'String',
                'UInt64', 'Float64', 'LowCardinality(String)',
                'LowCardinality(String)', 'LowCardinality(String)',
                'DateTime64(3, \'UTC\')',
                'DateTime64(3, \'UTC\')'
            ]

            return data, column_names, column_type_names

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