Android APP漏洞自动化静态扫描检测工具-Qark环境搭建与使用

2023-05-16

QARK

1、qark简介

LinkedIn最近开源了他的静态分析工具QARK,该工具用于分析那些用Java语言开发的Android应用中的潜在安全缺陷。QARK 全称 Quick Android Review Kit。这个工具用来寻找与 Android 应用相关的安全漏洞,包括检查源代码和打包的 APKs。这个工具还可以创建“Proof-of-Concept”可部署的 APKs 或 ADB 命令,能够利用许多它发现的漏洞。不需要 root 测试设备,因为这个工具专注于在其它安全环境下能被利用的漏洞。

2、qark功能

QARK对安全缺陷的分析范围包括:

不经意公开的组件
保护不当的公开组件
易被窃听或嗅探的Intent
不当的x.509格式的证书校验
不当地创建“全局可读”或者“全局可写”文件
可能泄露敏感数据的Activity组件
是否正确使用Sticky Intent
不安全地创建Pending Intent
发送未经安全保护的Broadcast Intent
源代码中嵌入了私钥
使用了弱或不当的加密解密算法
使用了有潜在安全问题的WebView配置项
对其他应用公开的Preference Activity
触屏劫持
允许备份的应用
允许调试模式的应用
应用中使用的过时的API,其中包含了已知的缺陷
当QARK指出一个潜在缺陷的时候,会针对该缺陷,提供概要解释和一条详细解释的链接。它还可以创建可测试的APK文件和若干ADB命令,这些文件和命令能让你知道该缺陷会产生怎样的危害。

未来,LinkedIn打算扩展QARK,使它能够分析Bound Service和Content Provider缺陷,与Java/Android无关的缺陷,解析ODEX文件,改进自身的扩展性,动态分析等等。

当QARK可以被集成到Android工具链中,自动探测到问题和缺陷的时候,作者建议同时继续对应用进行人工审查,因为还有其他类型的缺陷是静态分析无能为力的,而且还有许多缺陷未能完全覆盖。

3、qark工具环境搭建

qark项目地址是:https://github.com/linkedin/qark

搭建qark的使用环境需要以下几个前提条件:

1)安装JDK,版本1.7及以上

2)安装python 2.7.6 ,下载python源码进行编译时,记得加上SSL库和zlib库进行编译安装。可以参考文章:http://www.linuxdown.net/install/soft/2015/0107/3765.html

3)OSX or Ubuntu Linux (Others may work, but not fully tested)

4、qark工具使用

4.1对APK进行安全评估

命令:python qark.py --source 1 --pathtoapk /root/soft/app/needtest.apk --exploit 1 --install 1

加粗部分是你需要进行安全检测的APK的路径

4.2对源码进行安全评估

python qark.py --source 2 -c /Users/foo/qark/sampleApps/goatdroid/goatdroid --manifest /Users/foo/qark/sampleApps/goatdroid/goatdroid/AndroidManifest.xml --exploit 1 --install 1

5、使用过程中的错误总结

错误一:import error no module named _curses

解决方法:下载python2.7.6源码,在编译安装python之前,执行命令apt-get install libncurses5 libncurses5-dev libncursesw5;如果已安装python,重新安装编译执行python即可。

错误二:ImportError: No module named pkg_resources

解决方案:需要安装pyhton的setuptools,命令如下:wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

错误三:p1.stdin.write(common.args.accept terms) TypeError: must be string or buffer, not None

解决方案:再重新执行一遍qark的检测命令就行,因为第一次需要使用qark需要下载Android SDK环境,建议使用qark自己下载,不用自己设定已安装的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android APP漏洞自动化静态扫描检测工具-Qark环境搭建与使用 的相关文章

  • Qt第二十二章:将控件放到另一个控件的后面或前面

    话不多说 xff1a 看图
  • 缓存行填充与@sun.misc.Contended注解

    1 缓存模型 CPU和主内存之间有好几层缓存 xff0c 因为与cpu的速度相比 xff0c 访问主内存的速度是非常慢的 如果频繁对同一个数据做运算 xff0c 每次都从内存中加载 xff0c 运算完之后再写回到主内存中 xff0c 将会严
  • ThreadLocal那点事

    目录 1 ThreadLocal原理 2 ThreadLocal内存泄漏 3 ThreadLocal最佳实践 4 FastThreadLocal原理 5 FastThreadLocal最佳实践 6 ThreadLocal与FastThrea
  • 关于雪花算法的设计与思考

    2017年的时候项目组在开发一款大区游戏 xff0c 由于之前demo阶段的玩家id都是单服生成的 xff0c 只能保证单进程中的唯一 xff0c 而无法保证在分布式服务器端的唯一性 随着项目的开发进展 xff0c 需要设计能保证在分布式的
  • java反射之Method的invoke方法实现

    在框架中经常会会用到method invoke 方法 xff0c 用来执行某个的对象的目标方法 以前写代码用到反射时 xff0c 总是获取先获取Method xff0c 然后传入对应的Class实例对象执行方法 然而前段时间研究invoke
  • A*寻路算法之解决路径多拐点问题

    1 问题描述 最近公司正在开发的游戏涉及到了寻路算法 xff0c 然后我从网上找了一份A 算法代码 xff0c 整理了一下写了一个A 算法基础实现 然而 xff0c 在真正实用时A 寻路时 xff0c 却发现了几个问题 xff1a 基础实现
  • 代理模式与委托模式的异同点

    在 设计模式之禅 xff08 第二版 xff09 中 xff0c 作者说 代理模式也叫做委托模式 xff0c 显然是认为代理模式和委托模式是毫无差别的 然而在实际开发中 xff0c 我们通常可以很明确的知道一个模式究竟是代理模式还是委托模式
  • TCP/IP编程之select函数详解

    前述 xff1a linux下的I O复用模型目前很多都已经不用select函数了 xff0c 而是用epoll xff0c 但是为什么还需要了解select编程呢 xff0c 其实是从两个方面考虑的 xff1a 一是为了通过select去
  • 堆栈的详细解释

    一 在c中分为这几个存储区 1 栈 由编译器自动分配释放 2 堆 一般由程序员分配释放 xff0c 若程序员不释放 xff0c 程序结束时可能由OS回收 3 全局区 xff08 静态区 xff09 xff0c 全局变量和静态变量的存储是放在
  • Gmapping、hector、Cartographer三种激光SLAM算法简单对比

    文章目录 一 Gmapping是基于粒子滤波的算法 二 Hector SLAM三 Cartographer 一 Gmapping是基于粒子滤波的算法 缺点 xff1a 严重依赖里程计 xff0c 无法适应无人机及地面不平坦的区域 xff0c
  • TCP连接建立过程

    TCP连接建立过程 浏览器访问网站 xff0c 通过域名解析找到ip地址后会与服务器端建立连接 其中TCP xff08 Transmission Control Protocol xff0c 传输控制协议 xff09 是一种面向连接的 可靠
  • 海康威视错误代码文档大全【完整版】

    简介 本文收录了海康各大设备错误码 xff0c 按ctrl 43 f查询 xff1b 包含网络通讯库错误码 阵列错误码 安全激活相关错误码 智能设备错误码 RTSP通讯库错误码 软解码库错误码 转封装库错误码 语音对讲库错误码 Qos流控库
  • lighttpd http响应报文(Response)增加安全头Referrer-Policy和X-Permitted-Cross-Domain-Policies方法

    X Permitted Cross Domain Policies和Referrer Policy说明 X Permitted Cross Domain Policies X Permitted Cross Domain Policies
  • ROS使用ARUCO识别二维码获取位置信息做定位使用

    使用ARUCO识别二维码获取位置信息 1 安装软件 cd catkin ws src git clone b kinetic devel https github com pal robotics aruco ros cd catkin m
  • Keil 编译时无法找到头文件解决

    Keil 编译时无法找到头文件解决方法 1 背景 Keil 编译的时候无法找到头文件 xff0c 搜了下相关问题及解决方法 xff0c 有介绍说是因为文件夹中有数字 xff0c 无法搜到头文件 xff0c 进行了更改 xff0c 还是找不到
  • 学习open62541 --- [71] Alarm and Condition

    本文讲述Alarm and Condition的用法 xff0c 主要以源码里提供的例子为基础进行讲解和演示 xff0c 即tutorial server alarms conditions c xff0c 该例子写的有点乱 xff0c 本
  • 学习open62541 ---[68] 使用Wireshark观察通信消息

    Wireshark是强大的网络协议分析工具 xff0c 而open62541也是基于socket的 xff0c 所以也可以用其来观察OPCUA通信消息 一 安装Wireshark 去https www wireshark org 去下载并安
  • UART、IIC、SPI、CAN通信的区别与应用

    文章目录 1 通信的基本知识1 1 数据通信的种类1 1 1 串行通信1 1 2 并行通信1 1 3 总结 1 2 数据通信的传输方向1 2 1 单工1 2 2 半双工1 2 3 全双工1 2 4 总结 1 3 数据通信的方式1 3 1 同
  • 学习open62541 --- [69] Client监测多个变量值

    有读者问Client如何监测多个变量值 xff0c 这篇文章给了提示 xff0c 但是没给例子 xff0c 本文给出详细例子 xff0c 使用的open62541版本是1 3 3 xff0c 运行环境debian10 5 一 准备Serve
  • 学习CANopen --- [6] 自定义对象字典

    在前面几篇文章中 xff0c 我们运行例子时都需要一个eds文件 xff0c 比较麻烦 xff0c 本文讲述如何在代码中自定义对象字典 xff0c 只添加自己需要的OD项 如果是作为master来使用 xff0c 还是比较方便的 自定义对象

随机推荐

  • 学习CANopen --- [7] 使用块(Block)下载

    对于一次传输超过4字节的情形 xff0c SDO可以使用Segment传输或者Block传输 xff0c Segment传输在第6篇文章中已经介绍 xff0c 本文讲解Block传输中的下载情况 一 与Segment传输的比较 相比于Seg
  • 学习open62541 --- [70] 深入理解变量监测

    本文深入探讨一下变量监测的用法和原理 一 累积传输 先前写的关于变量监测的文章 xff0c 都是设置一个采样时间 xff0c 然后有变化了就通知一下 xff0c 有时我们希望变化累积一段时间再一起传给client xff0c 这时如何设置呢
  • 学习CANopen --- [8] 多主机同时运行时的问题

    本文记录一下实际使用CANopen时开启多个主机遇到的问题 一 问题描述 本人在嵌入式设备上用Python CANopen库写一个SDO xff0c 由于数据比较多 xff0c 就使用了Segment download xff0c 大概需要
  • 学习CANopen --- [9] CAN总线的状态检查

    本文讲述如何判断CAN总线是否存在以及是否bus off xff0c 以vcan0进行讲解 xff0c vcan0是虚拟的CAN接口 xff0c 可以把它看做一个软件CAN适配器 xff08 区别于硬件CAN适配器 xff0c 如PeakC
  • 学习CANopen --- [10] 汽车外接OBD模块原理

    在某宝上搜索汽车OBD xff0c 可以发现很多卖OBD模块的 xff0c 通过接入OBD模块可以增加车子本身没有的功能 xff0c 如锁车升窗 xff0c 行车自动落锁和后视镜折叠等 xff0c 那么其实现原理是什么呢 xff1f 使用时
  • 学习open62541 --- [72] client删除subscription时的warning

    本文记录一个问题的理解过程 xff0c 试验条件 xff1a 使用open62541运行server使用asyncua运行clientclient会向server添加subscription xff0c 然后在断开连接前删除subscrip
  • 启明欣欣STM32开发板闪烁LED实验

    最近在咸鱼上买了一块启明欣欣的STM32板子 xff0c 准备在上面测试open62541和CANopen xff0c 到货后如下图 xff0c 找商家要了资料 xff0c 然后运行一个LED灯的实验来简单测试下板子 xff0c 本文记录一
  • Python fpdf2生成表格

    fpdf2库可以用来生成pdf文档 xff0c 该库是从fpdf库fork来的 xff0c 老库自2018年就不再更新维护了 xff0c fpdf2对用户更友好 xff0c api也更方便使用 一 fpdf2介绍 其网址是https pyf
  • Android动态分析工具-Inspeckage

    1 Inspeckage简介 Inspeckage是一个用来动态分析安卓app的xposed模块 Inspeckage对动态分析很多常用的功能进行了汇总并且内建一个webserver 整个分析操作可以在友好的界面环境中进行 2 下载地址 I
  • 行为树 --- [7] BehaviorTree.CPP 4.x版本的编译及使用

    根据BehaviorTree CPP的官方介绍 xff0c 3 x版本已经不再维护了 xff0c 建议使用4 x版本 xff0c 4 x版本和3 x版本的区别可以看这里 https www behaviortree dev migratio
  • OPC UA性能评估

    本文是对这篇论文的总结 xff0c 该文章从性能和资源使用方面比较了工业4 0的4个主要协议 xff1a OPC UA xff0c DDS xff0c ROS和MQTT 这4个协议都是基于以太网 xff08 Ethernet based x
  • 学习open62541 --- [73] 数据源造成无法监测变量的问题解决

    本人最近遇到一个问题 xff1a 给一个变量添加数据源后 xff0c 使用监测项去监测变量变化 xff0c 如果采样时间为0 xff0c 会发现无法监测到变量的变化 本文讲述这种情况的发生原因以及解决办法 一 Server例子 首先准备se
  • 启明欣欣STM32开发板移植FreeRTOS

    承接这篇文章 xff0c 本篇讲述如何把FreeRTOS移植到启明欣欣STM32开发板里 xff0c 比较简单 xff0c 网上也有各种教程 xff0c 本文也是参考其它文章 xff0c 这里再记录一下 一 搭建基础工程 启明欣欣STM32
  • 学习open62541 --- [74] 软链接的妙用

    一 原理 在同一台电脑里 xff0c 可能会有多个工程同时用到open62541 xff0c 比较简单的办法是每个工程都拷贝一份open62541源码 xff0c 但是这样会造成空间浪费 xff0c 而且open62541的源码包本身也不小
  • 学习open62541 --- [75] 生成namespace文件的简便方法

    在之前的文章中 xff0c 生成namespace文件是使用open62541提供的nodeset compiler py xff0c 根据nodeset compiler rst xff08 位于open62541 doc xff09 里
  • 启明欣欣STM32开发板 --- 运行LWIP (无RTOS)

    最近体验了一下CubeMX xff0c 发现真的是非常好用 xff0c 里面使用了ST自家的HAL库 xff0c 这应该是ST的策略 xff0c 为了绑定客户 本文讲述使用CubeMX生成LWIP的Keil工程并在启明欣欣板子上运行 xff
  • 启明欣欣STM32开发板 --- 运行LWIP (使用FreeRtos)

    在上篇文章中 xff0c 我们生成了不带RTOS的LWIP工程 xff0c 本篇讲述如何生成带RTOS的LWIP工程 xff0c RTOS选择FreeRtos xff0c CubeMX工程以上篇文章中的工程为基础 文章目录 一 使能Free
  • python http 身份认证简介

    目录 授权方式简介 1 Basic Authentication 2 OAuth 3 Token Authentication 4 Digest Authentication xff08 重点说一下 xff09 代码实现 1 基本身份认证
  • 记录VScode调试过慢的问题

    目录 问题 xff1a 解决方案 xff1a 0806更新报错 问题 xff1a 最近在使用VScode的过程中调试慢到让人接受不了 xff0c 遂寻找解决方案 xff0c 重装VScode 在网上找了好多答案 xff0c 尝试后均无法解决
  • Android APP漏洞自动化静态扫描检测工具-Qark环境搭建与使用

    QARK 1 qark简介 LinkedIn最近开源了他的静态分析工具QARK xff0c 该工具用于分析那些用Java语言开发的Android应用中的潜在安全缺陷 QARK 全称 Quick Android Review Kit 这个工具