【技术实现步骤摘要】
软件自动分割方法、系统、存储介质、计算机设备、终端
本专利技术属于应用程序安全区划分
,尤其涉及一种软件自动分割方法、系统、存储介质、计算机设备、终端。
技术介绍
目前,应用程序越来越多地部署在不完全可信的第三方数据中心和公共云环境中,例如AmazonAWS和MicrosoftAzure。这对云数据中心提出了非常高的要求,云数据中心必须保护敏感数据免受具有最高权限的攻击者(例如系统管理员)的攻击。使用加密技术来保护敏感数据对可以执行的操作有比较大的限制,全同态加密技术虽然允许用户进行任意操作,但会产生较大的计算开销。在不受信任的环境中保护应用程序的新方向是使用现代CPU提供的可信执行机制,例如Intel的SoftwareGuardExtensions(SGX)。使用IntelSGX,用户可以在安全区(Enclave)中对数据进行任意操作并受到保护。安全区是一个独立的内存区域,由硬件透明地加密,并与系统的其他部分(包括更高权限的系统软件)隔离。在过去十年中,在隔离且可信的环境中执行敏感代码的主题引起了许多研究人员 ...
【技术保护点】
1.一种软件自动分割方法,其特征在于,所述软件自动分割方法即MulTEE分区框架,首先注释安全敏感的应用程序数据;然后,MulTEE会自动将应用程序划分为不受信任的模块和多个安全的模块,每一个安全模块都是该敏感数据的最小程序切片,使用后向数据流分析来识别可能影响敏感数据机密性的代码,使用前向切片来识别可能影响敏感数据完整性的代码;最后,将对安全敏感的模块放置在安全区内,以保护其免受攻击。/n
【技术特征摘要】
1.一种软件自动分割方法,其特征在于,所述软件自动分割方法即MulTEE分区框架,首先注释安全敏感的应用程序数据;然后,MulTEE会自动将应用程序划分为不受信任的模块和多个安全的模块,每一个安全模块都是该敏感数据的最小程序切片,使用后向数据流分析来识别可能影响敏感数据机密性的代码,使用前向切片来识别可能影响敏感数据完整性的代码;最后,将对安全敏感的模块放置在安全区内,以保护其免受攻击。
2.如权利要求1所述的软件自动分割方法,其特征在于,所述软件自动分割方法进一步包括:
第一步,预处理器将输入的源代码文件集,将所有的源代码文件转换为LLVM汇编码并链接为单个文件;标注需要保护的安全敏感变量列表以及变量所在的函数名称;
第二步,在预处理器得到中间文件的基础上进行分析,识别出与用户指定的安全敏感变量相关的代码集;
第三步,根据用户的安全性需求,使用关联性分析将部分信息量近似的敏感变量划分到同一个安全区中;
第四步,被标记并在SDG传播过程中污染的代码,并经过关联性分析进行了分组;未受污染的代码,通过在上下文下的污点定义,组安全切片或普通切片,分别在安全区内和安全区外部署。
3.如权利要求1所述的软件自动分割方法,其特征在于,所述第一步还包括:预处理器输入两类数据:(1)一组源代码文件集,记为F={f1,f2,...,fn},预处理器会将所有的源代码文件转换为LLVM汇编码并链接为单个文件;(2)必须保护的安全敏感变量列表以及变量所在的函数名称,记为S={s1,s2,...,sn},进行标注;
所述第二步还包括:使用自动化符号程序切片识别安全敏感变量的数据流和控制流依赖,函数集包含安全敏感变量的定义语句,在切片分析的过程中不断进行扩充,为获得最小化的程序子集,将切片规则定义如下:
当程序从n执行到m时,跟踪程序的数据流,规则(1)表示应追踪秘密引用的传播;规则(2)表示在秘密引用作为函数调用的参数时需要跟踪函数其他参数的传播;规则(3)表示秘密引用作为函数调用的参数时需要跟踪函数的返回值传播;规则(4)表明,在任何秘密的引用解除引用时,需要跟踪秘密及其引用;
使用llvm-slicing--一个静态程序切片框架来确定系统依赖图SDG中敏感信息的传播,依次单独对{s}中的敏感变量进行传播分析,将得到的敏感变量集记为在迭代期间不断变化,当及其引用集不再发生变化时停止分析,获得大量潜在的敏感函数。
4.如权利要求1所述的软件自动分割方法,其特征在于,所述第三步还包括:表示敏感变量A覆盖到的所有敏感变量p的集合,表示敏感变量A传播的所有代码的集合;
定义1:相似度函数sim(x,y)是将变量x,y映射到[0,1]中的数字,测量x和y之间的相似度的函数,sim(x,y)=1对应于对象x,y相同,而sim(x,y)=0对应于非常不同的对象;
使用信息检索中使用的Jaccard相似系数作为相似性度量:
使用一个关联性阈值ρ∈[0,sim(s1,s2)max]作为是否将变量划分到同一个分组的标准,关联性阈值代表软件的使用者愿意牺牲多大的性能换取系统的安全性;sim(s1,s2)≥ρ时,将s1,s2划分至同一个安全区分组,sim(s1,s2)<ρ时,则将s1,s2划分至不同的安全区分组,在划分过程中会遇到不同变量的切片之间存在重叠部分;在ρ=sim(s1,s2)max时,自动分割方案将每一个秘密存放到单独的安全区中;在ρ=0时,最终架构会退化为威胁模型中的架构。
5.如权利要求1所述的软件自动分割方法,其特征在于,所述第四步还包括:程序切片器根据变量关联性分析获得的结果进行程序的切片和部署,程序切片器将安全通信代码注入到需要与另一个切...
【专利技术属性】
技术研发人员:李兴华,张晓涵,石志远,杨超,杨力,柯海娟,智一方,潘晓波,马建峰,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。