前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OWASP移动审计 - Android APK 恶意软件分析应用程序

OWASP移动审计 - Android APK 恶意软件分析应用程序

作者头像
Khan安全团队
发布2021-09-18 11:48:20
1.2K0
发布2021-09-18 11:48:20
举报
文章被收录于专栏:Khan安全团队

MobileAudit - 针对 Android 移动 APK 的 SAST 和恶意软件分析

Mobile Audit 不仅关注安全测试和防御用例,该项目的目标是成为 Android APK 的完整认证,其中包括:

  • 静态分析 (SAST):它将执行 APK 的完整反编译并提取它的所有可能信息。它报告了按不同类别分组的源代码中的不同漏洞和发现。此外,它完全支持查找分类(更改状态和重要性)。
  • 恶意软件分析:发现危险权限和可疑代码。
  • 安全 Android 编码的最佳实践:告诉开发人员他们在代码的哪些部分进行安全编码,哪些部分不安全。

它针对不同的用户配置文件:

  • 开发商
  • 系统管理员
  • 安全工程师

扫描内容:

应用程序信息

安全信息

组件

SAST的发现

已实施的最佳做法

病毒总数信息

证书信息

字符串

数据库

文件

安装需求:

  • db: PostgreSQL 13.2
  • nginx: Nginx 1.19.10
  • rabbitmq: RabbitMQ 3.8.14
  • worker: Celery 5.0.5
  • web: Mobile Audit App

Docker 镜像

https://hub.docker.com/repository/docker/mpast/mobile_audit

主要特点:

使用Docker以方便在多平台环境中部署

提取APK的所有信息

分析所有的源代码,寻找弱点

所有发现都被分类并遵循CWE标准

所有的发现都是分类的,包括移动十大风险

同时强调APK中安全安卓实施的最佳做法

调查结果可以被编辑,假阳性可以被分流和删除

所有的扫描结果都可以导出为PDF格式

用户认证和用户管理

具有Swagger和ReDoc的API v1

TLS

动态页面重新加载

导出到 Markdown

导出为 CSV

LDAP 集成

该应用程序具有具有不同规则和模式的引擎,这些规则和模式通过结果扫描阶段用于检测 apk 中的漏洞和/或恶意代码。

这些可以在 /patterns

该应用程序为扫描信息的每个实体创建了模型,以便能够为每个 apk 创建关系并获得最佳结论。

病毒总数 (API v3)

它会检查是否已扫描 APK 并提取其所有信息。此外,上传 APK 的可能性是在环境中选择了一个属性(默认禁用)。

缺陷 Dojo (API v2)

可以将结果上传到缺陷管理器。

MalwareDB 和 Maltrail

它会在数据库中检查 APK 中是否存在与恶意软件相关的 URL。

安装

使用 Docker-compose:

提供的docker-compose.yml文件允许您在开发中本地运行应用程序。

要构建本地映像,并且如果本地应用程序 Dockerfile 发生更改,您可以使用以下命令构建映像:

代码语言:javascript
复制
docker-compose build

要启动容器,请运行:

代码语言:javascript
复制
docker-compose up

可选:以分离模式运行(看不到日志)

代码语言:javascript
复制
docker-compose up -d

应用程序启动后,您可以通过导航到:http://localhost:8888/访问仪表板来测试应用程序。

此外,还有一个使用docker-compose.prod.yaml在端口 443 中运行的 TLS 版本

使用请执行

代码语言:javascript
复制
  docker-compose -f docker-compose.prod.yaml up
代码语言:javascript
复制

然后,您可以通过导航到:https://localhost/来访问仪表板来测试应用程序。

有关详细信息,请参阅TLS

要停止并删除容器,请运行

代码语言:javascript
复制
docker-compose down

API v1

REST API 与 Swagger 和 ReDoc 的集成

用法

  • 用于身份验证和获取令牌的端点: /api/v1/auth-token/
  • 通过身份验证后,在所有请求中使用标头: Authorization: Token <ApiKey>
  • API 规范的 JSON 视图位于 /swagger.json
  • API 规范的 YAML 视图位于 /swagger.yaml
  • API 规范的 swagger-ui 视图位于 /swagger/
  • API 规范的 ReDoc 视图位于 /redoc/

TLS

条件

  • 将证书添加到 nginx/ssl
  • 生成自签名证书:
代码语言:javascript
复制
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配置

  • TLS - 端口 443: nginx/app_tls.conf
  • 标准 - 端口 8888: nginx/app.conf

默认情况下,配置中有一个卷,docker-compose.yml可用 8888

代码语言:javascript
复制
代码语言:javascript
复制
- ./nginx/app.conf:/etc/nginx/conf.d/app.conf
代码语言:javascript
复制

** 在生产环境中** 使用docker-compose.prod.yaml端口 443

代码语言:javascript
复制
代码语言:javascript
复制
- ./nginx/app_tls.conf:/etc/nginx/conf.d/app_tls.conf

环境变量

所有的环境变量都在一个.env文件中,有一个.env.example包含所有需要的变量,也有收集在app/config/settings.py

代码语言:javascript
复制
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', '')

项目:

https://owasp.org/www-project-mobile-audit/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker 镜像
    • 病毒总数 (API v3)
    • 安装
    • API v1
    • TLS
    • 条件
    • 环境变量
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档