WO2019237849A1 - Formalized method for analyzing code vulnerabilities that may cause attack - Google Patents

Formalized method for analyzing code vulnerabilities that may cause attack Download PDF

Info

Publication number
WO2019237849A1
WO2019237849A1 PCT/CN2019/085598 CN2019085598W WO2019237849A1 WO 2019237849 A1 WO2019237849 A1 WO 2019237849A1 CN 2019085598 W CN2019085598 W CN 2019085598W WO 2019237849 A1 WO2019237849 A1 WO 2019237849A1
Authority
WO
WIPO (PCT)
Prior art keywords
executed
statement
file
code
searching
Prior art date
Application number
PCT/CN2019/085598
Other languages
French (fr)
Chinese (zh)
Inventor
杨力祥
Original Assignee
杨力祥
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 杨力祥 filed Critical 杨力祥
Publication of WO2019237849A1 publication Critical patent/WO2019237849A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

The present invention relates to information technology, in particular to the field of information security. Disclosed is a formalized method for analyzing code vulnerabilities that may cause an attack, specifically comprising searching for hidden execution sequences and hiding codes, and searching for privileged instructions. By applying the solution provided by the present invention, attacks such as a dirty cow vulnerability can be prevented, and unauthorized operations performed during running because of the existence of unnecessary instructions in a file can be prevented.

Description

一种形式化的发现可能引发攻击风险的代码漏洞的分析方法A Formal Analysis Method for Code Vulnerabilities That May Cause Attack Risk 技术领域Technical field
本申请涉及信息技术领域,特别涉及一种形式化的发现可能引发攻击风险的代码漏洞的分析方法。The present application relates to the field of information technology, and in particular, to a formal analysis method for finding code loopholes that may cause attack risks.
背景技术Background technique
现有技术中,存在通过引发一种特定的执行序分支,进而非法的获得root权限的攻击方式。例如,不久前发现的脏牛(Dirty Cow)漏洞和大脏牛(Huge Dirty Cow)漏洞,就是上述攻击方式的一种具体实现方式。由于其不需要传统的缓冲区溢出等方式,因此更具有隐蔽性,更加难以被现有技术中基于模式识别的防攻击方法,例如杀毒软件、漏洞检测工具等识别,因此具有更大的危害。In the prior art, there is an attack manner in which a specific execution order branch is triggered to illegally obtain root authority. For example, the Dirty Cow and Huge Dirty Cow vulnerabilities discovered a while ago are a specific implementation of the aforementioned attack methods. Because it does not require the traditional buffer overflow and other methods, it is more concealed and more difficult to be identified by the pattern recognition-based anti-attack methods in the prior art, such as antivirus software, vulnerability detection tools, and so has greater harm.
发明内容Summary of the Invention
针对现有技术中难以发现某些隐藏的特定执行序分支可能导致攻击者可以非法获得root权限的缺陷,本发明公开了一种发现潜在可能引发攻击风险的代码漏洞的分析方法,特别的,涉及一种形式化的发现可能引发攻击风险的代码漏洞的分析方法。Aiming at the defect that it is difficult to find some hidden specific execution order branches in the prior art that may cause an attacker to obtain root privileges illegally, the present invention discloses an analysis method for discovering code vulnerabilities that may cause attack risks. A formal analysis method that finds code vulnerabilities that could pose an attack risk.
在本发明的一种具体实现方式中,一种搜索隐藏执行序的方法,其特征在于:在编译阶段统计程序所有的涉及分支的执行序;在运行时记录所有执行到的分支执行序,并与编译阶段统计结果作比对,以此确定哪些分支执行序没有 执行到,没有执行到的执行序,就是隐藏执行序。In a specific implementation manner of the present invention, a method for searching for a hidden execution order is characterized in that: all the execution orders of branches involved in the program are counted during the compilation phase; all branch execution orders that are executed are recorded at runtime, and Compare with the statistical results of the compilation stage to determine which branch execution order has not been executed, and the execution order that has not been executed is to hide the execution order.
在本发明的一种具体实现方式中,一种搜索隐藏代码的方法,其特征在于:在编译阶段统计程序所有的代码;在运行时记录所有执行到代码,并与编译阶段统计结果作比对,以此确定哪些代码没有执行到,没有执行到的代码,就是隐藏代码。In a specific implementation of the present invention, a method for searching for hidden code is characterized in that all the code of the program is counted during the compilation phase; all the executed code is recorded during the run time and compared with the statistical results of the compilation phase. To determine which code has not been executed, and the code that has not been executed is to hide the code.
在本发明的一种具体实现方式中,一种搜索特权指令的方法,其特征在于:在使用者指定的文件中,搜索使用者指定的机器指令,如果发现,将指令位置反馈给使用者,反之,提示没有相应指令。In a specific implementation of the present invention, a method for searching for a privileged instruction is characterized in that: a user-specified machine instruction is searched in a file designated by the user, and if found, the instruction position is fed back to the user, On the contrary, there is no corresponding instruction.
本发明的技术方案可以实现以下技术效果:The technical solution of the present invention can achieve the following technical effects:
通过搜索隐藏执行序的方法,可以发现程序中常态下不会出现,而在攻击状态下会导致攻击的执行序,如Dirty Cow。By searching for the hidden execution order, you can find that the program does not appear in the normal state, and under the attack state, it will cause the execution order of the attack, such as DirtyCow.
通过搜索隐藏代码的方法,可以发现程序中不需要外部激励,而通过特定条件就能启动攻击的漏洞,如逻辑炸弹。By searching for hidden code methods, you can find vulnerabilities in the program that do not require external incentives, but can initiate attacks through specific conditions, such as logic bombs.
通过搜索特定指令的方法,可以发现指定文件中是否存在指定机器指令,以防止文件中出现不该出现的指令而导致运行时越权操作。By searching for specific instructions, you can find out whether there are specified machine instructions in the specified file to prevent unauthorized instructions from appearing in the file and causing unauthorized operations at runtime.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings in the following description are merely These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without paying creative labor.
图1:语法树节点记录语句信息示意图Figure 1: Schematic diagram of syntax tree node record statement information
图2:示例程序执行后可能出现的全部分支执行序示意图Figure 2: Execution diagram of all branches that may occur after the sample program is executed
图3:示例程序某个语句对应节点的示意图Figure 3: Schematic diagram of the node corresponding to a statement in the sample program
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In the following, the technical solutions in the embodiments of the present invention will be clearly and completely described with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
以下通过具体的实施方式来具体的说明本发明的技术内容。The technical content of the present invention will be specifically described below through specific embodiments.
实施例1Example 1
搜索隐藏执行序小工具实施方案Search hidden execution order gadget implementation
在编译的语法分析过程中,记录下每一条语句所在源文件的文件号、在源文件中的行号、以及在每一行中对应的语句号,一套优选的方案是,将这些信息记录在每条语句形成的语法树根节点上。图1表示了一种通过语法树根节点记录上述信息的可选的方式。In the process of compiling syntax analysis, record the file number of the source file where each statement is located, the line number in the source file, and the corresponding statement number in each line. A preferred solution is to record this information in Each statement forms at the root of the syntax tree. Figure 1 shows an alternative way to record the above information through the root node of the syntax tree.
图1最左侧的子树描述了该子树对应文件号0中,位于第55行的第0号语句,这些信息记录在图1最左侧的子树的根节点中。图1中间位置和最后侧的子树记录了其对应语句的信息。The leftmost subtree of FIG. 1 describes the 0th statement in line 55 of the subtree corresponding to file number 0, and this information is recorded in the root node of the leftmost subtree of FIG. The sub-trees in the middle position and the back side of FIG. 1 record information of their corresponding sentences.
每条语句经编译生成的汇编指令,都对应一套文件号、行号和语句号,这些定位信息和汇编指令一起,被保存在目标文件A中,情景如下所示:The compiled assembly instructions for each statement correspond to a set of file numbers, line numbers, and statement numbers. These positioning information, along with the assembly instructions, are stored in object file A. The scenario is as follows:
文件号:0 行号:55 语句号:0File number: 0 Line number: 55 Statement number: 0
语句A经编译生成的汇编指令Statement A compiled assembly instructions
文件号:1 行号:18 语句号:0File number: 1 Line number: 18 Statement number: 0
语句B经编译生成的汇编指令Statement B compiled assembly instructions
文件号:1 行号:18 语句号:1File number: 1 Line number: 18 Statement number: 1
语句C经编译生成的汇编指令Statement C compiled assembly instructions
目标文件A中的汇编指令和定位信息,最终被保存在可执行文件中。The assembly instructions and positioning information in object file A are finally saved in the executable file.
除此之外,还要在编译阶段确定并记录下,程序执行时可能出现的全部分支执行序,比如有如下源程序:In addition, you must determine and record all branch execution orders that may occur during program execution during the compilation phase, such as the following source program:
01:int main()01: int main ()
02:{02: {
03:int a=4,b=3,c=2,d=1;03: int a = 4, b = 3, c = 2, d = 1;
04:int m=10,n=5;04: intm = 10, n = 5;
05:if(a>b)05: if (a> b)
06:{06: {
07:m=n;07: m = n;
08:}08:}
09:if(a>c)09: if (a> c)
10:{10: {
11:n=m;11: n = m;
12:}12:}
13:else if(c>d)13: else if (c> d)
14:{14: {
15:m=n;15: m = n;
16:}16:}
17:else17: else
18:{18: {
19:n=m;19: n = m;
20:}20:}
21:num1:21: num1:
22:switch(a)22: switch (a)
23:{twenty three:{
24:case 3:24: case 3:
25:m=n;25: m = n;
26:break;26: break;
27:case 4:27: case 4:
28:a=a+1;28: a = a + 1;
29:break;29: break;
30:case 5:30: case 5:
31:a=a+b;31: a = a + b;
32:break;32: break;
33:case 6:33: case 6:
34:a=a-1;34: a = a-1;
35:break;35: break;
36:default:36: default:
37:break;37: break;
38:}38:}
39:return 0;39: return 0;
40:}40:}
图2表示了上述示例程序执行后可能出现的全部分支执行序示意图。上述示例程序中,标号为05、09、13、17、24、27、30、33的代码处可能产生分支,图2右侧的结构的与上述程序可能产生的分支相对应。Figure 2 shows the execution sequence diagram of all branches that may occur after the above example program is executed. In the above example program, the codes labeled 05, 09, 13, 17, 24, 27, 30, and 33 may generate branches, and the structure on the right side of FIG. 2 corresponds to the branches that may be generated by the above program.
以标号09处的结构为例,图3具体展示了该结构。其中,“00 09 00”分别表示的是分支语句所在文件号,分支语句所在行号,分支语句在行中的语句号;其下有两个分支,其中,为0的分支代表分支语句执行结果为假时的执行序;为1的分支代表分支语句执行结果为真时的执行序。Taking the structure at reference numeral 09 as an example, FIG. 3 shows the structure in detail. Among them, "00" and "00" respectively represent the file number of the branch statement, the line number of the branch statement, and the statement number of the branch statement in the line; there are two branches below, where the branch with 0 represents the execution result of the branch statement The execution order when it is false; the branch that is 1 represents the execution order when the execution result of the branch statement is true.
搜索可执行文件中隐藏执行序的方法是:在可执行程序加载并执行时,将EFLAGES寄存器中的TF为置为1,这样可执行程序每执行一条指令,都会产生一个调试异常,内核中的调试异常服务程序,可以根据可执行程序中的定位信息,确定当期执行的指令是否属于分支指令,如果不是,不予处理,如果是,确定其属于哪个文件、哪个行号、哪条语句,并以二叉树结构记录下来。等到可执行程序的执行测试完毕后,执行过的分支语句,就会形成一棵二叉树,用这个二叉树,和编译期间形成的全部分支语句形成的二叉树,就可以确定哪些执行序没有执行到,这些没有执行到的分支执行序,就是隐藏执行序。The method of searching the hidden execution order in the executable file is: when the executable program is loaded and executed, set TF in the EFLAGES register to 1, so that each time the executable program executes an instruction, a debug exception is generated. Debugging an exception service program can determine whether the current instruction is a branch instruction based on the positioning information in the executable program. If it is not, it is not processed. If it is, determine which file, line number, and statement it belongs to, and Recorded in a binary tree structure. After the execution test of the executable program is completed, the executed branch statements will form a binary tree. Using this binary tree and the binary tree formed by all the branch statements formed during compilation, you can determine which execution orders have not been executed. These The execution order of the branch that is not executed is to hide the execution order.
实施例2Example 2
搜索隐藏代码小工具实施方案Search for code-behind gadget implementations
在编译的语法分析过程中,记录下每一条语句所在源文件的文件号、在源文件中的行号、以及在每一行中对应的语句号,一套优选的方案是,将这些信息记录在每条语句形成的语法树根节点上。图1表示了一种通过语法树根节点记录上述信息的可选的方式。In the process of compiling syntax analysis, record the file number of the source file where each statement is located, the line number in the source file, and the corresponding statement number in each line. A preferred solution is to record this information in Each statement forms at the root of the syntax tree. Figure 1 shows an alternative way to record the above information through the root node of the syntax tree.
图1最左侧的子树描述了该子树对应文件号0中,位于第55行的第0号语句,这些信息记录在图1最左侧的子树的根节点中。图1中间位置和最后侧的子树记录了其对应语句的信息。The leftmost subtree of FIG. 1 describes the 0th statement in line 55 of the subtree corresponding to file number 0, and this information is recorded in the root node of the leftmost subtree of FIG. The sub-trees in the middle position and the back side of FIG. 1 record information of their corresponding sentences.
每条语句经编译生成的汇编指令,都对应一套文件号、行号和语句号,这些定位信息和汇编指令一起,被保存在目标文件A中,情景如下所示:The compiled assembly instructions for each statement correspond to a set of file numbers, line numbers, and statement numbers. These positioning information, along with the assembly instructions, are stored in object file A. The scenario is as follows:
文件号:0 行号:55 语句号:0File number: 0 Line number: 55 Statement number: 0
语句A经编译生成的汇编指令Statement A compiled assembly instructions
文件号:1 行号:18 语句号:0File number: 1 Line number: 18 Statement number: 0
语句B经编译生成的汇编指令Statement B compiled assembly instructions
文件号:1 行号:18 语句号:1File number: 1 Line number: 18 Statement number: 1
语句C经编译生成的汇编指令Statement C compiled assembly instructions
目标文件A中的汇编指令和定位信息,最终被保存在可执行文件中。The assembly instructions and positioning information in object file A are finally saved in the executable file.
搜索可执行文件中隐藏代码的方法是:在可执行程序加载并执行时,将 EFLAGES寄存器中的TF为置为1,这样可执行程序每执行一条指令,都会产生一个调试异常,内核中的调试异常服务程序,可以根据可执行程序中的定位信息,确定当时执行的指令,属于哪个文件、哪个行号、哪条语句,并记录下来。等到可执行程序的执行测试完毕后,系统就可以统计出所有执行过的指令对应语句的文件号、行号和语句号,用这些信息和编译期间形成的全部定位信息作比对,就可以确定哪些语句没有执行过,这些没有执行过的语句,就是隐藏代码。The method of searching for hidden code in the executable file is: when the executable program is loaded and executed, set TF in the EFLAGES register to 1, so that each time the executable program executes an instruction, a debug exception is generated, and the kernel debugs The exception service program can determine which file, line number, and statement belong to the instructions executed at the time according to the positioning information in the executable program, and record them. After the execution test of the executable program is completed, the system can count the file numbers, line numbers, and statement numbers of the statements corresponding to all the executed instructions, and use this information to compare with all the positioning information formed during compilation to determine. Which statements have not been executed, and those statements that have not been executed are code hiding.
实施例3Example 3
搜索特定指令小工具实施方案Search for specific instruction gadget implementations
为使用者提供人机交互界面,允许使用者输入需要扫描的机器指令以及目标文件,根据输入,小工具在指定目标文件中搜索相应机器指令是否存在,如果存在,确定指令位置并显示给用户,否则,提示用户相应指令不存在。Provide a human-computer interaction interface for users, allowing users to enter machine instructions and target files to be scanned. According to the input, the gadget searches the specified target files for the existence of the corresponding machine instructions. If so, determines the location of the instructions and displays them to the user. Otherwise, the user is prompted that the corresponding instruction does not exist.
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。The above descriptions are merely preferred embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention are included in the protection scope of the present invention.

Claims (3)

  1. 一种搜索隐藏执行序的方法,其特征在于:在编译阶段统计程序所有的涉及分支的执行序;在运行时记录所有执行到的分支执行序,并与编译阶段统计结果作比对,以此确定哪些分支执行序没有执行到,没有执行到的执行序,就是隐藏执行序。A method for searching for hidden execution order, which is characterized in that all execution orders of branches involved in the program are counted during the compilation phase; all execution order of branches that are executed are recorded at runtime and compared with the statistical results of the compilation phase, so that To determine which branch execution order has not been executed, the execution order that has not been executed is to hide the execution order.
  2. 一种搜索隐藏代码的方法,其特征在于:在编译阶段统计程序所有的代码;在运行时记录所有执行到代码,并与编译阶段统计结果作比对,以此确定哪些代码没有执行到,没有执行到的代码,就是隐藏代码。A method for searching for hidden code, which is characterized in that all the code of the program is counted during the compilation phase; all the executed code is recorded at runtime and compared with the statistical results of the compilation phase to determine which codes have not been executed and not The executed code is the hidden code.
  3. 一种搜索特权指令的方法,其特征在于:在使用者指定的文件中,搜索使用者指定的机器指令,如果发现,将指令位置反馈给使用者,反之,提示没有相应指令。A method for searching for a privileged instruction, which is characterized in that a user-specified machine instruction is searched in a file designated by the user, and if found, the instruction position is fed back to the user, otherwise, there is no corresponding instruction.
PCT/CN2019/085598 2018-06-12 2019-05-06 Formalized method for analyzing code vulnerabilities that may cause attack WO2019237849A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810605379.7A CN110598407A (en) 2018-06-12 2018-06-12 Formalized analysis method for discovering code vulnerability possibly causing attack risk
CN201810605379.7 2018-06-12

Publications (1)

Publication Number Publication Date
WO2019237849A1 true WO2019237849A1 (en) 2019-12-19

Family

ID=68841739

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/085598 WO2019237849A1 (en) 2018-06-12 2019-05-06 Formalized method for analyzing code vulnerabilities that may cause attack

Country Status (2)

Country Link
CN (1) CN110598407A (en)
WO (1) WO2019237849A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312518B1 (en) * 2007-09-27 2012-11-13 Avaya Inc. Island of trust in a service-oriented environment
CN107193590A (en) * 2017-05-10 2017-09-22 北京海杭通讯科技有限公司 A kind of anti-root methods based on android

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246708A (en) * 2013-04-16 2013-08-14 康佳集团股份有限公司 Multi-screen interactive search method and system based on intelligent terminals
CN106445803B (en) * 2016-08-17 2019-03-01 中国航空工业集团公司西安飞行自动控制研究所 A kind of safety-critical embedded software object code coverage ratio analysis method
CN107679402A (en) * 2017-09-28 2018-02-09 四川长虹电器股份有限公司 Malicious code behavioural characteristic extracting method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312518B1 (en) * 2007-09-27 2012-11-13 Avaya Inc. Island of trust in a service-oriented environment
CN107193590A (en) * 2017-05-10 2017-09-22 北京海杭通讯科技有限公司 A kind of anti-root methods based on android

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ROYAL, P. ET AL.: "PolyUnpack: Automating the Hidden-Code Extraction of Unpack-Executing Malware", COMPUTER SECURITY APPLICATIONS CONFERENCE, 2006. ACSAC '06. 22ND ANNUAL, 26 December 2006 (2006-12-26), pages 289 - 300, XP031033569, ISSN: 1063-9527 *

Also Published As

Publication number Publication date
CN110598407A (en) 2019-12-20

Similar Documents

Publication Publication Date Title
Xu et al. Spain: security patch analysis for binaries towards understanding the pain and pills
US9715593B2 (en) Software vulnerabilities detection system and methods
Bao et al. {BYTEWEIGHT}: Learning to recognize functions in binary code
Bruschi et al. Code normalization for self-mutating malware
Xue et al. Accurate and scalable cross-architecture cross-os binary code search with emulation
Tian et al. Software plagiarism detection with birthmarks based on dynamic key instruction sequences
US9824214B2 (en) High performance software vulnerabilities detection system and methods
US10162966B1 (en) Anti-malware system with evasion code detection and rectification
Ji et al. The coming era of alphahacking?: A survey of automatic software vulnerability detection, exploitation and patching techniques
Bruschi et al. Using code normalization for fighting self-mutating malware
Coppens et al. Feedback-driven binary code diversification
CN105787305A (en) Software protection method capable of resisting symbolic execution and taint analysis
Zhang et al. A survey of software clone detection from security perspective
EP3495978B1 (en) Method for detecting vulnerabilities in software
Muntean et al. Intrepair: Informed repairing of integer overflows
Liao et al. Smartdagger: a bytecode-based static analysis approach for detecting cross-contract vulnerability
Kan et al. Automated deobfuscation of Android native binary code
Fang et al. Beyond “Protected” and “Private”: An Empirical Security Analysis of Custom Function Modifiers in Smart Contracts
Mouzarani et al. A smart fuzzing method for detecting heap-based buffer overflow in executable codes
WO2019237849A1 (en) Formalized method for analyzing code vulnerabilities that may cause attack
Ma et al. Communication-based attacks detection in android applications
Liu et al. Concspectre: Be aware of forthcoming malware hidden in concurrent programs
Li et al. Chosen-instruction attack against commercial code virtualization obfuscators
Shin et al. Automatic static bug detection for machine learning libraries: Are we there yet?
Harzevili et al. Automatic Static Vulnerability Detection for Machine Learning Libraries: Are We There Yet?

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19818727

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19818727

Country of ref document: EP

Kind code of ref document: A1