CN104778419A - 云环境下基于动态数据流跟踪的用户隐私数据保护方法 - Google Patents

云环境下基于动态数据流跟踪的用户隐私数据保护方法 Download PDF

Info

Publication number
CN104778419A
CN104778419A CN201510176313.7A CN201510176313A CN104778419A CN 104778419 A CN104778419 A CN 104778419A CN 201510176313 A CN201510176313 A CN 201510176313A CN 104778419 A CN104778419 A CN 104778419A
Authority
CN
China
Prior art keywords
data
cloud service
stain
user
service program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510176313.7A
Other languages
English (en)
Inventor
金海�
羌卫中
宁炜
邹德清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201510176313.7A priority Critical patent/CN104778419A/zh
Publication of CN104778419A publication Critical patent/CN104778419A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种云环境下基于动态数据流跟踪的用户隐私数据保护方法,包括:在云端把数据流跟踪程序部署到云服务程序中去;接收包含用户隐私数据和隐私策略的用户请求;在开始运行云服务之前,启动数据流跟踪程序,采用动态插桩技术,把数据流跟踪程序中的污点数据引入代码插入到云服务程序中,建立污点标签映射集,为隐私数据添加对应的污点标签;把数据流跟踪程序中的污点数据传播代码插入到云服务程序中,跟踪隐私数据在云服务程序中的流动。本发明能够实时跟踪云服务程序中用户隐私数据的流向,同时引入隐私策略机制使得云端能代替用户来判断云服务程序行为是否会泄露用户隐私数据,从而在处理用户隐私数据的时候保护用户隐私数据不被泄露。

Description

云环境下基于动态数据流跟踪的用户隐私数据保护方法
技术领域
本发明属于云计算和计算机系统安全领域,更具体地,涉及一种云模式下基于动态数据流跟踪的用户隐私数据保护方法。
背景技术
现今云计算是一个热门的字眼,在云模式下,服务提供商把服务部署在云端,而用户把数据上传到云端来使用服务。一般来说,云模式下包含三部分:云基础设施提供商(简称云提供商)、云服务提供商和用户。云服务提供商把他们的云服务程序部署在云提供商的云端;用户要使用云服务,需把其隐私数据上传给云服务,而云服务被部署在云端,也就是说用户是把他们的隐私数据间接地上传到了云端;然而用户只和云服务提供商交互,却不知道云提供商的存在。
随着云计算的普及,企业用户和个人用户越来越依赖云,它们把隐私数据存储在云端,并在云端处理这些隐私数据。这样,它们失去了对其隐私数据的控制。在这种模式下,数据保密性成为日益关注的问题。由于缺少可选择的方案(而不是根本不用云服务),大多数用户最终信任云服务提供商能保护好他们的隐私数据。
不幸的是,仅仅依靠信誉良好的云服务提供商并不能减轻泄露数据的风险。大多数功能丰富的云服务是很复杂的,通常包含很多组件。代码中的bug和漏洞、错误配置和关于组件间交互的错误假设、甚至访问证书的粗心处理这种小事故,都会导致隐私数据的泄露,或者使得整个系统容易受到数据窃贼的攻击。另外,云计算鼓励快速部署云服务,并且云服务上线的压力有时会使得开发人员不会把数据安全放在首位考虑因素。
一种常用的保护隐私数据的方法就是数据加密。在把隐私数据存储到云端的时候,对隐私数据进行加密,实现云端隐私数据的安全存储。然而,它不能解决在云端处理隐私数据的时候所带来的安全问题,因为隐私数据在处理之前必须先被解密,在处理隐私数据的过程中隐私数据依然存在被泄露的危险。
动态数据流跟踪是另一种保护用户隐私数据的方法。该技术包含三个步骤:污点数据引入、污点数据传播、污点数据检查。这种技术为隐私数据添加污点标签(污点数据引入),并跟踪污点数据在程序中的流向(污点数据传播),最后在可能泄露数据的地方检查是否有污点数据(污点数据检查)。在传统环境下,隐私数据是在用户自己的机器上处理的,当应用数据流跟踪技术发现在污点数据检查点包含污点数据时,是交由用户自己判断接下来的操作,是终止程序还是继续运行都由用户决定。然而在云模式下,隐私数据一旦上传到云端就不在受用户控制了,此时云端也无法代替用户来判断处理用户隐私数据的云服务程序行为是否会泄露用户隐私数据。这里,云端就缺乏一种机制,使得云端能理解用户隐私数据的隐私性,进而根据用户的意志,来代替用户执行判断云服务程序行为是否会泄露其隐私数据的操作。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种云环境下基于动态数据流跟踪的用户隐私数据保护方法,其目的在于,通过结合动态数据流跟踪技术和隐私策略机制,使得云端在处理用户隐私数据的时候跟踪用户隐私数据的流向,同时根据用户的隐私策略代替用户来判断云服务程序行为是否会泄露用户隐私数据,达到在处理用户隐私数据的时候保护用户隐私数据不被泄露,从而提高云的隐私性。
为实现上述目的,按照本发明的一个方面,提供了一种云环境下基于动态数据流跟踪的用户隐私数据保护方法,是应用在提供云服务的云端中,所述方法包括以下步骤:
(1)在云端,将数据流跟踪程序部署到云服务程序中;具体而言,通过使用动态插桩技术将数据流跟踪程序插入到云端的云服务程序中;
(2)接收来自用户的云服务请求,并判断该云服务请求是用户请求上传隐私数据还是用户请求上传隐私策略,如果是用户请求上传隐私数据,则转入步骤(3),否则转入步骤(6);
(3)启动数据流跟踪程序,将存储在云服务程序的内存地址中的用户的隐私数据、以及存储在CPU寄存器中的用户的隐私数据标记为污点数据;
(4)根据云服务程序中执行的指令的语义来传播污点数据的污点标签,进而跟踪污点数据的流向;
(5)随着云服务程序的运行,在执行数据流出云服务程序的指令之前,判断流出的数据是否有污点数据,如果有,则转入步骤(6),否则转入步骤(7);
(6)载入步骤(2)中的云服务请求中的隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入步骤(7),否则转入步骤(8);
(7)执行数据流出云服务程序的指令;
(8)结束云服务程序和数据流跟踪程序。
优选地,隐私数据包括与用户相关的账户、密码信息,以及用户需要存储的数据,隐私策略的内容包括云端能存储隐私数据的数据容器的集合。
优选地,步骤(3)具体为,针对用户的数据,给这些数据增加一个污点标签,如果污点标签的值为1,则表示这些数据是隐私数据,属于污点数据;如果污点标签的值为0,则表示这些数据不是隐私数据,不属于污点数据。
优选地,步骤(3)包括以下子步骤:
(3-1)启动数据流跟踪程序,在云服务程序开始执行之前,采用动态插桩技术,把数据流跟踪程序中的污点数据引入代码插入到云服务程序中。
(3-2)数据流跟踪程序中的污点数据引入代码建立一个污点标签映射集,该污点标签映射集包含进程数据结构和线程数据结构,前者用于记录存储在隐私数据所在的云服务程序的内存地址中的隐私数据的污点标签,后者用于记录存储在隐私数据所在的CPU寄存器中的隐私数据的污点标签,这些污点标签与所有的隐私数据之间存在一一对应的映射关系。
优选地,步骤(3-2)中污点标签和隐私数据之间的映射关系包括以下2个方面:
(3-2-1)对于存储在云服务程序内存中的隐私数据而言,所有的污点标签都存储在一个连续、固定大小的结构里面;
(3-2-2)对于存储在CPU寄存器里的隐私数据而言,所有的污点标签都存在一个8字节大小的结构里面。
优选地,步骤(4)包括以下子步骤:
(4-1)采用动态插桩技术,在云服务程序中的与隐私数据相关的指令执行之前,把数据流跟踪程序中的污点数据传播代码插入到云服务程序中。
(4-2)数据流跟踪程序中的污点数据传播代码判断源操作数是否有污点数据;
(4-3)数据流跟踪程序中的污点数据传播代码执行完后,则继续执行原来云服务程序中的指令。
优选地,步骤(5)包括以下子步骤:
(5-1)在数据流出云服务程序的指令执行前,采用动态插桩技术,把数据流跟踪程序中的污点数据检查代码插入到云服务程序中。
(5-2)数据流跟踪程序中的污点数据检查代码判断这些将流出云服务程序的数据是否有污点数据;如果有,则转入步骤(6),否则转入步骤(7)。
优选地,步骤(6)包括以下子步骤:
(6-1)获取步骤(2)中的云服务请求中的隐私策略;
(6-2)载入该隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入步骤(7),否则转入步骤(8)。
按照本发明的另一方面,提供了一种云环境下基于动态数据流跟踪的用户隐私数据保护系统,是应用在提供云服务的云端中,所述系统包括:
第一模块,用于在云端,将数据流跟踪程序部署到云服务程序中;具体而言,通过使用动态插桩技术将数据流跟踪程序插入到云端的云服务程序中;
第二模块,用于接收来自用户的云服务请求,并判断该云服务请求是用户请求上传隐私数据还是用户请求上传隐私策略,如果是用户请求上传隐私数据,则转入第三模块,否则转入第六模块;
第三模块,用于启动数据流跟踪程序,将存储在云服务程序的内存地址中的用户的隐私数据、以及存储在CPU寄存器中的用户的隐私数据标记为污点数据;
第四模块,用于根据云服务程序中执行的指令的语义来传播污点数据的污点标签,进而跟踪污点数据的流向;
第五模块,用于随着云服务程序的运行,在执行数据流出云服务程序的指令之前,判断流出的数据是否有污点数据,如果有,则转入第六模块,否则转入第七模块;
第六模块载入第二模块中的云服务请求中的隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入第七模块,否则转入第八模块;
第七模块,用于执行数据流出云服务程序的指令;
第八模块,用于结束云服务程序和数据流跟踪程序。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)能够解决现有方法中存在的不能在云端处理用户隐私数据的时候保护用户隐私数据的问题:由于采用了步骤(3)和步骤(4),是在云服务程序处理用户隐私数据的时候,把用户隐私数据标记为污点数据并跟踪用户隐私数据的流向,因此能实现在云端处理用户隐私数据的时候保护用户隐私数据。
(2)能够解决现有方法中存在的云端不能代替用户来判断云服务程序行为是否会泄露用户隐私数据的问题:由于采用了步骤(6)、步骤(7)和步骤(8),在隐私数据将要流出云服务程序的时候,根据用户的隐私策略来判断云服务程序行为是否会泄露用户隐私数据,进而决定是否让这些隐私数据流出云服务程序,因此能实现云端代替用户来进行判断云服务程序行为是否会泄露用户隐私数据的决策行为。
(3)实时跟踪隐私数据:采用动态数据流跟踪技术,在程序的运行过程中对用户隐私数据进行跟踪,能实时地获取程序运行环境等信息,并根据这些信息以及用户隐私策略,分析判断是否会泄露用户隐私数据。
附图说明
图1是本发明云环境下基于动态数据流跟踪的用户隐私数据保护方法的应用环境图。
图2是本发明云环境下基于动态数据流跟踪的用户隐私数据保护方法的流程图。
图3是本发明方法中步骤(3)的细化流程图。
图4是本发明方法中步骤(3)的污点标签的结构图。
图5是本发明方法中步骤(4)的细化流程图。
图6是本发明方法中步骤(5)的细化流程图。
图7是本发明方法中步骤(6)的细化流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,云端把数据流跟踪程序部署到云服务程序中去;云端接收包含用户的隐私数据和隐私策略的用户请求;启动数据流跟踪程序,利用动态插桩技术,把污点数据引入、污点数据跟踪和污点数据检查的代码插入云服务程序中。跟踪用户的隐私数据在云服务程序中的流向,并根据用户的隐私策略,阻止用户不期望的隐私数据流出云服务程序。
如图2所示,本发明云环境下基于动态数据流跟踪的用户隐私数据保护方法是应用在提供云服务的云端中,并包括以下步骤:
(1)在云端,将数据流跟踪程序部署到云服务程序中;具体而言,通过使用动态插桩技术(Instrumenting)将数据流跟踪程序插入到云端的云服务程序中。
(2)接收来自用户的云服务请求,并判断该云服务请求是用户请求上传隐私数据还是用户请求上传隐私策略,如果是用户请求上传隐私数据,则转入步骤(3),否则转入步骤(6);具体而言,隐私数据包括与用户相关的账户、密码信息,以及用户需要存储的数据等,隐私策略的内容包括云端能存储隐私数据的数据容器的集合等。
(3)启动数据流跟踪程序,将存储在云服务程序的内存地址中的用户的隐私数据、以及存储在CPU寄存器中的用户的隐私数据标记为污点数据;具体而言,就是针对用户的数据,给这些数据增加一个污点标签(污点标签的值只有2个:0和1),如果污点标签的值为1,则表示这些数据是隐私数据,属于污点数据;如果污点标签的值为0,则表示这些数据不是隐私数据,不属于污点数据。
如图3所示,本步骤包括以下子步骤:
(3-1)启动数据流跟踪程序,在云服务程序开始执行之前,采用动态插桩技术,把数据流跟踪程序中的污点数据引入代码插入到云服务程序中。
(3-2)数据流跟踪程序中的污点数据引入代码建立一个污点标签映射集,该污点标签映射集包含进程数据结构和线程数据结构,前者用于记录存储在隐私数据所在的云服务程序的内存地址中的隐私数据的污点标签(其初始值均设置为0),后者用于记录存储在隐私数据所在的CPU寄存器中的隐私数据的污点标签(其初始值均设置为0),这些污点标签与所有的隐私数据之间存在一一对应的映射关系;开始污点标签映射集中的初始值均设为0,表示所对应的数据不是污点数据,即不是隐私数据;然后,根据隐私数据设置污点标签映射集中对应的数据结构;具体而言,根据映射关系,把存在于云服务程序内存中的隐私数据对应的污点标签映射集中的污点标签的值设置为1,以及把存在于CPU寄存器中的隐私数据对应的污点标签映射集中的污点标签的值设置为1。
如图4所示,本发明方法的步骤(3-2)中污点标签和隐私数据之间的映射关系包括以下2个方面:
(3-2-1)对于存储在云服务程序内存中的隐私数据而言,所有的污点标签都存储在一个连续、固定大小的结构里面(名字叫bitmap);因为针对的是32位的x86系统,内存大小为4GB,操作系统一般会保留1GB的内存来留给内核使用,云服务程序可以使用的内存大小就剩下3GB,而我们使用bitmap结构里的一个bit来代表一个byte大小的存储在内存中的数据的污点标签,所以bitmap的大小只需要384MB就够用了,为了方便,把bitmap的大小设置为500MB;设vaddr为隐私数据所在云服务程序中的内存地址的值;设tval为隐私数据所对应的在污点标签映射集中的污点标签的值;设MASK的值为0x1、0x3、0xF,分别代表一个字节(byte)的隐私数据的污点标签的值、一个字(word)的隐私数据的污点标签的值、一个双字(double word)的隐私数据的污点标签的值;那么隐私数据的污点标签的值和隐私数据所在的内存地址的值的映射关系为:tval=bitmap[vaddr>>3]&(MASK<<(vaddr&0x7));具体而言,bitmap[vaddr>>3]表示隐私数据的污点标签所在的bitmap中的字节的索引(byte index),这里使用的是vaddr的前29位来作为字节索引;vaddr&0x7表示隐私数据的污点标签所在的bitmap里字节的位偏移量(bit offset),这里使用的是vaddr的最后3位作为位偏移量;MASK表示的是要获取的污点标签的值是一个字节、还是一个字、抑或是一个双字的隐私数据的污点标签的值。
(3-2-2)对于存储在CPU寄存器里的隐私数据而言,所有的污点标签都存在一个8字节(byte)大小的结构里面(vcpu);因为针对的是x86架构下的8个通用寄存器(GPRs),每个通用寄存器存储的数据的大小是32bits,所以vcpu只需4个bit就可以存储存在一个通用寄存器中的隐私数据的污点标签;为了方便,用一个byte的后4个bit来存储存在一个通用寄存器中的隐私数据的污点标签,所以vcpu的大小为8bytes,分别对应8个通用寄存器;具体而言,用R0-R7表示vcpu的8个byte,映射关系为:R0->EDI、R1->ESI、R2->EBP、R3->ESP、R4->EBX、R5->EDX、R6->ECX、R7->EAX。
(4)根据云服务程序中执行的指令的语义来传播污点数据的污点标签,进而跟踪污点数据的流向;具体而言,当源操作数中包含的污点数据被复制到目标操作数或者被修改过后传给目标操作数,则源操作数中包含的污点数据对应的污点标签会被传播给目标操作数对应的污点标签。
如图5所示,本步骤包括以下子步骤:
(4-1)采用动态插桩技术,在云服务程序中的与隐私数据相关的指令(如,数据拷贝、计算、异或等指令)执行之前,把数据流跟踪程序中的污点数据传播代码插入到云服务程序中。
(4-2)数据流跟踪程序中的污点数据传播代码判断源操作数是否有污点数据,具体而言,通过源操作数对应的污点标签映射集中的污点标签的值是否为1来判断;如果为1,表示源操作数包含污点数据,则把目标操作数对应的污点标签映射集中的污点标签的值设置为1,以此实现污点数据传播;如果不为1,表示源操作数不包含污点数据,则不作任何处理。
(4-3)数据流跟踪程序中的污点数据传播代码执行完后,则继续执行原来云服务程序中的指令。
(5)随着云服务程序的运行,在执行数据流出云服务程序的指令之前,判断流出的数据是否有污点数据,如果有,则转入步骤(6),否则转入步骤(7)。
如图6所示,本步骤包括以下子步骤:
(5-1)在数据流出云服务程序的指令执行前,采用动态插桩技术,把数据流跟踪程序中的污点数据检查代码插入到云服务程序中。
(5-2)数据流跟踪程序中的污点数据检查代码判断这些将流出云服务程序的数据是否有污点数据(判断依据同步骤(4-2));如果有,则转入步骤(6),否则转入步骤(7)。
(6)载入步骤(2)中的云服务请求中的隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入步骤(7),否则转入步骤(8)。
如图7所示,本步骤包括以下子步骤:
(6-1)获取步骤(2)中的云服务请求中的隐私策略。
(6-2)载入该隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;具体而言,隐私策略的内容是云端能存储隐私数据的数据容器的集合,然后判断隐私数据将流出云服务程序后所到的数据容器是否属于隐私策略中的数据容器的集合,如果属于,则允许这些隐私数据流出云服务程序,转入步骤(7),否则转入步骤(8)。
(7)执行数据流出云服务程序的指令。
(8)结束云服务程序和数据流跟踪程序。
总而言之,本发明具有以下的优点和有益效果:
(1)能够解决现有方法中存在的不能在云端处理用户隐私数据的时候保护用户隐私数据的问题:由于采用了步骤(3)和步骤(4),是在云服务程序处理用户隐私数据的时候,把用户隐私数据标记为污点数据并跟踪用户隐私数据的流向,因此能实现在云端处理用户隐私数据的时候保护用户隐私数据。
(2)能够解决现有方法中存在的云端不能代替用户来判断云服务程序行为是否会泄露用户隐私数据的问题:由于采用了步骤(6)、步骤(7)和步骤(8),在隐私数据将要流出云服务程序的时候,根据用户的隐私策略来判断云服务程序行为是否会泄露用户隐私数据,进而决定是否让这些隐私数据流出云服务程序,因此能实现云端代替用户来进行判断云服务程序行为是否会泄露用户隐私数据的决策行为。
(3)实时跟踪隐私数据:采用动态数据流跟踪技术,在程序的运行过程中对用户隐私数据进行跟踪,能实时地获取程序运行环境等信息,并根据这些信息以及用户隐私策略,分析判断是否会泄露用户隐私数据。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种云环境下基于动态数据流跟踪的用户隐私数据保护方法,是应用在提供云服务的云端中,其特征在于,所述方法包括以下步骤:
(1)在云端,将数据流跟踪程序部署到云服务程序中;具体而言,通过使用动态插桩技术将数据流跟踪程序插入到云端的云服务程序中;
(2)接收来自用户的云服务请求,并判断该云服务请求是用户请求上传隐私数据还是用户请求上传隐私策略,如果是用户请求上传隐私数据,则转入步骤(3),否则转入步骤(6);
(3)启动数据流跟踪程序,将存储在云服务程序的内存地址中的用户的隐私数据、以及存储在CPU寄存器中的用户的隐私数据标记为污点数据;
(4)根据云服务程序中执行的指令的语义来传播污点数据的污点标签,进而跟踪污点数据的流向;
(5)随着云服务程序的运行,在执行数据流出云服务程序的指令之前,判断流出的数据是否有污点数据,如果有,则转入步骤(6),否则转入步骤(7);
(6)载入步骤(2)中的云服务请求中的隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入步骤(7),否则转入步骤(8);
(7)执行数据流出云服务程序的指令;
(8)结束云服务程序和数据流跟踪程序。
2.根据权利要求1所述的用户隐私数据保护方法,其特征在于,隐私数据包括与用户相关的账户、密码信息,以及用户需要存储的数据,隐私策略的内容包括云端能存储隐私数据的数据容器的集合。
3.根据权利要求1所述的用户隐私数据保护方法,其特征在于,步骤(3)具体为,针对用户的数据,给这些数据增加一个污点标签,如果污点标签的值为1,则表示这些数据是隐私数据,属于污点数据;如果污点标签的值为0,则表示这些数据不是隐私数据,不属于污点数据。
4.根据权利要求1所述的用户隐私数据保护方法,其特征在于,步骤(3)包括以下子步骤:
(3-1)启动数据流跟踪程序,在云服务程序开始执行之前,采用动态插桩技术,把数据流跟踪程序中的污点数据引入代码插入到云服务程序中。
(3-2)数据流跟踪程序中的污点数据引入代码建立一个污点标签映射集,该污点标签映射集包含进程数据结构和线程数据结构,前者用于记录存储在隐私数据所在的云服务程序的内存地址中的隐私数据的污点标签,后者用于记录存储在隐私数据所在的CPU寄存器中的隐私数据的污点标签,这些污点标签与所有的隐私数据之间存在一一对应的映射关系。
5.根据权利要求3所述的用户隐私数据保护方法,其特征在于,步骤(3-2)中污点标签和隐私数据之间的映射关系包括以下2个方面:
(3-2-1)对于存储在云服务程序内存中的隐私数据而言,所有的污点标签都存储在一个连续、固定大小的结构里面;
(3-2-2)对于存储在CPU寄存器里的隐私数据而言,所有的污点标签都存在一个8字节大小的结构里面。
6.根据权利要求5所述的用户隐私数据保护方法,其特征在于,步骤(4)包括以下子步骤:
(4-1)采用动态插桩技术,在云服务程序中的与隐私数据相关的指令执行之前,把数据流跟踪程序中的污点数据传播代码插入到云服务程序中。
(4-2)数据流跟踪程序中的污点数据传播代码判断源操作数是否有污点数据;
(4-3)数据流跟踪程序中的污点数据传播代码执行完后,则继续执行原来云服务程序中的指令。
7.根据权利要求6所述的用户隐私数据保护方法,其特征在于,步骤(5)包括以下子步骤:
(5-1)在数据流出云服务程序的指令执行前,采用动态插桩技术,把数据流跟踪程序中的污点数据检查代码插入到云服务程序中。
(5-2)数据流跟踪程序中的污点数据检查代码判断这些将流出云服务程序的数据是否有污点数据;如果有,则转入步骤(6),否则转入步骤(7)。
8.根据权利要求7所述的用户隐私数据保护方法,其特征在于,步骤(6)包括以下子步骤:
(6-1)获取步骤(2)中的云服务请求中的隐私策略;
(6-2)载入该隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入步骤(7),否则转入步骤(8)。
9.一种云环境下基于动态数据流跟踪的用户隐私数据保护系统,是应用在提供云服务的云端中,其特征在于,所述系统包括:
第一模块,用于在云端,将数据流跟踪程序部署到云服务程序中;具体而言,通过使用动态插桩技术将数据流跟踪程序插入到云端的云服务程序中;
第二模块,用于接收来自用户的云服务请求,并判断该云服务请求是用户请求上传隐私数据还是用户请求上传隐私策略,如果是用户请求上传隐私数据,则转入第三模块,否则转入第六模块;
第三模块,用于启动数据流跟踪程序,将存储在云服务程序的内存地址中的用户的隐私数据、以及存储在CPU寄存器中的用户的隐私数据标记为污点数据;
第四模块,用于根据云服务程序中执行的指令的语义来传播污点数据的污点标签,进而跟踪污点数据的流向;
第五模块,用于随着云服务程序的运行,在执行数据流出云服务程序的指令之前,判断流出的数据是否有污点数据,如果有,则转入第六模块,否则转入第七模块;
第六模块载入第二模块中的云服务请求中的隐私策略,根据该隐私策略来判断是否允许这些隐私数据流出云服务程序;如果允许,则转入第七模块,否则转入第八模块;
第七模块,用于执行数据流出云服务程序的指令;
第八模块,用于结束云服务程序和数据流跟踪程序。
CN201510176313.7A 2015-04-15 2015-04-15 云环境下基于动态数据流跟踪的用户隐私数据保护方法 Pending CN104778419A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510176313.7A CN104778419A (zh) 2015-04-15 2015-04-15 云环境下基于动态数据流跟踪的用户隐私数据保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510176313.7A CN104778419A (zh) 2015-04-15 2015-04-15 云环境下基于动态数据流跟踪的用户隐私数据保护方法

Publications (1)

Publication Number Publication Date
CN104778419A true CN104778419A (zh) 2015-07-15

Family

ID=53619874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510176313.7A Pending CN104778419A (zh) 2015-04-15 2015-04-15 云环境下基于动态数据流跟踪的用户隐私数据保护方法

Country Status (1)

Country Link
CN (1) CN104778419A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105677426A (zh) * 2016-01-12 2016-06-15 上海斐讯数据通信技术有限公司 一种Java代码中数据流的跟踪装置和方法
CN105827644A (zh) * 2016-05-17 2016-08-03 努比亚技术有限公司 一种实现密码信息处理的方法及终端
CN106503580A (zh) * 2016-10-13 2017-03-15 深圳市金立通信设备有限公司 一种隐私数据的保护方法及终端
WO2017114209A1 (zh) * 2015-12-31 2017-07-06 阿里巴巴集团控股有限公司 一种标签数据泄漏渠道检测方法及装置
CN107832628A (zh) * 2017-10-31 2018-03-23 努比亚技术有限公司 隐私信息保护方法、移动终端及计算机可读存储介质
CN108234488A (zh) * 2017-12-29 2018-06-29 北京长御科技有限公司 一种文件跟踪方法及装置
CN113220525A (zh) * 2021-04-28 2021-08-06 杭州孝道科技有限公司 一种跨应用的动态污点跟踪方法
US11416631B2 (en) 2020-08-05 2022-08-16 International Business Machines Corporation Dynamic monitoring of movement of data
CN114969832A (zh) * 2022-07-28 2022-08-30 天聚地合(苏州)科技股份有限公司 一种基于无服务器架构的隐私数据管理方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440201A (zh) * 2013-09-05 2013-12-11 北京邮电大学 动态污点分析装置及其在文件格式逆向解析中的应用
CN104365122A (zh) * 2012-04-24 2015-02-18 高通股份有限公司 基于接近度和隐私控制来传送相关用户信息的系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104365122A (zh) * 2012-04-24 2015-02-18 高通股份有限公司 基于接近度和隐私控制来传送相关用户信息的系统
CN103440201A (zh) * 2013-09-05 2013-12-11 北京邮电大学 动态污点分析装置及其在文件格式逆向解析中的应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VISILIS PAPPAS ETAL: "Data Flow Tracking as a Cloud Service", 《SPRINGER》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017114209A1 (zh) * 2015-12-31 2017-07-06 阿里巴巴集团控股有限公司 一种标签数据泄漏渠道检测方法及装置
US10678946B2 (en) 2015-12-31 2020-06-09 Alibaba Group Holding Limited Method and apparatus for detecting label data leakage channel
US11080427B2 (en) 2015-12-31 2021-08-03 Alibaba Group Holding Limited Method and apparatus for detecting label data leakage channel
CN105677426A (zh) * 2016-01-12 2016-06-15 上海斐讯数据通信技术有限公司 一种Java代码中数据流的跟踪装置和方法
CN105827644A (zh) * 2016-05-17 2016-08-03 努比亚技术有限公司 一种实现密码信息处理的方法及终端
CN106503580A (zh) * 2016-10-13 2017-03-15 深圳市金立通信设备有限公司 一种隐私数据的保护方法及终端
CN107832628A (zh) * 2017-10-31 2018-03-23 努比亚技术有限公司 隐私信息保护方法、移动终端及计算机可读存储介质
CN108234488A (zh) * 2017-12-29 2018-06-29 北京长御科技有限公司 一种文件跟踪方法及装置
US11416631B2 (en) 2020-08-05 2022-08-16 International Business Machines Corporation Dynamic monitoring of movement of data
CN113220525A (zh) * 2021-04-28 2021-08-06 杭州孝道科技有限公司 一种跨应用的动态污点跟踪方法
CN114969832A (zh) * 2022-07-28 2022-08-30 天聚地合(苏州)科技股份有限公司 一种基于无服务器架构的隐私数据管理方法和系统

Similar Documents

Publication Publication Date Title
CN104778419A (zh) 云环境下基于动态数据流跟踪的用户隐私数据保护方法
JP7053486B2 (ja) メタデータ処理のための技法
Cloosters et al. {TeeRex}: Discovery and exploitation of memory corruption vulnerabilities in {SGX} enclaves
EP3746921B1 (en) Systems and methods for policy linking and/or loading for secure initialization
US9548986B2 (en) Sensitive data tracking using dynamic taint analysis
US8510827B1 (en) Taint tracking mechanism for computer security
JP6083097B2 (ja) ハードウェア保護アプリケーションのシステム・サービス要求相互作用を容易化する方法
Pappas et al. CloudFence: Data flow tracking as a cloud service
Ji et al. Enabling refinable {Cross-Host} attack investigation with efficient data flow tagging and tracking
US9411964B1 (en) Characterizing, detecting and healing vulnerabilities in computer code
US20180211046A1 (en) Analysis and control of code flow and data flow
EP2962240B1 (en) Performing security operations using binary translation
US20080216175A1 (en) Computational system including mechanisms for tracking taint
US9690946B2 (en) Security analysis using relational abstraction of data structures
US20160210216A1 (en) Application Control Flow Models
US10678711B2 (en) Key-based data security management
US20180189042A1 (en) Systems and/or methods for type inference from machine code
Nagarajan et al. Dynamic information flow tracking on multicores
JP2018508883A (ja) 汚染されているデータをトラッキングするためのメカニズム
Bognar et al. Microprofiler: Principled side-channel mitigation through microarchitectural profiling
Hu et al. Identifying arbitrary memory access vulnerabilities in privilege-separated software
Wichelmann et al. MAMBO–V: Dynamic Side-Channel Leakage Analysis on RISC–V
Ouyang et al. MirrorTaint: Practical Non-intrusive Dynamic Taint Tracking for JVM-based Microservice Systems
CN111898120A (zh) 控制流完整性保护方法及装置
Bakulin et al. Dynamic Diluted Taint Analysis for Evaluating Detected Policy Violations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150715

RJ01 Rejection of invention patent application after publication