CN105184168A - Android系统源码漏洞关联影响的追踪方法 - Google Patents
Android系统源码漏洞关联影响的追踪方法 Download PDFInfo
- 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
Links
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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test 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是一种基于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文件。
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)
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)
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应用中恶意代码的静态检测方法 |
-
2015
- 2015-09-02 CN CN201510567218.XA patent/CN105184168B/zh active Active
Patent Citations (4)
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)
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) |