Onur Ozan Koyluoglu

106 papers B 29C 3Misc 3Journal 62Unranked 9
YearRankTypeTitle / Venue / Authors
2021 conf
MSML
Amirali Aghazadeh, Vipul Gupta, Alex DeWeese, Onur Ozan Koyluoglu, Kannan Ramchandran
2021 J jnl
IEEE Trans. Cloud Comput.
Gokhan Calis, Swetha Shivaramaiah, Onur Ozan Koyluoglu, Loukas Lazos
2021 J jnl
IEEE J. Sel. Areas Inf. Theory
Swanand Kadhe, Anoosheh Heidarzadeh, Alex Sprintson, Onur Ozan Koyluoglu
2020 J jnl
CoRR
Amirali Aghazadeh, Vipul Gupta, Alex DeWeese, Onur Ozan Koyluoglu, Kannan Ramchandran
2020 B conf
ISIT
Swanand Kadhe, Onur Ozan Koyluoglu, Kannan Ramchandran
2020 J jnl
CoRR
Swanand Kadhe, Onur Ozan Koyluoglu, Kannan Ramchandran
2020 J jnl
CoRR
Swanand Kadhe, Nived Rajaraman, Onur Ozan Koyluoglu, Kannan Ramchandran
2019 B conf
ISIT
Swanand Kadhe, Onur Ozan Koyluoglu, Kannan Ramchandran
2019 J jnl
CoRR
Swanand Kadhe, Onur Ozan Koyluoglu, Kannan Ramchandran
2019 B conf
ITW
Swanand Kadhe, Anoosheh Heidarzadeh, Alex Sprintson, Onur Ozan Koyluoglu
2019 J jnl
CoRR
Swanand Kadhe, Anoosheh Heidarzadeh, Alex Sprintson, Onur Ozan Koyluoglu
2019 J jnl
Neural Comput.
David M. Schwartz, Onur Ozan Koyluoglu
2019 J jnl
J. Univers. Comput. Sci.
Yanling Chen, Onur Ozan Koyluoglu, A. J. Han Vinck
2019 J jnl
IEEE Trans. Inf. Forensics Secur.
Berk Akgun, Marwan Krunz, Onur Ozan Koyluoglu
2018 J jnl
Adv. Math. Commun.
Gokhan Calis, Onur Ozan Koyluoglu
2018 J jnl
IEEE Trans. Inf. Theory
Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2018 J jnl
IEEE Trans. Inf. Forensics Secur.
Yanling Chen, Onur Ozan Koyluoglu, A. J. Han Vinck
2018 J jnl
Neural Networks
Zhengzhong Liang, David M. Schwartz, Gregory Ditzler, Onur Ozan Koyluoglu
2017 J jnl
IEEE Commun. Lett.
Gokhan Calis, Onur Ozan Koyluoglu
2017 conf
Allerton
Islam Samy, Onur Ozan Koyluoglu, Ankit Singh Rawat
2017 J jnl
IEEE Trans. Commun.
Berk Akgun, Onur Ozan Koyluoglu, Marwan Krunz
2017 J jnl
IEEE Trans. Inf. Theory
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2017 J jnl
IEEE Trans. Inf. Theory
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2017 J jnl
CoRR
Yanling Chen, Onur Ozan Koyluoglu, A. J. Han Vinck
2017 B conf
ITW
Yanling Chen, Onur Ozan Koyluoglu, A. J. Han Vinck
2017 J jnl
CoRR
David M. Schwartz, Onur Ozan Koyluoglu
2017 conf
CNS
Berk Akgun, Marwan Krunz, Onur Ozan Koyluoglu
2017 J jnl
CoRR
Gokhan Calis, Swetha Shivaramaiah, Onur Ozan Koyluoglu, Loukas Lazos
2017 B conf
ISIT
Islam Samy, Gokhan Calis, Onur Ozan Koyluoglu
2017 J jnl
CoRR
Berk Akgun, Marwan Krunz, Onur Ozan Koyluoglu
2016 J jnl
CoRR
Gokhan Calis, Onur Ozan Koyluoglu
2016 J jnl
CoRR
Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2016 B conf
ISIT
Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2016 J jnl
CoRR
Berk Akgun, Onur Ozan Koyluoglu, Marwan Krunz
2016 J jnl
IEEE Trans. Commun.
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2016 C conf
ISITA
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2016 J jnl
Theor. Comput. Sci.
Yongseok Yoo, Onur Ozan Koyluoglu, Sriram Vishwanath, Ila Fiete
2016 C conf
ISITA
Yanling Chen, Onur Ozan Koyluoglu, A. J. Han Vinck
2016 C conf
ISITA
Gokhan Calis, Onur Ozan Koyluoglu
2016 J jnl
CoRR
Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2016 Misc conf
ITA
Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2016 J jnl
IEEE Trans. Inf. Theory
Onur Ozan Koyluoglu, Rajiv Soundararajan, Sriram Vishwanath
2016 B conf
GLOBECOM
Swetha Shivaramaiah, Gokhan Calis, Onur Ozan Koyluoglu, Loukas Lazos
2015 B conf
ISIT
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2015 J jnl
CoRR
Hongbo Si, Onur Ozan Koyluoglu, Kumar Appaiah, Sriram Vishwanath
2015 J jnl
CoRR
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2015 J jnl
CoRR
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2015 J jnl
CoRR
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2015 conf
ICC Workshops
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2015 B conf
ISIT
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2015 B conf
GLOBECOM
Berk Akgun, Onur Ozan Koyluoglu, Marwan Krunz
2014 B conf
ISIT
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2014 B conf
ISIT
Yanling Chen, Onur Ozan Koyluoglu, Aydin Sezgin
2014 J jnl
IEEE Trans. Commun.
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2014 J jnl
CoRR
Gokhan Calis, Onur Ozan Koyluoglu
2014 B conf
ISIT
Gokhan Calis, Onur Ozan Koyluoglu
2014 J jnl
IEEE Trans. Inf. Theory
Onur Ozan Koyluoglu, Ankit Singh Rawat, Sriram Vishwanath
2014 conf
ISCCSP
Ankit Singh Rawat, Natalia Silberstein, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 J jnl
IEEE Trans. Inf. Theory
Aly El Gamal, Onur Ozan Koyluoglu, Moustafa Youssef, Hesham El Gamal
2013 J jnl
CoRR
Govinda M. Kamath, N. Prakash, V. Lalitha, P. Vijay Kumar, Natalia Silberstein, Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 B conf
ISIT
Govinda M. Kamath, Natalia Silberstein, N. Prakash, Ankit Singh Rawat, V. Lalitha, Onur Ozan Koyluoglu, P. Vijay Kumar, Sriram Vishwanath
2013 J jnl
CoRR
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 J jnl
IEEE Trans. Commun.
Karim Khalil, Onur Ozan Koyluoglu, Hesham El Gamal, Moustafa Youssef
2013 J jnl
CoRR
Natalia Silberstein, Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 B conf
ISIT
Natalia Silberstein, Ankit Singh Rawat, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 Misc conf
ITA
Ankit Singh Rawat, Natalia Silberstein, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 J jnl
CoRR
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 J jnl
CoRR
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 B conf
ITW
Hongbo Si, Onur Ozan Koyluoglu, Sriram Vishwanath
2013 B conf
ISIT
Ankit Singh Rawat, Onur Ozan Koyluoglu, Natalia Silberstein, Sriram Vishwanath
2013 B conf
ISIT
Onur Ozan Koyluoglu, Ankit Singh Rawat, Sriram Vishwanath
2012 conf
Allerton Conference
Yongseok Yoo, Onur Ozan Koyluoglu, Sriram Vishwanath, Ila Fiete
2012 J jnl
CoRR
Onur Ozan Koyluoglu, Kumar Appaiah, Hongbo Si, Sriram Vishwanath
2012 B conf
ISIT
Onur Ozan Koyluoglu, Kumar Appaiah, Hongbo Si, Sriram Vishwanath
2012 J jnl
IEEE Trans. Inf. Theory
Onur Ozan Koyluoglu, Can Emre Koksal, Hesham El Gamal
2012 J jnl
CoRR
Ankit Singh Rawat, Onur Ozan Koyluoglu, Natalia Silberstein, Sriram Vishwanath
2012 J jnl
IEEE Trans. Inf. Forensics Secur.
Onur Ozan Koyluoglu, Hesham El Gamal
2012 conf
Sarnoff Symposium
Mohamed Fadel, Ahmed Hindy, Amr El-Keyi, Mohammed Nafie, Onur Ozan Koyluoglu, Antonia M. Tulino
2012 J jnl
CoRR
Onur Ozan Koyluoglu, Ankit Singh Rawat, Sriram Vishwanath
2011 J jnl
IEEE Trans. Inf. Theory
Onur Ozan Koyluoglu, Hesham El Gamal
2011 J jnl
IEEE Trans. Inf. Theory
Onur Ozan Koyluoglu, Hesham El Gamal, Lifeng Lai, H. Vincent Poor
2011 B conf
WCNC
Mohammad Shahmohammadi, Onur Ozan Koyluoglu, Tamer M. S. Khattab, Hesham El Gamal
2011 B conf
ISIT
Mohammad Shahmohammadi, Onur Ozan Koyluoglu, Tamer M. S. Khattab, Hesham El Gamal
2011 conf
Allerton
Kumar Appaiah, Onur Ozan Koyluoglu, Sriram Vishwanath
2011 B conf
ISIT
Onur Güngör, Onur Ozan Koyluoglu, Hesham El Gamal, Can Emre Koksal
2011 J jnl
CoRR
Onur Ozan Koyluoglu, Rajiv Soundararajan, Sriram Vishwanath
2011 conf
Allerton
Onur Ozan Koyluoglu, Rajiv Soundararajan, Sriram Vishwanath
2010 Misc conf
ITA
Onur Ozan Koyluoglu, Can Emre Koksal, Hesham El Gamal
2010 J jnl
CoRR
Onur Ozan Koyluoglu, Hesham El Gamal
2010 B conf
PIMRC
Onur Ozan Koyluoglu, Hesham El Gamal
2010 B conf
ISIT
Elizabeth Toher, Onur Ozan Koyluoglu, Hesham El Gamal
2010 J jnl
CoRR
Aly El Gamal, Onur Ozan Koyluoglu, Moustafa Youssef, Hesham El Gamal
2009 B conf
ISIT
Onur Ozan Koyluoglu, Mohammad Shahmohammadi, Hesham El Gamal
2009 J jnl
CoRR
Onur Ozan Koyluoglu, Hesham El Gamal
2009 J jnl
CoRR
Onur Ozan Koyluoglu, Can Emre Koksal, Hesham El Gamal
2009 J jnl
IEEE Trans. Wirel. Commun.
Onur Ozan Koyluoglu, Hesham El Gamal
2009 J jnl
CoRR
Karim Khalil, Moustafa Youssef, Onur Ozan Koyluoglu, Hesham El Gamal
2009 J jnl
CoRR
Onur Ozan Koyluoglu, Hesham El Gamal
2009 B conf
ISIT
Karim Khalil, Moustafa Youssef, Onur Ozan Koyluoglu, Hesham El Gamal
2009 J jnl
CoRR
Karim Khalil, Onur Ozan Koyluoglu, Hesham El Gamal, Moustafa Youssef
2008 J jnl
CoRR
Onur Ozan Koyluoglu, Hesham El Gamal, Lifeng Lai, H. Vincent Poor
2008 J jnl
CoRR
Onur Ozan Koyluoglu, Hesham El Gamal
2008 J jnl
CoRR
Onur Ozan Koyluoglu, Hesham El Gamal, Lifeng Lai, H. Vincent Poor
2008 B conf
PIMRC
Onur Ozan Koyluoglu, Hesham El Gamal
2008 B conf
ISIT
Onur Ozan Koyluoglu, Hesham El Gamal, Lifeng Lai, H. Vincent Poor
2007 B conf
ISIT
Onur Ozan Koyluoglu, Hesham El Gamal
Docker-README.md
← Index Docker-README.md markdown
# REDB Docker Setup

This document describes the Docker containerization for the REDB malware analysis framework.

## Overview

REDB has been containerized as a single unified image that supports both feature extraction and decompilation analysis. The container is stateless, processes files from S3 or local mounts, and exports results to ClickHouse database or via API callbacks.

## Architecture

- **Single Unified Container**: One image handles both feature extraction and decompilation
- **Runtime Tool Installation**: Tools (CAPA, DIE, Binary Ninja) installed at runtime from host snapshots
- **Stateless Processing**: No persistent storage required between runs
- **Multiple Invocation Modes**: Supports `--nomad-job`, `--s3`, `--s3-solo`, and `--path` modes
- **External Dependencies**: Connects to external ClickHouse and S3 services

## Files Structure

```
├── Dockerfile                 # Single unified container definition
├── docker-build.sh            # Build script with Docker Desktop bug workaround
├── docker-push.sh             # Push script to registry
├── test-docker.sh             # Container testing script
├── test-nomad.sh              # Nomad job mode testing
├── .dockerignore              # Build context exclusions
└── scripts/
    └── setup-and-run.sh       # Runtime tool setup entrypoint
```

## Tool Installation Strategy

The container uses a **runtime installation** approach:

1. **Base Image**: Contains Python dependencies and REDB code
2. **Runtime Setup**: `scripts/setup-and-run.sh` configures tools at container start
3. **Host Snapshots**: Binary Ninja installed from `/opt/binaryninja` if available
4. **System Tools**: CAPA and DIE expected at `/usr/bin/capa` and `/usr/bin/nfdc`

## Build and Run

### 1. Build Container

```bash
# Build unified image
./docker-build.sh

# Manual build
docker build --platform linux/amd64 -f Dockerfile -t redb:latest .
```

### 2. Run Modes

#### Nomad Job Mode (Primary)
```bash
# Feature extraction
docker run --rm \
  -e JOB_ID="analysis_001" \
  -e S3_KEY="samples/malware.exe" \
  -e S3_BUCKET="malware-bucket" \
  -e WORKER_TYPE="feature_extraction" \
  -e CALLBACK_URL="https://api.example.com/callbacks" \
  -e ANALYSIS_MODULES="BasicPropertiesExtractor,PEFeaturesExtractor" \
  -e CLICKHOUSE_HOST="clickhouse.example.com" \
  -e S3_ENDPOINT="s3.example.com" \
  -e S3_ACCESS_KEY="your-key" \
  -e S3_SECRET_KEY="your-secret" \
  redb:latest python3 start.py --nomad-job

# Decompilation (same container, different flags)
docker run --rm \
  -e JOB_ID="analysis_002" \
  -e S3_KEY="samples/malware.exe" \
  -e S3_BUCKET="malware-bucket" \
  -e WORKER_TYPE="decompilation" \
  -e CALLBACK_URL="https://api.example.com/callbacks" \
  -e ANALYSIS_MODULES="all" \
  -v /opt/binaryninja:/opt/binaryninja:ro \
  redb:latest python3 start.py --nomad-job --decompile
```

#### S3 Solo Mode
```bash
# Process single sample by S3 key (standard sharded path)
docker run --rm \
  -e S3_BUCKET="samples-bucket" \
  -e CLICKHOUSE_HOST="clickhouse.example.com" \
  -e S3_ENDPOINT="s3.example.com" \
  -e INDEX_PREFIX="redb" \
  -e REPO="test-analysis" \
  redb:latest python3 start.py --s3-solo "09/f7/09f7d02a3c2382199458c98a62b045145ee54ab6aba86166aecf3d10c3c1444c.zip"

# Process private sample (with prepath)
docker run --rm \
  -e S3_BUCKET="samples-bucket" \
  -e CLICKHOUSE_HOST="clickhouse.example.com" \
  -e S3_ENDPOINT="s3.example.com" \
  -e INDEX_PREFIX="redb" \
  -e REPO="test-analysis" \
  redb:latest python3 start.py --s3-solo "private/ab/cd/abcd1234567890abcdef1234567890abcdef1234567890abcdef123456.zip"
```

#### Local Files Mode
```bash
# Mount local samples
docker run --rm \
  -v /path/to/samples:/samples:ro \
  -v ./logs:/app/logs \
  -e CLICKHOUSE_HOST="clickhouse.example.com" \
  redb:latest python3 start.py --path /samples --repo local_test --index_prefix redb
```

## Environment Variables

### Required for Nomad Job Mode
- `JOB_ID` - Unique job identifier
- `S3_KEY` - S3 object key for sample
- `S3_BUCKET` - S3 bucket name
- `WORKER_TYPE` - "feature_extraction" or "decompilation"
- `CALLBACK_URL` - API endpoint for results
- `ANALYSIS_MODULES` - Comma-separated extractor list or "all"

### Database Configuration
- `CLICKHOUSE_HOST` - ClickHouse server hostname
- `CLICKHOUSE_PORT` - Port (default: 8123)
- `CLICKHOUSE_USER` - Database user (default: default)
- `CLICKHOUSE_PASSWORD` - Database password
- `CLICKHOUSE_DATABASE` - Database name (default: default)

### S3 Configuration
- `S3_ENDPOINT` - S3 endpoint URL
- `S3_ACCESS_KEY` - S3 access key
- `S3_SECRET_KEY` - S3 secret key
- `S3_SECURE` - "true" or "false" for HTTPS

### Processing Configuration
- `INDEX_PREFIX` - Database table prefix (default: redb)
- `REPO` - Repository identifier for this analysis batch
- `BATCH_SIZE` - Processing batch size (default: 10)
- `REDB_TIMEOUT` - Analysis timeout in seconds (default: 300)

### Tool Timeouts
- `CAPA_TIMEOUT` - CAPA analysis timeout (default: 300)
- `DIE_TIMEOUT` - DIE analysis timeout (default: 180)
- `BINJA_TIMEOUT` - Binary Ninja timeout (default: 1200)
- `DECOMPILE_EXTRACTOR_TIMEOUT` - Decompilation timeout (default: 2580)

## Binary Ninja Setup

For decompilation capabilities, mount Binary Ninja from host:

```bash
# Mount Binary Ninja installation
-v /opt/binaryninja:/opt/binaryninja:ro

# Mount license file
-v /path/to/license.dat:/home/analyzer/.binaryninja/license.dat:ro
```

The container will automatically detect and configure Binary Ninja at runtime.

## Registry Deployment

### Push to Registry
```bash
# Tag and push
./docker-push.sh

# Or manually
docker tag redb:latest your-registry/redb:latest
docker push your-registry/redb:latest
```

### Pull and Run
```bash
docker pull your-registry/redb:latest
docker run your-registry/redb:latest python3 start.py --nomad-job
```

## Testing

### Container Functionality Test
```bash
# Test with S3 key (standard sharded path)
./test-docker.sh "09/f7/09f7d02a3c2382199458c98a62b045145ee54ab6aba86166aecf3d10c3c1444c.zip"

# Test with private sample S3 key
./test-docker.sh "private/ab/cd/abcd1234567890abcdef1234567890abcdef1234567890abcdef123456.zip"
```

### Nomad Job Architecture Test
```bash
# Test Nomad job mode
./test-nomad.sh
```

## Development

### Interactive Container
```bash
# Debug container interactively
docker run -it --entrypoint /bin/bash redb:latest

# Check tool availability
docker run --rm redb:latest which python3
docker run --rm redb:latest ls -la /usr/bin/capa
```

### Build Troubleshooting

The build script includes workarounds for Docker Desktop bugs:

```bash
# If build hangs at "exporting to image", press Ctrl+C
# The image will still be created and tagged automatically
./docker-build.sh
```

### Container Logs
```bash
# View logs from mounted directory
docker run -v ./logs:/app/logs redb:latest python3 start.py --path /samples
tail -f logs/*.txt
```

## Production Notes

### Resource Requirements
- **Memory**: 2-4GB recommended (8GB for decompilation)
- **CPU**: 2+ cores recommended
- **Disk**: Minimal (stateless container)
- **Network**: Access to ClickHouse and S3 services

### Security
- Container runs as non-root user `analyzer` (UID 1000)
- Sample files should be mounted read-only
- No persistent state between container runs
- Isolated processing environment for malware analysis

### Deployment Architecture

This container is designed for:
- **Nomad job dispatch**: Single-use containers processing one sample each
- **Kubernetes jobs**: Batch processing with external orchestration
- **CI/CD pipelines**: Automated analysis in build systems
- **Development**: Local testing and debugging

The unified container approach means the same image handles both feature extraction and decompilation - the difference is only in the command-line flags used when starting the container.