Contributors: K. Pelz, P.Pathak, I.Lehrer, N.Shawarba, T.Eichinger, P.Raschke
This is the code repository for the TRAPEZE Mobile Application for Android phones. The TRAPEZE Mobile Application is built on the basis of the Flutter UI Framework developed by Google. It provides a user interface for a mobile application that performs malware detection scans and, in case a malware was detected, provides further information on (1) how to resolve the security issue and (2) how to avoid the security issue it in the future.
By default, the TRAPEZE Mobile Application makes use of the Kaspersky Mobile Security SDK by the Kaspersky Cyber-Security Company that implements malware detection scans.
This trapeze-mobile
repository DOES NOT contain any malware detection business logic.
The business logic for malware detection for use with the TRAPEZE Mobile Application is available in a separate repository called kaspersky_sdk
available here. The kaspersky_sdk
repository implements a Flutter Plugin Package.
Using malware detection scans provided by the Kaspersky Mobile Security SDK requires adding .aar files that contain their business logic to the kaspersky_sdk
and also a license key from Kaspersky.
A release version of the TRAPEZE Mobile Application can be downloaded here.
Clone the code respository for the TRAPEZE Mobile Application and the code repository for the Flutter package that holds the business logic for the malware detection scans.
git clone https://github.com/trapeze-project/trapeze-mobile.git
git clone https://github.com/trapeze-project/kaspersky_sdk.git
The TRAPEZE Mobile Application assumes that both repositories are located in the same directory.
./
|-- /kaspersky_sdk --> code repository of the KMS-SDK Flutter Plugin Package
|-- /trapeze-mobile --> main code repository
If you wish to use another folder structure, you need to specify the path to the kaspersky_sdk
repository in the pubspec.yaml
file in the trapeze-mobile
repository.
Download the latest stable release version of Flutter command-line program by following the official installation steps. We verified the code to work for the following Flutter version:
>> flutter --version
Flutter 3.0.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision ee4e09cce0 (7 days ago) • 2022-05-09 16:45:18 -0700
Engine • revision d1b9a6938a
Tools • Dart 2.17.0 • DevTools 2.12.2
Note that the installation of the Flutter command-line program includes the installation of the Dart command-line program.
IDE Installation Details
We present installations of two popular IDEs for the development of the TRAPEZE-mobile application.
Download the Android Studio IDE following these installation instructions. We have verified that the project builds correctly under the following release of Android Studio, Flutter, Dart, and Kotlin plugins:
Android Studio Chipmunk | 2021.2.1
Build #AI-212.5712.43.2112.8512546, built on April 28, 2022
Runtime version: 11.0.12+0-b1504.28-7817840 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Non-Bundled Plugins: Dart (212.5744), org.jetbrains.kotlin (212-1.6.21-release-334-AS5457.46), io.flutter (67.1.2)
Install Flutter, Dart, and Kotlin plugins by double tapping [Shift] and typing 'Plugin' into the search bar to navigate to the Plugin-manager.
You may also need to configure the integrated Android SDK. You can install for instance the Android SDK command-line Tools and Android SDK Build-Tools via the SDK Manager.
Install Android SDK command-line tools and Build-tools by double tapping [Shift] and typing 'SDK Manager' into the search bar to navigate to the SDK Manager.
Download the Visual Studio Code IDE following these installation instructions. We have verified that the project builds correctly under the following release of Android Studio, Flutter, Dart, and Kotlin plugins:
Visual Studio Code | Version: 1.67.1
Commit: da15b6fd3ef856477bf6f4fb29ba1b7af717770d
Date: 2022-05-06T12:37:16.526Z
Install Kotlin, Dart, and Flutter extensions by clicking on the Extensions icon in the left menu, or clicking on the Settings icon (gear) in the bottom left and then select 'Extensions'.
CAVEAT Running the TRAPEZE Mobile Application will only run if it is run on an Android device (currently no support for iOS and Web).
CAVEAT Malware detection scans will only work if the** .aar files from the Kaspersky Mobile Security SDK and a license key are added to the
kaspersky_sdk
repository as described in the README in thekaspersky_sdk
repository.
Run the TRAPEZE-mobile application by running the following commands
- [OPTIONAL] Clear dependencies
flutter clean
- Run the application
flutter run --<debug|release>
where you can choose between 'debug' and 'release' modes.
Note that
flutter run
includes the execution offlutter pub get
(install dependencies).
CAVEAT Building .apk files of the TRAPEZE Mobile Application requires adding the Kaspersky Mobile Security SDK's .aar files and a license key to the
kaspersky_sdk
repository as described in the README in thekaspersky_sdk
repository.*
Build an APK (.apk) by running the following commands in the command-line at the root of the trapeze-mobile
repository.
- [OPTIONAL] Clear dependencies
flutter clean
- Build APK
flutter build apk --<debug|release>
where you can choose between 'debug' and 'release' modes.
The compiled .apk files can be found here: ./build/app/outputs/flutter-apk/app-<debug|release>.apk
.
The TRAPEZE mobile application's malware scanning functionality can be tested on the following test viruses:
Test Virus Provider | Download Page | Remarks |
---|---|---|
AMTSO | download-page | industry standard |
EICAR | download-page | |
IKARUS | download-page |
Please do not hesitate to direct your questions to tobias.eichinger (AT) tu-berlin.de and philip.raschke (AT) tu-berlin.de.