-
公开(公告)号:CN105808435A
公开(公告)日:2016-07-27
申请号:CN201610130273.7
申请日:2016-03-08
Applicant: 北京理工大学
IPC: G06F11/36
CPC classification number: G06F11/3608
Abstract: 本发明提供一种基于复杂网络的软件缺陷评估模型的构建方法,可以预测软件系统中的潜在缺陷。步骤一、以软件中的类为节点,以类之间关系为边,构建该软件的有向网络模型;步骤二、根据步骤一得到的有向网络模型进行复杂网络的特征度量计算;步骤三、通过扫描软件源代码进行结构化程序度量,获得圈复杂度和函数深度的度量值;步骤四、通过扫描软件源代码进行面向对象软件度量;步骤五、利用FindBugs静态分析工具及开源工具官网上的软件缺陷报告,搜集并解析软件缺陷信息;步骤六、缺陷评估公式构建:对不同类软件使用对应的有效度量指标的计算数据,建立对应的多元线性回归模型,获得软件缺陷评估模型。
-
公开(公告)号:CN105512046A
公开(公告)日:2016-04-20
申请号:CN201610069905.3
申请日:2016-02-01
Applicant: 北京理工大学
CPC classification number: G06F11/3684 , G06N3/00
Abstract: 本发明一种基于粒子群优化算法的Android自动化测试方法,不仅能够模块化进行应用控件的触发,并且能够生成更高效的输入类测试数据,在便捷的同时能够更加高效的触发软件异常。步骤一、将app安装在模拟器上,viewer模块负责开启view server服务,通过hierarchy viewer获取app的控件层次树信息;步骤二、以获取到的控件层次树信息为输入,PSO模块的build tree方法将其组织成便于遍历的树结构;步骤三、遍历build tree构造的控件层次树,每遍历一个节点就去test case模块中查找是否有历史测试用例;步骤四、调用test case模块中存储的测试用例集,即可实现自动化测试。
-
公开(公告)号:CN105068925A
公开(公告)日:2015-11-18
申请号:CN201510456810.2
申请日:2015-07-29
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明公开了一种软件安全缺陷发现系统。使用本发明能够对待测软件进行静态分析、行为监测、模糊测试和渗透测试,测试方式完善,能够较完善、准确地发现软件的安全缺陷,且提高了检测速度。本发明首先进行静态分析,将其获得的安全缺陷数据按照设定的数据库格式存入缺陷数据库,然后采用行为监控模块、模糊测试模块和渗透测试模块分别对静态分析模块获得的安全缺陷进行检测,同时也对待测软件进行常规的检测,将导致系统行为异常或出现安全问题的系统调用序列、模糊测试用例或渗透测试用例名存入缺陷数据库中。本发明能够实现完整且强大的缺陷检测流程,检测流程自动化,能够减少安全缺陷测试人员的使用难度。
-
公开(公告)号:CN105022689A
公开(公告)日:2015-11-04
申请号:CN201510381534.8
申请日:2015-07-02
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明公开了一种发现大型面向对象软件系统关键测试函数的方法。使用本发明能够快速、合理地发现大型面向对象软件系统的关键测试函数,准确性较高。本发明首先以类为节点、类之间的函数调用为弧绘制软件的类协作网络图,并定义一条弧的重要度为以该弧为起始弧、可以遍历到的弧的数量;然后计算类协作网络图中每条弧的重要度,以可达弧总数较大的类节点为弧头的弧即为关键弧;最后,将关键弧的弧头、弧尾信息定位到软件系统中的对应的两个类,构成两个类之间耦合关系的函数调用关系即为关键测试函数。本发明克服了现有方法中的两个缺陷,且计算复杂度不会随着软件系统的复杂度而提升,能够快速、有效地发现软件系统的关键测试函数。
-
公开(公告)号:CN104881610A
公开(公告)日:2015-09-02
申请号:CN201510333581.5
申请日:2015-06-16
Applicant: 北京理工大学
IPC: G06F21/57
CPC classification number: G06F21/577 , G06F2221/033
Abstract: 本发明提供一种针对虚函数表劫持攻击的防御方法,其包括:构建有效虚函数表集合和有效虚函数集合;确定可执行程序中需要被保护的对象和对象中的虚函数,分析得到虚函数数据的读取地址和虚函数的调用地址;可执行程序的运行过程中在虚函数数据的读取地址处插装备份回调函数,在虚函数的调用地址处插装校验回调函数;对虚函数表指针及其指向的虚函数表进行备份;根据备份的虚函数表指针及其指向的虚函数表进行校验,并根据校验结果进行虚函数的执行与否。本发明基于二进制重写技术,不需要源码即可完成部署;且能够有效防护程序中的重要对象,不受虚函数表劫持攻击的影响;而本发明所带来的系统开销也在可接受范围之内。
-
公开(公告)号:CN104766016A
公开(公告)日:2015-07-08
申请号:CN201510176839.5
申请日:2015-04-14
Applicant: 北京理工大学
IPC: G06F21/57
Abstract: 本发明公开了一种基于系统调用短序列的软件漏洞检测方法,用于进行软件的漏洞检测和定位,步骤如下:首先建立被测系统的函数调用链CS,存于函数堆栈表中,其索引记为CSV;获取正常行为下的系统调用序列,将每个调用节点i至其后n-1个节点作为正常短序列;同理获取未知行为下的未知短序列;对于每个未知短序列,将其与正常短序列一一对应元素的调用偏差相加获得序列偏差,获取最小序列偏差值;以元素不匹配个数作为海明距离,找到最小海明距离;当最小海明距离的最大值和最小序列偏差的最大值均超过一定阈值时,找到最近一次未超阈值的未知短序列中调用偏差值最大的调用节点,依据CSV值找到漏洞的位置。该方法提高了检测效率。
-
公开(公告)号:CN104766015A
公开(公告)日:2015-07-08
申请号:CN201510170817.8
申请日:2015-04-10
Applicant: 北京理工大学
IPC: G06F21/57
Abstract: 本发明公开了一种基于函数调用的缓冲区溢出漏洞动态检测方法,包括如下步骤:首先获取被测程序的函数调用指令地址和返回指令地址,构建输入参数、运行被测程序;当函数调用发生,获取基址寄存器中的值EBP_B;在函数调用结束时,获取基址寄存器中的值EBP_A;若EBP_B≠EBP_A,则记录漏洞并报警;若EBP_B=EBP_A,则判断无漏洞;重复上述过程直至被测程序运行结束,继续获取该次运行的函数调用信息,与软件异常行为模型进行匹配,若匹配,记录可能漏洞;若不匹配,则该次输入下程序的行为没有体现出缓冲区溢出漏洞的特征。构造大量输入重复检测。该方法能够进行动态检测,并提高检测效率。
-
公开(公告)号:CN103838671A
公开(公告)日:2014-06-04
申请号:CN201410038963.0
申请日:2014-01-26
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明提供一种基于复杂网络的软件缺陷度量方法,能够提前预测软件系统中存在的缺陷漏洞,避免日后造成的影响。步骤一、首先根据系统可执行文件逆向生成系统类图;步骤二、根据得到的系统类图转换成软件结构的网络图,其中类代表节点,类之间的关系代表边;步骤三、根据得到的网络图进行复杂网络层面的分析,利用复杂参数进行复杂网络参数中平均最短距离、出入度、聚集系数的计算,得到关于软件的复杂特性度量值;步骤四、根据面向对象层面引入层次度量体系,得到关于软件的面向对象特性度量值;步骤五、对步骤三得到的复杂特性度量值和步骤四得到的面向对象特性度量值与已有标准值进行对比,进而评估,最终得出关于被分析软件的缺陷度量结果预测。
-
公开(公告)号:CN101739337B
公开(公告)日:2012-06-20
申请号:CN200910241891.9
申请日:2009-12-14
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明公开一种基于聚类的软件漏洞序列特征的分析方法,属于信息安全技术领域。本发明首先利用已有的软件漏洞序列,创建软件漏洞序列数据库;然后应用聚类技术分析数据库中的软件漏洞序列,产生多个软件漏洞序列聚类簇;通过相似度计算,找到与待测软件的疑似漏洞序列最相近的软件漏洞序列聚类簇;并采用序列比对方法将待测软件的疑似漏洞序列与最相近的软件漏洞序列聚类簇中的所有软件漏洞序列进行比对,进一步找到此软件漏洞序列聚类簇中与待测软件的疑似漏洞序列最相似的软件漏洞序列;最终,将此最相似的软件漏洞序列在软件漏洞序列数据库中所对应的相关漏洞信息作为安全报告输出。本发明提高了软件漏洞序列的分析效率。
-
公开(公告)号:CN103749002B
公开(公告)日:2012-02-08
申请号:CN201010048680.6
申请日:2010-06-09
Applicant: 北京理工大学
Abstract: 本发明提供了一种用于内部网络安全监控的信息获取通用系统,包括逻辑管理层、业务代理层、监控模块记录器,它们通过业务模块通讯总线相连,外围设备事件分析模块,与逻辑管理层中的输入输出模块相连;业务代理层包括具有对应数量的事件监控模块和监控备份模块;在线监控模块除将监控事件上报,还以一定的时间间隔将监控事件存储到备份监控模块组中其所对应的监控备份模块的缓存区中。若该在线监控模块受到攻击而瘫痪,逻辑管理层中的业务管理模块立即启用备份监控模块组中与其对应的监控备份模块进入激活状态,替代瘫痪的在线监控模块继续工作,与此同时该监控备份模块将其缓冲区中存储的监控事件上报。具有可扩展性、抗攻击性和信息获取可靠性。
-
-
-
-
-
-
-
-
-