Naveen Sharma

48 papers A* 1A 6B 6Journal 16Unranked 18
YearRankTypeTitle / Venue / Authors
2026 J jnl
Int. J. Syst. Syst. Eng.
Amit Rathee, Naveen Sharma, Randeep Singh
2026 J jnl
SN Comput. Sci.
Naveen Kumar Singh, Asmita Patel, Naveen Sharma, Nidhi Verma, R. K. Brojen Singh, Saurabh Kumar Sharma
2025 J jnl
Health Inf. Sci. Syst.
Muniraj Gupta, Nidhi Verma, Naveen Sharma, Satyendra Narayan Singh, R. K. Brojen Singh, Saurabh Kumar Sharma
2025 conf
FedEdge-AI@MobiCom
Pi-Wei Chen, Naveen Sharma, Rafal Cupek, Marek Drewniak, Zih-Ching Chen, Jerry Chun-Wei Lin
2024 conf
BRAINS
Naveen Sharma, Bijay Singh, Abhijeet Zilpelwar, Ankush Tiwari, Raghu Sesha Iyengar
2024 A conf
ICWSM
Md Towhidul Absar Chowdhury, Naveen Sharma, Ashiqur R. KhudaBukhsh
2024 J jnl
CoRR
Md Towhidul Absar Chowdhury, Naveen Sharma, Ashiqur R. KhudaBukhsh
2024 A* conf
WWW
Md Towhidul Absar Chowdhury, Soumyajit Datta, Naveen Sharma, Ashiqur R. KhudaBukhsh
2024 J jnl
CoRR
Md Towhidul Absar Chowdhury, Soumyajit Datta, Naveen Sharma, Ashiqur R. KhudaBukhsh
2024 J jnl
Swarm Evol. Comput.
Niranjana Deshpande, Mohamed Wiem Mkaouer, Ali Ouni, Naveen Sharma
2023 A conf
IROS
Ifrah Idrees, Tian Yun, Naveen Sharma, Yunxin Deng, Nakul Gopalan, George Konidaris, Stefanie Tellex
2023 J jnl
CoRR
Ifrah Idrees, Tian Yun, Naveen Sharma, Yunxin Deng, Nakul Gopalan, George Konidaris, Stefanie Tellex
2023 B conf
KES
Naveen Sharma, Rafal Cupek
2022 conf
NLPIR
Md Towhidul Absar Chowdhury, Naveen Sharma
2022 J jnl
IEEE Access
Roop Singh, Lila Iznita Izhar, Irraivan Elamvazuthi, Alaknanda Ashok, Sumit Aole, Naveen Sharma
2022 J jnl
CoRR
Md Towhidul Absar Chowdhury, Naveen Sharma
2022 A conf
ICWS
Niranjana Deshpande, Naveen Sharma, Qi Yu, Daniel E. Krutz
2022 B conf
EvoApplications
Niranjana Deshpande, Mohamed Wiem Mkaouer, Ali Ouni, Naveen Sharma
2021 conf
GECCO Companion
Niranjana Deshpande, Naveen Sharma
2021 conf
iThings/GreenCom/CPSCom/SmartData/Cybermatics
Md Towhidul Absar Chowdhury, Naveen Sharma
2021 A conf
ICWS
Niranjana Deshpande, Naveen Sharma, Qi Yu, Daniel E. Krutz
2020 conf
ECSA Companion
Niranjana Deshpande, Naveen Sharma
2020 conf
IDSTA
Muhammad Fazalul Rahman, Naveen Sharma
2019 J jnl
Comput. Math. Methods
Vishal Gupta, Naveen Mani, Naveen Sharma
2018 ed.
ISECX
Y. Raghu Reddy, Vasudeva Varma, Jane Cleland-Huang, Umesh Bellur, Shubashsis Sengupta, Naveen Sharma, Ramesh Loganathan, Richa Sharma, Santonu Sarkar
2014 J jnl
Database J. Biol. Databases Curation
Naveen Sharma, Mohammad Samir Farooqi, Krishna Kumar Chaturvedi, Shashi Bhushan Lal, Monendra Grover, Anil Rai, Pankaj Pandey
2013 conf
IEEE CLOUD
Gueyoung Jung, Naveen Sharma, Frank Goetz, Tridib Mukherjee
2013 B conf
SERVICES
Gueyoung Jung, Tridib Mukherjee, Shruti Kunde, Hyunjoo Kim, Naveen Sharma, Frank Goetz
2013 J jnl
IEEE Trans. Software Eng.
Sriram Kailasam, Nathan Gnanasambandam, Dharanipragada Janakiram, Naveen Sharma
2012 J jnl
ACM Trans. Auton. Adapt. Syst.
Andres Quiroz, Manish Parashar, Nathan Gnanasambandam, Naveen Sharma
2012 B conf
CC
Jing Yang, Gogul Balakrishnan, Naoto Maeda, Franjo Ivancic, Aarti Gupta, Nishant Sinha, Sriram Sankaranarayanan, Naveen Sharma
2012 A conf
ICWS
Hua Liu, Yasmine Charif, Gueyoung Jung, Andres Quiroz, Frank Goetz, Naveen Sharma
2011 J jnl
Int. J. Comput. Intell. Appl.
Mahua Bhattacharya, Naveen Sharma, Vaibhav Goyal, Sagar Bhatia, Arpita Das
2011 B conf
K-CAP
Vinay K. Chaudhri, Nikhil Dinesh, John Pacheco, Gary Ng, Peter Clark, Andrew Goldenkranz, Patrice Seyed, Naveen Sharma
2010 conf
ICAC
Andres Quiroz, Manish Parashar, Nathan Gnanasambandam, Naveen Sharma
2010 conf
ICPP Workshops
Sriram Kailasam, Nathan Gnanasambandam, Dharanipragada Janakiram, Naveen Sharma
2010 A conf
HPDC
Brent Rood, Nathan Gnanasambandam, Michael J. Lewis, Naveen Sharma
2009 J jnl
Clust. Comput.
Andres Quiroz, Nathan Gnanasambandam, Manish Parashar, Naveen Sharma
2009 conf
GRID
Andres Quiroz, Hyunjoo Kim, Manish Parashar, Nathan Gnanasambandam, Naveen Sharma
2008 conf
ICAC
Andres Quiroz, Manish Parashar, Nathan Gnanasambandam, Naveen Sharma
2008 conf
ICC
Jian Ni, Jie Lin, S. J. Harrington, Naveen Sharma
2008 conf
PACIS
Naveen Sharma, Paul Couchman, Zoe Wong, Luke Houghton
2006 J jnl
IEEE Trans. Software Eng.
Naveen Sharma, Padmaja Joshi, Rushikesh K. Joshi
2006 conf
ICAC
Nathan Gnanasambandam, Naveen Sharma, Soundar R. T. Kumara, Hua Liu
2005 conf
KES (1)
Naveen Sharma, Dharmendra Sharma
2000 conf
AIWoRC
Naveen Sharma, Xin Xu, Dipak Pravin
1991 conf
PP
Naveen Sharma, Paul S. Wang
1988 B conf
ISSAC
Naveen Sharma, Paul S. Wang
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"