CN114254613A - 基于IR2Vec的跨架构密码算法识别方法及系统 - Google Patents
基于IR2Vec的跨架构密码算法识别方法及系统 Download PDFInfo
- Publication number
- CN114254613A CN114254613A CN202111328689.7A CN202111328689A CN114254613A CN 114254613 A CN114254613 A CN 114254613A CN 202111328689 A CN202111328689 A CN 202111328689A CN 114254613 A CN114254613 A CN 114254613A
- Authority
- CN
- China
- Prior art keywords
- cryptographic algorithm
- binary program
- architecture
- ir2vec
- intermediate language
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于网络安全技术领域,特别涉及一种基于IR2Vec的跨架构密码算法识别方法及系统,收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据及相应的标准向量表示;利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。本发明在保证密码算法识别效果的同时,能够实现跨架构下算法识别,便于实际应用。
Description
技术领域
本发明属于网络安全技术领域,特别涉及一种基于IR2Vec的跨架构密码算法识别方法及系统。
背景技术
逆向分析技术是恶意代码编写者通用的一项技术。通过对现有程序进行逆向分析,挖掘程序内包含的算法逻辑和关键数据,可有效实施软件盗版甚至基于漏洞的黑客攻击。根据商业软件联盟(the software alliance,简称BSA)2018年发布的软件调查显示,全球范围内有高达36%的已安装软件未经合法授权,对软件产业和用户信息安全均构成极大威胁。对信息利用密码算法加密是对信息保护的通用技术。但一些黑客利用加密技术对恶意软件进行加密保护,使得杀毒软件或信息安全人员无法获得其破坏信息,识别出恶意软件中使用的密码算法后,然后进行解密后,将大大降低信息安全人员的工作难度。
传统的密码算法识别方法有基于关键词识别(例如s盒),此方法对于方法中包含有特殊字符的较为有效,但无法有效识别不包含有明显关键词的密码算法;基于控制流图和数据流图的识别方法又无法应对混淆和优化的策略;对于分类识别密码算法,其只能确认包含有某类密码算法,无法准确识别具体的算法种类。显然,传统的密码算法识别方法已无法满足正常的信息安全人员的需求,算法创新显得尤为重要。为此,亟需一种高效、准确的密码算法识别方法是当前的首要解决的问题。
发明内容
为此,本发明提供一种基于IR2Vec的跨架构密码算法识别方法及系统,解决传统密码算法无法跨架构下识别、识别率低等问题。
按照本发明所提供的设计方案,提供一种基于IR2Vec的跨架构密码算法识别方法,包含如下内容:
收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据集相应的标准向量表示;
利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;
依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。
作为本发明基于IR2Vec的跨架构密码算法识别方法,进一步地,已知密码算法至少包含:crypto++和openssl密码算法库中密码算法,以及已知自定义密码算法。
作为本发明基于IR2Vec的跨架构密码算法识别方法,进一步地,利用LLVM将二进制程序文件转化中间语言过程中,通过反编译生成只包含入口函数函数体的中间语言文件。
作为本发明基于IR2Vec的跨架构密码算法识别方法,进一步地,生成中间语言文件时,通过寻找函数入口,在函数内部进行遍历,在外部函数内联扩展到函数调用处,并按照函数体进行存储。
作为本发明基于IR2Vec的跨架构密码算法识别方法,进一步地,利用LLVM转化成中间语言,首先,对中间语言进行归一化处理,生成统一的IR2Vec词向量模型输入。
作为本发明基于IR2Vec的跨架构密码算法识别方法,进一步地,IR2Vec词向量模型基于word2vec的skip-gram模型构建,该IR2Vec词向量模型将中间语言中的语句映射到向量空间,并通过移动滑动窗口,利用滑动窗口中心语句的语义来预测中心语句上下文的语义。
作为本发明基于IR2Vec的跨架构密码算法识别方法,进一步地,利用余弦距离来计算向量表示之间的相似值,依据相似值大小来度量目标文件密码算法与已知密码算法相似度。
进一步地,本发明还提供一种基于IR2Vec的跨架构密码算法识别系统,包含:样本数据处理模块、目标数据处理模块和相似度度量模块,其中,
样本数据处理模块,用于收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据集相应的标准向量表示;
目标数据处理模块,利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;
相似度度量模块,依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。
本发明的有益效果:
本发明在传统自然语言相似性识别算法的基础上,利用LLVM架构不同的前端后端使用统一的中间代码,将不同架构下的二进制文件转换成LL文件并进行相似性识别,从而实现跨架构密码算法相似性识别,在保证密码算法识别率的同时,提升密码算法识别效果,具有较好的应用前景。
附图说明:
图1为实施例中基于IR2Vec的跨架构密码算法识别方法流程示意;
图2为实施例中密码算法识别原理框图示意;
图3为实施例中LL中间语言文件归一化过程示意;
图4为实施例中IR2Vec模型内部的数据转换示意;
图5为实施例中IR2VEC模型原理示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
传统的密码算法识别静态方法,主要通过静态常量、签名以及单纯的通过控制流图和数据流图进行判断,识别密码算法。这种方法只能识别混淆和优化程度较低的代码,难以识别高混淆程度的密码算法,并且,无法识别不同架构下的程序,不符合软件产业发展的需求。本发明实施例,提供一种基于IR2Vec的跨架构密码算法识别方法,参见图1所示,包含如下内容:
S101、收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据集相应的标准向量表示;
S102、利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;
S103、依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。
针对不同架构,不同编译器,不同优化方案下二进制程序中的密码算法识别问题,通过将不同架构的二进制语言利用LLVM转换成中间语言,通过IR2Vec学习其语义关系,生成不同的向量。根据各可能存在的密码算法的向量进行计算判断是否为同一类密码算法,以解决传统密码识别中无法识别跨架构下的密码算法。
作为本发明实施例中基于IR2Vec的跨架构密码算法识别方法,进一步地,已知密码算法至少包含:crypto++和openssl密码算法库中密码算法,以及已知自定义密码算法。进一步地,利用LLVM将二进制程序文件转化中间语言过程中,通过反编译生成只包含入口函数函数体的中间语言文件。进一步地,生成中间语言文件时,通过寻找函数入口,在函数内部进行遍历,在外部函数内联扩展到函数调用处,并按照函数体进行存储。
将crypto++和openssl密码算法库以及其他自定义密码算法在不同的架构下利用不同的编译选项生成二进制文件,用作数据集,然后同样转换成归一化的中间语言。参见图2所示,将二进制文件通过LLVM-Retdec反编译转成LL中间语言,不同架构下转换过来的中间语言格式有些差别,所以需要进行归一化处理,以便于输入到IR2Vec模型中。图示中的X86,MIPS,Arm三种架构下LL文件的归一化可参考图3所示。MIPS架构下反编译生成的LL文件,为精简指令,函数体较少,且没有全局变量;遍历整个文件,寻找main函数入口,如果有外部函数调用,将外部函数内联到函数调用处。Arm架构下反编译生成的LL文件中函数体和源代码最为相似,可读性较强,基本与源码中的函数体一一对应;遍历整个文件,根据define字符串将文件进行划分,按照函数体存储,寻找main函数入口,进入main函数内部进行遍历,在外部函数调用处按照函数名寻找对应函数体,将对应函数体内联到函数调用处。X86架构下反编译出来的LL文件可读性较差,调用函数较多,不利于后期语义的识别遍历整个文件;根据define字符串将文件进行划分,按照函数体存储,寻找entry_point函数入口,进入entry_point函数内部进行遍历,在外部函数调用处按照函数名寻找对应函数体,将对应函数体内联到函数调用处。最终将MIPS,Arm以及x86架构反编译生成的LL文件归一到一个LL文件只包含有入口函数的函数体。
通过利用低级虚拟机LLVM将不同架构下的二进制程序转换为统一的中间语言,解决了不同架构下程序不能相互识别的问题;利用语义关系学习,替代传统识别方法中的数据流和控制流的简单判断,能够识别出程序中深层次的语义关系,提高其识别准确率。传统的密码算法识别中,对于多函数相互调用实现的密码算法识别率较低,而本案方案中从中间语言和语义学习的工作机制入手,以中间语言的函数内联为基础,通过中间语言层面函数内联可以很好的解决该问题。
作为本发明实施例中基于IR2Vec的跨架构密码算法识别方法,进一步地,利用LLVM转化成中间语言,首先,对中间语言进行归一化处理,生成统一的IR2Vec词向量模型输入。
利用中间语言归一化处理和密码算法语义向量分类机制,将在不同架构下功能相似但表达不一致的函数进行归一化处理,达到各架构语言可相互理解,并通过对归一化后的语言在IR2Vec下进行语义学习来达到针对不同架构下的二进制程序的程序理解。实现帮助逆向分析,保护计算机安全的目的。将不同架构下的二进制程序转变为中间语言,在该层面,对程序进行函数内联和归一化处理。将归一后的中间语言输入到IR2Vec转换成相应的向量进行语义学习。将语义向量与已知的密码算法向量进行距离计算,以实现密码算法的分类识别。
作为本发明实施例中基于IR2Vec的跨架构密码算法识别方法,进一步地,IR2Vec词向量模型基于word2vec的skip-gram模型构建,该IR2Vec词向量模型将中间语言中的语句映射到向量空间,并通过移动滑动窗口,利用滑动窗口中心语句的语义来预测中心语句上下文的语义。进一步地,利用余弦距离来计算向量表示之间的相似值,依据相似值大小来度量目标文件密码算法与已知密码算法相似度。
在预训练之后,在隐藏层会生成一个包含中间语言各个词的矩阵,该矩阵的各个数值可表示各个特征的含义。将数据集中输入的每句指令的操作符或者操作数转换成一个向量,如果是多个操作数,则向量进行求和后取平均值,然后与操作符进行向量的拼接;拼接后的向量存储为整条指令的向量,然后通过训练好的隐藏矩阵以及激活函数进行下一条指令的预测。参见图4和5所示,在中间语言层面,程序通过移动滑动窗口,根据窗口中心语句的语义来预测中心语句上下文的语义。将LL文件中的语句映射到向量空间,中心语句的上下文语义根据中心词和隐藏层矩阵计算得到,在此基础上,将需要对比的两个文件的向量值[A1,A2,A3,....An],[B1,B2,B3,...,Bn],通过余弦距离公式进行计算,得到其相似值。向量值的夹角越小,余弦值越大,证明其相似度越大。
进一步地,基于上述的方法,本发明实施例还提供一种基于IR2Vec的跨架构密码算法识别系统,包含:样本数据处理模块、目标数据处理模块和相似度度量模块,其中,
样本数据处理模块,用于收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据集相应的标准向量表示;
目标数据处理模块,利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;
相似度度量模块,依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。
本案方案在传统自然语言相似性识别算法的基础上,利用LLVM架构不同的前端后端使用统一的中间代码,将不同架构下的二进制文件转换成LL文件进行相似性识别,从而实现跨架构密码算法识别的效果,也可将模块集成,利用无监督学习方法来实现密码算法的分类识别,便于实际场景应用。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述系统实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述系统实施例中相应内容。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、系统和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和系统,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述系统的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种基于IR2Vec的跨架构密码算法识别方法,其特征在于,包含如下内容:
收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据集相应的标准向量表示;
利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;
依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。
2.根据权利要求1所述的基于IR2Vec的跨架构密码算法识别方法,其特征在于,已知密码算法至少包含:crypto++和openssl密码算法库中密码算法,以及已知自定义密码算法。
3.根据权利要求1或2所述的基于IR2Vec的跨架构密码算法识别方法,其特征在于,利用LLVM将二进制程序文件转化中间语言过程中,通过反编译生成只包含入口函数函数体的中间语言文件。
4.根据权利要求3所述的基于IR2Vec的跨架构密码算法识别方法,其特征在于,生成中间语言文件时,通过寻找函数入口,在函数内部进行遍历,将外部函数内联扩展到函数调用处,并按照函数体进行存储。
5.根据权利要求1所述的基于IR2Vec的跨架构密码算法识别方法,其特征在于,利用LLVM转化成中间语言,首先,对中间语言进行归一化处理,生成统一的IR2Vec词向量模型输入。
6.根据权利要求1所述的基于IR2Vec的跨架构密码算法识别方法,其特征在于,IR2Vec词向量模型基于word2vec的skip-gram模型构建,该IR2Vec词向量模型将中间语言中的语句映射到向量空间,并通过移动滑动窗口,利用滑动窗口中心语句的语义来预测中心语句上下文的语义。
7.根据权利要求1所述的基于IR2Vec的跨架构密码算法识别方法,其特征在于,利用余弦距离来计算向量表示之间的相似值,依据相似值大小来度量目标文件密码算法与已知密码算法相似度。
8.一种基于IR2Vec的跨架构密码算法识别系统,其特征在于,包含:样本数据处理模块、目标数据处理模块和相似度度量模块,其中,
样本数据处理模块,用于收集已知密码算法在不同架构下和/或利用不同编译选项生成的二进制程序文件,将收集到的二进制程序文件作为数据集,利用LLVM将数据集中二进制程序文件转化成中间语言,并利用已训练的IR2Vec词向量模型通过学习上下文语义来生成数据集相应的标准向量表示;
目标数据处理模块,利用LLVM将目标二进制程序文件转换成中间语言,并通过已训练的IR2Vec词向量模型通过学习上下文语义来生成目标二进制程序文件的向量表示;
相似度度量模块,依据目标二进制程序文件的向量表示和标准向量表示两者相似度来识别目标二进制程序文件密码算法。
9.一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行权利要求1~7任一项所述的方法。
10.一种计算机可读介质,其上存储有被处理器运行的计算机程序,所述计算机程序用于执行权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111328689.7A CN114254613A (zh) | 2021-11-10 | 2021-11-10 | 基于IR2Vec的跨架构密码算法识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111328689.7A CN114254613A (zh) | 2021-11-10 | 2021-11-10 | 基于IR2Vec的跨架构密码算法识别方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254613A true CN114254613A (zh) | 2022-03-29 |
Family
ID=80790720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111328689.7A Pending CN114254613A (zh) | 2021-11-10 | 2021-11-10 | 基于IR2Vec的跨架构密码算法识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254613A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473494A (zh) * | 2023-06-06 | 2024-01-30 | 兴华永恒(北京)科技有限责任公司 | 同源二进制文件的确定方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-10 CN CN202111328689.7A patent/CN114254613A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473494A (zh) * | 2023-06-06 | 2024-01-30 | 兴华永恒(北京)科技有限责任公司 | 同源二进制文件的确定方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zuo et al. | Neural machine translation inspired binary code similarity comparison beyond function pairs | |
Hashemi et al. | Graph embedding as a new approach for unknown malware detection | |
Alrabaee et al. | Fossil: a resilient and efficient system for identifying foss functions in malware binaries | |
US11481494B2 (en) | System and method for identifying and comparing code by semantic abstractions | |
Cho et al. | Security assessment of code obfuscation based on dynamic monitoring in android things | |
Chaumette et al. | Automated extraction of polymorphic virus signatures using abstract interpretation | |
Jia et al. | A neural network-based approach for cryptographic function detection in malware | |
Yesir et al. | Malware detection and classification using fastText and BERT | |
CN114254613A (zh) | 基于IR2Vec的跨架构密码算法识别方法及系统 | |
Gao et al. | Obfuscation-Resilient Android Malware Analysis Based on Complementary Features | |
Patrick-Evans et al. | Xfl: Naming functions in binaries with extreme multi-label learning | |
Mai et al. | MobileNet-Based IoT Malware Detection with Opcode Features | |
Şahin | Malware detection using transformers-based model GPT-2 | |
Li et al. | A novel threat intelligence information extraction system combining multiple models | |
Jeon et al. | Static analysis for malware detection with tensorflow and gpu | |
Zhu et al. | A firmware code gene extraction technology for IoT terminal | |
Adhikari et al. | Using the Strings Metadata to Detect the Source Language of the Binary | |
Ding et al. | MGeT: malware gene-based malware dynamic analyses | |
Gu et al. | Detecting unknown vulnerabilities in smart contracts with multi-label classification model using CNN-BiLSTM | |
Samantray et al. | An efficient hybrid approach for malware detection using frequent opcodes and API call sequences | |
Harnes et al. | SoK: Analysis Techniques for WebAssembly | |
He et al. | UA-Miner: deep learning systems for expose unprotected API vulnerability in source code | |
Tang et al. | Anti-obfuscation binary code clone detection based on software gene | |
Tang et al. | Interpretation of learning-based automatic source code vulnerability detection model using LIME | |
US20220358214A1 (en) | Systems and methods for binary code analysis |
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 |