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

admin 2022年4月19日23:21:18评论104 views字数 3364阅读11分12秒阅读模式


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

        

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


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

  • 静态分析 (SAST):它将执行 APK 的完整反编译并提取它的所有可能信息。它报告了按不同类别分组的源代码中的不同漏洞和发现。此外,它完全支持查找分类(更改状态和重要性)。

  • 恶意软件分析:发现危险权限和可疑代码。

  • 安全 Android 编码的最佳实践:告诉开发人员他们在代码的哪些部分进行安全编码,哪些部分不安全。

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

  • 开发商

  • 系统管理员

  • 安全工程师


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



扫描内容:




    应用程序信息

    安全信息

    组件

    SAST的发现

    已实施的最佳做法

    病毒总数信息

    证书信息

    字符串

    数据库

    文件


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


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


安装需求:


  • db: PostgreSQL 13.2

  • nginx: Nginx 1.19.10

  • rabbitmq: RabbitMQ 3.8.14

  • worker: Celery 5.0.5

  • web: Mobile Audit App


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



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

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


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


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



病毒总数 (API v3)

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

缺陷 Dojo (API v2)

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

MalwareDB 和 Maltrail

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


安装

使用 Docker-compose:

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

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

docker-compose build

要启动容器,请运行:

docker-compose up

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

docker-compose up -d

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


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



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

使用请执行

  docker-compose -f docker-compose.prod.yaml up

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

有关详细信息,请参阅TLS

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

docker-compose down



API v1

REST API 与 Swagger 和 ReDoc 的集成

用法

  • 用于身份验证和获取令牌的端点: /api/v1/auth-token/

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

  • 通过身份验证后,在所有请求中使用标头: Authorization: Token <ApiKey>

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

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

  • API 规范的 JSON 视图位于 /swagger.json

  • API 规范的 YAML 视图位于 /swagger.yaml

  • API 规范的 swagger-ui 视图位于 /swagger/

  • API 规范的 ReDoc 视图位于 /redoc/


TLS

条件

  • 将证书添加到 nginx/ssl

  • 生成自签名证书:

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

- ./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', '')


项目:

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


本文始发于微信公众号(Khan安全攻防实验室):OWASP移动审计 - Android APK 恶意软件分析应用程序

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月19日23:21:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   OWASP移动审计 - Android APK 恶意软件分析应用程序https://cn-sec.com/archives/533235.html

发表评论

匿名网友 填写信息