$ git blame 3: MobSF/Mobile-Security-Framework-MobSF
Dec 06, 17$ git blame
Hello and welcome. This will be an ongoing series of short posts where I outline the minor commits I make to security related OSS.
The Tool
This post will be discussing my minor commit to MobSF.
MobSF is an all-in-one open source mobile application (Android/iOS/Windows) automated pen-testing framework
.
The Problem
An issue was reported where MobSF would give a false positive result, warning against the use of SHA1, when SHA1 was used for signing the APK certificate, but the actual APK was signed using SHA256.
My Contribution
The fix to this bug required parsing the MANIFEST.MF file, and providing guidance to the user of the potential conflict.
Code changes:
-
Add SHA256DIGEST field to the StaticAnalyzerAndroid Model
-
in
views/android/cert_analysis.py
, check for existance of MANIFEST.MF, and check for the stringSHA-256-Digest
-
Add sha256digest to cert_dic, which later gets read by the db_interaction.py file for persistance
-
Add a case to the template that provides the warning
-
Edit the pdf template to match report
Old (buggy) template:
<strong>Certicate Status: </strong><span class="label label-danger">Bad</span>
<strong>Description:</strong>The app is signed with `SHA1withRSA`. SHA1 hash algorithm is known to have collision issues.
New template:
<strong>Certicate Status: </strong><span class="label label-warning">Warning</span>
<strong>Description:</strong>The app is signed with `SHA1withRSA`. SHA1 hash algorithm is known to have collision issues.
<strong>Note:</strong>The manifest indicates `SHA256withRSA` is in use. Be sure to manually confirm this issue.