Network


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

Hotspot


Dive into the research topics where Matthias Jacob is active.

Publication


Featured researches published by Matthias Jacob.


digital rights management | 2002

Attacking an Obfuscated Cipher by Injecting Faults

Matthias Jacob; Dan Boneh; Edward W. Felten

We study the strength of certain obfuscation techniques used to protect software from reverse engineering and tampering. We show that some common obfuscation methods can be defeated using a fault injection attack, namely an attack where during program execution an attacker injects errors into the program environment. By observing how the program fails under certain errors the attacker can deduce the obfuscated information in the program code without having to unravel the obfuscation mechanism. We apply this technique to extract a secret key from a block cipher obfuscated using a commercial obfuscation tool and draw conclusions on preventing this weakness.


acm workshop on multimedia and security | 2007

Towards integral binary execution: implementing oblivious hashing using overlapped instruction encodings

Matthias Jacob; Mariusz H. Jakubowski; Ramarathnam Venkatesan

Executing binaries without interference by an outside adversary has been an ongoing duel between protection methods and attacks. Recently, an efficient kernel-patch attack has been presented against commonly used self-checking code techniques that use checksumming ahead of execution. While methods based on self-modifying code can defend against this attack, such techniques depend on low-level architectural details and may not be practical in the long run. An alternative defense is to use oblivious hashing (OH). Instead of checking code integrity prior to execution, OH can verify untampered runtime behavior continuously. However, earlier OH approaches have some weaknesses, particularly with binary code: Physical instruction bytes cannot be easily checked during execution, and an attacker may be able to detect and remove OH checks, since OH alone does not provide tamper-resistance or obfuscation. In our approach, we deliberately overlap a programs basic blocks so that they share instruction bytes. This increases tamper-resistance implicitly because malicious modifications affect multiple instructions simultaneously. Also, our scheme facilitates explicit anti-tampering checks via injection of OH instructions overlapped with target code, enabling OH that can verify integrity of both runtime state and executing instructions. Thus, our method addresses anti-checksum attacks without resorting to self-modifying code, and also extends OH to verify physical code, not only program state. In addition, overlapping facilitates resistance against disassembly and decompilation. Our approach works on processor architectures and byte-codes that support variable-length instructions. To our knowledge, this is the first technique that blends tamper-resistance into architecture and therefore significantly improves robustness of binaries.


international workshop on security | 2008

The Superdiversifier: Peephole Individualization for Software Protection

Matthias Jacob; Mariusz H. Jakubowski; Prasad Naldurg; Chit Wei Saw; Ramarathnam Venkatesan

We present a new approach to individualize programs at the machine- and byte-code levels. Our superdiversification methodology is based on the compiler technique of superoptimization, which performs a brute-force search over all possible short instruction sequences to find minimum-size implementations of desired functions. Superdiversification also searches for equivalent code sequences, but we guide the search by restricting the allowed instructions and operands to control the types of generated code. Our goal is not necessarily the shortest or most optimal code sequence, but an individualized sequence identified by a secret key or other means, as determined by user-specified criteria. Also, our search is not limited to commodity instruction sets, but can work over arbitrary byte-codes designed for software randomization and protection. Applications include patch obfuscation to complicate reverse engineering and exploit creation, as well as binary diversification to frustrate malicious code tampering. We believe that this approach can serve as a useful element of a comprehensive software-protection system.


international parallel and distributed processing symposium | 2000

Performance Issues for Multi-language Java Applications

Paul M. Murray; Todd Smith; Suresh Srinivas; Matthias Jacob

The Java programming environment is increasingly being used to build large-scale multi-language applications. Whether these applications combine Java with other languages for legacy reasons, to address performance concerns, or to add Java functionality to preexisting server environments, they require correct and efficient native interfaces. This paper examines current native interface implementations, presents performance results, and discusses performance improvements in our IRIX Java Virtual Machine and Just-In-Time Compiler that have sped up native interfacing by significant factors over previous releases.


international workshop on security | 2008

The Long-Short-Key Primitive and Its Applications to Key Security

Matthew Cary; Matthias Jacob; Mariusz H. Jakubowski; Ramarathnam Venkatesan

On todays open computing platforms, attackers can often extract sensitive data from a programs stack, heap, or files. To address this problem, we designed and implemented a new primitive that helps provide better security for ciphers that use keys stored in easily accessible locations. Given a particular symmetric key, our approach generates two functions for encryption and decryption: The short-key function uses the original key, while the functionally equivalent long-key version works with an arbitrarily long key derived from the short key. On common PC architectures, such a long key normally does not fit in stack frames or cache blocks, forcing an attacker to search memory space. Even if extracted from memory, the long key is neither easily compressible nor useful in recovering the short key. Using a pseudorandom generator and additional novel software-protection techniques, we show how to implement this construction securely for AES. Potential applications include white-box ciphers, DRM schemes, software smartcards, and challenge-response authentication, as well as any scenario where a key of controllable length is useful to enforce desired security properties.


networked systems design and implementation | 2005

Botz-4-sale: surviving organized DDoS attacks that mimic flash crowds

Srikanth Kandula; Dina Katabi; Matthias Jacob; Arthur W. Berger


Archive | 2007

Method, Apparatus and Computer Program Product for Performing a Visual Search Using Grid-Based Feature Organization

Matthias Jacob; Jiang Gao; Natasha Gelfand; Radek Grzeszczuk; Kari Pulli; Philipp Schloter; Xianglin Wang; Yingen Xiong


Archive | 2007

Adaptable caching architecture and data transfer for portable devices

Philipp Schloter; Matthias Jacob


Archive | 2007

Method, apparatus and computer program product for viewing a virtual database using portable devices

C. Philipp Schloter; Matthias Jacob


Archive | 2012

Method and apparatus for processing receipts

Philipp Schloter; Matthias Jacob

Collaboration


Dive into the Matthias Jacob's collaboration.

Top Co-Authors

Avatar

Dina Katabi

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Arthur W. Berger

Massachusetts Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge