CN116244706A - 一种无人***嵌入式处理器隐藏指令防御方法 - Google Patents
一种无人***嵌入式处理器隐藏指令防御方法 Download PDFInfo
- Publication number
- CN116244706A CN116244706A CN202310250784.2A CN202310250784A CN116244706A CN 116244706 A CN116244706 A CN 116244706A CN 202310250784 A CN202310250784 A CN 202310250784A CN 116244706 A CN116244706 A CN 116244706A
- Authority
- CN
- China
- Prior art keywords
- instruction
- hidden
- data
- section
- file
- 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
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
该发明公开了一种无人***嵌入式处理器隐藏指令防御方法,涉及领域为硬件安全领域,针对无人***中采用的嵌入式处理器,对其代码指令进行检测。该发明针对嵌入式处理器存在的隐藏指令进行检测和防御,以达到提高无人***中嵌入式处理器的安全性。首先对特定型号的嵌入式处理器进行隐藏指令挖掘工作,记录隐藏指令作为信息库进行保存,然后提取目标板卡上片外存储器的用户设计内容,并处理得到程序代码指令部分,最后检测指令中有无隐藏指令的存在,并输出相应的结果。
Description
技术领域
本发明涉及领域为硬件安全领域,针对无人***中采用的嵌入式处理器,对其代码指令进行检测,提出了一种隐藏指令防御框架,为后续嵌入式处理器的安全性分析提供了可靠的技术手段。
背景技术
反汇编技术分为静态反汇编和动态反汇编两种。但是根据已知的反汇编工具的信息来看,目前反汇编技术还是以静态反汇编为主。因为静态反汇编可以在不执行代码的情况下对目标代码进行反汇编,适用的场景更广泛。除了传统的静态反汇编算法外,研究人员为了提高反汇编的覆盖率和准确度,以及应对不同的情况,还提出了许多改进办法。
Schwarz B等人重新讨论了可执行代码的反汇编工作,改进了传统的两种静态反汇编算法,并将其两种算法结合使用,产生可相互应证的反汇编代码,在优选算法的支撑下形成最优的反汇编代码。Ma等人通过堆栈指针来对程序分块,并通过模式匹配的方法来区分程序与数据,因为模式匹配方式只在特定情况有效,方法缺乏灵活性。Wu等人引入了汇编指令级的函数块划分思想,并利用置信度评估对函数块进行筛选,试图解决间接跳转解析难的问题。Kinder J等人设计了一种基于抽象解释的反汇编框架,利用动态抽象域逼近分支目标,来解决分支指令的跳转精度问题。但是目前的反汇编工具存在着一些问题,比如难以提取目标固件的代码指令部分。本发明设计的反汇编工具对这一问题的解决途径进行了阐述。
根据以上的研究,对实现嵌入式处理器的反汇编工具有了明确的思路:首先根据该处理器的指令集建立数据库,针对一条具体的机器指令,依据数据库进行反汇编,得到其相应的汇编指令。在得到具体某一型号嵌入式处理器的反汇编工具之后,便可以进行隐藏指令挖掘。隐藏指令的定义是可以被处理器识别并执行,但不包括在处理器厂商声明的文档中。因此需要建立指令搜索空间,将指令空间通过之前设计好的反汇编工具,将没有反汇编结果的机器码进行测试,并记录可以被处理器识别并执行的机器码指令,形成某一型号处理器特有的隐藏指令信息库。隐藏指令不存在于嵌入式处理器的指令集文档,没有处理器厂商提供相应的指令使用说明,因此极有可能对处理器造成一定的安全隐患。2017年,Black Hat上的一篇报告对AMD Geode NX1500的隐藏指令进行了分析,发现攻击者可以使用隐藏指令产生#UD异常,会中断正常的进程。2018年,Domas在DEF CON 26安全会议上表示,VIA C3 x86的CPU可以通过使用启动一条隐藏指令(.byte 0x0f,0x3f),让攻击者从用户模式提升恶意代码的执行级别到OS内核。这些案例都说明了对处理器进行构建基于隐藏指令的防御框架的必要性。
综上所述,隐藏指令防御框架的建立基于某一具体嵌入式处理器的隐藏指令信息库,而隐藏指令信息库则是对嵌入式处理器进行隐藏指令挖掘之后得到的。该防御框架的建立,实现了基本的嵌入式处理器安全性分析的技术手段,为嵌入式处理器的后续安全性分析的提供了思路。
发明内容
本发明提出了一种无人***嵌入式处理器隐藏指令防御方法。该防御方法主要针对嵌入式处理器中存在的隐藏指令,只需要对现有的嵌入式处理器设备进行固件解析,得到其程序代码,然后进行隐藏指令的检测和处理。该防御框架只需要访问嵌入式处理器的JTAG接口,无需其他复杂设备仪器,解决了现有的没有针对嵌入式处理器进行隐藏指令相关的安全性分析问题。
本发明旨在对嵌入式处理器构造隐藏指令防御框架,对给定的嵌入式处理器进行分析和测试防御框架的功能。首先对选定的嵌入式处理器型号进行隐藏指令挖掘,对大多数嵌入式处理器来说,处理器支持不同位数的指令形式,于是应该分开进行隐藏指令挖掘,并将得到的隐藏指令信息记录在数据库中,记作隐藏指令信息库;其次,为了对设备的固件和用户代码进行防御框架的构建,需要获取嵌入式设备上非易失性存储器中的内容;再次,对获取得到的存储器数据进行分析,得到其中程序代码段的内容,即处理器上电之后运行的指令内容,并将其中不同位数的指令进行区分,以便分开进行隐藏指令的检测;最后,结合隐藏指令信息库对指令进行检测,检查其中是否含有可能存在安全隐患的隐藏指令,并在检测到隐藏指令之后采用NOP指令进行替换,最后得到经过处理的程序代码。以上便是整个嵌入式处理器隐藏指令防御框架的工作流程。
因而本发明的技术方案为一种无人***嵌入式处理器隐藏指令防御方法,该方法包括:
步骤1:隐藏指令挖掘
隐藏指令指的是可以被处理器识别并执行,但它不包含在处理器厂商声明的指令集文档中,用E表示可以处理器可以执行的指令集合,D表示在处理器对应的指令集文档中声明的指令集合,则隐藏指令集合U可以表示为式(1);
因此隐藏指令挖掘的实质就是在指令空间中找出指令集合U;
首先需要选定特定的嵌入式处理器型号,并且生成指令搜索空间IS,IS(i)是指令搜索空间IS的第i条指令;其次应当根据反汇编工具依次对IS(i)进行反汇编,将没有反汇编结果的指令集合记作待测指令集合RT,RT(j)是RT的第j条指令;下一步在相应的处理器中对RT(j)进行运行测试,将处理器可以执行的指令记作隐藏指令H(k),H则是隐藏指令集合;最后将H的操作码、操作数等信息补充完整,保存至隐藏指令信息库HD中;
步骤2:读取嵌入式设备中的用户设计
首先需要选择提取的对象类型,也就是非易失存储器件F的种类为Flash和EEPROM;在非易失存储器件F中,数据的写入和读取都是以block作为单位进行的,记一个page中的字节数为page_size,一个sector含有的页数为page_number,一个block含有的扇区数目为sector_number,则一个block的字节数可以表示为式(2);
block_bytes=page_size*page_number*sector_number (2)
因此在读取存储器的时候,在一个block的字节全部读取完成之后,将其存放在之前设置的指针所指向的地址空间进行存储,然后再进行下一个block的读取;因此读取完成之后得到的数据文件File是非易失存储器件F存储的所有字节内容;
步骤3:数据分析和处理
在得到了File之后,接下来是对File中的数据进行分析和处理,得到程序代码的内容;可执行文件的数据内容采用分段管理的方式,用式(3)表示;
File={Header,S1,S2,...Si...SN} (3)
其中Header表示File的文件头信息,Si表示数据中的第i个Section,其中重要的Section包括:text、data和bss;text表示用来存放程序执行的指令部分,data表示用来存放程序中已初始化的全局变量的内存区域,bss表示用来存放程序中未初始化的全局变量的内存区域;接下来需要结合File的Header信息得到text的内容,记作T;
Header是一个包含14个变量的结构体,变量的数据类型不完全相同,其中包括解析File数据内容的必要信息,变量具有以下几种数据类型:Elf32_Addr、Elf32_Half、Elf32_Off、Elf32_Word和unsigned char;e_shoff的数据类型是Elf32_Off,大小为4个字节,e_shentsize、e_shnum和e_shstrndx的数据类型是Elf32_Half,大小为2个字节;在根据每个变量在结构体的索引得到变量的具体数据之后,首先根据e_shoff对File进行初步提取,得到Section Table的具体内容;其次根据e_shentsize和e_shnum对Section Table进行划分,得到每个Section的信息表;最后根据e_shstrndx得到每个Section的名字,找到这些Section中名字为.text的Section,在其对应的信息表中得到其偏移和大小,然后在F中完成对T的提取;
其中e_shoff表示Section Table的偏移,e_shentsize表示Section Table中单项的大小,表中每一项的大小相同,e_shnum表示Section Table中项的数量,根据这些参数可以找到File每一个Section Table的具体内容;e_shstrndx表示Section Table中包含节名的String Table的索引,根据此参数可以得到每一个Section的名字;
步骤4:隐藏指令检测
在得到T之后,对其进行检测判断,
首先对不同位数的指令进行区分;用I32表示32位指令,I16表示16位指令,IO表示其它位数的指令;则T可以用式(4)表示;
T={I32,I16,Io} (4)
根据不同嵌入式处理器的提取指令方式,将T进行不同位数的指令区分,得到I32、I16和IO;
由于在之前已经完成了隐藏指令信息库的构建,只需要对指令进行逐条地匹配,是否能在隐藏指令信息库找到相应的条目;如果检测到了隐藏指令,首先输出该隐藏指令的详细信息,包括隐藏指令的机器码结构和效果描述;其次用NOP指令替换掉原有的隐藏指令,避免隐藏指令对原有程序产生不可预计的影响,以达到防御的效果。
本发明提出一种无人***嵌入式处理器隐藏指令防御方法。该发明针对嵌入式处理器存在的隐藏指令进行检测和防御,以达到提高无人***中嵌入式处理器的安全性。首先对特定型号的嵌入式处理器进行隐藏指令挖掘工作,记录隐藏指令作为信息库进行保存,然后提取目标板卡上片外存储器的用户设计内容,并处理得到程序代码指令部分,最后检测指令中有无隐藏指令的存在,并输出相应的结果。
附图说明
图1为嵌入式处理器隐藏指令防御框架工作流程图;
图2为隐藏指令挖掘流程图;
图3为File数据处理流程图;
图4为隐藏指令检测流程图。
具体实施方式
步骤1:隐藏指令挖掘
首先需要选定特定的嵌入式处理器型号,并且生成指令搜索空间IS,IS(i)是指令搜索空间IS的第i条指令;其次应当根据反汇编工具依次对IS(i)进行反汇编,将没有反汇编结果的指令集合记作待测指令集合RT,RT(j)是RT的第j条指令;下一步在相应的处理器中对RT(j)进行运行测试,将处理器可以执行的指令记作隐藏指令H(k),H则是隐藏指令集合;最后将H的操作码、操作数等信息补充完整,保存至隐藏指令信息库HD中;
步骤2:读取嵌入式设备中的用户设计
隐藏指令防御框架的实施对象是嵌入式设备中正常工作时运行的程序代码C,C包括在嵌入式设备中存储的用户设计中;无人***中,为了保证***的正常工作,用户设计通常被固化到嵌入式设备的非易失存储器件F中;因此步骤2的内容是将非易失存储器件F中的内容提取出来,并将得到的数据文件记作File。
步骤3:数据分析和处理
Header中包含了文件的基本信息,比如文件的基本类型、程序的虚拟入口地址、文件的数据形式等等,其中Section的相关参数是处理File数据的关键。e_shoff表示SectionTable的偏移,e_shentsize表示Section Table中单项的大小,表中每一项的大小相同,e_shnum表示Section Table中项的数量,根据这些参数可以找到File每一个Section Table的具体内容。e_shstrndx表示Section Table中包含节名的String Table的索引,根据此参数可以得到每一个Section的名字,此步骤的目的是得到text的内容,因此只需要找到节名称为.text的节,根据其Section Table得到text的位置和大小,然后将text段的内容保存下来即可,并记作T。
步骤4:隐藏指令检测
由于在之前已经完成了隐藏指令信息库的构建,只需要对指令进行逐条地匹配,是否能在隐藏指令信息库找到相应的条目。由于该操作只是一个简单的逐条检测过程,检测的内容是将指令与隐藏指令信息库进行对比,只需要几次判断操作,因此整个隐藏指令检测流程在很快的时间内就能得到结果。
本发明对TI提供的TMDXEVM6678LE板卡进行实验,该板卡的处理器是TMS320C6678,开发环境是CCS,选用的片外存储器是开发板上的Nor Flash:N25Q128。首先进行隐藏指令挖掘,得到隐藏指令信息库的内容如表1所示。为了验证隐藏指令防御框架的功能,进行了对比实验,对不带隐藏指令和携带隐藏指令的固件数据分别进行测试,如表2所示。
表1隐藏指令信息库
指令位数 | 隐藏指令信息库规模 |
32位 | 12条隐藏指令 |
16位 | 2条隐藏指令 |
表2测试结果
实验对象 | 固件数据大小(字节数) | 输出内容 |
不带隐藏指令 | 27122 | 无隐藏指令 |
携带隐藏指令 | 27122 | 隐藏指令及其详细信息 |
Claims (1)
1.一种无人***嵌入式处理器隐藏指令防御方法,该方法包括:
步骤1:隐藏指令挖掘
隐藏指令指的是可以被处理器识别并执行,但它不包含在处理器厂商声明的指令集文档中,用E表示可以处理器可以执行的指令集合,D表示在处理器对应的指令集文档中声明的指令集合,则隐藏指令集合U可以表示为式(1);
因此隐藏指令挖掘的实质就是在指令空间中找出指令集合U;
首先需要选定特定的嵌入式处理器型号,并且生成指令搜索空间IS,IS(i)是指令搜索空间IS的第i条指令;其次应当根据反汇编工具依次对IS(i)进行反汇编,将没有反汇编结果的指令集合记作待测指令集合RT,RT(j)是RT的第j条指令;下一步在相应的处理器中对RT(j)进行运行测试,将处理器可以执行的指令记作隐藏指令H(k),H则是隐藏指令集合;最后将H的操作码、操作数等信息补充完整,保存至隐藏指令信息库HD中;
步骤2:读取嵌入式设备中的用户设计
首先需要选择提取的对象类型,也就是非易失存储器件F的种类为Flash和EEPROM;在非易失存储器件F中,数据的写入和读取都是以block作为单位进行的,记一个page中的字节数为page_size,一个sector含有的页数为page_number,一个block含有的扇区数目为sector_number,则一个block的字节数可以表示为式(2);
block_bytes=page_size*page_number*sector_number (2)
因此在读取存储器的时候,在一个block的字节全部读取完成之后,将其存放在之前设置的指针所指向的地址空间进行存储,然后再进行下一个block的读取;因此读取完成之后得到的数据文件File是非易失存储器件F存储的所有字节内容;
步骤3:数据分析和处理
在得到了File之后,接下来是对File中的数据进行分析和处理,得到程序代码的内容;可执行文件的数据内容采用分段管理的方式,用式(3)表示;
File={Header,S1,S2,...Si...SN} (3)
其中Header表示File的文件头信息,Si表示数据中的第i个Section,其中重要的Section包括:text、data和bss;text表示用来存放程序执行的指令部分,data表示用来存放程序中已初始化的全局变量的内存区域,bss表示用来存放程序中未初始化的全局变量的内存区域;接下来需要结合File的Header信息得到text的内容,记作T;
Header是一个包含14个变量的结构体,变量的数据类型不完全相同,其中包括解析File数据内容的必要信息,变量具有以下几种数据类型:Elf32_Addr、Elf32_Half、Elf32_Off、Elf32_Word和unsigned char;e_shoff的数据类型是Elf32_Off,大小为4个字节,e_shentsize、e_shnum和e_shstrndx的数据类型是Elf32_Half,大小为2个字节;在根据每个变量在结构体的索引得到变量的具体数据之后,首先根据e_shoff对File进行初步提取,得到Section Table的具体内容;其次根据e_shentsize和e_shnum对Section Table进行划分,得到每个Section的信息表;最后根据e_shstrndx得到每个Section的名字,找到这些Section中名字为.text的Section,在其对应的信息表中得到其偏移和大小,然后在F中完成对T的提取;
其中e_shoff表示Section Table的偏移,e_shentsize表示Section Table中单项的大小,表中每一项的大小相同,e_shnum表示Section Table中项的数量,根据这些参数可以找到File每一个Section Table的具体内容;e_shstrndx表示Section Table中包含节名的String Table的索引,根据此参数可以得到每一个Section的名字;
步骤4:隐藏指令检测
在得到T之后,对其进行检测判断,
首先对不同位数的指令进行区分;用I32表示32位指令,I16表示16位指令,IO表示其它位数的指令;则T可以用式(4)表示;
T = {I32,I16,Io} (4)
根据不同嵌入式处理器的提取指令方式,将T进行不同位数的指令区分,得到I32、I16和IO;
由于在之前已经完成了隐藏指令信息库的构建,只需要对指令进行逐条地匹配,是否能在隐藏指令信息库找到相应的条目;如果检测到了隐藏指令,首先输出该隐藏指令的详细信息,包括隐藏指令的机器码结构和效果描述;其次用NOP指令替换掉原有的隐藏指令,避免隐藏指令对原有程序产生不可预计的影响,以达到防御的效果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310250784.2A CN116244706A (zh) | 2023-03-15 | 2023-03-15 | 一种无人***嵌入式处理器隐藏指令防御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310250784.2A CN116244706A (zh) | 2023-03-15 | 2023-03-15 | 一种无人***嵌入式处理器隐藏指令防御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116244706A true CN116244706A (zh) | 2023-06-09 |
Family
ID=86629527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310250784.2A Pending CN116244706A (zh) | 2023-03-15 | 2023-03-15 | 一种无人***嵌入式处理器隐藏指令防御方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244706A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501709A (zh) * | 2023-06-25 | 2023-07-28 | 深圳市双合电气股份有限公司 | 基于iec61850数据服务功能的数据存储方法及设备 |
-
2023
- 2023-03-15 CN CN202310250784.2A patent/CN116244706A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501709A (zh) * | 2023-06-25 | 2023-07-28 | 深圳市双合电气股份有限公司 | 基于iec61850数据服务功能的数据存储方法及设备 |
CN116501709B (zh) * | 2023-06-25 | 2023-09-05 | 深圳市双合电气股份有限公司 | 基于iec61850数据服务功能的数据存储方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478217B (zh) | 使用基于偏移的虚拟地址映射对目标应用功能的基于内核的检测 | |
Jacobson et al. | Labeling library functions in stripped binaries | |
US9747452B2 (en) | Method of generating in-kernel hook point candidates to detect rootkits and the system thereof | |
CN101281571B (zh) | 防御未知病毒程序的方法 | |
Budak et al. | Efficient airport detection using line segment detector and fisher vector representation | |
CN109583200B (zh) | 一种基于动态污点传播的程序异常分析方法 | |
US20060005166A1 (en) | Method, system and program product for determining java software code plagiarism and infringement | |
Alam et al. | MAIL: Malware Analysis Intermediate Language: a step towards automating and optimizing malware detection | |
CN111881455B (zh) | 一种固件安全分析的方法及装置 | |
KR101228899B1 (ko) | 벡터량 산출을 이용한 악성코드의 분류 및 진단 방법과 장치 | |
Casey et al. | Inception: virtual space in memory space in real space–memory forensics of immersive virtual reality with the HTC vive | |
CN104680065A (zh) | 病毒检测方法、装置及设备 | |
CN116244706A (zh) | 一种无人***嵌入式处理器隐藏指令防御方法 | |
Yasaswi et al. | Unsupervised learning based approach for plagiarism detection in programming assignments | |
CN107506622A (zh) | 一种基于内存对象访问序列的软件动态胎记及抄袭检测方法 | |
Hang et al. | Malware detection method of android application based on simplification instructions | |
CN109241706B (zh) | 基于静态胎记的软件抄袭检测方法 | |
CN116743363A (zh) | 基于循环分析和二进制相似代码分析的密码函数识别方法 | |
CN108469997B (zh) | 一种基于动态特征的自定义堆管理函数的自动识别方法 | |
CN110520860B (zh) | 用于防护软件代码的方法 | |
Park et al. | Detecting code theft via a static instruction trace birthmark for Java methods | |
Zheng et al. | A method based on feature matching to identify steganography software | |
Lee et al. | An efficient categorization of the instructions based on binary excutables for dynamic software birthmark | |
Liebler et al. | Approxis: A fast, robust, lightweight and approximate disassembler considered in the field of memory forensics | |
CN112199160B (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 |