John Knight Career Enhancement Assistant Professor Computer Science
Bio
Ph.D. in Computer Science, Purdue University, 2018
Human always makes mistakes. Cybercriminals aim to exploit vulnerabilities that are essentially mistakes in software/hardware systems. I aim to prevent them for good.
As we are more and more surrounded by computer systems, we are getting more and more vulnerable to cybercriminals that exploit those vulnerabilities. As you may have seen on media, cybercriminals are getting smarter and powerful than ever before, with the state-level supports and tremendous financial and political leverages. Software plays a critical role in cyber defense because (1) most systems rely on software that is basically buggy all the time and (2) software sits between users and hardware where even when hardware has vulnerabilities, software patches can rescue them.
I aim to solve this pressing problem: protecting software systems against cybercriminals by understanding the causes of vulnerabilities and fixing them.
My research interests include software systems security (i.e., securing software to prevent cyber attacks), cyber forensics (i.e., recovering cyber forensic evidence from data/programs), and software engineering (software testing and reverse-engineering). My research aims to build systems that automatically analyze, understand, and enhance software systems on various environments and platforms including PC, embedded devices, IoT, CPS, etc.
Awards
ACM SIGPLAN Distinguished Paper Award2019
National Science Foundation CRII Award2019
Maurice H. Halstead Memorial Award2017
ACM SIGSOFT Distinguished Paper Award2013
IEEE ASE (Automated Software Engineering) Best Paper Award2013
Internet of Things/Cyber Physical Systems (IoT/CPS) Security
Cyber Forensics
Selected Publications
MalMax: Multi-Aspect Execution for Automated Dynamic Web Server Malware Analysis ABSIn Proc. of the 26th ACM Conference on Computer and Communications Security (CCS'19),
PMP: Cost-effective Forced Execution with Probabilistic Memory Pre-planning In Proc. of the 41st IEEE Symposium on Security and Privacy (S&P'20)
TARDIS: Rolling Back The Clock On CMS-Targeting Cyber Attacks In Proc. of the 41st IEEE Symposium on Security and Privacy (S&P'20)
BDA: Practical Dependence Analysis for Binary Executables by Unbiased Whole-program Path Sampling and Per-path Abstract Interpretation In Proc. of the 2019 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'19), Distinguished Paper Award
Probabilistic Disassembly In Proc. of the 41st International Conference on Software Engineering (ICSE'19)
MCI: Modeling-based Causality Inference in Audit Logging for Attack Investigation ABSIn Proc. of the 25th Network and Distributed System Security Symposium (NDSS'18)
A2C: Self Destructing Exploit Executions via Input Perturbation ABSIn Proc. of the 24th Network and Distributed System Security Symposium (NDSS'17)
LDX: Causality Inference by Lightweight Dual Execution ABSIn Proc. of the 21st International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'16)
PIEtrace: Platform Independent Executable Trace ABSIn Proc. of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE'13), Distinguished Paper Award