Results 1 - 10
of
64
Obfuscation of Executable Code to Improve Resistance to Static Disassembly
- IN ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS
, 2003
"... A great deal of software is distributed in the form ofexecutable code. The ability to reverse engineer such ..."
Abstract
-
Cited by 110 (7 self)
- Add to MetaCart
A great deal of software is distributed in the form ofexecutable code. The ability to reverse engineer such
Software Engineering for Security: a Roadmap
- THE FUTURE OF SOFTWARE ENGINEERING
, 2000
"... Is there such a thing anymore as a software system that doesn't need to be secure? Almost every softwarecontrolled system faces threats from potential adversaries, from Internet-aware client applications running on PCs, to complex telecommunications and power systems accessible over the Internet, to ..."
Abstract
-
Cited by 98 (0 self)
- Add to MetaCart
Is there such a thing anymore as a software system that doesn't need to be secure? Almost every softwarecontrolled system faces threats from potential adversaries, from Internet-aware client applications running on PCs, to complex telecommunications and power systems accessible over the Internet, to commodity software with copy protection mechanisms. Software engineers must be cognizant of these threats and engineer systems with credible defenses, while still delivering value to customers. In this paper, we present our perspectives on the research issues that arise in the interactions between software engineering and security.
Watermarking, Tamper-Proofing, and Obfuscation - Tools for Software Protection
- Software Engineering, IEEE Transactions on
, 2002
"... We identify three types of attack on the intellectual property contained in software and three corresponding technical defenses. A defense against reverse engineering is obfuscation, a process that renders software unintelligible but still functional. A defense against software piracy is watermarkin ..."
Abstract
-
Cited by 62 (1 self)
- Add to MetaCart
We identify three types of attack on the intellectual property contained in software and three corresponding technical defenses. A defense against reverse engineering is obfuscation, a process that renders software unintelligible but still functional. A defense against software piracy is watermarking, a process that makes it possible to determine the origin of software. A defense against tampering is tamper-proofing, so that unauthorized modifications to software (for example, to remove a watermark) will result in nonfunctional code. We briefly survey the available technology for each type of defense.
Dynamic Self-Checking Techniques for Improved Tamper Resistance
- in ACM Workshop on Security and Privacy in Digital Rights Management
, 2001
"... We describe a software self-checking mechanism designed to improve the tamper resistance of large programs. The mechanism consists of a number of testers that redundantly test for changes in the executable code as it is running and report modifications. The mechanism is built to be compatible with c ..."
Abstract
-
Cited by 43 (0 self)
- Add to MetaCart
We describe a software self-checking mechanism designed to improve the tamper resistance of large programs. The mechanism consists of a number of testers that redundantly test for changes in the executable code as it is running and report modifications. The mechanism is built to be compatible with copy-specific static watermarking and other tamper-resistance techniques. The mechanism includes several innovations to make it stealthy and more robust.
EXPERIENCE WITH SOFTWARE WATERMARKING
, 2004
"... There are at least four U.S. patents on software watermarking, and an idea for further advancing the state of the art was presented in 1999 by Collberg and Thomborsen. The new idea is to embed a watermark in dynamic data structures, thereby protecting against many programtransformation attacks. Unti ..."
Abstract
-
Cited by 31 (0 self)
- Add to MetaCart
There are at least four U.S. patents on software watermarking, and an idea for further advancing the state of the art was presented in 1999 by Collberg and Thomborsen. The new idea is to embed a watermark in dynamic data structures, thereby protecting against many programtransformation attacks. Until now there have been no reports on practical experience with this technique. We have implemented and experimented with a watermarking system for Java based on the ideas of Collberg and Thomborsen. Our experiments show that watermarking can be done efficiently with moderate increases in code size, execution times, and heap-space usage, while making the watermarked code resilient to a variety of programtransformation attacks. For a particular representation of watermarks, the time to retrieve a watermark is on the order of one minute per megabyte of heap space. Our implementation is not designed to resists all possible attacks; to do that it should be combined with other protection techniques such as obfuscation and tamperproofing.
Robust Object Watermarking: Application to Code
- In Information Hiding
, 2000
"... . In this paper, we focus on a step of the watermarking process whose importance has been disregarded so far. In this perspective, we introduce the vector extraction paradigm which is the transformation between digital data and an abstract vector representation of these data. As an application, we p ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
. In this paper, we focus on a step of the watermarking process whose importance has been disregarded so far. In this perspective, we introduce the vector extraction paradigm which is the transformation between digital data and an abstract vector representation of these data. As an application, we propose a new, robust technique in order to insert watermarks in executable code. 1 Introduction The tremendous growth of the Internet probably marks te beginning of a new era in communicat(wW) Any digitE document can beduplicatV and distO3wW)V in a matVM of minutE by means of a simple mouse click. Because oft he very lo cost oftV3 kind ofdist ibut( n and tw availabilit y of high qualit y print ing and audio devices, digit4 distVwWE2OE seemst o be an at)2V)Ew edirectwW for tw nearfut) e. Ho ever, no valuable document is current ly being soldt hat ay, as tO cost of duplicat ion and tw qualit y of an illegally redist ibut4 document is just t he same ast he original. Asit is impossiblet o prevent...
Protecting Mobile Agents Against Malicious Hosts
- Proc. Int. Conf. on Parallel and Distributed Processing and Applications (PDPTA’99) Vol. II
, 2000
"... Mobile agent paradigm evolves as a promising distributed computing paradigm. Di#erent from the existing paradigms like message passing, remote procedure calls, and distributed objects, mobile agent paradigm o#ers two properties: client customization, and self-contained-ness. End users virtually inst ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
Mobile agent paradigm evolves as a promising distributed computing paradigm. Di#erent from the existing paradigms like message passing, remote procedure calls, and distributed objects, mobile agent paradigm o#ers two properties: client customization, and self-contained-ness. End users virtually install new software on the agent platform by dispatching personalized agents, and the agents are self-contained programs that encompass the whole decision logic delegated by the end users. Mobile agents moving around the network are not safe. The remote hosts that accommodate the agents can initiate all kinds of attacks and attempt to analyze the agents' decision logic, and agents' accumulated data. Among the many security requirements, con#dentiality and anonymity are two of the most important issues that have not been solved satisfactorily. This thesis examines these two security requirements. First, we introduce the notion of entropy to measure the intention brought by each agent. By pertur...
An Abstract Interpretation-Based Framework for Software watermarking
, 2004
"... Software watermarking consists in the intentional embedding of indelible stegosignatures or watermarks into the subject software and extraction of the stegosignatures embedded in the stegoprograms for purposes such as intellectual property protection. We introduce the novel concept of abstract softw ..."
Abstract
-
Cited by 18 (1 self)
- Add to MetaCart
Software watermarking consists in the intentional embedding of indelible stegosignatures or watermarks into the subject software and extraction of the stegosignatures embedded in the stegoprograms for purposes such as intellectual property protection. We introduce the novel concept of abstract software watermarking. The basic idea is that the watermark is hidden in the program code in such a way that it can only be extracted by an abstract interpretation of the (maybe non-standard) concrete semantics of this code. This static analysis-based approach allows the watermark to be recovered even if only a small part of the program code is present and does not even need that code to be executed. We illustrate the technique by a simple abstract watermarking protocol for methods of Java TM classes. The concept applies equally well to any other kind of software (including hardware originally specified by software).
Limits of Static Analysis for Malware Detection
"... Malicious code is an increasingly important problem that threatens the security of computer systems. The traditional line of defense against malware is composed of malware detectors such as virus and spyware scanners. Unfortunately, both researchers and malware authors have demonstrated that these s ..."
Abstract
-
Cited by 18 (8 self)
- Add to MetaCart
Malicious code is an increasingly important problem that threatens the security of computer systems. The traditional line of defense against malware is composed of malware detectors such as virus and spyware scanners. Unfortunately, both researchers and malware authors have demonstrated that these scanners, which use pattern matching to identify malware, can be easily evaded by simple code transformations. To address this shortcoming, more powerful malware detectors have been proposed. These tools rely on semantic signatures and employ static analysis techniques such as model checking and theorem proving to perform detection. While it has been shown that these systems are highly effective in identifying current malware, it is less clear how successful they would be against adversaries that take into account the novel detection mechanisms. The goal of this paper is to explore the limits of static analysis for the detection of malicious code. To this end, we present a binary obfuscation scheme that relies on the idea of opaque constants, which are primitives that allow us to load a constant into a register such that an analysis tool cannot determine its value. Based on opaque constants, we build obfuscation transformations that obscure program control flow, disguise access to local and global variables, and interrupt tracking of values held in processor registers. Using our proposed obfuscation approach, we were able to show that advanced semantics-based malware detectors can be evaded. Moreover, our opaque constant primitive can be applied in a way such that is provably hard to analyze for any static code analyzer. This demonstrates that static analysis techniques alone might no longer be sufficient to identify malware. 1
Proving ownership over categorical data
- In Proceedings of the IEEE International Conference on Data Engineering ICDE
, 2004
"... This paper introduces a novel method of rights protection for categorical data through watermarking. We discover new watermark embedding channels for relational data with categorical types. We design novel watermark encoding algorithms and analyze important theoretical bounds including mark vulnerab ..."
Abstract
-
Cited by 13 (5 self)
- Add to MetaCart
This paper introduces a novel method of rights protection for categorical data through watermarking. We discover new watermark embedding channels for relational data with categorical types. We design novel watermark encoding algorithms and analyze important theoretical bounds including mark vulnerability. While fully preserving data quality requirements, our solution survives important attacks, such as subset selection and data re-sorting. Mark detection is fully “blind ” in that it doesn’t require the original data, an important characteristic especially in the case of massive data. We propose various improvements and alternative encoding methods. We perform validation experiments by watermarking the outsourced Wal-Mart sales data available at our institute. We prove (experimentally and by analysis) our solution to be extremely resilient to both alteration and data loss attacks, for example tolerating up to 80% data loss with a watermark alteration of only 25%. 1

