2024, 35(7):3162-3179.DOI: 10.13328/j.cnki.jos.007106
摘要:GUI模糊测试在提升移动应用可靠性和兼容性方面发挥着关键作用. 然而, 现有的GUI模糊测试方法大多效率较低, 主要原因是这些工作过于粗粒度, 仅基于单一模态的特征来整体理解GUI页面, 应用状态的过度抽象使得许多细节信息被忽略, 导致对GUI状态及小部件的理解不足. 为了解决上述问题, 提出了一种基于多模态表征的移动应用GUI模糊测试框架GUIFuzzer. 该框架通过考虑多模态特征, 如视觉特征、布局上下特征和细粒度的元属性特征, 来联合推断GUI小部件的语义; 然后, 训练一个多层次奖励驱动的深度强化学习模型来优化GUI事件选择策略, 提高模糊测试的效率. 在大量的真实应用上对所提框架进行了评估. 实验结果表明: 与现有的竞争性基线相比, GUIFuzzer显著地提升了模糊测试的覆盖率. 还对特定目标的定制化搜索即敏感API触发进行了案例研究, 进一步验证了GUIFuzzer框架的实用性.
2022, 33(9):3312-3330.DOI: 10.13328/j.cnki.jos.006389
摘要:隐私保护问题在当今机器学习领域日益受到关注, 构建具备数据安全保障的机器学习服务系统变得越来越重要. 与此同时, 以英特尔SGX为代表的可信执行环境技术得到了日益广泛的使用来开发可信应用和系统. SGX为开发者提供了基于硬件的名为飞地的安全容器来保障应用程序的机密性和完整性. 本文基于SGX提出了一种面向机器学习推理的安全服务系统S3ML. S3ML将机器学习模型运行在SGX飞地中以保护用户隐私. 为了构建一个实用的基于SGX的安全服务系统, S3ML解决了来自两方面的挑战. 首先, 机器学习推理服务为了保证高可用性和可扩展性, 通常包含多个后端模型服务器实例. 当这些实例在SGX飞地内运行时, 需要新的系统架构和协议来同步证书及密钥, 以构建安全的分布式飞地集群. S3ML设计了基于SGX认证机制的飞地配置服务, 来专门负责在客户端和模型服务器实例之间生成、持久化和分发证书及密钥. 这样S3ML可以复用现有的基础设施来对服务进行透明的负载均衡和故障转移, 以确保服务的高可用性和可扩展性. 其次, SGX飞地运行在一个名为飞地页面缓存(EPC)的特殊内存区域, 该区域的大小有限, 由主机上的所有SGX飞地竞争, 运行在飞地中应用的性能因此易受到干扰. 为了满足机器学习推理服务的服务级别目标, 一方面S3ML使用轻量级的机器学习框架和模型来构建模型服务器以减少EPC消耗. 另一方面, 通过实验发现了使用EPC页交换吞吐量作为保障服务级别目标的间接监控指标是可行的. 基于该发现, S3ML提出基于EPC页交换强度来控制服务的负载均衡和水平扩展活动. 基于Kubernetes、TensorFlow Lite和Occlum实现了S3ML, 并在一系列模型上进行实验, 对S3ML的系统开销、可行性和有效性进行了评估.
2017, 28(6):1373-1388.DOI: 10.13328/j.cnki.jos.005221
摘要:移动应用中,广泛使用第三方库来帮助开发和增强应用功能.很多关于移动应用分析以及访问控制的研究工作,需要在分析之前对第三方库进行检测、过滤或者对其进行功能分类.当前,大部分研究工作都以使用白名单的方式来检测第三方库或者对其功能进行分类.然而,通过白名单检测第三方库不完善且不准确,其原因包括:(1)第三方库的种类和数量很大;(2)常见的代码混淆或者第三方库伪装等技术使得白名单方法不能准确地识别第三方库.提出一种第三方库自动检测和分类方法,包括基于多级聚类技术准确识别第三方库以及基于机器学习对第三方库的功能进行准确分类.实验对超过130 000个Android应用进行分析,验证所提出方法的有效性.实验总共检测到4 916个不同的第三方库.在人工标记的数据集上,通过十折交叉验证,对第三方库分类的准确率达到84.28%.将训练好的分类器应用于全部4 916个检测到的第三方库,人工进行抽样验证的准确率达到75%.
2011, 22(12):2866-2878.DOI: 10.3724/SP.J.1001.2011.03992
摘要:从软件体系结构角度出发,从满足移动用户个性化需求入手,提出一种便于移动应用开发和部署的整合方案.该方案从设备属性(如CPU、内存、屏幕、通信模式等)、用户偏好(如对能耗和性能的偏好等)以及QoS需求(如交互频率、安全、实时性等)等多重维度入手,采用体系结构驱动的方法对应用进行建模,并生成满足用户个性化需求的部署方案,从而有效提高了移动应用的可配置性.实验结果表明,该方案可以有效地方便移动应用的开发及部署,提高应用与用户需求的契合程度,改善网络化移动应用的可配置性.
2010, 21(8):1783-1794.
摘要:提出一种多目标的数据预取方法(multiple goals oriented data prefetching,简称MGODP)来满足不同用户的数据预取需求.MGODP不仅从用户偏好出发为其预取合适量的数据,而且从服务器角度出发,对于Client/ Server模式下的数据访问提出全局合作的方法,以大幅度提高服务质量.另外,MGODP提供了移动客户端和服务器之间平衡工作负载的合作机制,合理分配系统资源,保障系统性能.通过一系列实验可以看出,MGODP方法能够很好地满足不同用户的需求,并通过全局合作和负载均衡机制在保证用户性能需求的前提下,尽可能地减小对电池电量和网络带宽的消耗.
2006, 17(3):620-627.
摘要:面向Aspect软件设计是一种新的软件设计思想和技术.分析了近年来操作系统贯穿特性与Aspect概念,构件重构、系统演化与设计,系统安全、性能检测与容错这3个方面的研究成果,指出面向Aspect操作系统研究已经获得了积极的成果.但是,目前的研究缺乏一定的深度和广度,尚没有在操作系统的设计阶段运用AOP(Aspect-Oriented operating)思想的成果出现.在已有操作系统代码中抽象Aspect的过程中,缺乏完整的工程化和规范化的研究.这些问题的解决有赖于面向Aspect研究的进一步深入.最后,对面向Aspect操作系统研究的前景进行展望,认为有关AOSD(Aspect-Oriented software development)的研究有可能对未来操作系统的发展产生重大影响.
2004, 15(zk):157-163.
摘要:给出了一种基于ELF目标文件生成二进制可复用软件构件的方法,并在EOS领域作了初步尝试.与其它软件构件封装技术相比较.从ELF目标文件生成可复用二进制软件构件(称作CELF格式)的过程更为直接.为解决原ELF格式中名字冲突问题,非安全指令问题以及来源信任问题,分别采用了接口元素名称再鳊码、源指令流扫描及MD5文摘生成技术.可复用的EOS构件中包含源ELF文件的代码及数据,改进了其中符号表和重定位信息组织,独立部署、参与组装的可能性得到增强.