Kalyan S. Perumalla

97 papers A 2B 19C 3Misc 17Journal 28Unranked 24
YearRankTypeTitle / Venue / Authors
2022 Misc conf
WSC
Aradhana Soni, Kalyan S. Perumalla, Xueping Li
2021 conf
ANNSIM
James J. Nutaro, Suman Debnath, Kalyan S. Perumalla
2021 conf
ICPP Workshops
Kalyan S. Perumalla, Maksudul Alam
2021 J jnl
Frontiers Big Data
Maksudul Alam, Kalyan S. Perumalla
2021 conf
SAT-CPS@CODASPY
Kalyan S. Perumalla
2020 J jnl
ACM Trans. Parallel Comput.
Md. Maksudul Alam, Maleq Khan, Kalyan S. Perumalla, Madhav V. Marathe
2019 Misc conf
WSC
Srikanth B. Yoginath, Md. Maksudul Alam, Kalyan S. Perumalla
2019 J jnl
ACM Trans. Model. Comput. Simul.
Masatoshi Hanai, Toyotaro Suzumura, Elvis S. Liu, Georgios Theodoropoulos, Kalyan S. Perumalla
2019 conf
IEEE BigData
Olivera Kotevska, Kalyan S. Perumalla, Juan Lopez Jr.
2019 J jnl
Data Sci. Eng.
Md. Maksudul Alam, Kalyan S. Perumalla, Peter Sanders
2019 conf
ICII
Srikanth B. Yoginath, Varisara Tansakul, Supriya Chinthavali, Curtis Taylor, Joshua Hambrick, Philip Irminger, Kalyan S. Perumalla
2019 conf
IPDPS Workshops
Srikanth B. Yoginath, Md. Maksudul Alam, Arvind Ramanathan, Debsindhu Bhowmik, Nouamane Laanait, Kalyan S. Perumalla
2018 conf
SpringSim (ANSS)
Srikanth B. Yoginath, Kalyan S. Perumalla
2018 J jnl
ACM Trans. Model. Comput. Simul.
Srikanth B. Yoginath, Kalyan S. Perumalla
2017 Misc conf
WSC
Kalyan S. Perumalla
2017 J jnl
Integr.
S. Dinesh Kumar, Himanshu Thapliyal, Azhar Mohammad, Kalyan S. Perumalla
2017 conf
SIGSIM-PADS
Till Köster, Kalyan S. Perumalla, Adelinde M. Uhrmacher
2017 conf
IEEE BigData
Md. Maksudul Alam, Kalyan S. Perumalla
2016 conf
ISVLSI
S. Dinesh Kumar, Himanshu Thapliyal, Azhar Mohammad, Vijay Singh, Kalyan S. Perumalla
2016 conf
PASM
Kalyan S. Perumalla, Mohammed M. Olama, Srikanth B. Yoginath
2016 conf
HPCC/SmartCity/DSS
Md. Maksudul Alam, Srikanth B. Yoginath, Kalyan S. Perumalla
2015 J jnl
ACM Trans. Model. Comput. Simul.
Srikanth B. Yoginath, Kalyan S. Perumalla
2015 conf
SIGSIM-PADS
Masatoshi Hanai, Toyotaro Suzumura, Georgios Theodoropoulos, Kalyan S. Perumalla
2015 Misc conf
WSC
Masatoshi Hanai, Toyotaro Suzumura, Georgios Theodoropoulos, Kalyan S. Perumalla
2014 ed.
SIMUTools
Fernando J. Barros, Kalyan S. Perumalla, Roland Ewald
2014 Misc conf
WSC
Srikanth B. Yoginath, Kalyan S. Perumalla
2014 J jnl
ACM Trans. Model. Comput. Simul.
Kalyan S. Perumalla, Alfred J. Park, Vinod Tipparaju
2014 J jnl
Clust. Comput.
Kalyan S. Perumalla, Alfred J. Park
2014 conf
SPECTS
Kalyan S. Perumalla, Alfred J. Park
2014 J jnl
Trans. Comput. Sci.
Kalyan S. Perumalla, Srikanth B. Yoginath
2013 J jnl
J. Parallel Distributed Comput.
Alfred J. Park, Kalyan S. Perumalla
2013 conf
SIGSIM-PADS
Srikanth B. Yoginath, Kalyan S. Perumalla
2013 conf
SimuTools
Srikanth B. Yoginath, Kalyan S. Perumalla
2013 J jnl
ACM Trans. Model. Comput. Simul.
Kalyan S. Perumalla, Vladimir A. Protopopescu
2013 J jnl
J. Parallel Distributed Comput.
Sudip K. Seal, Kalyan S. Perumalla, Steven P. Hirshman
2013 J jnl
Concurr. Comput. Pract. Exp.
Sudip K. Seal, Kalyan S. Perumalla, Steven P. Hirshman
2012 J jnl
Simul.
Kalyan S. Perumalla, Sudip K. Seal
2012 J jnl
Simul.
Kalyan S. Perumalla, Brandon G. Aaby, Srikanth B. Yoginath, Sudip K. Seal
2012 Misc conf
WSC
Kalyan S. Perumalla
2012 Misc conf
WSC
Srikanth B. Yoginath, Kalyan S. Perumalla, Brian J. Henz
2012 B conf
MASCOTS
Srikanth B. Yoginath, Kalyan S. Perumalla, Brian J. Henz
2011 B conf
PADS
Srikanth B. Yoginath, Kalyan S. Perumalla
2011 Misc conf
HiPC
Kalyan S. Perumalla, Alfred J. Park, Vinod Tipparaju
2011 B conf
MASCOTS
Kalyan S. Perumalla, Alfred Park
2011 J jnl
ACM Trans. Model. Comput. Simul.
Sudip K. Seal, Kalyan S. Perumalla
2010 J jnl
J. Comput. Phys.
Steven P. Hirshman, Kalyan S. Perumalla, Vickie E. Lynch, Raúl Sánchez
2010 conf
SimuTools
Brandon G. Aaby, Kalyan S. Perumalla, Sudip K. Seal
2010 Misc conf
WSC
Christopher D. Carothers, Kalyan S. Perumalla
2010 B conf
PADS
Kalyan S. Perumalla, Sudip K. Seal
2010 conf
SimuTools
Kalyan S. Perumalla
2009 B conf
PADS
Kalyan S. Perumalla, Brandon G. Aaby, Srikanth B. Yoginath, Sudip K. Seal
2009 J jnl
Int. J. Simul. Process. Model.
Srikanth B. Yoginath, Kalyan S. Perumalla
2009 B conf
ICPP
Sudip K. Seal, Kalyan S. Perumalla
2009 J jnl
Simul.
Kalyan S. Perumalla
2009 C conf
DS-RT
Kalyan S. Perumalla
2008 conf
SpringSim
Kalyan S. Perumalla, Brandon G. Aaby
2008 B conf
PADS
Kalyan S. Perumalla
2008 B conf
PADS
Srikanth B. Yoginath, Kalyan S. Perumalla
2007 conf
SCSC
Kalyan S. Perumalla, Martin Beckerman
2007 ch.
Handbook of Dynamic System Modeling
Kalyan S. Perumalla
2007 conf
Conf. Computing Frontiers
Kalyan S. Perumalla
2006 Misc conf
WSC
Kalyan S. Perumalla
2006 B conf
PADS
Kalyan S. Perumalla
2006 book
Richard M. Fujimoto, Kalyan S. Perumalla, George F. Riley
2006 J jnl
Simul.
Yarong Tang, Kalyan S. Perumalla, Richard M. Fujimoto, Homa Karimabadi, Jonathan Driscoll, Yuri A. Omelchenko
2006 B conf
PADS
Kalyan S. Perumalla
2006 Misc conf
WSC
Kalyan S. Perumalla
2006 Misc conf
International Conference on Computational Science (2)
Kalyan S. Perumalla, Richard Fujimoto, Homa Karimabadi
2005 B conf
PADS
Yarong Tang, Kalyan S. Perumalla, Richard M. Fujimoto, Homa Karimabadi, Jonathan Driscoll, Yuri A. Omelchenko
2005 Misc conf
WSC
Kalyan S. Perumalla, Richard M. Fujimoto, Prashant J. Thakare, Santosh Pande, Homa Karimabadi, Yuri A. Omelchenko, Jonathan Driscoll
2005 B conf
PADS
Kalyan S. Perumalla
2004 J jnl
ACM Trans. Model. Comput. Simul.
George F. Riley, Mostafa H. Ammar, Richard M. Fujimoto, Alfred Park, Kalyan S. Perumalla, Donghua Xu
2004 B conf
PADS
Alfred Park, Richard M. Fujimoto, Kalyan S. Perumalla
2004 A conf
ACSAC
Kalyan S. Perumalla, Srikanth Sundaragopalan
2004 conf
PARA
Homa Karimabadi, Jonathan Driscoll, Jagrut Dave, Yuri A. Omelchenko, Kalyan S. Perumalla, Richard Fujimoto, Nick Omidi
2003 B conf
MASCOTS
Richard M. Fujimoto, Kalyan S. Perumalla, Alfred Park, Hao Wu, Mostafa H. Ammar, George F. Riley
2003 B conf
PADS
Weidong Shi, Kalyan S. Perumalla, Richard M. Fujimoto
2003 B conf
PADS
Kalyan S. Perumalla, Alfred Park, Richard M. Fujimoto, George F. Riley
2002 B conf
PADS
Kalyan S. Perumalla, Richard M. Fujimoto, Thom McLean, George F. Riley
2002 B conf
PADS
Steve L. Ferenci, Richard M. Fujimoto, Mostafa H. Ammar, Kalyan S. Perumalla, George F. Riley
2001 A conf
ICDCS
George F. Riley, Mostafa H. Ammar, Richard M. Fujimoto, Donghua Xu, Kalyan S. Perumalla
2001 J jnl
Future Gener. Comput. Syst.
Kalyan S. Perumalla, Richard M. Fujimoto
2001 conf
Workshop on Parallel and Distributed Simulation
Kalyan S. Perumalla, Richard M. Fujimoto
2000 B conf
PADS
Steve L. Ferenci, Kalyan S. Perumalla, Richard M. Fujimoto
2000 C conf
DS-RT
Richard M. Fujimoto, Thom McLean, Kalyan S. Perumalla, Ivan Tacic
1999 conf
Workshop on Parallel and Distributed Simulation
Christopher D. Carothers, Kalyan S. Perumalla, Richard Fujimoto
1999 J jnl
ACM Trans. Model. Comput. Simul.
Christopher D. Carothers, Kalyan S. Perumalla, Richard Fujimoto
1999
Kalyan S. Perumalla
1999 Misc conf
WSC
Christopher D. Carothers, Kalyan S. Perumalla, Richard Fujimoto
1998 Misc conf
WSC
Kalyan S. Perumalla, Richard M. Fujimoto
1998 J jnl
IEEE Commun. Mag.
Sandeep Nautam Bhatt, Richard Fujimoto, Andy Ogielski, Kalyan S. Perumalla
1998 J jnl
SIGMETRICS Perform. Evaluation Rev.
Kalyan S. Perumalla, Richard M. Fujimoto, Andrew T. Ogielski
1998 J jnl
SIGMETRICS Perform. Evaluation Rev.
Kalyan S. Perumalla, Matthew Andrews, Sandeep N. Bhatt
1997 Misc conf
WSC
Kalyan S. Perumalla, Matthew Andrews, Sandeep N. Bhatt
1997 Misc conf
WSC
Ioanis Nikolaidis, C. Anthony Cooper, Kalyan S. Perumalla, Richard M. Fujimoto
1995 J jnl
Parallel Process. Lett.
Kalyan S. Perumalla, Narsingh Deo
1993 C conf
ICCI
Sridhar Hannenhalli, Kalyan S. Perumalla, N. Chandrasekharan, R. Sridhar
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"