CN106302404B - 一种收集网络溯源信息的方法及系统 - Google Patents
一种收集网络溯源信息的方法及系统 Download PDFInfo
- Publication number
- CN106302404B CN106302404B CN201610621146.7A CN201610621146A CN106302404B CN 106302404 B CN106302404 B CN 106302404B CN 201610621146 A CN201610621146 A CN 201610621146A CN 106302404 B CN106302404 B CN 106302404B
- Authority
- CN
- China
- Prior art keywords
- source
- function
- network
- information
- tracing
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/146—Tracing the source of attacks
Abstract
本发明公开了一种收集网络溯源信息系统,属于计算机系统网络安全领域。该系统通过定义一个网络连接对象来跟踪从存储系统中拷贝走的文件,该系统包括网络溯源拦截层、网络溯源观察层、网络溯源分析层和网络溯源分布层,网络溯源拦截层拦截accept、connect、send和recv系统调用,网络溯源观察层初始化socket结构中加入的溯源变量,收集与该socket连接相关联的IP地址、端口号信息、用户ID和连接创建时间;网络溯源分析层处理溯源信息,去掉重复的信息并且保证不会出现环;网络溯源分布层将获得的溯源信息写入溯源文件系统,保存在日志文件中。本发明还提供了实现上述系统的方法。本发明能够准确找到网络入侵来源及跟踪从系统中拷贝走的文件。
Description
技术领域
本发明属于计算机系统安全领域,更具体地,涉及一种收集网络溯源信息的方法及系统。
背景技术
目前,利用计算机网络实施犯罪的事件已绝不少见。面对现在这样一个越来越开放的网络环境,数据安全也受到很大威胁。信息系统的安全一般采用标识与鉴别、访问控制、加密技术等安全机制来加以保护,内部网络和外部网络之间使用防火墙技术类似保护,但通过这些方法并不能完全杜绝入侵时间的发生。因此,入侵检测技术就成了系统保护的第二层屏障。
现有技术通过利用PASS系统收集溯源来进行入侵检测,但在PASS系统中,只描述了文件、管道和进程这几种对象,对于数据在网络上的传输并没有相应的机制去记录。并且,PASS只收集存放在PASS卷上的对象的溯源信息。因此从PASS卷上拷贝走任何文件并不会产生相应的溯源信息。鉴于很多攻击都是通过网络进行的,因此对这部分信息的收集十分重要。但是传统的入侵检测大部分是通过分析系统/网络日志和检测磁盘状态,但日志仅仅记录部分或者应用程序制定的信息,比如HTTP连接,用户登录信息等,并不足以让管理员分析系统攻击后到底发生了什么。磁盘检测仅能够提供文件的最终状态,文件是如何被修改的也不得而知。借助检查入侵工具Backtracker可以找到入侵检测原因,但只能分析本地受攻击文件,Mount ghost通过可移动设备对数据泄露进行监控,但对通过网络等途径造成的数据泄露并没有提出具体解决方案。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种收集网络溯源信息的方法及系统,其目的在于拦截socket连接的accept(接受)、connect(连接)、send(接收)和recv(发送)系统调用;通过这些系统调用初始化与socket对应的inode结构体中的溯源变量,收集socket连接相关联的IP地址、端口号、用户ID和创建时间信息;处理溯源信息,去掉重复的信息并且保证不会出现环;将获得的溯源信息写入溯源文件系统,保存在日志文件中。由此解决现有方法中存在的无法监控通过网络途径造成的数据泄露的问题,并使用户能够发现入侵的网络来源,以及入侵的具体操作。
为实现上述目的,按照本发明的一个方面,提供了一种收集网络溯源信息的系统,包括以下部分:
网络溯源拦截层,用于调用拦截函数拦截accept、connect、send和recv系统调用;
网络溯源观察层,用于初始化溯源变量,利用拦截函数收集socket溯源信息与该socket相关联的IP地址、端口号信息、用户ID和连接创建时间;
网络溯源分析层,用于负责处理溯源信息,去掉重复的信息并且保证不会出现环;
网络溯源分布层,用于将网络溯源信息写入溯源文件系统,保存在日志文件中。
进一步地,所述网络溯源拦截层包含以下子模块:
添加拦截函数子模块,用于将拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv直接嵌入socket相关系统调用函数sys_accept、sys_connect、sys_send和sys_recv中进行拦截;
定义全局变量子模块,用于定义一个全局结构体变量为达到模块化要求,全局结构体变量的成员变量为多个函数指针,这些函数指针指向用来收集网络溯源信息的拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv;初始情况下,这些函数指针为空,表示不收集溯源信息;若要收集网络溯源信息,则给函数指针赋予相应的值,调用拦截函数来收集溯源信息;当卸载该模块后,这些函数指针恢复为默认的空指针。
进一步地,所述网络溯源观察层包含以下子模块:
IP地址收集子模块,用于对socket进行初始化,并收集产生的溯源信息:当执行sys_accept和sys_connect系统调用函数时,对socket进行初始化,执行observer_initsocket函数,来初始化与socket对应的inode结构体中的溯源变量;之后执行observer_socket函数,收集intercept_accept函数和intercept_connect函数获取的IP地址,端口号、用户ID和连接创建时间信息;
依赖数据收集子模块,用于调用观察函数,收集依赖数据信息:当执行sys_send系统调用函数时,表示进程向网络对象中写数据,产生依赖数据信息,执行intercept_send函数进行拦截,调用observer__send函数进行收集依赖数据信息;当执行sys_recv系统调用函数时,表示从网络中接收数据,产生依赖数据信息,执行intercept_recv函数进行拦截,调用observer_recv函数进行收集依赖数据信息。
进一步地,所述socket对应一个文件描述符,通过socket从网络中读取和发送数据产生类似于读写一个文件的依赖关系。
按照本发明的另一方面,提供了一种收集网络溯源信息的方法,包括以下步骤:
(1)网络溯源拦截步骤,调用拦截函数用于拦截accept、connect、send和recv系统调用;
(2)网络溯源观察步骤,初始化溯源变量,利用拦截函数收集socket溯源信息与该socket相关联的IP地址、端口号信息、用户ID和连接创建时间;
(3)网络溯源分析步骤,负责处理溯源信息,去掉重复的信息并且保证不会出现环;
(4)网络溯源分布步骤,将网络溯源信息写入溯源文件系统,保存在日志文件中。
进一步地,所述网络溯源拦截步骤具体包含以下子步骤:
(11)添加拦截代码子步骤:
将拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv直接嵌入socket相关系统调用函数sys_accept、sys_connect、sys_send和sys_recv中进行拦截;
(12)定义全局变量子步骤:
定义一个全局结构体变量为达到模块化要求,全局结构体变量的成员变量为多个函数指针,这些函数指针指向用来收集网络溯源信息的拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv;初始情况下,这些函数指针为空,表示不收集溯源信息;若要收集网络溯源信息,则给函数指针赋予相应的值,调用拦截函数来收集溯源信息;当卸载该模块后,这些函数指针恢复为默认的空指针。
进一步地,所述网络溯源观察步骤具体包含以下子步骤:
(21)IP地址收集子步骤:
对socket进行初始化,并收集产生的溯源信息;当执行sys_accept和sys_connect系统调用函数时,对socket进行初始化,执行observer_initsocket函数,来初始化与socket对应的inode结构体中的溯源变量;之后执行observer_socket函数,收集intercept_accept函数和intercept_connect函数获取的IP地址,端口号、用户ID和连接创建时间信息;
(22)依赖数据收集子步骤:
调用观察函数,收集依赖数据信息:当执行sys_send系统调用函数时,表示进程向网络对象中写数据,产生依赖数据信息,执行intercept_send函数进行拦截,调用observer__send函数进行收集依赖数据信息;当执行sys_recv系统调用函数时,表示从网络中接收数据,产生依赖数据信息,执行intercept_recv函数进行拦截,调用observer_recv函数进行收集依赖数据信息。
进一步地,所述socket对应一个文件描述符,通过socket从网络中读取和发送数据产生类似于读写一个文件的依赖关系。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)能够找到入侵来源:由于拦截了accept(接受)和connect(连接)系统调用,建立了网络连接,我们可以从溯源信息中直接查询到入侵来源的IP地址、端口号等信息。
(2)可以跟踪从存储系统中拷贝走的文件:由于通过socket从网络中读取和发送数据类似于读写一个文件,所以通过socket从网络中读取和发送数据产生的依赖关系和读写文件是类似的,因此我们可以通过socket连接,跟踪通过网络途径造成的数据泄露。
附图说明
图1、本发明一种收集网络溯源信息系统示意图;
图2、本发明中拦截系统调用示意图;
图3、本发明中拦截系统调用流程图;
图4、本发明中收集网络溯源架构示意图;
图5、本发明中获取socket连接的溯源信息示意图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1所示,是本发明一种收集网络溯源信息的系统,该系统包括以下部分:
网络溯源拦截层,调用拦截函数用于拦截accept、connect、send和recv系统调用;
网络溯源观察层,初始化溯源变量,利用拦截函数收集socket溯源信息与该socket相关联的IP地址、端口号信息、用户ID和连接创建时间;
网络溯源分析层,用于负责处理溯源信息,去掉重复的信息并且保证不会出现环;
网络溯源分布层,用于将网络溯源信息写入溯源文件系统,保存在日志文件中。
如图2所示,网络溯源拦截层将截获代码直接嵌入系统调用的函数中去,从而拦截socket相关系统调用:connect、accept、send和recv。
如图3所示,为了达到模块化的要求,网络溯源拦截层定义一个全局结构体变量observer_ops,其成员变量为多个函数指针,这些函数指针指向用来收集网络溯源的函数。初始情况下,这些函数指针为空,表示不收集溯源信息。当加载溯源信息收集模块时,这些函数指针被赋予相应的值,以用来收集溯源。当卸载该模块后,这些函数指针恢复为默认的空指针。
如图4所示,intercept_accept函数和intercept_connect函数用于拦截accept和connect系统调用。这两个系统调用都需要对socket进行初始化,并产生必要的溯源信息。网络溯观察层首先执行observer_initsocket函数,来初始化与socket对应的inode结构体中关于网络连接对象的一些变量,例如向Lasagna文件系统申请pnode号等,这是通过调用在Lasagna文件系统中加入的init_socket函数实现的。之后网络溯观察层执行observer_socket函数,该函数收集与该socket连接相关联的IP地址,端口号等信息,并将进程和该socket连接关联起来;intercept_send函数用于拦截send系统调用,当向网络中发送数据时执行。intercept_send函数调用网络溯观察层的observer_send函数收集溯源信息,用来表示进程向网络对象中写数据。intercept_recv函数用于拦截recv系统调用,当从网络中接收数据时执行。intercept_recv函数调用网络溯观察层的observer_send函数收集溯源信息,用来表示进程从网络对象接收数据。
如图5所示,在Linux系统中,一个socket也会对应一个文件描述符,所以通过socket从网络中读取和发送数据类似于读写一个文件。这样产生的依赖关系和读写文件是类似的。假定B为网络连接对象,P为进程,Socket中的系统调用send产生“B->P”这样的依赖关系,recv产生“P->B”这样的依赖关系。
以客户端从服务器端读取数据为例,当客户端和服务器端建立连接后,要从服务器端读取文件时,服务器端进程先读取本地文件,然后通过send函数发送给客户端,这样可以把send过程当作是本地的write过程,即有send过程发生时,把该进程之前读取的文件、该send进程以及send发送的socket连接形成依赖关系。当把对象间的各种依赖关系都表示在一张溯源图中时,就能指示出哪个文件被访问过,访问人是谁,以及文件被拷贝到哪里了。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种收集网络溯源信息的系统,其特征在于,包括如下部分:
网络溯源拦截层,用于调用拦截函数拦截accept、connect、send和recv系统调用;
网络溯源观察层,用于初始化溯源变量,利用拦截函数收集socket溯源信息与该socket相关联的IP地址、端口号信息、用户ID和连接创建时间;
网络溯源分析层,用于负责处理溯源信息,去掉重复的信息并且保证不会出现环;
网络溯源分布层,用于将网络溯源信息写入溯源文件系统,保存在日志文件中;
所述网络溯源观察层包含以下子模块:
IP地址收集子模块,用于对socket进行初始化,并收集产生的溯源信息:当执行sys_accept和sys_connect系统调用函数时,对socket进行初始化,执行observer_initsocket函数,来初始化与socket对应的inode结构体中的溯源变量;之后执行observer_socket函数,收集intercept_accept函数和intercept_connect函数获取的IP地址,端口号、用户ID和连接创建时间信息;
依赖数据收集子模块,用于调用观察函数,收集依赖数据信息:当执行sys_send系统调用函数时,表示进程向网络对象中写数据,产生依赖数据信息,执行intercept_send函数进行拦截,调用observer__send函数进行收集依赖数据信息;当执行sys_recv系统调用函数时,表示从网络中接收数据,产生依赖数据信息,执行intercept_recv函数进行拦截,调用observer_recv函数进行收集依赖数据信息。
2.根据权利要求1所述的一种收集网络溯源信息的系统,其特征在于,所述网络溯源拦截层包含以下子模块:
添加拦截函数子模块,用于将拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv直接嵌入socket相关系统调用函数sys_accept、sys_connect、sys_send和sys_recv中进行拦截;
定义全局变量子模块,用于定义一个全局结构体变量为达到模块化要求,全局结构体变量的成员变量为多个函数指针,这些函数指针指向用来收集网络溯源信息的拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv;初始情况下,这些函数指针为空,表示不收集溯源信息;若要收集网络溯源信息,则给函数指针赋予相应的值,调用拦截函数来收集溯源信息;当卸载该模块后,这些函数指针恢复为默认的空指针。
3.根据权利要求1所述的一种收集网络溯源信息的系统,其特征在于,所述socket对应一个文件描述符,通过socket从网络中读取和发送数据产生类似于读写一个文件的依赖关系。
4.一种收集网络溯源信息的方法,其特征在于,包括如下步骤:
(1)网络溯源拦截步骤,调用拦截函数用于拦截accept、connect、send和recv系统调用;
(2)网络溯源观察步骤,初始化溯源变量,利用拦截函数收集socket溯源信息与该socket相关联的IP地址、端口号信息、用户ID和连接创建时间;
(3)网络溯源分析步骤,负责处理溯源信息,去掉重复的信息并且保证不会出现环;
(4)网络溯源分布步骤,将网络溯源信息写入溯源文件系统,保存在日志文件中;
所述网络溯源观察步骤具体包含以下子步骤:
(21)IP地址收集子步骤:
对socket进行初始化,并收集产生的溯源信息;当执行sys_accept和sys_connect系统调用函数时,对socket进行初始化,执行observer_initsocket函数,来初始化与socket对应的inode结构体中的溯源变量;之后执行observer_socket函数,收集intercept_accept函数和intercept_connect函数获取的IP地址,端口号、用户ID和连接创建时间信息;
(22)依赖数据收集子步骤:
调用观察函数,收集依赖数据信息:当执行sys_send系统调用函数时,表示进程向网络对象中写数据,产生依赖数据信息,执行intercept_send函数进行拦截,调用observer__send函数进行收集依赖数据信息;当执行sys_recv系统调用函数时,表示从网络中接收数据,产生依赖数据信息,执行intercept_recv函数进行拦截,调用observer_recv函数进行收集依赖数据信息。
5.根据权利要求4所述的一种收集网络溯源信息的方法,其特征在于,所述网络溯源拦截步骤具体包含以下子步骤:
(11)添加拦截代码子步骤:
将拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv直接嵌入socket相关系统调用函数sys_accept、sys_connect、sys_send和sys_recv中进行拦截;
(12)定义全局变量子步骤:
定义一个全局结构体变量为达到模块化要求,全局结构体变量的成员变量为多个函数指针,这些函数指针指向用来收集网络溯源信息的拦截函数interceptor_accept、interceptor_connect、interceptor_send和interceptor_recv;初始情况下,这些函数指针为空,表示不收集溯源信息;若要收集网络溯源信息,则给函数指针赋予相应的值,调用拦截函数来收集溯源信息;当卸载该模块后,这些函数指针恢复为默认的空指针。
6.根据权利要求4所述的一种收集网络溯源信息的方法,其特征在于,所述socket对应一个文件描述符,通过socket从网络中读取和发送数据产生类似于读写一个文件的依赖关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610621146.7A CN106302404B (zh) | 2016-08-01 | 2016-08-01 | 一种收集网络溯源信息的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610621146.7A CN106302404B (zh) | 2016-08-01 | 2016-08-01 | 一种收集网络溯源信息的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302404A CN106302404A (zh) | 2017-01-04 |
CN106302404B true CN106302404B (zh) | 2019-06-18 |
Family
ID=57663924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610621146.7A Active CN106302404B (zh) | 2016-08-01 | 2016-08-01 | 一种收集网络溯源信息的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106302404B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107612924B (zh) * | 2017-09-30 | 2021-02-23 | 北京奇虎科技有限公司 | 基于无线网络入侵的攻击者定位方法及装置 |
CN109614429B (zh) * | 2018-12-03 | 2023-04-07 | 北京安华金和科技有限公司 | 基于内核驱动实现应用访问和数据库访问行为关联的方法 |
CN109729095B (zh) * | 2019-02-13 | 2021-08-24 | 奇安信科技集团股份有限公司 | 数据处理方法、装置和计算设备及介质 |
CN110995878A (zh) * | 2019-11-18 | 2020-04-10 | 成都知道创宇信息技术有限公司 | 一种多层网络传输中源信息的获取方法、装置及系统 |
CN111813774B (zh) * | 2020-05-18 | 2021-02-05 | 广州锦行网络科技有限公司 | 一种基于sysdig系统监控获取溯源信息的方法 |
CN113407416B (zh) * | 2021-06-29 | 2022-06-24 | 杭州默安科技有限公司 | 一种文件操作ip溯源方法和系统 |
CN113572751B (zh) * | 2021-07-20 | 2023-05-09 | 杭州默安科技有限公司 | 一种网络流量的分析系统及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252592A (zh) * | 2008-04-14 | 2008-08-27 | 信息产业部电信传输研究所 | 一种ip网络的网络溯源方法和系统 |
CN103226675A (zh) * | 2013-03-20 | 2013-07-31 | 华中科技大学 | 一种分析入侵行为的溯源系统及方法 |
-
2016
- 2016-08-01 CN CN201610621146.7A patent/CN106302404B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252592A (zh) * | 2008-04-14 | 2008-08-27 | 信息产业部电信传输研究所 | 一种ip网络的网络溯源方法和系统 |
CN103226675A (zh) * | 2013-03-20 | 2013-07-31 | 华中科技大学 | 一种分析入侵行为的溯源系统及方法 |
Non-Patent Citations (2)
Title |
---|
"Design and Evaluation of a Provenance-Based Rebuild Framework";Yulai Xie;《IEEE TRANSACTIONS ON MAGNETICS》;20130531;全文 |
"溯源的高效存储管理及在安全方面的应用研究";谢雨来;《中国博士学位论文全文数据库》;20150215;第65-67页 |
Also Published As
Publication number | Publication date |
---|---|
CN106302404A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302404B (zh) | 一种收集网络溯源信息的方法及系统 | |
Milajerdi et al. | Poirot: Aligning attack behavior with kernel audit records for cyber threat hunting | |
Ji et al. | Enabling refinable {Cross-Host} attack investigation with efficient data flow tagging and tracking | |
Xu et al. | Attacking the brain: Races in the {SDN} control plane | |
US10454950B1 (en) | Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks | |
CN107004088B (zh) | 确定装置、确定方法及记录介质 | |
US20090164522A1 (en) | Computer forensics, e-discovery and incident response methods and systems | |
CN110647744B (zh) | 文件系统中的取证分析的方法、装置、介质和系统 | |
CN104281808B (zh) | 一种通用的Android恶意行为检测方法 | |
Casey et al. | Malware forensics field guide for Linux systems: digital forensics field guides | |
Palisse et al. | Data aware defense (DaD): towards a generic and practical ransomware countermeasure | |
Xie et al. | Unifying intrusion detection and forensic analysis via provenance awareness | |
US10645099B1 (en) | Malware detection facilitated by copying a memory range from an emulator for analysis and signature generation | |
Fu et al. | Security threats to Hadoop: data leakage attacks and investigation | |
Aldribi et al. | Data sources and datasets for cloud intrusion detection modeling and evaluation | |
CN103986706A (zh) | 一种应对apt攻击的安全架构设计方法 | |
Case et al. | Hooktracer: Automatic detection and analysis of keystroke loggers using memory forensics | |
CN105447385A (zh) | 一种多层次检测的应用型数据库蜜罐实现系统及方法 | |
CN113746781A (zh) | 一种网络安全检测方法、装置、设备及可读存储介质 | |
Nance et al. | Investigating the implications of virtual machine introspection for digital forensics | |
Mahmoud et al. | APTHunter: Detecting advanced persistent threats in early stages | |
Jang et al. | Function-oriented mobile malware analysis as first aid | |
CN108737373B (zh) | 一种针对大型网络设备隐匿技术的安全取证方法 | |
Yu et al. | Towards Automated Detection of Higher-Order Memory Corruption Vulnerabilities in Embedded Devices | |
Jia et al. | Findevasion: an effective environment-sensitive malware detection system for the cloud |
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 |