scispace - formally typeset
Search or ask a question
Topic

Application binary interface

About: Application binary interface is a research topic. Over the lifetime, 86 publications have been published within this topic receiving 869 citations. The topic is also known as: ABI.


Papers
More filters
Book
01 Dec 1993
TL;DR: A comprehensive manual covering software installation, low-level system information, program loading, dynamic linking, libraries, formats, protocols, and system commands that comprise the binary interface for SVR4.
Abstract: From UNIX Labs--a comprehensive manual covering software installation, low-level system information, program loading, dynamic linking, libraries, formats, protocols, and system commands that comprise the binary interface for SVR4.

89 citations

Proceedings ArticleDOI
06 Nov 2019
TL;DR: This paper analyzes the vulnerability space arising in Trusted Execution Environments (TEEs) when interfacing a trusted enclave application with untrusted, potentially malicious code and reveals 35 enclave interface sanitization vulnerabilities in 8 major open-source shielding frameworks.
Abstract: This paper analyzes the vulnerability space arising in Trusted Execution Environments (TEEs) when interfacing a trusted enclave application with untrusted, potentially malicious code. Considerable research and industry effort has gone into developing TEE runtime libraries with the purpose of transparently shielding enclave application code from an adversarial environment. However, our analysis reveals that shielding requirements are generally not well-understood in real-world TEE runtime implementations. We expose several sanitization vulnerabilities at the level of the Application Binary Interface (ABI) and the Application Programming Interface (API) that can lead to exploitable memory safety and side-channel vulnerabilities in the compiled enclave. Mitigation of these vulnerabilities is not as simple as ensuring that pointers are outside enclave memory. In fact, we demonstrate that state-of-the-art mitigation techniques such as Intel's edger8r, Microsoft's "deep copy marshalling", or even memory-safe languages like Rust fail to fully eliminate this attack surface. Our analysis reveals 35 enclave interface sanitization vulnerabilities in 8 major open-source shielding frameworks for Intel SGX, RISC-V, and Sancus TEEs. We practically exploit these vulnerabilities in several attack scenarios to leak secret keys from the enclave or enable remote code reuse. We have responsibly disclosed our findings, leading to 5 designated CVE records and numerous security patches in the vulnerable open-source projects, including the Intel SGX-SDK, Microsoft Open Enclave, Google Asylo, and the Rust compiler.

87 citations

01 Jan 2006
TL;DR: This document describes the Procedure Call Standard use by the Application Binary Interface (ABI) for the ARM architecture.
Abstract: This document describes the Procedure Call Standard use by the Application Binary Interface (ABI) for the ARM architecture.

60 citations

Patent
29 Mar 2008
TL;DR: In this paper, application binary interface (ABI) shim is loaded with application binary images to direct kernel ABI calls to a local subordinate kernel or to the main OS kernel depending on which kernel is controlling requested resources.
Abstract: Systems and methods establish communication and control between various heterogeneous processors in a computing system so that an operating system can run an application across multiple heterogeneous processors. With a single set of development tools, software developers can create applications that will flexibly run on one CPU or on combinations of central, auxiliary, and peripheral processors. In a computing system, application-only processors can be assigned a lean subordinate kernel to manage local resources. An application binary interface (ABI) shim is loaded with application binary images to direct kernel ABI calls to a local subordinate kernel or to the main OS kernel depending on which kernel manifestation is controlling requested resources.

60 citations

01 Jan 2005
TL;DR: This paper introduces the required rules and techniques of shared libraries, and introduces the concept of ABI (Application Binary Interface) stability and shows how to manage it.
Abstract: Today, shared libraries are ubiquitous. Developers use them for multiple reasons and create them just as they would create application code. This is a problem, though, since on many platforms some additional techniques must be applied even to generate decent code. Even more knowledge is needed to generate optimized code. This paper introduces the required rules and techniques. In addition, it introduces the concept of ABI (Application Binary Interface) stability and shows how to manage it. 1 Preface For a long time, programmers collected commonly used code in libraries so that code could be reused. This saves development time and reduces errors since reused code only has to be debugged once. With systems running dozens or hundreds of processes at the same time reuse of the code at link-time solves only part of the problem. Many processes will use the same pieces of code which they import for libraries. With the memory management systems in modern operating systems it is also possible to share the code at run-time. This is done by loading the code into physical memory only once and reusing it in multiple processes via virtual memory. Libraries of this kind are called shared libraries. The concept is not very new. Operating system designers implemented extensions to their system using the infrastructure they used before. The extension to the OS could be done transparently for the user. But the parts the user directly has to deal with created initially problems.

58 citations


Network Information
Related Topics (5)
Compiler
26.3K papers, 578.5K citations
81% related
Cache
59.1K papers, 976.6K citations
78% related
Shared memory
18.7K papers, 355.1K citations
77% related
Concurrency
13K papers, 347.1K citations
76% related
Executable
24K papers, 391.1K citations
75% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20215
20206
20194
20186
20174
20162