Howard E. Shrobe

dblp:s/HowardEShrobe · also Howard Elliot Shrobe, Howard J. Shrobe · DBLP profile ↗
← Back
36ranked-venue papers
7as first author
5since 2021 · last 2022
0000-0003-0323-4606ORCID · verified

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

Artificial intelligence and machine learning · 13 · 6 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 9 · 6 first-authorHuman-computer interaction and ubiquitous computing · 6Security and privacy · 5 · 1 first-author · 2 since 2021Systems, architecture and hardware · 3 · 1 since 2021Computer networks · 3Software engineering, systems software and programming languages · 3Applied, interdisciplinary, general and emerging computing · 3 · 2 since 2021
YearPublicationVenuePosition
2022 Preventing Kernel Hacks with HAKCs
Derrick Paul McKee, Yianni Giannaris, Carolina Ortega, Howard E. Shrobe, Mathias Payer, Hamed Okhravi, Nathan Burow
NDSS4
2021 Keeping Safe Rust Safe with Galeed
abstract
Rust is a programming language that simultaneously offers high performance and strong security guarantees. Safe Rust (i.e., Rust code that does not use the unsafe keyword) is memory and type safe. However, these guarantees are violated when safe Rust interacts with unsafe code, most notably code written in other programming languages, including in legacy C/C++ applications that are incrementally deploying Rust. This is a significant problem as major applications such as Firefox, Chrome, AWS, Windows, and Linux have either deployed Rust or are exploring doing so. It is important to emphasize that unsafe code is not only unsafe itself, but also it breaks the safety guarantees of ‘safe’ Rust; e.g., a dangling pointer in a linked C/C++ library can access and overwrite memory allocated to Rust even when the Rust code is fully safe.
Elijah Rivera, Samuel Mergendahl, Howard E. Shrobe, Hamed Okhravi, Nathan Burow
ACSAC3
2021 Modeling human planning in a life-like search-and-rescue mission
Zhutian Yang, Marta Kryven, Howard E. Shrobe, Josh Tenenbaum
CogSci3
2021 Towards Scalable Security of Real-time Applications: A Formally Certified Approach
abstract
In this paper, we present our ongoing work to develop an efficient and scalable verification method to achieve runtime security of real-time applications with strict performance requirements. The method allows to specify (functional and non-functional) behaviour of a real-time application and a set of known attacks/threats. The challenge here is to prove that the runtime application execution is at the same time (i) correct w.r.t. the functional specification and (ii) protected against the specified set of attacks, without violating any non-functional specification (e.g., real-time performance). To address the challenge, first we classify the set of attacks into computational, data integrity and communication attacks. Second, we decompose each class into its declarative properties and definitive properties. A declarative property specifies an attack as a one big-step relation between initial and final state without considering intermediate states, while a definitive property specifies an attack as a composition of many small-step relations considering all intermediate states between initial and final state. Semantically, the declarative property of an attack is equivalent to its corresponding definitive property. Based on the decomposition and the adequate specification of underlying runtime environment (e.g., compiler, processor and operating system), we prove rigorously that the application execution in a particular runtime environment is protected against declarative properties without violating runtime performance specification of the application. Furthermore, from the specification, we generate a security monitor that assures that the application execution is secure against each class of attacks at runtime without hindering real-time performance of the application.
Muhammad Taimoor Khan 0001, Dimitrios Serpanos, Howard E. Shrobe
ETFA3
2021 TORTIS: Retry-Free Software Transactional Memory for Real-Time Systems
abstract
Software transactional memory (STM) is a synchronization paradigm originally proposed for throughput-oriented computing to facilitate producing performant concurrent code that is free of synchronization bugs. With STM, programmers merely annotate code sections requiring synchronization; the underlying STM framework automatically resolves how synchronization is done. Today, the programming issues that motivated STM are becoming a concern in embedded computing, where ever more sophisticated systems are being produced that require highly parallel implementations. These implementations are often produced by engineers and control experts who may not be well versed in concurrency-related issues. In this context, a real-time STM framework would be useful in ensuring that the synchronization aspects of a system pass real-time certification. However, all prior STM approaches fundamentally rely on retries to resolve conflicts, and such retries can yield high worst-case synchronization costs compared to lock-based approaches. This paper presents a new STM class called Retry-Free Real-Time STM (R2STM), which is designed for worst-case real-time performance. The benefit of a retry-free approach for use in a real-time system is demonstrated by a schedulability study, in which it improved overall schedulability across all considered task systems by an average of 95.3% over a retry-based approach. This paper also presents TORTIS, the first R2STM implementation for real-time systems. Throughput-oriented benchmarks are presented to highlight the tradeoffs between throughput and schedulability for TORTIS.
Claire Nord, Shai Caspin, Catherine E. Nemitz, Howard E. Shrobe, Hamed Okhravi, James H. Anderson, Nathan Burow, Bryan C. Ward
RTSS4
2020 Rigorous Machine Learning for Secure and Autonomous Cyber Physical Systems
abstract
Machine learning (ML) based secure and autonomous cyber physical systems are often not reliable and interpretable mainly because the employed ML techniques suffer from false alarms that may result in physical and financial loss. We assert that reliability and interpret-ability of the ML methods depends on underlying statistical models that infer results. Therefore, we introduce a rigorous method for the model selection. Current selection methods choose a model using statistical criteria (e.g., AIC, BIC). These criteria may lead to selection of an inappropriate model (e.g. over/under-fitting) because they only consider relative-quality (statistical) of the model without considering absolute-quality (formal) of the model based on the model/data specification. To this end, we argue the suitability of recently developed-decidability procedures/solvers. Such solvers infer if a selected model can(not) classify a given data and produce a formal proof that can be used to assure reliability and security of modelled system. We demonstrate feasibility of the method through a simple example of an autonomous insulin pump.
Muhammad Taimoor Khan 0001, Dimitrios Serpanos, Howard E. Shrobe, Muhammad Murtaza Yousuf
ETFA3
2018 Highly Assured Safety and Security of e-Health Applications
abstract
Modern medical devices aim at providing invasive e-health care services to patients with long-term conditions. Typically, these services are implemented as embedded software applications that remotely and automatically control the operations of the devices according to the patient's condition as monitored by the underlying sensors. Such applications are neither safe nor secure mainly because of unreliable sensors, which may provide incorrect input data either due to its malfunctioning or due to some accidental (by privileged user) or intentional (by adversary) interference. Hence, the incorrect sensor data may lead to identification of inaccurate patient condition, which may threaten the patient's life. To ensure safety and security of e-health applications, current approaches employ data analysis techniques to monitor sensor data and alarm when some unusual value is detected and employ access control strategies to ensure that controller decisions are consistent with sensor input data. However, such approaches fail to detect stealthy attacks, e.g. bad data (false data injection) and bad computations because they do not understand what the application or device is trying to do. To this end, we evaluate our existing approach (i.e., ARMET) to assure safety and security of an emerging and critically real-time application domain of e-health. The approach is based on the specification of the application and device, which has a design and a run-time component. Given an application specification, the design component employs logical verification methods to assure that the application design is resilient to some bad data, i.e., there are no sensor input data values with meaningful threshold which are admissible to the specification but are not true. Given the specification, the runtime component monitors application's execution and assures that the execution is consistent with the specification and alarms whenever it detects a violation, i.e., there is a bad computation. We evaluate the methodology through its application to an example medical e-health application that controls and monitors blood glucose through an insulin pump.
Muhammad Taimoor Khan 0001, Dimitrios Serpanos, Howard E. Shrobe
WiMob3
2018 IIoT Cybersecurity Risk Modeling for SCADA Systems
abstract
Urban critical infrastructure such as electric grids, water networks, and transportation systems are prime targets for cyberattacks. These systems are composed of connected devices which we call the Industrial Internet of Things (IIoT). An attack on urban critical infrastructure IIoT would cause considerable disruption to society. Supervisory control and data acquisition (SCADA) systems are typically used to control IIoT for urban critical infrastructure. Despite the clear need to understand the cyber risk to urban critical infrastructure, there is no data-driven model for evaluating SCADA software risk for IIoT devices. In this paper, we compare non-SCADA and SCADA systems and establish, using cosine similarity tests, that SCADA as a software subclass holds unique risk attributes for IIoT. We then disprove the commonly accepted notion that the common vulnerability scoring system risk metrics of exploitability and impact are not correlated with attack for the SCADA subclass of software. A series of statistical models are developed to identify SCADA risk metrics that can be used to evaluate the risk that a SCADA-related vulnerability is exploited. Based on our findings, we build a customizable SCADA risk prioritization schema that can be used by the security community to better understand SCADA-specific risk. Considering the distinct properties of SCADA systems, a data-driven prioritization schema will help researchers identify security gaps specific to this software subclass that is essential to our society’s operations.
Gregory Falco, Carlos Caldera, Howard E. Shrobe
IEEE Internet Things J.3
2018 ARMET: Behavior-Based Secure and Resilient Industrial Control Systems
abstract
In this paper, we introduce a design methodology to develop reliable and secure industrial control systems (ICSs) based on the behavior of their computational resources (i.e., process/application) and underlying physical resources (e.g., the controlled plant). The methodology has three independent, but complementary, components that employ novel approaches and techniques in the design of reliable and secure ICSs. First, we introduce reliable-and-secure-by-design development of secure industrial control applications through stepwise sound refinement of an executable specification, employing deductive synthesis to enforce functional and nonfunctional (e.g., security and safety) properties of ICS applications. Second, we present a runtime security monitor at the middleware level of ICSs that protects ICS operation in the field through comparison of the application execution and the application specification execution in real time; the runtime security monitor can be synthesized from the executable specification. Finally, based on the specification, we perform a vulnerability analysis for false data injection (FDI) attacks, which leads to ICS application designs that are resilient to this type of attacks. We demonstrate the methodology through its application to a basic and typical ICS example application, describing all the tools used and ARMET, the middleware monitor that constitutes the core component of the methodology.
Muhammad Taimoor Khan 0001, Dimitrios Serpanos, Howard E. Shrobe
Proc. IEEE3
2015 Towards a Programmer's Apprentice (Again)
abstract
Programmers are loathe to interrupt their workflow to document their design rationale, leading to frequent errors when software is modified — often much later and by different programmers. A Programmer’s Assistant could interact with the programmer to capture and preserve design rationale, in a natural way that would make rationale capture "cost less than it's worth", and could also detect common flaws in program design. Such a programmer’s assistant was not practical when it was first proposed decades ago, but advances over the years make now the time to revisit the concept, as our prototype shows.
Howard E. Shrobe, Boris Katz, Randall Davis
AAAI1
2015 Control Jujutsu: On the Weaknesses of Fine-Grained Control Flow Integrity
abstract
Control flow integrity (CFI) has been proposed as an approach to defend against control-hijacking memory corruption attacks. CFI works by assigning tags to indirect branch targets statically and checking them at runtime. Coarse-grained enforcements of CFI that use a small number of tags to improve the performance overhead have been shown to be ineffective. As a result, a number of recent efforts have focused on fine-grained enforcement of CFI as it was originally proposed. In this work, we show that even a fine-grained form of CFI with unlimited number of tags and a shadow stack (to check calls and returns) is ineffective in protecting against malicious attacks. We show that many popular code bases such as Apache and Nginx use coding practices that create flexibility in their intended control flow graph (CFG) even when a strong static analyzer is used to construct the CFG. These flexibilities allow an attacker to gain control of the execution while strictly adhering to a fine-grained CFI. We then construct two proof-of-concept exploits that attack an unlimited tag CFI system with a shadow stack. We also evaluate the difficulties of generating a precise CFG using scalable static analysis for real-world applications. Finally, we perform an analysis on a number of popular applications that highlights the availability of such attacks.
Isaac Evans, Fan Long, Ulziibayar Otgonbaatar, Howard E. Shrobe, Martin C. Rinard, Hamed Okhravi, Stelios Sidiroglou-Douskos
CCS4
2015 Missing the Point(er): On the Effectiveness of Code Pointer Integrity
abstract
Memory corruption attacks continue to be a major vector of attack for compromising modern systems. Numerous defenses have been proposed against memory corruption attacks, but they all have their limitations and weaknesses. Stronger defenses such as complete memory safety for legacy languages (C/C++) incur a large overhead, while weaker ones such as practical control flow integrity have been shown to be ineffective. A recent technique called code pointer integrity (CPI) promises to balance security and performance by focusing memory safety on code pointers thus preventing most control-hijacking attacks while maintaining low overhead. CPI protects access to code pointers by storing them in a safe region that is protected by instruction level isolation. On x86-32, this isolation is enforced by hardware, on x86-64 and ARM, isolation is enforced by information hiding. We show that, for architectures that do not support segmentation in which CPI relies on information hiding, CPI's safe region can be leaked and then maliciously modified by using data pointer overwrites. We implement a proof-of-concept exploit against Nginx and successfully bypass CPI implementations that rely on information hiding in 6 seconds with 13 observed crashes. We also present an attack that generates no crashes and is able to bypass CPI in 98 hours. Our attack demonstrates the importance of adequately protecting secrets in security mechanisms and the dangers of relying on difficulty of guessing without guaranteeing the absence of memory leaks.
Isaac Evans, Sam Fingeret, Julian Gonzalez, Ulziibayar Otgonbaatar, Tiffany Tang, Howard E. Shrobe, Stelios Sidiroglou-Douskos, Martin C. Rinard, Hamed Okhravi
IEEE Symposium on Security and Privacy6
2008 Generating Baseball Summaries from Multiple Perspectives by Reordering Content
Alice Oh, Howard E. Shrobe
INLG2
2007 Towards intelligent mapping applications: a study of elements found in cognitive maps
abstract
This paper describes a study that examines common elements found in people's mental maps of the city of Boston. The intent of the study is to understand the mental model people have of a city. Understanding this mental model will provide insight into developing mapping applications that present location information in a way that makes it easier to conceptualize and situate new location information in terms of places a person already knows. An analysis of hand-annotated maps showing the locations of prominent places in a person's mental map of Boston suggests that prominent places can be characterized by a certain set of properties and that major transit points (subway stops) play an important role in framing a person's mental map.
Gary Look, Howard E. Shrobe
IUI2
2006 AWDRAT: A Cognitive Middleware System for Information Survivability
Howard E. Shrobe, Robert Laddaga, Robert Balzer, Neil M. Goldman, David S. Wile, Marcelo Tallis, Tim Hollebeek, Alexander Egyed
AAAI1
2006 Simultaneous localization, calibration, and tracking in an ad hoc sensor network
abstract
We introduce Simultaneous Localization and Tracking, called SLAT, the problem of tracking a target in a sensor network while simultaneously localizing and calibrating the nodes of the network. Our proposed solution, LaSLAT, is a Bayesian filter that provides on-line probabilistic estimates of sensor locations and target tracks. It does not require globally accessible beacon signals or accurate ranging between the nodes. Real hardware experiments are presented for 2D and 3D, indoor and outdoor, and ultrasound and audible ranging-hardware-based deployments. Results demonstrate rapid convergence and high positioning accuracy.
Jonathan Bachrach, Howard E. Shrobe, Anthony Grue
IPSN4
2006 Cognitive Adaptive Radio Teams
abstract
Cognitive adaptive radio teams (CART) is a new platform developed by our group in support of collaborative mapping of complex communications-challenged environments, for example in support of search and rescue operations in environments lacking an adequate communications infrastructure. Experience during the 9/11 terrorist attacks, Asian tsunami, Kashmir earthquake, and post-Katrina Gulf Coast make it clear that rescue workers cannot count upon computer networks or even cell telephone support in the immediate aftermath of such events. Similarly, military urban warfare operations must also be conducted in locations lacking communication infrastructure. CART combines state-of-the-art ad-hoc networking technology with machine learning and prediction algorithms to offer new capabilities under these very difficult conditions
Richard Lau, Stephanie Demers, Yibei Ling, Bruce Siegell, Einar Vollset, Kenneth P. Birman, Robbert van Renesse, Howard E. Shrobe, Jonathan Bachrach, Lester Foster
SECON8
2005 A location representation for generating descriptive walking directions
abstract
An expressive representation for location is an important component in many applications. However, while many location-aware applications can reason about space at the level of coordinates and containment relationships, they have no way to express the semantics that define how a particular space is used. We present Lair, an ontology that addresses this problem by modeling both the geographical relationships between spaces as well as the functional purpose of a given space. We describe how Lair was used to create an application that produces walking directions comparable to those given by a person, and a pilot study that evaluated the quality of these directions. We also describe how Lair can be used to evaluate other intelligent user interfaces.
Gary Look, Buddhika Kottahachchi, Robert Laddaga, Howard E. Shrobe
IUI4
2004 A plan-based mission control center for autonomous vehicles
abstract
Teams of autonomous vehicles (AVs) carry out missions in a number of fields such as space exploration and search-and-rescue. However, human supervision is still required to monitor the status of the team to ensure that the mission is being carried out as planned. To reduce information overload on these supervisors, we have developed an application, the Mission Control Center (MCC), that aggregates and abstracts status information from AVs using a plan-based view of the mission. Using this model, the MCC presents mission status at the level of goals and plans and directs operator attention to the AVs that require the most attention.
Gary Look, Howard E. Shrobe
IUI2
2004 One-Push Sharing: Facilitating Picture Sharing from Camera Phones
Gary Look, Robert Laddaga, Howard E. Shrobe
Mobile HCI3
2003 Activity Zones for Context-Aware Computing
Kimberle Koile, Konrad Tollmar, David Demirdjian, Howard E. Shrobe, Trevor Darrell
UbiComp4
2003 Using Semantic Networks for Knowledge Representation in an Intelligent Environment
abstract
When building intelligent spaces, the knowledge representation for encapsulating rooms, users, groups, roles, and other information is a fundamental design question. We present a semantic network as such a representation, and demonstrate its utility as a basis for ongoing work.
Stephen Peters, Howard E. Shrobe
PerCom2
2000 Qualitative rigid-body mechanics
Thomas F. Stahovich, Randall Davis, Howard E. Shrobe
Artif. Intell.3
1999 Software Technology of the Future
abstract
The challenge for the future is to create software systems which interact with their environment. The key feature of such systems will be their ability to adapt their own behaviors to the variety of conditions presented by the harsh environment in which they function. The runtime environment of a self-adaptive system will include descriptions of the purposes and goals of its components, alternative components to achieve similar goals, as well as monitors which check that computations proceed as expected. The paper discusses the dynamic domain architecture framework.
Howard E. Shrobe
S&P1
1998 Generating Multiple New Designs from a Sketch
Thomas F. Stahovich, Randall Davis, Howard E. Shrobe
Artif. Intell.3
1993 Understanding Linkages
Howard E. Shrobe
AAAI1
1993 Supporting and Optimizing Full Unification in a Forward Chaining Rule System
Howard E. Shrobe
AAAI1
1993 The Japanese national Fifth Generation project: Introduction, survey, and evaluation
abstract
Projecting a great vision of intelligent systems in the service of the economy and society, the Japanese government in 1982 launched the national Fifth Generation Computer Systems (FGCS) project. The project was carried out by a central research institute, ICOT, with personnel from its member-owners, the Japanese computer manufacturers (JCMs) and other electronics industry firms. The project was planned for ten years, but continues through year eleven and beyond. ICOT chose to focus its efforts on language issues and programming methods for logic programming, supported by special hardware. Sequential ‘inference machines’ (PSI) and parallel ‘inference machines’ (PIM) were built. Performances of the hardware-software hybrid was measured in the range planned (150 million logical inferences per second). An excellent system for logic programming on parallel machines was constructed (KL1). However, applications were done in demonstration form only (not deployed). The lack of a stream of applications that computer customers found effective, and the sole use of a language outside the mainstream, Prolog, led to disenchantment among the JCMs.
Edward A. Feigenbaum, Howard E. Shrobe
Future Gener. Comput. Syst.2
1991 OOP and AI (Panel)
abstract
No abstract available.
Mamdouh Ibrahim, Daniel G. Bobrow, Carl Hewitt, Jean-François Perror, Reid G. Smith, Howard E. Shrobe
OOPSLA6
1988 Towards a Virtual Parallel Inference Engine
Howard E. Shrobe, John G. Aspinall, Neil L. Mayle
AAAI1
1987 Joshua: Uniform Access to Heterogeneous Knowledge Structures, or why Joshing Is Better than Conniving or Planning
Steve Rowley, Howard E. Shrobe, Robert Cassels, Walter Hamscher
AAAI2
1982 Diagnosis Based on Description of Structure and Function
Randall Davis, Howard E. Shrobe, Walter Hamscher, Kären Wieckert, Mark Shirley, Steve Polit
AAAI2
1981 Guest Editorial: Programming Environments
David R. Barstow, Howard E. Shrobe
IEEE Trans. Software Eng.2
1979 Overview of the Programmer's Apprentice
Charles Rich, Howard E. Shrobe, Richard C. Waters
IJCAI2
1979 Dependency Directed Reasoning in the Analysis of Programs which Modify Complex Data Structures
Howard E. Shrobe
IJCAI1
1978 Initial Report on a Lisp Programmer's Apprentice
abstract
This paper reports on the initial design and partial implementation of an interactive programming environment to be used by expert programmers. The system is based on three forms of program description: 1) definition of structured data objects, their parts, properties, and relations between them, 2) input–output specification of the behavior of program segments, and 3) a hierarchical representation of the internal structure of programs (plans). The plan representation is of major theoretical interest because it includes not only data flow and control flow relationships between subsegments of a program, but also goal-subgoal, prerequisite, and other logical dependencies between the specifications of the subsegments. Plans are utilized both for describing particular programs and in the compilation of a knowledge base of more abstract knowledge about programming, such as the concept of a loop and various specializations, such as enumeration loops and search loops. We also describe a deductive system which can verify the correctness of plans involving side effects on complex data with structure sharing.
Charles Rich, Howard E. Shrobe
IEEE Trans. Software Eng.2