This paper describes the first security evaluation of FileVault 2, a volume encryption mechanism that was introduced in Mac OS X 10.7 (Lion). The evaluation results include the identification of the algorithms and data structures needed to successfully read an encrypted volume. Based on the analysis, an open-source tool named libfvde was developed to decrypt and mount volumes encrypted with FileVault 2. The tool can be used to perform forensic investigations on FileVault 2 encrypted volumes. Additionally, the evaluation discovered that part of the user data was left unencrypted; this was subsequently fixed in the CVE-2011-3212 operating system update.
This paper describes the first security evaluation of FileVault 2, a volume encryption mechanism that was introduced in Mac OS X 10.7 (Lion). The evaluation results include the identification of the algorithms and data structures needed to successfully read an encrypted volume. Based on the analysis, an open-source tool named libfvde was developed to decrypt and mount volumes encrypted with FileVault 2. The tool can be used to perform forensic investigations on FileVault 2 encrypted volumes. Additionally, the evaluation discovered that part of the user data was left unencrypted; this was subsequently fixed in the CVE-2011-3212 operating system update.
With the launch of Mac OS X 10.7 (Lion), Apple has introduced a volume encryption mechanism known as FileVault 2. Apple only disclosed marketing aspects of the closed-source software, e.g. its use of the AES-XTS tweakable encryption, but a publicly available security evaluation and detailed description was unavailable until now. We have performed an extensive analysis of FileVault 2 and we have been able to find all the algorithms and parameters needed to successfully read an encrypted volume. This allows us to perform forensic investigations on encrypted volumes using our own tools. In this paper we present the architecture of FileVault 2, giving details of the key derivation, encryption process and metadata structures needed to perform the volume decryption. Besides the analysis of the system, we have also built a library that can mount a volume encrypted with FileVault 2. As a contribution to the research and forensic communities we have made this library open source. Additionally, we present an informal security evaluation of the system and comment on some of the design and implementation features. Among others we analyze the random number generator used to create the recovery password. We have also analyzed the entropy of each 512-byte block in the encrypted volume and discovered that part of the user data was left unencrypted. ∗The opinions expressed in this paper are mine alone and do not reflect the opinions of my employer or affiliates of my employer unless otherwise explicitly stated.
Identifying that a given binary program implements a specific cryptographic algorithm and finding out more information about the cryptographic code is an important problem. Proprietary programs and especially malicious software (so called malware) often use cryptography and we want to learn more about the context, e.g., which algorithms and keys are used by the program. This helps an analyst to quickly understand what a given binary program does and eases analysis. In this paper, we present several methods to identify cryptographic primitives (e.g., entire algorithms or only keys) within a given binary program in an automated way. We perform fine-grained dynamic binary analysis and use the collected information as input for several heuristics that characterize specific, unique aspects of cryptographic code. Our evaluation shows that these methods improve the state-of-the-art approaches in this area and that we can successfully extract cryptographic keys from a given malware binary.
Due to recent attacks on online banking systems and consequent soaring losses through fraud, different methods have been developed to ensure a secure connection between a bank and its customers. One method is the inclusion of smart card readers into these schemes, which come along with different benefits, e.g., convenience and costs, and endangerments, especially on the security side. We give a review on a security concept and its implementation deployed as an online banking solution, which consists of a USB smart card reader and a customized browser. We propose a thread model and an attack vector exploiting the limited capabilities of the class one smart card reader. Furthermore a proof of concept malware is presented, which utilizes the primary vulnerability, i.e., class one reader, and otherwise supporting vulnerabilities, to show how transactions may be manipulated.
Profile im Internet haben in der heutigen Zeit einen wichtigen Stellenwert eingenommen, um eine Identitat online zu reprasentieren und erfreuen sich nicht zuletzt deswegen immer groserer Beliebtheit die allgemeine Beteiligung an sozialen Netzwerken hat in den letzten Jahren drastisch zugenommen. Dies fuhrt unter anderem dazu, dass auch soziale Netzwerke und deren Profile zur Zielscheibe von Internetkriminellen geworden sind. Dieser Beitrag diskutiert die allgemeine Problematik, personliche Daten in sozialen Netzwerken zu veroffentlichen und versucht Funktionen zu definieren, die von Angreifern genutzt werden konnten, um raffinierten Identitatsdiebstahl zu betreiben. Es werden Hinweise auf Gegenmasnahmen seitens der Anwender und Betreiber entsprechender Plattformen gegeben und eine Funktion zur Messung der Kritikalitat einer Identitat im Internet diskutiert. Zudem stellen wir eine Methode vor, wie Behorden und Datenschutzzentren Nutzer im Internet auf das mogliche Missbrauchspotential aufmerksam machen konnten und so Nutzer zu mehr Datensparsamkeit motivieren konnten.
The software distribution and usage over the Internet has become an integral part of our daily life. This is an efficient way to make software widely available to users. But it bears the risk of infecting computers with malicious software since many applications are still downloaded and installed without appropriate security measures. Cyber criminals can obviously exploited this situation, but also governments intending to deploy spyware against suspects. In this paper we present an efficient mechanism as well as the corresponding reference implementation for on-the-fly infecting of executable code with malicious software. Our algorithm deploys virus infection routines and network redirection attacks without requiring to modify the application itself. This allows to even infect executables with a embedded signature when the signature is not automatically verified before execution. We briefly discuss counter-measures such as secure channels, code authentication as well as trusted virtualization that enables the isolation of untrusted downloads from trusted applications.
We investigate the paradigm shift from the real- world organized crime to the organized cyber crime, in particular with regard to identity theft through phishing and the methods deployed for the purpose of money laundering. Our work is based on our collaboration with banks and lawyers within the working group identity protection on the Internet (a-i3') as well as phishing victims in Germany. We report on case studies and analyze strategies used by phishers. We propose a forensic framework concept for identifying and tracing financial agents involved in the associated criminal network. Finally, we shortly discuss some open problems.