手机应用软件安全性测试黄茂生陈平工业和信息化部电子第五研究所软件质量工程研究中心 !∀广东广州 !# 前言随着无线网络和移动通信技术的发展手机特别是智能手机功能日趋强大智能手机的硬件配置甚至可以达到奔%甚至更高应用越来越广泛典型的手机应用见表&所示#手机操作系统也日益标准化黑客已经可以像攻击台式机一样针对手机系统发起攻击然而手机应用的特点使其同时暴露在众多的网。络安全风险和威胁之下遭受到病毒木马蠕虫等恶意程序的攻击手机用户面临程序被破坏数据丢失和信息窃取等安全威胁∋(。的到来手机用户可以传输大量的文件和附件因此专家预言手机受病毒攻击的几率比电脑高倍表应用类别主要应用特点 手机应用软件分类手机游戏或离线游戏其特点是游戏或游戏程序下载到手机后所需的服务在操作时或运行程序时不需要网路的支持就可以得到在线游戏娱乐类新闻类需要下载一个客户端程序到手机上在线服务器上但在玩游戏或操作时需要网络的支持也就是需要连接到如卡拉+,网上聊天寻找朋友棋牌类智力类电子图书等等如综合新闻和各种专题新闻股票行情等交通业务信息音乐影视影迷)歌迷空间天气预报等基于定位或位置的服务包括位置及地图寻找他人交通指南乐信息商务等都有一定的关系周边服务等这一类服务有其特殊的定位要求如娱金融)交易)博彩类主要包括移动银行股票交易彩票电子商务等这类服务最大的特点是需要端到端的加密−解密安全机制也就是手机与服务器间交流的信息都过加密处理移动运行商只提供透明的通信通道企业类的应用将会越来越多二是这些流动的人员有与重要性越来越大其主要包括总部或别人信息交流的需求一是企业的人员是流动或移动的或者需要及时从数据库查找并得到信.企业∗商务应用息输或者需要把信息或数据及时传送到数据库如公安税务监察环保海关保险运维修等行业还有就是针对特定会员或特定顾客的应用如汽车俱乐部健身俱乐部美容俱乐部/0保险公司等/手机应用软件特点及其面临的安全风险开发下载安装和使用类加载器甲12·,‘。一,一43县去简单:;<656=5审核器25&&67&4888,>预先审核器甲≅Α%ΒΧ亡里里25&&65&4889硬件硬件3图 手机ΕΔ?Φ程序的应用过程智能手机号称永远在线可以随时联机公共网络和专用网络并基本具有了桌面计算机所具有的功能。手机应用软件多数是通过无线网络下载到终端用户的便携式设备上的包括通过5一Γ&Χ4%1<5Γ<5下载多媒体通讯服务ΗϑΙ下载红外或蓝牙传输ϑ7同步及可移动存储介质获得并安装各种最新的软件淇典型应用见图 所示#。然而大部分智能手机用户并不将它看作一台计算机并不认同手机和计算机一样存在巨大的安全风险认为手机比ϑ7机更加安全可靠而是将其当作一部安全和没有任何风险的通话设备这给一些黑客直接或间接例如通过国际互联网#的破坏用户利益创造了可乘之机。手机应用软件在不同设备都可通过网络进行下载和执行。如果没有正确的防范机制它则会造成终端用户和无线通信公司冒着无数个安全的风险目前威胁手机安全的主要形式包括通过蓝牙红外彩信等方式传递的手机病毒垃圾邮件)短信包括诈骗短信#骚扰电话恶意程序黑客木马手机后门监听软件)私密数据窃取等手机应用软件面临的常见安全风险详见表/所示#表/手机应用软件面临的安全风险安全风险分类安全风险内容 #非受权存取.即使设备不丢失局外人会使用盗取的密码进人设备导致数据被修改或数据丢失/#电子窃听和修改数据.局外人可能会窃取网络上传输或转换的数据此外信息泄漏会使局外人进行故意行为数据更改∋#后门和陷门.主要是指用于调试用的人口如直接存取硬编码的口令0#逻辑炸弹木马病毒#病毒和蠕虫管理管理疏忽疏忽如设备丢失导致存储在设备内1Κ?卡和存储卡内信息被别人存取以及通过设备接收的信息如5一Γ4山等相关信息用户错误比如删除关键数据或输人错误技术故障导致数据中断删除和不可存取其他其他不可预期和预防的失效和事件/因此手机应用软件的安全测试尤为重要需要在数据传输的安全性访问控制的安全性和移动设备。的安全性等方面对手机应用软件进行安全性测试和验证∋手机应用软件安全性测试测试策略。∋ 安全性测试的目的是发现危害手机中数据的安全和完整性的错误和缺陷然而发现安全错误通常是比较困难的软件通常功能运行正常但却不安全此外手机应用相对普通的ϑ7应用有其自身的特点在测试策略的选择上不能完全照搬ϑΛ应用软件的测试策略方法和内容而需要根据手机应用软件面临的风险特点详见表/所示#采取相应的测试策略从安装与卸载的安全性手机应用程序权限管理数据安全性通讯安全性和人机接口安全性等方面进行测试和验证具体测试策略包括#验证被测试收集应用软件是否满足预定的安全准则和要求重点检查软件的防止灾难故障能力&.防成败性故障能力和容错能力对数据的非法访问的保护能力/#硬件和软件在各种故障模式下的测试对硬件和软件在降级配置时的处理和保护能力测试。试∋#各种保护能力测试包括容错操作能力测试操作数据安全性保护测试通讯数据安全性保护测对重要数据抗非法访问能力测试权限管理保护测试0#多系统多平台上运行的软件人机接口的安全性测试。#∃/∋∋ 测试过程中严格执行ΔΙ>Ι安全域的划分并进行相应的签名或测试∀#注重安装测试的重要性严格按照安装及卸载的安全性要求设计测试用例Μ测试内容安装及卸载的安全性要求为了防止手机应用软件对原有系统内的应用造成不当的影响或破坏使其得到认可并被安装手机应用软件应具备供应者或开发者的数字签名信息其安装过程只能运行在特定环境中且不能破坏其运行环境需要检查相应的授权和数字签名卸载时应将其其安装进去的文件全部卸载用户的明确授权等等具体的测试内容见表∋所示自动运行权限需要得到。衰∋测试项测试内容安装与卸载侧试内容#&/#∋#0#安装性测试Δ应用程序应能安装到安装设备驱动程序上Μ能够在安装设备驱动程序上找到应用程序的相应图标Μ是否包含数字签名信息Μ.ΕΦ应用程序描述至少应包括以下特性?1Ν&Δ<一Ο45Ν15?1Ν<5&一Χ6%Π%55<一?1Ν&5>%=6Θ?151Ν<−Ι≅包中包含的所有托管属性及其值必需是正确的Μ#ΙΔΝ文件和1∃!规格规定的特征和内容Μ∀#应用程序描述规格应包含1Νϑ !和?1Νϑ/Ρ阶Α≅<−45?1Ν&Δ4卜ΚΧΣΜΤ#ΙΔΝ文件显示的资料内容与应用程序显示的资料内容应一致ΜΥ#安装路径应能指定Μς#没有用户的允许应用程序不能预先设定自动启动Μ卸载测试/#∋#0##卸载是否安全其安装进去的文件是否全部卸载卸载用户使用过程中产生的文件是否有提示Μ其修改的配置信息是否复原Μ卸载是否影响其他软件的功能Μ卸载应该移除所有的文件Μ∋ /手机应用软件权限手机应用软件的权限包括网络访问信息发送自动启动媒体录制读取用户数据吸人用户数据等权限关系到用户个人信息和隐私的保护需要对手机应用软件的权限和访问安全机制进行测试和验,证,具体的测试内容见表0所示裹0序号测试内容手机应用软件权限测试内容互连网访问权限一限制沈许使用手机功能接人互联网信息功能一限制)允许使用手机发送接受信息功能自动启动权限一限制)允许应用程序来注册自动启动应用程序本地连接一限制或使用本地连接媒体录制权限一限制次许使用手机拍照或录音读取用户数据一限制次许使用手机读取用户数据写人用户数据一限制次许使用手机写人用户数据∋ ∋数据安全性无论是ϑ7应用软件还是手机应用软件数据安全性测试都是重要的测试内容数据安全是安全的核心内容彩信等威胁手机安全的方式包括传递的手机病毒恶意程序黑客木马手机后门监听软件等其主要目的无不是监听)窃取私密数据因此数据安全测试应从密码的显示存储敏感数据处理的预期行为数据备份和恢复安全性提示等等方面进行有效的测试和检验详。目前通过蓝牙红外细测试要求见表所示#以确保用户数据的安全性衰。手机应用软件数据安全性要求侧试项测试内容密码显示存储/#及长度要求∋#0#当将密码或其他的敏感数据输人到应用程序时其不会被储存在设备中同时密码也不会被解码输人的密码将不以明文形式进行显示Μ密码信用卡明细或其他的敏感数据将不被储存在它们预输人的位置上不同的应用程序的个人身份证或密码长度必需至少在0一Υ个数字长度之间当应用程序处理信用卡明细或其他的敏感数据时不以明文形式将数据写到其它单独的文件或者敏感数据处理的临时文件中以防止应用程序异常终止而又没有侧除它的临时文件文件可能遭受人侵者的袭击然后预期行为读取这些数据信息/#当将敏感数据输人到应用程序时其不会被储存在设备中备份与恢复要求备份应该加密恢复数据应考虑恢复过程的异常通讯中断等#数据恢复后再使用前应该经过校验安全提示要求应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告/#应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告利用显示误导信息欺骗用户,,」丹山更不能在安全警告显示前应用程序不应该模拟进行安全警告误导用户,数据删除要求应用程序必需明确数据是否将会被永久性的侧除或者能够简单恢复取消在数据删除之前应用程序应当通知用户或者应用程序提供一个取消命令操作能够按照设计要求实现其功能命令的操作1Ο信息存取要ϑ #应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况求/#当进行读或写用户信息操作时应用程序将会向用户发送一个操作错误的提示信息∋#错误信息必需声明读或写操作是不可用的Μ/Τ续衰测试项测试内容手机应用软件数据安全性要求应用程序必需能够正确连接到个人信息管理应用程序同时保证在没有用户明确许可的前提下不损坏和侧除个人信息管理应用程序中的任何内容个人信息的使用要求/#在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ∋#应用程序读和写数据正确0#∀# #设备的闪存不被不必要的数据填满应用程序应当有异常保护1Ν#如果数据库中重要的数据正要被重写应及时告知用户应用环境的改变/#要求#∋能合理地处理出现的错误ΜΜ在处理异常的同时1Ν&8也能正常运行<58<5&即使应用环境发生改变也能正常运行Μ0#意外情况下应提示用户∋ 0通讯安全性手机是通讯工具其核心的功能就是传递数据实施通讯包括电话Κ?Κ??ΚΦ?Κ等但在通讯过程中也面临各种风险如运行中断通讯中断等为了确保手机系统软件和数据的安全通讯安全机制需进行逐一的验证和确认其测试内容见表∀所示衰∀。手机应用软件程序通讯安全性要求测试项测试内容运行中断要求在运行其软件过程中如果有来电Κ?Κ??ΚΦ?Κ蓝牙红外等通讯或充电时是否能暂停程序优先处理通信并在处理完毕后能正常恢复软件继续其原来的功能当创立连接时应用程序能够处理因为网络连接中断应能处理通讯延时或中断Μ进而告诉用户连接中断的情况Μ通讯中断要求/#∋#应用程序将保持工作到通讯超时进而发送给用户一个错误信息指示有连接错误网络要求 #应能处理网络异常和及时将异常情况通报用户Μ/#应用程序关闭或网络连接不再使用时应及时关闭)断开∋0/&&、,无线消息要求<能正确发送文字短信5?Ν&1如果短信发送出现意外应能准确地提示用户短信格式应符合规定以便其能正确地被接收和处理应能有效地发现设备和服务蓝牙连接要求连接在长时间不在使用Α闲置#时应中断多个设备互连式如发生中断即使其中一个蓝牙设备消失其他设备之间也应保持连接应提示用户∋ 人机接口安全性人机接口包括交互界面菜单接口命令声音等是负责与用户相连接的接口然而用户可能会无意输人一些可能干扰应用程序正常工作的错误数据因此检查并确认有效人机接口安全性测试内容见表Τ所示主要的规则是所有的输人必需在处理之前进行。/Υ裹Τ测试项用户接口菜单要求人机接口安全性要求测试内容返回菜单总保持可用Μ用户接口命令要求命令有优先权顺序Μ声音的设置不影响应用程序的功能Μ应用程序必需利用目标设备适用的全屏尺寸来显示上述内容Μ应用程序必需能够处理不可预知的用户操作例如错误的操作和同时按下多个键声音要求(Α1要求用户异常响应要求0结语通讯技术和计算技术的迅速发展使得手机应用软件的应用日趋广泛同时也使手机应用软件的安全风险大大增加通过分析手机软件应用的使用特点以及使用过程中可能存在的一些安全性隐患针对这些隐患提出针对性的测试策略进行全面测试的过程可以有效提高手机应用软件的安全性和可靠性保证终端用户的软件使用安全参考书目Ω 1Ω/Ξ.ΕΦ平台结构及开发应用田欧阳泉许向阳ΔΖ6Θ∗∃/!!∋/计算机与数字工程∃∀∃#/. /一 0ΨΞ∋』⊥/!Γ6%∃∃Λ匕46Γ5<(%Χ[Κ5’∴4<=5]5;ΚΛ面<Η<ΧΘ5Π8ΧΘ6% !ΔΖ;/&/!Ιαα&Χ54Χ<6肠川Γ%6Χ_456ΓΑ汕Χ<5ΘΧ4∗=Β58<6%[7ΘΧΠ4Δ4∗盯一⎯4翎#Β55%]665=88∗%6Θ5?6⎯让Ν5ΠΧΛ58ΘΧ6%>58/∋Θ=+∗?4;Ε#βΩ0Ξ6Χ58∀Π5&ΞΩΚ5Θ#Ν5伴ΘΚΦ⊥ΙΖ6Θ∗Γ刀。匕456ΓΚ;Γ⎯Χ4%!.6Π5ΘΠ5Χ⊥+ΒΛ5Κ;Χ<ΘΖ>5Χ6% 8Θ=5&%Χ Δ4%Ζ娜 Τ/!#∀≅1ΦΚ.ϑ4面Θ#ϑΡ∀ΙΒχ+≅Γ/!&伽Γ58<%χΘΒ+58Χ54Χ[ΔΕ?ΦδΙαϑ%6&Χ<8>5招Χ6% !?4Λ]8Θ/!孙Ξ∀ΩΩΤΞΦ%85硫8Ι%Ι%4&;8Χ86Θ%∗ΦΘ4=Γ8]Β5ΧΘ74Ζ858Χ%<Κ8;5肠孚姗8ΦΦΦΒ1Θ4%<6%845Χ86%6<Κ∗⊥5Θ4Φ%%Χ[一65Θ%[ΚΦ Ο/Χ 0# 0ςΖ%5 ςΤ#Δ∃α亡叮著美#⊥训4ΓΦ兰雨晴等译原书第二版#软件测试的有效方法机械工业出版社/以”年∋月 ∋作者简介.黄茂生男ςΤ年出生高级工程师主要研究方向为软件浏试助理工程师软件可靠性陈平男ςΥ 年出生主要研究方向为软件测试软件浏试过程质童保证/ς