"Runtime Riddles: Abusing Manipulation Points in the Android Source" Laurie Kirk

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • number6
    404 Image not found
    • Apr 2019
    • 2172

    #1

    "Runtime Riddles: Abusing Manipulation Points in the Android Source" Laurie Kirk

    Runtime Riddles: Abusing Manipulation Points in the Android Source
    Laurie Kirk, Security Researcher at Microsoft, She/Her
    Demo, Tool
    45 Minutes

    Android malware creators constantly struggle to devise innovative methods to obscure apps and impede reverse engineering. As numerous standard techniques have lost efficacy, I'll unveil the next frontier in Android obfuscation: runtime manipulation. Runtime manipulation alters standard application flow-of-control to bypass decompilers and emulators.

    In this talk, I'll reveal my strategy for pinpointing manipulation targets in Android's source code. I will describe how I craft manipulators in native C++ once a suitable target has been located. This is accomplished by hooking Java methods via the Java Native Interface (JNI) and typecasting the handle to a C-style pointer. Runtime manipulation can entirely remove traces of ClassLoader calls which are unavoidable for standard Dalvik Executable (DEX) packing, but are also easily discovered and hooked. This technique also effectively breaks cross-reference calculations within all Android decompilers.

    I will demonstrate and equip attendees with a custom Android library for devices running Android 13, providing a new tool that enables runtime manipulation experimentation. In addition, I'll demonstrate my methodology for pinpointing Java targets and modifying their underlying native data structures.

    Laurie Kirk is a Reverse Engineer at Microsoft working in incident response. She specializes in cross-platform malware analysis with a focus on mobile threats. She also runs a YouTube channel (@LaurieWired) that covers all sorts of in-depth Malware Analysis, Reverse-Engineering, Exploitation and security topics. Laurie received her Bachelor's Degree from Florida State University in Computer Science with a minor in Math. She started as a Software Engineer for an aerospace company before finding her current calling in Cyber Security and low-level programming.
    https://twitter.com/lauriewired
    http://lauriewired.com/

    REFERENCES:
    https://security.csl.toronto.edu/wp-...c2018-tiro.pdf

    ArtMethod hooking: https://github.com/PAGalaxyLab/YAHFA
    mCookie manipulation: https://github.com/woxihuannisja/Bangcle
    DexFile.java: https://cs.android.com/android/platf...m/DexFile.java
    dex_file.h: https://cs.android.com/android/platf...dex/dex_file.h
    art_method.h: https://cs.android.com/android/platf....h;bpv=0;bpt=0
    Executable.java – contains artMethod field: https://cs.android.com/android/platform/superproject/+/master:libcore/ojluni/src/main/java/java/lang/reflect/Executable.java;l=582?q=artMethod&ss=android%2Fpla tform%2Fsuperproject
    Last edited by number6; July 1, 2023, 10:36.
Working...