在线刊号(2278-8875)印刷版(2320-3765)
Neha chaudhary1,谢伦德拉·米什拉2
|
有关文章载于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,熵,alartrank, suspectincex (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]是最著名的开放NIDS之一。它基于签名。它使用基于警报的系统来指示可疑活动。它的警报包括数据包的源和目的地信息以及签名id和时间戳。Snort的主要问题是易受未知攻击、大量警报以及无法识别警报的重要性。 |
本文的其余部分组织如下:第二节介绍了本文的研究背景和相关工作。第三部分介绍了系统的设计与实现。第4节讨论了实验结果,第5节总结了本文面临的挑战和未来的工作。 |
2背景及相关工作 |
除了已知的攻击,还有很多未知类型的攻击不断发生。大量的机器智能技术被应用于入侵检测领域,以减少未知攻击的脆弱性。在讨论模糊逻辑时,[5]给出了基于模糊专家系统的模糊规则自动学习方法。数据挖掘技术主要应用于IDS的异常检测。入侵检测问题可以简化为将流量准确地分为正常攻击和不同攻击,这可以通过数据挖掘来实现。W. Lee等人[6]给出了不同数据挖掘技术用于构建数据挖掘模型的应用。MADAM ID[7]是哥伦比亚大学的一个项目,它展示了数据挖掘技术用于构建更好的IDS的实用程序。ADAM [8], IDDM[9]和eBayes[10]都使用异常检测技术来检测入侵。ADAM是一个基于网络的IDS,它使用关联规则来制定正常行为。明尼苏达大学的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 (Snort),基于熵的异常检测方法与特征提取和警报减少和排名系统,设计一个IDS,以解决未知攻击,警报减少和更好的警报可视化问题。 |
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的警报和日志系统将每个警报对应的完整信息提供给统一模块。每个告警由Signature-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秒)之间的图。从图中我们可以看到,Source 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秒)内对不同特征值计算可疑指数的结果。 |
当检测到5个异常点时,我们计算哪个特征值对异常的贡献最大。这里我们计算的是Src_ip的可疑指数,但它也可以用于其他特征。结果表明,对于每个异常点,它都显示了所有可疑的指标。IP地址172.17.12.231在特定时间窗口内的可疑指数最高,因为攻击是从该IP地址进行的。所有其他IP地址都有非常低的可疑索引。因此,我们还为此纳入了一个阈值。这里是50美分 |
表3显示了Snort生成的警报数量。现在,在同一时间窗口中检测到异常且与检测到异常的特征值相同的所有Snort警报都被归为一个,因为在攻击期间,Snort会在同一对系统之间生成大量警报,其中一些可能为假警报。现在我们用基于异常的模块验证了这是一种攻击,因此我们将其归类为class1攻击。类似地,没有被基于异常的模块验证的攻击被赋予了class2等级,同样地,没有被Snort验证的攻击被赋予了class3等级。Class1是最高级别的警报。这种类型的警报排名系统使分析人员能够更好地分析结果,并及时采取纠正措施。 |
诉的结论 |
本文将Snort(基于签名的系统)和熵(基于异常的系统)相结合,设计并实现了实时入侵检测系统。我们已经验证了基于异常的模块。我们已经开发了警报减少和警报排名系统。实验结果表明,该系统实时性好,性能优于Snort。在未来,我们将尝试扩展该系统,通过加入不完全基于流量模式的基于异常的例程来发现不同类型的攻击异常。我们还将尝试在Snort中实时动态添加规则。 |
参考文献 |
|