美章网 资料文库 智能电视终端应用评估体系与实现范文

智能电视终端应用评估体系与实现范文

本站小编为你精心准备了智能电视终端应用评估体系与实现参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

智能电视终端应用评估体系与实现

1引言

在广播电视传统媒体和新兴媒体加速融合发展的趋势下,组织研发并推广应用我国自主智能电视操作系统,对于确保广播电视文化安全、把握智能电视产业发展主导权、支撑广播电视数字化网络化智能化快速可持续发展,意义重大。从2010年10月到2018年1月,智能电视操作系统TVOS从1.0版本演进到3.0版本,系统不断升级,对终端应用的要求也不断提高。随着TVOS的逐渐发展,越来越多的厂商将目光放在智能电视APP的开发上。对于如雨后春笋般冒出的各种智能电视APP,如果不加以限制就在终端上安装使用,可能会由于兼容性等问题对用户体验造成影响,甚至对终端造成损坏,因此如何确保其在智能终端上安全可用成为了关键问题。2017年11月份在杭州举办的第一届TVOS应用创新大赛中,智能电视APP的赛前检测由人工进行,虽然完成了对APP功能性、稳定性的检测工作,但是耗费了大量人力物力,还有可能因人为疏忽造成结果有误。未来对多个智能电视终端应用在不同版本的终端进行检测时更为复杂,光靠人力来测试很难满足测试需求。基于此,智能电视终端应用评估体系被提出,为广电提供了终端服务安全与内容安全防护的手段。同时,国家了《推进互联网协议第六版(IPv6)规模部署行动计划》,文中提出推进IPv6规模部署是互联网技术产业生态的一次全面升级,深刻影响着网络信息技术、产业、应用的创新和变革。本文将描述智能终端应用APP对IPv6的支持程度以及测试方法。

2智能电视终端应用评估体系

本文借鉴成熟的移动终端APP的应用安全研究,综合电视大屏的特点,根据智能电视终端应用APP的使用场景,研究形成智能电视终端应用评估体系。智能电视终端应用评估体系框图如图1所示,上线前检测分为两个步骤:第一步是静态检测,静态检测是指对应用APK文件本身进行的检测,主要包含安全评估,安全评估是指基于公开的漏洞库,研究终端应用的恶意代码、敏感权限调用等安全特征、自身风险的漏洞检测方法;第二是动态检测,动态检测是指应用在终端上运行时对应用行为的检测,主要包含功能性测试、稳定性测试、兼容性测试和流量监控,具体介绍如下。(1)功能性测试是指测试应用本身具备的功能是否与它自身描述的功能一致。(2)稳定性测试是指测试应用在长期运行的情况下能否无差错地运行。(3)兼容性测试是指测试应用在不同终端上的运行使用情况。(4)流量监控是指分析应用通讯过程中的所有去向地址,监测出可能存在安全隐患的链接地址。

2.1静态检测静态检测测试流程示意图如图2所示,静态检测主要包括安全评估,安全评估包含基本信息、数据安全、加密安全、代码安全、组件安全、配置安全和通信安全。(1)基本信息包含应用版本、应用类型、文件大小、文件MD5、应用签名、序列号、颁发者、使用者、签名算法等。(2)数据安全是指代码中存在传递数据链路上的漏洞,存在数据泄露风险,比如Intent泄露、存储明文HTML文件、代码中残留开发或测试阶段使用的敏感URL等。(3)加密安全是指应用在使用加密算法时,存在潜在的被破译风险,比如使用ECB(电码本)模式的AES/DES加密算法、SHA-1签名算法等。(4)代码安全是指代码中存在目前已经发现的漏洞,比如WebView远程代码执行、WebView未校验HTTPS证书、WebView同源策略绕过漏洞、SecureRandom不安全随机数检测、敏感函数调用风险。(5)组件安全指的是应用组件中可能面临的外部风险。(6)配置安全是指应用的配置文件中存在的隐患,比如应用运行在ROOT环境中,应用没有严格控制权限申请。(7)通信安全是指应用通信的代码中存在的威胁,比如服务端证书弱校验检测,应用在运行过程中没有对提交数据的域名进行验证,伪造的域名或恶意IP能够窃取到应用提交的敏感数据。

2.2动态检测动态检测是指能够在获得终端最高权限的前提下,利用脚本编写工具模拟人为操作过程,完成脚本录制,对智能终端进行脚本测试,包含安装、启动、运行(Monkey或逻辑脚本)、卸载等操作以及支持7×24小时稳定MTBF煲机测试,依次按照功能性、稳定性、兼容性做出分布统计并出具分析报告,同时统计性能报告,包括安装时间、启动时间、CPU占用、内存占用、流量耗用等数据。

3智能电视终端应用评估体系实现

3.1静态检测实现静态检测安全评估引擎采用MobileSecurityFramework(MobSF)的移动安全框架进行定制开发,对电视终端应用程序进行自动化的渗透测试(包括静态测试和动态分析),同时能够对WebAPI进行测试。MobSF使用Django框架开发,使用SQLite进行存储。静态分析的处理流程集功代码在目录“StaticAnalyzer\views\android”下“static_analyzer.py”程序文件中。分析代码流程可知,在MobSF框架中静态分析主要包含三个部分,分别是ManifestAnalysis、CertAnalysis、CodeAnalysis。静态检测实现流程示意图如图5所示。(1)ManifestAnalysis在解压了APK之后,MobSF使用AXMLPrinter2.jar工具提取APP中的XML文件内容,并且进行分析。ManifestAnalysis主要功能是对XML进行解析,提取其中的Permis-sion、GrantUriPermissions、Appli-cation、Activties、Services、Intents、Actions等,分析所有权限并对权限进行分级,包含正常、危险、签名、系统四个类别。对各属性配置进行检查,看是否存在不安全的配置,如Allow-Backup、Debuggable、Exported等属性设置。(2)CertAnalysisMobSF证书分析功能函数在“cert_analysis.py”中,MobSF需先获取HardcodedCertificates/Keystores,然后通过CertPrint.jar工具解析APk中证书的信息,并完成证书相关问题的分析。(3)CodeAnalysisMobSF静态代码分析功能函数在“code_analysis.py”文件中,反编译的代码在“converter.py”中。其中使用Dex2Jar将dex转变为jar文件,使用Dex2Smali将dex转变为smali代码,使用jd-core.jar、cfr_0_115.jar、procyon-decompiler-0.5.30.jar将Jar包转为为可读的Java代码。源代码分析部分主要是利用正则表达式对Java源码进行匹配来实现的,主要通过匹配常见方法中的关键词来提取源码中用到的方法。

3.2动态检测实现动态检测引擎基于Robotium测试框架和Uiautomator测试框架进行了二次定制开发,Robotium测试框架主要用来编写Android应用程序的自动化黑盒测试用例,支持编写跨越多个Activity的功能性、稳定性、兼容性的测试用例。Robotium是对自动测试类Instreumentation(Android)的一个封装,Robotium通过InstrumentationTestRunner完成Android交互式测试,能够横跨多个Activities、Dialogs、Toasts、Menus、ContextMenus等控件的测试。Robotium的整个框架层次分明,Solo作为对外开放的唯一的类,提供了用户所要使用的所有方法,包括获取基本空间的方法;对控件的基本操作的方法,例如点击、长击、滑动、拖拽等;对空间的验证方法。Uiautomator测试框架提供了一些列的动作接口,满足对应用进行的点击、滑动、输入、长按等操作,对终端进行扫描以及分析UI部件,获取控件属性信息,同时通过谷歌提供的可访问服务,获取当前窗口的控件信息。在当前界面中查找目标控件,并且对控件构造输入时间来实现对应用的自动化测试。由于TVOS操作系统兼容Android应用程序,动态检测能够检测TVOS系统上运行的Android应用程序。

3.3IPv6支持国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》,文中指出加快推进IPv6规模部署,构建高速率、广普及、全覆盖、智能化的下一代互联网,是加快网络强国建设、加速国家信息化进程、助力经济社会发展、赢得未来国际竞争新优势的紧迫要求。IPv6的部署是端到端的部署,网络进行IPv6改造,同时终端支持IPv6协议栈。应用在开发过程中使用IPv6地址进行通信。智能电视终端操作系统对IPv6的支持程度如表1所示,运营商IPv6网络部署,通常由通信解决方案商提供解决方案,可选择采用双栈技术、隧道技术或者协议转换技术,需要结合运营商的实际情况。智能电视终端底层支持IPv4、IPv6双协议栈,故对应用IPv6支持程度只对IPv6地址的连通性进行测试。

4结束语

本文提出并研发出一套智能电视终端应用评估体系,在应用的质量和安全两个维度进行评估,其中质量包括功能性、稳定性、兼容性,安全包括地址溯源、应用静态代码安全。当前智能电视终端应用APP检测市场尚属空白,本文提出的智能电视终端应用评估体系能够用于智能电视终端应用APP上线应用商店的质量审核,为广电提供终端服务安全与内容安全防护手段。

作者:汤新坤 单位:国家广播电视总局广播科学研究院