CN105653943A - Android应用的日志审计方法及系统 - Google Patents

Android应用的日志审计方法及系统 Download PDF

Info

Publication number
CN105653943A
CN105653943A CN201510984735.7A CN201510984735A CN105653943A CN 105653943 A CN105653943 A CN 105653943A CN 201510984735 A CN201510984735 A CN 201510984735A CN 105653943 A CN105653943 A CN 105653943A
Authority
CN
China
Prior art keywords
log information
audit
decompiling
log
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.)
Granted
Application number
CN201510984735.7A
Other languages
English (en)
Other versions
CN105653943B (zh
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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510984735.7A priority Critical patent/CN105653943B/zh
Publication of CN105653943A publication Critical patent/CN105653943A/zh
Application granted granted Critical
Publication of CN105653943B publication Critical patent/CN105653943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种Android应用的日志审计方法,包括:对Android应用的安装包进行反编译,得到反编译文件;根据反编译文件中的日志输出函数得到反编译日志信息和安装包在运行时可能得到的运行日志信息;对反编译日志信息进行还原,得到原始日志信息;将原始日志信息和运行日志信息统一输出,得到最终日志信息;根据审计日志信息白名单对最终日志信息进行过滤,确定待审计的日志信息;利用所述待审级的日志信息进行Android应用的审计。本发明还提供了相应的系统。本发明所述方法对大多数Android应用来说都是可用的,提高了Android应用日志审计的覆盖率,且与现有技术需要人工检测的方式相比节省了重复检测的时间,提高了日志审计的效率。

Description

Android应用的日志审计方法及系统
技术领域
本发明涉及计算机信息处理技术,具体而言涉及一种Android应用的日志审计方法及系统。
背景技术
随着移动互联网的发展,移动终端安全也越来越受到关注。特别是Android系统的快速发展,使得互联网上的各类Andriod软件数量迅速上升。由于Android系统是开源的,逆向工具很多,导致各种Android恶意软件迅猛增加,尤其盗版、重打包、植入、窃密现象严重,因此对Android软件的各个版本进行检测以实施相应的保护措施确保用户的敏感信息不泄露或软件作者的利益不受侵害是非常有必要的。其中较为常见的检测方式是对Android软件进行日志审计。
现有技术中对Android软件的日志审计都是通过人工检测的方式进行的。人工检测方式费时费力,尤其在对同一应用的不同版本进行检测时,已经在上一版本中检测过的日志还需要再次被审计。对于业务量较大的公司,需要审计的Android软件产品可能会很多,采用人工方式进行日志审计的效率较低,因此需要一种能够对软件中需要审计的日志进行筛选的日志审计方法。
发明内容
本发明的旨在解决上述问题,提供一种Android应用的日志审计方法及系统。
一方面,本发明提供一种Android应用的日志审计方法,包括:
对Android应用的安装包进行反编译,得到反编译文件;
根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息;
对所述反编译日志信息进行还原,得到原始日志信息;
将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息;
根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息;
利用所述待审计的日志信息进行Android应用的审计。
进一步,根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息包括:
遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
进一步,对所述反编译日志信息进行还原,得到原始日志信息包括:
根据所述安装包中的资源文件得到所述安装包的待审计版本;
根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
进一步,根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息包括:
接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
进一步,利用所述待审计的日志信息进行Android应用的审计包括:
利用所述待审计的日志信息确定漏洞特征;
将所述漏洞特征存储到云端漏洞知识库中;
根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
另一方面,本发明相应的提供一种Android应用的日志审计系统,包括:
反编译单元,用于对Android应用的安装包进行反编译,得到反编译文件;
日志生成单元,用于根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息,并对所述反编译日志信息进行还原,得到原始日志信息;
日志输出单元,用于将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息;
日志筛选单元,用于根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息;
日志审计单元,用于利用所述待审计的日志信息进行Android应用的审计。
进一步,所述日志生成单元用于遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
进一步,所述日志生成单元包括日志还原模块,用于:
根据所述安装包中的资源文件得到所述安装包的待审计版本;
根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
进一步,所述日志筛选单元用于:
接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
进一步,所述日志审计单元用于:
利用所述待审计的日志信息确定漏洞特征;
将所述漏洞特征存储到云端漏洞知识库中;
根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
相比现有技术,本发明的方案具有以下优点:对待审计的Android应用的安装包进行反编译,得到其反编译文件,以此来获取其反编译文件的日志信息和该安装包运行时可能产生的日志信息,并对反编译文件的日志信息进行还原得到原始的日志信息,将该安装包运行时可能产生的日志信息和原始的日志信息统一输出,与白名单对比来确定需要审计的日志信息,对绝大多数Android应用来说该方法都是可用的,提高了Android应用日志审计的覆盖率。且由于版本更新时应用内大部分的代码内容都不会发生变化,因此只要进行日志审计的Android应用安装包在此之前进行过审计并把通过审计的日志信息保存在了审计日志信息白名单中,该Android应用在本次日志信息确定过程中需要审计的日志信息数量相对于现有技术需要人工检测的方式来说就大大减少,节省了重复检测的时间,提高了单个Android应用日志审计的效率。
显然,上述有关本发明优点的描述是概括性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发现本发明的其他诸多优点。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明一实施方式的日志审计方法的流程示意图;
图2为本发明一实施方式的日志审计系统的结构示意图;
图3是本发明的日志审计系统的一具体实施例的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicationsService,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
图1为本发明一实施方式的日志审计方法的流程示意图。如图1所示,该方法包括以下步骤:
S11:对Android应用的安装包进行反编译,得到反编译文件;
S12:根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息;
S13:对所述反编译日志信息进行还原,得到原始日志信息;
S14:将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息;
S15:根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息;
S16:利用所述待审计的日志信息进行Android应用的审计。
高级语言源程序经过编译变成可执行文件,反编译就是将可执行文件变为高级语言源程序的过程。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。即C++、C语言一般不能反编译为源代码,只能反编译为汇编语言;C#、Java等高级语言,尤其是需要运行环境的语言,如果没有混淆,只要在编译为中间语言后,加上保留的元信息(记录类名、成员函数等信息)就可以反向生成源代码。如果代码进行了混淆,则只需根据混淆时产生的映射文件对混淆过的类名、变量名等进行还原,即可得到源代码。因此可以对Android应用安装包进行反编译以形成源代码。
本发明实施方式对待审计的Android应用的安装包进行反编译,得到其反编译文件,以此来获取其反编译文件的日志信息和该安装包运行时可能产生的日志信息,并对反编译文件的日志信息进行还原得到原始的日志信息,将该安装包运行时可能产生的日志信息和原始的日志信息统一输出,与白名单对比来确定需要审计的日志信息,对绝大多数Android应用来说该方法都是可用的,提高了Android应用日志审计的覆盖率。且由于版本更新时应用内大部分的代码内容都不会发生变化,因此只要进行日志审计的Android应用安装包在此之前进行过审计并把通过审计的日志信息保存在了审计日志信息白名单中,该Android应用在本次日志信息确定过程中需要审计的日志信息数量相对于现有技术需要人工检测的方式来说就大大减少,节省了重复检测的时间,提高了单个Android应用日志审计的效率。
图1所示的日志审计方法,其中步骤S11对Android应用的安装包进行反编译,得到反编译文件包括:
S111:解压所述安装包,得到dex可执行文件;
S112:对所述dex可执行文件进行反编译,得到smali反编译文件。
执行完该步骤后可以继续执行步骤S12-S16。
图1所示的日志审计方法,其中步骤S12根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息包括:
遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
图1所示的日志审计方法,其中步骤S13对所述反编译日志信息进行还原,得到原始日志信息包括:
S131:根据所述安装包中的资源文件得到所述安装包的待审计版本;
S132:根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
S133:根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
作为图1所示的日志审计方法的进一步优化,其中步骤S15根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息包括:
S151:接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
S152:根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
本实施方式中审计日志信息白名单来自云端服务器,云端服务器下有多个审计节点,每个审计节点唯一对应于一个终端设备,因此,审计节点接收到处理任务后,只将处理任务传递给与其唯一对应的终端设备,对处理任务对应的应用程序的安装包文件进行安全审计,以及在终端设备安装安装包文件后,对该终端设备进行安全审计,采用完全真实的终端设备环境进行安全审计,与终端设备模拟器相比,审计过程更加稳定,审计结果更加准确。
审计节点审计结束后,可以将审计结果反馈给任务调度服务器,任务调度服务器在审计页面中显示审计结果,供应用程序开发方查看。而且安全审计结果可以向开发方展示应用程序存在哪些漏洞、漏洞修复建议和漏洞出处,也可以向开发方展示应用程序的漏洞等级,根据所涉及到的威胁等级将漏洞分为高危、中危和低危漏洞,例如,高危漏洞指极易被病毒、木马、黑客等利用,能够远程执行代码的漏洞,开发方可以根据应用程序的漏洞等级确定是否对漏洞进行修复。
图1所示的日志审计方法,其中步骤S16利用所述待审计的日志信息进行Android应用的审计包括:
S161:利用所述待审计的日志信息确定漏洞特征;
S162:将所述漏洞特征存储到云端漏洞知识库中;
S163:根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
上述实施方式中,根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测包括静态检测和动态检测。其中,所述云端漏洞知识库是云端维护的存储各种漏洞静态特征和漏洞动态特征的数据库。例如,云端漏洞知识库包括危险的应用程序接口、和/或具有危险的应用程序配置文件、和/或无法实现关键安全函数。其中,调用危险的应用程序接口是指开发方所开发的应用程序调用危险的应用程序接口,用户启动应用程序后,该应用程序可以通过危险的应用程序接口而将用户隐私泄露,甚至给用户造成财产损失;具有危险的应用程序配置文件是指开发方所开发的应用程序具有危险的应用程序配置文件,用户在启动该应用程序后,该应用程序通过运行危险的应用程序配置文件而将用户隐私泄露,甚至给用户造成财产损失;无法实现关键安全函数是指开发方开发的应用程序无法实现应用程序中关键安全函数的作用,而将用户隐私泄露,甚至给用户造成财产损失。
本发明实施方式中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图2是本发明一实施方式的Android应用的日志审计系统的结构示意图。如图2所示,本发明实施方式的系统包括反编译单元21、日志生成单元22、日志输出单元23、日志筛选单元24和日志审计单元25。
反编译单元21用于对Android应用的安装包进行反编译,得到反编译文件。
日志生成单元22用于根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息,并对所述反编译日志信息进行还原,得到原始日志信息。
日志输出单元23用于将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息。
日志筛选单元24用于根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息。
日志审计单元25用于利用所述待审计的日志信息进行Android应用的审计。
作为图2所示系统实施例的进一步说明,在一些实施方式中,反编译单元21用于:
解压所述安装包,得到dex可执行文件;
对所述dex可执行文件进行反编译,得到smali反编译文件。
作为图2所示系统实施例的进一步说明,在一些实施方式中,日志生成单元22用于遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
作为图2所示系统实施例的进一步说明,在一些实施方式中,日志生成单元22包括日志还原模块221,用于:
根据所述安装包中的资源文件得到所述安装包的待审计版本;
根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
作为图2所示系统实施例的进一步优化,本发明实施例中日志筛选单元24用于:
接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
作为图2所示系统实施例的进一步优化,本发明实施例中日志审计单元25用于:
利用所述待审计的日志信息确定漏洞特征;
将所述漏洞特征存储到云端漏洞知识库中;
根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
其中,根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测包括静态检测和动态检测。所述云端漏洞知识库是云端维护的存储各种漏洞静态特征和漏洞动态特征的数据库。
图3是本发明的日志审计系统的一具体实施例的示意图。如图3所示,该系统包括Dex反编译单元、日志生成单元、日志输出单元、日志筛选单元和日志审计单元。其中,日志生成单元包括Smali静态分析模块和日志还原模块,日志还原模块包括映射文件解析模块。审计日志信息白名单服务器用于提供待审计应用的审计日志信息白名单。待审计的应用经过该系统审计后,输出日志审计报告。日志审计报告可以包括被审计的应用存在的漏洞、漏洞出处和漏洞修复建议。
以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本领域内的技术人员应明白,本发明的实施方式可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种Android应用的日志审计方法,包括:
对Android应用的安装包进行反编译,得到反编译文件;
根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息;
对所述反编译日志信息进行还原,得到原始日志信息;
将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息;
根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息;
利用所述待审计的日志信息进行Android应用的审计。
2.根据权利要求1所述的方法,其中根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息包括:
遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
3.根据权利要求1所述的方法,其中对所述反编译日志信息进行还原,得到原始日志信息包括:
根据所述安装包中的资源文件得到所述安装包的待审计版本;
根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
4.根据权利要求1所述的方法,其中根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息包括:
接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
5.根据权利要求1-4中任一项所述的方法,其中利用所述待审计的日志信息进行Android应用的审计包括:
利用所述待审计的日志信息确定漏洞特征;
将所述漏洞特征存储到云端漏洞知识库中;
根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
6.一种Android应用的日志审计系统,包括:
反编译单元,用于对Android应用的安装包进行反编译,得到反编译文件;
日志生成单元,用于根据所述反编译文件中的日志输出函数得到反编译日志信息和所述安装包在运行时可能得到的运行日志信息,并对所述反编译日志信息进行还原,得到原始日志信息;
日志输出单元,用于将所述原始日志信息和所述运行日志信息统一输出,得到最终日志信息;
日志筛选单元,用于根据审计日志信息白名单对所述最终日志信息进行过滤,确定待审计的日志信息;
日志审计单元,用于利用所述待审计的日志信息进行Android应用的审计。
7.根据权利要求6所述的系统,其中所述日志生成单元用于遍历所述反编译文件,定位所述反编译文件的日志输出函数,获取所述日志输出函数输出的反编译日志信息和所述安装包在运行时可能得到的运行日志信息。
8.根据权利要求6所述的系统,其中所述日志生成单元包括日志还原模块,用于:
根据所述安装包中的资源文件得到所述安装包的待审计版本;
根据所述待审计版本的版本信息确定所述安装包在所述待审计版本下的映射文件的地址并下载所述映射文件;
根据所述映射文件对所述反编译日志信息进行还原,得到原始日志信息。
9.根据权利要求6所述的系统,其中所述日志筛选单元用于:
接收自云端服务器分发或向云端服务器请求下载而获得的所述审计日志信息白名单;
根据所述审计日志信息白名单中的日志信息对所述最终日志信息进行过滤,将所述最终日志信息中不在所述审计日志信息白名单范围内的日志信息确定为待审计的日志信息。
10.根据权利要求6-9中任一项所述的系统,其中所述日志审计单元用于:
利用所述待审计的日志信息确定漏洞特征;
将所述漏洞特征存储到云端漏洞知识库中;
根据所述云端漏洞知识库对待审计的Android应用的安装包进行检测。
CN201510984735.7A 2015-12-24 2015-12-24 Android应用的日志审计方法及系统 Active CN105653943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510984735.7A CN105653943B (zh) 2015-12-24 2015-12-24 Android应用的日志审计方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510984735.7A CN105653943B (zh) 2015-12-24 2015-12-24 Android应用的日志审计方法及系统

Publications (2)

Publication Number Publication Date
CN105653943A true CN105653943A (zh) 2016-06-08
CN105653943B CN105653943B (zh) 2018-08-07

Family

ID=56477091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510984735.7A Active CN105653943B (zh) 2015-12-24 2015-12-24 Android应用的日志审计方法及系统

Country Status (1)

Country Link
CN (1) CN105653943B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294133A (zh) * 2016-07-29 2017-01-04 腾讯科技(深圳)有限公司 一种应用程序安装包的检测方法、相关装置及系统
CN106598825A (zh) * 2016-12-07 2017-04-26 泰康保险集团股份有限公司 电子设备、规范日志代码输出方法及装置
CN106919844A (zh) * 2017-02-14 2017-07-04 暨南大学 一种Android系统应用程序漏洞检测方法
CN107766720A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 对应用程序进行审计的系统、方法、装置及测试设备
CN109240736A (zh) * 2018-07-28 2019-01-18 安徽捷兴信息安全技术有限公司 一种基于Dalvik指令的应用日志注入方法及系统
CN109600254A (zh) * 2018-11-29 2019-04-09 恒生电子股份有限公司 全链路日志的生成方法及相关系统
CN114020278A (zh) * 2020-07-19 2022-02-08 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
CN102333072A (zh) * 2011-06-09 2012-01-25 张欢 一种基于智能终端的网络银行可信交易系统与方法
CN104468537A (zh) * 2014-11-25 2015-03-25 公安部第三研究所 实现安全审计的系统及方法
CN104537309A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 应用程序漏洞检测方法、装置及服务器
CN104537308A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 提供应用安全审计功能的系统及方法
CN104798355A (zh) * 2012-09-18 2015-07-22 思杰系统有限公司 移动设备管理和安全

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188941A1 (en) * 2001-06-12 2002-12-12 International Business Machines Corporation Efficient installation of software packages
CN102333072A (zh) * 2011-06-09 2012-01-25 张欢 一种基于智能终端的网络银行可信交易系统与方法
CN104798355A (zh) * 2012-09-18 2015-07-22 思杰系统有限公司 移动设备管理和安全
CN104468537A (zh) * 2014-11-25 2015-03-25 公安部第三研究所 实现安全审计的系统及方法
CN104537309A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 应用程序漏洞检测方法、装置及服务器
CN104537308A (zh) * 2015-01-23 2015-04-22 北京奇虎科技有限公司 提供应用安全审计功能的系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEISHU: "如何安全地打印日志", 《HTTP://WEISHU.ME/2015/10/19/HOW-TO-LOG-SAFELY-IN-ANDROID/》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294133A (zh) * 2016-07-29 2017-01-04 腾讯科技(深圳)有限公司 一种应用程序安装包的检测方法、相关装置及系统
CN107766720A (zh) * 2016-08-19 2018-03-06 阿里巴巴集团控股有限公司 对应用程序进行审计的系统、方法、装置及测试设备
CN106598825A (zh) * 2016-12-07 2017-04-26 泰康保险集团股份有限公司 电子设备、规范日志代码输出方法及装置
CN106598825B (zh) * 2016-12-07 2019-07-05 泰康保险集团股份有限公司 电子设备、规范日志代码输出方法及装置
CN106919844A (zh) * 2017-02-14 2017-07-04 暨南大学 一种Android系统应用程序漏洞检测方法
CN106919844B (zh) * 2017-02-14 2019-08-02 暨南大学 一种Android系统应用程序漏洞检测方法
CN109240736A (zh) * 2018-07-28 2019-01-18 安徽捷兴信息安全技术有限公司 一种基于Dalvik指令的应用日志注入方法及系统
CN109600254A (zh) * 2018-11-29 2019-04-09 恒生电子股份有限公司 全链路日志的生成方法及相关系统
CN109600254B (zh) * 2018-11-29 2022-04-26 恒生电子股份有限公司 全链路日志的生成方法及相关系统
CN114020278A (zh) * 2020-07-19 2022-02-08 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN105653943B (zh) 2018-08-07

Similar Documents

Publication Publication Date Title
CN105653943A (zh) Android应用的日志审计方法及系统
CN102663285B (zh) 一种apk病毒特征码的提取方法及装置
EP3336690B1 (en) Extensible data transformation authoring and validation system
CN105427096B (zh) 支付安全沙箱实现方法及系统与应用程序监控方法及系统
US10043011B2 (en) Methods and systems for providing recommendations to address security vulnerabilities in a network of computing systems
CN104217140B (zh) 一种应用程序的加固方法和装置
CN104102880B (zh) 一种检测Android权限提升攻击的应用程序重写方法和系统
US20130185799A1 (en) Trusted installation of a software application
CN102999720B (zh) 程序鉴别方法和系统
CN104965712A (zh) 应用程序加固保护方法、装置及移动终端
CN102982281B (zh) 程序状况检测方法和系统
CN103001947A (zh) 一种程序处理方法和系统
KR20160058673A (ko) 웹 기반 운영 체제에서의 주입형 공격을 방지하는 방법 및 장치
CN104239757A (zh) 应用程序防止逆向的方法及装置、运行方法及终端
US20150244737A1 (en) Detecting malicious advertisements using source code analysis
CN103559447B (zh) 一种基于病毒样本特征的检测方法、检测装置及检测系统
CN104580203A (zh) 网站恶意程序检测方法及装置
CN104036019A (zh) 网页链接的开启方法及装置
CN104134039A (zh) 病毒查杀方法、客户端、服务器以及病毒查杀系统
CN102446100B (zh) 用于数据类型的类型和长度抽象的系统和方法
Follner et al. PSHAPE: automatically combining gadgets for arbitrary method execution
CN102999721B (zh) 一种程序处理方法和系统
CN104915594A (zh) 应用程序运行方法及装置
CN108376074B (zh) 一种基于嵌入式系统的RancherOS ros核心模块移植方法
US20180101372A1 (en) Secure application packaging in the cloud

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right