1、信息安全研究第9 卷第10 期2 0 2 3年10 月lournalot lmformation Security BesearchVol.9No.10Oct.2023DOl:10.12379/j.issn.2096-1057.2023.10.11基于本体的信息安全测试用例库模型研究刘迎龙郭荣华吴迪电苗泉强(中国人民解放军6 38 9 1部队氵河南洛阳471003)(bigger_)Research on Ontology-based Information Security Test Case Library ModelLiu Yinglong,Guo Ronghua,Wu Di,and M
2、iao Quanqiang(Unit.No.63891,Luoyang,Henan471003)Abstract In information security testing activities,information security test cases play a crucialrole in the objectivity and validity of test results.The construction of the information security testcase library is one of the key and difficult points
3、in information security testing and testautomation.At present,there is no applicable information security test case library that caneffectively support the development of information security testing activities.The informationsecurity test case library model based on ontology classifies the domain k
4、nowledge of informationsecurity test cases on the basis of the formal description of information security test cases,andconstructs a shared,reusable and extensible information security test case ontology model.According to the built ontology model,the knowledge of SQL injection test cases in Webappl
5、ication security testing is obtained,which verifies the correctness and effectiveness of themodel.Key words information security testing;test case;ontology;test case model;security test knowledge摘要在信息安全测试活动中,信息安全测试用例对测试结果的客观性、有效性起着至关重要的作用,信息安全测试用例库的构建是开展信息安全测试并实现测试自动化的重难点之一.目前,尚无一个适用的信息安全测试用例库可以有效支撑
6、信息安全测试活动的开展,基于本体的信息安全测试用例库模型,在信息安全测试用例形式化描述的基础上,对信息安全测试用例领域知识进行了分类,构建了一个共享、重用、可扩展的信息安全测试用例本体模型.根据构建的本体模型,对Web应用安全测试中的SQL注入测试用例进行知识获取,验证了模型的正确性与有效性。关键词信息安全测试;测试用例;本体;测试用例模型;安全测试知识中图法分类号TP309在针对信息系统开展信息安全测试的过程中,信息安全测试用例是对测试活动的科学化组收稿日期:2 0 2 2-10-19引用格式:刘迎龙,郭荣华,吴迪,等.基于本体的信息安全测试用例库模型研究J。信息安全研究,2 0 2 3,9
7、(10):10 0 8-10 1410081织与归纳,体现了测试的方案、方法、技术和策略.由于在测试组织、过程和技术等方面存在一定的技术应用.TechnicalApplications不确定性、测试设计人员能力和水平也不同等原因,导致设计的信息安全测试用例优劣程度参差不齐,直接影响了系统信息安全测试结果的客观性和有效性.信息安全测试用例库是网络安全测试用例的集合,是以测试用例的形式对系统信息安全测试知识进行组织,可为测试过程、测试方法和测试用例的复用提供支撑,进而减缓组织、过程、技术及人员能力水平等方面的不确定性对网络安全测试结果的影响。因此,本文旨在研究信息安全测试用例的知识表示形式,实现系
8、统信息安全测试知识集合的有效表示,进而构建系统信息安全测试用例库模型,为系统信息安全测试用例库的构建与应用提供指导方法.本体是实现知识共享的有效工具之一,是对领域内共享概念模型的形式化规范说明1.在系统信息安全测试知识表示中引人本体理论,可统一领域内概念和概念关系层次结构,增强测试用例知识表示的规范性、一致性和扩展性,进而实现测试用例库的共享、重用和互操作2 1.目前,还没有一个完善的系统信息安全测试用例库.文献3-4 主要从攻击角度出发,分别构建了攻击案例库模型和网络攻击知识库模型.文献5围绕漏洞信息建立了漏洞库,但知识库内容单一.文献6 从防御角度出发,针对网络威胁情报的不同描述规范,建立
9、了基于结构化威胁情报表达(structured threat information expression,STIX)V2.07的本体模型,并对其领域本体、应用本体和原子本体进行详细划分.但在系统信息安全测试活动中,需要从第三方角度对测试相关要素进行组织,而攻击知识、威胁情报等只与测试用例的部分要素相关,其构建的模型不能体现测试用例知识的全部要素与特点.在文献8 建立的抗攻击能力测评模型中,从攻击组织、攻击组织能力、被保护对象出发给出系统威胁测试用例的定义,但该定义偏重于威胁,没有涵盖安全测试的全部要素.文献9 围绕软件测试用例复用,建立了软件测试用例库,在一定程度上提高了测试用例复用的质量。
10、但由于软件测试与系统信息安全测试在目的、方法、领域上存在较大差异,该构建方法不适用于系统信息安全测试用例库的构建.本文在深人研究信息系统信息安全测试理论技术基础上,对信息安全测试用例进行形式化表示,并结合本体在知识共享方面的应用特点,构建基于本体的信息安全测试用例库模型.最后根据信息安全测试用例实例,分析如何基于本文模型进行信息安全测试知识的获取与表示.1信息安全测试用例库描述信息安全测试用例表示就是把以往的信息安全测试用例以一定的逻辑结果进行表述,并存储在测试用例库中,构成信息系统信息安全测试用例库.本文将信息安全测试用例库形式化定义为STCBase.=(C1,C2,C3,.),(Ri,R2
11、,R3,.),IndeR),其中,C1,C2 表示信息安全测试用例之间的关系,R1,R2表示信息安全测试用例库索引规则.一个信息安全测试用例是对一个信息安全测试科目的完整表示.一个基本的信息安全测试用例主要由用例名称、用例描述(测试对象、测试目标)、参试设备、测试环境、方法步骤、测试数据和结果判定等要素组成.因此,本文将信息安全测试用例形式化定义为STCase=(CN,CDesc,TEquip,TEnu,TStep,TData,EReslut),其中,CN表示测试用例名称,作为测试用例在测试用例库的唯一标识;CDesc表示测试用例描述,包括测试用例的各种描述信息,如测试对象、测试目标、测试内容
12、、测试类型等;TEquip表示参试装备,包括该测试科目所需的测试设备、被试系统、测试设备和环境构建系统等;TEnu表示测试环境,描述了各参试装备如何连接、布局,系统、软件如何部署安装等;TStep表示测试步骤,为该用例的执行步骤,以分步形式描述了测试的过程,在每个步骤描述了具体的配置、操作,包括操作的主体、客体和内容等信息;TData表示测试数据,主要指测试环境配置数据及测试过程中需要记录的用作最后结果评判的数据;EResult表示期望结果,用作与实际结果进行对比的基准。依据上述定义,系统信息安全测试用例的组成要素可分为对象域、方法域和数据域,其组成结构关系如图1所示:网址http:/1100
13、9(1)(2)信息安全研究第9 卷第10 期2 0 2 3年10 月Journalot lmformation Security BesearchVol.9No.10Oct.2023行过程中,针对测试主体的测试行为所采取的方法、数据域测试结果生成对象域测试主体测试环境执行响应测试主体操作测试对象操作方法域图1系统信息安全测试用例结构1.1测试对象域对象域主要描述安全测试用例中的角色,包括测试主体、测试对象和测试环境3个组件.1)测试主体。测试主体是指在系统信息安全测试活动中针对测试对象开展安全测试活动的主体,是测试用例的发起者,包括发起测试活动的测试人员、测试设备/软件、采集设备等。2)测试对
14、象.测试对象是指在系统信息安全测试中被试系统内部被测试的部分,是测试用例的作用对象,包括被试系统的硬件、软件、链路和数据等.3)测试环境。测试环境是指在系统信息安全测试中执行测试用例的环境,包括测试主体运行支撑环境和测试场景等.1.2测试方法域方法域主要描述测试用例中的方法类元素,主要包括测试主体操作和测试对象操作,通过测试操作刺激测试主体、测试对象和测试环境产生响应,生成测试数据.1)测试主体操作。测试主体操作是指测试人员、测试设备/软件等针对测试对象及测试环境采取的方法、技术和过程。2)测试对象操作。测试对象操作主要指被试装备在测试用例执10101技术和过程,其作用对象为测试主体与测试环境
15、.测试数据1.3测试数据域测试数据域主要描述测试用例执行过程中测试主体、测试对象、测试环境状态属性及相应的变化情况,测试数据域主要包括测试数据和测试结果2 个组件.测试对象1)测试数据.测试数据是测试用例执行过程中能够反映测刺激试主体、测试对象、测试环境状态属性及其变化的数据、事件等,包括场景数据、过程数据、结果数据等.2)测试结果.测试结果是对测试用例的测试目标是否达到的判定,测试结果以测试数据为依据,结合结果判定规则生成测试结果.本文从测试用例达成的测试效果出发,将测试结果分为2 类,即安全防护功能测试结果和安全防护性能测试结果.2信息安全测试用例本体模型在上述定义的信息安全测试用例形式化
16、表示的基础上,本文通过应用本体这一知识共享工具,构建信息安全测试用例本体模型,实现信息安全测试用例知识的共享。2.1本体构建基本流程在计算机及相关领域,本体指应用本体论的基本方法,即通过概念分析、建模,把现实世界中的实体抽象为一组概念与概念之间关系的理论和方法.本体的构建10-14I是指对某个特定领域的概念和关系按某种层次结构进行分层刻画,通过基于本体的知识表示方法来组织和表达不同类型的知识,利用形式化的知识表示方法获取知识语义信息的过程.本体建模首先要确定本体的应用领域,然后针对该领域抽象出领域概念,确立概念间的层次关系,进而构建领域知识本体模型。本文围绕系统信息安全测试用例相关概念,利用本
17、体技术构建信息安全测试用例概念模型,实现信息测试用例知识的共享.信息安全测试用例本体构建流程如图2 所示.针对系统信息安全测试用例领域知识本体表述局部层次化的特点,本文从领域本体、应用本体技术应用TechnicalApplications开始确定本体的领域和范围确定信息安全测试领域的概念和术语依据测试用例结构确定概念之间的关系和层次结构确定信息安全测试用例概念的属性集合针对识别的概念分析其可复用性构建系统信息安全测试用例本体模型不通过对识别的本体进行评价通过结束图2 信息安全测试用例本体构建流程和原子本体3个层次对信息安全测试用例本体进行建模,三者之间的关系如图3所示:包含实例领域本体应用本体
18、图3信息安全测试用例本体层次关系2.2领域本体信息安全测试用例领域本体主要用于描述信息安全测试用例所需的概念和关系,信息安全测试用例领域本体包含7 个子类:测试主体、测试环境、测试对象、测试数据、测试结果、测试主体操作、测试对象操作.信息安全测试用例概念之间的关系包括7 种:执行、刺激、响应、生成、表征、支撑、影响,如图4所示.2.3应用本体应用本体是对领域本体的进一步描述,根据上述对信息安全测试用例领域子类的划分,可对各领域的子本体作进一步的表述:1)测试主体子领域应用本体包括测试人员、测试设备、采集设备等;2)测试对象子领域应用本体包括硬件、软件、链路、数据等;本体构建支撑/影响影响/支撑
19、测试主体测试环境原子本体生成生成生成测试数据执行刺激/响应测试结果刺激/响应刺激/响应测试主体操作测试对象操作图4信息安全测试用例领域本体3)测试环境子领域应用本体包括测试支撑环境和测试业务场景等;4)测试主体操作子领域应用本体包括操作目标、操作条件、操作过程等;5)测试对象操作子领域应用本体包括网络防护、节点防护、数据防护等;6)测试数据子领域应用本体包括流量数据、事件数据、场景信息等;网址http:/ 1 1011测试对象刺激/响应执行表征信息安全研究第9 卷第10 期2 0 2 3年10 月Journalot lmformation Security BesearchVol.9No.10
20、Oct.20237)测试结果子领域应用本体包括安全防护功能测试结果、安全防护性能测试结果。信息安全测试用例领域本体与应用本体之间为包含关系,其应用本体如图5所示:测试主体硬件软件测试对象链路数据测试支撑环境测试环境测试业务场景信息安全测试用例2.4原子本体信息安全测试用例原子本体是可以直接用于描述测试用例实体概念的声明,是对应用本体实例化,是本体论中最小的不可分割的概念,因测试人员不可再分,所以没有原子本体。1)测试主体原子本体。测试主体原子本体是测试用例的发起者,本文将测试主体分为测试人员、测试设备和采集设备.其中:测试人员应用本体不可再分,其原子本身即为测试人员本身;测试设备包括基础测试设
21、备、应用安全测试设备、协议安全测试设备和硬件安全测试设备;采集设备包括网络信息采集设备、节点信息采集设备.101212)测试对象原子本体,测试对象原子本体是被试系统中测试用例作用的对象,本文将安全测试对象分为硬件、软件、链路和数据.其中硬件包含安全设备(如IDS、防火墙等)、交换设备(如路由器、交换机等)、计算存储测试人员设备(如主机、服务器等)等;软件包括操作系统、测试设备通用平台软件(如数据库平台、网络服务软件、办采集设备公软件等)、业务软件等;链路包括链路的功能、性能等;数据包括系统数据和业务数据。3)测试环境原子本体,测试环境原子本体是信息安全测试用例执行所需的环境,本文将测试环境分为
22、测试支撑环境和测试业务环境.其中测试支撑环境主要包括网络环境、主机环境;测试业务环境主要包括测试应用业务环境和测试背景业务环境。操作目标4)测试主体操作原子本体,测试主体操作操作条件操作过程网络防护测试对象操作节点防护数据防护测试场景数据测试数据测试过程数据测试设备报告安全防护功能测试结果测试结果安全防护性能测试结果图5信息安全测试用例应用本体测试主体操作原子本体是信息安全测试用例执行过程中测试主体对测试对象及测试环境采取的方法、技术和过程.本文将测试主体操作分为测试目标、测试条件和测试过程.其中测试目标为测试最终所要达到的效果,包括权限获取、服务窃取、服务增加、拒绝服务、系统错误、信息欺骗、
23、口令窃取、信息泄露和信息篡改;测试条件为操作执行的前提,包括权限(指操作成功执行时,需要获取的目标系统权限)、环境(指操作成功执行时目标对象环境应满足的条件)和情报(指操作成功执行时需要掌握的目标系统情报信息);操作过程包括安全检查(主要指安全配置、安全预案等内容的检查)、信息收集(主要指主动/被动收集环境与对象的信息,包括扫描、监听等手段)、概率攻击、非法注人、突破访问控制、欺骗攻击、滥用攻击、操控数据和操控系统资源等。5)测试对象操作原子本体测试对象操作原子本体主要指被试系统在测试用例执行过程中,针对测试主体的测试行为采取的方法、技术和过程.本文将测试对象操作分为网络防护、节点防护、数据防
24、护.其中网络防护包括网络隔离、网络安全审计、网络访问控制、网络入侵防护、网络接入控制等;节点防护包括系统安全配置、主机防病毒、应用安全配置、节点访问控制等;数据安全防护操作包括加密存储、加密传输、备份恢复等.技术应用.TechnicalApplications6)测试数据原子本体。测试数据原子本体主要指测试用例执行过程中能够反映测试主体、测试对象、测试环境状态属性及其变化的数据和事件等.本文将测试数据分为场景数据、过程数据和结果数据.其中:场景数据指测试用例执行过程中的静态数据,包括外部场景数据(如情报、知识信息等)、内部场景数据(包括配置信息、漏洞信息、资产数据等);过程数据主要是测试用例执
25、行过程中对象的状态、各类事件、流量等信息,包括流量统计信息、网络数据包、节点状态、安全防护事件、系统事件、应用服务事件等;结果数据为测试设备的检测结果数据,包括基础测试结果(如网络基准性能、极限性能检测结果等)、安全配置核查结果、代码审查结果、漏洞扫描结果、漏洞挖掘结果等.7)测试结果原子本体.测试结果原子本体是对测试用例的测试目标是否达到的判定.本文将测试结果分为安全防护功能测试结果和安全防护性能测试结果.其中安全防护功能失效测试结果包括身份认证功能失效、访问控制功能失效、数据完整性功能失效、数据保密性功能失效、抗抵赖性功能失效、安全审计功能失效;安全防护性能测试结果包括准确性降低和效率降低
26、等.3实例分析本节以某Web应用系统对 SQL注人的防护能力测试为例,根据上述定义的基于本体的测试用例模型,对该实例进行案例化表示,以验证模型的有效性。由于SQL注入有可能造成信息泄露,严重情况下(根据使用的数据库而定)甚至可能造成数据修改、删除,从而导致业务中断15.因此必须发现所有已存在的注入点.针对SQL注入防护的测试可以采用手工注人测试和工具自动化注人测试.在测试过程中,构建如图6 所示的测试环境,其中Web应用运行正常,用户能够正常访问Web应用提供的服务,测试人员利用Pangolin工具,对存在参数输人的待测目标URL执行SQL注人测试,并通过Web代理和测试工具检查目标页面响应结
27、果,查看是否存在SQL注人漏洞.交换机Web应用用户用户计算机服务器交换机WAF测试计算机测试人员图6 SQL注人测试环境布局根据构建的信息安全测试用例本体模型,从用.如果将测试主体中的Pangolin测试工具替换测试主体、测试对象、测试环境、测试主体操作、测为Google Chrome浏览器,则可以执行手工注人试客体操作、测试数据、测试结果7 个方面对上述测试。案例进行描述,如图7 所示.从上述信息安全测试用例表示过程可知,通过利用本体表示模型能够对测试用例知识进行统一规范的表示,可有效支撑测试案例的扩展与复Web代理服务器4结语本文从测试用例的角度对系统信息安全测试网址http:/1 10
28、13MySQL服务器信息安全研究第9 卷第10 期2 0 2 3年10 月Journalot lnfermatien Security BesearchVol.9No.10Oct.2023数据库日志Web应用安全测试URL存在参数输入Web应用测试人员Web应用PangolinMySQL工具数据库测试主体测试对象用例进行了研究,结合测试用例表示的通用方法,给出了信息安全测试用例的形式化定义,继而构建了信息安全测试用例领域知识本体模型,为构建一个共享、重用、可扩展的信息安全实验测试用例库,实现信息安全测试用例自动化生成提供支撑.最后,通过对Web应用安全测试用例进行测试知识获取,验证了基于本体的
29、信息安全测试用例库模型的正确性与有效性.参考文献1王向前,张宝隆,李慧宗.本体研究综述J.情报杂志,2016,35(6):16 3-17 02廖莉莉,沈国华,黄志球,等.本体评估方法研究综述刀。计算机应用研究,2 0 15,32(3):6 47-6 513李文雄,武东英,刘胜利,等.基于本体的网络攻击案例库模型研究J.计算机科学,2 0 14,41(10):17 3-17 6,1954吴林锦,武东英,刘胜利,等.基于本体的网络人侵知识库模型研究J.计算机科学,2 0 13,40(9):12 0-12 4,12 95郭锡泉.基于领域本体的信息安全漏洞知识库构建.信息安全研究,2 0 2 0,6(
30、10):933-9406高见,王安.基于本体的网络威胁情报分析技术研究.计算机工程与应用,2 0 2 0,56(11):112-1177OASIS Open.Cyber threat intelligence technical committee.STIX 2.0 examples EB/OL.2022-09-30.https:/oasis-open.github.io/cti-documentation/stix/examples.html8蒋建春,文伟平,胡陈勇.高安全等级系统抗攻击能力测评研究.信息安全研究,2 0 2 2,8(7):6 6 6-6 7 49赵小敏.基于本体的可复用测试
31、用例簇模型研究D.重庆:西南大学,2 0 161o Rodriguez G D,Velasco D.Ontologies for network securityand future challenges C/Proc of ICCWS.At Dayton,USA:ACPIL,2017:541-54711Amailefk L.Ontology-supported case-based reasoning approachfor intelligent m-Government emergency response servicesJJ.Decision Support Systems,2013
32、,55(1):79-9710141SQL注入测试用例本体WAF业务流量运行正常Web代理信息泄露测试环境测试主体操作图7 SQL注人测试用例描述12 Akmal S,Batres R,Shih L H.An ontology-basedapproach for product-service system design C/Proc ofIRP Int Conf on Industria Product-Service Systems.Berlin:Springer,2013:67-7213任飞亮,沈继坤,孙宾宾,等.从文本中构建领域本体技术综述J.计算机学报,2 0 19,42(3):6 54-6 7 614岳丽欣,刘文云国内外领域本体构建方法的比较研究J.情报理论与实践,2 0 16,39(8):119-12 515白鑫玉.SQL注入攻击检测技术研究D.北京:北京交通大学,2 0 2 1刘迎龙硕士.主要研究方向为信息安全测试。bigger_郭荣华博士,高级工程师.主要研究方向为信息安全测试。吴迪硕士,主要研究方向为信息安全测试、知识图谱构建与应用苗泉强硕士,主要研究方向为信息安全测试、知识图谱构建与应用。Web服务器日志Web代理防火墙流量数据应用安全Panolin配置测试报告测试对象测试数据操作数据保密性功能失效测试结果