CN102663287B - 利用编码转化实现基于序列比对的攻击特征提取的方法 - Google Patents
利用编码转化实现基于序列比对的攻击特征提取的方法 Download PDFInfo
- Publication number
- CN102663287B CN102663287B CN201210077357.0A CN201210077357A CN102663287B CN 102663287 B CN102663287 B CN 102663287B CN 201210077357 A CN201210077357 A CN 201210077357A CN 102663287 B CN102663287 B CN 102663287B
- Authority
- CN
- China
- Prior art keywords
- character
- sequence
- attack
- amino acid
- sequence alignment
- 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.)
- Expired - Fee Related
Links
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明公开了一种利用编码转化实现基于序列比对的攻击特征提取的方法,目的是解决现有攻击特征提取的准确性和时效性不高的问题。其特征在于先设计由编码转化映射表List、编码转化模块、标准多序列比对程序和编码逆转化模块组成的多序列比对攻击特征提取软件,然后由编码转化模块对多个攻击字符序列进行编码转化,生成标准多序列比对程序可以处理的多个氨基酸序列或核酸序列,再选择多序列比对程序对氨基酸序列或核酸序列进行多序列比对,得到比对结果,最后由编码逆转化模块将比对结果中标记的共同序列提取出来,并根据List映射回攻击序列字符,得到攻击特征。采用本发明可以及时运用多序列比对软件,提高攻击特征提取的准确性和时效性。
Description
技术领域
本发明涉及计算机网络领域攻击特征提取方法,尤其涉及对多个攻击字符序列共同具有的攻击特征的自动提取方法。
背景技术
网络攻击和蠕虫仍然是当今Internet上的普遍现象,每年造成数以亿计的损失。入侵检测技术是对抗网络攻击和蠕虫的最主要手段,入侵检测系统(IDS)和防火墙等系统相互结合、相互补充构筑了计算机网络系统的基本安全屏障。根据分析方法的异同,入侵检测可分为误用入侵检测(misusedetection)和异常入侵检测(anomaly detection)。
误用入侵检测也称基于知识或基于特征(Signature)的入侵检测;它提取各类攻击的模式特征,形成已知攻击特征库;检测时将新获取的特征和已知攻击特征库中的模式相比较,从而确定入侵行为。因为误用入侵检测相对简单、高效和准确,而且可以实时工作,所以目前广泛使用的入侵检测系统绝大部分是误用入侵检测系统,如Symantec公司的Network Security、ISS公司的RealSecure Network、Snort和Bro等。
当前,攻击特征主要依靠安全专家以事后分析的方式人工提取,主要有下面两个缺点:第一,人工提取攻击特征过程长、速度慢,往往是新攻击出现几天甚至几周后相应的特征才被发布。第二,人工提取攻击特征的质量难以很好地保证。最后,攻击变形技术使得特征提取的难度大大增加。
近年来,一些蠕虫传播特征自动提取方法被相继提出,这些方法通过分析蠕虫传播数据(可能包括噪声)自动生成蠕虫传播特征,它们可被划分为下列类别:基于LCS(longest common substring)、基于固定长度负载出现频率、基于可变长度负载出现频率、基于有限状态自动机、基于序列比对等。基于序列比对的方法借鉴了生物信息的算法和工具,在特征提取的准确性上要优于其它方法。但是,由于生物信息学中的序列比对算法和工具只能处理生物学相关的数据,以Gibson T.,Thompson J.,Higgins D.开发的CLUSTALW(http://www.clustal.org/)为例,其所能处理的序列类型为氨基酸序列和核酸序列,所能接受的输入文件的格式类型有NBRF/PIR,EMBL/Swissprot,Pearson<Fasta>,GDE,Clustal,GCG/MSF,RSF这7种,不能直接应用于攻击特征提取。
基于序列比对的攻击特征提取方法在不断地被提出,现有的方法主要分为如下两种方式,第一种是重新实现了标准的序列比对算法,第二种是对序列比对算法做了一些小的改进,这些算法都存在下列问题:第一,这两类方法都不能保证他们的攻击特征提取的效果会比现有的生物信息学中最新的序列比对算法更好;第二,由于实现工作量巨大,不便于编写多种不同算法的攻击特征提取程序对算法进行比较,以弥补单一算法在攻击特征提取上的某些缺陷。
因此,如何能够提高程序的可扩展性,不断引入新的序列比对算法,以提高基于序列的攻击特征提取的准确性和时效性是本领域技术人员特别关注并致力于解决的热点问题。
发明内容
本发明要解决的技术问题是提出一种利用编码转化实现基于序列比对的攻击特征提取的方法,解决现有多序列比对算法不能及时运用于攻击特征提取的问题。通过本发明的可扩展性,能够随着引入的新的多序列算法的改进,提高攻击特征提取的准确性和时效性。
本发明以实现对多个攻击字符序列的攻击特征自动提取为目的,选取生物信息学中现行的多种多序列比对软件作为提取工具。但是,考虑到这些多序列比对软件在处理输入序列上的局限性(只能处理特定格式的氨基酸序列或核酸序列),故采用编码转化的方法将攻击字符序列转化为氨基酸序列或核酸序列,用于进行多序列比对。
为解决上述具体技术问题,技术方案包括以下步骤:
第一步,设计基于编码转化技术的多序列比对攻击特征提取软件。
多序列比对攻击特征提取软件由编码转化映射表List、编码转化模块、标准多序列比对程序和编码逆转化模块组成。编码转化映射表List为一个字符数组,数组中每个元素的内容为氨基酸字符或核酸字符,但一个List中不能同时具有氨基酸字符和核酸字符,List中元素的内容没有重复,且List中元素个数大于或等于2,List中每个元素都有对应的唯一的下标(一个下标表明一个元素在List中的位置)。编码转化模块接收用户提供的用于攻击特征提取的多个攻击字符序列,根据编码转化映射表List,采用映射关系f:X→Ym将多个攻击字符序列转化为多个氨基酸序列或核酸序列,将多个氨基酸序列或核酸序列传输给标准多序列比对程序;m为一位攻击字符所对应氨基酸字符或核酸字符的位数,集合X为攻击字符序列中的所有可能出现的字符的集合,集合Y为编码转化映射表List中所有单个氨基酸字符或核酸字符的下标的集合,根据下标可以在List中找到对应的氨基酸字符或核酸字符,映射关系f:X→Ym必须为单射,即对每一值域Ym内的y1y2…ym,存在至多一个定义域X内的x使得f(x)=y1y2…ym。标准多序列比对程序是指生物信息学中现有的用于对多个氨基酸序列或核酸序列进行序列比对的应用程序,标准多序列比对程序对转化后的氨基酸序列或核酸序列进行多序列比对,并将多序列比对结果传输给编码逆转化模块;编码逆转化模块接收标准多序列比对程序的比对结果,提取比对结果中多个氨基酸序列或核酸序列所共有的序列片段(简称为共同序列),并根据编码转化映射表List将共同序列通过f:X→Ym的逆映射进行编码逆转化,将共同序列的内容还原为攻击字符序列中相应的字符,即为多个攻击字符序列所具有的攻击特征。
第二步,编码转化模块对多个攻击字符序列进行编码转化,生成标准多序列比对程序可以处理的多个氨基酸序列或核酸序列。方法是:
2.1根据用户输入的文件存储路径查找到需要进行编码转化的攻击字符序列,攻击字符序列个数为N,N≥2;
2.2对编码转化模块进行初始化,设需要进行编码转化的攻击字符序列为S0,S1…Si,…Sn-1,n=N,Si为当前需要进行编码转化的攻击字符序列,i的初始值为0,0≤t≤n-1,设si中当前需要进行编码转化的攻击字符为第j个,j的初始值为0,0≤j≤Li,Li为序列Si的长度,即Si中的字符个数;
2.3对攻击字符序列Si进行命名,命名方法是N个攻击字符序列都具有不同的序列名(如采用原攻击字符序列名),并将Si的序列名写入编码转化结果文件中文件格式要求的位置,编码转化结果文件格式是指标准氨基酸多序列比对程序可以处理的文件格式;
2.4读取当前序列第j个字符,判断字符内容是否为结束符,若是则转2.7,若否则转2.5;
2.5根据得到的字符内容,通过映射关系f:X→Ym分别得到m个氨基酸字符或核酸字符在List中对应的下标,通过下标依次找到List中的m位氨基酸字符或核酸字符,并将m位氨基酸字符或核酸字符写入编码转化结果文件中。
2.6令Si中当前字符位置向后移动一位,即j=j+1,转2.4;
2.7令当前需要进行编码转化的攻击字符序列为下一攻击字符序列,即i=i+1,判断i是否大于等于n,若是,表示对所有攻击字符序列已转化完,得到用于进行多序列比对的N个氨基酸序列或核酸序列,转第三步,若否,转2.3;
第三步,选择标准多序列比对程序对N个氨基酸序列或核酸序列进行多序列比对,得到N个氨基酸序列或核酸序列的比对结果,比对结果由N个参与比对的氨基酸序列或核酸序列及一个标记序列构成,标记序列中将N个参与比对的氨基酸序列或核酸序列所具有的共同序列字符所在的位置用标记字符标记(标记序列为标准多序列比对程序自动添加,标记序列中的标记字符一般为不在氨基酸序列或核酸序列中出现的字符),并将多序列比对结果传输给编码逆转化模块。标准多序列比对程序可以根据对精度和序列比对时间开销的需要选择,例如ClustalW,T-Coffee,MUSCLE等生物信息学中比较常用的程序。
第四步,编码逆转化模块将比对结果中标记的共同序列提取出来,并根据编码转化映射表List映射回攻击序列字符,得到多个攻击字符序列的共同部分,即攻击特征。方法是:
4.1在比对结果中选取一个氨基酸序列或核酸序列作为基序列,基序列要求第一位字符不为间隔标记,间隔标记是标准多序列比对程序用于将多个氨基酸序列或核酸序列中共同序列部分位置对齐而在多个氨基酸序列或核酸序列中插入的字符,该字符与氨基酸序列或核酸序列中其他所有的字符不重复,常用的标准多序列比对程序多采用”-”作为间隔字符;
4.2查找每一序列的内容中是否具有标记字符找到比对结果中的标记序列;
4.3确定标记序列中标记字符存在于序列中的位置,不妨设标记字符存在于标记序列的第j1位,第j2位,第j3位…第jS位,1≤jS≤Li,从基序列第一个字符开始遍历基序列,若为第j1位,第j2位,第j3位…第jS位,则提取出氨基酸字符或核酸字符,写入中间结果中,中间结果只用于记录提取出来的共同序列,可以采用字符串数组、文件等多种格式,否则将间隔标记写入中间结果的序列中,直至基序列遍历完毕;
4.4以表示一位攻击字符所需氨基酸字符或核酸字符的位数m位为单位读取中间结果中的序列内容;
4.5检查当前读取的m位中间结果的序列内容中是否有结束符,若是则转4.9,若否则转4.6;
4.6检查当前读取的m位中间结果的序列内容中是否有间隔标记,若是则写入一个间隔标记到攻击特征,攻击特征为一个字符串序列,可以采用字符串数组、文件等多种结构,转4.8,若否则转4.7;
4.7根据当前读取的m位氨基酸字符或核酸字符的内容,根据编码转化映射表List找到m位氨基酸字符或核酸字符在List中对应的下标,通过f:X→Ym的逆映射g:Ym→X,得到当前m位氨基酸字符或核酸字符表示的攻击字符内容,将相应攻击字符内容写入攻击特征,映射关系g:Ym→X满足对于有g(f(x))=x,即对于任意的攻击字符内容x,在通过映射关系f转化为y1y2…ym后,能够通过映射关系g将y1y2…ym转化得到原来攻击字符内容x;
4.8向后读取m位中间结果中序列的内容,转4.5;
4.9编码逆转化完成,得到所选的多个攻击字符序列的共同部分,即攻击特征。
采用本发明可以达到以下有益效果:
1.本发明具有可扩展性,在第三步中可以通过调用不断发展的生物信息学中的多序列比对软件,将新的多序列比对软件即时运用于攻击特征提取技术。通过新的多序列比对软件的引入,可以提高本发明在攻击特征提取上的准确性和时效性。由于生物信息学中氨基酸序列或核酸序列本身就具有多样性,这些多序列比对软件在处理攻击字符序列转化得到的氨基酸序列或核酸序列时,也可以有效识别出某些移位,变化或者重复的特征序列,从而能够保证得到的攻击特征的准确度满足基本的攻击特征提取的要求。
2.通过第二步的编码转化,得到多种标准多序列比对程序都可以处理的包含有N个氨基酸序列或核酸序列的文件,在第三步对攻击字符序列采用不同算法的多序列比对程序进行攻击特征自动提取时,就不再需要根据不同的算法重新编写程序,节约开发成本。更进一步来说,还可以利用一些提供多序列比对服务的网站对转化后得到的氨基酸序列或核酸序列进行处理,既节约了实验中软件开发的成本,还可以节约用于实验的硬件成本。
3.本发明便于对多种不同的多序列比对算法进行比较。一方面,不同算法的多序列比对软件在提取共同序列时,对某些序列片段是否为共同序列可能会由于权值问题而有所差异,另一方面,弥补不同算法的多序列比对软件在提取共同序列时由于自身算法的问题而可能忽略掉个别较短氨基酸序列或核酸序列片段的问题,这个问题是由于不同的算法对于共同序列中连续的字符序列片段给予的权值不同,而某些较短的氨基酸序列或核酸序列片段会由于权值较低而不被认为是共同序列所导致的。
4.在第二步中通过编码转化得到氨基酸序列或核酸序列,不仅可以用于本发明中的多序列比对,还可以运用其他的生物信息学软件对序列进行其他方面的分析,如分析多个攻击字符序列之间的相似度,建立多个攻击字符序列之间的亲缘关系等。
附图说明
图1是本发明总体流程图。
图2是本发明第二步编码转化模块对攻击字符序列进行编码转化的流程图。
图3(a)是本发明第四步编码逆转化模块提取共同序列得到中间结果的流程图。
图3(b)是本发明第四步编码逆转化模块中间结果编码逆转化的流程图。
图4是本发明的一个具体实施例。
具体实施方式
图1是本发明总体流程图,本发明包括以下四步。
第一步,设计基于编码转化技术的多序列比对攻击特征提取软件,多序列比对攻击特征提取软件由编码转化映射表、编码转化模块、标准多序列比对程序和编码逆转化模块组成。
第二步,编码转化模块对N个攻击字符序列进行编码转化,生成标准多序列比对程序可以处理的N个氨基酸序列或核酸序列。
第三步,选择标准多序列比对程序对N个氨基酸序列或核酸序列进行多序列比对,得到对N个氨基酸序列或核酸序列的共同序列进行标记的比对结果。
第四步,编码逆转化模块将比对结果中标记的共同序列提取出来,并根据编码转化映射表List映射回攻击序列字符,得到多个攻击字符序列的共同部分,即攻击特征。
图2是本发明第二步编码转化模块对N个攻击序列进行编码转化的流程图。编码转化模块对N个攻击字符序列进行编码转化,生成标准多序列比对程序可以处理的N个氨基酸序列或核酸序列。方法是:
(1)根据用户输入的文件存储路径查找到需要进行编码转化的攻击字符序列,攻击字符序列个数N,N≥Z;
(2)对编码转化模块进行初始化,设需要进行编码转化的攻击字符序列为S0,S1…Si,…Sn-1,n=N,Si为当前需要进行编码转化的攻击字符序列,i的初始值为0,0≤t≤n-1,设Si中当前需要进行编码转化的攻击字符为第j个,j的初始值为0,0≤j≤Li,Li为序列Si的长度;
(3)对攻击字符序列Si进行命名,命名方法是N个攻击字符序列都具有不同的的序列名(如采用原攻击字符序列名),并将Si的序列名写入编码转化结果文件中文件格式要求的位置;
(4)读取当前序列第j个字符,判断字符内容是否为结束符,若是则转(7),若否则转(5);
(5)根据得到的字符内容,通过映射关系f:X→Ym,分别得到m个氨基酸字符或核酸字符在List中对应的下标,通过下标依次找到List中的m位氨基酸字符或核酸字符并写入编码转化结果文件中。
(6)令Si中当前字符位置向后移动一位,即j=j+1,转(4);
(7)令当前需要进行编码转化的攻击字符序列为下一攻击字符序列,即i=i+1,判断i是否大于等于n,若是,表示对所有攻击字符序列已转化完,得到用于进行多序列比对的N个氨基酸序列或核酸序列,转第三步,若否,转(3);
图3(a)为第四步编码逆转化模块中提取共同序列得到中间结果的流程图,图3(b)为第四步编码逆转化模块中中间结果编码逆转化的流程图。编码逆转化模块将标准多序列比对程序的比对结果中标记的共同序列提取出来,并根据编码转化映射表List映射回攻击序列字符,得到多个攻击字符序列的共同部分,即攻击特征。方法是:
(1)在比对结果中选取一个氨基酸序列或核酸序列作为基序列,基序列要求第一位字符不为间隔标记,间隔标记是标准多序列比对程序用于将多个氨基酸序列或核酸序列中共同序列部分位置对齐而在多个氨基酸序列或核酸序列中插入的字符,该字符与氨基酸序列或核酸序列中其他所有的字符不重复;
(2)查找每一序列的内容中是否具有标记字符找到比对结果中的标记序列;
(3)确定标记序列中标记字符存在于序列中的位置,不妨设标记字符存在于标记序列的第j1位,第j2位,第j3位…第jS位,1≤jS≤Li,从基序列第一个字符开始遍历基序列,若为第j1位,第j2位,第j3位…第jS位,则提取出氨基酸字符或核酸字符,写入中间结果中,否则将间隔标记写入中间结果的序列中,直至基序列遍历完毕;(1)至(3)步如图3(a)所示。
(4)以表示一位攻击字符所需氨基酸字符或核酸字符的位数m位为单位读取中间结果中的序列内容;
(5)检查当前读取的m位中间结果的序列内容中是否有结束符,若是则转(9),若否则转(6);
(6)检查当前读取的m位中间结果的序列内容中是否有间隔标记,若是则写入一个间隔标记到攻击特征,转(8),若否则转(7);
(7)根据当前读取的m位氨基酸字符或核酸字符的内容,根据映射关系g:Ym→X,得到当前m位氨基酸字符或核酸字符表示的攻击字符内容,将相应攻击字符内容写入攻击特征;
(8)向后读取m位中间结果中序列的内容,转(5);
(9)编码逆转化完成,得到所选的多个攻击字符序列的共同部分,即攻击特征。(4)至(9)步如图3(b)所示。
图4是采用本发明对一组攻击字符序列进行攻击特征提取的一个实施例。第一步,构建基于编码转化技术的多序列比对攻击特征提取软件:
多序列比对攻击特征提取软件由编码转化映射表、编码转化模块、标准多序列比对程序和编码逆转化模块组成。在本实施例中,编码转化映射表List采用16位氨基酸字符构成的数组,数组内容为“ACGHIKLMNPRSTVWY”,“A”在数组中的下标为0,“C”在数组中的下标为1,依此类推,“Y”在数组中的下标为15,即根据字母顺序选取前16个可用于表示氨基酸的字符。标准多序列比对程序选取ClustalW2,因为ClustalW2是目前最为常用的生物信息学多序列比对程序,在对氨基酸序列或核酸序列比对的精确度上相比MUSCLE要高,而在时间开销上比T-Coffee要少。编码转化模块的转化方式选取为将1位攻击字符转化为2位氨基酸字符,采取的映射关系为f:X→Y2,编码转化模块的输出选取为ClustalW2程序可以接受的FASTA格式输入文件,因为FASTA格式的文件格式要求简单,并且适用于生物信息学的多种软件。编码逆转化模块的转化方式为将2位氨基酸字符转化为1位攻击字符,采取的映射关系为g:Y2→X。编码逆转化模块的输入选取为ClustalW2的Clustal格式的比对结果文件,因为Clustal格式的文件内容结构整齐,便于读取,输出为采用原攻击字符表示的攻击特征,设采用“.”表示攻击特征间隔的TXT格式文本文件。
第二步,编码转化模块对多个攻击字符序列进行编码转化,生成标准多序列比对程序可以处理的多个氨基酸序列。
2.1根据存储路径查找到需要进行编码转化的攻击字符序列S0、S1、S2、S3,设攻击字符序列个数n,n=4,设测试攻击字符序列的内容如下:
S0:Seq0IsZero
S1:Seq1IsOne
S2:Seq2IsTwo
S3:Seq3IsThree;
2.2对编码转化模块进行初始化,设需要进行编码转化的攻击字符序列为S0,S1…Si,…Sn-1,n=N,Si为当前需要进行编码转化的攻击字符序列,i的初始值为0,0≤i≤n-1,设Si中当前需要进行编码转化的攻击字符为第j个,j的初始值为0,0≤j≤Li,Li为序列Si的长度;
2.3将Si作为攻击字符序列Si的序列名写入编码转化结果中序列名的位置;
2.4读取当前序列第j位字符,判断字符内容是否为结束符,若是则转2.7,若否则转2.5;
2.5根据得到的字符内容,采用2位氨基酸字符表示当前字符内容,根据上述映射关系f:X→Y2的要求,不妨采用如下公式:
y1=x%16 公式一
(其中x为该攻击字符的ASCII码值,y1和y2分别为两位氨基酸字符在List中的下标,结果取整数)分别得到List中对应于y1和y2下标的2位氨基酸字符,并将2位氨基酸字符依次写入FASTA格式文件中。
2.6令Si中当前字符位置向后移动一位,即j=j+1,转2.4;
2.7令当前需要进行编码转化的攻击字符序列为下一攻击字符序列,即i=i+1,检测所有攻击字符序列是否进行编码转化完毕,即判断i是否大于等于4,若否,转2.3,若是,表示对所有攻击字符序列已转化完,得到用于进行多序列比对的4个氨基酸序列,转第三步,其中氨基酸序列内容如下:
S0:HLKMCGAKPVHIRVKMGHYC
S1:HLKMCGCLPVHIYHWAKM
S2:HLKMCGGMPVHIIMMNYC
S3:HLKMCGHNPVHIIMNRGHKMKM
第三步,调用多序列比对程序ClustalW2对4个氨基酸序列进行多序列比对,得到对4个氨基酸序列的共同序列进行标记的比对结果,比对结果内容如下:
S0:HLKMCGAKPVHIRVKMG--HYC
S1:HLKMCGGMPVHI-IMM---NYC
S2:HLKMCGHNPVHIIMNRGHKMKM
S3:HLKMCGCLPVHIYHWA----KM
****** ****
第四步,编码逆转化模块将ClustalW2程序的比对结果中标记的共同序列提取出来,并根据编码转化映射表List与映射关系g:Y2→X映射回攻击序列字符,得到多个攻击字符序列的共同部分,即攻击特征。
4.1在比对结果中选取S0作为基序列;
4.2查找每一序列的内容中是否具有标记字符“*”找到比对结果中用于标记共同序列的标记序列;
4.3确定标记序列中标记字符存在于序列中的位置,不妨设标记字符存在于标记序列的第j1位,第j2位,第j3位…第jS位,从基序列第一个字符开始遍历基序列,若为第j1位,第j2位,第j3位…第jS位,则提取出氨基酸字符(或核酸字符),写入中间结果文件的序列中,否则将间隔标记“--”写入中间结果文件的序列中,直至序列遍历完毕,中间结果文件中序列内容为“HLKMCG----PVHI--------”;
4.4以2位字符为单位读取中间结果文件中的序列内容;
4.5检查当前读取的2位中间结果的序列内容中是否有文件结束符,若是则转4.9,,若否则转4.6;
4.6检查当前读取的2位中间结果的序列内容中是否有间隔标记“--”,若是则写入一个间隔标记“.”到攻击特征,转4.8,若否则转4.7;
4.7根据当前读取的2位氨基酸字符的内容,利用公式一、公式二和编码转化映射表List,采用映射关系g:Y2→X,具体公式为:
x=((y1-y2)%16)×16+y2 公式三
得到当前2位氨基酸字符表示的攻击字符内容的ASCII码,将相应攻击字符内容写入攻击特征;
4.8向后读取2位中间结果中序列的内容,转4.5;
4.9编码逆转化完成,得到所选的多个攻击字符序列的共同部分,即攻击特征最终提取出来的攻击特征为“Seq.Is….”
以下是本发明对apache_host,athttps,athttps.A,athttps.B,athttps.C,bindTSIG,codered.A,codered.B,codered.C,codered.D,codered.E,codered.F,IISprinte等攻击字符序列样本的实验结果,顺序依次为基于CLUSTALW、MUSCLE、T-Coffee程序的实验结果和通过对现有算法完善(CSR-Needleman-Wunsch双序列比对技术+T-COFFEE多序列比对技术)而重新实现得到的PolyTree程序(唐勇;基于网络的攻击特征自动提取技术研究[D];国防科学技术大学;2008年)的参考实验结果。
表1 攻击样本分析比对数据
时间复杂度方面,多序列比对软件中,CLUSTAL的时间复杂度是O(N2L2),T-COFFEE的时间复杂度为O(N2L2)+O(N3L)+O(N3)+O(NL2),MUSCLE的时间复杂度为O(NL2+N3L)。通过比较apache_host与athttps的比对时间,可以看到前者序列数为后者2倍,长度相似,比对时间约为后者4倍。通过比较apache_host与IISprinter的比对时间,可以看到序列数相同时,前者长度约为后者2倍,比对时间约为后者4倍。通过对现有算法完善而重新实现的PolyTree(T-COFFEE+CSR)及MUSCLE也可以得到符合时间复杂度的比对时间结果。
在本实验中实验结果的精确度差异很小,主要原因在于攻击特征所处的位置在样本中变化较小,并且其内容在样本中的相似度为100%,故几种多序列比对程序的实验结果准确度差异较小。分析其准确度差异的原因,主要是由于不同的多序列比对算法中,对于短序列的匹配得分和空位罚分的权值不同,导致短序列得分较低而被忽视。具体实验结果特征序列长度结果如表2所示:
表2 实验结果特征序列长度
从对实验结果的分析中我们可以看到,在时间复杂度方面,MUSCLE相对耗时较少,但比对时间与样本长度和样本数关联性并不如其他几种算法,因而不容易准确地预测比对时间。在比对结果精度方面,从表2的CLUSTALW与MUSCLE所在列的数据可以看出,CLUSTALW与MUSCLE精度差别较小,而T-COFFEE在精度方面则较为准确,因为可以得到比较细小的特征序列部分。因而在对精确度要求不高的情况下,可以选择MUSCLE作为多序列比对程序。而在对精度要求较高的情况下,可以选择T-COFFEE作为多序列比对程序。
上述实验结果说明,采用本发明提出的方法(调用CLUSTALW,MUSCLE,T-COFFEE),时间开销几乎完全由多序列比对算法本身的时间复杂度决定,在时效性上,从表1的比对时间对应的4列数据可以看出,优于通过优化多序列比对算法重新实现的代码(PolyTree)。在提取的攻击特征的精确度方面有可能会比重新实现的方法稍逊,但基本满足攻击特征提取的要求。
Claims (3)
1.一种利用编码转化实现基于序列比对的攻击特征提取的方法,其特征在于包括以下步骤:
第一步,设计基于编码转化技术的多序列比对攻击特征提取软件,多序列比对攻击特征提取软件由编码转化映射表List、编码转化模块、标准多序列比对程序和编码逆转化模块组成;编码转化映射表List为一个字符数组,数组中每个元素的内容为氨基酸字符或核酸字符,一个List中不同时具有氨基酸字符和核酸字符,List中元素的内容没有重复,且List中元素个数大于或等于2,List中每个元素都有对应的唯一的下标;编码转化模块接收用户提供的用于攻击特征提取的多个攻击字符序列,根据编码转化映射表List,采用映射关系f:X→Ym将多个攻击字符序列转化为多个氨基酸序列或核酸序列,将多个氨基酸序列或核酸序列传输给标准多序列比对程序;m为一位攻击字符所对应氨基酸字符或核酸字符的位数,集合X为攻击字符序列中的所有可能出现的字符的集合,集合Y为编码转化映射表中所有单个氨基酸字符或核酸字符的下标的集合,映射关系f:X→Ym必须为单射,即对每一值域Ym内的y1y2…ym,存在至多一个定义域X内的x使得f(x)=y1y2…ym;标准多序列比对程序是指生物信息学中现有的用于对多个氨基酸序列或核酸序列进行序列比对的应用程序,标准多序列比对程序对转化后的氨基酸序列或核酸序列进行多序列比对,并将多序列比对结果传输给编码逆转化模块;编码逆转化模块接收标准多序列比对程序的比对结果,提取比对结果中多个氨基酸序列或核酸序列所共有的序列片段即共同序列,并根据编码转化映射表List将共同序列通过f:X→Ym的逆映射进行编码逆转化,将共同序列的内容还原为攻击字符序列中相应的字符,即为多个攻击字符序列所具有的攻击特征;
第二步,编码转化模块对多个攻击字符序列进行编码转化,生成标准多序列比对程序可以处理的多个氨基酸序列或核酸序列,方法是:
2.1根据用户输入的文件存储路径查找到需要进行编码转化的攻击字符序列,攻击字符序列个数为N,N≥2;
2.2对编码转化模块进行初始化,设需要进行编码转化的攻击字符序列为S0,S1…Si,…Sn-1,n=N,Si为当前需要进行编码转化的攻击字符序列,i的初始值为0,0≤i≤n-1,设Si中当前需要进行编码转化的攻击字符为第j个,j的初始值为0,0≤j≤Li,Li为序列Si的长度,即Si中的字符个数;
2.3对攻击字符序列Si进行命名,命名方法是N个攻击字符序列都具有不同的序列名,并将Si的序列名写入编码转化结果文件中文件格式要求的位置,编码转化结果文件格式是指标准氨基酸多序列比对程序可以处理的文件格式;
2.4读取当前序列第j个字符,判断字符内容是否为结束符,若是则转2.7,若否则转2.5;
2.5根据得到的字符内容,通过映射关系f:X→Ym,分别得到m个氨基酸字符或核酸字符在List中对应的下标,通过下标依次找到List中的m位氨基酸字符或核酸字符并写入编码转化结果文件中;
2.6令Si中当前字符位置向后移动一位,即j=j+1,转2.4;
2.7令当前需要进行编码转化的攻击字符序列为下一攻击字符序列,即i=i+1,判断i是否大于或等于n,若是,表示对所有攻击字符序列已转化完,得到用于进行多序列比对的N个氨基酸序列或核酸序列,转第三步,若否,转2.3;
第三步,选择标准多序列比对程序对N个氨基酸序列或核酸序列进行多序列比对,得到N个氨基酸序列或核酸序列的比对结果,比对结果由N个参与比对的氨基酸序列或核酸序列及一个标记序列构成,标记序列中将N个参与比对的氨基酸序列或核酸序列所具有的共同序列字符所在的位置用标记字符标记,并将多序列比对结果传输给编码逆转化模块;
第四步,编码逆转化模块将比对结果中标记的共同序列提取出来,并根据编码转化映射表List映射回攻击序列字符,得到多个攻击字符序列的共同部分,即攻击特征,方法是:
4.1在比对结果中选取一个氨基酸序列或核酸序列作为基序列,基序列要求第一位字符不为间隔标记,间隔标记是标准多序列比对程序用于将多个氨基酸序列或核酸序列中共同序列部分位置对齐而在多个氨基酸序列或核酸序列中插入的字符,该字符与氨基酸序列或核酸序列中其他所有的字符不重复;
4.2查找每一序列的内容中是否具有标记字符找到比对结果中的标记序列;
4.3确定标记序列中标记字符存在于序列中的位置,设标记字符存在于标记序列的第j1位,第j2位,第j3位…第js位,1≤js≤Li,从基序列第一个字符开始遍历基序列,若为第j1位,第j2位,第j3位…第js位,则提取出氨基酸字符或核酸字符,写入中间结果中,否则将间隔标记写入中间结果的序列中,直至基序列遍历完毕;
4.4以表示一位攻击字符所需氨基酸字符或核酸字符的位数m位为单位读取中间结果中的序列内容;
4.5检查当前读取的m位中间结果的序列内容中是否有结束符,若是则转4.9,若否则转4.6;
4.6检查当前读取的m位中间结果的序列内容中是否有间隔标记,若是则写入一个间隔标记到攻击特征,转4.8,若否则转4.7;
4.7根据当前读取的m位氨基酸字符或核酸字符的内容,根据编码转化映射表List找到m位氨基酸字符或核酸字符在List中对应的下标,通过f:X→Ym的逆映射g:Ym→X,得到当前m位氨基酸字符或核酸字符表示的攻击字符内容,将相应攻击字符内容写入攻击特征,映射关系g:Ym→X满足对于有g(f(x))=x,即对于任意的攻击字符内容x,在通过映射关系f转化为y1y2…ym后,能够通过映射关系g将y1y2…ym转化得到原来攻击字符内容x;
4.8向后读取m位中间结果中序列的内容,转4.5;
4.9编码逆转化完成,得到所选的多个攻击字符序列的共同部分,即攻击特征。
2.如权利要求1所述的利用编码转化实现基于序列比对的攻击特征提取的方法,其特征在于所述标准多序列比对程序根据对精度和序列比对时间开销的需要选择。
3.如权利要求1所述的利用编码转化实现基于序列比对的攻击特征提取的方法,其特征在于所述中间结果是用于记录提取出来的共同序列的字符串数组或文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210077357.0A CN102663287B (zh) | 2012-03-22 | 2012-03-22 | 利用编码转化实现基于序列比对的攻击特征提取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210077357.0A CN102663287B (zh) | 2012-03-22 | 2012-03-22 | 利用编码转化实现基于序列比对的攻击特征提取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102663287A CN102663287A (zh) | 2012-09-12 |
CN102663287B true CN102663287B (zh) | 2015-03-11 |
Family
ID=46772775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210077357.0A Expired - Fee Related CN102663287B (zh) | 2012-03-22 | 2012-03-22 | 利用编码转化实现基于序列比对的攻击特征提取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102663287B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076554B (zh) * | 2021-03-12 | 2022-10-11 | 广西东信易联科技有限公司 | 一种基于区块链的体检数据安全存储方法 |
CN115118514A (zh) * | 2022-07-11 | 2022-09-27 | 深信服科技股份有限公司 | 一种数据检测方法、装置、设备及介质 |
-
2012
- 2012-03-22 CN CN201210077357.0A patent/CN102663287B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
Needleman S.B等.A general method applicable to the search for similarities in the amino acid sequence of two proteins.《Journal of Molecular Biology》.1970,第48卷第443-453页. * |
Newsome J等.Polygraph: Automatically generating signatures for polymorphic worms.《Security and Privacy, 2005 IEEE Symposium on 》.2005,第226-241页. * |
基于多序列联配的攻击特征自动提取技术研究;唐勇等;《计算机学报》;20060930;第29卷(第9期);第1533-1541页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102663287A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kalvari et al. | Non‐coding RNA analysis using the Rfam database | |
Menzel et al. | Fast and sensitive taxonomic classification for metagenomics with Kaiju | |
Akhtar et al. | On DNA numerical representations for period-3 based exon prediction | |
Chen et al. | Assignment of orthologous genes via genome rearrangement | |
US20150294065A1 (en) | Database-Driven Primary Analysis of Raw Sequencing Data | |
CN112989348B (zh) | 攻击检测方法、模型训练方法、装置、服务器及存储介质 | |
WO2020029951A1 (zh) | 一种染色质拓扑结构域边界的分析方法 | |
Hubbard | RMS/coverage graphs: a qualitative method for comparing three‐dimensional protein structure predictions | |
Alsmadi et al. | String matching evaluation methods for DNA comparison | |
Chesters et al. | A DNA Barcoding system integrating multigene sequence data | |
Xu et al. | An efficient pipeline for ancient DNA mapping and recovery of endogenous ancient DNA from whole‐genome sequencing data | |
CN102663287B (zh) | 利用编码转化实现基于序列比对的攻击特征提取的方法 | |
Tsukiyama et al. | Cross-attention PHV: Prediction of human and virus protein-protein interactions using cross-attention–based neural networks | |
Liu et al. | A method for rapid similarity analysis of RNA secondary structures | |
Kadhim et al. | Maximum-shift string matching algorithms | |
Rhalem et al. | An efficient and rapid method for detection of mutations in deoxyribonucleic acid-sequences | |
AU5145000A (en) | Profile searching in nucleic acid sequences using the fast fourier transformation | |
Kasukurthi et al. | SURFr: Algorithm for identification and analysis of ncRNA-derived RNAs | |
Xu et al. | NCBIminer: sequences harvest from Genbank | |
Mitseva et al. | POSTER: How dangerous is my click? Boosting website fingerprinting by considering sequences of webpages | |
Gudodagi et al. | Investigations and Compression of Genomic Data | |
CN106529212B (zh) | 基于序列依赖频率矩阵的生物序列进化信息提取方法 | |
GUDODAGI et al. | Customized Computational Environment for Investigations and Compression of Genomic Data. | |
Li et al. | APT malicious sample organization traceability based on text transformer model | |
Al-Ssulami et al. | An efficient method for significant motifs discovery from multiple DNA sequences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150311 Termination date: 20210322 |