安全防护-入侵检测实战之全面问答

在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS。

  问:都有哪些重要的IDS系统? 

  根据监测对象不同,IDS系统分为很多种,以下是几种很重要的IDS系统:

  1、NIDS 

  NIDS是network intrusion detection system的缩写,即网络入侵检测系统,主要用于检测hacker或cracker通过网络进行的入侵行为。

NIDS的运行方式有两种,一种是在目标主机上运行以监测其本身的通讯信息,另一种是在一台单独的机器上运行以监测所有网络设备的通讯信息,比如hub、路由器。

  2、SIV 

  SIV是system integrity verifiers的缩写,即系统完整性检测,主要用于监视系统文件或者Windows 注册表等重要信息是否被修改,以堵上攻击者日后来访的后门。SIV更多的是以工具软件的形式出现,比如“Tripwire”,它可以检测到重要系统组件的变换情况,但并不产生实时的报警信息。

  3、LFM 

  LFM是log file monitors的缩写,即日志文件监测器,主要用于监测网络服务所产生的日志文件。LFM通过检测日志文件内容并与关键字进行匹配的方式判断入侵行为,例如对于HTTP服务器的日志文件,只要搜索“swatch”关键字,就可以判断出是否有“phf”攻击。

  4、Honeypots 

  蜜罐系统,也就是诱骗系统,它是一个包含漏洞的系统,通过模拟一个或多个易受攻击的主机,给黑客提供一个容易攻击的目标。由于蜜罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。蜜罐的另一个用途是拖延攻击者对其真正目标的攻击,让攻击者在蜜罐上浪费时间。与此同时,最初的攻击目标受到了保护,真正有价值的内容将不受侵犯。蜜罐最初的目的之一是为起诉恶意黑客搜集证据,这看起来有“诱捕”的感觉。

  问:谁是入侵者? 

  通常我们将入侵者称为hacker,但实际上这是不准确的。可以这么说:hacker是发现系统漏洞并修补漏洞的,cracker才是利用漏洞占山头搞破坏的入侵者。为了不混淆视听,在此干脆统一叫作入侵者吧。一般来说,入侵者分为两类:内部和外部。内部入侵者通常利用社会工程学盗用非授权帐户进行非法活动,比如使用其他人的机器、冒充是处长或局长;外部入侵者则要借助一定的攻击技术对攻击目标进行监测、查漏,然后采取破坏活动。

  有一点请牢记:统计表明,入侵行为有80%来自内部。

  问:入侵者如何进入系统? 

  主要有三种方式:

  1、物理入侵 

  指入侵者以物理方式访问一个机器进行破坏活动,例如趁人不备遛进机房重地赶紧敲打两下键盘试图闯入操作系统、拿着钳子改锥卸掉机器外壳“借”走硬盘装在另一台机器上进行深入研究。

  2、系统入侵 

  指入侵者在拥有系统的一个低级账号权限下进行的破坏活动。通常,如果系统没有及时“打”最近的补丁程序,那么拥有低级权限的用户就可能利用系统漏洞获取更高的管理特权。

  3、远程入侵 

  指入侵者通过网络渗透到一个系统中。这种情况下,入侵者通常不具备任何特殊权限,他们要通过漏洞扫描或端口扫描等技术发现攻击目标,再利用相关技术执行破坏活动。NIDS主要针对的就是这种入侵。

  问:入侵者为何能闯入系统?

  苍蝇不盯无缝的蛋,入侵者只要找到复杂的计算机网络中的一个缝,就能轻而易举地闯入系统。所以,了解这些缝都有可能在哪里,对于修补它们至关重要。通常,裂缝主要表现在软件编写存在bug、系统配置不当、口令失窃、明文通讯信息被监听以及初始设计存在缺陷等方面。

  1、软件编写存在bug 

  无论是服务器程序、客户端软件还是操作系统,只要是用代码编写的东西,都会存在不同程度的bug。Bug主要分为以下几类:

  缓冲区溢出:指入侵者在程序的有关输入项目中了输入了超过规定长度的字符串,超过的部分通常就是入侵者想要执行的攻击代码,而程序编写者又没有进行输入长度的检查,最终导致多出的攻击代码占据了输入缓冲区后的内存而执行。别以为为登录用户名留出了200个字符就够了而不再做长度检查,所谓防小人不防君子,入侵者会想尽一切办法尝试攻击的途径的。

  意料外的联合使用问题:一个程序经常由功能不同的多层代码组成,甚至会涉及到最底层的操作系统级别。入侵者通常会利用这个特点为不同的层输入不同的内容,以达到窃取信息的目的。例如:对于由Perl编写的程序,入侵者可以在程序的输入项目中输入类似“| mail < /etc/passwd”的字符串,从而使perl让操作系统调用邮件程序,并发送出重要的密码文件给入侵者。借刀杀人、借Mail送“信”,实在是高!

  不对输入内容进行预期检查:有些编程人员怕麻烦,对输入内容不进行预期的匹配检查,使入侵者输送炸弹的工作轻松简单。

  Race conditions:多任务多线程的程序越来越多,在提高运行效率的同时,也要注意Race conditions的问题。比如说:程序A和程序B都按照“读/改/写”的顺序操作一个文件,当A进行完读和改的工作时,B启动立即执行完“读/改/写”的全部工作,这时A继续执行写工作,结果是A的操作没有了表现!入侵者就可能利用这个处理顺序上的漏洞改写某些重要文件从而达到闯入系统的目的,所以,编程人员要注意文件操作的顺序以及锁定等问题。

  2、系统配置不当 

  默认配置的不足:许多系统安装后都有默认的安全配置信息,通常被称为easy to use。但遗憾的是,easy to use还意味着easy to break in。所以,一定对默认配置进行扬弃的工作。

  管理员懒散:懒散的表现之一就是系统安装后保持管理员口令的空值,而且随后不进行修改。要知道,入侵者首先要做的事情就是搜索网络上是否有这样的管理员为空口令的机器。

  临时端口:有时候为了测试之用,管理员会在机器上打开一个临时端口,但测试完后却忘记了禁止它,这样就会给入侵者有洞可寻、有漏可钻。通常的解决策略是:除非一个端口是必须使用的,否则禁止它!一般情况下,安全审计数据包可用于发现这样的端口并通知管理者。

  信任关系:网络间的系统经常建立信任关系以方便资源共享,但这也给入侵者带来借牛打力、间接攻击的可能,例如,只要攻破信任群中的一个机器,就有可能进一步攻击其他的机器。所以,要对信任关系严格审核、确保真正的安全联盟。

  3、口令失窃 

  弱不禁破的口令:就是说虽然设置了口令,但却简单得再简单不过,狡猾的入侵者只需吹灰之力就可破解。

  字典攻击:就是指入侵者使用一个程序,该程序借助一个包含用户名和口令的字典数据库,不断地尝试登录系统,直到成功进入。毋庸置疑,这种方式的关键在于有一个好的字典。

  暴力攻击:与字典攻击类似,但这个字典却是动态的,就是说,字典包含了所有可能的字符组合。例如,一个包含大小写的4字符口令大约有50万个组合,1个包含大小写且标点符号的7字符口令大约有10万亿组合。对于后者,一般的计算机要花费大约几个月的时间才能试验一遍。看到了长口令的好处了吧,真正是一两拨千斤啊!

  4、嗅探未加密通讯数据 

  共享介质:传统的以太网结构很便于入侵者在网络上放置一个嗅探器就可以查看该网段上的通讯数据,但是如果采用交换型以太网结构,嗅探行为将变得非常困难。

  服务器嗅探:交换型网络也有一个明显的不足,入侵者可以在服务器上特别是充当路由功能的服务器上安装一个嗅探器软件,然后就可以通过它收集到的信息闯进客户端机器以及信任的机器。例如,虽然不知道用户的口令,但当用户使用Telnet软件登录时就可以嗅探到他输入的口令了。

  远程嗅探:许多设备都具有RMON(Remote monitor,远程监控)功能以便管理者使用公共体字符串(public community strings)进行远程调试。随着宽带的不断普及,入侵者对这个后门越来越感兴趣了。

  5、TCP/IP初始设计存在缺陷 

  即使软件编写不出现bug,程序执行时也按照正确的步骤进行,但初始设计存在缺陷仍会导致入侵者的攻击。TCP/IP协议现在已经广为应用、大行其道了,但是它却是在入侵者猖狂肆虐的今天之很早以前设计出来的。因此,存在许多不足造成安全漏洞在所难免,例如smurf攻击、ICMP Unreachable数据包断开、IP地址欺骗以及SYN湮没。然而,最大的问题在于IP协议是非常容易“轻信”的,就是说入侵者可以随意地伪造及修改IP数据包而不被发现。幸好,大救星Ipsec协议已经开发出来以克服这个不足。

  问:入侵者如何获取口令?

  1、监听明文口令信息 

  大量的通讯协议比如Telnet、Ftp、基本HTTP都使用明文口令,这意味着它们在网络上是赤裸裸地以未加密格式传输于服务器端和客户端,而入侵者只需使用协议分析器就能查看到这些信息,从而进一步分析出口令,成为真用户的克隆。

  2、监听加密口令信息 

  当然,更多的通讯协议是使用加密信息传输口令的。这时,入侵者就需要借助字典或者采用暴力攻击法来解密了。注意,我们并不能察觉到入侵者的监听行为,因为他在暗处,是完全被动的,没有发送任何信息到网络上,入侵者的机器仅被用于分析这些口令信息。

  3、重放攻击(Replay attack) 

  这又是一种间接的攻击方式,就是说:入侵者不必对口令进行解密,需要的是重新编写客户端软件以使用加密口令实现系统登录。

  4、窃取口令文件 

  口令文件通常都保存在一个单独的文件中,例如UNIX系统的口令文件是/etc/passwd(也可能是那个文件的镜像),WinNT系统的口令文件是/winnt/system32/config/sam。入侵者一旦获取了口令文件,就可以使用破解程序发现其中的弱口令信息。

  5、观察 

  用户可能由于设置的口令复杂难记而将它写在一张纸上压在键盘下随时查看,或者在输入口令的时候不管身后有没有站着一位“看客”。入侵者的搜索力与记忆力都非常好,这些操作习惯对他们来说简直就是轻松练兵。所以,别忽视入侵者的眼睛!

  6、社会工程 

  前面提到过这个问题,社会工程就是指采用非隐蔽方法盗用非授权帐户进行的非法活动,比如使用其他人的机器、冒充是处长或局长骗取管理员信任得到口令等等。记住:如果有人想要你的口令,无论他说是为了什么,请记住他,一旦发生了关于口令的案件,那个人就是头号嫌疑犯!

  问:典型的入侵场景有哪些?

  所谓入侵场景,就是指入侵者都会从哪些方面采取哪些步骤尝试攻击系统。典型的入侵画面是这样一幕幕展开的:

  1、外部调研 

  知己知彼,百战不殆。入侵者攻击的第一步就是尽一切可能对攻击目标进行调研以获取充足的资料。采取的方法包括:使用whois工具获取网络注册信息;使用nslookup或dig工具搜索DNS表以确定机器名称;搜索关于公司的公开新闻。这一步对于被攻击者是完全不知的。

  2、内部分析 

  确定了攻击目标的基本属性(站点地址、主机名称),入侵者将对它们进行深入剖析。方法有:遍历每个Web页面搜索是否存在CGI漏洞;使用ping工具一一探寻“活”着的机器;对目标机器执行UDP/TCP扫描以发现是否有可用服务。这些行为都属于正常的网络操作,还不能算作入侵行为,但是NIDS系统将能够告诉管理者“有人正在撼动门把手……”

  3、漏洞利用 

  现在到了开始动手的时候了!破坏花样实在繁多,在此择优列举如下:通过在输入项目中写入壳命令字符串(shell command)来考验CGI脚本的安全性;通过发送大量数据以确定是否存在臭名昭著的缓冲区溢出漏洞;尝试使用简单口令破解登录障碍。当然,混合使用多种方式是攻占成功的不二法门。

  4、站稳脚跟 

  对于入侵者而言,一旦成功地入侵了网络中的一台机器,就可以说是站稳脚跟了。入侵者现在要做的就是隐藏入侵痕迹并制造日后再攻的后门,这就需要对日志文件或其他系统文件进行改造,或者安装上木马程序、或者替换系统文件为后门程序。这时,SIV(系统完整性检测)系统会注意到这些文件的变化。由于内部网络中的安全措施通常都比较少,进一步地,入侵者将以这第一台机器作为跳板,攻击网络中的其他机器,寻找下一个安身之家。

  5、享受成果 

  到此,入侵者可以说是完成了攻击任务,剩下的就是享受成果了:或者对窃取的秘密文件肆意使用、或者滥用系统资源、或者篡改Web页面内容,甚至将你的机器作为跳板攻击其他机器。

  以上讨论是的有目的入侵者的通常行为。还有一种入侵场景通常被称为“birthday attack”,我想其含义是模拟生日时接收到许多熟人或者未知朋友的礼物吧,不过用在这里还要在礼物前加上“攻击”两字了。Birthday attack的一般步骤是:随机搜索一个Internet地址;搜索其上是否有指定的漏洞;如果有,根据已知的漏洞利用方法进行攻击。

(0)

相关推荐

  • 安全防护-入侵检测实战之全面问答

    在网络安全领域,随着黑客应用技术的不断"傻瓜化",入侵检测系统IDS的地位正在逐渐增加.一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念.行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS. 问:都有哪些重要的IDS系统?  根据监测对象不同,IDS系统分为很多种,以下是几种很重要的IDS系统: 1.NIDS  NIDS是network intrusion detection system的缩写,即网络入

  • 入侵检测及网络安全发展技术探讨

    随着网络安全风险系数不断提高,曾经作为最主要的安全防范手段的防火墙,已经不能满足人们对网络安全的需求.作为对防火墙及其有益的补充,IDS(入侵检测系统)能够帮助网络系统快速发现攻击的发生,它扩展了系统管理员的安全管理能力(包括安全审计.监视.进攻识别和响应),提高了信息安全基础结构的完整性. 一.入侵检测系统(IDS)诠释 IDS是一种网络安全系统,当有敌人或者恶意用户试图通过Internet进入网络甚至计算机系统时,IDS能够检测出来,并进行报警,通知网络该采取措施进行响应. 在本质上,入侵检

  • Python人脸检测实战之疲劳检测

    目录 使用 OpenCV 构建犯困检测器 测试疲劳检测器 今天我们实现疲劳检测. 如果眼睛已经闭上了一段时间,我们会认为他们开始打瞌睡并发出警报来唤醒他们并引起他们的注意.我们测试一段视频来展示效果.同时代码中保留开启摄像头的的代码,取消注释即可使用. 使用 OpenCV 构建犯困检测器 要开始我们的实现,打开一个新文件,将其命名为 detect_drowsiness.py ,并插入以下代码: # import the necessary packages from scipy.spatial

  • 人脸检测实战终极之OpenCV+Python实现人脸对齐

    目录 前言 实现面部矫正器 导入必要的包 对齐人脸 展示结果 前言 这篇博文的目的是演示如何使用 OpenCV.Python 和面部标志对齐人脸. 给定一组面部标志(输入坐标),我们的目标是将图像扭曲并转换为输出坐标空间. 在这个输出坐标空间中,整个数据集中的所有面都应该: 在图像中居中. 旋转,使眼睛位于水平线上(即,旋转面部,使眼睛位于相同的 y 坐标上). 进行缩放,使面的大小大致相同. 为此,我们将首先调用一个实现的 Python 类FaceAligner ,以使用仿射变换对齐人脸. 注

  • 使用opencv实现车道线检测实战代码

    效果 void lane_detection(cv::Mat &src, cv::Mat &dst) { dst = cv::Mat::zeros(src.size(),src.type()); cv::Mat grid =cv::Mat::zeros(src.size(),src.type()); int iStep = 25; int iNUmsX = src.cols / iStep; int inUmsY = src.rows / iStep; for(int i = 1; i &

  • 记一次成功的sql注入入侵检测附带sql性能优化

    但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序,那么你会非常痛苦,例如我遇到的问题: 问题1. 老板对你说,以前刚做完网站好好了,没有出现木马,怎么你来了,就会出现木马,先别说了,赶紧解决问题,我彻底无语,但是如果争吵,其实证明你和老板一样无知,拿出证据和事实分析来让公司其他稍微懂技术的一起来证明,公司网站被挂马不是你来了的错. 如是我通过网站目录仔细排查将通过fck上传的网马删除并修补fck的上传漏洞并记下了这篇 Fckeditor使用笔记 ,

  • 利用Catalyst交换机处理蠕虫病毒的入侵

    互联网蠕虫的泛滥在最近几年造成了巨大的损失,让很多服务运营商和企业网络的管理员甚为头疼的不仅是其不断的发展变种,而且发作造成的损害也越来越严重.尽管蠕虫本身通常并不破坏任何的数据,但它所带来的直接和间接的破坏使得网络和系统拥塞.受感染的端系统的计算资源会受到严重影响,而病毒的传播则消耗大量的链路带宽,更可怕的是网络基础设备受到影响而造成网络的不稳定甚至瘫痪.以SQL Slammer为例,发生感染传播高峰时造成的平均包丢失率为20%,网络的不稳定引起了银行ATM自动提款机不能工作,航空公司的售票系

  • 堵住黑客非法入侵的11点原则

    目前,市场上的入侵检测产品大大小小有上百家,如何选择适合自己的产品,是一件摆在广大安全管理员和企业技术决策者面前很头痛的事.下面我们就根据产品的综合性能,谈谈采购过程中的基本原则. 1.产品的攻击检测数量为多少?是否支持升级? IDS的主要指标是它能发现的入侵方式的数量,几乎每个星期都有新的漏洞和攻击方法出现,产品的升级方式是否灵活直接影响到它功能的发挥.一个好的实时检测产品应该能经常性升级,并可通过互联网或下载升级包在本地升级. 2.对于网络入侵检测系统,最大可处理流量(PPS)是多少? 首先

  • 一句话木马入侵EASYNEWS新闻管理系统

    实例一:"一句话木马"入侵"EASYNEWS新闻管理系统"      "EASYNEWS新闻管理系统 v1.01 正式版"是在企业网站中非常常见的一套整站模版,在该网站系统的留言本组件中就存在着数据过滤不严漏洞,如果网站是默认路径和默认文件名安装的话,入侵者可以利用该漏洞直接上传ASP木马程序控制整个网站服务器. Step1 搜索入侵目标 使用了"EASYNEWS新闻管理系统 v1.01 正式版"的网站,在网站页面的底部版权声

  • 黑客避开检测的手段

    黑客的聪明并不只是在于他们知道如何去入侵服务器,还在于他们知道如何去伪装自己的攻击.恶意的攻击者会使用多种逃避的手段来让自己不会被检测到,所以作为系统管理员,也应当了解这些手段以应付可能发生的攻击. 这篇文章的主要目的不是揭示黑客新的攻击手法,而是对那些黑客所用到的逃避检测的手法以及他们可能留下的证据做描述.这些手段的欺骗性很大,所以想检测到它们也更加的困难. 网络服务器 我们的实验环境使用两种最常用的网络服务器,Apache和微软的Internet Information Server(I

随机推荐