Vijay Karamcheti

64 papers A* 2A 19B 4C 3Misc 2Journal 14Unranked 19
YearRankTypeTitle / Venue / Authors
2020 conf
IEEE BigData
Sabarish Vadarevu, Vijay Karamcheti
2020 J jnl
CoRR
Sabarish Vadarevu, Vijay Karamcheti
2013 J jnl
Computer
Andrew A. Chien, Vijay Karamcheti
2011 J jnl
ACM Trans. Internet Techn.
Alexander Totok, Vijay Karamcheti
2010 J jnl
Concurr. Comput. Pract. Exp.
Alexander Totok, Vijay Karamcheti
2010 J jnl
Electron. Commer. Res. Appl.
Alexander Totok, Vijay Karamcheti
2009 B conf
PPoPP
Siu Yau, Vijay Karamcheti, Denis Zorin, Kostadin Damevski, Steven G. Parker
2008 A conf
IPDPS
Shi-Man Yau, Kostadin Damevski, Vijay Karamcheti, Steven G. Parker, Denis Zorin
2007 J jnl
J. Parallel Distributed Comput.
Alexander Totok, Vijay Karamcheti
2007 A conf
IPDPS
Siu-Man Yau, Eitan Grinspun, Vijay Karamcheti, Denis Zorin
2006 B conf
IWQoS
Alexander Totok, Vijay Karamcheti
2006 conf
ICPADS (1)
Congchun He, Vijay Karamcheti
2006 A conf
IPDPS
Siu-Man Yau, Eitan Grinspun, Vijay Karamcheti, Denis Zorin
2005 J jnl
Comput. Commun.
Xiaodong Fu, Vijay Karamcheti
2005 conf
MineNet
Vijay Karamcheti, Davi Geiger, Zvi M. Kedem, S. Muthukrishnan
2005 conf
Component Deployment
Anatoly Akkerman, Alexander Totok, Vijay Karamcheti
2004 A conf
ICDCS
Eric Freudenthal, Vijay Karamcheti
2004 A conf
IPDPS
Anca-Andreea Ivan, Vijay Karamcheti
2004 A conf
HPDC
Tatiana Kichkaylo, Vijay Karamcheti
2004 C conf
IPCCC
Xiaodong Fu, Vijay Karamcheti
2003 A conf
IPDPS
Tatiana Kichkaylo, Anca-Andreea Ivan, Vijay Karamcheti
2003 conf
Security and Management
Prashant Dewan, Partha Dasgupta, Vijay Karamcheti
2003 A conf
ICDCS
Deni Llambiri, Alexander Totok, Vijay Karamcheti
2003 J jnl
J. Parallel Distributed Comput.
Weisong Shi, Eli Collins, Vijay Karamcheti
2003 C conf
DAIS
Xiaodong Fu, Vijay Karamcheti
2003 A conf
HPDC
Anca-Andreea Ivan, Vijay Karamcheti
2002 conf
WebKDD
Enrique Frías-Martínez, Vijay Karamcheti
2002 A conf
IPDPS
Tao Zhao, Vijay Karamcheti
2002 B conf
GLOBECOM
Weisong Shi, Eli Collins, Vijay Karamcheti
2002 A conf
HPDC
Anca-Andreea Ivan, Josh Harman, Michael Allen, Vijay Karamcheti
2002 A conf
ICDCS
Eric Freudenthal, Tracy Pesin, Lawrence Port, Edward Keenan, Vijay Karamcheti
2001 J jnl
Clust. Comput.
Fangzhe Chang, Vijay Karamcheti
2001 conf
USITS
Xiaodong Fu, Weisong Shi, Anatoly Akkerman, Vijay Karamcheti
2000 A conf
ICDCS
Partha Dasgupta, Ayal Itzkovitz, Vijay Karamcheti
2000 A conf
HPDC
Fangzhe Chang, Vijay Karamcheti
2000 J jnl
J. Parallel Distributed Comput.
Fangzhe Chang, Vijay Karamcheti, Zvi M. Kedem
2000 A conf
SC
Tao Zhao, Vijay Karamcheti
2000 conf
CANPC
Xiaodong Fu, Hua Wang, Vijay Karamcheti
1999 conf
SCG
Vijay Karamcheti, Chen Li, Igor Pechtchanski, Chee-Keng Yap
1999 J jnl
J. Parallel Distributed Comput.
Vijay Karamcheti, Andrew A. Chien
1999 conf
IPPS/SPDP
Fangzhe Chang, Vijay Karamcheti, Zvi M. Kedem
1999 conf
Heterogeneous Computing Workshop
Arash Baratloo, Partha Dasgupta, Vijay Karamcheti, Zvi M. Kedem
1999 Misc conf
PDPTA
Ilya Lipkind, Vijay Karamcheti
1999 A conf
OOPSLA
Ilya Lipkind, Igor Pechtchanski, Vijay Karamcheti
1999 Misc conf
PDPTA
Partha Dasgupta, Vijay Karamcheti, Zvi M. Kedem
1998 A conf
SC
Vijay Karamcheti, Andrew A. Chien
1998 J jnl
Softw. Pract. Exp.
Andrew A. Chien, Julian Dolby, Bishwaroop Ganguly, Vijay Karamcheti, Xingbin Zhang
1998
Vijay Karamcheti
1997 conf
ISCOPE
Andrew A. Chien, Julian Dolby, Bishwaroop Ganguly, Vijay Karamcheti, Xingbin Zhang
1997 J jnl
IEEE Concurrency
Scott Pakin, Vijay Karamcheti, Andrew A. Chien
1997 C conf
HIPS
Andrew A. Chien, Julian Dolby, Bishwaroop Ganguly, Vijay Karamcheti, Xingbin Zhang
1997 conf
IPPS
Vijay Karamcheti, Andrew A. Chien
1996 conf
IPPS
Xingbin Zhang, Vijay Karamcheti, Tony Ng, Andrew A. Chien
1996 J jnl
J. Parallel Distributed Comput.
Vijay Karamcheti, John Plevyak, Andrew A. Chien
1995 A* conf
ISCA
Vijay Karamcheti, Andrew A. Chien
1995 A conf
SC
John Plevyak, Vijay Karamcheti, Xingbin Zhang, Andrew A. Chien
1994 conf
Specification of Parallel Algorithms
Andrew A. Chien, Mark Straka, Julian Dolby, Vijay Karamcheti, John Plevyak, Xingbin Zhang
1994 conf
PCRCW
Vijay Karamcheti, Andrew A. Chien
1994 A* conf
ASPLOS
Vijay Karamcheti, Andrew A. Chien
1993 conf
LCPC
John Plevyak, Andrew A. Chien, Vijay Karamcheti
1993 A conf
SC
Vijay Karamcheti, Andrew A. Chien
1993 B conf
COMPSAC
Vijay Karamcheti, Benjamin W. Wah
1992 conf
LCPC
Andrew A. Chien, W. Feng, Vijay Karamcheti, John Plevyak
1991 conf
ASAP
Vijay Karamcheti, Miroslaw Malek
sql/redb_js_tables.sql
← Index sql/redb_js_tables.sql sql
-- JavaScript malware analysis tables
-- Engine: ReplacingMergeTree(analysis_date) — latest analysis wins on re-processing
--
-- File order:
--   1. redb_js_features
--   2. redb_js_suspicious_apis
--   3. redb_js_deobfuscation
--   4. code_text_content              (generic text-content table; JS today,
--                                      PowerShell / Python / email / extracted
--                                      PDF / Office text in the future)
--   5. redb_iocs source_type ALTER    (extends Enum8 with text_raw/text_normalized
--                                      so JS — and any future text-based pipeline —
--                                      can distinguish IOCs found in the raw vs
--                                      normalised surface)
--   6. redb_iocs ioc_type ALTER       (adds registry_key=42 so HKLM/HKCU/HKEY_*
--                                      keys are extracted alongside file paths)
--
-- Decoded strings from JS still go into the shared code_binja_strings_raw
-- table (same schema used by DecompileBinja and DecompileAPK). JS
-- string_encoding values: hex, unicode, charcode, base64, concat. Plain long
-- literals are not extracted here — they're already in code_text_content and
-- scraped by the IOC pipeline over text_raw/text_normalized.
-- string_offset is the line number in the source file.
--
-- redb_js_features.script_type values (file format / container, first match):
--   jse, wsf, hta, embedded_html, wscript, esm, node_module, standalone, unknown
-- redb_js_features.detected_environment values (runtime by API surface, first
-- match):
--   wscript, browser_extension, service_worker, deno, node, browser, unknown

-- 1. Core features & obfuscation metrics (1 row per sample)
CREATE TABLE IF NOT EXISTS redb_js_features (
    sha256 FixedString(64),
    line_count UInt32,
    char_count UInt64,
    text_entropy Float64,
    max_line_length UInt32,
    avg_line_length Float64,
    is_minified UInt8,
    is_likely_obfuscated UInt8,
    obfuscator_name LowCardinality(String),
    obfuscation_score UInt8,
    obfuscation_techniques Array(String),
    eval_count UInt32,
    function_constructor_count UInt32,
    settimeout_setinterval_count UInt32,
    document_write_count UInt32,
    innerhtml_count UInt32,
    unescape_count UInt32,
    fromcharcode_count UInt32,
    atob_count UInt32,
    decodeuri_count UInt32,
    total_function_count UInt32,
    total_variable_count UInt32,
    max_nesting_depth UInt16,
    avg_identifier_length Float64,
    hex_string_count UInt32,
    unicode_escape_count UInt32,
    long_string_count UInt32,
    base64_string_count UInt32,
    comment_ratio Float64,
    script_type LowCardinality(String),
    detected_environment LowCardinality(String),
    analysis_date DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree(analysis_date)
ORDER BY sha256;

-- 2. Suspicious API calls (multi-row per sample)
--
-- `revealed_by_deobf` is 1 when the API only appears after the deobfuscation
-- pass (i.e. the call site is hidden in the raw artefact and surfaces only in
-- text_normalized). Useful for filtering "what did normalisation actually
-- buy us" without re-running the diff.
CREATE TABLE IF NOT EXISTS redb_js_suspicious_apis (
    sha256 FixedString(64),
    api_name String,
    api_category LowCardinality(String),
    call_count UInt32,
    line_numbers Array(UInt32),
    context_snippet String,
    revealed_by_deobf UInt8,
    analysis_date DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree(analysis_date)
ORDER BY (sha256, api_name);

-- 3. Deobfuscation results (1 row per sample)
CREATE TABLE IF NOT EXISTS redb_js_deobfuscation (
    sha256 FixedString(64),
    deobfuscator_used LowCardinality(String),
    deobfuscation_successful UInt8,
    original_size UInt64,
    deobfuscated_size UInt64,
    size_change_ratio Float64,
    original_entropy Float64,
    deobfuscated_entropy Float64,
    new_strings_found UInt32,
    new_apis_found UInt32,
    deobfuscated_sha256 FixedString(64),
    analysis_date DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree(analysis_date)
ORDER BY sha256;

-- 4. Generic text-content table for any text-based artefact (JS today;
--    PowerShell, Python, plain text, email bodies, extracted PDF/Office text
--    in the future). One row per sha256. content_type carries the magika
--    label so callers can filter without joining other tables.
CREATE TABLE IF NOT EXISTS code_text_content (
    sha256 FixedString(64),
    content_type LowCardinality(String),
    text_raw String CODEC(ZSTD(3)),
    text_normalized Nullable(String) CODEC(ZSTD(3)),
    normalizer_used Nullable(String),
    analysis_date DateTime64(3, 'UTC')
) ENGINE = ReplacingMergeTree(analysis_date)
ORDER BY sha256;

-- 5. Extend redb_iocs.source_type Enum8 with two universal text-content
--    surfaces: text_raw (the artefact's original text) and text_normalized
--    (a deobfuscated/canonicalised form). Used by the JS IOC extraction
--    pipeline today; any future text-based pipeline (PowerShell, PDF, etc.)
--    plugs into the same two values.
--
-- Existing rows keep their stored integer values; only newly-inserted rows
-- can use 4/5. The MODIFY COLUMN must list the full final enum, including
-- the existing values (1/2/3) — ClickHouse rejects partial alters.
ALTER TABLE redb_iocs
    MODIFY COLUMN source_type
    Enum8('decompiled_function'=1, 'disassembled_function'=2, 'string'=3,
          'text_raw'=4, 'text_normalized'=5);

-- 6. Extend redb_iocs.ioc_type Enum8 with registry_key=42. Windows registry
--    paths (HKLM\..., HKCU\..., HKEY_LOCAL_MACHINE\...) are a distinct class
--    of IOC from filesystem paths and were previously extracted by nothing.
--    Same MODIFY COLUMN constraint as the source_type alter — the full final
--    enum must be listed.
ALTER TABLE redb_iocs
    MODIFY COLUMN ioc_type
    Enum8('ipv4'=1, 'ipv6'=2, 'fqdn'=3, 'url'=4, 'email'=5, 'server'=6,
          'hash_md5'=10, 'hash_sha1'=11, 'hash_sha256'=12,
          'cve'=20, 'cwe'=21, 'cpe'=22,
          'crypto_btc'=30, 'crypto_eth'=31, 'crypto_xrp'=32, 'crypto_bch'=33,
          'crypto_ada'=34, 'crypto_substrate'=35,
          'path_linux'=40, 'path_windows'=41, 'registry_key'=42,
          'onion'=50);

-- 7. Migrate redb_js_features to the two-tier obfuscation verdict.
--    `is_obfuscated` (binary heuristic at score >=40) is renamed to
--    `is_likely_obfuscated` (heuristic at >=60 + ≥1 strong signal, OR
--    js-x-ray flagged the obfuscator family). `obfuscator_name` is the
--    family name reported by @nodesecure/js-x-ray (jsfuck, obfuscator.io,
--    morse, jjencode, freejsobfuscator, ...) or empty when not detected.
--
--    Run once against an existing deployment. The CREATE TABLE above
--    already reflects the post-migration shape, so fresh installs skip this.
ALTER TABLE redb_js_features
    RENAME COLUMN is_obfuscated TO is_likely_obfuscated;
ALTER TABLE redb_js_features
    ADD COLUMN IF NOT EXISTS obfuscator_name LowCardinality(String) AFTER is_likely_obfuscated;

-- 8. Harmonise code_text_content column names with redb_iocs.source_type
--    enum values. The enum already uses `text_raw` / `text_normalized` for
--    the surface labels; the table previously stored the same data under
--    `content_raw` / `content_normalized`, forcing every join across the two
--    to translate names. Renaming the columns produces a self-documenting
--    schema where `redb_iocs.source_type='text_raw'` points directly at
--    `code_text_content.text_raw`.
--
--    Run once against an existing deployment. The CREATE TABLE above
--    already reflects the post-migration shape, so fresh installs skip this.
ALTER TABLE code_text_content
    RENAME COLUMN content_raw TO text_raw;
ALTER TABLE code_text_content
    RENAME COLUMN content_normalized TO text_normalized;

-- 9. Add revealed_by_deobf flag to redb_js_suspicious_apis. The strings/APIs
--    extractors now scan both the raw source and the deobfuscated text so APIs
--    hidden behind one obfuscation layer (Vjw0rm-style array.join + eval,
--    Dean-Edwards packers, ...) surface in the table. The flag is 1 only when
--    the API was *not* found in the raw source — querying for it isolates
--    "deobf-only" findings without joining redb_js_deobfuscation.
--
--    Run once against an existing deployment. The CREATE TABLE above
--    already reflects the post-migration shape, so fresh installs skip this.
ALTER TABLE redb_js_suspicious_apis
    ADD COLUMN IF NOT EXISTS revealed_by_deobf UInt8 AFTER context_snippet;