CN105184168A - Android系统源码漏洞关联影响的追踪方法 - Google Patents

Android系统源码漏洞关联影响的追踪方法 Download PDF

Info

Publication number
CN105184168A
CN105184168A CN201510567218.XA CN201510567218A CN105184168A CN 105184168 A CN105184168 A CN 105184168A CN 201510567218 A CN201510567218 A CN 201510567218A CN 105184168 A CN105184168 A CN 105184168A
Authority
CN
China
Prior art keywords
file
source code
assembly
leak
android
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
CN201510567218.XA
Other languages
English (en)
Other versions
CN105184168B (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.)
Qingdao Industrial Software Research Institute
Original Assignee
Qingdao Industrial Software Research Institute Qingdao Branch Of Software Research Institute Cas
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 Qingdao Industrial Software Research Institute Qingdao Branch Of Software Research Institute Cas filed Critical Qingdao Industrial Software Research Institute Qingdao Branch Of Software Research Institute Cas
Priority to CN201510567218.XA priority Critical patent/CN105184168B/zh
Publication of CN105184168A publication Critical patent/CN105184168A/zh
Application granted granted Critical
Publication of CN105184168B publication Critical patent/CN105184168B/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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种Android系统源码漏洞关联影响的追踪方法,包括如下步骤:一、生成组件,人为分析并对Android源码划分多个层次、模块,定义一套组件规则二、软件元素存储与展示查看,依据doxygen对Android源码进行分析,将关联的关系及详细信息进行展示查看。三、锁定及修正漏洞,对于Android系统的厂商在开发或升级新产品时,能够更方便,快捷的定位漏洞关联问题,使得系统功能更加完善。依据此系统可以查看相关的相关元素关联信息,如在系统产品漏洞或模块功能更新的时候,可追溯所有与漏洞或模块功能相关的软件元素,实现全面、准确的定位,为系统的安全和稳定作出更多的保证。

Description

Android系统源码漏洞关联影响的追踪方法
技术领域
本发明涉及计算机程序的漏洞检测技术领域,尤其涉及一种Android系统源码漏洞关联影响的追踪方法。
背景技术
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑。随着最近几年的电子市场的发展,移动端设备推陈出新,不断有更新的应用发布,使得体验者在生活、学习、社交等领域越来越方便快捷。而Android相对其他操作系统WindowsPhone和iOS等,具有非常大的优点和优势。在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android中来。同时也因为Android性价比高,机型多,开发者更多,方便开发,系统开源等特点使其市场占有率非常之高,所以受众群体广大,体验测试出的问题也会随之较多,很多的应用程序也需要Android系统的支持,所以当发现问题如系统漏洞或模块功能更新问题时,如何考虑修正或更新全面的问题就显得非常重要。
发明内容
针对现有技术存在的不足,本发明所要解决的技术问题是,提供一种用于追溯或查找系统漏洞的关联点,可以将漏洞的修补做到更加的全面和完善,方便、快捷的定位漏洞关联问题,解决系统模块功能更新修复不完善的缺陷的Android系统源码漏洞关联影响的追踪方法。
为解决上述技术问题,本发明所采取的技术方案是:一种Android系统源码漏洞关联影响的追踪方法,其特征在于:包括如下步骤:
一、生成组件
(1)、人为分析并对Android源码划分多个层次、模块;
(2)、扫描Android源码目录,将各模块下的文件夹及文件作为组件,生成多个相应的组件,定义一套组件规则;
二、软件元素存储与展示查看
(1)、依据doxygen文档系统对Android源码进行分析,并得出结果,根据结果将类、结构体、接口、名空间、文件等软件元素的定义信息、关系信息,函数定义信息、函数间关系等信息提出出来,分别设计数据库表进行处理存储;
(2)、对以上各种软件元素内部的引用关系进行处理、汇总、合并处理后,将关联的关系及详细信息进行展示查看;
三、锁定及修正漏洞
(1)、在以上数据及数据接口的准备基础上,通过源码树的联动找到相应的Android系统漏洞所在的位置;
(2)、然后通过查看上下文、引用关系,详细的定位与漏洞位置相关连的文件、模块、层次因素,全面的覆盖漏洞的影响范围;
(3)、根据该范围对漏洞进行详尽的分析和修正。
上述的Android系统源码漏洞关联影响的追踪方法,在展示的同时,可通过右键点击查看该软件元素相关的所有同层次的软件元素,以及该软件元素的上下文的软件元素。
上述的Android系统源码漏洞关联影响的追踪方法,所述源码树包括文件、类、全局函数、成员函数。
上述的Android系统源码漏洞关联影响的追踪方法,待分析的Android源码文件类型包括.c、.C、.java、.h、.cpp、.cxx、.hpp。
述的Android系统源码漏洞关联影响的追踪方法,所述组件规则包括如下情况:
(1)、一个文件夹作为一个组件,组件名取文件夹名;
(2)、模块叶子节点下包含多个文件夹,每个文件夹作为一个组件;
(3)、最底层无源码文件,删除组件;
(4)、单层深入的组件合并,名字命名为包的形式;
(5)、模块叶子节点下包含文件夹和文件并行的情况,文件合并为一个组件,组件名为:模块名+_base,依次类推,再往下层的零散文件合并为“父组件名+_base”;
(6)、模块叶子节点下直接包含多个文件,直接展示文件;
(7)、提供的数据中,某个模块叶子对应多条路径的情况,只存在一个X_base的情况,就命名为X_base,存在一个以上的,按照阿拉伯数字在其后编号;
(8)、关于.h文件声明及定义的函数,在倒推文件依赖关系时,以函数定义的位置为准,文件间调用关系避免出现.h文件。
本发明Android系统源码漏洞关联影响的追踪方法的优点是:Android系统的大部分结构在升级过程中不会大变化,可划分为多个模块,如Application、kernel层,然后层次下划分出多个模块,模块下文件夹及文件可作为组件,文件组件下有类或函数等软件元素,依据doxygen分析工具对Android源码进行分析,然后对分析结果按照软件元素分类处理,将关联的关系及详细信息进行展示查看。对于Android系统的厂商在开发或升级新产品时,能够更方便,快捷的定位漏洞关联问题,使得系统功能更加完善。依据此系统可以查看相关的相关元素关联信息,如在系统产品漏洞或模块功能更新的时候,可追溯所有与漏洞或模块功能相关的软件元素,实现全面、准确的定位,为系统的安全和稳定作出更多的保证。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
附图说明
图1为Android源码生成相应的组件结构图;
图2为查看某软件元素的所有同类型元素间的引用关系方法示意图;
图3为某软件元素的所有同类型元素间的引用关系展示示意图;
图4为其中一同类元素查看源码方法示意图。
具体实施方式
下面结合附图及具体实施例对本发明做进一步详细说明;
如图1、2、3、4所示,一种Android系统源码漏洞关联影响的追踪方法,包括如下步骤:
一、生成组件
(1)、人为分析并对Android源码划分多个层次、模块,Android系统的大部分结构在升级过程中不会大变化,可划分为多个模块,如Application、kernel层,然后层次下划分出多个模块,模块下文件夹及文件可作为组件,文件组件下有类或函数等软件元素;
(2)、扫描Android源码目录,将各模块下的文件夹及文件作为组件,生成多个相应的组件,定义一套组件规则;
组件规则一般情况下,一个文件夹认为是一个组件,组件名取文件夹名,除非遇到以下几种情况:
(1)、模块叶子节点下包含多个文件夹,每个文件夹作为一个组件;
(2)、最底层无源码文件,删除组件,例如:
“Framework/Service/MediaService/SoundPoolTest/res,res”组件删除,不作为组件;
(3)、单层深入的组件合并,名字命名为包的形式,如
“Framework/Service/MediaService/SoundPoolTest/src/com/android/**.java”中,“SoundPoolTest”为模块叶子节点,其下的组件合并为“src.com.android”,该组件下是“**.java文件”;
(4)、模块叶子节点下包含文件夹和文件并行的情况,文件合并为一个组件,组件名为:模块名_base。依次类推,再往下层的零散文件合并为“父组件名_base”;
(5)、模块叶子节点下直接包含多个文件,直接展示文件;
(6)、提供的数据中,某个模块叶子对应多条路径的情况见下表:
(7)、关于.h文件声明及定义的函数,在倒推文件依赖关系时,以函数定义的位置为准,文件间调用关系尽量避免出现.h文件。
二、软件元素存储与展示查看
(1)、依据doxygen文档系统对Android源码进行分析,待分析的Android源码文件类型包括.c、.C、.java、.h、.cpp、.cxx、.hpp,最后得出结果,根据结果将类、结构体、接口、名空间、文件等软件元素的定义信息、关系信息,函数定义信息、函数间关系等信息提出出来,分别设计数据库表进行处理存储;
(2)、对以上各种软件元素内部的引用关系进行处理、汇总、合并处理后,将关联的关系及详细信息进行展示查看,在展示的同时,可通过右键点击查看该软件元素相关的所有同层次的软件元素,以及该软件元素的上下文的软件元素;
三、锁定及修正漏洞
(1)、在以上数据及数据接口的准备基础上,通过源码树的联动找到相应的Android系统漏洞所在的位置,如文件、类、全局函数、成员函数等;
(2)、然后通过查看上下文、引用关系,详细的定位与漏洞位置相关连的文件、模块、层次因素,全面的覆盖漏洞的影响范围;
(3)、根据该范围对漏洞进行详尽的分析和修正。
Android体系结构软件系统以doxygen分析源码结果为基础,划分了源码的模块,模块下软件元素设定为组件,组件之下有类或函数。doxygen的分析结果中充电元素类、函数及其内部之间的关系数据提取、处理,进行展示,同时展示上层组件、模块间的关系。另外,可以通过模块、组件、类、函数等因素可联动查看相关的源码详细情况。
当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,作出的变化、改型、添加或替换,都应属于本发明的保护范围。

Claims (5)

1.一种Android系统源码漏洞关联影响的追踪方法,其特征在于:包括如下步骤:
一、生成组件
(1)、人为分析并对Android源码划分多个层次、模块;
(2)、扫描Android源码目录,将各模块下的文件夹及文件作为组件,生成多个相应的组件,定义一套组件规则;
二、软件元素存储与展示查看
(1)、依据doxygen文档系统对Android源码进行分析,并得出结果,根据结果将类、结构体、接口、名空间、文件等软件元素的定义信息、关系信息,函数定义信息、函数间关系等信息提出出来,分别设计数据库表进行处理存储;
(2)、对以上各种软件元素内部的引用关系进行处理、汇总、合并处理后,将关联的关系及详细信息进行展示查看;
三、锁定及修正漏洞
(1)、在以上数据及数据接口的准备基础上,通过源码树的联动找到相应的Android系统漏洞所在的位置;
(2)、然后通过查看上下文、引用关系,详细的定位与漏洞位置相关连的文件、模块、层次因素,全面的覆盖漏洞的影响范围;
(3)、根据该范围对漏洞进行详尽的分析和修正。
2.根据权利要求1所述的Android系统源码漏洞关联影响的追踪方法,其特征是:在展示的同时,可通过右键点击查看该软件元素相关的所有同层次的软件元素,以及该软件元素的上下文的软件元素。
3.根据权利要求1所述的Android系统源码漏洞关联影响的追踪方法,其特征是:所述源码树包括文件、类、全局函数、成员函数。
4.根据权利要求1所述的Android系统源码漏洞关联影响的追踪方法,其特征是:待分析的Android源码文件类型包括.c、.C、.java、.h、.cpp、.cxx、.hpp。
5.根据权利要求1所述的Android系统源码漏洞关联影响的追踪方法,其特征是:所述组件规则包括如下情况:
(1)、一个文件夹作为一个组件,组件名取文件夹名;
(2)、模块叶子节点下包含多个文件夹,每个文件夹作为一个组件;
(3)、最底层无源码文件,删除组件;
(4)、单层深入的组件合并,名字命名为包的形式;
(5)、模块叶子节点下包含文件夹和文件并行的情况,文件合并为一个组件,组件名为:模块名+_base,依次类推,再往下层的零散文件合并为“父组件名+_base”;
(6)、模块叶子节点下直接包含多个文件,直接展示文件;
(7)、提供的数据中,某个模块叶子对应多条路径的情况,只存在一个X_base的情况,就命名为X_base,存在一个以上的,按照阿拉伯数字在其后编号;
(8)、关于.h文件声明及定义的函数,在倒推文件依赖关系时,以函数定义的位置为准,文件间调用关系避免出现.h文件。
CN201510567218.XA 2015-09-02 2015-09-02 Android系统源码漏洞关联影响的追踪方法 Active CN105184168B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510567218.XA CN105184168B (zh) 2015-09-02 2015-09-02 Android系统源码漏洞关联影响的追踪方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510567218.XA CN105184168B (zh) 2015-09-02 2015-09-02 Android系统源码漏洞关联影响的追踪方法

Publications (2)

Publication Number Publication Date
CN105184168A true CN105184168A (zh) 2015-12-23
CN105184168B CN105184168B (zh) 2018-11-20

Family

ID=54906242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510567218.XA Active CN105184168B (zh) 2015-09-02 2015-09-02 Android系统源码漏洞关联影响的追踪方法

Country Status (1)

Country Link
CN (1) CN105184168B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885501A (zh) * 2017-11-03 2018-04-06 武汉斗鱼网络科技有限公司 获取Android中组件相互引用关系的方法及装置
CN110096890A (zh) * 2019-05-08 2019-08-06 北京国舜科技股份有限公司 漏洞整改策略推送方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577324A (zh) * 2013-10-30 2014-02-12 北京邮电大学 移动应用中隐私信息泄露的静态检测方法
CN103699389A (zh) * 2013-12-30 2014-04-02 北京大学 一种基于编译选项的Linux内核模块关系提取方法
CN104636665A (zh) * 2015-02-03 2015-05-20 南京理工大学 一种Android应用程序的描述和匹配方法
CN104834858A (zh) * 2015-04-24 2015-08-12 南京邮电大学 一种android应用中恶意代码的静态检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577324A (zh) * 2013-10-30 2014-02-12 北京邮电大学 移动应用中隐私信息泄露的静态检测方法
CN103699389A (zh) * 2013-12-30 2014-04-02 北京大学 一种基于编译选项的Linux内核模块关系提取方法
CN104636665A (zh) * 2015-02-03 2015-05-20 南京理工大学 一种Android应用程序的描述和匹配方法
CN104834858A (zh) * 2015-04-24 2015-08-12 南京邮电大学 一种android应用中恶意代码的静态检测方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885501A (zh) * 2017-11-03 2018-04-06 武汉斗鱼网络科技有限公司 获取Android中组件相互引用关系的方法及装置
CN107885501B (zh) * 2017-11-03 2020-09-08 武汉斗鱼网络科技有限公司 获取Android中组件相互引用关系的方法及装置
CN110096890A (zh) * 2019-05-08 2019-08-06 北京国舜科技股份有限公司 漏洞整改策略推送方法及设备

Also Published As

Publication number Publication date
CN105184168B (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
US8151248B1 (en) Method and system for software defect management
CN103632100B (zh) 一种网站漏洞检测方法及装置
CN104077217B (zh) 代码文件的编译发布方法及系统
CN109977670B (zh) 基于插件加载的安卓应用安全监测方法、存储介质
CN103473506A (zh) 用于识别恶意apk文件的方法和装置
CN107273281A (zh) 基于代码变更的服务化接口测试方法、系统
Kocaguneli et al. Distributed development considered harmful?
US9798650B1 (en) Application testing system and method
Park et al. Fragmentation problem in Android
CN109101410B (zh) 一种风险驱动测试方法和装置以及计算机可读存储介质
CN104508677A (zh) 结合弱点标识符
CN106325902A (zh) 数据库软件升级检测方法及装置
CN103955429B (zh) 确定回归测试范围的方法及装置
CN103064780B (zh) 一种软件测试的方法及装置
CN113535567A (zh) 软件测试方法、装置、设备和介质
Iosif et al. A large-scale study on the security vulnerabilities of cloud deployments
CN109120432A (zh) 一种故障服务器定位方法及装置
CN105184168A (zh) Android系统源码漏洞关联影响的追踪方法
Kang et al. CIA-level driven secure SDLC framework for integrating security into SDLC process
US12001815B2 (en) Cloud portability code scanning tool
US9372690B2 (en) Analysis of data integration job
CN106933743A (zh) 一种测试方法和装置
Foganholi et al. Supporting Technical Debt Cataloging with TD‐Tracker Tool
CN113031995B (zh) 一种更新规则的方法、装置、存储介质以及电子设备
CN114116471A (zh) 一种自动化代码扫描方法、系统、电子设备与存储介质

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 266109 11th floor, block C, Chuangye building, No. 1, zhizhidao Road, high tech Zone, Qingdao, Shandong Province

Patentee after: Qingdao Industrial Software Research Institute

Address before: 266109 11th floor, block C, Pioneer Building, No.1, zhizhidao Road, high tech Industrial Development Zone, Qingdao, Shandong Province

Patentee before: QINGDAO INDUSTRIAL SOFTWARE Research Institute (QINGDAO BRANCH OF SOFTWARE Research Institute CAS)