From 5fe4a89f3e1d08bdc422a50fbd34a14a8856421b Mon Sep 17 00:00:00 2001 From: cpholguera Date: Tue, 22 Mar 2022 11:19:19 +0100 Subject: [PATCH 01/17] add coverage for MSTG-CODE-9 --- ...Testing-Code-Quality-and-Build-Settings.md | 110 +++++++----------- 1 file changed, 43 insertions(+), 67 deletions(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index 683fb2d320..a608b26de4 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -484,88 +484,64 @@ There are various steps to take: ### Overview -Because decompiling Java classes is trivial, applying some basic obfuscation to the release byte-code is recommended. [ProGuard](0x08-Testing-Tools.md#proguard) offers an easy way to shrink and obfuscate code and to strip unneeded debugging information from the byte-code of Android Java apps. It replaces identifiers, such as class names, method names, and variable names, with meaningless character strings. This is a type of layout obfuscation, which is "free" in that it doesn't impact the program's performance. - -Since most Android applications are Java-based, they are [immune to buffer overflow vulnerabilities](https://owasp.org/www-community/vulnerabilities/Buffer_Overflow "Java Buffer Overflows"). Nevertheless, a buffer overflow vulnerability may still be applicable when you're using the Android NDK; therefore, consider secure compiler settings. +The tests used to detect the presence of binary protection mechanisms heavily depend on the language used for developing the application. These are some basic guidelines: + +- In general all binaries must be tested, this includes both the app main executable as well as all libraries/dependencies. +- In some cases the nature of the language they were written will offer sufficient protection (e.g. Java has Garbage Collection similar to ARC on iOS), so even if a feature is not enabled the test may pass. +- In other cases, e.g. pure C code, the presence of certain binary protections has to be fully determined because of the high risk of potential exploitation. + +To each protection: + +- **PIE**: it’s used to enable ASLR and must be set for the main executable and libraries. + - Since Android 7.0 (API level 24), PIC compilation was [enabled by default](https://source.android.com/devices/tech/dalvik/configure) for the main executables. + - Since Android 5.0 (API level 21), support for non-PIE enabled native libraries was [dropped](https://source.android.com/security/enhancements/enhancements50). +- **Memory management**: + - **ARC** (Automatic Reference Counting) is a memory management feature [exclusive to Objective-C and Swift](https://en.wikipedia.org/wiki/Automatic_Reference_Counting) (iOS). Nothing to check on Android. + - **Garbage Collection** (GC) is a [memory management feature](https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) of some languages such as Java/Kotlin/Dart. + - There’s nothing to check on the main executable. + - However, GC does not apply to native libraries. The developer is responsible for doing proper memory management. See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). + - You can learn more about how it differs from ARC [here](https://fragmentedpodcast.com/episodes/064/). +- **SSP** (Stack Smashing Protection aka. canaries): Helps prevent buffer overflow attacks by means of having a small integer right before the return pointer. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the process-control. In that case, the canary gets overwritten as well. Therefore, the value of the canary is always checked to make sure it has not changed before a routine uses the return pointer on the stack. + - It must be enabled for native code (keywords: C/C++/JNI/NDK) but it might be difficult to fully determine it. + - NDK libraries should have it enabled since the compiler does it by default. + - Other custom C/C++ libraries might not have it enabled. + - If the language is considered memory safe (at least for mitigating buffer overflows), it’s ok if it’s not enabled for that specific binary. + - Flutter will not compile using stack canaries because of the way Dart mitigates buffer overflows. ### Static Analysis -If source code is provided, you can check the build.gradle file to see whether obfuscation settings have been applied. In the example below, you can see that `minifyEnabled` and `proguardFiles` are set. Creating exceptions to protect some classes from obfuscation (with `-keepclassmembers` and `-keep class`) is common. Therefore, auditing the ProGuard configuration file to see what classes are exempted is important. The `getDefaultProguardFile('proguard-android.txt')` method gets the default ProGuard settings from the `/tools/proguard/` folder. - -Further information on how to shrink, obfuscate, and optimize your app can be found in the [Android developer documentation](https://developer.android.com/studio/build/shrink-code "Shrink, obfuscate, and optimize your app"). +Test the app native libraries to determine if they have the PIE an SSP protections enabled. -> When you build you project using Android Studio 3.4 or Android Gradle plugin 3.4.0 or higher, the plugin no longer uses ProGuard to perform compile-time code optimization. Instead, the plugin works with the R8 compiler. R8 works with all of your existing ProGuard rules files, so updating the Android Gradle plugin to use R8 should not require you to change your existing rules. +You can use rabin2 to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk): -R8 is the new code shrinker from Google and was introduced in Android Studio 3.3 beta. By default, R8 removes attributes that are useful for debugging, including line numbers, source file names, and variable names. R8 is a free Java class file shrinker, optimizer, obfuscator, and pre-verifier and is faster than ProGuard, see also an [Android Developer blog post for further details](https://android-developers.googleblog.com/2018/11/r8-new-code-shrinker-from-google-is.html "R8"). It is shipped with Android's SDK tools. To activate shrinking for the release build, add the following to build.gradle: +First we take a look at the main binary for the sake of clarity. You'll see that `canary` and `pic` seem to not enabled (`false`). However, they are actually not applicable, that's why the tool shows them as `false`. -```default -android { - buildTypes { - release { - // Enables code shrinking, obfuscation, and optimization for only - // your project's release build type. - minifyEnabled true - - // Includes the default ProGuard rules files that are packaged with - // the Android Gradle plugin. To learn more, go to the section about - // R8 configuration files. - proguardFiles getDefaultProguardFile( - 'proguard-android-optimize.txt'), - 'proguard-rules.pro' - } - } - ... -} +```sh +rabin2 -I classes.dex | grep -E "canary|pic" +canary false +pic false ``` -The file `proguard-rules.pro` is where you define custom ProGuard rules. With the flag `-keep` you can keep certain code that is not being removed by R8, which might otherwise produce errors. For example to keep common Android classes, as in our sample configuration `proguard-rules.pro` file: +What you should definitely test are the native libraries. They must have `canary` and `pic` both set to `true`. -```default -... --keep public class * extends android.app.Activity --keep public class * extends android.app.Application --keep public class * extends android.app.Service -... -``` +That's the case for `libnative-lib.so`: -You can define this more granularly on specific classes or libraries in your project with the [following syntax](https://developer.android.com/studio/build/shrink-code#configuration-files "Customize which code to keep"): - -```default --keep public class MyClass +```sh +rabin2 -I lib/x86_64/libnative-lib.so | grep -E "canary|pic" +canary true +pic true ``` -### Dynamic Analysis - -If source code has not been provided, an APK can be decompiled to determine whether the codebase has been obfuscated. Several tools are available for converting DEX code to a JAR file (e.g. dex2jar). The JAR file can be opened with tools such as JD-GUI that can be used to make sure that class, method, and variable names are not human-readable. +But not for `libtool-checker.so`: -Below you can find a sample for an obfuscated code block: - -```java -package com.a.a.a; - -import com.a.a.b.a; -import java.util.List; - -class a$b - extends a -{ - public a$b(List paramList) - { - super(paramList); - } - - public boolean areAllItemsEnabled() - { - return true; - } - - public boolean isEnabled(int paramInt) - { - return true; - } -} +```sh +rabin2 -I lib/x86_64/libtool-checker.so | grep -E "canary|pic" +canary false +pic true ``` +In this example, `libtool-checker.so` must be fixed to enable SSP. + ## References ### OWASP MASVS From 9defc3f7d47c0e96784cd2beb9e45820030d5e82 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Tue, 29 Mar 2022 13:50:58 +0200 Subject: [PATCH 02/17] add more references --- ...0x05i-Testing-Code-Quality-and-Build-Settings.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index a608b26de4..7078a99a21 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -490,6 +490,17 @@ The tests used to detect the presence of binary protection mechanisms heavily de - In some cases the nature of the language they were written will offer sufficient protection (e.g. Java has Garbage Collection similar to ARC on iOS), so even if a feature is not enabled the test may pass. - In other cases, e.g. pure C code, the presence of certain binary protections has to be fully determined because of the high risk of potential exploitation. +Android optimizes its Dalvik bytecode from the app DEX files (e.g. classes.dex) and generates a new file containing the native code, usually with an .odex, .oat extension. This [Android compiled binary](0x05b-Basic-Security_Testing.md#compiled-app-binary) is wrapped using the [ELF format](https://refspecs.linuxfoundation.org/elf/gabi4+/contents.html) which is the format used by Linux and Android to package assembly code. + +The app's [NDK native libraries](0x05b-Basic-Security_Testing.md#native-libraries) also [use the ELF format](https://developer.android.com/ndk/guides/abis). + +Learn more: + +- [Android executable formats](https://lief-project.github.io/doc/latest/tutorials/10_android_formats.html) +- [Android runtime (ART)](https://source.android.com/devices/tech/dalvik/configure#how_art_works) +- [Android NDK](https://developer.android.com/ndk/guides) +- [Android linker changes for NDK developers](https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md) + To each protection: - **PIE**: it’s used to enable ASLR and must be set for the main executable and libraries. @@ -497,7 +508,7 @@ To each protection: - Since Android 5.0 (API level 21), support for non-PIE enabled native libraries was [dropped](https://source.android.com/security/enhancements/enhancements50). - **Memory management**: - **ARC** (Automatic Reference Counting) is a memory management feature [exclusive to Objective-C and Swift](https://en.wikipedia.org/wiki/Automatic_Reference_Counting) (iOS). Nothing to check on Android. - - **Garbage Collection** (GC) is a [memory management feature](https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) of some languages such as Java/Kotlin/Dart. + - **Garbage Collection** (GC) is a [memory management feature](https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) of some languages such as Java/Kotlin/Dart. ART makes use of an [improved version of GC](https://source.android.com/devices/tech/dalvik#Improved_GC). - There’s nothing to check on the main executable. - However, GC does not apply to native libraries. The developer is responsible for doing proper memory management. See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). - You can learn more about how it differs from ARC [here](https://fragmentedpodcast.com/episodes/064/). From a9c2c5a5ec4bce7137cfb6353e83a113cdd8fd38 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Tue, 29 Mar 2022 13:51:23 +0200 Subject: [PATCH 03/17] add java2oat compilation --- Document/0x05a-Platform-Overview.md | 4 ++++ Document/Images/Chapters/0x05a/java2oat.png | Bin 0 -> 333650 bytes 2 files changed, 4 insertions(+) create mode 100644 Document/Images/Chapters/0x05a/java2oat.png diff --git a/Document/0x05a-Platform-Overview.md b/Document/0x05a-Platform-Overview.md index 145ead2909..afacc9ffe6 100644 --- a/Document/0x05a-Platform-Overview.md +++ b/Document/0x05a-Platform-Overview.md @@ -28,6 +28,10 @@ The current version of Android executes this bytecode on the Android runtime (AR In the DVM, bytecode is translated into machine code at execution time, a process known as *just-in-time* (JIT) compilation. This enables the runtime to benefit from the speed of compiled code while maintaining the flexibility of code interpretation. To further improve performance, Android introduced the [Android Runtime (ART)](https://source.android.com/devices/tech/dalvik/configure#how_art_works) to replace the DVM. ART uses a hybrid combination of *ahead-of-time* (AOT), JIT and profile-guided compilation. Apps are recompiled on the device when they are installed, or when the OS undergoes a major update. While the code is being recompiled, device-specific and advanced code optimizations techniques can be applied. The final recompiled code is then used for all subsequent executions. AOT improves performance by a factor of two while reducing power consumption, due to the device-specific optimizations. +![OWASP MSTG](Images/Chapters/0x05a/java2oat.png) \ + +Source: + Android apps don't have direct access to hardware resources, and each app runs in its own virtual machine or sandbox. This enables the OS to have precise control over resources and memory access on the device. For instance, a crashing app doesn't affect other apps running on the same device. Android controls the maximum number of system resources allocated to apps, preventing any one app from monopolizing too many resources. At the same time, this sandbox design can be considered as one of the many principles in Android's global defense-in-depth strategy. A malicious third-party application, with low privileges, shouldn't be able to escape its own runtime and read the memory of a victim application on the same device. In the following section we take a closer look at the different defense layers in the Android operating system. ## Android Security: Defense-in-Depth Approach diff --git a/Document/Images/Chapters/0x05a/java2oat.png b/Document/Images/Chapters/0x05a/java2oat.png new file mode 100644 index 0000000000000000000000000000000000000000..7b948c2262bb500a1594c04cd9d63c30aca14990 GIT binary patch literal 333650 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 z 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

rWC1Ef#CIdWl*T8@}L;OuhngrjVMDw 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≺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

gzYYy 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%0AFpp4CsQA$37~DqpE&HF&@BiiaC_k1fYO5h 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 Date: Tue, 29 Mar 2022 13:51:53 +0200 Subject: [PATCH 04/17] add section about the main android compiled binary --- Document/0x05b-Basic-Security_Testing.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Document/0x05b-Basic-Security_Testing.md b/Document/0x05b-Basic-Security_Testing.md index b9ead1ff7a..3247e837ae 100644 --- a/Document/0x05b-Basic-Security_Testing.md +++ b/Document/0x05b-Basic-Security_Testing.md @@ -511,6 +511,26 @@ As seen above in "[Exploring the App Package](#exploring-the-app-package "Explor Refer to the section "[Reviewing Decompiled Java Code](0x05c-Reverse-Engineering-and-Tampering.md#reviewing-decompiled-java-code "Reviewing Decompiled Java Code")" in the chapter "[Tampering and Reverse Engineering on Android](0x05c-Reverse-Engineering-and-Tampering.md)" for more information about how to reverse engineer DEX files. +##### Compiled App Binary + +In some cases it might be useful to retrieve the compiled app binary (.odex). + +First get the path to the app's data directory: + +```bash +adb shell pm path com.example.myapplication +package:/data/app/~~DEMFPZh7R4qfUwwwh1czYA==/com.example.myapplication-pOslqiQkJclb_1Vk9-WAXg==/base.apk +``` + +Remove the `/base.apk` part, add `/oat/arm64/base.odex` and use the resulting path to pull the base.odex from the device: + +```bash +adb root +adb pull /data/app/~~DEMFPZh7R4qfUwwwh1czYA==/com.example.myapplication-pOslqiQkJclb_1Vk9-WAXg==/oat/arm64/base.odex +``` + +Note that you must execute adb with root privileges. If the above doesn't work because the file cannot be found, try exploring yourself using `adb shell` and `cd` to that path until you find the `base.odex`. + ##### Native Libraries You can inspect the `lib` folder in the APK: From efae08d2839adf0cb555562955b0045c37b159e7 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 30 Mar 2022 11:25:54 +0200 Subject: [PATCH 05/17] add general section about obfuscation; update iOS and Android tests for MSTG-RESILIENCE-9 and add APKiD --- ...0x04c-Tampering-and-Reverse-Engineering.md | 61 ++++++++- ...0x05c-Reverse-Engineering-and-Tampering.md | 10 +- ...-Resiliency-Against-Reverse-Engineering.md | 123 ++++++++++++++++-- ...-Resiliency-Against-Reverse-Engineering.md | 60 +-------- Document/0x08-Testing-Tools.md | 11 ++ 5 files changed, 198 insertions(+), 67 deletions(-) diff --git a/Document/0x04c-Tampering-and-Reverse-Engineering.md b/Document/0x04c-Tampering-and-Reverse-Engineering.md index f1c7a52e2a..1ac4e5ffed 100644 --- a/Document/0x04c-Tampering-and-Reverse-Engineering.md +++ b/Document/0x04c-Tampering-and-Reverse-Engineering.md @@ -69,10 +69,69 @@ In theory, the mapping between assembly and machine code should be one-to-one, a - Position independent code (PIC) sequences. - Hand crafted assembly code. -On a similar vein, decompilation is a very complicated process, involving many deterministic and heuristic based approaches. As a consequence, decompilation is usually not really accurate, but nevertheless very helpful in getting a quick understanding of the function being analyzed. The accuracy of decompilation depends on the amount of information available in the code being decompiled and the sophistication of the decompiler. In addition, many compilation and post-compilation tools introduce additional complexity to the compiled code in order to increase the difficulty of comprehension and/or even decompilation itself. Such code referred to as _obfuscated code_. +On a similar vein, decompilation is a very complicated process, involving many deterministic and heuristic based approaches. As a consequence, decompilation is usually not really accurate, but nevertheless very helpful in getting a quick understanding of the function being analyzed. The accuracy of decompilation depends on the amount of information available in the code being decompiled and the sophistication of the decompiler. In addition, many compilation and post-compilation tools introduce additional complexity to the compiled code in order to increase the difficulty of comprehension and/or even decompilation itself. Such code referred to as [_obfuscated code_](#obfuscation). Over the past decades many tools have perfected the process of disassembly and decompilation, producing output with high fidelity. Advanced usage instructions for any of the available tools can often easily fill a book of their own. The best way to get started is to simply pick up a tool that fits your needs and budget and get a well-reviewed user guide. In this section, we will provide an introduction to some of those tools and in the subsequent "Reverse Engineering and Tampering" Android and iOS chapters we'll focus on the techniques themselves, especially those that are specific to the platform at hand. +### Obfuscation + +Obfuscation is the process of transforming code and data to make it more difficult to comprehend (and sometimes even difficult to disassemble). It is usually an integral part of the software protection scheme. Obfuscation isn't something that can be simply turned on or off, programs can be made incomprehensible, in whole or in part, in many ways and to different degrees. + +> Note: All presented techniques below may not stop reverse engineers, but combining all of those techniques will make their job significantly harder. The aim of those techniques is to discourage reverse engineers from performing further analysis. + +The following techniques can be used to obfuscate an application: + +- Name obfuscation +- Instruction substitution +- Control flow flattening +- Dead code injection +- String encryption +- Packing + +#### Name Obfuscation + +The standard compiler generates binary symbols based on class and function names from the source code. Therefore, if no obfuscation was applied, symbol names remain meaningful and can be easily read straight from the app binary. For instance, a function which detects a jailbreak can be located by searching for relevant keywords (e.g. "jailbreak"). The listing below shows the disassembled function `JailbreakDetectionViewController.jailbreakTest4Tapped` from the Damn Vulnerable iOS App (DVIA-v2). + +```assembly +__T07DVIA_v232JailbreakDetectionViewControllerC20jailbreakTest4TappedyypF: +stp x22, x21, [sp, #-0x30]! +mov rbp, rsp +``` + +After the obfuscation we can observe that the symbol’s name is no longer meaningful as shown on the listing below. + +```assembly +__T07DVIA_v232zNNtWKQptikYUBNBgfFVMjSkvRdhhnbyyFySbyypF: +stp x22, x21, [sp, #-0x30]! +mov rbp, rsp +``` + +Nevertheless, this only applies to the names of functions, classes and fields. The actual code remains unmodified, so an attacker can still read the disassembled version of the function and try to understand its purpose (e.g. to retrieve the logic of a security algorithm). + +#### Instruction Substitution + +This technique replaces standard binary operators like addition or subtraction with more complex representations. For example an addition `x = a + b` can be represented as `x = -(-a) - (-b)`. However, using the same replacement representation could be easily reversed, so it is recommended to add multiple substitution techniques for a single case and introduce a random factor. This technique is vulnerable to deobfuscation, but depending on the complexity and depth of the substitutions, applying it can still be time consuming. + +#### Control Flow Flattening + +Control flow flattening replaces original code with a more complex representation. The transformation breaks the body of a function into basic blocks and puts them all inside a single infinite loop with a switch statement that controls the program flow. This makes the program flow significantly harder to follow because it removes the natural conditional constructs that usually make the code easier to read. + +![control-flow-flattening](./Images/Chapters/0x06j/control-flow-flattening.png) \ + +The image shows how control flow flattening alters code (see "[Obfuscating C++ programs via control flow flattening](http://ac.inf.elte.hu/Vol_030_2009/003.pdf)") + +#### Dead Code Injection + +This technique makes the program's control flow more complex by injecting dead code into the program. Dead code is a stub of code that doesn’t affect the original program’s behaviour but increases the overhead for the reverse engineering process. + +#### String Encryption + +Applications are often compiled with hardcoded keys, licences, tokens and endpoint URLs. By default, all of them are stored in plaintext in the data section of an application’s binary. This technique encrypts these values and injects stubs of code into the program that will decrypt that data before it is used by the program. + +#### Packing + +[Packing](https://attack.mitre.org/techniques/T1027/002/) is a dynamic rewriting obfuscation technique which compresses or encrypts the original executable into data and dynamically recovers it during execution. Packing an executable changes the file signature in an attempt to avoid signature-based detection. + ### Debugging and Tracing In the traditional sense, debugging is the process of identifying and isolating problems in a program as part of the software development life cycle. The same tools used for debugging are valuable to reverse engineers even when identifying bugs is not the primary goal. Debuggers enable program suspension at any point during runtime, inspection of the process' internal state, and even register and memory modification. These abilities simplify program inspection. diff --git a/Document/0x05c-Reverse-Engineering-and-Tampering.md b/Document/0x05c-Reverse-Engineering-and-Tampering.md index 2b27e84282..bc226a27de 100644 --- a/Document/0x05c-Reverse-Engineering-and-Tampering.md +++ b/Document/0x05c-Reverse-Engineering-and-Tampering.md @@ -22,9 +22,13 @@ Nevertheless, if the code has been purposefully obfuscated (or some tool-breakin #### Decompiling Java Code -If you don't mind looking at Smali instead of Java, you can simply [open your APK in Android Studio](https://developer.android.com/studio/debug/apk-debugger "Debug pre-built APKs") by clicking **Profile or debug APK** from the Welcome screen (even if you don't intend to debug it you can take a look at the smali code). +**Java Disassembled Code (Smali):** -Alternatively you can use [apktool](0x08-Testing-Tools.md#apktool) to extract and disassemble resources directly from the APK archive and disassemble Java bytecode to Smali. apktool allows you to reassemble the package, which is useful for patching and applying changes to e.g. the Android Manifest. +If you want to inspect the app's Smali code (instead of Java), you can simply [open your APK in Android Studio](https://developer.android.com/studio/debug/apk-debugger "Debug pre-built APKs") by clicking **Profile or debug APK** from the "Welcome screen" (even if you don't intend to debug it you can take a look at the smali code). + +Alternatively you can use [apktool](0x08-Testing-Tools.md#apktool) to extract and disassemble resources directly from the APK archive and disassemble Java bytecode to Smali. apktool allows you to reassemble the package, which is useful for [patching](#patching-repackaging-and-re-signing) the app or applying changes to e.g. the Android Manifest. + +**Java Decompiled Code:** If you want to look directly into Java source code on a GUI, simply open your APK using [jadx](0x08-Testing-Tools.md#jadx) or [Bytecode Viewer](0x08-Testing-Tools.md#bytecode-viewer). @@ -299,7 +303,7 @@ Remember that in most of the cases, just using static analysis will not be enoug #### Reviewing Decompiled Java Code -Following the example from "Decompiling Java Code", we assume that you've successfully decompiled and opened the crackme app in IntelliJ. As soon as IntelliJ has indexed the code, you can browse it just like you'd browse any other Java project. Note that many of the decompiled packages, classes, and methods have weird one-letter names; this is because the bytecode has been "minified" with ProGuard at build time. This is a basic type of obfuscation that makes the bytecode a little more difficult to read, but with a fairly simple app like this one, it won't cause you much of a headache. When you're analyzing a more complex app, however, it can get quite annoying. +Following the example from ["Decompiling Java Code"](#decompiling-java-code), we assume that you've successfully decompiled and opened the crackme app in IntelliJ. As soon as IntelliJ has indexed the code, you can browse it just like you'd browse any other Java project. Note that many of the decompiled packages, classes, and methods have weird one-letter names; this is because the bytecode has been "minified" with ProGuard at build time. This is a basic type of [obfuscation](0x04c-Tampering-and-Reverse-Engineering.md#obfuscation) that makes the bytecode a little more difficult to read, but with a fairly simple app like this one, it won't cause you much of a headache. When you're analyzing a more complex app, however, it can get quite annoying. When analyzing obfuscated code, annotating class names, method names, and other identifiers as you go along is a good practice. Open the `MainActivity` class in the package `sg.vantagepoint.uncrackable1`. The method `verify` is called when you tap the "verify" button. This method passes the user input to a static method called `a.a`, which returns a boolean value. It seems plausible that `a.a` verifies user input, so we'll refactor the code to reflect this. diff --git a/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md b/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md index ce85257066..023c4723ef 100644 --- a/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md +++ b/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md @@ -1000,24 +1000,129 @@ Refer to the "[Tampering and Reverse Engineering on Android](0x05c-Reverse-Engin ### Overview -Obfuscation is the process of transforming code and data to make it more difficult to comprehend. It is an integral part of every software protection scheme. What's important to understand is that obfuscation isn't something that can be simply turned on or off. Programs can be made incomprehensible, in whole or in part, in many ways and to different degrees. +The chapter ["Mobile App Tampering and Reverse Engineering"](0x04c-Tampering-and-Reverse-Engineering.md#obfuscation) introduces several well-known obfuscation techniques that can be used in mobile apps in general. -In the test case "Make Sure That Free Security Features Are Activated (MSTG-CODE-9)" in chapter "Code Quality and Build Settings of Android Apps", we describe a few basic obfuscation techniques that are commonly used on Android with R8 and Pro-Guard. +Android apps can implement some of those obfuscation techniques using different tooling. For example, [ProGuard](0x08-Testing-Tools.md#proguard) offers an easy way to shrink and obfuscate code and to strip unneeded debugging information from the bytecode of Android Java apps. It replaces identifiers, such as class names, method names, and variable names, with meaningless character strings. This is a type of layout obfuscation, which doesn't impact the program's performance. -### Effectiveness Assessment +> Decompiling Java classes is trivial, therefore it is recommended to always applying some basic obfuscation to the production bytecode. + +Learn more about Android obfuscation techniques: + +- ["Security Hardening of Android Native Code"](https://darvincitech.wordpress.com/2020/01/07/security-hardening-of-android-native-code/) by Gautam Arvind +- ["APKiD: Fast Identification of AppShielding Products"](https://github.com/enovella/cve-bio-enovella/blob/master/slides/APKiD-NowSecure-Connect19-enovella.pdf) by Eduardo Novella +- ["Challenges of Native Android Applications: Obfuscation and Vulnerabilities"](https://www.theses.fr/2020REN1S047.pdf) by Pierre Graux + +#### Using ProGuard + +Developers use the build.gradle file to enable obfuscation. In the example below, you can see that `minifyEnabled` and `proguardFiles` are set. Creating exceptions to protect some classes from obfuscation (with `-keepclassmembers` and `-keep class`) is common. Therefore, auditing the ProGuard configuration file to see what classes are exempted is important. The `getDefaultProguardFile('proguard-android.txt')` method gets the default ProGuard settings from the `/tools/proguard/` folder. + +Further information on how to shrink, obfuscate, and optimize your app can be found in the [Android developer documentation](https://developer.android.com/studio/build/shrink-code "Shrink, obfuscate, and optimize your app"). + +> When you build you project using Android Studio 3.4 or Android Gradle plugin 3.4.0 or higher, the plugin no longer uses ProGuard to perform compile-time code optimization. Instead, the plugin works with the R8 compiler. R8 works with all of your existing ProGuard rules files, so updating the Android Gradle plugin to use R8 should not require you to change your existing rules. + +R8 is the new code shrinker from Google and was introduced in Android Studio 3.3 beta. By default, R8 removes attributes that are useful for debugging, including line numbers, source file names, and variable names. R8 is a free Java class file shrinker, optimizer, obfuscator, and pre-verifier and is faster than ProGuard, see also an [Android Developer blog post for further details](https://android-developers.googleblog.com/2018/11/r8-new-code-shrinker-from-google-is.html "R8"). It is shipped with Android's SDK tools. To activate shrinking for the release build, add the following to build.gradle: + +```default +android { + buildTypes { + release { + // Enables code shrinking, obfuscation, and optimization for only + // your project's release build type. + minifyEnabled true + + // Includes the default ProGuard rules files that are packaged with + // the Android Gradle plugin. To learn more, go to the section about + // R8 configuration files. + proguardFiles getDefaultProguardFile( + 'proguard-android-optimize.txt'), + 'proguard-rules.pro' + } + } + ... +} +``` + +The file `proguard-rules.pro` is where you define custom ProGuard rules. With the flag `-keep` you can keep certain code that is not being removed by R8, which might otherwise produce errors. For example to keep common Android classes, as in our sample configuration `proguard-rules.pro` file: + +```default +... +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Application +-keep public class * extends android.app.Service +... +``` + +You can define this more granularly on specific classes or libraries in your project with the [following syntax](https://developer.android.com/studio/build/shrink-code#configuration-files "Customize which code to keep"): + +```default +-keep public class MyClass +``` + +Obfuscation often carries a cost in runtime performance, therefore it is usually only applied to certain very specific parts of the code, typically those dealing with security and runtime protection. + +### Static Analysis + +[Decompile the APK](0x05c-Reverse-Engineering-and-Tampering.md#decompiling-java-code) and [review it](0x05c-Reverse-Engineering-and-Tampering.md#reviewing-decompiled-java-code) to determine whether the codebase has been obfuscated. -Attempt to decompile the bytecode, disassemble any included library files and try to understand it. When doing so, consider the following: +Below you can find a sample for an obfuscated code block: + +```java +package com.a.a.a; + +import com.a.a.b.a; +import java.util.List; + +class a$b + extends a +{ + public a$b(List paramList) + { + super(paramList); + } + + public boolean areAllItemsEnabled() + { + return true; + } + + public boolean isEnabled(int paramInt) + { + return true; + } +} +``` + +Here are some considerations: -- Obfuscation often carries a cost in runtime performance, therefore it might have been only applied to certain very specific parts of the code, typically those dealing with security and runtime protection. - Meaningful identifiers, such as class names, method names, and variable names, might have been discarded. - String resources and strings in binaries might have been encrypted. - Code and data related to the protected functionality might be encrypted, packed, or otherwise concealed. -- For native code, [libc APIs](https://man7.org/linux/man-pages/dir_section_3.html) (e.g open, read) might have been replaced with OS [syscalls](https://man7.org/linux/man-pages/man2/syscalls.2.html). -- Additional obfuscation techniques such as ["Control Flow Flattening"](https://github.com/obfuscator-llvm/obfuscator/wiki/Control-Flow-Flattening) or ["Bogus Control Flow"](https://github.com/obfuscator-llvm/obfuscator/wiki/Bogus-Control-Flow) might have been applied using e.g. [Obfuscator-LLVM](https://github.com/obfuscator-llvm/obfuscator "Obfuscator-LLVM"). -Some of these techniques are discussed and analyzed in the blog post ["Security hardening of Android native code"](https://darvincitech.wordpress.com/2020/01/07/security-hardening-of-android-native-code/) by Gautam Arvind. +For native code: + +- [libc APIs](https://man7.org/linux/man-pages/dir_section_3.html) (e.g open, read) might have been replaced with OS [syscalls](https://man7.org/linux/man-pages/man2/syscalls.2.html). +- [Obfuscator-LLVM](https://github.com/obfuscator-llvm/obfuscator "Obfuscator-LLVM") might have been applied to perform ["Control Flow Flattening"](https://github.com/obfuscator-llvm/obfuscator/wiki/Control-Flow-Flattening) or ["Bogus Control Flow"](https://github.com/obfuscator-llvm/obfuscator/wiki/Bogus-Control-Flow). + +Some of these techniques are discussed and analyzed in the blog post ["Security hardening of Android native code"](https://darvincitech.wordpress.com/2020/01/07/security-hardening-of-android-native-code/) by Gautam Arvind and in the ["APKiD: Fast Identification of AppShielding Products"](https://github.com/enovella/cve-bio-enovella/blob/master/slides/APKiD-NowSecure-Connect19-enovella.pdf) presentation by Eduardo Novella. + +For a more detailed assessment, you need a detailed understanding of the relevant threats and the obfuscation methods used. There are some tools such as [APKiD](0x08-Testing-Tools.md#apkid) that might be able to give you some indications about the kind of techniques were used for the target app such as obfuscators, packers, anti debug. + +### Dynamic Analysis + +You can use [APKiD](0x08-Testing-Tools.md#apkid) to detect if the app has been obfuscated. + +Example using the [Android Crackme Level 4](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk): + +```sh +apkid owasp-mstg/Crackmes/Android/Level_04/r2pay-v1.0.apk +[+] APKiD 2.1.2 :: from RedNaga :: rednaga.io +[*] owasp-mstg/Crackmes/Android/Level_04/r2pay-v1.0.apk!classes.dex + |-> anti_vm : Build.TAGS check, possible ro.secure check + |-> compiler : r8 + |-> obfuscator : unreadable field names, unreadable method names +``` -For a more detailed assessment, you need a detailed understanding of the relevant threats and the obfuscation methods used. There are some tools such as [APKiD](https://github.com/rednaga/APKiD) that might be able to give you some indications about the kind of obfuscators being used. +In this case it detects that the app has unreadable field names and method names, among other things. ## Testing Device Binding (MSTG-RESILIENCE-10) diff --git a/Document/0x06j-Testing-Resiliency-Against-Reverse-Engineering.md b/Document/0x06j-Testing-Resiliency-Against-Reverse-Engineering.md index 0c78d3a958..5e6b21e10d 100644 --- a/Document/0x06j-Testing-Resiliency-Against-Reverse-Engineering.md +++ b/Document/0x06j-Testing-Resiliency-Against-Reverse-Engineering.md @@ -640,64 +640,16 @@ However, this is not a concern on iOS. As discussed in the section [Testing on t ### Overview -Obfuscation is a process of transforming code into a form that is difficult to disassemble and understand and is an integral part of every software protection scheme. The application preserves the original functionality after obfuscation. What's important to understand is that obfuscation isn't something that can be simply turned on or off. Programs can be made incomprehensible, in whole or in part, in many ways and to different degrees. +The chapter ["Mobile App Tampering and Reverse Engineering"](0x04c-Tampering-and-Reverse-Engineering.md#obfuscation) introduces several well-known obfuscation techniques that can be used in mobile apps in general. -> Note: All presented techniques below may not stop reverse engineers, but combining all of those techniques will make their job significantly harder. The aim of those techniques is to discourage reverse engineers from performing further analysis. - -The following techniques can be used to obfuscate an application: - -- Name obfuscation -- Instruction substitution -- Control flow flattening -- Dead code injection -- String encryption - -### Name Obfuscation - -The standard compiler generates binary symbols based on class and function names from the source code. Therefore, if no obfuscation was applied, symbol names remain meaningful and can be easily read straight from the app binary. For instance, a function which detects a jailbreak can be located by searching for relevant keywords (e.g. "jailbreak"). The listing below shows the disassembled function `JailbreakDetectionViewController.jailbreakTest4Tapped` from the Damn Vulnerable iOS App (DVIA-v2). - -```assembly -__T07DVIA_v232JailbreakDetectionViewControllerC20jailbreakTest4TappedyypF: -stp x22, x21, [sp, #-0x30]! -mov rbp, rsp -``` - -After the obfuscation we can observe that the symbol’s name is no longer meaningful as shown on the listing below. - -```assembly -__T07DVIA_v232zNNtWKQptikYUBNBgfFVMjSkvRdhhnbyyFySbyypF: -stp x22, x21, [sp, #-0x30]! -mov rbp, rsp -``` - -Nevertheless, this only applies to the names of functions, classes and fields. The actual code remains unmodified, so an attacker can still read the disassembled version of the function and try to understand its purpose (e.g. to retrieve the logic of a security algorithm). - -### Instruction Substitution - -This technique replaces standard binary operators like addition or subtraction with more complex representations. For example an addition `x = a + b` can be represented as `x = -(-a) - (-b)`. However, using the same replacement representation could be easily reversed, so it is recommended to add multiple substitution techniques for a single case and introduce a random factor. This technique is vulnerable to deobfuscation, but depending on the complexity and depth of the substitutions, applying it can still be time consuming. - -### Control Flow Flattening - -Control flow flattening replaces original code with a more complex representation. The transformation breaks the body of a function into basic blocks and puts them all inside a single infinite loop with a switch statement that controls the program flow. This makes the program flow significantly harder to follow because it removes the natural conditional constructs that usually make the code easier to read. - -![control-flow-flattening](./Images/Chapters/0x06j/control-flow-flattening.png) \ - -The image shows how control flow flattening alters code (see "[Obfuscating C++ programs via control flow flattening](http://ac.inf.elte.hu/Vol_030_2009/003.pdf)") - -### Dead Code Injection - -This technique makes the program's control flow more complex by injecting dead code into the program. Dead code is a stub of code that doesn’t affect the original program’s behaviour but increases the overhead for the reverse engineering process. - -### String Encryption - -Applications are often compiled with hardcoded keys, licences, tokens and endpoint URLs. By default, all of them are stored in plaintext in the data section of an application’s binary. This technique encrypts these values and injects stubs of code into the program that will decrypt that data before it is used by the program. - -### Recommended Tools +iOS apps can implement some of those obfuscation techniques using different tooling. For example: - [SwiftShield](https://github.com/rockbruno/swiftshield) can be used to perform name obfuscation. It reads the source code of the Xcode project and replaces all names of classes, methods and fields with random values before the compiler is used. - [obfuscator-llvm](https://github.com/obfuscator-llvm) operates on the Intermediate Representation (IR) instead of the source code. It can be used for symbol obfuscation, string encryption and control flow flattening. Since it's based on IR, it can hide out significantly more information about the application as compared to SwiftShield. -### How to use SwiftShield +Learn more about iOS obfuscation techniques [here](https://faculty.ist.psu.edu/wu/papers/obf-ii.pdf). + +#### How to use SwiftShield > Warning: SwiftShield irreversibly overwrites all your source files. Ideally, you should have it run only on your CI server, and on release builds. @@ -763,7 +715,7 @@ This is needed for [deobfuscating encrypted crash logs](https://github.com/rockb Another example project is available in SwiftShield's [Github repo](https://github.com/rockbruno/swiftshield/tree/master/ExampleProject "SwiftShieldExample"), that can be used to test the execution of SwiftShield. -### Effectiveness Assessment +### Static Analysis Attempt to disassemble the Mach-O in the IPA and any included library files in the "Frameworks" directory (.dylib or .framework files), and perform static analysis. At the very least, the app's core functionality (i.e., the functionality meant to be obfuscated) shouldn't be easily discerned. Verify that: diff --git a/Document/0x08-Testing-Tools.md b/Document/0x08-Testing-Tools.md index 69282f577b..b0e478a11d 100644 --- a/Document/0x08-Testing-Tools.md +++ b/Document/0x08-Testing-Tools.md @@ -1114,6 +1114,17 @@ The official IDE for Google's Android operating system, built on JetBrains' Inte Android-SSL-TrustKiller is a Cydia Substrate Module acting as a blackbox tool to bypass SSL certificate pinning for most applications running on a device - +### APKiD + +[APKiD](https://github.com/rednaga/APKiD) gives you information about how an APK was made. It identifies many compilers, packers, obfuscators, and other weird stuff. + +For more information on what this tool can be used for, check out: + +- [Android Compiler Fingerprinting](http://hitcon.org/2016/CMT/slide/day1-r0-e-1.pdf) +- [Detecting Pirated and Malicious Android Apps with APKiD](http://rednaga.io/2016/07/31/detecting_pirated_and_malicious_android_apps_with_apkid/) +- [APKiD: PEiD for Android Apps](https://github.com/enovella/cve-bio-enovella/blob/master/slides/bheu18-enovella-APKID.pdf) +- [APKiD: Fast Identification of AppShielding Products](https://github.com/enovella/cve-bio-enovella/blob/master/slides/APKiD-NowSecure-Connect19-enovella.pdf) + ### Apktool [Apktool](https://github.com/iBotPeaches/Apktool) is used to unpack Android app packages (APKs). Simply unzipping APKs with the standard `unzip` utility leaves some files unreadable. `AndroidManifest.xml` is encoded into binary XML format which isn’t readable with a text editor. Also, the app resources are still packaged into a single archive file. From 32699a6a0e1ab2166bd117ff8e39421c2b74cd0a Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 30 Mar 2022 11:27:16 +0200 Subject: [PATCH 06/17] Update Document/0x05i-Testing-Code-Quality-and-Build-Settings.md Co-authored-by: Jeroen Beckers --- Document/0x05i-Testing-Code-Quality-and-Build-Settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index 7078a99a21..cb230d5219 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -523,7 +523,7 @@ To each protection: Test the app native libraries to determine if they have the PIE an SSP protections enabled. -You can use rabin2 to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk): +You can use rabin2 to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk) as an example: First we take a look at the main binary for the sake of clarity. You'll see that `canary` and `pic` seem to not enabled (`false`). However, they are actually not applicable, that's why the tool shows them as `false`. From 5e0f800e7a8578551581e1cb36884a21ae89b4f3 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 30 Mar 2022 11:30:12 +0200 Subject: [PATCH 07/17] Update Document/0x05i-Testing-Code-Quality-and-Build-Settings.md Co-authored-by: Jeroen Beckers --- Document/0x05i-Testing-Code-Quality-and-Build-Settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index cb230d5219..45067aa17d 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -486,7 +486,7 @@ There are various steps to take: The tests used to detect the presence of binary protection mechanisms heavily depend on the language used for developing the application. These are some basic guidelines: -- In general all binaries must be tested, this includes both the app main executable as well as all libraries/dependencies. +- In general all binaries must be tested, which includes both the main app executable as well as all libraries/dependencies. - In some cases the nature of the language they were written will offer sufficient protection (e.g. Java has Garbage Collection similar to ARC on iOS), so even if a feature is not enabled the test may pass. - In other cases, e.g. pure C code, the presence of certain binary protections has to be fully determined because of the high risk of potential exploitation. From 26ab8ee270f1e1f8b5a57a63a241e53ac6baa4f0 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 30 Mar 2022 11:31:32 +0200 Subject: [PATCH 08/17] Update Document/0x05i-Testing-Code-Quality-and-Build-Settings.md Co-authored-by: Jeroen Beckers --- Document/0x05i-Testing-Code-Quality-and-Build-Settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index 45067aa17d..1b3c5fe949 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -551,7 +551,7 @@ canary false pic true ``` -In this example, `libtool-checker.so` must be fixed to enable SSP. +In this example, `libtool-checker.so` must be recompiled with SSP support. ## References From a5801647ad0f97dca77f0f3745b8b61cd9c09729 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Wed, 30 Mar 2022 11:31:55 +0200 Subject: [PATCH 09/17] Update Document/0x05i-Testing-Code-Quality-and-Build-Settings.md Co-authored-by: Jeroen Beckers --- Document/0x05i-Testing-Code-Quality-and-Build-Settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index 1b3c5fe949..9c3dd5d04e 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -525,7 +525,7 @@ Test the app native libraries to determine if they have the PIE an SSP protectio You can use rabin2 to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk) as an example: -First we take a look at the main binary for the sake of clarity. You'll see that `canary` and `pic` seem to not enabled (`false`). However, they are actually not applicable, that's why the tool shows them as `false`. +First, take a look at the main binary. You'll see that `canary` and `pic` are not enabled (`false`). However, they are actually not applicable, which is why the tool shows them as `false`. ```sh rabin2 -I classes.dex | grep -E "canary|pic" From 3d1d29aad3262a31a54b063d85308217f699f61a Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 31 Mar 2022 08:54:54 +0200 Subject: [PATCH 10/17] add general section about Binary Protection Mechanisms --- Document/0x04h-Testing-Code-Quality.md | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Document/0x04h-Testing-Code-Quality.md b/Document/0x04h-Testing-Code-Quality.md index eedf814581..bc65312ea2 100644 --- a/Document/0x04h-Testing-Code-Quality.md +++ b/Document/0x04h-Testing-Code-Quality.md @@ -271,6 +271,38 @@ Fuzz testing techniques or scripts (often called "fuzzers") will typically gener For more information on fuzzing, refer to the [OWASP Fuzzing Guide](https://www.owasp.org/index.php/Fuzzing "OWASP Fuzzing Guide"). +## Binary Protection Mechanisms + +### Position Independent Code + +[PIC (Position Independent Code)](https://en.wikipedia.org/wiki/Position-independent_code) is code that, being placed somewhere in the primary memory, executes properly regardless of its absolute address. PIC is commonly used for shared libraries, so that the same library code can be loaded in a location in each program address space where it does not overlap with other memory in use (for example, other shared libraries). + +PIE (Position Independent Executable) are executable binaries made entirely from PIC. PIE binaries are used to enable [ASLR (Address Space Layout Randomization)](https://en.wikipedia.org/wiki/Address_space_layout_randomization) which randomly arranges the address space positions of key data areas of a process, including the base of the executable and the positions of the stack, heap and libraries. + +### Memory management + +#### Automatic Reference Counting + +[ARC (Automatic Reference Counting)](https://en.wikipedia.org/wiki/Automatic_Reference_Counting) is a memory management feature of the Clang compiler exclusive to [Objective-C](https://developer.apple.com/library/content/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html) and [Swift](https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html). ARC automatically frees up the memory used by class instances when those instances are no longer needed. ARC differs from tracing garbage collection in that there is no background process that deallocates the objects asynchronously at runtime. + +Unlike tracing garbage collection, ARC does not handle reference cycles automatically. This means that as long as there are "strong" references to an object, it will not be deallocated. Strong cross-references can accordingly create deadlocks and memory leaks. It is up to the developer to break cycles by using weak references. You can learn more about how it differs from Garbage Collection [here](https://fragmentedpodcast.com/episodes/064/). + +#### Garbage Collection + +[Garbage Collection (GC)](https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) is an automatic memory management feature of some languages such as Java/Kotlin/Dart. The garbage collector attempts to reclaim memory which was allocated by the program, but is no longer referenced—also called garbage. The Android runtime (ART) makes use of an [improved version of GC](https://source.android.com/devices/tech/dalvik#Improved_GC). You can learn more about how it differs from ARC [here](https://fragmentedpodcast.com/episodes/064/). + +#### Manual Memory Management + +[Manual memory management](https://en.wikipedia.org/wiki/Manual_memory_management) is typically required in native libraries written in C/C++ where ARC and GC do not apply. The developer is responsible for doing proper memory management. Manual memory management is known to enable several major classes of bugs into a program when used incorrectly, notably violations of [memory safety](https://en.wikipedia.org/wiki/Memory_safety) or [memory leaks](https://en.wikipedia.org/wiki/Memory_leak). + +See more information in ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). + +### Stack Smashing Protection + +SSP (Stack Smashing Protection aka. [canaries](https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries)) helps prevent stack buffer overflow attacks by means of having a small integer right before the return pointer. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the process-control. In that case, the canary gets overwritten as well. Therefore, the value of the canary is always checked to make sure it has not changed before a routine uses the return pointer on the stack. + +Stack buffer overflow is a type of the more general programming malfunction known as [buffer overflow](https://en.wikipedia.org/wiki/Buffer_overflow) (or buffer overrun). Overfilling a buffer on the stack is more likely to **derail program execution** than overfilling a buffer on the heap because the stack contains the return addresses for all active function calls. + ## References ### OWASP MASVS From 4e0509360734df26090ab824bd9b0d1c6cbb00eb Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 31 Mar 2022 08:56:32 +0200 Subject: [PATCH 11/17] improve content and consistency of the Android and iOS sections about MSTG-CODE-9 --- ...Testing-Code-Quality-and-Build-Settings.md | 48 +++++++------------ ...Testing-Code-Quality-and-Build-Settings.md | 27 +++++++---- 2 files changed, 35 insertions(+), 40 deletions(-) diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index 9c3dd5d04e..4d135ce9c2 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -484,16 +484,26 @@ There are various steps to take: ### Overview -The tests used to detect the presence of binary protection mechanisms heavily depend on the language used for developing the application. These are some basic guidelines: +The tests used to detect the presence of [binary protection mechanisms](0x04h-Testing-Code-Quality.md#binary-protection-mechanisms) heavily depend on the language used for developing the application. -- In general all binaries must be tested, which includes both the main app executable as well as all libraries/dependencies. -- In some cases the nature of the language they were written will offer sufficient protection (e.g. Java has Garbage Collection similar to ARC on iOS), so even if a feature is not enabled the test may pass. -- In other cases, e.g. pure C code, the presence of certain binary protections has to be fully determined because of the high risk of potential exploitation. +In general all binaries should be tested, which includes both the main app executable as well as all libraries/dependencies. However, on Android we will focus on native libraries since the main executables are considered safe as we will see next. Android optimizes its Dalvik bytecode from the app DEX files (e.g. classes.dex) and generates a new file containing the native code, usually with an .odex, .oat extension. This [Android compiled binary](0x05b-Basic-Security_Testing.md#compiled-app-binary) is wrapped using the [ELF format](https://refspecs.linuxfoundation.org/elf/gabi4+/contents.html) which is the format used by Linux and Android to package assembly code. The app's [NDK native libraries](0x05b-Basic-Security_Testing.md#native-libraries) also [use the ELF format](https://developer.android.com/ndk/guides/abis). +- [**PIE (Position Independent Executable)**](0x04h-Testing-Code-Quality.md#position-independent-code): + - Since Android 7.0 (API level 24), PIC compilation was [enabled by default](https://source.android.com/devices/tech/dalvik/configure) for the main executables. + - Since Android 5.0 (API level 21), support for non-PIE enabled native libraries was [dropped](https://source.android.com/security/enhancements/enhancements50) and since then, PIE is [enforced by the linker](https://cs.android.com/android/platform/superproject/+/master:bionic/linker/linker_main.cpp;l=430). +- [**Memory management**](0x04h-Testing-Code-Quality.md#memory-management): + - Garbage Collection will simply run for the main binaries and there's nothing to be checked on the binaries themselves. + - Garbage Collection does not apply to Android native libraries. The developer is responsible for doing proper [manual memory management](0x04h-Testing-Code-Quality.md#manual-memory-management). See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). +- [**SSP (Stack Smashing Protection)**](0x04h-Testing-Code-Quality.md#stack-smashing-protection): + - Android apps get compiled to Dalvik bytecode which is considered memory safe (at least for mitigating buffer overflows). Other frameworks such as Flutter will not compile using stack canaries because of the way their language, in this case Dart, mitigates buffer overflows. + - It must be enabled for Android native libraries but it might be difficult to fully determine it. + - NDK libraries should have it enabled since the compiler does it by default. + - Other custom C/C++ libraries might not have it enabled. + Learn more: - [Android executable formats](https://lief-project.github.io/doc/latest/tutorials/10_android_formats.html) @@ -501,39 +511,13 @@ Learn more: - [Android NDK](https://developer.android.com/ndk/guides) - [Android linker changes for NDK developers](https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md) -To each protection: - -- **PIE**: it’s used to enable ASLR and must be set for the main executable and libraries. - - Since Android 7.0 (API level 24), PIC compilation was [enabled by default](https://source.android.com/devices/tech/dalvik/configure) for the main executables. - - Since Android 5.0 (API level 21), support for non-PIE enabled native libraries was [dropped](https://source.android.com/security/enhancements/enhancements50). -- **Memory management**: - - **ARC** (Automatic Reference Counting) is a memory management feature [exclusive to Objective-C and Swift](https://en.wikipedia.org/wiki/Automatic_Reference_Counting) (iOS). Nothing to check on Android. - - **Garbage Collection** (GC) is a [memory management feature](https://en.wikipedia.org/wiki/Garbage_collection_(computer_science)) of some languages such as Java/Kotlin/Dart. ART makes use of an [improved version of GC](https://source.android.com/devices/tech/dalvik#Improved_GC). - - There’s nothing to check on the main executable. - - However, GC does not apply to native libraries. The developer is responsible for doing proper memory management. See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). - - You can learn more about how it differs from ARC [here](https://fragmentedpodcast.com/episodes/064/). -- **SSP** (Stack Smashing Protection aka. canaries): Helps prevent buffer overflow attacks by means of having a small integer right before the return pointer. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the process-control. In that case, the canary gets overwritten as well. Therefore, the value of the canary is always checked to make sure it has not changed before a routine uses the return pointer on the stack. - - It must be enabled for native code (keywords: C/C++/JNI/NDK) but it might be difficult to fully determine it. - - NDK libraries should have it enabled since the compiler does it by default. - - Other custom C/C++ libraries might not have it enabled. - - If the language is considered memory safe (at least for mitigating buffer overflows), it’s ok if it’s not enabled for that specific binary. - - Flutter will not compile using stack canaries because of the way Dart mitigates buffer overflows. - ### Static Analysis Test the app native libraries to determine if they have the PIE an SSP protections enabled. -You can use rabin2 to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk) as an example: - -First, take a look at the main binary. You'll see that `canary` and `pic` are not enabled (`false`). However, they are actually not applicable, which is why the tool shows them as `false`. - -```sh -rabin2 -I classes.dex | grep -E "canary|pic" -canary false -pic false -``` +You can use [radare2's rabin2](0x08-Testing-Tools.md#radare2) to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk) as an example. -What you should definitely test are the native libraries. They must have `canary` and `pic` both set to `true`. +All native libraries must have `canary` and `pic` both set to `true`. That's the case for `libnative-lib.so`: diff --git a/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md index b448a45673..799336deab 100644 --- a/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md @@ -614,15 +614,26 @@ There are various well written explanations which can help with taking care of m ### Overview -Although Xcode enables all binary security features by default, it may be relevant to verify this for an old application or to check for the misconfiguration of compilation options. The following features are applicable: +The tests used to detect the presence of [binary protection mechanisms](0x04h-Testing-Code-Quality.md#binary-protection-mechanisms) heavily depend on the language used for developing the application. -- **ARC** - Automatic Reference Counting - A memory management feature that adds retain and release messages when required -- **Stack Canary** - Stack-smashing protection - Helps prevent buffer overflow attacks by means of having a small integer right before the return pointer. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the process-control. In that case, the canary gets overwritten as well. Therefore, the value of the canary is always checked to make sure it has not changed before a routine uses the return pointer on the stack. -- **PIE** - Position Independent Executable - enables full ASLR for the executable binary (not applicable for libraries). +Although Xcode enables all binary security features by default, it may be relevant to verify this for old applications or to check for compiler flag misconfigurations. The following features are applicable: -Tests to detect the presence of these protection mechanisms heavily depend on the language used for developing the application. For example, existing techniques for detecting the presence of stack canaries do not work for pure Swift apps. For more details, please check the online article "[On iOS Binary Protections](https://sensepost.com/blog/2021/on-ios-binary-protections/ "On iOS Binary Protection")". +- [**PIE (Position Independent Executable)**](0x04h-Testing-Code-Quality.md#position-independent-code): + - PIE applies to executable binaries (Mach-O type `MH_EXECUTE`). + - However it's not applicable for libraries (Mach-O type `MH_DYLIB`). +- [**Memory management**](0x04h-Testing-Code-Quality.md#memory-management): + - Both pure Objective-C, Swift and hybrid binaries should have ARC (Automatic Reference Counting) enabled. + - For C/C++ libraries, the developer is responsible for doing proper [manual memory management](0x04h-Testing-Code-Quality.md#manual-memory-management). See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). +- [**SSP (Stack Smashing Protection)**](0x04h-Testing-Code-Quality.md#stack-smashing-protection): For pure Objective-C binaries, this should always be enabled. Since Swift is designed to be memory safe, if a library is purely written in Swift, and stack canaries weren’t enabled, the risk will be minimal. -### Static Analysis +Learn more: + +- [OS X ABI Mach-O File Format Reference](https://github.com/aidansteele/osx-abi-macho-file-format-reference) +- [On iOS Binary Protections](https://sensepost.com/blog/2021/on-ios-binary-protections/) +- [Security of runtime process in iOS and iPadOS](https://support.apple.com/en-gb/guide/security/sec15bfe098e/web) +- [Mach-O Programming Topics - Position-Independent Code](https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/MachOTopics/1-Articles/dynamic_code.html) + +Tests to detect the presence of these protection mechanisms heavily depend on the language used for developing the application. For example, existing techniques for detecting the presence of stack canaries do not work for pure Swift apps. #### Xcode Project Settings @@ -652,9 +663,9 @@ ARC is automatically enabled for Swift apps by the `swiftc` compiler. However, f See the [Technical Q&A QA1788 Building a Position Independent Executable](https://developer.apple.com/library/mac/qa/qa1788/_index.html "Technical Q&A QA1788 Building a Position Independent Executable"). -#### With otool +### Static Analysis -Below are procedures for checking the binary security features described above. All the features are enabled in these examples. +You can use [otool](0x08-Testing-Tools.md#otool) to check the binary security features described above. All the features are enabled in these examples. - PIE: From f91af25363c803f7ecf8b363905c34db20f0d55e Mon Sep 17 00:00:00 2001 From: cpholguera Date: Thu, 31 Mar 2022 08:56:47 +0200 Subject: [PATCH 12/17] improve info about iOS native libraries --- Document/0x06b-Basic-Security-Testing.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Document/0x06b-Basic-Security-Testing.md b/Document/0x06b-Basic-Security-Testing.md index b4c6598a29..06a103d651 100644 --- a/Document/0x06b-Basic-Security-Testing.md +++ b/Document/0x06b-Basic-Security-Testing.md @@ -661,9 +661,16 @@ Refer to the chapter [Tampering and Reverse Engineering on iOS](0x06c-Reverse-En ##### Native Libraries -iOS native libraries are known as Frameworks. +iOS apps can make their codebase modular by using different elements. In the MSTG we will refer to all of them as native libraries, but they can come in different forms: -You can easily visualize them from Passionfruit by clicking on "Modules": +- [Static and Dynamic Libraries](https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/OverviewOfDynamicLibraries.html#//apple_ref/doc/uid/TP40001873-SW1): + - Static Libraries can be used and will be compiled in the app binary. + - Dynamic Libraries (typically having the `.dylib` extension) are also used but must be part of a framework bundle. Standalone Dynamic Libraries are [not supported](https://developer.apple.com/library/archive/technotes/tn2435/_index.html#//apple_ref/doc/uid/DTS40017543-CH1-PROJ_CONFIG-APPS_WITH_DEPENDENCIES_BETWEEN_FRAMEWORKS) on iOS, watchOS, or tvOS, except for the system Swift libraries provided by Xcode. +- [Frameworks](https://developer.apple.com/library/archive/technotes/tn2435/_index.html#//apple_ref/doc/uid/DTS40017543-CH1-PROJ_CONFIG-APPS_WITH_DEPENDENCIES_BETWEEN_FRAMEWORKS) (since iOS 8). A Framework is a hierarchical directory that encapsulates a dynamic library, header files, and resources, such as storyboards, image files, and localized strings, into a single package. +- [Binary Frameworks (`XCFrameworks`)](https://developer.apple.com/videos/play/wwdc2019/416/): Xcode 11 supports distributing binary libraries using the `XCFrameworks` format which is a new way to bundle up multiple variants of a Framework, e.g. for any of the platforms that Xcode supports (including simulator and devices). They can also bundle up static libraries (and their corresponding headers) and support binary distribution of Swift and C-based code. `XCFrameworks` can be [distributed as Swift Packages](https://developer.apple.com/documentation/swift_packages/distributing_binary_frameworks_as_swift_packages). +- [Swift Packages](https://developer.apple.com/documentation/swift_packages): Xcode 11 add supports for Swift packages, which are reusable components of Swift, Objective-C, Objective-C++, C, or C++ code that developers can use in their projects and are distributed as source code. Since Xcode 12 they can also [bundle resources](https://developer.apple.com/videos/play/wwdc2020/10169/), such as images, storyboards, and other files. Since Package libraries are [static by default](https://developer.apple.com/videos/play/wwdc2019/408/?time=739). Xcode compiles them, and the packages they depend on, and then links and combines everything into the application. + +You can easily visualize native libraries from Passionfruit by clicking on "Modules": ![OWASP MSTG](Images/Chapters/0x06b/passionfruit_modules.png) \ From d22c7f6981c33e92d3eae2658b398ea2a71a334d Mon Sep 17 00:00:00 2001 From: Carlos Holguera Date: Fri, 8 Jul 2022 10:22:06 +0200 Subject: [PATCH 13/17] Apply suggestions from code review Co-authored-by: Jeroen Beckers --- Document/0x04c-Tampering-and-Reverse-Engineering.md | 8 ++++---- Document/0x04h-Testing-Code-Quality.md | 6 +++--- Document/0x05b-Basic-Security_Testing.md | 2 +- Document/0x05c-Reverse-Engineering-and-Tampering.md | 6 +++--- .../0x05i-Testing-Code-Quality-and-Build-Settings.md | 10 +++++----- ...j-Testing-Resiliency-Against-Reverse-Engineering.md | 5 +++-- Document/0x06b-Basic-Security-Testing.md | 2 +- .../0x06i-Testing-Code-Quality-and-Build-Settings.md | 2 +- 8 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Document/0x04c-Tampering-and-Reverse-Engineering.md b/Document/0x04c-Tampering-and-Reverse-Engineering.md index c73b33f69f..e8a629e13a 100644 --- a/Document/0x04c-Tampering-and-Reverse-Engineering.md +++ b/Document/0x04c-Tampering-and-Reverse-Engineering.md @@ -77,7 +77,7 @@ Over the past decades many tools have perfected the process of disassembly and d Obfuscation is the process of transforming code and data to make it more difficult to comprehend (and sometimes even difficult to disassemble). It is usually an integral part of the software protection scheme. Obfuscation isn't something that can be simply turned on or off, programs can be made incomprehensible, in whole or in part, in many ways and to different degrees. -> Note: All presented techniques below may not stop reverse engineers, but combining all of those techniques will make their job significantly harder. The aim of those techniques is to discourage reverse engineers from performing further analysis. +> Note: All presented techniques below will not stop someone with enough time and budget from reverse engineering your app. However, combining these techniques will make their job significantly harder. The aim is thus to discourage reverse engineers from performing further analysis and not making it worth the effort. The following techniques can be used to obfuscate an application: @@ -90,7 +90,7 @@ The following techniques can be used to obfuscate an application: #### Name Obfuscation -The standard compiler generates binary symbols based on class and function names from the source code. Therefore, if no obfuscation was applied, symbol names remain meaningful and can be easily read straight from the app binary. For instance, a function which detects a jailbreak can be located by searching for relevant keywords (e.g. "jailbreak"). The listing below shows the disassembled function `JailbreakDetectionViewController.jailbreakTest4Tapped` from the Damn Vulnerable iOS App (DVIA-v2). +The standard compiler generates binary symbols based on class and function names from the source code. Therefore, if no obfuscation is applied, symbol names remain meaningful and can easily be extracted from the app binary. For instance, a function which detects a jailbreak can be located by searching for relevant keywords (e.g. "jailbreak"). The listing below shows the disassembled function `JailbreakDetectionViewController.jailbreakTest4Tapped` from the Damn Vulnerable iOS App (DVIA-v2). ```assembly __T07DVIA_v232JailbreakDetectionViewControllerC20jailbreakTest4TappedyypF: @@ -110,7 +110,7 @@ Nevertheless, this only applies to the names of functions, classes and fields. T #### Instruction Substitution -This technique replaces standard binary operators like addition or subtraction with more complex representations. For example an addition `x = a + b` can be represented as `x = -(-a) - (-b)`. However, using the same replacement representation could be easily reversed, so it is recommended to add multiple substitution techniques for a single case and introduce a random factor. This technique is vulnerable to deobfuscation, but depending on the complexity and depth of the substitutions, applying it can still be time consuming. +This technique replaces standard binary operators like addition or subtraction with more complex representations. For example, an addition `x = a + b` can be represented as `x = -(-a) - (-b)`. However, using the same replacement representation could be easily reversed, so it is recommended to add multiple substitution techniques for a single case and introduce a random factor. This technique can be reversed during decompilation, but depending on the complexity and depth of the substitutions, reversing it can still be time consuming. #### Control Flow Flattening @@ -122,7 +122,7 @@ The image shows how control flow flattening alters code (see "[Obfuscating C++ p #### Dead Code Injection -This technique makes the program's control flow more complex by injecting dead code into the program. Dead code is a stub of code that doesn’t affect the original program’s behaviour but increases the overhead for the reverse engineering process. +This technique makes the program's control flow more complex by injecting dead code into the program. Dead code is a stub of code that doesn’t affect the original program’s behavior but increases the overhead of the reverse engineering process. #### String Encryption diff --git a/Document/0x04h-Testing-Code-Quality.md b/Document/0x04h-Testing-Code-Quality.md index bc65312ea2..2f111708fa 100644 --- a/Document/0x04h-Testing-Code-Quality.md +++ b/Document/0x04h-Testing-Code-Quality.md @@ -295,13 +295,13 @@ Unlike tracing garbage collection, ARC does not handle reference cycles automati [Manual memory management](https://en.wikipedia.org/wiki/Manual_memory_management) is typically required in native libraries written in C/C++ where ARC and GC do not apply. The developer is responsible for doing proper memory management. Manual memory management is known to enable several major classes of bugs into a program when used incorrectly, notably violations of [memory safety](https://en.wikipedia.org/wiki/Memory_safety) or [memory leaks](https://en.wikipedia.org/wiki/Memory_leak). -See more information in ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). +More information can be found in ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). ### Stack Smashing Protection -SSP (Stack Smashing Protection aka. [canaries](https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries)) helps prevent stack buffer overflow attacks by means of having a small integer right before the return pointer. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the process-control. In that case, the canary gets overwritten as well. Therefore, the value of the canary is always checked to make sure it has not changed before a routine uses the return pointer on the stack. +[Stack canaries] (https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries) help prevent stack buffer overflow attacks by storing a hidden integer value on the stack right before the return pointer. This value is then validated before the return statement of the function is executed. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the program flow. If stack canaries are enabled, they will be overwritten as well and the CPU will know that the memory has been tampered with. -Stack buffer overflow is a type of the more general programming malfunction known as [buffer overflow](https://en.wikipedia.org/wiki/Buffer_overflow) (or buffer overrun). Overfilling a buffer on the stack is more likely to **derail program execution** than overfilling a buffer on the heap because the stack contains the return addresses for all active function calls. +Stack buffer overflow is a type of the more general programming vulnerability known as [buffer overflow](https://en.wikipedia.org/wiki/Buffer_overflow) (or buffer overrun). Overfilling a buffer on the stack is more likely to **derail program execution** than overfilling a buffer on the heap because the stack contains the return addresses for all active function calls. ## References diff --git a/Document/0x05b-Basic-Security_Testing.md b/Document/0x05b-Basic-Security_Testing.md index fe0b3f0583..b78f7474bb 100644 --- a/Document/0x05b-Basic-Security_Testing.md +++ b/Document/0x05b-Basic-Security_Testing.md @@ -529,7 +529,7 @@ adb root adb pull /data/app/~~DEMFPZh7R4qfUwwwh1czYA==/com.example.myapplication-pOslqiQkJclb_1Vk9-WAXg==/oat/arm64/base.odex ``` -Note that you must execute adb with root privileges. If the above doesn't work because the file cannot be found, try exploring yourself using `adb shell` and `cd` to that path until you find the `base.odex`. +Note that the exact directory will be different based on your Android version. If the `/oat/arm64/base.odex` file can't be found, manually search in the directory returned by `pm path`. ##### Native Libraries diff --git a/Document/0x05c-Reverse-Engineering-and-Tampering.md b/Document/0x05c-Reverse-Engineering-and-Tampering.md index 499039fa2b..bddf9f8eb9 100644 --- a/Document/0x05c-Reverse-Engineering-and-Tampering.md +++ b/Document/0x05c-Reverse-Engineering-and-Tampering.md @@ -22,11 +22,11 @@ Nevertheless, if the code has been purposefully obfuscated (or some tool-breakin #### Decompiling Java Code -**Java Disassembled Code (Smali):** +**Java Disassembled Code (smali):** -If you want to inspect the app's Smali code (instead of Java), you can simply [open your APK in Android Studio](https://developer.android.com/studio/debug/apk-debugger "Debug pre-built APKs") by clicking **Profile or debug APK** from the "Welcome screen" (even if you don't intend to debug it you can take a look at the smali code). +If you want to inspect the app's smali code (instead of Java), you can [open your APK in Android Studio](https://developer.android.com/studio/debug/apk-debugger "Debug pre-built APKs") by clicking **Profile or debug APK** from the "Welcome screen" (even if you don't intend to debug it you can take a look at the smali code). -Alternatively you can use [apktool](0x08-Testing-Tools.md#apktool) to extract and disassemble resources directly from the APK archive and disassemble Java bytecode to Smali. apktool allows you to reassemble the package, which is useful for [patching](#patching-repackaging-and-re-signing) the app or applying changes to e.g. the Android Manifest. +Alternatively you can use [apktool](0x08-Testing-Tools.md#apktool) to extract and disassemble resources directly from the APK archive and disassemble Java bytecode to smali. apktool allows you to reassemble the package, which is useful for [patching](#patching-repackaging-and-re-signing) the app or applying changes to e.g. the Android Manifest. **Java Decompiled Code:** diff --git a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md index 4d135ce9c2..6999704ec6 100644 --- a/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x05i-Testing-Code-Quality-and-Build-Settings.md @@ -493,12 +493,12 @@ Android optimizes its Dalvik bytecode from the app DEX files (e.g. classes.dex) The app's [NDK native libraries](0x05b-Basic-Security_Testing.md#native-libraries) also [use the ELF format](https://developer.android.com/ndk/guides/abis). - [**PIE (Position Independent Executable)**](0x04h-Testing-Code-Quality.md#position-independent-code): - - Since Android 7.0 (API level 24), PIC compilation was [enabled by default](https://source.android.com/devices/tech/dalvik/configure) for the main executables. - - Since Android 5.0 (API level 21), support for non-PIE enabled native libraries was [dropped](https://source.android.com/security/enhancements/enhancements50) and since then, PIE is [enforced by the linker](https://cs.android.com/android/platform/superproject/+/master:bionic/linker/linker_main.cpp;l=430). + - Since Android 7.0 (API level 24), PIC compilation is [enabled by default](https://source.android.com/devices/tech/dalvik/configure) for the main executables. + - With Android 5.0 (API level 21), support for non-PIE enabled native libraries was [dropped](https://source.android.com/security/enhancements/enhancements50) and since then, PIE is [enforced by the linker](https://cs.android.com/android/platform/superproject/+/master:bionic/linker/linker_main.cpp;l=430). - [**Memory management**](0x04h-Testing-Code-Quality.md#memory-management): - Garbage Collection will simply run for the main binaries and there's nothing to be checked on the binaries themselves. - Garbage Collection does not apply to Android native libraries. The developer is responsible for doing proper [manual memory management](0x04h-Testing-Code-Quality.md#manual-memory-management). See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). -- [**SSP (Stack Smashing Protection)**](0x04h-Testing-Code-Quality.md#stack-smashing-protection): +- [**Stack Smashing Protection**](0x04h-Testing-Code-Quality.md#stack-smashing-protection): - Android apps get compiled to Dalvik bytecode which is considered memory safe (at least for mitigating buffer overflows). Other frameworks such as Flutter will not compile using stack canaries because of the way their language, in this case Dart, mitigates buffer overflows. - It must be enabled for Android native libraries but it might be difficult to fully determine it. - NDK libraries should have it enabled since the compiler does it by default. @@ -513,7 +513,7 @@ Learn more: ### Static Analysis -Test the app native libraries to determine if they have the PIE an SSP protections enabled. +Test the app native libraries to determine if they have the PIE and stack smashing protections enabled. You can use [radare2's rabin2](0x08-Testing-Tools.md#radare2) to get the binary information. We'll use [r2pay-v1.0.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level_04/r2pay-v1.0.apk) as an example. @@ -535,7 +535,7 @@ canary false pic true ``` -In this example, `libtool-checker.so` must be recompiled with SSP support. +In this example, `libtool-checker.so` must be recompiled with stack smashing protection support. ## References diff --git a/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md b/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md index 023c4723ef..03ce720f85 100644 --- a/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md +++ b/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md @@ -1018,7 +1018,8 @@ Developers use the build.gradle file to enable obfuscation. In the example below Further information on how to shrink, obfuscate, and optimize your app can be found in the [Android developer documentation](https://developer.android.com/studio/build/shrink-code "Shrink, obfuscate, and optimize your app"). -> When you build you project using Android Studio 3.4 or Android Gradle plugin 3.4.0 or higher, the plugin no longer uses ProGuard to perform compile-time code optimization. Instead, the plugin works with the R8 compiler. R8 works with all of your existing ProGuard rules files, so updating the Android Gradle plugin to use R8 should not require you to change your existing rules. +> When you build your project using Android Studio 3.4 or Android Gradle plugin 3.4.0 or higher, the plugin no longer uses ProGuard to perform compile-time code optimization. Instead, the plugin uses the R8 compiler. R8 works with all of your existing ProGuard rules files, so updating the Android Gradle plugin to use R8 should not require you to change your existing rules. + R8 is the new code shrinker from Google and was introduced in Android Studio 3.3 beta. By default, R8 removes attributes that are useful for debugging, including line numbers, source file names, and variable names. R8 is a free Java class file shrinker, optimizer, obfuscator, and pre-verifier and is faster than ProGuard, see also an [Android Developer blog post for further details](https://android-developers.googleblog.com/2018/11/r8-new-code-shrinker-from-google-is.html "R8"). It is shipped with Android's SDK tools. To activate shrinking for the release build, add the following to build.gradle: @@ -1105,7 +1106,7 @@ For native code: Some of these techniques are discussed and analyzed in the blog post ["Security hardening of Android native code"](https://darvincitech.wordpress.com/2020/01/07/security-hardening-of-android-native-code/) by Gautam Arvind and in the ["APKiD: Fast Identification of AppShielding Products"](https://github.com/enovella/cve-bio-enovella/blob/master/slides/APKiD-NowSecure-Connect19-enovella.pdf) presentation by Eduardo Novella. -For a more detailed assessment, you need a detailed understanding of the relevant threats and the obfuscation methods used. There are some tools such as [APKiD](0x08-Testing-Tools.md#apkid) that might be able to give you some indications about the kind of techniques were used for the target app such as obfuscators, packers, anti debug. +For a more detailed assessment, you need a detailed understanding of the relevant threats and the obfuscation methods used. Tools such as [APKiD](0x08-Testing-Tools.md#apkid) may give you additional indications about which techniques were used for the target app such as obfuscators, packers and anti-debug measures. ### Dynamic Analysis diff --git a/Document/0x06b-Basic-Security-Testing.md b/Document/0x06b-Basic-Security-Testing.md index fd57743351..ad532df88e 100644 --- a/Document/0x06b-Basic-Security-Testing.md +++ b/Document/0x06b-Basic-Security-Testing.md @@ -672,7 +672,7 @@ iOS apps can make their codebase modular by using different elements. In the MST - [Binary Frameworks (`XCFrameworks`)](https://developer.apple.com/videos/play/wwdc2019/416/): Xcode 11 supports distributing binary libraries using the `XCFrameworks` format which is a new way to bundle up multiple variants of a Framework, e.g. for any of the platforms that Xcode supports (including simulator and devices). They can also bundle up static libraries (and their corresponding headers) and support binary distribution of Swift and C-based code. `XCFrameworks` can be [distributed as Swift Packages](https://developer.apple.com/documentation/swift_packages/distributing_binary_frameworks_as_swift_packages). - [Swift Packages](https://developer.apple.com/documentation/swift_packages): Xcode 11 add supports for Swift packages, which are reusable components of Swift, Objective-C, Objective-C++, C, or C++ code that developers can use in their projects and are distributed as source code. Since Xcode 12 they can also [bundle resources](https://developer.apple.com/videos/play/wwdc2020/10169/), such as images, storyboards, and other files. Since Package libraries are [static by default](https://developer.apple.com/videos/play/wwdc2019/408/?time=739). Xcode compiles them, and the packages they depend on, and then links and combines everything into the application. -You can easily visualize native libraries from Passionfruit by clicking on "Modules": +You can visualize native libraries in Passionfruit by clicking on "Modules": diff --git a/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md b/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md index c30dafcfa0..1b7bf25a30 100644 --- a/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md +++ b/Document/0x06i-Testing-Code-Quality-and-Build-Settings.md @@ -624,7 +624,7 @@ Although Xcode enables all binary security features by default, it may be releva - [**Memory management**](0x04h-Testing-Code-Quality.md#memory-management): - Both pure Objective-C, Swift and hybrid binaries should have ARC (Automatic Reference Counting) enabled. - For C/C++ libraries, the developer is responsible for doing proper [manual memory management](0x04h-Testing-Code-Quality.md#manual-memory-management). See ["Memory Corruption Bugs (MSTG-CODE-8)"](#memory-corruption-bugs-mstg-code-8). -- [**SSP (Stack Smashing Protection)**](0x04h-Testing-Code-Quality.md#stack-smashing-protection): For pure Objective-C binaries, this should always be enabled. Since Swift is designed to be memory safe, if a library is purely written in Swift, and stack canaries weren’t enabled, the risk will be minimal. +- [**Stack Smashing Protection**](0x04h-Testing-Code-Quality.md#stack-smashing-protection): For pure Objective-C binaries, this should always be enabled. Since Swift is designed to be memory safe, if a library is purely written in Swift, and stack canaries weren’t enabled, the risk will be minimal. Learn more: From 3faa32dfc82c2a6c9a76707688b9830bf4941b5e Mon Sep 17 00:00:00 2001 From: Carlos Holguera Date: Fri, 8 Jul 2022 10:31:06 +0200 Subject: [PATCH 14/17] Update Document/0x04c-Tampering-and-Reverse-Engineering.md Co-authored-by: Jeroen Beckers --- Document/0x04c-Tampering-and-Reverse-Engineering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Document/0x04c-Tampering-and-Reverse-Engineering.md b/Document/0x04c-Tampering-and-Reverse-Engineering.md index e8a629e13a..b0833b78b7 100644 --- a/Document/0x04c-Tampering-and-Reverse-Engineering.md +++ b/Document/0x04c-Tampering-and-Reverse-Engineering.md @@ -69,7 +69,7 @@ In theory, the mapping between assembly and machine code should be one-to-one, a - Position independent code (PIC) sequences. - Hand crafted assembly code. -On a similar vein, decompilation is a very complicated process, involving many deterministic and heuristic based approaches. As a consequence, decompilation is usually not really accurate, but nevertheless very helpful in getting a quick understanding of the function being analyzed. The accuracy of decompilation depends on the amount of information available in the code being decompiled and the sophistication of the decompiler. In addition, many compilation and post-compilation tools introduce additional complexity to the compiled code in order to increase the difficulty of comprehension and/or even decompilation itself. Such code referred to as [_obfuscated code_](#obfuscation). +Similarly, decompilation is a very complicated process, involving many deterministic and heuristic based approaches. As a consequence, decompilation is usually not really accurate, but nevertheless very helpful in getting a quick understanding of the function being analyzed. The accuracy of decompilation depends on the amount of information available in the code being decompiled and the sophistication of the decompiler. In addition, many compilation and post-compilation tools introduce additional complexity to the compiled code in order to increase the difficulty of comprehension and/or even decompilation itself. Such code referred to as [_obfuscated code_](#obfuscation). Over the past decades many tools have perfected the process of disassembly and decompilation, producing output with high fidelity. Advanced usage instructions for any of the available tools can often easily fill a book of their own. The best way to get started is to simply pick up a tool that fits your needs and budget and get a well-reviewed user guide. In this section, we will provide an introduction to some of those tools and in the subsequent "Reverse Engineering and Tampering" Android and iOS chapters we'll focus on the techniques themselves, especially those that are specific to the platform at hand. From b56313e80d67025069a3691a297d0a2cbf143fa4 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Fri, 8 Jul 2022 11:01:17 +0200 Subject: [PATCH 15/17] fix linting issues --- Document/0x04h-Testing-Code-Quality.md | 2 +- .../0x05j-Testing-Resiliency-Against-Reverse-Engineering.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/Document/0x04h-Testing-Code-Quality.md b/Document/0x04h-Testing-Code-Quality.md index 7c18313438..8b07a8ba4c 100644 --- a/Document/0x04h-Testing-Code-Quality.md +++ b/Document/0x04h-Testing-Code-Quality.md @@ -299,7 +299,7 @@ More information can be found in ["Memory Corruption Bugs (MSTG-CODE-8)"](#memor ### Stack Smashing Protection -[Stack canaries] (https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries) help prevent stack buffer overflow attacks by storing a hidden integer value on the stack right before the return pointer. This value is then validated before the return statement of the function is executed. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the program flow. If stack canaries are enabled, they will be overwritten as well and the CPU will know that the memory has been tampered with. +[Stack canaries](https://en.wikipedia.org/wiki/Stack_buffer_overflow#Stack_canaries) help prevent stack buffer overflow attacks by storing a hidden integer value on the stack right before the return pointer. This value is then validated before the return statement of the function is executed. A buffer overflow attack often overwrites a region of memory in order to overwrite the return pointer and take over the program flow. If stack canaries are enabled, they will be overwritten as well and the CPU will know that the memory has been tampered with. Stack buffer overflow is a type of the more general programming vulnerability known as [buffer overflow](https://en.wikipedia.org/wiki/Buffer_overflow) (or buffer overrun). Overfilling a buffer on the stack is more likely to **derail program execution** than overfilling a buffer on the heap because the stack contains the return addresses for all active function calls. diff --git a/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md b/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md index b2697f56dd..1b6e5b5e3c 100644 --- a/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md +++ b/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md @@ -1020,7 +1020,6 @@ Further information on how to shrink, obfuscate, and optimize your app can be fo > When you build your project using Android Studio 3.4 or Android Gradle plugin 3.4.0 or higher, the plugin no longer uses ProGuard to perform compile-time code optimization. Instead, the plugin uses the R8 compiler. R8 works with all of your existing ProGuard rules files, so updating the Android Gradle plugin to use R8 should not require you to change your existing rules. - R8 is the new code shrinker from Google and was introduced in Android Studio 3.3 beta. By default, R8 removes attributes that are useful for debugging, including line numbers, source file names, and variable names. R8 is a free Java class file shrinker, optimizer, obfuscator, and pre-verifier and is faster than ProGuard, see also an [Android Developer blog post for further details](https://android-developers.googleblog.com/2018/11/r8-new-code-shrinker-from-google-is.html "R8"). It is shipped with Android's SDK tools. To activate shrinking for the release build, add the following to build.gradle: ```default From 77744f9f4f44347decee2ef0c35340de3fa623d6 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Fri, 8 Jul 2022 11:09:07 +0200 Subject: [PATCH 16/17] ignore uris in codespell --- .github/workflows/codespell.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index a36f3c620a..68c36c2103 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -7,6 +7,9 @@ on: branches: - master +env: + WORDS_LIST: ba,compliancy,firt,ist,keypair,ligh,ser,synopsys,zuser + jobs: codespell: runs-on: ubuntu-latest @@ -14,4 +17,5 @@ jobs: - uses: actions/checkout@v2 - uses: codespell-project/actions-codespell@master with: - ignore_words_list: ba,compliancy,firt,ist,keypair,ligh,ser,synopsys,zuser + ignore_words_list: $WORDS_LIST + uri-ignore-words-list: $WORDS_LIST From e25f5075bfa4cd386276128d854cb53908ca8897 Mon Sep 17 00:00:00 2001 From: cpholguera Date: Fri, 8 Jul 2022 11:37:42 +0200 Subject: [PATCH 17/17] fix spell --- .github/workflows/codespell.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml index 68c36c2103..450175ad6c 100644 --- a/.github/workflows/codespell.yml +++ b/.github/workflows/codespell.yml @@ -7,9 +7,6 @@ on: branches: - master -env: - WORDS_LIST: ba,compliancy,firt,ist,keypair,ligh,ser,synopsys,zuser - jobs: codespell: runs-on: ubuntu-latest @@ -17,5 +14,4 @@ jobs: - uses: actions/checkout@v2 - uses: codespell-project/actions-codespell@master with: - ignore_words_list: $WORDS_LIST - uri-ignore-words-list: $WORDS_LIST + ignore_words_list: ba,compliancy,firt,ist,keypair,ligh,ser,synopsys,theses,zuser