MobileAudit - 适用于 Android Unicom APK 的 SAST 和恶意软件分析
除了MobileAudit专注于安全测试和防御用例之外,该项目的目标是成为Android APK的完整认证,包括:
它针对不同的用户配置文件:
扫描内容:
应用信息
安全信息
成分
先科科技的发现
实施的最佳实践
病毒负载信息
证书信息
细绳
数据库
文档
安装要求:
Docker镜像
主要特点:
使用Docker方便在多平台环境中部署
提取APK的所有信息
分析所有源代码以查找弱点
所有发现均经过分类并遵守 CWE 标准
所有调查结果均已分类,包括中国联通十大风险
还指出了在 APK 中安全实施 Android 的最佳实践
可以对结果进行编辑,可以对漏报进行分类和删除
所有扫描结果都可以PDF格式导入
用户认证和用户管理
APIv1 与 Swagger 和 ReDoc
传输层安全协议
动态页面重新加载
导入到 Markdown 中
导入为 CSV
LDAP 集成
该应用程序有一个具有不同规则和模式的引擎,用于通过结果扫描阶段测量 apk 中的漏洞和/或恶意代码。
这可以在 /patterns 中找到
该应用程序为扫描信息的每个实体创建一个模型,以便可以为每个 apk 创建关系并做出最佳推断。
总病毒 (APIv3)
它检测 APK 是否已被扫描并提取其所有信息。 据报道,上传 APK 的可能性是在环境中选择的一个属性(默认情况下禁用)。
缺陷道场 (APIv2)
结果可以上传到缺陷管理器。
MalwareDB 和 Maltrail
它会检查 APK 数据库中是否存在与恶意软件相关的 URL。
安装
使用 Docker-compose:
提供的 docker-compose.yml 文件允许您在开发中本地运行应用程序。
要构建本地镜像,但如果本地应用Dockerfile被修改,可以使用以下命令构建镜像:
docker-compose build
要启动容器,请运行:
docker-compose up
可选:以分离模式运行(看不到日志)
docker-compose up -d
应用程序启动后apk软件,您可以通过导航到::8888/access-dashboard 来测试应用程序。
据悉,还有一个使用 docker-compose.prod.yaml 在端口 443 运行的 TLS 版本
使用请执行
docker-compose -f docker-compose.prod.yaml up
然后apk软件,您可以通过导航至以下位置访问仪表板来测试应用程序:
有关完整详细信息,请参阅 TLS
要停止并删除容器,请运行
docker-compose down
APIv1
RESTAPI 与 Swagger 和 ReDoc 的集成
用法
TLS 条件
openssl req -x509 -nodes -days 1 -newkey rsa:4096 -subj "/C=ES/ST=Madrid/L=Madrid/O=Example/OU=IT/CN=localhost" -keyout nginx/ssl/nginx.key -out nginx/ssl/nginx.crt
nginx配置
默认情况下,配置中有一个卷,docker-compose.yml可用8888
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
**在生产中**使用 docker-compose.prod.yaml 端口 443
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf
环境变量
所有环境变量都在 .env 文件中,有一个 .env.example 包含所有必需的变量,并且也收集在 app/config/settings.py 中:
CWE_URL = env('CWE_URL', 'https://cwe.mitre.org/data/definitions/')
MALWARE_ENABLED = env('MALWARE_ENABLED', True)
MALWAREDB_URL = env('MALWAREDB_URL', 'https://www.malwaredomainlist.com/mdlcsv.php')
MALTRAILDB_URL = env('MALTRAILDB_URL', 'https://raw.githubusercontent.com/stamparm/aux/master/maltrail-malware-domains.txt')
VIRUSTOTAL_ENABLED = env('VIRUSTOTAL_ENABLED', False)
VIRUSTOTAL_URL = env('VIRUSTOTAL_URL', 'https://www.virustotal.com/')
VIRUSTOTAL_FILE_URL = env('VIRUSTOTAL_FILE_URL', 'https://www.virustotal.com/gui/file/')
VIRUSTOTAL_API_URL_V3 = env('VIRUSTOTAL_API_URL_V3', 'https://www.virustotal.com/api/v3/')
VIRUSTOTAL_URL_V2 = env('VIRUSTOTAL_API_URL_V2', 'https://www.virustotal.com/vtapi/v2/file/')
VIRUSTOTAL_API_KEY = env('VIRUSTOTAL_API_KEY', '')
VIRUSTOTAL_UPLOAD = env('VIRUSTOTAL_UPLOAD', False)
DEFECTDOJO_ENABLED = env('DEFECTDOJO_ENABLED', False)
DEFECTDOJO_URL = env('DEFECTDOJO_URL', 'http://defectdojo:8080/finding/')
DEFECTDOJO_API_URL = env('DEFECTDOJO_API_URL', 'http://defectdojo:8080/api/v2/')
DEFECTDOJO_API_KEY = env('DEFECTDOJO_API_KEY', '')
项目: