Salt Edge RASP Module - is a set of tools for checking possible breaches in application environment or application tempering.
Checks next breaches:
- OS is working under Root privileges
- Current device is Emulator
- Application can be debugged
- Application signed with not verified signature
- OS has installed hooking framework
In order to use Salt Edge RASP Module it is necessary to install the following tools on the local machine:
- JDK 8
- Android SDK
- IDE (e.g. Android Studio)
- Kotlin plugin installed v.1.3.+ [optional]
- Minimal supported Android SDK is SDK19 (Android 4 KitKat)
- Fork this repository
- Import module
File/New/Import Module...
in your project - Setup module.
- Build and run application on target device or emulator
Create res/values/signatures.xml
like in example:
Application on Java language:
<resources xmlns:tools="http://schemas.android.com/tools">
<string-array name="signatures" tools:ignore="InconsistentArrays">
<item>QWERTY=</item>
</string-array>
</resources>
Where each item it is SHA hash of signing release key.
To obtain hash string:
- run gradle task "signingReport"
- convert key hash in HEX to Base64 string
echo 33:4E:48:84:19:50:3A:1F:63:A6:0F:F6:A1:C2:31:E5:01:38:55:2E | xxd -r -p | openssl base64
val raspFailReport = RaspChecker.collectFailsReport(applicationContext)
if (raspFailReport.isNotEmpty()) {
val errorMessage = "App Is Tempered:[$raspFailReport]"
throw Exception(errorMessage)
}
Copyright © 2020 Salt Edge. https://www.saltedge.com