针对网络安全中的入侵检测问题,本文介绍一个公开的网络入侵检测数据集——CSIC2010,并提供请求内容提取、解码、分词等预处理过程,为后续基于深度学习的检测方法准备数据。
1、数据集简介
实验采用公开的HTTP CSIC2010数据集(http://www.isi.csic.es/dataset/),该数据集包含上万条自动生成的Web请求,主要用于测试网络攻击防护系统,它是由西班牙研究委员会(CSIC)信息安全研究所制作的。
当前,网络攻击检测面临的主要问题是缺乏公开可用的数据集来测试Web应用防火墙(WAFs)。DARPA数据集[1,2]虽已广泛用于入侵检测,然而它也被受入侵检测系统人士的批评[3]。关于Web流量,DARPA数据集显然已经有些过时了,而且它没有包含许多实际的攻击。因此,它不再适合Web攻击检测。数据隐私问题是公开可用数据集诞生的一个重要问题,这也可能是大多数可用HTTP数据集不针对真正Web应用程序的原因之一。
CSIC2010包含针对电子商务Web应用产生的HTTP数据流量。在该Web应用中,用户可以通过购物车购买物品,并通过提供一些个人信息进行注册。由于它是西班牙语的Web应用程序,所以数据集包含一些拉丁字符。
数据集是自动生成的,包含36000个正常请求和超过25000个异常请求。HTTP请求被标记为正常或异常,数据集包括各种攻击,如:SQL注入、缓冲区溢出、信息收集、文件披露,CRLF注入,跨站脚本,服务器端包含、参数篡改等。在前人的工作中,该数据集已成功地用于Web检测[4,5,6]。
2、数据预处理
该部分所有代码在Anaconda Spider下运行,无需Tensorflow环境支持。
对于原始的HTTP请求数据,主要提取GET、POST、PUT请求数据来进行入侵检测。在请求数据提取后,还需要对数据进行字符串分割,分割依据HTTP请求报文的格式规范进行,主要涉及URL地址解码,参数项、键值对、特殊符号的分割。在数据处理完成后,将处理结果输出到一个统一的文件中。具体代码如下:
其中,string_spliting函数输入字符串str_input和分隔符symbol,输出一个新的字符串,该字符串在所有分隔符symbol的前后各增加一个空格;string_words_spliting函数输入字符串str_input,输出由多个分割符分割后的字符串,该函数会重复多次调用string_spliting。
其中,http_request_extraction函数输入一个读文件和一个写文件,函数从读文件中依次读取每行数据,对GET、POST、PUT请求数据先调用urllib.parse中的unquote_plus进行base64解码,然后调用string_words_spliting函数分割字符。此外,该函数中,fwrite参数是一个文件指针,将处理后含有空格做分割符的请求命令字符串输出。
程序主要过程和函数调用如下:
[1]R. P. Lippmann, D. J. Fried, I. Graf, J. W. Haines, K. Kendall, D.McClung, D. Webber, S. Webster, D. Wyschograd, R. Cunninghan, and M. Zissman.Evaluating Intrusion Detection Systems: The 1998 DARPA off-line intrusion detectionevaluation. In Proc. of DARPA Information Survivability Conference andExposition (DISCEX00), Hilton Head, South Carolina, January 25-27. IEEEComputer Society Press, Los Alamitos, CA, 1226 (2000).
[2]R. Lippmann, J. W. Haines, D. J. Fried, J. Korba and K. Das. The1999 DARPA Off-Line Intrusion Detection Evaluation. In Proc. Recent Advances inIntrusion Detection (RAID2000). H. Debar, L. Me, and S. F. Wu, Eds.Springer-Verlag, New York, NY, 162182 (2000).
[3]J. McHugh. Testing Intrusion DetectionSystems: A Critique of the 1998 and 1999 DARPA Intrusion Detection SystemEvaluations as Performed by Lincoln Laboratory. In Proc. of ACM Transactions onInformation and System Security (TISSEC) 3(4), pp. 262-294 (2000).
[4]C.Torrano-Gimenez, A. Perez-Villegas, G. Alvarez. An anomaly-based approach forintrusion detection in web traffic. Journal of Information Assurance andSecurity, vol. 5, issue 4, pp. 446-454. ISSN 1554-1010 (2010).
[5]H.Nguyen, C. Torrano-Gimenez, G. Alvarez, S. Petrovic, K. Franke, Application ofthe Generic Feature Selection Measure in Detection of Web Attacks. In Proc. ofInternational Workshop in Computational Intelligence in Security forInformation Systems (CISIS 11), LNCS 6694, pp. 25-32. Editor. Herrero and E.Corchado, Springer-Verlag. Torremolinos, , Junio (2011).
[6]C.Torrano-Gimenez, H. Nguyen, G. Alvarez, S. Petrovic, K. Franke, ApplyingFeature Selection to Payload-Based Web Application Firewalls. In Proc. ofInternational Workshop on Security and Communication Networks (IWSCN 11), pp. 75-81.Editor Patric Bours. (Noruega). ISBN: 978-82-91313-67-2. 18-20 Mayo (2011).
领取专属 10元无门槛券
私享最新 技术干货