Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Eunsuk Kang is active.

Publication


Featured researches published by Eunsuk Kang.


ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z | 2008

Formal Modeling and Analysis of a Flash Filesystem in Alloy

Eunsuk Kang; Daniel Jackson

This paper describes the formal modeling and analysis of a design for a flash-based filesystem in Alloy. We model the basic operations of a filesystem as well as features that are crucial to NAND flash hardware, such as wear-leveling and erase-unit reclamation. In addition, we address the issue of fault tolerance by modeling a mechanism for recovery from interrupted filesystem operations due to unexpected power loss. We analyze the correctness of our flash filesystem model by checking trace inclusion against a POSIX-compliant abstract filesystem, in which a file is modeled simply as an array of data elements. The analysis is fully automatic and complete within a finite scope.


embedded software | 2010

Components, platforms and possibilities: towards generic automation for MDA

Ethan K. Jackson; Eunsuk Kang; Markus Dahlweid; Dirk Seifert; Thomas Santen

Model-driven architecture (MDA) is a model-based approach for engineering complex software systems. MDA is particularly attractive for designing embedded systems because models can be easily evolved as hardware and software requirements evolve. However, efforts to apply MDA in industrial settings expose several open problems surrounding tooling: Engineers need automated techniques that are scalable, general, and extensible. In this paper we describe the formula framework as a novel approach towards general automation for MDA. We develop a running example and benchmarks to compare our tools with other state-of-theart approaches.


foundations of computer science | 2010

An approach for effective design space exploration

Eunsuk Kang; Ethan K. Jackson; Wolfram Schulte

Design space exploration (DSE) refers to the activity of exploring design alternatives prior to implementation. The power to operate on the space of potential design candidates renders DSE useful for many engineering tasks, including rapid prototyping, optimization, and system integration. The main challenge in DSE arises from the sheer size of the design space that must be explored. Typically, a large system has millions, if not billions, of possibilities, and so enumerating every point in the design space is prohibitive. In this paper, we present a method for systematically exploring the design space in a cost-effective manner. The key idea is that many of the design candidates may be considered equivalent as far as the user is concerned, and so only a small subset of the space needs to be explored. Our approach takes the user-defined notion of equivalence, and generates symmetry breaking predicates to ensure that the underlying exploration engine does not sample multiple equivalent design candidates. We describe how the method is integrated into our DSE framework, FORMULA, which uses an SMT solver to solve a set of global design constraints and search for valid design instances.


formal methods | 2015

Detection of Design Flaws in the Android Permission Protocol Through Bounded Verification

Hamid Bagheri; Eunsuk Kang; Sam Malek; Daniel Jackson

The ever increasing expansion of mobile applications into nearly every aspect of modern life, from banking to healthcare systems, is making their security more important than ever. Modern smartphone operating systems (OS) rely substantially on the permission-based security model to enforce restrictions on the operations that each application can perform. In this paper, we perform an analysis of the permission protocol implemented in Android, a popular OS for smartphones. We propose a formal model of the Android permission protocol in Alloy, and describe a fully automatic analysis that identifies potential flaws in the protocol. A study of real-world Android applications corroborates our finding that the flaws in the Android permission protocol can have severe security implications, in some cases allowing the attacker to bypass the permission checks entirely.


2016 IEEE/ACM 2nd International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS) | 2016

Model-based security analysis of a water treatment system

Eunsuk Kang; Sridhar Adepu; Daniel Jackson; Aditya P. Mathur

An approach to analyzing the security of a cyber-physical system (CPS) is proposed, where the behavior of a physical plant and its controller are captured in approximate models, and their interaction is rigorously checked to discover potential attacks that involve a varying number of compromised sensors and actuators. As a preliminary study, this approach has been applied to a fully functional water treatment testbed constructed at the Singapore University of Technology and Design. The analysis revealed previously unknown attacks that were confirmed to pose serious threats to the safety of the testbed, and suggests a number of research challenges and opportunities for applying a similar type of formal analysis to cyber-physical security.


international conference on software engineering | 2011

A lightweight code analysis and its role in evaluation of a dependability case

Joseph P. Near; Aleksandar Milicevic; Eunsuk Kang; Daniel Jackson

A dependability case is an explicit, end-to-end argument, based on concrete evidence, that a system satisfies a critical property. We report on a case study constructing a dependability case for the control software of a medical device. The key novelty of our approach is a lightweight code analysis that generates a list of side conditions that correspond to assumptions to be discharged about the code and the environment in which it executes. This represents an unconventional trade-off between, at one extreme, more ambitious analyses that attempt to discharge all conditions automatically (but which cannot even in principle handle environmental assumptions), and at the other, flow- or context-insensitive analyses that require more user involvement. The results of the analysis suggested a variety of ways in which the dependability of the system might be improved.


requirements engineering | 2010

Dependability Arguments with Trusted Bases

Eunsuk Kang; Daniel Jackson

An approach is suggested for arguing that a system is dependable. The key idea is to structure the system so that critical requirements are localized in small, reliable subsets of the systems components called trusted bases. This paper describes an idiom for modeling systems with trusted bases, and a technique for analyzing a dependability argument---the argument that a trusted base is sufficient to establish a requirement.


foundations of software engineering | 2016

Multi-representational security analysis

Eunsuk Kang; Aleksandar Milicevic; Daniel Jackson

Security attacks often exploit flaws that are not anticipated in an abstract design, but are introduced inadvertently when high-level interactions in the design are mapped to low-level behaviors in the supporting platform. This paper proposes a multi-representational approach to security analysis, where models capturing distinct (but possibly overlapping) views of a system are automatically composed in order to enable an end-to-end analysis. This approach allows the designer to incrementally explore the impact of design decisions on security, and discover attacks that span multiple layers of the system. This paper describes Poirot, a prototype implementation of the approach, and reports on our experience on applying Poirot to detect previously unknown security flaws in publicly deployed systems.


the internet of things | 2017

A Toolkit for Construction of Authorization Service Infrastructure for the Internet of Things

Hokeun Kim; Eunsuk Kang; Edward A. Lee; David Broman

The challenges posed by the Internet of Things (IoT) render existing security measures ineffective against emerging networks and devices. These challenges include heterogeneity, operation in open environments, and scalability. In this paper, we propose SST (Secure Swarm Toolkit), an open-source toolkit for construction and deployment of an authorization service infrastructure for the IoT. The infrastructure uses distributed local authorization entities, which provide authorization services that can address heterogeneous security requirements and resource constraints in the IoT. The authorization services can be accessed by network entities through software interfaces provided by SST, called accessors. The accessors enable IoT developers to readily integrate their devices with authorization services without needing to manage cryptographic keys and operations. To rigorously show that SST provides necessary security guarantees, we have performed a formal security analysis using an automated verification tool. In addition, we demonstrate the scalability of our approach with a mathematical analysis, as well as experiments to evaluate security overhead of network entities under different security profiles supported by SST.


foundations of software engineering | 2016

Designing minimal effective normative systems with the help of lightweight formal methods

Jianye Hao; Eunsuk Kang; Jun Sun; Daniel Jackson

Normative systems (i.e., a set of rules) are an important approach to achieving effective coordination among (often an arbitrary number of) agents in multiagent systems. A normative system should be effective in ensuring the satisfaction of a desirable system property, and minimal (i.e., not containing norms that unnecessarily over-constrain the behaviors of agents). Designing or even automatically synthesizing minimal effective normative systems is highly non-trivial. Previous attempts on synthesizing such systems through simulations often fail to generate normative systems which are both minimal and effective. In this work, we propose a framework that facilitates designing of minimal effective normative systems using lightweight formal methods. Given a minimal effective normative system which coordinates many agents must be minimal and effective for a small number of agents, we start with automatically synthesizing one such system with a few agents. We then increase the number of agents so as to check whether the same design remains minimal and effective. If it is, we manually establish an induction proof so as to lift the design to an arbitrary number of agents.

Collaboration


Dive into the Eunsuk Kang's collaboration.

Top Co-Authors

Avatar

Daniel Jackson

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Aleksandar Milicevic

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Joseph P. Near

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Edward A. Lee

University of California

View shared research outputs
Top Co-Authors

Avatar

Hamid Bagheri

University of Nebraska–Lincoln

View shared research outputs
Top Co-Authors

Avatar

Hokeun Kim

University of California

View shared research outputs
Top Co-Authors

Avatar

Sam Malek

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge