Skip to main content

Do Kyung Song

Yonsei University · Computer Science

About the Lab

Professor Do Kyung Song's research lab specializes in computer security, with a focus on system-level vulnerability detection, binary analysis, and malware characterization. The lab develops advanced techniques for dynamic program analysis, including sanitizers and fuzzing frameworks, to identify security flaws in operating system kernels and device drivers. It also pioneers deep learning-based approaches for Android malware familial analysis and cross-platform binary representation to enhance the scalability and accuracy of security tools. The lab's work bridges systems security, program analysis, and machine learning to build more robust and resilient software systems.

binary analysisfuzzingmalware detectionsystem securitydeep learning for security

Research Overview

Papers
19
Total Citations
331
Papers (5y)
10
Primary Field
Computer Science

Research Output Trend

Figures are computed from collected data and may differ slightly.

Publications per year (5y)
10total
2021
2022
2024
2025
2026
Citations per year (5y)
60total
20212022202420252026

Selected Papers

15
1
Article|135 citations·2019
SoK: Sanitizing for Security
Dokyung Song, Julian Lettner, Prabhu Rajasekaran, Yeoul Na, Stijn Volckaert, Per Larsen, Michael Franz
OA

The C and C++ programming languages are notoriously insecure yet remain indispensable. Developers therefore resort to a multi-pronged approach to find security issues before adversaries. These include manual, static, and dynamic program analysis. Dynamic bug finding tools-henceforth "sanitizers"-can find bugs that elude other types of analysis because they observe the actual execution of a program, and can therefore directly observe incorrect program behavior as it happens. A vast number of sani

Artificial IntelligenceComputer Science
2
Article|87 citations·2019
PeriScope: An Effective Probing and Fuzzing Framework for the Hardware-OS Boundary
Dokyung Song, Felicitas Hetzelt, Dipanjan Das, Chad Spensky, Yeoul Na, Stijn Volckaert, Giovanni Vigna, Christopher Kruegel, Jean‐Pierre Seifert, Michael Franz
OA

The OS kernel is an attractive target for remote attackers. If compromised, the kernel gives adversaries full system access, including the ability to install rootkits, extract sensitive information, and perform other malicious actions, all while evading detection. Most of the kernel's attack surface is situated along the system call boundary. Ongoing kernel protection efforts have focused primarily on securing this boundary; several capable analysis and fuzzing frameworks have been developed for

SurgeryMedicine
3
Article|24 citations·2022
Improving cross-platform binary analysis using representation learning via graph alignment
Geunwoo Kim, Sanghyun Hong, Michael Franz, Dokyung Song

Cross-platform binary analysis requires a common representation of binaries across platforms, on which a specific analysis can be performed. Recent work proposed to learn low-dimensional, numeric vector representations (i.e., embeddings) of disassembled binary code, and perform binary analysis in the embedding space. Unfortunately, however, existing techniques fall short in that they are either (i) specific to a single platform producing embeddings not aligned across platforms, or (ii) not desig

Artificial IntelligenceComputer Science
4
Book Chapter|21 citations·2020
Distributed Heterogeneous N-Variant Execution
Alexios Voulimeneas, Dokyung Song, Fabian Parzefall, Yeoul Na, Per Larsen, Michael Franz, Stijn Volckaert
SJR Q2Lecture notes in computer scienceOA
Artificial IntelligenceComputer Science
5
Article|19 citations·2020
Agamotto: Accelerating kernel driver fuzzing with lightweight virtual machine checkpoints
Dokyung Song, Felicitas Hetzelt, Jonghwan Kim, Brent Byunghoon Kang, Jean Pierre Seifert, Michael Franz
eScholarship (California Digital Library)OA

Kernel-mode drivers are challenging to analyze for vulnerabilities, yet play a critical role in maintaining the security of OS kernels. Their wide attack surface, exposed via both the system call interface and the peripheral interface, is often found to be the most direct attack vector to compromise an OS kernel. Researchers therefore have proposed many fuzzing techniques to find vulnerabilities in kernel drivers. However, the performance of kernel fuzzers is still lacking, for reasons such as p

Signal ProcessingComputer Science
6
Article|13 citations·2022
FAM: Featuring Android Malware for Deep Learning-Based Familial Analysis
Younghoon Ban, Sunjun Lee, Dokyung Song, Haehyun Cho, Jeong Hyun Yi
SJR Q1IEEE AccessOA

To handle relentlessly emerging Android malware, deep learning has been widely adopted in the research community. Prior work proposed deep learning-based approaches that use different features of malware, and reported a high accuracy in malware detection, i.e., classifying malware from benign applications. However, familial analysis of real-world Android malware has not been extensively studied yet. Familial analysis refers to the process of classifying a given malware into a family (or a set of

Signal ProcessingComputer Science
7
Article|12 citations·2021
dMVX
Alexios Voulimeneas, Dokyung Song, Per Larsen, Michael Franz, Stijn Volckaert

Multi-variant execution (MVX) systems amplify the effectiveness of software diversity techniques. The key idea is to run multiple diversified program variants in lockstep while providing them with the same input and monitoring their run-time behavior for divergences. Thus, adversaries have to compromise all program variants simultaneously to mount an attack successfully.

Artificial IntelligenceComputer Science
8
Preprint|4 citations·2018
SoK: Sanitizing for Security
Dokyung Song, Julian Lettner, Prabhu Rajasekaran, Yeoul Na, Stijn Volckaert, Per Larsen, Michael Franz
arXiv (Cornell University)OA

The C and C++ programming languages are notoriously insecure yet remain indispensable. Developers therefore resort to a multi-pronged approach to find security issues before adversaries. These include manual, static, and dynamic program analysis. Dynamic bug finding tools --- henceforth "sanitizers" --- can find bugs that elude other types of analysis because they observe the actual execution of a program, and can therefore directly observe incorrect program behavior as it happens. A vast number

Artificial IntelligenceComputer Science
9
Article|4 citations·2025
ASGARD: Protecting On-Device Deep Neural Networks with Virtualization-Based Trusted Execution Environments
Myungsuk Moon, Min-Hee Kim, Joonkyo Jung, Dokyung Song
OA

On-device deep learning, increasingly popular for enhancing user privacy, now poses a serious risk to the privacy of deep neural network (DNN) models.Researchers have proposed to leverage Arm TrustZone's trusted execution environment (TEE) to protect models from attacks originating in the rich execution environment (REE).Existing solutions, however, fall short: (i) those that fully contain DNN inference within a TEE either support inference on CPUs only, or require substantial modifications to c

Artificial IntelligenceComputer Science
10
Article|3 citations·2022
GuardiaNN
Jinwoo Choi, Jaeyeon Kim, Chaemin Lim, Su-Hyun Lee, Jinho Lee, Dokyung Song, Youngsok Kim

As more and more mobile/embedded applications employ Deep Neural Networks (DNNs) involving sensitive user data, mobile/embedded devices must provide a highly secure DNN execution environment to prevent privacy leaks. Aimed at securing DNN data, recent studies execute part of a DNN in a trusted execution environment (e.g., TrustZone) to isolate DNN execution from the other processes; however, as the trusted execution environments for mobile/embedded devices provide limited memory protection, DNN

Artificial IntelligenceComputer Science
11
Article|3 citations·2024
ERASan: Efficient Rust Address Sanitizer
Jiun Min, Dongyeon Yu, Seongyun Jeong, Dokyung Song, Yuseok Jeon

Rust is a rapidly growing system programming language that ensures a speed comparable to traditional C/C++ system programming languages, along with the additional benefit of guaranteed memory safety. However, Rust’s strict security rules make implementing and executing some features challenging. To address this, Rust has introduced unsafe Rust, which is less constrained by these strict rules. Nevertheless, these unsafe Rust, where strict Rust security rules are not fully applied, can cause tempo

Electrical and Electronic EngineeringEngineering
12
Preprint|2 citations·2018
PartiSan: Fast and Flexible Sanitization via Run-Time Partitioning
Julian Lettner, Dokyung Song, Taemin Park, Per Larsen, Stijn Volckaert, Michael Franz
SJR Q2Lecture notes in computer scienceOA
Artificial IntelligenceComputer Science
13
Preprint|2 citations·2019
DMON: A Distributed Heterogeneous N-Variant System
Alexios Voulimeneas, Dokyung Song, Fabian Parzefall, Yeoul Na, Per Larsen, Michael Franz, Stijn Volckaert
arXiv (Cornell University)OA

N-Variant Execution (NVX) systems utilize software diversity techniques for enhancing software security. The general idea is to run multiple different variants of the same program alongside each other while monitoring their run-time behavior. If the internal disparity between the running variants causes observable differences in response to malicious inputs, the monitor can detect such divergences in execution and then raise an alert and/or terminate execution. Existing NVX systems execute multi

Artificial IntelligenceComputer Science
14
Article|1 citations·2025
Moneta: Ex-Vivo GPU Driver Fuzzing by Recalling In-Vivo Execution States
Jaehoon Jung, Jisoo Jang, Young-Soo Jo, Jonas Vinck, Alexios Voulimeneas, Stijn Volckaert, Dokyung Song
OA

Processing Units (GPUs) have become an indispensable part of modern computing infrastructure.They can execute massively parallel tasks on large data sets and have rich user space-accessible APIs for 3D rendering and generalpurpose parallel programming.Unfortunately, the GPU drivers that bridge the gap between these APIs and the underlying hardware have grown increasingly large and complex over the years.Many GPU drivers now expose broad attack surfaces and pose serious security risks.Fuzzing is

Computer Vision and Pattern RecognitionComputer Science
15
Preprint|1 citations·2020
dMVX: Secure and Efficient Multi-Variant Execution in a Distributed Setting
Alexios Voulimeneas, Dokyung Song, Per Larsen, Michael Franz, Stijn Volckaert
Lirias (KU Leuven)OA

Multi-variant execution (MVX) systems amplify the effectiveness of software diversity techniques. The key idea is to run multiple diversified program variants in lockstep while providing them with the same input and monitoring their run-time behavior for divergences. Thus, adversaries have to compromise all program variants simultaneously to mount an attack successfully. Recent work proposed distributed, heterogeneous MVX systems that leverage different ABIs and ISAs to increase the diversity be

Artificial IntelligenceComputer Science

Research Areas

Artificial IntelligenceSignal ProcessingSurgeryElectrical and Electronic EngineeringComputer Vision and Pattern RecognitionComputer Graphics and Computer-Aided Design

Dive deeper into Do Kyung Song's research on Nubint

Open this lab's papers in the app to read with AI, summarize, and cite in your writing.