CN111062061A - 一种用于ios系统的安全防护方法和系统 - Google Patents
一种用于ios系统的安全防护方法和系统 Download PDFInfo
- Publication number
- CN111062061A CN111062061A CN201911261474.0A CN201911261474A CN111062061A CN 111062061 A CN111062061 A CN 111062061A CN 201911261474 A CN201911261474 A CN 201911261474A CN 111062061 A CN111062061 A CN 111062061A
- Authority
- CN
- China
- Prior art keywords
- debugging
- thread
- application
- debugged
- main thread
- 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.)
- Granted
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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明给出了一种用于ios系统的安全防护方法和系统,包括应用程序进程的子线程周期性地利用sysctl接口获取应用程序进程的调试状态信息;响应于子线程获得的调试状态信息为正被调试状态,子线程向主线程返回调试状态信息;响应于主线程接收到为正被调试状态的调试状态信息,主线程执行预设的伪流程取代应用程序进程的原始流程。相较于iOS其他的防护机制及反调试,本方案可以更好的混淆破解者对应用的攻击方向,更好的保护应用核心业务不被逆向破解,提高了应用的安全性。本发明十分适用于现阶段还未采取反调试措施的第三应用,可大大的提高应用的安全性,增加逆向人员的破解难度。
Description
技术领域
本发明涉及计算机软件技术领域,尤其是一种用于ios系统的安全防护方法和系统。
背景技术
随着苹果对iOS系统多年不断的开发,目前在iOS系统上的安全防护机制越来越多,主要包括代码签名、沙盒机制、利用缓解和反调试等,这些技术对逆向破解工作者的逆向分析工作造成困难。例如:
一、代码签名(CodeSign)
(1).传统签名机制-数字证书
传统的签名机制即iOS系统中使用的数字证书机制。数字证书是一种对数字内容进行校验的方法,理论上想要破解或者绕过这个签名机制,需要能够获取到苹果的私钥,或者能够找到签名校验过程中的漏洞。
(2).签名校验的实现
iOS在运行代码前,都会对即将运行的代码进行签名校验。签名的校验机制是运行在内核里的。因此想要关闭这个校验的话,需要对系统进行越狱才行。
二、沙盒机制
iOS沙盒机制主要通过UID/GID permission,MAC和entitlement三个维度实现了整个系统的沙盒机制:
(1).UID/GID permission
一般情况下,iOS会将进程的权限分为root和mobile,一些特殊的模块(比如基带)会有自己的用户组。所有第三方的app都是运行在mobile权限下的。
(2).iOS Mandatory Access Control
对于系统进程,一般情况下苹果会为不同的系统进程配备不同的sandboxprofile,既满足业务需求,又遵循权限最小化原则。对于第三方app,则是统一配备名为Container的sandbox profile,这个profile里面的内容限制可达数千条。限制非常严格,以致于只有很少数的syscall能在第三方app内访问。一些安卓中非常普通的调用在第三方app内都是无法生效的。
(3).Entitlement
Entitlement的出现主要是为了上面两个维度都无法解决的权限检查问题。业务进程只需要关注entitlement的内容,而entitlement的正确性由签名保证。
三、利用缓解(Exploit Mitigation)
常见的利用缓解机制主要有Stack Canaries、ASLR和DEP等。
(1).栈金丝雀保护(Stack Canaries)
栈金丝雀保护是已知的放置在缓冲器和控制数据之间的一个随机值。当缓冲器溢出时,最先被破坏通常是金丝雀值。因此当金丝雀的数据的验证失败的时候,就表示出现了缓冲区溢出,从而触发保护机制,并使程序停止运行。
(2).地址随机化(ASLR/KASLR)
为了增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,用户态进程在每次启动时的执行文件基址都是随机生成的。并且,在每次手机重启后,内核kernel mach-o的基址也是随机的。
(3).数据执行保护(DEP)
DEP是为了防止数据页执行代码。通常情况下,默认不从堆和栈执行代码。DEP会检测从这些位置运行的代码,并在发现执行情况时引发异常。在mprotect对应的内核实现中,不允许page被同时赋予执行和写这两种权限。
四、反调试技术
除iOS本身的安全防护机制之外,iOS应用本身较少涉及什么复杂的反调试,目前主流的反调试主要是基于ptrace进行防止debugserver+lldb进行动态调试的反调试技术。ptrace的主要用于实现断点调试和系统调用跟踪。PT_DENY_ATTACH是苹果增加的一个ptrace选项,用以防止gdb、lldb等调试器依附到某进程。
iOS在未越狱的情况下安全性相对较高,在很大的程度上防止应用被恶意破解,提高了第三方应用的安全性。但是在iOS系统进行了越狱之后,上述的iOS提供的安全防护机制都如同虚设,不同于Android端的加固技术的复杂和多样化,iOS系统下针对第三方应用的保护相对较弱,在应用砸壳之后,破解者可以轻易的通过反编译应用对其进行静态分析以及动态调试,大大的危害了应用的安全。在反调试方面,第三方应用大多不添加反调试机制或只是采用简单的ptrace反调试,但是这种反调试机制十分容易被破解,通常破解者只要动态调试修改寄存器的变量或编写hook代码皆可绕过该反调试。
发明内容
为了解决现有技术中存在的种种技术问题,本发明提出了一种用于ios系统的安全防护方法和系统,用以解决iOS系统下针对第三方应用的保护相对较弱,在应用砸壳之后,破解者可以轻易的通过反编译应用对其进行静态分析以及动态调试,大大的危害了应用的安全的问题。
在一个方面,本发明提出了一种用于ios系统的安全防护方法,该方法包括以下步骤:
S1:应用程序进程的子线程周期性地利用sysctl接口获取应用程序进程的调试状态信息;
S2:响应于子线程获得的调试状态信息为正被调试状态,子线程向主线程返回调试状态信息;
S3:响应于主线程接收到为正被调试状态的调试状态信息,主线程执行预设的伪流程取代应用程序进程的原始流程。
优选的,子线程获取调试状态信息的方式具体为:利用sysctl接口查看当前应用程序进程是否存在调试标记,存在调试标记则为正被调试状态,否则为负被调试状态。利用sysctl接口可以查询内核状态,允许具备相应权限的进程设置内核状态。
进一步优选的,响应于应用程序进程被调试,应用程序进程生成调试标记。调试标记可以便于sysctl查看程序进程是否被调试。
进一步优选的,还包括:主线程收到调试状态信息为负被调试状态,继续执行原始流程。负被调试状态表示程序未被调试,继续原始流程可以保证程序正常运行。
优选的,伪流程包括预设的伪登录流程。伪登录流程可以令破解者无法登录,防止应用程序的关键流程被调试。
进一步优选的,伪登录流程被设置为无论用户名或者密码正确与否,都无法实现登录。该配置的登录验证函数无论用户输入的用户名密码正确与否都无法实现登录,可以提升安全性,防止应用程序被调试。
进一步优选的,伪登录流程被设置为正被调试状态下的无限登录,且无法调试应用程序的关键流程。在被调试状态下的无限登录,可以防止应用程序的关键流程被调试。
根据本发明的第二方面,提出了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机处理器执行时上述方法。
根据本发明的第三方面,提出了一种用于ios系统的安全防护系统,包括:
子线程:配置用于周期性地利用sysctl获取应用程序进程的调试状态信息,响应于子线程获得调试状态信息为正被调试状态,子线程向主线程返回调试状态信息;
主线程:配置用于响应于主线程接收到为正被调试状态的调试状态信息,主线程执行预设的伪流程取代应用程序进程的原始流程。
优选的,子线程利用sysctl接口查看当前应用程序进程是否存在调试标记。利用sysctl接口可以查询内核状态,允许具备相应权限的进程设置内核状态。
进一步优选的,响应于应用程序进程被调试,应用程序进程生成调试标记。调试标记可以便于sysctl查看程序进程是否被调试。
优选的,主线程还配置用于响应于主线程没有收到调试状态信息,继续执行原始流程。负被调试状态表示程序未被调试,继续原始流程可以保证程序正常运行。
优选的,主线程中的预设的伪流程包括伪登录流程。伪登录流程可以令破解者无法登录,防止应用程序的关键流程被调试。
进一步优选的,伪登录流程被设置为无论用户名或者密码正确与否,都无法实现登录,以及被调试状态下的无限登录,且无法调试应用程序的关键流程。在被调试状态下的无限登录,可以防止应用程序的关键流程被调试。
本发明提出了一种新型的iOS反调试方案。这种反调试方案不同于ptrace对断点调试和系统调用进行跟踪,主要是依赖于sysctl这个接口,通过sysctl判断应用进程是否被调试,当应用被附加调试之后,区别于ptrace反调试的直接崩溃,本发明所设计的反调试通过直接执行指定的登录校验流程以混淆破解者对应用执行流程的理解,保护当前流程被逆向调试,最终达到保护核心代码的目的。相较于iOS其他的防护机制及反调试,本方案可以更好的混淆破解者对应用的攻击方向,更好的保护应用核心业务不被逆向破解,提高了应用的安全性。本发明十分适用于现阶段还未采取反调试措施的第三应用,可大大的提高应用的安全性,增加逆向人员的破解难度。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例的用于ios系统的安全防护方法的流程图;
图2是本申请的一个具体的实施例的反调试执行流程图;
图3是本申请的一个实施例的用于ios系统的安全防护系统的框架图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
根据本申请的一个实施例的用于ios系统的安全防护方法,图1示出了根据本申请的实施例的用于ios系统的安全防护方法的流程图。如图1所示,该方法包括以下步骤:
S101:应用程序进程的子线程周期性地利用sysctl接口获取应用程序进程的调试状态信息。利用sysctl接口可以查看当前进程的信息是否有被调试标记,以此判断应用程序进程的调试状态信息。
在具体的实施例中,sysctl是用以查询内核状态的接口,并允许具备相应权限的进程设置内核状态。基本的原理是当一个进程被调试的时候,该进程会存在一个标记自己正在被调试的标记,因此可以通过sysctl接口去查看当前进程的信息,查看是否存在这个标记位即可检查当前是否处于调试状态。
Sysctl接口调用定义如下:
int sysctl(int*name,u_int namelen,void*oldp,size_t*oldlenp,void*newp,size_t newlen);
name是一个用以指定查询的信息数组,数组中的第一个元素指定本请求定向到内核的哪个子系统。第二个及其后元素依次细化指定该系统的某个部分;
参数namelenp用以指定name数组的元素个数;
参数oldp是函数用以返回的缓冲区;
oldlenp用以指定oldp缓冲区长度;
newp/newlenp在设置时使用,为了设置某个新值,参数newp会指向一个大小为newlenp参数值的缓冲区。如果不准备指定一个新值,那么newp应为一个空指针,newlenp为0。
在清楚了sysctl的大致调用方式之后,可以通过该接口查询进程相应的kinfo_proc信息,如果一个进程正处于调试状态,会有一个标志位info.kp_proc.p_flag来标识当前是否正在调试。
在具体的实施例中,获取标志位状态的具体方法如下:
在具体的实施例中,不同于ptrace反调试造成的调试附加中断,破解者在逆向过程中可以正常附加应用进程,在附加进程之后也可正常调试,应用程序在运行之后通过一个子线程每隔一定时间通过使用sysctl接口对调试状态进行一次获取,判断应用是否处于调试状态。间隔时间内对调试状态进行获取,可以保证应用程序被调试的时候可以及时获取其被调试的信息,保证应用程序的安全性。
S102:响应于子线程获得的调试状态信息为正被调试状态,子线程向主线程返回调试状态信息。正调试状态表示当前应用程序处于调试状态,该状态下若是破解者利用逆向调试破解,应用的核心代码可能被调试进而影响安全性能。子线程定期将调试状态返回主线程,可以提升进程的安全性。
S103:响应于主线程接收到为正被调试状态的调试状态信息,主线程执行预设的伪流程取代应用程序进程的原始流程。主线程获取应用处于被调试状态后利用伪流程可以迷惑混淆破解者,使其无法执行正常流程,保护应用程序被破解者破解。
在优选的实施例中,伪流程具体可以为伪登录流程,子线程得到的调试状态返回给主线程,主线程在收到标识之后调用并执行登录流程来绕过应用正常的执行流程,来防止核心代码被调试。在破解者通过用户登录界面重新登录的过程中,调用之前重写登录验证函数进行登录检测,重现的验证函数不论在用户输入的用户名密码正确与否的情况下都无法实现登录并提示重新输入再次验证,最终实现在被调试状态下的无限登录,防止应用程序的关键流程被调试。破解者想要破解应用核心流程,则必须先继续执行伪造的登录流程,启动登录页面输入用户名密码,该伪造页面不具备实际登录功能,点击登录只会返回失败,通过以上过程大大增加了破解难度,保护了应用核心代码层。
应当认识到,除了使用伪登录流程之外,还可以采用其他的流程,例如应用处于被调试状态,可以采取针对破解者的迷惑混淆加固等操作,以此来保护应用程序的核心代码被调试进而影响系统的安全性能。
根据本发明的一个具体的反调试应用的实施例中,图2示出了根据本申请的一个具体的实施例的反调试执行流程图,如图2所示,该反调试执行流程包括:
S201:子线程检测调试标志位;子线程定期的利用sysctl接口获取应用程序进程的调试状态信息。利用sysctl接口可以查看当前进程的信息是否有被调试标记,以此判断应用程序进程的调试状态信息。
S202:判断是否被调试;若子线程未检测到调试标志位,则表示当前应用程序进程未被调试状态,当前应用程序处于相对安全的应用环境,执行步骤S204继续执行程序原流程;若子线程检测到调试标志位,表示当前应用程序进程处于被调试状态,应用环境可能存在不安全因素,则进入步骤S203主线程接收标志位信息。
S203:主线程接收标志位信息;子线程将被调试信息发送给主线程,方便主线程根据调试信息采取相应的措施来保证应用程序的安全性。
S204:继续执行程序原流程;应用程序进程未被调试,则继续执行原程序流程,保证应用程序的正常运行。
S205:调用登录界面;主线程在接收到子线程获得的标志位信息后调用并执行登录流程绕过正常的执行流程,来防止核心代码被调试。
S206:输入用户名密码;破解者通过用户登录界面重新登录的过程中,调用之前重写登录验证函数进行登录检测。
S207:校验用户名密码。重现的验证函数不论在用户输入的用户名密码正确与否的情况下都无法实现登录并提示重新输入再次验证,最终实现在被调试状态下的无限登录,防止应用程序的关键流程被调试。
与目前市场上存在的iOS主流的安全防护技术相比,在iOS被越狱之后,本发明的技术安全性较高,应用在采取该反调试技术之后,会定时检测应用程序的调试状态,确认被调试之后触发伪造的登录流程(这里以该流程为例,也可以是其他不重要的程序流程),破解者想要破解应用核心流程,则必须先继续执行伪造的登录流程,启动登录页面输入用户名密码,该伪造页面不具备实际登录功能,点击登录只会返回失败,通过以上过程大大增加了破解难度,保护了应用核心代码层。由于sysctl只能检测debugger或dtrace调试的局限性,同时导致了无法对代码注入或cycript附加造成很好的预防,但是基于目前破解者广泛使用的debugserver+lldb动态调试却具有良好的防护效果,因此本发明十分适用于现阶段还未采取反调试措施的第三应用,可大大的提高应用的安全性,增加逆向人员的破解难度。
图3示出了根据本发明的另一实施例的用于ios系统的安全防护系统。该系统具体包括主线程301和子线程302。
在具体的实施例中,主线程301配置用于响应于主线程接收到为正被调试状态的调试状态信息,主线程执行预设的伪流程取代应用程序进程的原始流程;子线程302配置用于周期性地利用sysctl获取应用程序进程的调试状态信息,响应于子线程获得调试状态信息为正被调试状态,子线程向主线程返回调试状态信息。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:应用程序进程的子线程周期性地利用sysctl接口获取应用程序进程的调试状态信息;响应于子线程获得的调试状态信息为正被调试状态,子线程向主线程返回调试状态信息;响应于主线程接收到为正被调试状态的调试状态信息,主线程执行预设的伪流程取代应用程序进程的原始流程。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (14)
1.一种用于ios系统的安全防护方法,其特征在于,该方法包括以下步骤:
S1:应用程序进程的子线程周期性地利用sysctl接口获取所述应用程序进程的调试状态信息;
S2:响应于所述子线程获得的所述调试状态信息为正被调试状态,所述子线程向主线程返回所述调试状态信息;
S3:响应于所述主线程接收到为正被调试状态的所述调试状态信息,所述主线程执行预设的伪流程取代所述应用程序进程的原始流程。
2.根据权利要求1所述的用于ios系统的安全防护方法,其特征在于,所述子线程获取调试状态信息的方式具体为:利用sysctl接口查看当前应用程序进程是否存在调试标记,存在调试标记则为正被调试状态,否则为负被调试状态。
3.根据权利要求2所述的用于ios系统的安全防护方法,其特征在于,响应于所述应用程序进程被调试,所述应用程序进程生成所述调试标记。
4.根据权利要求2所述的用于ios系统的安全防护方法,其特征在于,还包括:所述主线程收到所述调试状态信息为负被调试状态,继续执行所述原始流程。
5.根据权利要求1所述的用于ios系统的安全防护方法,其特征在于,所述伪流程包括预设的伪登录流程。
6.根据权利要求5所述的用于ios系统的安全防护方法,其特征在于,所述伪登录流程被设置为无论用户名或者密码正确与否,都无法实现登录。
7.根据权利要求5或6所述的用于ios系统的安全防护方法,其特征在于,所述伪登录流程被设置为正被调试状态下的无限登录,且无法调试所述应用程序的关键流程。
8.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求1至7中任一项所述的方法。
9.一种用于ios系统的安全防护系统,其特征在于,所述系统包括:
子线程:配置用于周期性地利用sysctl获取应用程序进程的调试状态信息,响应于所述子线程获得所述调试状态信息为正被调试状态,所述子线程向主线程返回所述调试状态信息;
主线程:配置用于响应于所述主线程接收到为正被调试状态的所述调试状态信息,所述主线程执行预设的伪流程取代所述应用程序进程的原始流程。
10.根据权利要求9所述的用于ios系统的安全防护系统,其特征在于,所述子线程利用sysctl接口查看当前应用程序进程是否存在调试标记。
11.根据权利要求10所述的用于ios系统的安全防护系统,其特征在于,响应于所述应用程序进程被调试,所述应用程序进程生成所述调试标记。
12.根据权利要求9所述的用于ios系统的安全防护系统,其特征在于,所述主线程还配置用于响应于所述主线程没有收到所述调试状态信息,继续执行所述原始流程。
13.根据权利要求9所述的用于ios系统的安全防护系统,其特征在于,所述主线程中的预设的伪流程包括伪登录流程。
14.根据权利要求13所述的用于ios系统的安全防护系统,其特征在于,所述伪登录流程被设置为无论用户名或者密码正确与否,都无法实现登录,以及被调试状态下的无限登录,且无法调试所述应用程序的关键流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261474.0A CN111062061B (zh) | 2019-12-10 | 2019-12-10 | 一种用于ios系统的安全防护方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261474.0A CN111062061B (zh) | 2019-12-10 | 2019-12-10 | 一种用于ios系统的安全防护方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111062061A true CN111062061A (zh) | 2020-04-24 |
CN111062061B CN111062061B (zh) | 2023-01-24 |
Family
ID=70300515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261474.0A Active CN111062061B (zh) | 2019-12-10 | 2019-12-10 | 一种用于ios系统的安全防护方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111062061B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814119A (zh) * | 2020-05-27 | 2020-10-23 | 广州锦行网络科技有限公司 | 一种反调试的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234430A1 (en) * | 2003-10-08 | 2007-10-04 | Microsoft Corporation | Anti-Debugging Protection of Binaries with Proxy Code Execution |
CN102063366A (zh) * | 2009-11-18 | 2011-05-18 | 中兴通讯股份有限公司 | 调试进程的方法和系统 |
CN102346708A (zh) * | 2010-08-03 | 2012-02-08 | 中兴通讯股份有限公司 | 一种调试器及其调试方法 |
CN106055983A (zh) * | 2016-07-27 | 2016-10-26 | 北京鼎源科技有限公司 | 一种基于IDA通信的Android应用反调试方法 |
-
2019
- 2019-12-10 CN CN201911261474.0A patent/CN111062061B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234430A1 (en) * | 2003-10-08 | 2007-10-04 | Microsoft Corporation | Anti-Debugging Protection of Binaries with Proxy Code Execution |
CN102063366A (zh) * | 2009-11-18 | 2011-05-18 | 中兴通讯股份有限公司 | 调试进程的方法和系统 |
CN102346708A (zh) * | 2010-08-03 | 2012-02-08 | 中兴通讯股份有限公司 | 一种调试器及其调试方法 |
CN106055983A (zh) * | 2016-07-27 | 2016-10-26 | 北京鼎源科技有限公司 | 一种基于IDA通信的Android应用反调试方法 |
Non-Patent Citations (1)
Title |
---|
MERYIN: "iOS安全防护之重签名防护和sysctl反调试", 《简书》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814119A (zh) * | 2020-05-27 | 2020-10-23 | 广州锦行网络科技有限公司 | 一种反调试的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111062061B (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gibler et al. | Androidleaks: Automatically detecting potential privacy leaks in android applications on a large scale | |
CN1581073B (zh) | 用于从可信环境到不可信环境的可信性投影的方法和系统 | |
Kantola et al. | Reducing attack surfaces for intra-application communication in android | |
US9424430B2 (en) | Method and system for defending security application in a user's computer | |
US9516056B2 (en) | Detecting a malware process | |
CN106682497A (zh) | 在管理程序模式下安全执行代码的系统和方法 | |
JP6370098B2 (ja) | 情報処理装置、情報処理監視方法、プログラム、及び記録媒体 | |
US20210089684A1 (en) | Controlled access to data stored in a secure partition | |
US10114948B2 (en) | Hypervisor-based buffer overflow detection and prevention | |
US11221968B1 (en) | Systems and methods for shadow copy access prevention | |
JP2022534685A (ja) | オペレーティング・システム・カーネルの分離されたアドレス空間におけるシステム・コールの実行 | |
Hwang et al. | Bittersweet adb: Attacks and defenses | |
CN115758356A (zh) | 一种对Android应用实施可信静态度量的方法、存储介质及设备 | |
EP3454216A1 (en) | Method for protecting unauthorized data access from a memory | |
CN111062061B (zh) | 一种用于ios系统的安全防护方法和系统 | |
Kaczmarek et al. | Operating system security by integrity checking and recovery using write‐protected storage | |
CN109902500B (zh) | 一种通过链接库实现业务调用数据安全的方法及系统 | |
CN115935370A (zh) | 漏洞修复优先级的分类方法、装置、设备及存储介质 | |
Dar et al. | Enhancing security of Android & IOS by implementing need-based security (NBS) | |
CN114238943A (zh) | 应用程序防护方法、装置、设备及存储介质 | |
Pei et al. | ASCAA: API‐level security certification of android applications | |
CN113836529A (zh) | 进程检测方法、装置、存储介质以及计算机设备 | |
CN114443147A (zh) | 基于可信硬件技术的超级监控式无人飞行器可信检测方法 | |
CN111523115B (zh) | 信息确定方法、函数调用方法及电子设备 | |
US20180322277A1 (en) | System management mode privilege architecture |
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 |