【技术实现步骤摘要】
检测隐私数据泄漏的方法
[0001]本公开实施例属于计算机
,尤其涉及针对能够在可信执行环境中运行的应用程序检测隐私数据泄漏的方法、针对侧信道攻击的检测应用程序数据泄漏的方法、以及将应用程序部署到可信执行环境的方法。
技术介绍
[0002]可信执行环境(Trusted Execution Environment,TEE)是隐私计算的解决方式。TEE是基于CPU硬件的安全扩展,且与外部完全隔离。TEE最早是由Global Platform提出的概念,用于解决移动设备上资源的安全隔离,平行于操作系统为应用程序提供可信安全的执行环境。随着技术的发展,TEE相比于最初提出的概念已经是更加广义的TEE。例如,服务器芯片厂商Intel、AMD等都先后推出了硬件辅助的TEE并丰富了TEE的概念和特性。现在提起的TEE通常更多指这类硬件辅助的TEE技术。不同于移动端,云端访问需要远程访问,终端用户对硬件平台不可见,因此使用TEE的第一步就是要确认TEE的真实可信。因此现在的TEE技术都引入了远程证明机制,由硬件厂商(主要是CPU厂商)背书并通过数字签名技术确保用户对TEE状态可验证。同时仅仅是安全的资源隔离也无法满足的安全需求,进一步的数据隐私保护也被提出。包括Intel SGX、AMD SEV在内的商用TEE也都提供了内存加密技术,将可信硬件限定在CPU内部,总线和内存的数据均是密文防止恶意用户进行窥探。例如,英特尔的软件保护扩展(SGX)等TEE技术隔离了代码执行、远程证明、安全配置、数据的安全存储以及用于执行代码的可信路 ...
【技术保护点】
【技术特征摘要】
1.一种针对能够在可信执行环境中运行的应用程序检测隐私数据泄漏的方法,包括:确定所述应用程序的隐私数据输入源;确定所述应用程序与所述可信执行环境之外进行交互的外部事件;运行测试用例,并记录在各测试用例中所述应用程序的隐私数据输入的信息和外部事件的信息;以及根据记录的隐私数据输入的信息和外部事件的信息计算隐私数据输入和外部事件之间的关联程度,并根据所述关联程度确定是否存在通过外部事件泄漏隐私数据输入的可能性。2.根据权利要求1所述的方法,还包括:根据用户的指定确定所述隐私数据输入源。3.根据权利要求1所述的方法,其中,所述隐私数据输入源包括以下中的至少一个:所述应用程序的输入参数中的隐私数据;所述应用程序在运行中会读取的文件中的隐私数据;和所述应用程序在运行中会从网络中获取的隐私数据。4.根据权利要求1所述的方法,其中,所述外部事件包括以下中的至少一个:对所述可信执行环境之外的请求和/或响应;通过网络传输数据;和读写文件。5.根据权利要求4所述的方法,其中,对所述可信执行环境之外的请求和/或响应包括基于HTTP的请求和/或响应。6.根据权利要求1所述的方法,其中,外部事件的信息包括外部事件的内容信息和与外部事件相关的时间信息。7.根据权利要求1所述的方法,还包括:通过模糊测试技术生成测试用例。8.根据权利要求1所述的方法,还包括:通过在所述应用程序的代码中插桩来记录在各测试用例中所述应用程序的外部事件的信息。9.根据权利要求1所述的方法,还包括:通过计算隐私数据输入和外部事件之间的互信息来计算隐私数据输入和外部事件之间的关联程度。10.根据权利要求9所述的方法,其中,根据如下公式计算隐私数据输入x和外部事件y之间的互信息IFStrength(x,y,V
x
,V
y
):IFStrength(x,y,V
x
,V
y
)=H(x,V
x
)
‑
H(x|y,V
x
,V
y
),其中,Vx是隐私数据输入x的值域空间,Vy是外部事件y的值域空间,H(x,V
x
)是隐私数据输入x的信息熵,H(x|y,V
x
,V
y
)是在给定外部事件y的条件下隐私数据输入x的条件熵,分别根据如下公式计算:
其中,P(
·
)表示概率函数。11.根据权利要求9所述的方法,还包括:响应于隐私数据输入和外部事件之间的互信息大于阈值,确定为存在通过外部事件泄漏隐私数据输入的可能性。12.根据权利要求1所述的方法,还包括:响应于确定为存在通过外部事件泄漏隐私数据输入的可能性,输出隐私数据泄漏的检测报告。13.根据权利要求1所述的方法,其中,所述可信执行环境在区块链网络中的链上节点设备中实现,所述应用程序为将要被部署在区块链网络中的智能合约。14.根据权利要求1所述的方法,其中,所述可信执行环境在区块链网络之外的链下节点设备中实现,所述链下节点设备被配置为响应于区块链网络的请求,在所述可信执行环境中进行隐私计算,并将计算结果返回给所述区块链网络。15.一种针对侧信道攻击的检测应用程序数据泄漏的方法,包括:通过模糊测试技术生成针对所述应用程序的测试用例;确定所述应用程序在运行期间能够产生的外部事件;在所述应用程序的代码中进行插桩以记录外部事件的信息;运行测试用例,并记录在各测试用例中所述应用程序的数据输入的信息和外部事件的信息;以及根据记录的数据输入的信息和外部事件的信息计算数据输入和外部事件之间的关联程度,并根据所述关联程度确定是否存在通过外部事件泄漏数据输入的可能性。16.根据权利要求15所述的方法,其中,所述外部事件包括以下中的至少一个:对所述应用程序之外的请求和/或响应;通过网络传输数据;和读写文件。17.根据权利要求16所述的方法,其中,对所述应用程序之外的请求和/或响应包括基于HTTP的请求和/或响应。18.根据权利要求15所述的方法,其中,外部事件的信息包括外部事件的内容信息和与外部事件相关的时间信息。19.根据权利要求15所述的方法,还包括:通过计算数据输入和外部事件之间的互信息来计算数据输入和外部事件之间的关联程度。20.根据权利要求19所述的方法,其中,根据如下公式计算数据输入x和外部事件y之间的互信息IFStrength(x,y,V
x
,V
y
):IFStrength(x,y,V
x
,V
y
)=H(x,V
x
)
‑
H(x|y,V
x
,V
y
),其中,...
【专利技术属性】
技术研发人员:王海军,吴行行,邬萌,邱鸿霖,余逸荣,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。