CN106250728A - 用于保护ios软件模块的设备和方法 - Google Patents

用于保护ios软件模块的设备和方法 Download PDF

Info

Publication number
CN106250728A
CN106250728A CN201610396826.3A CN201610396826A CN106250728A CN 106250728 A CN106250728 A CN 106250728A CN 201610396826 A CN201610396826 A CN 201610396826A CN 106250728 A CN106250728 A CN 106250728A
Authority
CN
China
Prior art keywords
equipment
prison
original
pack
execution
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
Application number
CN201610396826.3A
Other languages
English (en)
Inventor
安东尼·蒙西弗罗特
查理·萨尔蒙-勒加尼厄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN106250728A publication Critical patent/CN106250728A/zh
Pending legal-status Critical Current

Links

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1015Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to users
    • 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/74Reverse engineering; Extracting design information from source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

保护要由执行设备(120)执行的模块,其中所述执行设备具有操作系统并且是原装设备或越狱设备。一种应用提供方设备获得(S20)要在原装执行设备上执行的模块的第一版本(320),所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术;获得(S22)要在越狱设备上执行的所述应用的第二版本(330),所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术;获得(S24)越狱检测函数(310),所述越狱检测函数被配置为确定执行越狱函数(310)的设备是原装设备还是越狱设备,并且在所述执行设备是原装设备的情况下调用所述模块的第一版本,在所述执行设备是越狱设备的情况下调用所述模块的第二版本;以及产生(S25)应用包(300),所述应用包包括越狱检测函数(310)、所述模块的第一版本(320)以及所述模块的第二版本(330),并且所述应用包被接口(113)输出(S26)。还提供了模块提供方设备、应用包和存储应用包的存储支持器(130)。

Description

用于保护IOS软件模块的设备和方法
技术领域
本公开总体上涉及软件保护,具体地,涉及保护在iOS上运行的软件。
背景技术
本部分是为了向读者介绍可能与下文所述的和/或所要求保护的本公开各个方面相关的现有技术的各方面。这样的讨论有助于向读者提供背景信息以便帮助更好地理解本公开的多个方面。因此,应当理解,这些陈述应以这种方式被解读,而不是作为对现有技术的承认。
通过从源到将安装iOS应用的iOS应用的加密分发来保护iOS应用不受逆向工程的侵害。一旦安装在iOS设备上,iOS本身就能使用隔离处理和分离特权来保护应用免遭动态分析。
然而,这种保护仅适用于没有越狱的iOS设备。容易使用GNU调试器(gdb)来从越狱设备倾卸应用的代码,如Jonathan Zdziarski在“Hacking and Securing iOSApplications”中所述。已经对越狱设备进行了修改,以获得在未越狱设备上不可用的增加的特权。
因此依赖于由iOS提供的保护是不够的。但是由于iOS不允许在已安装应用中进行任何代码修改,因此可以使用的软件保护机制只有完整性检查和控制流图(CFG)平坦化,这两者通常被一起使用。经常需要这些软件保护机制,因为由iOS提供的加密是弱的,并且应用易于受到使用静态分析的逆向工程的侵害。
再次地,CFG平坦化仅对静态攻击有效,而对动态攻击无效,并且Wurster等人已经示出了可以通过并行运行两个代码部分来规避完整性检查,如在“A Generic Attack onChecksumming-Based Software Tamper Resistance”中所述。
应认识到,需要具有一种克服与保护iOS应用相关的传统问题中的至少一部分问题的解决方案。本原理提供了这种解决方案。
发明内容
在第一方面,本原理涉及一种用于保护要由执行设备执行的模块的应用提供方设备,其中所述执行设备具有操作系统并且是原装设备或越狱设备。该应用提供方设备包括处理单元,被配置为获得要在原装执行设备上执行的模块的第一版本,所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术;获得要在越狱设备上执行的所述模块的第二版本,所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术;获得越狱检测函数,所述越狱检测函数被配置为确定所述执行设备是原装设备还是越狱设备,并且在所述执行设备是原装设备的情况下调用所述模块的第一版本,在所述执行设备是越狱设备的情况下调用所述模块的第二版本;以及产生应用包,所述应用包包括越狱检测函数、所述模块的第一版本以及所述模块的第二版本。所述应用提供方设备还包括被配置为输出应用包的接口。
第一方面的各种实施例包括:
所述处理单元还被配置为使用第一软件保护技术来保护所述模块的第一版本。第一软件保护技术可以包括以下项中的至少一个:控制流图平坦化和验证所述执行设备是原装设备。
所述处理单元还被配置为使用第二软件保护技术来保护所述模块的第二版本。第二软件保护技术可以是动态加密。
在第二方面,本原理涉及一种用于保护要由执行设备执行的模块的方法,其中所述执行设备具有操作系统并且是原装设备或越狱设备。所述方法包括在应用提供方设备处:由处理单元获得要在原装执行设备上执行的所述模块的第一版本,所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术;由处理单元获得要在越狱设备上执行的所述模块的第二版本,所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术;
由处理单元获得越狱检测函数,所述越狱检测函数被配置为确定所述执行设备是原装设备还是越狱设备,并且在所述执行设备是原装设备的情况下调用所述模块的第一版本,在所述执行设备是越狱设备的情况下调用所述模块的第二版本;由处理单元产生应用包,所述应用包包括越狱检测函数、所述模块的第一版本以及所述模块的第二版本;以及由接口输出所述应用包。
第二方面的各种实施例包括:
所述处理单元还被配置为使用第一软件保护技术来保护所述模块的第一版本。第一软件保护技术可以包括以下项中的至少一个:控制流图平坦化和验证所述执行设备是原装设备。
所述处理单元还被配置为使用第二软件保护技术来保护所述模块的第二版本。第二软件保护技术可以是动态加密。
在第三方面,本原理涉及一种具有操作系统的执行设备,所述执行设备包括:存储器,存储要在原装执行设备上执行的模块的第一版本、要在越狱设备上执行的所述模块的第二版本、以及越狱检测函数,其中所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术,所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术,并且所述越狱检测函数被配置为确定执行所述越狱函数的执行设备是原装设备还是越狱设备;以及处理单元,被配置为:执行所述越狱检测函数以确定所述执行设备是原装设备还是越狱设备,以及在所述执行设备被确定为原装设备的情况下调用所述模块的第一版本,在所述执行设备被确定为越狱设备的情况下调用所述模块的第二版本。
附图说明
作为非限制性示例,现在参考附图来描述本原理的优选特征,在附图中:
图1示出了实现本原理的系统100;
图2示出了根据本原理的产生受保护模块的方法;以及
图3示出了根据本原理的应用包。
具体实施方式
应理解的是,附图所示的元件可以以硬件、软件、或其组合的各种形式来实现。优选地,这些元件在一个或更多个适当编程的通用目的设备上实现为硬件和软件的组合,其中所述设备可以包括处理器、存储器和输入/输出接口。文中,词语“耦接”被定义为表示直接连接或通过一个或更多个中间组件间接连接。这种中间组件可以包括基于硬件和软件的组件二者。
本说明书示意了本公开的原理。因此,可以理解的是,本领域的技术人员将能够设计出虽然没有明确地描述或示出但体现了本发明的原理并包括在其范围之内的各种布置。
这里记载的所有示例和条件语言预期用于教导目的,以帮助读者理解本公开的原理和发明人为改进现有技术而贡献的构思,并且应解释为不限于这些具体记载的示例和条件。
此外,这里对本公开的原理、方面、实施例及其特定示例做出引述的所有声明意在包括本发明的结构和功能上的等同物。附加地,这种等同物旨在包括当前已知的等同物以及将来研发的等同物,即,为执行相同功能研发的任何元件,而无论其结构。
因此,本领域的技术人员可以理解,例如这里所表示的框图展示出体现本公开原理的示意性电路的概念图。类似地,将理解,任何流程、流程图、状态转移图、伪代码等表现出实质上可以在计算机可读介质上表现的、并且由计算机或处理器执行的各个过程,无论是否明确示出该计算机或处理器。
图中示出的各个元件的功能可以通过使用专用硬件以及能够与合适软件相关联执行软件的硬件来提供。当由处理器来提供时,这些功能可以由单个的专用处理器、单个的共享处理器、或多个单独的处理器来提供,其中一些可以是共享的。此外,对术语“处理器”或“控制器”的显式使用不应理解为专门指能够执行软件的硬件,而是可以非限制地包括数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机存取存储器(RAM)以及非易失性存储器。
还可以包括常规和/或定制的其它硬件。类似地,附图所示的任何开关都仅是概念性的。其功能可以通过程序逻辑的操作、专用逻辑、程序控制和专用逻辑的交互、或甚至是手动地实现,实施者可以选择的具体技术可以从上下文中得到明确的理解。
在权利要求中,被表达为用于执行指定功能的装置的任意元件意在包括执行该功能的任何方式,包括例如a)执行该功能的电路元件的组合,或b)任何形式的软件,因而包括固件、微代码等,其与适当的电路组合以运行该软件来执行该功能。由这种权利要求限定的本公开在于由各种记载的装置提供的功能以权利要求所要求的方式组合在一起。因此,将可以提供这些功能的任何装置认为是等同于本文所示的装置。
在说明书中,将对模块进行参考。该模块包括可执行代码,并且可以是共享库、可执行代码或库中的代码的一部分、或者甚至是整个应用。
本原理的方法和设备提供包括以下两种模块版本的应用包:一种版本在未越狱设备(这里称为“原装设备”)上执行,而一种版本在越狱设备上执行。每种版本实现相同功能,但是使用不同的软件保护机制来保护(但是应理解一些软件保护机制可以在两种版本间共享)。
图1示出实现本原理的系统100。系统100包括应用提供方110,被配置为产生iOS模块并直接或间接地将其提供给被配置为执行iOS模块的iOS设备120。应用提供方110和iOS设备120包括至少一个硬件处理单元(“处理器”)111、121;存储器112、122;以及至少一个通信接口113、123,配置为与其他设备进行通信。本领域技术人员将清楚,为了清楚的目的,示出的设备已被简化;因此,没有示出如内部连接或电源之类的特征。非暂时性存储介质130存储将在下文进一步描述的iOS模块。
图2示出了根据本原理的产生受保护模块的方法。在步骤S20,应用提供方获得要在原装设备上执行的模块的版本,并在步骤S21,获得要在越狱设备上执行的模块的版本。每种版本仅指代其自身(即,不指代另一版本),并且利用特定软件保护机制(取决于其要在越狱设备还是原装设备上执行)来保护。
在原装设备上,用户模块(即,由用户下载的模块)在非root(非根)模式下运行。操作系统会遭到调试攻击,操作系统应用默认加密,对应用进行隔离处理(沙盒化(sandboxing)),并禁止调试者附上非根应用。由于iOS提供针对动态攻击的保护,因此应用提供方110按照用于原装设备本身的代码版本提供针对静态分析的保护(例如使用CFG平坦化)就够了。此外,完整性检查可以用于保护模块。
在越狱设备上,iOS不会阻止调试或动态攻击,但是同时,iOS的修改的系统特权(例如由于越狱而造成的损坏的沙盒隔离)允许使用低级软件保护机制,如动态密码加密(自修改密码)和反调试。这使得应用提供方能够将这种软件保护机制包括在用于越狱设备的版本中。因此,可以使用例如动态加密和完整性检查来保护用于越狱设备的版本免遭动态攻击。
在步骤S22,应用提供方110将原装iOS允许的至少一个软件保护技术应用于针对原装设备的版本,以获得针对原装设备的受保护版本,并且在步骤S23,应用提供方110将越狱iOS特定的至少一个软件保护技术(被越狱iOS允许但是不被原装iOS允许)应用于针对越狱设备的版本,以获得针对越狱设备的受保护版本。以下情况也是可能的:在步骤S20和S21中获得的版本在获得这些版本时已经通过使用上述软件保护方法而受到保护。
应用提供方110之后在步骤S24产生越狱检测函数。越狱检测函数能够确定执行了该越狱检测函数的设备是原装设备还是越狱设备。由于原装设备上部允许分叉(forking),因此越狱检测函数可以例如使用fork(),并检查返回的进程id以查看其是否已经成功地分叉,在是的情况下,可以确定设备已越狱。类似地,调用具有空参数的system()也能够确定越狱:如果返回1则确定是越狱设备,如果返回0则确定是原装设备。Zdziarski在“Hackingand Securing iOS Applications”中还描述了其他越狱检测函数。优选越狱检测函数使用检测越狱的多种不同方法。
优选地,越狱检测函数还插入到针对原装设备的版本的代码中,从而在执行该版本期间也执行检测。在原装版本内的越狱检测函数优选通过完整性检查来保护,并且被配置为在确定执行设备已越狱的情况下改变执行流。当保护原装版本时,可以在此时或更早的时间将越狱检测函数插入到原装版本中。
应用提供方10之后在步骤S25产生应用包,所述应用包包括越狱检测函数、用于在原装设备上使用的版本以及用于在越狱设备上使用的版本,其中,所述越狱检测函数根据执行设备的越狱状态(即,是原装还是越狱)来调用正确的版本。在步骤S26,应用提供方110直接向iOS设备120输出应用包,或者向中间商店(未示出)输出应用包。
图3示出了根据本原理的应用包300,该应用包包括越狱检测函数310,被配置为确定执行设备的越狱状态,之后调用应用的原装版本320或越狱版本330。原装版本的代码包括多个越狱检测函数325,如上所述。
在图3中,应用包300被示出为具有三个模块:越狱检测函数310以及模块的两个版本320、330。将理解的是,这三个模块可以是单个应用的一部分,在执行期间,实现越狱检测函数310,从而确定执行哪个版本。
在变型中,应用包包括三个应用,其中每个应用包括越狱检测函数之一以及两个版本。包括越狱检测函数的应用被首先执行,并且其根据确定设备是否越狱的结果来调用其他两个应用之一。
将认识到,本原理提供用于对iOS软件模块进行软件保护的解决方案,其中所述解决方案至少在一些情况下可以改善传统保护方法。具体地,根据实施例,本原理可以将相同应用包分发给原装设备和越狱设备。
已经将本原理描述为用于iOS,并且相信本原理在iOS中能够提供最优的效果。然而应理解,本原理可以用于其它(安全)操作系统(如Android),尤其是在所述其它操作系统限制在存储器页中的写许可的情况下。
以上描述公开的各项特征、(适当的)权利要求和附图可以独立提供或以任何适当的形式结合。被描述为以硬件实现的特征还可以实现为软件,且反之亦然。权利要求书中出现的参照数字仅作为举例说明而不是限制权利要求的范围。

Claims (11)

1.一种用于保护要由执行设备(120)执行的模块的应用提供方设备(110),其中所述执行设备具有操作系统并且是原装设备或越狱设备,所述应用提供方设备包括:
-处理单元(111),配置为:
获得要在原装执行设备上执行的所述模块的第一版本(320),所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术;
获得要在越狱设备上执行的所述模块的第二版本(330),所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术;
获得越狱检测函数(310),所述越狱检测函数被配置为确定所述执行设备是原装设备还是越狱设备,并且在所述执行设备是原装设备的情况下调用所述模块的第一版本,在所述执行设备是越狱设备的情况下调用所述模块的第二版本;以及
产生应用包(300),所述应用包包括越狱检测函数(310)、所述模块的第一版本(320)以及所述模块的第二版本(330);以及
-接口(113),被配置为输出所述应用包。
2.根据权利要求1所述的应用提供方设备(110),其中,所述处理单元(111)还被配置为使用第一软件保护技术来保护所述模块的第一版本(320)。
3.根据权利要求2所述的应用提供方设备(110),其中,第一软件保护技术包括以下项中的至少一个:控制流图平坦化和验证所述执行设备是原装设备。
4.根据权利要求1所述的应用提供方设备(110),其中,所述处理单元(111)还被配置为使用第二软件保护技术来保护所述模块的第二版本(320)。
5.根据权利要求4所述的应用提供方设备(110),其中,第二软件保护技术是动态加密。
6.一种用于保护要由执行设备(120)执行的模块的方法,其中所述执行设备具有操作系统并且是原装设备或越狱设备,所述方法包括在应用提供方设备处:
由处理单元(111)获得(S20)要在原装执行设备上执行的所述模块的第一版本(320),所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术;
由处理单元(111)获得(S22)要在越狱设备上执行的所述模块的第二版本(330),所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术;
由处理单元(111)获得(S24)越狱检测函数(310),所述越狱检测函数被配置为确定所述执行设备是原装设备还是越狱设备,并且在所述执行设备是原装设备的情况下调用所述模块的第一版本,在所述执行设备是越狱设备的情况下调用所述模块的第二版本;
由处理单元(111)产生(S25)应用包(300),所述应用包包括越狱检测函数(310)、所述模块的第一版本(320)以及所述模块的第二版本(330);以及
由接口(113)输出(S26)所述应用包。
7.根据权利要求6所述的方法,还包括:由处理单元(111)使用(S21)第一软件保护技术来保护所述模块的第一版本(320)。
8.根据权利要求7所述的方法,其中,第一软件保护技术包括以下项中的至少一个:控制流图平坦化和验证所述执行设备是原装设备。
9.根据权利要求6所述的方法,还包括:由处理单元(111)使用(S23)第二软件保护技术来保护所述模块的第二版本(320)。
10.根据权利要求9所述的方法,其中,第二软件保护技术是动态加密。
11.一种具有操作系统的执行设备(120),所述执行设备包括:
-存储器(122),存储要在原装执行设备上执行的模块的第一版本(320)、要在越狱执行设备上执行的所述模块的第二版本(330)、以及越狱检测函数(310),其中所述第一版本实施原装设备上的操作系统所允许的第一软件保护技术,所述第二版本实施原装设备上的操作系统所不允许的第二软件保护技术,并且所述越狱检测函数被配置为确定执行所述越狱函数(310)的设备是原装设备还是越狱设备;以及
-处理单元(121),配置为:
执行所述越狱检测函数(310)以确定所述执行设备是原装设备还是越狱设备;以及
在所述执行设备被确定为原装设备的情况下调用所述模块的第一版本,在所述执行设备被确定为越狱设备的情况下调用所述模块的第二版本。
CN201610396826.3A 2015-06-09 2016-06-07 用于保护ios软件模块的设备和方法 Pending CN106250728A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15305876.3A EP3104291A1 (en) 2015-06-09 2015-06-09 Device and method for protection of ios software modules
EP15305876.3 2015-06-09

Publications (1)

Publication Number Publication Date
CN106250728A true CN106250728A (zh) 2016-12-21

Family

ID=53442696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610396826.3A Pending CN106250728A (zh) 2015-06-09 2016-06-07 用于保护ios软件模块的设备和方法

Country Status (7)

Country Link
US (1) US20160364569A1 (zh)
EP (2) EP3104291A1 (zh)
JP (1) JP2017004528A (zh)
KR (1) KR20160144921A (zh)
CN (1) CN106250728A (zh)
ES (1) ES2668991T3 (zh)
PL (1) PL3104292T3 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334775A (zh) * 2018-01-23 2018-07-27 阿里巴巴集团控股有限公司 一种越狱插件检测方法及装置
CN112784264A (zh) * 2021-01-18 2021-05-11 北京洛塔信息技术有限公司 越狱状态检测方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107133169B (zh) * 2017-04-26 2021-03-23 腾讯科技(深圳)有限公司 应用测试包生成方法及生成装置
JP6381837B1 (ja) 2018-01-17 2018-08-29 株式会社Cygames 通信を行うためのシステム、プログラム、方法及びサーバ
KR20220021311A (ko) 2020-08-13 2022-02-22 주식회사 안랩 응용프로그램인터페이스 보호 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9881151B2 (en) * 2011-08-31 2018-01-30 Lenovo (Singapore) Pte. Ltd. Providing selective system privileges on an information handling device
US9787681B2 (en) * 2012-01-06 2017-10-10 Optio Labs, Inc. Systems and methods for enforcing access control policies on privileged accesses for mobile devices
US8826169B1 (en) * 2012-06-04 2014-09-02 Amazon Technologies, Inc. Hiding content of a digital content item
US9619653B2 (en) * 2012-07-31 2017-04-11 Adobe Systems Incorporated System and method for detecting a security compromise on a device
US8862892B2 (en) * 2012-07-31 2014-10-14 Adobe Systems Incorporated System and method for detecting a security compromise on a device
US20140173733A1 (en) * 2012-12-17 2014-06-19 Fixmo, Inc. Exploit detection and reporting of a device using server chaining
EP3005209B1 (en) * 2013-05-30 2021-02-17 JScrambler S.A. Web application protection
US9910724B2 (en) * 2013-09-13 2018-03-06 Airwatch Llc Fast and accurate identification of message-based API calls in application binaries
CN103561176B (zh) * 2013-11-07 2015-08-19 腾讯科技(深圳)有限公司 一种终端设备的通话记录获取方法、装置及终端设备
EP2913773A1 (en) * 2014-02-27 2015-09-02 Thomson Licensing Run-time Continuous Address Space Layout Randomization of flattened Control Flow Graph
US9516491B2 (en) * 2015-02-27 2016-12-06 T-Mobile Usa, Inc. Remote device modification

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334775A (zh) * 2018-01-23 2018-07-27 阿里巴巴集团控股有限公司 一种越狱插件检测方法及装置
CN108334775B (zh) * 2018-01-23 2022-09-23 创新先进技术有限公司 一种越狱插件检测方法及装置
CN112784264A (zh) * 2021-01-18 2021-05-11 北京洛塔信息技术有限公司 越狱状态检测方法、装置、设备及存储介质
CN112784264B (zh) * 2021-01-18 2024-04-02 北京洛塔信息技术有限公司 越狱状态检测方法、装置、设备及存储介质

Also Published As

Publication number Publication date
ES2668991T3 (es) 2018-05-23
EP3104292A1 (en) 2016-12-14
EP3104291A1 (en) 2016-12-14
KR20160144921A (ko) 2016-12-19
EP3104292B1 (en) 2018-04-18
JP2017004528A (ja) 2017-01-05
PL3104292T3 (pl) 2018-08-31
US20160364569A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
CN106250728A (zh) 用于保护ios软件模块的设备和方法
CN103827880B (zh) 保护非本机代码安全的方法
Batyuk et al. Using static analysis for automatic assessment and mitigation of unwanted and malicious activities within Android applications
CA3023939C (en) Method and apparatus for dynamic executable verification
US10013553B2 (en) Protecting software application
CN109840410A (zh) 一种进程内数据隔离与保护的方法和系统
EP3779745A1 (en) Code pointer authentication for hardware flow control
US20160275019A1 (en) Method and apparatus for protecting dynamic libraries
KR20150038574A (ko) 타겟 디바이스의 능동 모니터링, 메모리 보호 및 무결성 검증을 위한 방법, 시스템 및 컴퓨터 판독 가능 매체
CN103500308A (zh) 用于对抗由恶意软件对仿真的检测的系统和方法
CN104217139A (zh) 处理系统
CN105512548A (zh) 基于隐藏可执行镜像并注入dll保护镜像代码的方法
CN104318156A (zh) 一种进程访问安全方法及系统
US20140201720A1 (en) Branch auditing in a computer program
US10120987B2 (en) Device and method for executing protected iOS software modules
CN109376529A (zh) 应用程序运行方法及装置
CN104268462A (zh) 一种安卓系统的分区保护方法和装置
CN104217163A (zh) 一种检测结构化异常处理攻击的方法及装置
KR102156340B1 (ko) 웹 페이지 공격 차단 방법 및 장치
KR101638257B1 (ko) 애플리케이션의 소스 코드 보호 방법 및 이를 수행하는 장치
CN110414220B (zh) 沙箱内程序动态执行过程中的操作文件提取方法及装置
US20190102541A1 (en) Apparatus and method for defending against unauthorized modification of programs
KR101375656B1 (ko) 프로그램 보호 장치 및 프로그램 보호 방법
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
CN109840417B (zh) 一种恶意软件检测方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20161221

WD01 Invention patent application deemed withdrawn after publication