Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Mohannad Ismail

dblp:280/7922 · DBLP profile ↗
← Back
8ranked-venue papers
3as first author
7since 2021 · last 2026
0000-0003-2976-0532ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 1 first-author · 5 since 2021Systems, architecture and hardware · 3 · 1 first-author · 3 since 2021Security and privacy · 2 · 2 first-author · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Network and information security
4 papers
Systems and software security · 100%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Storage systems · 48% Embedded and real-time systems · 32% Memory systems · 21%
Software engineering, system software, and programming languages
2 papers
Software testing · 57% Operating systems · 43%

Topics — the 20 heaviest of 22, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Systems and software security
memory safety
1.322024
Enforcing C/C++ Type and Scope at Runtime for Control-Flow and Data-Flow Integrity · ASPLOS (3) 2024
VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks · CCS 2021
Systems and software security › memory safety
control-flow integrity
0.922024
Enforcing C/C++ Type and Scope at Runtime for Control-Flow and Data-Flow Integrity · ASPLOS (3) 2024
VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks · CCS 2021
Systems and software security › data integrity
data-flow integrity
0.812024
Enforcing C/C++ Type and Scope at Runtime for Control-Flow and Data-Flow Integrity · ASPLOS (3) 2024
Embedded and real-time systems
intermittent computing
0.812024
IntOS: Persistent Embedded Operating System and Language Support for Multi-threaded Intermittent Computing · OSDI 2024
Systems and software security › exploitation
control-flow hijacking
0.722023
VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks · CCS 2021
Protect the System Call, Protect (Most of) the World with BASTION · ASPLOS (3) 2023
Systems and software security
operating system security
0.712023
Protect the System Call, Protect (Most of) the World with BASTION · ASPLOS (3) 2023
Systems and software security › operating system security
system call protection
0.712023
Protect the System Call, Protect (Most of) the World with BASTION · ASPLOS (3) 2023
Systems and software security › memory safety › hardware-enforced memory safety
memory tagging
0.612022
Tightly Seal Your Sensitive Pointers with PACTight · USENIX Security Symposium 2022
Systems and software security › memory safety
pointer integrity
0.612022
Tightly Seal Your Sensitive Pointers with PACTight · USENIX Security Symposium 2022
Systems and software security › exploitation
memory corruption attack
0.512021
VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks · CCS 2021
Systems and software security › memory safety
memory corruption defense
0.512021
VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks · CCS 2021
Storage systems › crash consistency
crash consistency testing
0.512021
Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores · SOSP 2021
Storage systems
key-value storage
0.512021
Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores · SOSP 2021
Memory systems
non-volatile memory
0.512021
Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores · SOSP 2021
Systems and software security
exploitation
0.212024
Enforcing C/C++ Type and Scope at Runtime for Control-Flow and Data-Flow Integrity · ASPLOS (3) 2024
Systems and software security › exploitation
non-control data attack
0.212024
Enforcing C/C++ Type and Scope at Runtime for Control-Flow and Data-Flow Integrity · ASPLOS (3) 2024
Systems and software security › memory protection
code-pointer integrity
0.112021
VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks · CCS 2021
Software testing › system software testing
crash consistency testing
0.112021
Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores · SOSP 2021
Software testing
systematic testing
0.112021
Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores · SOSP 2021
Storage systems
storage reliability
0.112021
Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores · SOSP 2021

Methods — techniques the papers use, named apart from their topics

dependency analysis · 1.0crash consistency testing · 1.0runtime type enforcement · 0.8runtime scope enforcement · 0.8system call monitoring · 0.7security policy implementation · 0.5runtime enforcement · 0.5
YearPublicationVenuePosition
2026 Lippen: a Lightweight in-Place Pointer Encryption Architecture for Pointer Integrity
Erfan Iravani, Lalit Prasad Peri, Mohannad Ismail, Charitha Tumkur Siddalingaradhya, Changwoo Min, Elif Bilge Kavun, Wenjie Xiong 0001
ISCA3
2024 Enforcing C/C++ Type and Scope at Runtime for Control-Flow and Data-Flow Integrity
abstract
Control-flow hijacking and data-oriented attacks are becoming more sophisticated. These attacks, especially data-oriented attacks, can result in critical security threats, such as leaking an SSL key. Data-oriented attacks are hard to defend against with acceptable performance due to the sheer amount of data pointers present. The root cause of such attacks is using pointers in unintended ways; fundamentally, these attacks rely on abusing pointers to violate the original scope they were used in or the original types that they were declared as.
Mohannad Ismail, Christopher Jelesnianski, Yeongjin Jang, Changwoo Min, Wenjie Xiong 0001
ASPLOS (3)1
2024 IntOS: Persistent Embedded Operating System and Language Support for Multi-threaded Intermittent Computing
Byounguk Min, Mohannad Ismail, Wenjie Xiong 0001, Changhee Jung
OSDI3
2023 Protect the System Call, Protect (Most of) the World with BASTION
abstract
System calls are a critical building block in many serious security attacks, such as control-flow hijacking and privilege escalation attacks. Security-sensitive system calls (e.g., execve, mprotect), especially play a major role in completing attacks. Yet, few defense efforts focus to ensure their legitimate usage, allowing attackers to maliciously leverage system calls in attacks.
Christopher Jelesnianski, Mohannad Ismail, Yeongjin Jang, Dan Williams 0001, Changwoo Min
ASPLOS (3)2
2022 Tightly Seal Your Sensitive Pointers with PACTight
Mohannad Ismail, Andrew Quach, Christopher Jelesnianski, Yeongjin Jang, Changwoo Min
USENIX Security Symposium1
2021 VIP: Safeguard Value Invariant Property for Thwarting Critical Memory Corruption Attacks
abstract
Most modern software attacks are rooted in memory corruption vulnerabilities, which are capable of altering security-sensitive data (e.g., function pointers) to unintended values. This paper introduces a new security property, the Value Invariant Property (VIP), and HyperSpace, our prototype that enforces VIP on security-sensitive data. HyperSpace safeguards the integrity of "data values" instead of enforcing control/data flow, allowing for low runtime overhead, yet defeating critical attacks effectively. We implement four representative security policies including Control Flow Integrity (VIP-CFI), Code Pointer Integrity (VIP-CPI), Virtual function Table protection (VIP-VTPtr), and heap metadata protection based on HyperSpace. We evaluate HyperSpace with SPEC CPU2006 benchmarks and real-world applications (NGINX and PostgreSQL) and test how HyperSpace defeats memory corruption-based attacks, including three real-world exploits and six attacks that bypass existing defenses (COOP, heap exploits, etc.). Our experimental evaluation shows that HyperSpace successfully stops all these attacks with low runtime overhead: 0.88% and 6.18% average performance overhead for VIP-CFI and VIP-CPI, respectively, and overall approximately 13.18% memory overhead with VIP-CPI in SPEC CPU2006.
Mohannad Ismail, Jinwoo Yom, Christopher Jelesnianski, Yeongjin Jang, Changwoo Min
CCS1
2021 Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value Stores
abstract
The advent of non-volatile main memory (NVM) enables the development of crash-consistent software without paying storage stack overhead. However, building a correct crash-consistent program remains very challenging in the presence of a volatile cache. This paper presents Witcher, a systematic crash consistency testing framework, which detects both correctness and performance bugs in NVM-based persistent key-value stores and underlying NVM libraries, without test space explosion and without manual annotations or crash consistency checkers. To detect correctness bugs, Witcher automatically infers likely correctness conditions by analyzing data and control dependencies between NVM accesses. Then Witcher validates if any violation of them is a true crash consistency bug by checking output equivalence between executions with and without a crash. Moreover, Witcher detects performance bugs by analyzing the execution traces. Evaluation with 20 NVM key-value stores based on Intel's PMDK library shows that Witcher discovers 47 (36 new) correctness consistency bugs and 158 (113 new) performance bugs in both applications and PMDK.
Xinwei Fu, Wook-Hee Kim, Ajay Paddayuru Shreepathi, Mohannad Ismail, Sunny Wadkar, Changwoo Min
SOSP4
2020 Poseidon: Safe, Fast and Scalable Persistent Memory Allocator
abstract
Persistent memory allocator is an essential component of any Non-Volatile Main Memory (NVMM) application. A slow memory allocator can bottleneck the entire application stack, while an unsecure memory allocator can render applications inconsistent upon program bugs or system failure. Unlike DRAM-based memory allocators, it is indispensable for an NVMM allocator to guarantee its heap metadata safety from both internal and external errors. An effective NVMM memory allocator should be 1) safe, 2) scalable, and 3) high performing. Unfortunately, none of the existing persistent memory allocators achieve all three requisites. For example, we found that even Intel's de-facto NVMM allocator-libpmemobj is vulnerable to silent data corruption and persistent memory leaks resulting from a simple heap overflow.
Anthony Demeri, Wook-Hee Kim, Madhava Krishnan Ramanathan, Mohannad Ismail, Changwoo Min
Middleware5