January 31, 2025 in analysis reports by Emy Canton4 minutes
The analysis of MOI - Jordanian Ministry Of Interior v1.63 reveals that, despite requesting very sensitive information,it appears to be designed for a specific purpose and doesn't overuse complex SDKs to do what it is meant to do.
MOI - Jordanian Ministry Of Interior is an Android application created by the Jordanian Ministry of interior, that provides users with information and services to request a visa, get the status of a visa request and annual residency services. The app requests sensitive information that are used to supply the Jordanian administration to create a visa request or renew an annual residency permit. These sensitive information don’t appear to be sent to other services directly. The analysis can’t go further than the registration screen since the account needs to be activated before continuing, no email were received, suggesting that it probably involves a human in the verification process of new account creations (which includes a passport picture verification).
Pithus report: https://beta.pithus.org/report/a00e4ad7c50106b9a7051581ad2863b6a8747271aa061bebef564b41fb38c075
We’ve analyzed the following version of the app com.moi.ministry.ministry_project
:
96f860a90dd09024a3b9edd86481d38b
e114c67fca7da5edf5376434771ce52275fb086d
a00e4ad7c50106b9a7051581ad2863b6a8747271aa061bebef564b41fb38c075
com.moi.ministry.ministry_project
1.63
63
15771d1c2654eb042aee315883ee03e0
f90749781c97cfda7ea53af0d0f18b584b1a8d9b
7e250773a095d16fd141d4ba095ee58c94bf11549178ebe8cb7f0abb1766f762
Organization: Google Inc.
2019-04-04T12:48:03+00:00
2049-04-04T12:48:03+00:00
This application requests the following permissions:
android.permission.WRITE_EXTERNAL_STORAGE
: Allows an application to write to external storage.android.permission.READ_EXTERNAL_STORAGE
: Allows an application to read from external storage.android.permission.CALL_PHONE
: Allows the application to call phone numbers without your intervention. Malicious applications may cause unexpected calls on your phone bill. Note that this does not allow the application to call emergency numbers.android.permission.READ_PHONE_STATE
: Allows the application to access the phone features of the device. An application with this permission can determine the phone number and serial number of this phone, whether a call is active, the number that call is connected to and so on.android.permission.MANAGE_DOCUMENTS
: Allows an application to manage access to documents, usually as part of a document picker.com.google.android.c2dm.permission.RECEIVE
: Permission for cloud to device messaging.android.permission.ACCESS_NETWORK_STATE
: Allows an application to view the status of all networks.
android.permission.ACCESS_WIFI_STATE
: Allows an application to view the information about the status of Wi-Fi.
android.permission.WAKE_LOCK
: Allows an application to prevent the phone from going to sleep.
android.permission.INTERNET
: Allows an application to access Internet.
android.permission.READ_MEDIA_IMAGES
: Allows an application to read image files from external storage.
android.permission.DOWNLOAD_WITHOUT_NOTIFICATION
: Allows the app to download files through the download manager without any notification being shown to the user.
android.permission.POST_NOTIFICATIONS
: Allows the application to post notifications.
com.google.android.gms.permission.AD_ID
android.permission.ACCESS_ADSERVICES_ATTRIBUTION
android.permission.ACCESS_ADSERVICES_AD_ID
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
com.moi.ministry.ministry_project.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
The app was dynamically analyzed with PTS and the dynamic analysis has shown network communications to eservice.moi.gov.jo and Google Firebase only.
The communication with Google Firebase is kept to the bare minimum with only the following data being transmitted:
Along with the application version number, user language preference and locale.
This data can be used to target advertisements and personalize content based on the user’s geographic location
The account creation process requires the user to input a lot of sensitive informations such as: passport number, gender, first and last name, parents names, date of birth, nationalities, user’s passport picture, etc…
All this data is transmitted using HTTPS protocol with certificate pinning.
The analysis of MOI - Jordanian Ministry Of Interior v1.63 reveals a pretty straightforward application that seems to focus on only doing its job. While no malicious behavior nor code was detected, the app requires the user to supply very sensitive informations at account creation, with probable human verification of said information before validating said account creation.
The dangerous permissions asked are used to perform acceptable actions in the application. The WRITE_EXTERNAL_STORAGE
permission is used to download administrative forms, the READ_EXTERNAL_STORAGE
along with the READ_MEDIA_IMAGES
permission is used to upload the required passport picture. The CALL_PHONE
permission seems to be used to call the administration directly.
However, the presence of ad services permissions and the few network connections to Google’s Firebase, along with the very sensitive personal data collected, may suggests that precise user tracking could be used after loging into a valid account.
Overall the application appears to be designed for a specific purpose and doesn’t overuse complex SDKs to do what it is meant to do.