您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 移动手机应用软件安全测试
2020/2/1412020/2/142目录•苹果iPhone和谷歌andriod应用程序基础•iPhone应用程序安全测试•Andriod应用程序安全测试•移动手机应用的主要威胁2020/2/143苹果iPhone应用程序基础•iPhone发布于2007年2020/2/144苹果iPhone应用程序基础•基于浏览器的应用–HTML+CSS+JavaScript•iOS应用程序–ObjectiveC&CocoaTouchAPISupersetofC,Compilesintonativecode(ARM)•苹果应用商店(AppStore)–集中的机制来分发软件–只有经过苹果审核后的程序–保障没有恶意软件及盗版软件设计2020/2/145苹果iPhone应用程序基础•为何构建iPhone应用程序?–新业务–推出新服务的好办法–客户的迫切需要–用户的希望–名利•愤怒的小鸟•水果忍者2020/2/146苹果iPhone应用程序基础•iPhone应用程序–程序包后缀.ipa–在iPhone模拟器上运行测试–在设备上面测试–在AppStore发布应用程序必须服从评估的审查2020/2/147谷歌andriod应用程序基础•Andriod去年1-9月发布应用的增长量2020/2/148谷歌andriod应用程序基础•Andriod整体构架2020/2/149谷歌andriod应用程序基础•Andriod系统构架–应用程序–应用程序框架–程序库–Android运行库–Linux内核2020/2/1410目录•苹果iPhone和谷歌andriod应用程序基础•iPhone应用程序安全测试•Andriod应用程序安全测试•移动手机应用的主要威胁2020/2/1411苹果应用程序的安全测试•重点包括–网路通信–隐私问题–应用程序数据存储–逆向工程–URLSchemes–推送通知2020/2/1412苹果应用程序的安全测试•越狱–iPhone不允许未签名的应用–越狱后可以安全访问设备–允许安装未经授权的软件–工具:PwnageTool,redsn0w,Sn0wbreeze,Greenpois0n,jailbreakMe…–越狱使我们的工作更容易2020/2/1413苹果应用程序的安全测试•对于安全测试有用的Cydia应用–OpenSSH–Adv-cmds–Sqlite3–GNUDebugger–Syslogd–Veency–Tcpdump–com.ericasadun.utlities–Grep–Odcctools–Crackulous–Hackulous2020/2/1414苹果应用程序的安全测试•SSH连接iPhone–从Cydia安装OpenSSH–在个人电脑上安装SSH客户端–默认情况下iPhone有两个用户(root、mobile)root和mobile(默认密码是‘alpine’)–用root用户通过SSH连接到手机•SSH通过WIFIsshroot@iPhoneIPpassword:alpine•SSH通过USB./itunnel_mux--lport1234ssh–p1234root@127.0.0.1password:alpine2020/2/1415苹果应用程序的安全测试•网路通信–移动应用程序测试不同以往它涉及到网路通信–通信机制明文传输(HTTP)加密传输(HTTPS)使用自有或专有协议2020/2/1416苹果应用程序的安全测试•明文传输–到2012年很多应用程序仍然使用明文传输协议,如HTTP–更容易受到MITM攻击大多数人通过WiFi访问,有相同的WiFi的攻击者可以运行像FireSheep工具的攻击分析HTTP流量在iPhone中启用手动代理(设置—无线局域网—手动)2020/2/1417苹果应用程序的安全测试2020/2/1418苹果应用程序的安全测试•密文传输–HTTPS用来传输敏感的数据–用SSL通信应用程序无法验证SSL证书allowsAnyHTTPSCertificateForHost验证证书的应用程序将不允许MITM为了劫持数据,需要加载代理的CA证书到iPhone2020/2/1419苹果应用程序的安全测试2020/2/1420苹果应用程序的安全测试•自有协议–确定通信协议在SSH终端tcpdump-wtraffic.pcap用wireshark加载分析–不遵循iPhone代理设置–DNS欺骗到MITM2020/2/1421苹果应用程序的安全测试•隐私问题–每一个iPhone拥有一个唯一的设备标识符(UDID)–应用程序可能会收集设备的UDID–UDID可能观察到用户的浏览模式可定位到用户的地理位置。。。–比如•Openfient:移动社交游戏网–劫持网路传输也可以找到UDID2020/2/1422苹果应用程序的安全测试•应用程序数据存储–76%的移动应用程序在手机上存储数据–10%的移动应用明文存储数据–数据存储在手机上的原因为了获得更好的性能离线访问–数据存储位置•Plist文件•Keychain•Logs•截图•Home目录2020/2/1423苹果应用程序的安全测试•应用程序目录结构–应用程序运行在一个沙箱拥有‘mobile’权限–每个应用程序获取一个文件系统的私有空间路径说明Appname.app包含应用程序代码和静态数据Documents通过iTunes共享数据Library应用程序的支持文件Library/Preferences应用程序的特殊配置Library/Caches/缓存数据tmp临时文件2020/2/1424苹果应用程序的安全测试•逆向工程–静态分析•Otool•Class-dump–动态调试•gdb•IDA+GDBServer实现iPhone程序远程调试2020/2/1425苹果应用程序的安全测试2020/2/1426苹果应用程序的安全测试2020/2/1427苹果应用程序的安全测试2020/2/1428苹果应用程序的安全测试2020/2/1429苹果应用程序的安全测试2020/2/1430目录•苹果iPhone和谷歌andriod应用程序基础•iPhone应用程序安全测试•Andriod应用程序安全测试•移动手机应用的主要威胁2020/2/1431andriod系统安全特性•Andriod以linux为基础,修改而来,拥有linux本本身的安全特性•进程权限分离,Andriod启动程序时使用单独的账户进行启动,每一个程序都使用不同的账户,有效的增加了进程的安全性•数据目录权限分离,程序的数据目录拥有者为进程用户,每个进程不同,进程目录权限也隔离,恶意进程无法直接修改其他进程的文件2020/2/1432andriod系统安全特性•应用程序在修改过的java环境中运行,难以使用溢出的方式对应用程序进行攻击•在默认情况下,应用程序无法获取root权限修改操作系统关键位置2020/2/1433Andriod应用程序安全测试•重点包括–基于系统的攻击测试–基于应用的攻击测试–基于传输链路的攻击测试–基于wap站点的攻击测试2020/2/1434Andriod应用程序安全测试•建立测试环境–Root设备•使用root程序对获取系统的root权限(实际上就是一段本地溢出程序)•安装busybox(包含了各种需要用到的系统命令)•安装权限管理程序,如:Superuser–安装ssh服务端•安装QuickSSHd•通过Superuser获取root权限2020/2/1435Andriod应用程序安全测试•建立测试环境–与设备建立无线连接–通过quicksshd登录设备,并管理设备2020/2/1436Andriod应用程序安全测试•基于内核攻击测试–Andriod基于linux内核开发而成,并且保留了linux的内核的各种特性,攻击linux内核的方法同样适用于攻击andriod系统•安装基于内核模块的rootkit,linux内核级rootkit通过改造很容易运行在andriod系统中,并完成各种底层的操作•使用开发环境,编译对应版本的rootkit模块,•使用命令insmodxxx.ko安装模块,并执行后门功能2020/2/1437Andriod应用程序安全测试•基于内核攻击测试–内核溢出攻击andriod内核基于C语言开发,可能存在溢出漏洞,通过基于内核的溢出使恶意程序获取最高的系统权限,目前部分root程序就是使用这个原理进行提权操作2020/2/1438Andriod应用程序安全测试•应用程序攻击测试–Andriod软件大部分基于java开发,难以进行溢出攻击,但部分程序为提高效率,或完成更高级功能使用C/C++进行开发动态模块,此类程序容易发生溢出攻击–Andriod软件和传统PC软件比较功能相对简单,但仍然可能存在各种逻辑安全漏洞。–Andriod默认使用sqlite作为应用程序的数据库,但通常不进行加密,部分敏感数据容易泄露•使用sqlite3查询sqlite数据库中的内容–Andriod应用程序使用java开发,可通过反编译的方式获取对应的源码•使用dex2jar将程序转换成jar文件,再使用jad对jar文件进行反编译2020/2/1439Andriod应用程序安全测试•传输链路攻击测试–部分应用考虑到一些低配的手机,没有对数据链路进行加密,并且在这些未加密的链路中发送各种敏感的数据。–手机软件目前很少有通过硬件进行签名加密的功能,所以很容易通过中间人攻击截获数据包,并进行修改。在一些在线交易的应用中,问题非常严重2020/2/1440Andriod应用程序安全测试•通过使用中间人工具,捕获应用程序中的web数据包,并进行修改后测试2020/2/1441Andriod应用程序安全测试•WAP站点攻击测试–部分wap站点考虑兼容各种手机(部分手机不支持cookie功能),将session信息放置在url中,通过referrer头的攻击,很容易使恶意网站获取session信息,并进行非法登录–设置代理,或使用中间人攻击和对目标wap站点进行安全测试,发现wap站的漏洞,并进行攻击2020/2/1442目录•苹果iPhone和谷歌andriod应用程序基础•iPhone应用程序安全测试•Andriod应用程序安全测试•移动手机应用的主要威胁2020/2/1443移动手机应用的主要威胁•容易丢失手机–设备与密码保护–设备上的敏感文件加密•开机后只可在移动数据加密–引导漏洞•设备上的所有文件都可以在10分钟内复制–密码穷举•4位的数的密码,可以在20分钟内被破解•移动应用程序的风险–VeracodeTop10–OWASPMobileTop10
本文标题:移动手机应用软件安全测试
链接地址:https://www.777doc.com/doc-3749714 .html