现有软件系统中的密码学误用综述

1、移动智能终端应用

现今,随着移动通信技术的发展,移动终端发送了巨大的变化,朝着智能化的方向不断迈进。智能手机、平板电脑等智能设备在人们的日常生活中扮演着不可或缺的角色。据市场研究机构Strategy Analytics最新调查显示,2015年底前全球72亿人口中就会有约34.7%使用智能手机。该机构此前的调查指出,2012年全球智能手机用户已超过10亿大关。由于移动终端涉及大量商业秘密和个人隐私如账户密码、地理位置、社交网络数据等敏感信息,运行在智能终端上的应用安全引起了人们的广泛关注。目前,最新的数据显示Google Play上的应用数量已达136.8万[12],苹果的Apple st[……]

MORE

Android应用安全开发之浅谈加密算法的坑

Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。还有很多开发者没有意识到的加密算法的问题。

1、需要了解的基本概念

密码学的三大作用:加密( Encryption)、认证(Authentication),鉴定(Identification)

加密:防止坏人获取你的数据。

认证:防止坏人修改了你的数据而你却并没有发现。

鉴权:防止坏人假冒你的身份。

明文、密文、密钥、对称加密算法、非对称加密算法,这些基本概念和加密算法原理就不展[……]

MORE

Android Bound Service攻击

0x00 引子

去年12月,【1】 讲述了针对android bound service的攻击方法,给出了从apk包中恢复AIDL文件的工具,利用AIDL便可以编写攻击Bound Service的Client。拜这篇文章所赐,笔者也在实际测试工作中发现了类似漏洞,其中的过程却有些曲折。作为白帽子,通常情况下很难直接得到或者恢复AIDL文件,这决定了Bound Service的易守难攻,因此需要更加系统地掌握Bound Sercive的测试方法,并辅以耐心和一定的运气,才能发现类似的漏洞。在【1】的基础上,本文将分享此类漏洞的经验,进一步对Bound Service攻击进行说明。[……]

MORE

drozer模块的编写及模块动态加载问题研究

drozer是MWR Labs开发的一款Android安全测试框架。是目前最好的Android安全测试工具之一。drozer提供了命令行交互式界面,使用drozer进行安全测试,用户在自己的console端输入命令,drozer会将命令发送到Android设备上的drozer agent代理程序执行。drozer采用了模块化的设计,用户可以定制开发需要的测试模块。编写drozer模块主要涉及python模块及dex模块。python模块在drozer console端运行,类似于metasploit中的插件,可以扩展drozer console的测试功能。dex模块是java编写的androi[……]

MORE

Android App 安全的HTTPS 通信

起因

前段时间,同事拿着一个代码安全扫描出来的 bug 过来咨询,我一看原来是个 https 通信时数字证书校验的漏洞,一想就明白了大概;其实这种问题早两年就有大规模的暴露,各大厂商App 也纷纷中招,想不到过了这么久天猫客户端里还留有这种坑;然后仔细研究了漏洞所在的代码片段,原来所属的是新浪微博分享 sdk 内部的,因为这个 sdk 是源码引用的,一直没有更新,年久失修,所以也就被扫描出来了。因此给出的解决方案是:

  1. 先获取最新的 sdk,看其内部是否已解决,已解决的话升级 sdk 版本即可;
  2. 第1步行不通,那就自己写校验逻辑,猫客全局通信基本已经使用 https 通信,参考着再[……]

MORE

Android应用安全开发之防范无意识的数据泄露

0x00 简介

OWASP移动安全漏洞Top 10中第4个就是无意识的数据泄漏。当应用程序存储数据的位置本身是脆弱的时,就会造成无意识的数据泄漏。这些位置可能包括剪贴板,URL缓存,浏览器的Cookies,HTML5数据存储,分析数据等等。例如,一个用户在登录银行应用的时候已经把密码复制到了剪贴板,恶意应用程序通过访问用户剪贴板数据就可以获取密码了。

0x01 避免缓存网络数据

数据可以在用户无意识的情况下被各种工具捕获。开发人员经常忽视包括log/debug输出信息,Cookies,Web历史记录,Web缓存等的一些数据存储方式存在的安全隐患。例如,通常浏览器访[……]

MORE

Android WebView File域攻击杂谈

0x00 前言

现在越来越多Android App使用了WebView,针对WebView的攻击也多样化。这里简单介绍下目前的WebView File域攻击一些常用的方法,并重点举例说明下厂商修复后依然存在的一些问题。(影响Android 4.4及以下)

0x01 WebView中的file协议

我们知道,在Android JELLY_BEAN以下版本中,如果WebView没有禁止使用file域,并且WebView打开了对JavaScript的支持,我们就能够使用file域进行攻击。

在File域下,能够执行任意的JavaScript代码,同源策略跨域访问能[……]

MORE

再谈APP网络端口开放问题

0x00 网络端口开放概述

网络端口开放问题已经成为攻击者实现移动终端远程攻击的几大重要入口之一,但端该问题一直以来未受到广大开发人员的重视,直到百度虫洞的披露,将这个安全问题带来的严重危害赤裸裸的暴露在用户、开发者以及安全人员面前,大家才正真的意识到问题的严重性。

APP开发过程中,为了实现某些特定功能,如厂商的应用推广、信息收集和上报、和PC进行交互等,会在APP中创建一个TCP OR http Server,并绑定到特定的端口上进行监听:IP: PORT,接收本地或远程客户端的链接请求。

Server接收Client端发来的请求数据/控制指令,并进[……]

MORE

Android平台下二维码漏洞攻击杂谈

0x00 前言

现在Android App几乎都有二维码扫描功能,如果没有考虑到二维码可能存在的安全问题,将会导致扫描二维码就会受到漏洞攻击,严重的可能导致手机被控制,信息泄漏等风险。

0x01 拒绝服务

低版本的zxing这个二维码库在处理畸形二维码时存在数组越界,导致拒绝服务。扫描下面的二维码,可能导致主程序崩溃:

p1

通过程序的崩溃日志可以看出是个数组越界:

0x02 本地文件读取

之前Wooyun上爆了一个利用恶意二维码攻击快拍的漏洞,识别出来的二维码默认以htm[……]

MORE

比葫芦娃还可怕的百度全系APP SDK漏洞 – WormHole虫洞漏洞分析报告

”You can’t have a back door in the software because you can’t have a back door that’s only for the good guys.“ – Apple CEO Tim Cook

”你不应该给软件装后门因为你不能保证这个后门只有好人能够使用。” – 苹果CEO 库克

0x00 序

最早接触网络安全的人一定还记得当年RPC冲击波,WebDav等远程攻击漏洞和由此产生的蠕虫病毒。黑客只要编写程序扫描网络中开放了特定端口的机器,随后发送对应的远程攻击代码就可以控制对方主机,在控制对方主机后,程序[……]

MORE