CN106156647A - 信息泄露路径跟踪方法和设备 - Google Patents
信息泄露路径跟踪方法和设备 Download PDFInfo
- Publication number
- CN106156647A CN106156647A CN201510161234.9A CN201510161234A CN106156647A CN 106156647 A CN106156647 A CN 106156647A CN 201510161234 A CN201510161234 A CN 201510161234A CN 106156647 A CN106156647 A CN 106156647A
- Authority
- CN
- China
- Prior art keywords
- information
- function
- path
- leakage path
- suspect
- 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.)
- Granted
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供一种信息泄露路径跟踪方法及设备,通过首先对待测对象的函数调用信息进行分析,以获取所有从信息源函数到泄漏点函数之间的可疑路径,然后从信息源函数中输入动态测试信息,并监控可疑路径对应的泄漏点函数的输出信息,与动态测试信息进行比较筛选,以确认所有信息泄露路径,减少误判。
Description
技术领域
本申请涉及通信及计算机领域,尤其涉及信息泄露路径跟踪方法和设备。
背景技术
当前电子设备,尤其是移动终端电子设备及手持终端电子设备,当前每天都有数以万计的针对电子设备的系统软件、应用软件及插件等应用程序涌现到市场中。而用户的各种隐私信息也更多的出现在了电子设备之中,有些恶意应用可以直接接触到用户的隐私信息,从而盗取用户信息。另外,用户的交易信息频繁的出现在了网路之上,如何保证用户密码不泄露、订单信息保密等等都是需要解决的问题。
因此,针对应用程序的信息泄露的跟踪方法及设备,可以有效地提醒用户,个人隐私信息和应用业务信息是如何从哪些渠道泄露出去的,从而让用户甄别筛选可信应用;同时,可以让应用开发者完善自己的程序代码,保护应用业务信息不被泄露。
在现有技术中,TaintDroid(一种动态智能手机监控实时隐私信息流跟踪系统)通过改写系统底层API(Application Programming Interface,应用程序编程接口),对能够接触到用户隐私的方法调用都进行了状态跟踪。它在系统原始镜像ROM(手机系统固件)的基础上,生成一个新的系统镜像ROM。用户使用它时,需要重新覆盖安装整个ROM(也就是刷机),然后在使用app应用时,由系统底层API跟踪程序来监控个人隐私信息泄露。
FlowDroid(一种动态智能手机监控实时隐私信息流跟踪系统)通过静态代码分析,构建应用程序的方法调用树,通过污点传播规则,寻找信息的泄露路径。用户使用它时,输入应用安装文件,输出所有数据的泄露路径。
TaintDroid动态地监控信息泄露,但是不能跟踪给出详细的信息泄露路径,而且只有个人隐私信息的监控,对用户的应用业务信息无从下手。另外,TaintDroid使用起来需要刷机重装ROM,用户体验/机型等都有很多限制。FlowDroid采用静态分析的方法,依靠初始信息定义和污点传播规则,输出信息泄露路径。但是,由于缺少动态监控,存在很多的误判和漏判。
发明内容
本发明的目的是提供一种信息泄露路径跟踪方法和设备,以在无需重装系统尽量减轻系统负担的情况下,降低信息泄露的误判。
有鉴于此,本申请提供一种信息泄露路径跟踪方法,其中,所述方法包括:
获取待测对象的函数调用信息,并提取所述函数调用信息中所有可疑路径;
向每一所述可疑路径输入相应动态测试信息,经所述待测对象动态执行后获取所述可疑路径的输出信息;以及
将所述输出信息与所述动态测试信息进行匹配,根据匹配结果判定所述可疑路径是否为信息泄露路径。
进一步的,获取待测对象的函数调用信息包括:
获取所述待测对象;以及
对所述待测对象进行反编译,以获得所述待测对象的函数调用信息。
进一步的,提取所述函数调用信息中所有可疑路径包括:
提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵;
对所有所述函数进行分类,分为信息源函数、泄露点函数和其他类函数;以及
基于所述函数邻接矩阵,建立关于所述信息源与所述泄露点函数之间连通关系的函数连通矩阵,其中,所述函数连通矩阵包括所述函数调用信息中所有可疑路径。
优选的,在所述函数邻接矩阵中,所述函数之间的邻接关系和不邻接关系采用不同数值标记。
优选的,在所述函数连通矩阵中,所述信息源函数和所述泄露点函数之间的连通关系和不连通关系采用不同数值标记。
优选的,所述信息源函数为读取信息的函数,所述泄露点函数为信息输出的函数。
优选的,所述信息源函数包括个人隐私信息源函数和应用业务信息源函数。
进一步的,将所述输出信息与所述动态测试信息进行匹配包括:
获取所述输出信息;
解析所述输出信息;以及
将所述输出信息与所述动态测试信息进行匹配。
进一步的,解析所述输出信息包括:
获取所述输出信息的密钥;
利用所述密钥对所述输出信息进行解密。
进一步的,根据匹配结果判定所述可疑路径是否为信息泄露路径包括:
当所述输出信息与所述动态测试信息的内容相同时,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容为倒置关系、循环关系或字符顺序打乱关系,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容之间存在线性关系,则判定所述可疑路径为信息泄露路径。
进一步的,所述方法还包括:
记录所述信息泄露路径。
本申请还提供一种信息泄露路径跟踪设备,其中,所述设备包括:
第一装置,用于获取待测对象的函数调用信息,并提取所述函数调用信息中所有可疑路径;
第二装置,用于向每一所述可疑路径输入相应动态测试信息,经所述待测对象动态执行后获取所述可疑路径的输出信息;以及
第三装置,用于将所述输出信息与所述动态测试信息进行匹配,根据匹配结果判定所述可疑路径是否为信息泄露路径。
进一步的,所述第一装置包括:
第一单元,用于获取所述待测对象;以及
第二单元,用于对所述待测对象进行反编译,以获得所述待测对象的函数调用信息。
进一步的,所述第一装置还包括:
第三单元,用于提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵;
第四单元,用于对所有所述函数进行分类,分为信息源函数、泄露点函数和其他类函数;以及
第五单元,基于所述函数邻接矩阵,建立关于所述信息源与所述泄露点函数之间连通关系的函数连通矩阵,其中,所述函数连通矩阵包括所述函数调用信息中所有可疑路径。
进一步的,在所述函数邻接矩阵中,所述函数之间的邻接关系和不邻接关系采用不同数值标记。
优选的,在所述函数连通矩阵中,所述信息源函数和所述泄露点函数之间的连通关系和不连通关系采用不同数值标记。
优选的,所述信息源函数为读取信息的函数,所述泄露点函数为信息输出的函数。
优选的,所述信息源函数包括个人隐私信息源函数和应用业务信息源函数。
进一步的,所述第三装置包括:
第六单元,用于获取所述输出信息;
第七单元,用于解析所述输出信息;以及
第八单元,用于将所述输出信息与所述动态测试信息进行匹配。
进一步的,所述第七单元包括:
第一子单元,用于获取所述输出信息的密钥;
第二子单元,用于利用所述密钥对所述输出信息进行解密。
进一步的,所述第三装置还包括:
第九单元,用于根据匹配结果判定所述可疑路径是否为信息泄露路径,包括:
当所述输出信息与所述动态测试信息的内容相同时,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容为倒置关系、循环关系或字符顺序打乱关系,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容之间存在线性关系,则判定所述可疑路径为信息泄露路径。
本申请还提供一种信息泄露路径跟踪设备,其中,所述检测设备还包括:
第四装置,用于记录所述信息泄露路径。
与现有技术相比,本申请所述信息泄露路径跟踪方法及设备通过首先对待测对象的函数调用信息进行分析,以获取所有从信息源函数到泄漏点函数之间的可疑路径,然后从信息源函数中输入动态测试信息,并监控可疑路径对应的泄漏点函数的输出信息,与动态测试信息进行比较筛选,以确认所有信息泄露路径,减少误判。
进一步的,通过根据待测对象的函数调用信息中各函数之间的邻接关系建立函数邻接矩阵,通过遍历计算方式能够准确快速地根据函数邻接矩阵获得关于信息源函数到泄漏点函数之间的函数连通矩阵,从而快速且全面地获得信息连通矩阵。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一方面提供的一种信息泄露路径跟踪设备示意图;
图2示出根据本申请一实施例提供的一种信息泄露路径跟踪设备中第一装置示意图;
图3示出根据本申请另一实施例提供的一种信息泄露路径跟踪设备中第一装置示意图;
图4示出根据本申请另一实施例提供的一种信息泄露路径跟踪设备中第三装置示意图;
图5示出根据本申请另一实施例提供的一种信息泄露路径跟踪设备示意图;
图6示出根据本申请一方面提供的一种信息泄露路径跟踪方法流程图;
图7示出根据本申请一实施例提供的一种信息泄露路径跟踪方法中获取待测对象的函数调用信息的流程图;
图8示出根据本申请一实施例提供的一种信息泄露路径跟踪方法中获取所述函数调用信息中所有可疑路径的流程图;
图9示出根据本申请一实施例提供的信息泄露路径跟踪方法中将所述输出信息与所述动态测试信息进行比对的流程图;
图10示出根据本申请一优选的实施例提供的信息泄露路径跟踪方法流程图;
图11示出根据本申请一具体实施例提供的信息泄露路径跟踪方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一方面提供的一种信息泄露路径跟踪设备示意图,其中,所述设备1包括:第一装置11、第二装置12和第三装置13。
其中,所述第一装置11对待测对象的函数调用信息进行静态分析,提取所述函数调用信息中所有可疑路径;所述第二装置12向每一所述可疑路径输入相应动态测试信息,并获取所述可疑路径的输出信息;所述第三装置13将所述输出信息与所述动态测试信息进行比对,以判定所述可疑路径是否为信息泄露路径。
在此,所述设备1包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备其包括但不限于任何一种可与用户通过触摸板进行人机交互的移动电子产品,例如智能手机、PDA等,所述移动电子产品可以采用任意操作系统,如android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。本领域技术人员应能理解,其他的触摸控制设备同样适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在此,所述设备1可以应用于当前或今后可能出现的电子设备、例如台式计算机、便携式计算机、云计算机、移动终端电子设备、手持终端电子设备等。在优选的实施例中,所述设备1可以应用于例如但不限于:具有安卓(Android)操作系统、Windows操作系统、UNIX操作系统等,以及今后可能出现的开源或可读的设备中。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地或者按照设定的或实时调整的工作模式要求,例如第一装置11提取所述函数调用信息中所有可疑路径后,第二装置12向每一所述可疑路径输入相应动态测试信息等,直至所述设备停止工作。
图2示出根据本申请一实施例提供的一种信息泄露路径跟踪设备中第一装置示意图,所述第一装置11包括第一单元101和第二单元102。
所述第一单元101获取所述待测对象,所述第二单元102对所述待测对象进行反编译,以获得所述待测对象的函数调用信息。
在此,所述待测对象可以包括应用程序、应用软件、系统控件、系统程序以及其他今后可能出现的在计算机设备中出现的可能出现信息泄露的文件或其安装文件等。
具体地,所述第一单元101获取待测对象,然后,所述第二单元102对所述待测对象进行反编译,具体地,所述第二单元102可以采用ApkTool等工具进行Smali反编译,以得到反编译好的文件。
图3示出根据本申请另一实施例提供的一种信息泄露路径跟踪设备中第一装置示意图,所述第一装置11还包括第三单元103、第四单元104以及第五单元105。
进一步的,所述第三单元103用于提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵;所述第四单元104用于对所有所述函数进行分类,分为信息源函数、泄露点函数和其他类函数;所述第五单元105用于基于所述函数邻接矩阵,建立关于所述信息源与所述泄露点函数之间连通关系的函数连通矩阵,其中,所述函数连通矩阵包括所述函数调用信息中所有可疑路径。
在此,在所述函数邻接矩阵中,所述函数之间的邻接关系和不邻接关系采用不同数值标记,例如但不限于“0”代表不邻接,“1”代表邻接。采用不同数值标记,以便于后续进行快速遍历计算,降低系统计算压力,提高查询速度
在此,所述可疑路径为关于信息源函数至泄露点函数的连通关系,在所述函数连通矩阵中,所述信息源函数和所述泄露点函数之间的连通关系和不连通关系采用不同数值标记,例如但不限于“0”代表不邻接,“1”代表邻接。
此外,在优选的实施例中,所述第一装置11可以包括第一单元101、第二单元102、第三单元103、第四单元104以及第五单元105。
具体地,所述第三单元103提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵。
在具体的实施例中,第一装置11的第二单元102对所述待测对象进行反编译,以获得所述待测对象的函数调用信息如下:
./androgexf.py-i./test.apk-o./test.gexf test.gexf:
<nodes>
<node id=a/>
<node id=b/>
<node id=c/>
<node id=d/>
<node id=e/>
</nodes><edge>
<edge source=atarget=b/>
<edge source=btarget=c/>
<edge source=btarget=d/><edge source=btarget=e/>
</edge>
在此,本领域技术人员应当能够理解,上述获得所述待测对象的函数调用信息仅为举例,今后可能出现的能够获得待测对象的函数调用信息的方式及函数调用信息的形式、内容都可以包含在本发明的思想范围之内。
接着,第三单元103提取所述函数调用信息中所有函数,通过函数之间的调用关系,获得各函数之间的邻接关系,建立关于所述函数之间的连通关系的函数邻接矩阵;
在此,所述函数邻接是指函数与函数之间有数据的调用,函数的邻接关系包括邻接和不邻接,采用不同的值进行表达,其中0代表不邻接,为1代表不连通,则有:
(a,b)=1,(b,c)=1,(b,d)=1,(b,e)=1;
故,获得的函数邻接矩阵为:
在此,本领域技术人员应当能够理解,上述获得所述获得的函数邻接矩阵仅为举例,今后可能出现的函数邻接矩阵的形式、内容都可以包含在本发明的思想范围之内。
在此,根据函数执行的内容,分为信息源函数、泄露点函数及其它函数三类。信息源函数为用于读取信息的函数,包括读取文件、读取系统配置或读取应用界面控件信息等,例如getDeviceId(),findViewById()等;泄露点函数为用于信息输出的函数,包括向外界传递信息,如网络、蓝牙、短信等,例如sendTextMessage()等。进一步的,所述信息源函数包括个人隐私信息源函数和应用业务信息源函数。个人隐私信息源和应用业务信息源可以通过对于信息源函数设置标志位进行区分。
所述信息源函数为读取信息的函数,所述泄露点函数为信息输出的函数。所述动态测试信息包括个人隐私动态测试信息和应用业务动态测试信息。
接着,基于所述方法邻接矩阵,采用遍历算法对所述函数邻接矩阵进行读取,例如,从信息源函数开始遇1继续,遇0停止,以寻找从信息源函数至泄漏点函数的连通路径,则相应连通路径即为可疑路径,基于可疑路径构建函数连通矩阵,其中,函数连通矩阵中0代表从信息源函数到泄漏点函数不连通,函数连通矩阵中1代表从信息源函数到泄漏点函数连通连通。
基于所述具体的实施例中的,从信息源函数a出发,可以到达泄漏点函数b;然后从信息源函数b出发,可以到泄漏点函数c和d,即,可疑路径由两条:a至c,以及a至d,信息源函数a到泄露点函数c和d都可达。
故,获得的函数连通矩阵为:
在此,本领域技术人员应当能够理解,上述获得所述获得的函数连通矩阵仅为举例,今后可能出现的函数连通矩阵的形式、内容都可以包含在本发明的思想范围之内。
进一步的,所述第二装置12向每一所述可疑路径输入相应动态测试信息,经所述待测对象动态执行后获取所述可疑路径的输出信息。
具体地,第二装置12根据所述函数连通矩阵,依次获取每一可疑路径,抓取(hook)相应可疑路径的各函数,从所述可疑路径的信息源函数输入相应动态测试信息,经所述待测对象动态执行后,从所述可疑路径的泄露点函数获取输出信息。
其中,如果信息源函数为个人隐私信息源函数,则直接取个人隐私信息为动态测试信息。如果信息源方法属于应用业务信息源函数,则从信息源函数中,输入动态测试信息。
例如,信息源函数为android.view.View findViewById(2131165472)。
从反编译好的文件中(./res/value/public.xml),查询得出2131165758对应的控件是:
2131165758=0x7f07023e=”user_phone”
public.xml:
…
<public type="id"name="user_info"id="0x7f07023c"/>
<public type="id"name="user_name"id="0x7f07023d"/>
<public type="id"name="user_phone"id="0x7f07023e"/>
…
在此,本领域技术人员应当能够理解,上述获得所述信息源函数的内容仅为举例,今后可能出现的信息源函数的形式、内容都可以包含在本发明的思想范围之内。
因此,动态测试信息从user_phone(用户电话簿)处输入。
进一步的,所述第三装置13将所述输出信息与所述动态测试信息进行比对,以判定所述可疑路径是否为信息泄露路径。图4示出根据本申请另一实施例提供的一种信息泄露路径跟踪设备中第三装置示意图,具体地,所述第三装置13包括第六单元106、第七单元107以及第八单元108。
其中,所述第六单元106获取所述输出信息;所述第七单元107解析所述输出信息;以及所述第八单元108将所述输出信息与所述动态测试信息进行匹配。
具体地,所述第六单元106获取所述输出信息之后,所述第七单元107解析所述输出信息,其中,对于加密密文输出且能够获得密钥的输出信息,可以使用相应的密钥进行解密,对于未加密的输出信息,处理后直接进行后续处理分析。
其中,所述第七单元107包括第一子单元(未标示)和第二子单元(未标示),所述第一子单元获取所述输出信息的密钥;所述第二子单元利用所述密钥对所述输出信息进行解密。
其中,所述第三装置13还包括第九单元(未标示),所述第九单元根据匹配结果判定所述可疑路径是否为信息泄露路径,具体包括:当所述输出信息与所述动态测试信息的内容相同时,则判定所述可疑路径为信息泄露路径;或所述输出信息与所述动态测试信息的内容为倒置关系、循环关系或字符顺序打乱关系,则判定所述可疑路径为信息泄露路径;或所述输出信息与所述动态测试信息的内容之间存在线性关系,则判定所述可疑路径为信息泄露路径。
输出信息包括从相应泄漏点函数中获取的所有参数和返回值,第九单元109根据匹配结果判定所述可疑路径是否为信息泄露路径,根据信息泄露匹配规则,动态测试信息,例如动态测试信息内容为msg,则输出信息中满足下述任何规则可视为信息泄露:
输出信息中有明文输出的msg;
输出信息中有明文输出msg的变种,如倒置(gsm)、循环(msgmsgmsg)或字符顺序打乱(mgs)等;
通过不同msg值的统计分析,明文输出msg的线性运算值(out=a*msg+b)。
设输出信息为out,则有矩阵方程:
如果该矩阵有解,则证明msg和输出信息之间存在线形关系,可以路径确定为泄露路径。其中,矩阵有解的充要条件为它的秩小于等于2:
实现方案中可以设定i=5。
图5示出根据本申请另一实施例提供的一种信息泄露路径跟踪设备示意图,根据本申请一优选的实施例提供的信息泄露路径跟踪设备,所述设备包括第一装置11’、第二装置12’、第三装置13’以及第四装置14’。
其中,所述第四装置14’用于记录所述信息泄露路径。
在此,所述第一装置11’、第二装置12’和第三装置13’与图1中所述第一装置11、第二装置12和第三装置13的内容相同或基本相同,为简明起见,不再赘述,仅以引用的方式包含于此。
相比于现有技术,本申请所述信息泄露路径跟踪设备通过首先对待测对象的函数调用信息进行分析,以获取所有从信息源函数到泄漏点函数之间的可疑路径,然后从信息源函数中输入动态测试信息,并监控可疑路径对应的泄漏点函数的输出信息,与动态测试信息进行比较筛选,以确认所有信息泄露路径,减少误判。
进一步的,通过根据待测对象的函数调用信息中各函数之间的邻接关系建立函数邻接矩阵,通过遍历计算方式能够准确快速地根据函数邻接矩阵获得关于信息源函数到泄漏点函数之间的函数连通矩阵,从而快速且全面地获得信息连通矩阵。
图6示出根据本申请一方面提供的一种信息泄露路径跟踪方法流程图,其中,所述方法包括:步骤S11、步骤S12及步骤S13。
其中,在所述步骤S11中,对待测对象的函数调用信息进行静态分析,提取所述函数调用信息中所有可疑路径;在所述步骤S12中,向每一所述可疑路径输入相应动态测试信息,并获取所述可疑路径的输出信息;在所述步骤S13中,将所述输出信息与所述动态测试信息进行比对,以判定所述可疑路径是否为信息泄露路径。
图7示出根据本申请一实施例提供的一种信息泄露路径跟踪方法中获取待测对象的函数调用信息的流程图,其中,所述步骤S11包括步骤S101和步骤S102。
在此,所述待测对象可以包括应用程序、应用软件、系统控件、系统程序以及其他今后可能出现的在计算机设备中出现的可能出现信息泄露的文件或其安装文件等。
具体地,在所述步骤S101中,获取待测对象,然后,在所述步骤S102中,对所述待测对象进行反编译,具体地,在所述步骤S102可以采用ApkTool等工具进行Smali反编译,以得到反编译好的文件。
图8示出根据本申请一实施例提供的一种信息泄露路径跟踪方法中获取所述函数调用信息中所有可疑路径的流程图,进一步的,所述步骤S11还包括步骤S103、步骤S104以及步骤S105。
进一步的,在所述步骤S103中,提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵;在所述步骤S104中,对所有所述函数进行分类,分为信息源函数、泄露点函数和其他类函数;在所述步骤S105中,基于所述函数邻接矩阵,建立关于所述信息源与所述泄露点函数之间连通关系的函数连通矩阵,其中,所述函数连通矩阵包括所述函数调用信息中所有可疑路径。
在此,在所述函数邻接矩阵中,所述函数之间的邻接关系和不邻接关系采用不同数值标记,例如但不限于“0”代表不邻接,“1”代表邻接。在所述函数连通矩阵中,所述信息源函数和所述泄露点函数之间的连通关系和不连通关系采用不同数值标记,例如但不限于“0”代表不邻接,“1”代表邻接。采用不同数值标记,以便于后续进行快速遍历计算,降低系统计算压力,提高查询速度
具体地,在所述步骤S103中,提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵。在具体的实施例中,在所述步骤S102对所述待测对象进行反编译,能够获得的所述待测对象的函数调用信息如下:
./androgexf.py-i./test.apk-o./test.gexf test.gexf:
<nodes>
<node id=a/>
<node id=b/>
<node id=c/>
<node id=d/>
<node id=e/>
</nodes><edge>
<edge source=atarget=b/>
<edge source=btarget=c/>
<edge source=btarget=d/><edge source=btarget=e/>
</edge>
在此,本领域技术人员应当能够理解,上述获得所述待测对象的函数调用信息仅为举例,今后可能出现的能够获得待测对象的函数调用信息的方式及函数调用信息的形式、内容都可以包含在本发明的思想范围之内。
接着,在所述步骤S103提取所述函数调用信息中所有函数,通过函数之间的调用关系,获得各函数之间的邻接关系,建立关于所述函数之间的连通关系的函数邻接矩阵。
在此,所述函数邻接是指函数与函数之间有数据的调用,函数的邻接关系包括邻接和不邻接,采用不同的值进行表达,其中0代表不邻接,为1代表不连通,则有:
(a,b)=1,(b,c)=1,(b,d)=1,(b,e)=1;
故,获得的函数邻接矩阵为:
在此,本领域技术人员应当能够理解,上述获得所述获得的函数邻接矩阵仅为举例,今后可能出现的函数邻接矩阵的形式、内容都可以包含在本发明的思想范围之内。
在此,根据函数执行的内容,分为信息源函数、泄露点函数及其它函数三类。信息源函数为用于读取信息的函数,包括读取文件、读取系统配置或读取应用界面控件信息等,例如getDeviceId(),findViewById()等;泄露点函数为用于信息输出的函数,包括向外界传递信息,如网络、蓝牙、短信等,例如sendTextMessage()等。进一步的,所述信息源函数包括个人隐私信息源函数和应用业务信息源函数。个人隐私信息源和应用业务信息源可以通过对于信息源函数设置标志位进行区分。
所述信息源函数为读取信息的函数,所述泄露点函数为信息输出的函数。所述动态测试信息包括个人隐私动态测试信息和应用业务动态测试信息。
接着,基于所述方法邻接矩阵,采用遍历算法对所述函数邻接矩阵进行读取,例如,从信息源函数开始遇1继续,遇0停止,以寻找从信息源函数至泄漏点函数的连通路径,则相应连通路径即为可疑路径,基于可疑路径构建函数连通矩阵,其中,函数连通矩阵中0代表从信息源函数到泄漏点函数不连通,函数连通矩阵中1代表从信息源函数到泄漏点函数连通连通。
基于所述具体的实施例中的,从信息源函数a出发,可以到达泄漏点函数b;然后从信息源函数b出发,可以到泄漏点函数c和d,即,可疑路径由两条:a至c,以及a至d,信息源函数a到泄露点函数c和d都可达。
故,获得的函数连通矩阵为:
在此,本领域技术人员应当能够理解,上述获得所述获得的函数连通矩阵仅为举例,今后可能出现的函数连通矩阵的形式、内容都可以包含在本发明的思想范围之内。
进一步的,在所述步骤S12向每一所述可疑路径输入相应动态测试信息,经所述待测对象动态执行后获取所述可疑路径的输出信息。
具体地,在所述步骤S12根据所述函数连通矩阵,依次获取每一可疑路径,抓取(hook)相应可疑路径的各函数,从所述可疑路径的信息源函数输入相应动态测试信息,经所述待测对象动态执行后,从所述可疑路径的泄露点函数获取输出信息。
其中,如果信息源函数为个人隐私信息源函数,则直接取个人隐私信息为动态测试信息。如果信息源方法属于应用业务信息源函数,则从信息源函数中,输入动态测试信息,可以但不限于由测试人员人工输入动态测试信息,动态测试信息可以根据具体条件设计,灵活性较高。
例如,信息源函数为android.view.View findViewById(2131165472)。
从反编译好的文件中(./res/value/public.xml),查询得出2131165758对应的控件是:
2131165758=0x7f07023e=”user_phone”
public.xml:
…
<public type="id"name="user_info"id="0x7f07023c"/>
<public type="id"name="user_name"id="0x7f07023d"/>
<public type="id"name="user_phone"id="0x7f07023e"/>
…
在此,本领域技术人员应当能够理解,上述获得所述信息源函数的内容仅为举例,今后可能出现的信息源函数的形式、内容都可以包含在本发明的思想范围之内。
因此,动态测试信息从user_phone(用户电话簿)处输入。
图9示出根据本申请一实施例提供的信息泄露路径跟踪方法中将所述输出信息与所述动态测试信息进行比对的流程图,在所述步骤S13将所述输出信息与所述动态测试信息进行比对,以判定所述可疑路径是否为信息泄露路径,具体地,在所述步骤S13包括步骤S106、步骤S107以及步骤S108。
其中,在步骤S106中,获取所述输出信息;在所述步骤S107中,解析所述输出信息;以及在所述步骤S108中,将所述输出信息与所述动态测试信息进行匹配。
具体地,在所述步骤S106中,获取所述输出信息之后,在所述步骤S107中,解析所述输出信息,其中,对于加密密文输出且能够获得密钥的输出信息,可以使用相应的密钥进行解密,对于未加密的输出信息,处理后直接进行后续处理分析。
其中,所述步骤S107包括:获取所述输出信息的密钥;以及利用所述密钥对所述输出信息进行解密。
其中,所述步骤S13还包括根据匹配结果判定所述可疑路径是否为信息泄露路径,具体包括:当所述输出信息与所述动态测试信息的内容相同时,则判定所述可疑路径为信息泄露路径;或所述输出信息与所述动态测试信息的内容为倒置关系、循环关系或字符顺序打乱关系,则判定所述可疑路径为信息泄露路径;或所述输出信息与所述动态测试信息的内容之间存在线性关系,则判定所述可疑路径为信息泄露路径。
输出信息包括从相应泄漏点函数中获取的所有参数和返回值,根据匹配结果判定所述可疑路径是否为信息泄露路径,根据信息泄露匹配规则,动态测试信息,例如动态测试信息内容为msg,则输出信息中满足下述任何规则可视为信息泄露:
输出信息中有明文输出的msg;
输出信息中有明文输出msg的变种,如倒置(gsm)、循环(msgmsgmsg)或字符顺序打乱(mgs)等;
通过不同msg值的统计分析,明文输出msg的线性运算值(out=a*msg+b)。
设输出信息为out,则有矩阵方程:
如果该矩阵有解,则证明msg和输出信息之间存在线形关系,可以路径确定为泄露路径。其中,矩阵有解的充要条件为它的秩小于等于2:
实现方案中可以设定i=5。
图10示出根据本申请一优选的实施例提供的信息泄露路径跟踪方法流程图,所述方法包括步骤S11’、步骤S12’、步骤S13’以及步骤S14’。
其中,在所述步骤S14’中,记录所述信息泄露路径。
在此,所述步骤S11’、步骤S12’和步骤S13’与所述步骤S11、步骤S12和步骤S13的内容相同或基本相同,为简明起见,不再赘述,仅以引用的方式包含于此。
图11示出根据本申请一具体实施例提供的信息泄露路径跟踪方法流程图,所述方法包括步骤S20~步骤S29。
具体的,首先,在步骤S20中,首先获取待测对象,所述待测对象可以包括应用程序、应用软件、系统控件、系统程序以及其他今后可能出现的在计算机设备中出现的可能出现信息泄露的文件或其安装文件等。接着,步骤S21中对所述待测对象进行反编译,例如采用smali反编译,获得所述待测对象的函数调用信息。然后,在步骤S22中,从所述待测对象的函数调用信息中获取各函数,并依据各函数之间的邻接关系,建立关于各函数邻接关系的函数邻接矩阵。接着,在步骤S23中,依据函数数据库,对函数进行分类,包括信息源函数、泄漏点函数和其他函数,其中信息源函数为用于读取信息的函数,泄露点函数为用于信息输出的函数。然后,在步骤S24中,采用遍历算法,依据函数邻接矩阵寻找从信息源函数能够连通到泄漏点函数,建立关于信息源函数与泄漏点函数的函数连通矩阵。接着,在步骤S25中,从所述函数连通矩阵中读取一条可疑路径,并监控该可疑路径的泄露点函数。然后,在步骤S26中,判断信息源函数是否为个人隐私信息函数,若是个人隐私信息源函数,则直接利用用户输入的个人信息作为动态测试信息,若不是个人隐私信息源函数,则在步骤S27中由测试人员输入动态测试信息,随后在步骤S28中监控所述泄漏点函数的输出信息,将输出信息与相应数据源函数的动态测试信息进行比较,依据相应的判定规则,确定是否有敏感信息泄露,若有相应敏感信息泄露,则在步骤S29中记录相应信息源函数到泄漏点函数的泄露路径。随后返回至步骤S25继续读取可疑路径,重复执行步骤S25~步骤S28,直至每一可疑路径都确认是否为泄露路径。
相比于现有技术,本申请所述信息泄露路径跟踪方法通过首先对待测对象的函数调用信息进行分析,以获取所有从信息源函数到泄漏点函数之间的可疑路径,然后从信息源函数中输入动态测试信息,并监控可疑路径对应的泄漏点函数的输出信息,与动态测试信息进行比较筛选,以确认所有信息泄露路径,减少误判。
进一步的,通过根据待测对象的函数调用信息中各函数之间的邻接关系建立函数邻接矩阵,通过遍历计算方式能够准确快速地根据函数邻接矩阵获得关于信息源函数到泄漏点函数之间的函数连通矩阵,从而快速且全面地获得信息连通矩阵。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (22)
1.一种信息泄露路径跟踪方法,其中,所述方法包括:
获取待测对象的函数调用信息,并提取所述函数调用信息中所有可疑路径;
向每一所述可疑路径输入相应动态测试信息,经所述待测对象动态执行后获取所述可疑路径的输出信息;以及
将所述输出信息与所述动态测试信息进行匹配,根据匹配结果判定所述可疑路径是否为信息泄露路径。
2.根据权利要求1所述的信息泄露路径跟踪方法,其中,获取待测对象的函数调用信息包括:
获取所述待测对象;以及
对所述待测对象进行反编译,以获得所述待测对象的函数调用信息。
3.根据权利要求1或2所述的信息泄露路径跟踪方法,其中,提取所述函数调用信息中所有可疑路径包括:
提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵;
对所有所述函数进行分类,分为信息源函数、泄露点函数和其他类函数;以及
基于所述函数邻接矩阵,建立关于所述信息源与所述泄露点函数之间连通关系的函数连通矩阵,其中,所述函数连通矩阵包括所述函数调用信息中所有可疑路径。
4.根据权利要求3所述的信息泄露路径跟踪方法,其中,在所述函数邻接矩阵中,所述函数之间的邻接关系和不邻接关系采用不同数值标记。
5.根据权利要求3或4所述的信息泄露路径跟踪方法,其中,在所述函数连通矩阵中,所述信息源函数和所述泄露点函数之间的连通关系和不连通关系采用不同数值标记。
6.根据权利要求3至5中任一项所述的信息泄露路径跟踪方法,其中,所述信息源函数为读取信息的函数,所述泄露点函数为信息输出的函数。
7.根据权利要求6所述的信息泄露路径跟踪方法,其中,所述信息源函数包括个人隐私信息源函数和应用业务信息源函数。
8.根据权利要求1至7中任一项所述的信息泄露路径跟踪方法,其中,将所述输出信息与所述动态测试信息进行匹配包括:
获取所述输出信息;
解析所述输出信息;以及
将所述输出信息与所述动态测试信息进行匹配。
9.根据权利要求8所述的信息泄露路径跟踪方法,其中,解析所述输出信息包括:
获取所述输出信息的密钥;
利用所述密钥对所述输出信息进行解密。
10.根据权利要求8或9所述的信息泄露路径跟踪方法,其中,根据匹配结果判定所述可疑路径是否为信息泄露路径包括:
当所述输出信息与所述动态测试信息的内容相同时,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容为倒置关系、循环关系或字符顺序打乱关系,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容之间存在线性关系,则判定所述可疑路径为信息泄露路径。
11.根据权利要求1至10中任一项所述的信息泄露路径跟踪方法,其中,所述方法还包括:
记录所述信息泄露路径。
12.一种信息泄露路径跟踪设备,其中,所述设备包括:
第一装置,用于获取待测对象的函数调用信息,并提取所述函数调用信息中所有可疑路径;
第二装置,用于向每一所述可疑路径输入相应动态测试信息,经所述待测对象动态执行后获取所述可疑路径的输出信息;以及
第三装置,用于将所述输出信息与所述动态测试信息进行匹配,根据匹配结果判定所述可疑路径是否为信息泄露路径。
13.根据权利要求12所述的信息泄露路径跟踪设备,其中,所述第一装置包括:
第一单元,用于获取所述待测对象;以及
第二单元,用于对所述待测对象进行反编译,以获得所述待测对象的函数调用信息。
14.根据权利要求12或13所述的信息泄露路径跟踪设备,其中,所述第一装置还包括:
第三单元,用于提取所述函数调用信息中所有函数,并建立关于所述函数之间的连通关系的函数邻接矩阵;
第四单元,用于对所有所述函数进行分类,分为信息源函数、泄露点函数和其他类函数;以及
第五单元,基于所述函数邻接矩阵,建立关于所述信息源与所述泄露点函数之间连通关系的函数连通矩阵,其中,所述函数连通矩阵包括所述函数调用信息中所有可疑路径。
15.根据权利要求14所述的信息泄露路径跟踪设备,其中,在所述函数邻接矩阵中,所述函数之间的邻接关系和不邻接关系采用不同数值标记。
16.根据权利要求14或15所述的信息泄露路径跟踪设备,其中,在所述函数连通矩阵中,所述信息源函数和所述泄露点函数之间的连通关系和不连通关系采用不同数值标记。
17.根据权利要求14至16中任一项所述的信息泄露路径跟踪设备,其中,所述信息源函数为读取信息的函数,所述泄露点函数为信息输出的函数。
18.根据权利要求17所述的信息泄露路径跟踪设备,其中,所述信息源函数包括个人隐私信息源函数和应用业务信息源函数。
19.根据权利要求12至18中任一项所述的信息泄露路径跟踪设备,其中,所述第三装置包括:
第六单元,用于获取所述输出信息;
第七单元,用于解析所述输出信息;以及
第八单元,用于将所述输出信息与所述动态测试信息进行匹配。
20.根据权利要求19所述的信息泄露路径跟踪设备,其中,所述第七单元包括:
第一子单元,用于获取所述输出信息的密钥;
第二子单元,用于利用所述密钥对所述输出信息进行解密。
21.根据权利要求19或20所述的信息泄露路径跟踪设备,其中,所述第三装置还包括:
第九单元,用于根据匹配结果判定所述可疑路径是否为信息泄露路径,包括:
当所述输出信息与所述动态测试信息的内容相同时,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容为倒置关系、循环关系或字符顺序打乱关系,则判定所述可疑路径为信息泄露路径;或
所述输出信息与所述动态测试信息的内容之间存在线性关系,则判定所述可疑路径为信息泄露路径。
22.根据权利要求12至21中任一项所述的信息泄露路径跟踪设备,其中,所述检测设备还包括:
第四装置,用于记录所述信息泄露路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161234.9A CN106156647B (zh) | 2015-04-03 | 2015-04-03 | 信息泄露路径跟踪方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510161234.9A CN106156647B (zh) | 2015-04-03 | 2015-04-03 | 信息泄露路径跟踪方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106156647A true CN106156647A (zh) | 2016-11-23 |
CN106156647B CN106156647B (zh) | 2019-04-09 |
Family
ID=57337735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510161234.9A Active CN106156647B (zh) | 2015-04-03 | 2015-04-03 | 信息泄露路径跟踪方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106156647B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959960A (zh) * | 2018-06-19 | 2018-12-07 | 努比亚技术有限公司 | 防止隐私泄露的方法、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009110275A1 (ja) * | 2008-03-03 | 2009-09-11 | 日本電気株式会社 | 機密情報漏洩防止システム及び機密情報漏洩防止方法 |
CN102597970A (zh) * | 2009-11-03 | 2012-07-18 | 国际商业机器公司 | 用于资源泄漏检测的系统和方法 |
CN103186740A (zh) * | 2011-12-27 | 2013-07-03 | 北京大学 | 一种Android恶意软件的自动化检测方法 |
CN103716287A (zh) * | 2012-09-29 | 2014-04-09 | 西门子公司 | 一种信息泄露路径分析方法和装置 |
CN103765430A (zh) * | 2011-08-26 | 2014-04-30 | 惠普发展公司,有限责任合伙企业 | 数据泄漏防止系统和方法 |
-
2015
- 2015-04-03 CN CN201510161234.9A patent/CN106156647B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009110275A1 (ja) * | 2008-03-03 | 2009-09-11 | 日本電気株式会社 | 機密情報漏洩防止システム及び機密情報漏洩防止方法 |
CN102597970A (zh) * | 2009-11-03 | 2012-07-18 | 国际商业机器公司 | 用于资源泄漏检测的系统和方法 |
CN103765430A (zh) * | 2011-08-26 | 2014-04-30 | 惠普发展公司,有限责任合伙企业 | 数据泄漏防止系统和方法 |
CN103186740A (zh) * | 2011-12-27 | 2013-07-03 | 北京大学 | 一种Android恶意软件的自动化检测方法 |
CN103716287A (zh) * | 2012-09-29 | 2014-04-09 | 西门子公司 | 一种信息泄露路径分析方法和装置 |
Non-Patent Citations (1)
Title |
---|
龚明杨: ""信息流跟踪的研究与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959960A (zh) * | 2018-06-19 | 2018-12-07 | 努比亚技术有限公司 | 防止隐私泄露的方法、装置及计算机可读存储介质 |
CN108959960B (zh) * | 2018-06-19 | 2020-08-21 | 南昌努比亚技术有限公司 | 防止隐私泄露的方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106156647B (zh) | 2019-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fan et al. | Dapasa: detecting android piggybacked apps through sensitive subgraph analysis | |
Werner de Vargas et al. | Imbalanced data preprocessing techniques for machine learning: a systematic mapping study | |
Zhai et al. | Prioritizing test cases for regression testing of location-based services: Metrics, techniques, and case study | |
Rahman et al. | Predicting android application security and privacy risk with static code metrics | |
Potha et al. | An extrinsic random-based ensemble approach for android malware detection | |
Turner et al. | Analysis techniques for illicit bitcoin transactions | |
Akram et al. | Security, privacy and trust of user-centric solutions | |
Kraus et al. | A comparison of privacy and security knowledge and privacy concern as influencing factors for mobile protection behavior | |
Kulkarni et al. | 20 Years of mobility modeling & prediction: Trends, shortcomings & perspectives | |
Chang et al. | Is your phone you? how privacy policies of mobile apps allow the use of your personally identifiable information | |
Resende et al. | Breaking MPC implementations through compression | |
Geneiatakis et al. | Towards a mobile malware detection framework with the support of machine learning | |
Wongwiwatchai et al. | Comprehensive detection of vulnerable personal information leaks in android applications | |
CN106156647A (zh) | 信息泄露路径跟踪方法和设备 | |
Kaushik et al. | Malware detection techniques in android | |
Zhao et al. | You are where you app: An assessment on location privacy of social applications | |
Karimiziarani | Social media analytics in disaster response: A comprehensive review | |
Shanshan et al. | Android's sensitive data leakage detection based on API monitoring | |
Arumugam et al. | Digital forensics: essential competencies of cyber-forensics practitioners | |
Frey et al. | A lightweight user tracking method for app providers | |
Domingues et al. | On the Analysis of Users' Behavior Based on Mobile Phone Apps | |
Kollnig et al. | TrackerControl: Transparency and Choice around App Tracking | |
Iorliam | Cybersecurity in Nigeria: A Case Study of Surveillance and Prevention of Digital Crime | |
Wijesiriwardana et al. | On the detection and analysis of software security vulnerabilities | |
Dubey et al. | Digital forensics techniques and trends: a review. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |