11.png

Samsung Pay漏洞深度剖析

2016年7月14号,来自美国加利福尼亚州莫德斯托社区学院的Salvador Mendoza发表了一篇题为《Samsung Pay:Tokenized Numbers, Flaws andIssues》的文章,称发现了Samsung Pay Token的安全问题。同年8月4号,其在Black Hat USA大会上对此项攻击进行了宣讲和演示(针对VISA卡片进行)。对此,国内各大媒体纷纷予以跟踪报道,那么Samsung Pay是不是真的这么不堪一击呢?

samsungpay1.jpg

一、还原Samsung Pay破解事件完整情况

Salvador Mendoza使用android系统的adb命令对Samsun[……]

MORE

阿里聚安全扫描器之本地拒绝服务检测详解

阿里聚安全的Android应用漏洞扫描器有一个检测项是本地拒绝服务漏洞的检测,采用的是静态分析加动态模糊测试的方法来检测,检测结果准确全面。本文将讲一下应用漏洞扫描器在针对本地拒绝服务的检测方法。

一、本地拒绝服务产生原因和影响

Android应用使用Intent机制在组件之间传递数据,如果应用在使用getIntent(),getAction(),Intent.getXXXExtra()获取到空数据、异常或者畸形数据时没有进行异常捕获,应用就会发生Crash,应用不可使用(本地拒绝服务)。恶意应用可通过向受害者应用发送此类空数据、异常或者畸形数据从而使应用产生本地拒绝服务。[……]

MORE

Android安全开发之安全使用HTTPS

1、HTTPS简介

阿里聚安全的应用漏洞扫描器中有证书弱校验、主机名弱校验、webview未校验证书的检测项,这些检测项是针对APP采用HTTPS通信时容易出现风险的地方而设。接下来介绍一下安全使用HTTPS的相关内容。

1.1 为何需要HTTPS

HTTP协议是没有加密的明文传输协议,如果APP采用HTTP传输数据,则会泄露传输内容,可能被中间人劫持,修改传输的内容。如下图所示就是典型的APP HTTP通信被运营商劫持修改,插入广告:

上图是在我的住处,用WiFi打开某APP,页面底部出现了一个拆红包的广告,点开以后是一个安装APP的页面,如果我用联通的4G网络打[……]

MORE

Fig

Reliable Third-Party Library Detection in Android and Its Security Applications

Abstract & Introduction

本文主要关注的是第三方库的安全问题。作者提出了一个检测第三方库的方法,该方法的特点主要是可以应对一般的混淆,并且能够给出第三方库的版本号。作者在此基础上进行了一些列分析,指出了第三方库的使用存在许多问题。

Fig

Approach

实现第三方库检测的方法主要分为两步,首先去第三方库提供商的网站上下载所有版本的库文件,分别提取每一个文件的特征,建立一个库文件特征的数据库。

Fig

  • 提取的特征为一个树状结构,包括每个层级的hash值,最小单位为method hash。
  • 对于Bytecode会进行标准化,去除编译相关的元素[……]

MORE

移动APP漏洞自动化检测平台建设

前言:本文是《移动APP客户端安全笔记》系列原创文章中的第一篇,主要讲的是企业移动APP自动化漏洞检测平台建设,移动APP漏洞检测发展史与前沿技术,APP漏洞检测工具与平台,以及笔者的一些思考。希望能对移动App自动化漏洞检测感兴趣的同学有所帮助,限于笔者技术水平与文章篇幅,有些内容暂没有逐一详细分析,后续我争取多学习多分享,在此也欢迎大家指点和交流。

 

一、国内Android App漏洞检测发展简史

1.1石器时代 (2007-2011)

关键词:反编绎,人工审计

2007年11年,Google正式发布了Android操作系统,2011年12月,Google发布[……]

MORE

Android Webview 远程代码执行之getClassLoader

众所周知,在Android 4.4系统上 Google已经将系统默认的Webkit内核替换成自己的开源项目chromium,并在Issue 213693005(https://codereview.chromium.org/213693005)屏蔽 了webview的object.getClass,android在4.4.4版本上彻底从native层禁止了webview对getClass的调用,从而阻断了一条反射执行命令的道路。但是Context的getClassLoader().loadClass(“java.lang.Runtime”)却是没有被禁止的。

0x1 漏洞原理

同样是web[……]

MORE

使用CodeInspect破解WiFi万能钥匙接口协议

在上篇文章中我已经使用CodeInspect对WiFi万能钥匙进行了演示分析,在大概分析了下它的代码后,我发现这款APP并没有做什么加固措施,导致接口很容易就可以被分析出来。事实上在去年网上就有针对WiFi万能钥匙接口协议的分析,在经过多次版本迭代后,新版的Wifi万能钥匙在安全性上似乎并没有太大的提升,虽然接口有一些变化,但是核心的加密算法却没有改变并且很容易被逆向。凭借CodeInspect,我很快的就分析出了它的代码逻辑,并且写了一个查询脚本,在文章后面会提到。

功能分析

我们首先来看一下Wifi万能钥匙的主界面,可以看到主界面有一个一键查询万能钥匙的按钮,这个按钮的功能是扫描附近的[……]

MORE

Android安全开发之通用签名风险

1 通用签名风险简介

 

1.1 Android应用签名机制

阿里聚安全漏洞扫描器有一项检测服务是检测APP的通用签名风险。Android系统要求安装的应用必须用数字证书进行签名后才能安装,并且签名证书的私钥由应用开发者保存。签名证书的生成也由开发者自己生成。在应用安装时会校验包名(package name)和签名,如果系统中已经存在了一个相同的包名和签名的应用,将会用新安装的应用替换旧的;如果包名相同但是签名不同,则会安装失败。

为什么需要数字签名?

数字签名是防止要保护的内容被篡改,用非对称加密算法。先对要保护的内容进行消息摘要,用私钥对消息摘要进行加密,生成数字签名,[……]

MORE

Android安全开发之浅谈网页打开APP

一、网页打开APP简介

Android有一个特性,可以通过点击网页内的某个链接打开APP,或者在其他APP中通过点击某个链接打开另外一个APP(AppLink),一些用户量比较大的APP,已经通过发布其AppLink SDK,开发者需要申请相应的资格,配置相关内容才能使用。这些都是通过用户自定义的URI scheme实现的,不过背后还是Android的Intent机制。Google的官方文档《Android Intents with Chrome》一文,介绍了在Android Chrome浏览器中网页打开APP的两种方法,一种是用户自定义的URI scheme(Custom URI sc[……]

MORE

浅析HTTPS中间人攻击与证书校验

0x00 引言

随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是个坑,导致修复这个问题时踩各种坑,故谨以此文简单的介绍相关问题。

本文第一节主要讲述https的握手过程,第二节主要讲述常见的“https中间人攻击”场景,第三节主要介绍证书校验修复方案,各位看官可根据自己口味浏览。

0x01 https原理

p1

首先来看下https的工作原理,上图大致介绍了https的握手流程,后续我们通过抓包看下每个握手包到底干了[……]

MORE