张 毅,杜秀春,刘 欣,刘华富
(1.国防科学技术大学 计算机学院,湖南 长沙 410073;2.长沙学院 数学与计算机科学系,湖南 长沙 410003)
当今信息时代下,随着互联网技术应用的快速普及和发展,通信网络不断扩大,网络之间的交互更加密集。物联网技术的发展带动了传感器网络技术的发展应用,博客、论坛、微博等应用带动了社交网络研究的热潮。由于物联网具有的广泛的互联性,在给人民生活带来便捷的同时,也带来了诸多的安全问题。相比于传统的计算机网络,物联网络中的物理设备没有设置安全防御策略,如入侵检测系统、防火墙等。这些物理设备直接暴露在了网络空间中,可能被攻击者发现和利用,给物理设备的安全构成了极大的威胁。
近年来,针对物联网设备的攻击事件频发,使得人们认识到了对于网络空间中相关物理对象研究分析的重要性。例如,继针对伊朗核设施的工业控制系统破坏的“震网”(Stuxnet)蠕虫病毒感染事件发生后,2011年,美国某安全公司发现了Stuxnet病毒的变种,该变种被称为Duqu木马病毒,该病毒的主要目标同Stuxnet一样也是工业控制设备,但比Stuxnet病毒隐蔽性更强、危害更大[1];2014年,俄罗斯黑客组织“蜻蜓”开发的恶意病毒程序Havex对欧美一千多家能源企业进行了攻击[2];2016年,美国相关安全部门发现了7名伊朗黑客针对位于纽约的鲍曼水坝控制系统的攻击行为[3]。这些攻击行为对于国家或地区直接或间接地产生了重大的网络安全影响。
如今,计算机通信网络、物联网络、社交网络组成了当前的网络新形态,而且它们之间相互贯通、密不可分。其中,物联网络技术融合了传统计算机通信网络和由此连接起来的物理对象,社交网络则融合了传统计算机通信网络和由此连接起来的人或组织机构等,计算机通信网络成为连接两者的枢纽关节。信息物理社会系统(cyber-physical-social system,CPSS)[4]是当前研究网络的新形态,主要关注的是物理对象在信息域的接口和社会域信息到信息域信息的映射以及这三者之间交互融合的过程。从多域的角度融合分析网络空间中的物理对象能更加全面、准确地描绘物理对象的特征。相比于只从某个域的角度进行分析,多域信息是现实物理对象的真实表现,能清楚地反映物理对象之间的关联情况。
网络中的物理对象信息通常以网络拓扑结构信息、IP物理地址信息、开放端口信息、运行协议以及网页文本信息的形式存在。文中以Web服务器网页文本中的链接为出发点,综合分析相关语义信息,结合物理域信息分析物理对象之间的关联特性。该方法对于分析和评估网络中特定物理对象被攻击后影响的范围、产生的危害有重要的帮助作用。
网络空间中物理对象的种类多种多样,如路由器、主机、服务器、打印机以及传感器等。对于这些设备的感知探测工作现在已有研究,并有成熟化的产品投入应用,如Shodan[5]、ZoomEye[6]、Censys[7]、谛听[8]等,这些工具结合MaxMind、IP2Location、Whois等工具展示物理对象的有关信息,但是这些系统没有进一步综合分析物理对象之间的关联关系,而且给用户提供的搜索结果信息并没有提供关联推荐结果,导致显示效果较差。
Maltego[9]能从一个IP、Email、Twitter或者人物姓名找到一个人的社会域、信息域以及物理域的所有信息,然后将把这些有关信息相互关联起来,以图的形式展现给用户。Maltego结合Shodan、Linkedin能搜索到的信息包括物理对象的地理位置信息、社交媒体等在线信息、网络拓扑结构信息、ISP信息,主要功能包括多域数据抽取、多域数据分析、多域信息关联展示等,但是Maltego只能以域名、邮箱、Twitter上的信息和URL为出发点对相关信息进行搜索,对研究物理对象多域融合有一定的参考意义,但是存在搜索的局限性、搜索结果的数量限制等多方面的问题。
在关联分析研究方面,张魏斌等[10]以社会域中的关联关系构建模型,测算社团的划分和个体的社会效用。刘勘等[11]以搜索引擎返回的信息域中的信息为出发点,分析包含在页面中的超链接信息,研究出度、入度、最短路径和密度信息,最终得出结果信息的聚类。He Xiaofeng等[12]结合信息域中Web页面的超链接信息、文本挖掘信息以及共引关系来建立网页的聚类。郭景峰等[13]通过词簇、链接向量来建立簇,并使用近邻传播算法建立簇与簇之间的关系,并基于这些关系做进一步的分析。
文中通过研究分析物理对象在多域中的属性信息,建立物理对象在社会域、信息域、物理域中信息的关联关系模型,结合各个域信息的完备性、准确性赋予它们之间不同的权重,最后结合改进的马尔可夫聚类算法得出物理对象之间的关系。实验结果表明,该算法在物理对象多域信息聚类中有着较好的效果,该聚类结果对于分析针对物联网攻击行为所产生的影响有着重要的参考意义。
在现实环境中,物理对象的信息涉及物理域信息(Physical,P)、信息域信息(Cyber,C)和社会域信息(Social,S)。其中物理域是物理对象自身或固有的相对稳定的属性信息,如型号信息、地理位置信息等。信息域信息是物理对象在计算以及与其他物理对象通过互联网进行通信中反映出来的信息,如开放端口、运行协议、路由信息等。社会域信息是与物理对象相关的人物、组织机构、事件等的信息,包含了物理对象相关人物或组织机构的信息。
通过网络拓扑结构探测发现物理对象之间的关联关系会受到防火墙抑制、网络通信错误等影响,且相关关系不明确,存在很大的误差。Web服务器中包含了大量信息,且访问不受控制,网络与网络之间的属性关联关系可以通过包含大量信息的网页为出发点来寻找。图1中B和A是基于Web服务器中的链接指向和文本特性构成的链接图,反映了网络1和网络2的关联特性。
文中通过在信息域中分析各网络间链接指向信息、文本语义特性和在社会域中的有关信息分析网络间的关联关系,并结合网络中物理对象的地理位置信息提高融合关联结果的准确性。
图1 网络连接图
前期已经完成了对国内IP地址的扫描工作。通过建立与随机生成的IP地址的伪连接判断远程物理对象的存活状态和开放端口信息。爬取运行HTTP协议的物理对象的相关网页并记录网页中包含的链接信息。文中基于网页中的链接关系为网络中离散的物理对象建立初始链接关系,并通过数据预处理清洗掉无关信息。详细工作内容如下:
(1)统计和记录运行HTTP协议的IP地址及其对应的域名信息,并为每个IP地址下存在的域名编号;
(2)分析网页文本中包含的超链接信息,把这些超链接信息分为指向本域名的内部链接和指向其他域名的外部链接;
(3)在记录网页中的超链接信息时,超链接的抽取工作需要过滤掉页面内的相对链接,只抽取指向其他域名下的外部链接,同时只记录静态超链接,不记录动态超链接。这样做的目的是防止在本域名下形成大的簇而影响实验;
(4)基于链接关系构造二元组(FromId,ToId)。一个二元组在网络图中代表了一条边,FromId代表边的始发节点,ToId代表边的终止节点,最后去除FromId的值等于ToId的值的节点,即去除指向本身的内部链接指向。
为清楚地表明Web页面之间的连接情况,从数据集合中随机选取了30 000个Web页面的链接关系构造网络连接图,如图2所示。
图2 Web页面链接构成的网络图
在Web页面链接的出度、入度信息中,分析了30多万个节点的出度和返回指向的入度。对于这些数据存在的冗余问题,根据文献[13]得出Web页面的镜像页面的出链接数应该大于8,如果两个页面之间共享出链接(out links)的数量比率超过80%,其中一个页面可以作为镜像页面删除。这里的8和80%都是根据经验获得的参数。
马尔可夫聚类(Markov cluster,MCL)算法由Dongen[14]提出,已成功运用到各种网络图、计算机图形中。该算法属于图形聚类算法,通过图聚类发掘节点之间的关系及其聚类中心,其实质是从一个节点出发通过随机游走来确定群聚类中心。该算法基于随机状态转移概率矩阵,不需要预先设定聚类数目,通过概率改变和反复修改矩阵以实现随机流模拟。
MCL算法在构建基础随机矩阵的基础上,通过扩大(Expand)和填充(Inflate)操作,再分别映射到自身,并且不停地重复上述Expand和Inflate两个步骤直到矩阵收敛。其中,在每次Inflate操作之后需执行修剪(Prune)操作。设初始随机矩阵为M,则M可定义为如下形式:
(1)
为解决从一个奇数路径在执行扩大操作的过程中产生很大影响这一问题,需要在邻接矩阵A中添加自循环的路径。
Expand操作的表达式为:
Mexp=Expand(M)=Me
(2)
通常参数e为非负整数,且默认值为2。
Inflate操作的表达式为:
(3)
MCL计算之后,得到一个收敛的矩阵M。解释聚类结果为:在矩阵M中,第j列中只有一个非零值,非零值对应的第i行表示节点vi是节点vj的吸引子,也即聚类的中心,与节点vj类似的节点一起构成同一个类。
物理对象的多域信息表示物理对象在各个域中的信息属性,这些信息表示物理对象之间的联系,如社会域中的人物和组织机构信息,同一机构的物理对象必定归属于同样的管理人员或者组织机构。在信息域中,属于同一组织的物理对象在信息域中有着较大的网络通信流量,这些信息表示了物理对象在信息域中的关联程度。同样,在物理域中物理对象的地理位置信息从地理空间的角度展示了物理对象在地理上的分布情况,表现了物理对象属于同一机构的可能性。
文中分别在社会域、信息域和物理域中分析了物理对象的关联特性,然后融合这些信息为普通无向且无权重的关联图构建权重矩阵,最后得出物理对象间的关联关系。
2.3.1 社会域分析
物理对象在社会域中的信息可以从Web文档以及通过域名从Whois数据库中获取,Whois是用来查询域名的IP及其所有者等信息的传输协议。Whois是一个在线的“请求/响应”型的服务,其运行在43端口,它会把相关信息如所有者、管理者、所在地、邮箱、电话等信息返回给查询请求。
对于Web页面中的人物姓名、组织机构、地理名称等命名实体识别及其详细信息的获取有多种方式。对于人物姓名、组织机构等命名实体的识别的主要方法有基于隐马尔可夫模型(hidden Markov model,HMM)的识别方法、基于最大熵模型(maximum entropy,ME)的识别方法、基于条件随机场模型(conditional random fields,CRF)的识别方法[15]等。文中基于开源工具HanLP完成命名实体的识别工作。对于从Web文档获取的其他信息,如邮箱、电话等则使用基于规则的匹配方法。
为求解某两个节点vi和vj相互之间在社会域上的关联程度,可以为上述信息构造一个词汇表,例如wk=(w1,w2,…,wk),统计两个节点上每个词出现的频率并分别构造出词汇矩阵A和B,通过向量空间余弦相似度计算公式计算两个节点在社会域的关联程度比值:
(4)
2.3.2 信息域分析
上述通过社会域中有关信息分析物理对象之间的关联特性,在一定程度上有着较好的关联分析效果,但也存在命名实体识别误差和人物名称对应问题。探测主机在获取远程物理对象物理域信息时由于受到防火墙、入侵检测等安全措施的抑制,探测主机的访问是一种外网访问形式,使得这种访问由于登录认证、口令、访问白名单的限制而很难获得完整、全面的信息,但是物理对象信息域中的信息相比社会域和物理域中的信息有着获取方式多样、获取途径简便、获取内容全面可靠等优点。下面重点阐述物理对象在信息域中三种信息的处理方法:
(1)超链接信息表示物理对象之间的链接紧密程度,是物理对象关系图构造的基础,其定义如下:
(5)
(2)信息域中的网页文本包含丰富的文本信息,这里通过计算两个节点之间网页文本的相似度来衡量两者之间的关系。遍历该节点下本域名内的所有Web文档,主要工作是处理和提取文档中的关键字信息。其中文档关键字提取以常用的词频和逆文档率来表示。在爬取的前n个页面中,设词项i在文档j中的频率为fij,则词项频率定义为:
(6)
假设词项i在ni篇文档中出现,其逆文档率定义如下:
(7)
将TFij·IDFi作为词项i在页面j中的关键度衡量指标,取前30个单词作为页面的关键词。对最后得出的单词词汇使用向量空间余弦相似度计算方法来计算相似性,用符号D(di,dj)来表示。
(3)共引用信息同样也可以表征两个物理对象之间的关系。共引用是指其他页面都指向了这两个页面,则代表这两个页面可能存在着一定的关系。用Rij表示共同指向i和j这两个页面的个数。
最后综合物理对象在信息域中的三种关系计算方法得到在信息域中物理对象关联的结果:
(8)
2.3.3 物理域分析
文中在物理域信息中只使用了IP物理地址这一信息,IP物理地址这一信息在分析物理对象关联中有着重要的作用。文中使用IP2Location、Maxmind、淘宝IP定位数据,这些数据库的异构性和不准确性导致不同数据库得到的地理度和地理介数的分布稍有不同。为解决这一问题,使用这三个来源的IP地理位置信息的中心位置作为所求物理对象IP的物理地理位置信息。
用欧几里得距离计算两个节点X和Y之间在物理域信息中的关联程度:
(9)
其中,Xlon和Xlat,Ylon和Ylat分别表示该物理对象的经纬度信息。
最后得出两个物理对象在物理域之间的关联系数:
(10)
当且仅当dist(X,Y)小于10 000时上式成立,否则P设定为零。
上述内容分别从物理对象的社会域、信息域和物理域出发分析了物理对象在各个域中相互之间的关联强度,并分别用符号S、C、P代表各个强度值,由此可以得到关联矩阵的权重信息。综合考虑物理对象在三个域中的情况得出下列权重计算公式:
W=0.4*S+0.5*C+0.1*P
(11)
考虑到在获取社会域信息时存在的分词偏差和存在人物不能正确对应的问题,设定社会域(S)的权重系数为0.4。信息域中的信息比较丰富,而且相对误差较小,设定信息域中分析得出的信息给出最高权重系数为0.5。针对物理域信息相对单一,IP对应的物理地址存在很大误差,同时由于内容分发网络(content delivery network,CDN)技术的应用也增大了IP地址对应物理地址误差的增大,因此这里设置物理域权重为0.1。
在MCL算法的多次迭代计算过程中,包含大量节点的矩阵图结构会被逐步分解成若干小的子图结构。在适当选择的行和列的排列之后,这种图形的相应矩阵包含对角线放置的非零值的密集块,并且在这些块之外的值都为零。利用这一特点可以提高算法的计算效率。在算法执行期间,发生在特定列和相似矩阵S的相应行保持单个非零值,该非零值位于矩阵的对角线上。对应于该特定行的节点可以被声明为在聚类中单独的隔离节点,在后续迭代中对其他节点没有影响,可以从S中移除这样的行和列,降低后续迭代的计算负载。这样,当图形在3~10次迭代之后发生分离子图时,初始大矩阵可以重新组织成几个小的二维位置的块,在进一步处理中可以忽略具有相似性的块之外的零值。
在聚类过程中包含两种状态结构,以任务队列的形式保存矩阵子图的计算结果的状态:
状态队列1:位于该状态队列下的矩阵子图表示矩阵需要进一步执行迭代操作。开始时,所有节点都位于该状态中,当从状态队列1中分离矩阵子图时,需要满足对应分离子图的矩阵块具有高密度,则从该矩阵中分离该子图,否则相应的节点保留在状态队列1中以用于进一步的迭代。该矩阵子图将在下一次迭代中增长,或者子图将进一步分解成较小的隔离子图。
状态队列2:位于该状态队列下的矩阵子图表示该矩阵已经处于迭代停止的状态,无需进一步执行迭代操作,它包含属于孤立子图的那些节点,其相应的矩阵块被视为单独的矩阵,这些孤立子图节点通常是从上一步状态队列1中分离得到的。它包含组织在孤立子图中的一组节点,通常相应的相似矩阵小而密集。
当状态队列1处于空队列时,说明整个迭代聚类求解过程已经结束。具体算法伪代码如算法1所示。
算法1:基于多域信息改进型MCL聚类算法。
Input:物理对象多域信息,Expand中的参数e和Inflate中的参数r;
Output:物理对象之间关联关系聚类矩阵。
1:由信息域中的超链接信息H构建初始关联矩阵M
2:计算物理对象之间多域关联系数S、C、P
3:得出权重矩阵W
4:结合矩阵W把初始关联矩阵M转换为无向有权重矩阵,并为每个节点添加自循环信息
5:初始化队列1和队列2
6:whileM矩阵不收敛:
7:对矩阵执行归一化操作
8:基于参数e和r对M执行Expand和Inflate
9:执行Prune操作
10:if 矩阵M中包含可分离的矩阵m
11:将m加入队列2并在M中相应位置零
12:end if
13:end while
14:解释最终矩阵,分析聚类结果
文中数据集的采集是利用多台CPU为2核,内存为4 GB,硬盘容量为40 GB配置的阿里云服务器随机生成IP地址并进行分布式探测来获得的。采集的数据集共计313 287个,考虑到计算时间问题,实验中分别从数据集中抽取了6组数据(见表1)做测试分析。
表1 实验结果
图3为对网络空间中物理对象节点执行改进的马尔可夫聚类算法后的聚类情况,总共把1 293个节点聚类成37个簇。
图3 聚类后的簇图
在当前物联网安全状况较为严峻的情形下,研究和分析互联网中的物理对象,并为物理对象相关信息建立模型,能为物联网安全的研究提供一定的帮助。以当前物联网的安全形势为背景,通过分析物理对象的多域属性信息,为物理对象在各个域中的信息建立关联特性计算模型,并结合马尔可夫聚类算法为物理对象图聚类建立关联矩阵,基于随机游走方法,通过迭代分析,最后得出物理对象关联特性。实验结果表明,该算法在物理对象关联关系分析方面有着较好的效果。实验结果的聚类中心节点是物联网络的核心节点,其脆弱性直接影响了其他物理对象节点的安全性。
在实验过程中存在多域信息量大、计算时间复杂度高等问题,因此下一步需要继续优化有关关联计算模型的时间、空间复杂度,同时可结合分布式大数据处理工具如Hadoop、Spark等开展物理对象关联聚类的研究工作。
参考文献:
[1] FAISAL M,IBRAHIM M.STUXNET,DUQU and beyond[J].International Journal of Science and Engineering Investigations,2012,1(2):75-78.
[2] SCHLECHTENDAHL J,KEINERT M,KRETSCHMER F,et al.Making existing production systems industry 4.0-ready[J].Production Engineering,2015,9(1):143-148.
[3] THOMSON L L.Insecurity of the internet of things[J].Scitech Lawyer,2016,12(3):32-35.
[4] HUSSEIN D,PARK S,HAN S N,et al.Dynamic social structure of things:a contextual approach in CPSS[J].IEEE Internet Computing,2015,19(3):12-20.
[5] BODENHEIM R,BUTTS J,DUNLAP S,et al.Evaluation of the ability of the Shodan search engine to identify Internet-facing industrial control devices[J].International Journal of Critical Infrastructure Protection,2014,7(2):114-123.
[6] 白 洁.大数据应用[J].信息安全与通信保密,2013(10):13-16.
[7] DURUMERIC Z,ADRIAN D,MIRIAN A,et al.A search engine backed by Internet-wide scanning[C]//Proceedings of the 22nd ACM SIGSAC conference on computer and communications security.New York,NY,USA:ACM,2015:542-553.
[8] 袁 胜.“白环境”下的工控安全[J].中国信息安全,2016(4):74-75.
[9] SHALIN H J.Beyond surface relations:using Maltego to analyze electronic connectivity and hidden ties in the internet understructure[J].Journal of Vacuum Science & Technology A Vacuum Surfaces & Films,2014,26(2):205-211.
[10] 张魏斌,曾 锋,伍泽全,等.移动群体感知中基于社会关系的路由算法[J].计算机应用研究,2016,33(10):3128-3131.
[11] 刘 勘,范 琴.链路结构的网页聚类研究[J].小型微型计算机系统,2016,37(7):1450-1454.
[12] HE Xiaofeng,ZHA Hongyuan,DING C H Q,et al.Web document clustering using hyperlink structures[J].Computational Statistics & Data Analysis,2002,41(1):19-45.
[13] 郭景峰,马 鑫,代军丽.基于文本-链接模型和近邻传播算法的网页聚类[J].计算机应用研究,2010,27(4):1255-1258.
[14] Dongen E S.A cluster algorithm for graphs[R].[s.l.]:[s.n.],2000.
[15] 曾冠明.基于条件随机场的中文命名实体识别研究[D].北京:北京邮电大学,2009.