CN109472133B - 一种沙箱监控方法和装置 - Google Patents
一种沙箱监控方法和装置 Download PDFInfo
- Publication number
- CN109472133B CN109472133B CN201711250084.4A CN201711250084A CN109472133B CN 109472133 B CN109472133 B CN 109472133B CN 201711250084 A CN201711250084 A CN 201711250084A CN 109472133 B CN109472133 B CN 109472133B
- Authority
- CN
- China
- Prior art keywords
- system call
- program
- analyzed
- sandbox
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种沙箱监控方法和装置,用以降低恶意代码通过检查公知的Hook点进行逆向的可能性。该方法包括:在沙箱中启动待分析的程序;确定所述待分析程序的进程ID;在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;确定所述系统调用由所述待分析程序的进程ID标识的进程产生;获取所述系统调用及其参数,并获取所述系统调用的结果,以将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种沙箱监控方法和装置。
背景技术
随着计算机技术的发展与普及,计算机应用已经全面渗透到人们的工作与生活中,成为人们不可缺少的重要工具和家庭娱乐设备。随着计算机的广泛使用同时也会产生相应的计算机安全问题。面对金钱的诱惑,一些黑客会利用计算机安全漏洞,通过相应的恶意程序对用户的计算机信息进行窃取并对计算机系统进行破坏,给广大计算机用户造成了巨大的经济损失。
为了检测相关的恶意程序,计算机安全研究人员开发了相应的查毒杀毒工具,如在沙箱中运行一段未知代码,通过监控运行行为来分析未知代码是否为恶意代码。
目前,沙箱是在虚拟机内部实现,并通过钩子(Hook)监控的,其中,Hook是一种通过执行系统调用时注入代码的方式来进行系统调用序列监控的方法,但是这种监控方法实现难度较低,容易被恶意代码通过检查公知的Hook点而发现其运行在沙箱中,从而导致在沙箱环境下样本中相关的恶意代码则不执行,进而给安全研究人员分析恶意代码带来干扰。
发明内容
本发明实施例提供了一种沙箱监控方法和装置,用以降低恶意代码通过检查公知的Hook点进行逆向的可能性。
基于上述问题,本发明实施例提供的一种沙箱监控方法,包括:
在沙箱中启动待分析的程序;
确定所述待分析程序的进程ID;
在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;
确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
获取所述系统调用及其参数,并获取所述系统调用的结果,以将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
本发明实施例提供的一种沙箱监控装置,包括:
启动模块,用于在沙箱中启动待分析的程序;
第一确定模块,用于确定所述待分析程序的进程ID;
第二确定模块,用于在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;
第三确定模块,用于确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
获取模块,用于获取所述系统调用及其参数,并获取所述系统调用的结果,以将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
本发明实施例的有益效果包括:
本发明实施例提供的一种沙箱监控方法,在沙箱中启动待分析程序后,首先确定待分析程序的进程ID,并在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用,并在确定该系统调用由所述待分析程序的进程ID标识的进程产生之后,获取所述系统调用及其参数,并获取所述系统调用的结果,再将获取的所述系统调用及其参数和获取的所述系统调用的结果传递给所述杀向分析流程,从而避免了通过Hook来实现沙箱监控技术时,容易被恶意代码通过检查公知的Hook点进行逆向的缺陷。
附图说明
图1为本发明实施例提供的一种沙箱监控方法的流程图;
图2为本发明实施例提供的一种运行沙箱程序的虚拟机的操作系统为Windows系统时在沙箱中启动待分析程序的方法的流程图;
图3为本发明实施例提供的一种判断系统调用是否由待分析程序的进程ID所表示的进程产生的方法的流程图;
图4为本发明实施例提供的一种获取系统调用的参数的方法的流程图;
图5为本发明实施例提供的一种沙箱监控装置的结构图。
具体实施方式
本发明实施例提供了一种沙箱监控方法,通过监控由待分析程序的进程产生的系统调用,从而将该系统调用及其参数和该系统调用的结果传递给沙箱分析流程进行分析,进而避免了通过Hook来实现沙箱监控技术时,容易被恶意代码通过检查公知的Hook点进行逆向的缺陷。
下面结合说明书附图,对本发明实施例提供的一种沙箱监控方法和装置的具体实施方式进行说明。
本发明实施例提供的一种沙箱监控方法,如图1所示,具体包括以下步骤:
S101、在沙箱中启动待分析的程序;
S102、确定所述待分析程序的进程ID;
S103、在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;
S104、确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
S105、获取所述系统调用及其参数,并获取所述系统调用的结果;
S106、将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
其中,当运行沙箱程序的虚拟机的操作系统为Windows系统时,可以采用guestfs等方法将待分析的程序写入沙箱的自动登录用户名的“启动”目录下,这样,在沙箱中启动待分析程序,如图2所示,包括以下步骤:
S201、启动沙箱,Explorer程序启动;
S202、Explorer程序将所述待分析程序启动。
由于待分析程序写入了沙箱的自动登录用户名的“启动”目录下,因此,沙箱启动时,虚拟机中的Explorer程序会启动,然后,Explorer程序会启动待分析程序的进程,由于Explorer程序启动待分析程序时会调用NtCreateProcessEx或NtCreateProcess系统调用,在此阶段,若调用NtCreateProcessEx或NtCreateProcess系统调用的进程为Explorer,且Explorer程序启动的程序的路径在待分析程序放置的路径中,则确认该系统调用正在启动待分析程序。等待该系统调用结束,即可获得待分析程序的进程ID。
其中,特定指令可以包括syscall、sysenter、iret、sysexit指令。
进一步地,可以根据当前产生的中断的中断号来判断当前产生的中断是否为系统调用。具体地,当运行沙箱程序的虚拟机的操作系统为Windows系统时,中断号为0x2E的中断为系统调用;当运行沙箱程序的虚拟机的操作系统为Linux系统时,中断号为0x80的中断为系统调用。
若当前执行的特定指令为syscall或者sysenter指令时,则当前执行的特定指令为系统调用。
进一步地,可以根据图3所示的步骤判断系统调用是否由待分析程序的进程ID所表示的进程产生;
S301、获取运行沙箱程序的虚拟机程序进程空间中与虚拟机操作系统对应的地址;
S302、根据获取的与虚拟机操作系统对应的地址,确定与虚拟机操作系统对应的物理地址;
S303、通过从内存中读取确定的物理地址的数据,获取虚拟机操作系统当前执行的进程的进程ID;
S304、获取的进程的进程ID是否与所述待分析程序的进程ID一致;若是,则执行S305,否则,执行S306;
S305、确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
S306、确定所述系统调用不是由所述待分析程序的进程ID标识的进程产生。
当虚拟机为Windows操作系统时,操作系统正在执行的进程ID可以通过对PsGetCurrentProcessId函数进行反汇编得到。当虚拟机为Linux操作系统时,操作系统正在执行的进程ID可以通过获取ESP寄存器的值后,对其后13位清零后,获取当前执行进程的thread_info,并通过读取其前4个(对64位系统为8个)字节,得到进程task_struct结构体地址,并通过得到的结构体地址+进程ID的偏移量,获取进程ID。
可选地,在实践中,可以采用图4所示的方法获取系统调用的参数;
S401、获取所述系统调用的调用ID;对于windows和linux操作系统来说,系统调用的调用ID都存在eax寄存器中;
S402、根据获取的调用ID,获得所述系统调用的参数列表和所述系统调用对应的寄存器位置;
对于32位的linux操作系统,ptrace系统调用(0x1a)的参数request可以从ebx中获取到,进程ID可以从ecx中获取到,addr可以从edx中获取到,data可以从esi中获取到,这些参数长度均为32位;
作为系统调用参数的用户态地址指针,其内存地址所在的内存页面,在系统调用时一定载入到了物理内存中,因此,用户态地址指针可直接转换为物理地址进行访问。
S403、根据所述系统调用的参数列表和对应的寄存器位置,获取所述系统调用的参数。
在获取了系统调用的调用ID和系统调用的参数后,可以将系统调用的调用ID和系统调用的参数暂存,以供后续输出和在获取到系统调用的调用结果后使用。
获取系统调用的调用结果可以通过在iret、sysexit等指令处理代码处,添加读取代码的方式来实现。对与linux系统而言,系统调用的调用结果存在EAX中。对于windows系统而言,系统调用的调用结果传递机制可通过逆向工程获取;通常的系统调用的调用结果存在于EAX(lo word)和EDX(hi word)中。
本发明实施例提供的一种沙箱监控方法,在执行该方法之前,需要通过直接操作虚拟机硬盘的形式,将待分析的程序放入沙箱中,从而在加载沙箱的操作系统时,可以自动运行待分析的程序;并在虚拟机程序处理中断和特定指令处加入监控代码,从而在在待分析程序运行期间,监控待分析程序的进程产生的系统调用,进而对这些系统调用及其参数和这些系统调用的调用结果进行分析,避免通过Hook实现沙箱监控技术。
基于同一发明构思,本发明实施例还提供了一种沙箱监控装置,由于该装置所解决问题的原理与前述的沙箱监控方法相似,因此该装置的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种沙箱监控装置,如图5所示,包括:
启动模块51,用于在沙箱中启动待分析的程序;
第一确定模块52,用于确定所述待分析程序的进程ID;
第二确定模块53,用于在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;
第三确定模块54,用于确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
获取模块55,用于获取所述系统调用及其参数,并获取所述系统调用的结果,以将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
可选地,第二确定模块53,用于根据当前产生的中断的中断号,确定当前产生的中断为系统调用。
可选地,第二确定模块53,用于若当前执行的特定指令为syscall或者sysenter指令,则确定当前执行的特定指令为系统调用。
可选地,第三确定模块54,用于获取运行沙箱程序的虚拟机程序进程空间中与虚拟机操作系统对应的地址;根据获取的与虚拟机操作系统对应的地址,确定与虚拟机操作系统对应的物理地址;通过从内存中读取确定的物理地址的数据,获取虚拟机操作系统当前执行的进程的进程ID;若获取的进程的进程ID与所述待分析程序的进程ID一致,则确定所述系统调用由所述待分析程序的进程ID标识的进程产生。
可选地,获取模块55,用于获取所述系统调用的调用ID;根据获取的调用ID,获得所述系统调用的参数列表和所述系统调用对应的寄存器位置;根据所述系统调用的参数列表和对应的寄存器位置,获取所述系统调用的参数。
可选地,启动模块51,用于在运行沙箱程序的虚拟机的操作系统为Windows系统时,启动沙箱, Explorer程序启动;Explorer程序将写入所述沙箱的自动登录用户的“启动”目录中的待分析的程序启动。
在实践中,本发明实施例提供的一种沙箱监控装置还可以采用处理器和存储器的方式实现。也就是说,启动模块51、第一确定模块52、第二确定模块53、第三确定模块54和获取模块55可以采用处理器和存储器的方式实现,其中能够实现本发明实施例提供的沙箱监控方法的指令存储在存储器中,处理器通过读取并执行存储器中的指令来实现本发明实施例提供的沙箱监控方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种沙箱监控方法,其特征在于,包括:
在沙箱中启动待分析的程序;
确定所述待分析程序的进程ID;
在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;
确定所述系统调用由所述待分析程序的进程ID标识的进程产生,其中,确定所述系统调用由所述待分析程序的进程ID标识的进程产生,包括:获取运行沙箱程序的虚拟机程序进程空间中与虚拟机操作系统对应的地址;根据获取的与虚拟机操作系统对应的地址,确定与虚拟机操作系统对应的物理地址;通过从内存中读取确定的物理地址的数据,获取虚拟机操作系统当前执行的进程的进程ID;若获取的进程的进程ID与所述待分析程序的进程ID一致,则确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
获取所述系统调用及其参数,并获取所述系统调用的结果,以将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
2.如权利要求1所述的方法,其特征在于,所述特定指令包括下列指令之一或其组合:
syscall、sysenter、iret和sysexit。
3.如权利要求1所述的方法,其特征在于,确定当前产生的中断为系统调用,包括:
根据当前产生的中断的中断号,确定当前产生的中断为系统调用。
4.如权利要求1所述的方法,其特征在于,确定当前执行的特定指令为系统调用,包括:
若当前执行的特定指令为syscall或者sysenter指令,则确定当前执行的特定指令为系统调用。
5.如权利要求1所述的方法,其特征在于,获取所述系统调用及其参数,包括:
获取所述系统调用的调用ID;
根据获取的调用ID,获得所述系统调用的参数列表和所述系统调用对应的寄存器位置;
根据所述系统调用的参数列表和对应的寄存器位置,获取所述系统调用的参数。
6.如权利要求1所述的方法,其特征在于,运行沙箱程序的虚拟机的操作系统为Windows系统,在沙箱中启动待分析的程序,包括:
启动沙箱,Explorer程序启动;
Explorer程序将写入所述沙箱的自动登录用户的“启动”目录中的待分析的程序启动。
7.一种沙箱监控装置,其特征在于,包括:
启动模块,用于在沙箱中启动待分析的程序;
第一确定模块,用于确定所述待分析程序的进程ID;
第二确定模块,用于在待分析程序运行期间,确定当前产生的中断或者执行的特定指令为系统调用;
第三确定模块,用于确定所述系统调用由所述待分析程序的进程ID标识的进程产生,其中,确定所述系统调用由所述待分析程序的进程ID标识的进程产生进一步用于获取运行沙箱程序的虚拟机程序进程空间中与虚拟机操作系统对应的地址;根据获取的与虚拟机操作系统对应的地址,确定与虚拟机操作系统对应的物理地址;通过从内存中读取确定的物理地址的数据,获取虚拟机操作系统当前执行的进程的进程ID;若获取的进程的进程ID与所述待分析程序的进程ID一致,则确定所述系统调用由所述待分析程序的进程ID标识的进程产生;
获取模块,用于获取所述系统调用及其参数,并获取所述系统调用的结果,以将获取的所述系统调用及其参数和所述系统调用的结果传递给所述沙箱分析流程进行分析。
8.如权利要求7所述的装置,其特征在于,所述第二确定模块用于:
根据当前产生的中断的中断号,确定当前产生的中断为系统调用。
9.如权利要求7所述的装置,其特征在于,所述第二确定模块用于:
若当前执行的特定指令为syscall或者sysenter指令,则确定当前执行的特定指令为系统调用。
10.如权利要求7所述的装置,其特征在于,所述获取模块用于:
获取所述系统调用的调用ID;
根据获取的调用ID,获得所述系统调用的参数列表和所述系统调用对应的寄存器位置;
根据所述系统调用的参数列表和对应的寄存器位置,获取所述系统调用的参数。
11.如权利要求7所述的装置,其特征在于,所述启动模块用于:
运行沙箱程序的虚拟机的操作系统为Windows系统时,启动沙箱,Explorer程序启动;
Explorer程序将写入所述沙箱的自动登录用户的“启动”目录中的待分析的程序启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711250084.4A CN109472133B (zh) | 2017-12-01 | 2017-12-01 | 一种沙箱监控方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711250084.4A CN109472133B (zh) | 2017-12-01 | 2017-12-01 | 一种沙箱监控方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109472133A CN109472133A (zh) | 2019-03-15 |
CN109472133B true CN109472133B (zh) | 2021-09-28 |
Family
ID=65658212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711250084.4A Active CN109472133B (zh) | 2017-12-01 | 2017-12-01 | 一种沙箱监控方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109472133B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6526491B2 (en) * | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US20170270292A1 (en) * | 2008-11-26 | 2017-09-21 | David Harrison | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
CN105447382A (zh) * | 2014-09-28 | 2016-03-30 | 北京云巢动脉科技有限公司 | 一种基于沙箱的软件注册表重定向方法及系统 |
CN104766007B (zh) * | 2015-03-27 | 2017-07-21 | 杭州安恒信息技术有限公司 | 一种基于文件系统过滤驱动实现沙箱快速恢复的方法 |
CN105117645B (zh) * | 2015-07-29 | 2018-03-06 | 杭州安恒信息技术有限公司 | 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 |
CN105631332B (zh) * | 2015-12-24 | 2018-10-23 | 北京奇虎科技有限公司 | 一种处理恶意程序的方法及装置 |
CN105653938A (zh) * | 2015-12-31 | 2016-06-08 | 中国电子科技网络信息安全有限公司 | 一种用于虚拟机的沙箱保护系统及方法 |
CN107608758A (zh) * | 2017-08-31 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种虚拟机文件完整性监控方法及系统 |
-
2017
- 2017-12-01 CN CN201711250084.4A patent/CN109472133B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109472133A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10599846B2 (en) | Segregating executable files exhibiting network activity | |
RU2691187C1 (ru) | Система и способы аудита виртуальной машины | |
KR100938672B1 (ko) | 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법 | |
US10055585B2 (en) | Hardware and software execution profiling | |
US8904536B2 (en) | Heuristic method of code analysis | |
RU2653985C2 (ru) | Способ и система обнаружения вредоносного программного обеспечения путем контроля исполнения программного обеспечения запущенного по сценарию | |
CN109471697B (zh) | 一种监控虚拟机中系统调用的方法、装置及存储介质 | |
RU2627107C2 (ru) | Профилирование выполнения кода | |
CN102254113A (zh) | 一种检测和拦截移动终端恶意代码的方法及系统 | |
KR101715759B1 (ko) | 멀티코어 환경에서의 악성코드 분석 장치 및 방법 | |
EP2937807B1 (en) | Monitoring device and monitoring method | |
CN109388946B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
CN109271789B (zh) | 恶意进程检测方法、装置、电子设备及存储介质 | |
EP2988242B1 (en) | Information processing device, and information processing method | |
CN103810222A (zh) | 样本文件的处理方法及装置 | |
Sihag et al. | Opcode n-gram based malware classification in android | |
CN109472133B (zh) | 一种沙箱监控方法和装置 | |
US11934534B2 (en) | Vulnerability analysis of a computer driver | |
KR20110057297A (ko) | 악성 봇 동적 분석 시스템 및 방법 | |
JP2023051738A (ja) | マルウェア検出のための有限状態機械に基づく挙動解析 | |
US10599845B2 (en) | Malicious code deactivating apparatus and method of operating the same | |
CN114266037B (zh) | 一种样本检测方法、装置、电子设备及存储介质 | |
WO2022259528A1 (ja) | 生成装置、生成方法及び生成プログラム | |
RU2679783C2 (ru) | Способ создания сценария популярных событий активации | |
CN115686739A (zh) | 攻击检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |