Issn online (2278-8875) print (2320-3765)
Neha chaudhary1Shailendra Mishra2
|
相关文章Pubmed,谷歌学者 |
浏览更多相关文章国际电气、电子与仪器工程高级研究杂志
互联网正在被越来越多的用户使用。在当今的企业环境中,安全性是所有网络的一个大问题。当入侵发生时,计算机的安全性就受到了损害。为了保证网络基础设施和互联网通信的安全,人们开发了许多方法,其中包括加密算法、虚拟专用网和防火墙的使用。入侵检测系统(IDS)是识别目标系统或网络上的可疑活动的设备或软件应用程序。入侵检测系统采用了多种方法。入侵检测有两种技术:误用检测和异常检测。有些方法使用基于误用的技术,有些方法使用基于异常的技术。误用检测可以检测出已知的攻击,但基于误用的技术存在的主要问题是容易受到未知攻击的攻击。异常检测可以检测出未知的入侵,但基于异常的技术存在的问题是会产生大量的虚警,难以实现。 Entropy used in intrusion detection, is one of the anomaly detection technique. In this paper we are designing a new system that uses both technique(misuse and anamoly) with the help of Snot ,Entropy and honeypot . Also another issue of IDS is a lot of fault alarm, has also been addressed by developing alert reduction and ranking system. The results shows our system which is working in real time in efficient manner.
关键字 |
入侵检测系统(IDS), snort,熵,警报,可疑指数(SI) |
我的介绍。 |
现在许多用户都有宽带连接,可以从家里直接连接。他们安装了大量的应用程序,这些应用程序使他们能够在线购物、在线玩游戏、预订电子机票、从一个账户向另一个账户转账等等。这些应用程序需要保密,用户必须注意不要泄露他们的id和密码,以防止未经授权的访问。与此同时,网络必须足够强大,以保护机密数据。黑客入侵安全屏障窃取关键数据的网络犯罪越来越多,入侵检测系统应运而生。入侵检测系统用于检测网络或设备上不需要的流量。不需要的流量是可能对系统安全有害的流量。入侵检测系统是在专家系统的帮助下,用于检测不需要的流量或入侵者活动的硬件或软件应用程序或两者的组合。一般来说,所有IDS都采用双重方法,即基于规则的专家系统检测已知类型的入侵,以及基于用户、主机系统和目标系统的配置文件的统计异常检测组件[1]。基于误用检测的系统被称为基于误用的系统,它能以较高的成功率检测出已知的攻击,但当面对未知的攻击时却无能为力。 This is also called signature based detection. An anomaly detection technique identifies the observed activities that deviate significantly from the normal usage as intrusions [3]. Thus anomaly detection can detect unknown intrusions, which cannot be detected by misuse detection. But, the main problem with anomaly detection approaches is false positive alarms. False positive alarms are the activities detected by IDS as attacks but they are not. Whereas false negative alarms are the activities that are attacks but missed by IDS. IDS can also be classified into two categories based on network level and host level. Network based IDS (NIDS) detects activities that are suspicious with respect to whole network. It detects the malicious activities in packets flowing in the network. Host based IDS depend upon the system log files to find intrusions. |
Snort[4]是最著名的开放入侵防御系统之一。它基于签名。它使用基于警报的系统来表示可疑活动。它的警报包括数据包源和目标信息以及签名id和时间戳。Snort的主要问题是易受未知攻击、警报数量庞大以及无法识别警报的重要性。 |
本文的其余部分组织如下:第2节给出了研究背景和相关工作。第3节介绍了系统的设计和实现。第四节讨论了实验结果,第五节总结了本文面临的挑战和未来的工作。 |
2背景及相关工作 |
除了已知的攻击之外,还有许多未知类型的攻击不断发生。大量的机器智能技术被应用于入侵检测领域,以减少对未知攻击的脆弱性。如果我们讨论模糊逻辑,[5]给出了基于模糊专家系统的模糊规则自动学习方法。数据挖掘技术的应用是对IDS进行异常检测。入侵检测问题可简化为将流量准确地分类为正常攻击和不同攻击,这可以通过数据挖掘来实现。W. Lee et al. b[6]给出了构建数据挖掘模型的不同数据挖掘技术的应用。MADAM ID[7]是哥伦比亚大学的一个项目,它展示了数据挖掘技术在构建更好的IDS方面的效用。ADAM[8]、IDDM[9]和eBayes[10]均采用异常检测技术检测入侵。ADAM是一种基于网络的入侵检测,它使用关联规则来制定正常的行为。明尼苏达大学的MINDS[11]项目使用数据挖掘技术通过为每个连接分配分数值来自动检测攻击。 Score value represents the degree of deviation of behavior compared to normal behavior. They are successful in detecting numerous novel intrusions that could not be identified by widely used tools like Snort. It also takes into account network features important to intrusion detection. For this it has a feature extraction module. All these data mining techniques mainly depend on the training data i.e. they build model around feature values which can be changed easily during attack. Hence we must take into account overall traffic pattern and have to use statistical techniques. If we talk about the statistical techniques used for building models to detect intrusions, the first model is proposed by Denning [12]. Here Denning told the general model based on anomalies found in the user profiles developed by the statistical algorithms over a period of time. A lot of methods are borrowed from statistical signal theory and pattern recognition theory for detecting anomalies like Principal Component Analysis (PCA), covariance methods, Auto Regressive Moving Average (ARMA) etc. Entropy is another well-known measure for quantifying the information of network traffic and has been extensively studied for anomaly detection and prevention. G. Nychis et al. [13], uses the entropy based technique for anomaly detection in network traffic. M. Celenk et al. [14], proposed a model for using entropy based anomaly detection which does not use long term statistics. But the problem with this model was that it finds anomalies with respect to current data. So if there are more anomalies than normal data then it will give huge number of false alerts. Also it is not tested in real time. |
构建IDS的另一个设计问题是向安全分析人员正确表示警报。由于IDS会生成大量警报,因此很难对其进行分析。提出了各种预警相关技术。T. Zang等人,[15],提供了所有警报融合技术的总结。这些技术主要使用聚合、验证和关联。聚合将具有相同属性的警报(如源IP、目的IP等)在一个时间窗口内进行组合。然后对这些警报执行关联,以找出攻击模式。因此,这些技术只对网络取证有帮助,而聚合只关注对相关警报进行分组。没有重点是代表警报根据他们的重要性,所以我们可以及时阻止他们。因此,在本文中,我们通过结合各种方法来设计一个IDS,即基于签名的IDS (Snort),基于熵的异常检测方法与特征提取和警报减少和排名系统,以解决未知攻击,警报减少和更好的警报可视化问题。 |
3系统设计与实现 |
![]() |
图1显示了我们提出的IDS模型,该模型使用了特征提取技术[16]和基于熵的基于异常的技术[13]。这两个模块都与Snort集成,使Snort更加健壮。特征提取模块给出了对入侵检测很重要的重要特征。Kayasik[15]使用KDD数据集进行特征选择,但由于KDD数据集的各种限制,结果相当偏倚。因此,NSL-KDD数据集被用于网络流量的离线研究。 |
将所有与攻击特征相关的特征插入到攻击特征数据库中。此数据库包含与攻击最相关的特征。这个数据库的主要用途是为这些特征计算熵。现在有了基于熵的网络流量异常检测模块。利用信息提取模块从网络流量中提取重要特征。特征取自攻击特征数据库。特征必须具有离散值来计算熵。这里我们主要使用四个特性src_ip、Src_port、Dst_ip和Dst_port。因此,所有即将到来的实时数据都转换为具有5个属性的记录,包括时间戳。对于实时数据,Snort以包嗅探模式运行。 For converting in this format, python script is implemented. Mean and standard deviation is used for entropy based detection. This can be done in two ways. In first method, historical data is used for finding these values. But this method is biased towards historical data. In second method, we can do entropy detection in real time data itself [14]. This method creates problem when huge part in real time data is itself anomaly. In this system, we use both techniques. We are using entropy based technique because attacks like port scanning, DDoS change the pattern of network traffic. They make network traffic more uniform or more random. Hence entropy based technique is used. As signature based systems use particular signatures for attack detection, hence these are ineffective when encountered with new patterns of attacks but with the help of anomaly based module in our system we can eliminate this problem. An intrusion detection system cannot be totally relied upon anomaly based module due to its limitation. Hence we are using Snort as its signature based system. A parallel Snort system is put with anomaly based module. As entropy based module can only detect attacks that change the network traffic pattern. Hence to detect other attacks we have to use a signature based system. For increasing the performance of system, a robust alert and logging system is integrated with Snort. With better alert and logging system we can have improved alert visualization and management. Once alerts are generated by both systems, they must be integrated. |
这是我们系统的主要动力所在。因为snort会生成大量的警报,这会给安全分析人员分析结果带来问题。警报统一模块减少了Snort生成的警报数量,并将警报分类为一些类别,这有助于分析人员更好地分析结果。基于异常的模块给出了检测异常之间的时间戳。现在根据时间戳内的不同特征计算可疑索引。可疑指数是衡量某一特定特征如何导致该异常的指标。一旦计算出特征的可疑索引,就将它们传递给警报统一模块。Snort的警报和日志系统将每个警报对应的完整信息提供给统一模块。每个警报包括签名id, Src_ip, Src_port, Dst_ip, Dst_port,时间戳和其他信息。这里我们对可疑索引使用一些阈值。 All alerts given by Snort within same timestamp as the anomaly based module and particular feature having valid suspect index (suspect index > threshold) are unified. We have used classifiers for alerts. Alerts can be of three types. Alerts detected by Snort and Entropy based module, alerts detected by Snort only and alerts detected by entropy based module only. Final alerts are shown to analyst according to their importance i.e. Snort and Anomaly based then Snort based, and then Entropy based. Entropy based can be moved up if deviation in network traffic pattern is very high. System is implemented in Ubuntu-9.04. Snort 2.8.6 is used as signature based system. Barnyard and Acid-base are used as alert and logging system. Feature selection algorithm is implemented in java. NSL-KDD data is used as off line traffic. Entropy based Anomaly detection module is implemented in Java. |
四、实验结果 |
![]() |
![]() |
首先,我们必须证明基于熵的模块的有效性。为此,使用学院宿舍的网络流量。同时还使用了研究所的流量作为历史数据。图2和图3给出了某一天网络流量的不同特征的熵变。图是在熵和一个固定的时间窗口(如60秒)之间,用数字表示。如图所示,由于数据的随机性,源IP在大多数情况下是最均匀的,熵很高。但是这里有熵值的主要下降,这表明由于端口扫描攻击在不同系统上进行,流量模式发生了巨大变化。其他特征也显示出该特征值的熵偏差,但不是很均匀。这是由于端口扫描攻击的特性。所以我们首先在这些数据上训练我们的熵模型,并找到异常的阈值。 As it is the most difficult thing to decide the threshold factor so we have must have data for deciding this. Threshold factor means deciding mean and standard deviation value with the help of historical data. After finding threshold values, we will check each observation with respect to these values. |
![]() |
表1显示了用于异常检测的阈值(t)的巨大影响。当t从3减少到2时,异常点的数量急剧增加。这将导致许多点被声明为异常点。如果我们仔细观察这些数据,我们会发现,如果我们采取第二个时间窗参数,我们就可以发现不需要历史数据的异常。这样我们就能找出那段时间内的异常情况。这样,就使用了前面描述的两种基于熵的异常检测技术。 |
表2显示了在单个时间窗口(60秒)内对不同特征值计算可疑索引的结果。 |
![]() |
在检测到五个点异常时,我们计算出哪个特征值在异常中贡献最大。这里我们计算Src_ip的可疑索引,但它也可以用于其他功能。结果表明,对于每个异常点,它都显示了所有的可疑指标。IP地址172.17.12.231在特定时间窗口内具有最高可疑索引,因为攻击是从该IP地址进行的。所有其他IP地址的可疑索引都非常低。因此,我们也为此加入了一个阈值。这里是0.50 |
![]() |
表3显示了Snort生成的警报数量。现在,在检测到异常的同一时间窗口中,所有与检测到异常的特征值相同的Snort警报被归为一个警报,因为Snort在攻击期间会在同一对系统之间生成大量警报,其中一些可能是假的。现在我们已经通过基于异常的模块验证了这是攻击,因此将其归类为class1攻击。类似地,未被基于异常的模块验证的攻击被赋予class2等级,未被Snort验证的攻击被赋予class3等级。Class1是最高级别的警报。这种类型的警报排序系统使分析人员能够更好地分析结果,并使他及时采取纠正措施。 |
诉的结论 |
本文设计并实现了基于Snort (Signature based system)和基于熵(Entropy based system)的实时入侵检测系统。我们已经验证了基于异常的模块。我们已经开发了一个警报减少和警报排名系统。实验结果表明,该系统实时性好,性能优于Snort。未来,我们将尝试扩展这个系统,通过合并不完全基于流量模式的基于异常的例程来发现不同类型攻击的异常。此外,我们还将尝试在Snort中实时添加动态规则。 |
参考文献 |
|