怎么看电脑是不是被黑客入侵_黑客入侵别人电脑如何追踪
文章栏目:
怎样发现黑客入侵对于追踪很重要
如果当你受到黑客攻击之后,都很想搞清楚自哪里,是什么人在攻击自己,这样我们就可以有针对性的进行黑客的防范工作。那么如何才能作到这一点呢?这就需要我们对黑客进行追踪,并把黑客的老底给“掏”出来,这其中有很多门道,实现起来也有一定的难度。本章针对普通用户的防黑需求介绍了从发现黑客入侵到追踪黑客的各种方法,目的是让读者读完本章之后对追踪黑客的技术有个大致的了解,读完本章之后,你会发现追踪黑客是很吸引人的事情。
如何发现黑客入侵
及时发现黑客入侵对于能否成功地进行追踪是至关重要的,但很多的黑客入侵事件并不为人们所知,因为黑客入侵有时持续的时间很短,在人们还没有发觉的时候攻击就已经结束了。而且比较高明的黑客在入侵完成后还要隐藏或删除自己入侵的痕迹,所以如果发现得晚,黑客可能把一些日志等相关的文档删掉了,给追踪带来很大的难度。
本文中首先以CA的eTrust
Intrusion
Detection(入侵检测系统)为例,介绍关于专业入侵检测系统的知识,然后再介绍没有入侵检测系统的时候如何来发现黑客入侵。
如何进行入侵追踪?
谈到入侵检测系统的响应模块,人们经常会提出一个有趣的问题,那就是入侵的追踪。攻击者为了避免身份的暴露,惯用的手法是首先攻破一个系统,然后使用网络跳转(HOP)的办法利用它作为平台来攻击另一个系统,很多情况下甚至经过多次跳转才到达真正的攻击目标。这种情况下,无论是目标系统的安全管理员,还是政府的安全部门,都希望能够追查到攻击者的真实来源,为入侵行为责任的判定提供保证。
给定一系列的主机H1,H2,…,Hn(n2),当攻击者顺序从Hi连接到Hi+1(i=1,2,…,n-1),我们称 H1,H2,…,Hn 为一个连接链(connection chain),追踪的任务就是给定Hn,要找出Hn-1,…,H1的部分或全部。追踪入侵者是一项艰巨的任务,由于目前Internet所采用的协议本身(IPv4)没有考虑到身份认证等问题,并且在实际工作中不同的网络处在不同的管理之下,要做到及时的追踪是很困难的。从技术上讲目前还没有很好的解决这个问题,但是已经有了若干研究成果。
作为一种网络安全机制,入侵追踪应该建立在网络资源的相互信任的基础上,应该具有抵抗攻击的健壮性。由于网络的特点,追踪必然是一个分布式的,需要多节点的有效协调的体系。现在的网络入侵是发生在网络上,入侵过程需要的时间可能非常短,这就要求追踪必须是高效的和准确的。并且,追踪系统应该能够以最小的代价提供一个快速的响应机制。
一般的说,目前的追踪方法可以分为两个大的种类,基于主机的和基于网络的,其中每一种又可以分为主动式的和被动式的,下表根据这种分类给出了一些追踪系统的例子:
DIDS是UC Davis开发的一种分布式入侵检测系统,这种系统提供了一种基于主机的追踪机制,凡是在DIDS监测下的主机都能够记录用户的活动,并且将记录发往一个中心计算节点进行分析,因此DIDS具有在自己监测网络下的入侵追踪能力,但是在Internet范围内大规模的部署这样的检测系统是不现实的,尤其是这套系统需要一个中心控制节点。
CIS(Caller Identification System)是另一种基于主机的追踪系统,它使用了真正的分布模型来代替DIDS的中心控制机制,每一个主机都保留了一个连接链的记录,例如当用户从n-1个节点要登录到第n个节点的时候,第n个节点要向节点n-1 询问该用户的连接链,然后向n-2,…,1节点询问连接链,只有当所有的信息都匹配的时候,用户才能登录到主机n,很显然这种追踪方式大大加重了网络和系统的负担。
Caller ID是一种很有趣的基于主机的追踪方式,据说这种方式是美国空军采用的,这种方法其实就是采用黑客手段沿着连接链对各个主机进行攻击,如果攻击者沿着H0,H1,…,Hn这样的连接链最终登录到Hn,那么H1,…,Hn-1这些主机很可能都具有某种安全漏洞,这样高级安全专家也有很大的机会可以攻击这些系统,最终回溯到H0。当然这种方式只能被军方这样拥有强大技术力量和法律授权的单位采用。
基于主机的追踪体系最大的问题是它的信任模型,它必须信任追踪系统中的每一个节点,如果其中某个节点被成功的攻击而向别的节点提供错误的信息,那么整个系统都会失效,并且可能产生戏剧性的效果。由于这种方法要求大规模的部署追踪系统,在Internet上是无法实现的。
基于网络的追踪既不要求每一个被监视节点的参与,也不基于对每个节点的信任,因此具有某些很好的特性。这种方法基于网络本身的特性,例如当数据在连接链中流动的时候,应用层的数据基本是不变的。利用这种特性thumbprint技术对应用层数据进行摘要,摘要可能采用了某种Hash算法,算法保证了这样的摘要可以唯一的区分不同的连接,并且可以根据摘要有效的进行追踪。但是当应用层数据发生微小的变动时就可能使这种方法失效。
为了克服这个缺点产生了其他一些方法,例如Time-based系统使用连接的时间特性来区分各个连接,deviation-based方法定义两次TCP连接之间最小的延迟作为“deviation”,这些方法都有其优点,但是都难以在Internet上大规模部署。上面的方法都属于被动式的追踪方法,这一类方法有一个共同的缺点就是计算复杂,不管采用其中哪种办法都涉及到大量的计算,考虑到现在网络的速度,大规模的采用其中任何一种方法都是不可能的。
目前看来,对于Internet环境来说,主动式的追踪方法具有很好的特点,它并不需要对每一个包计算,然后进行比较。这方面的研究很多都要涉及到信息隐藏技术。例如针对http协议,在返回的http报文中加入用户不易察觉,并且具有特殊标记的内容,在网络中检测这些特殊标记,还可以利用java,cookie等技术在用户机器上留下某种标记,目前主动式的追踪技术在国外已经有了一些实用化的工具,但是基本上还处于保密研究的阶段。
遭受黑客攻击后怎样查询被攻击了
安全总是相对的,再安全的服务器也有可能遭受到攻击。作为一个安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时,在系统遭受攻击后能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响。
一、处理服务器遭受攻击的一般思路
系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路。
1.切断网络
所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护服务器所在网络的其他主机。
2.查找攻击源
可以通过分析系统日志或登录日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并通过这些进程分析哪些是可疑的程序。这个过程要根据经验和综合判断能力进行追查和分析。下面的章节会详细介绍这个过程的处理思路。
3.分析入侵原因和途径
既然系统遭到入侵,那么原因是多方面的,可能是系统漏洞,也可能是程序漏洞,一定要查清楚是哪个原因导致的,并且还要查清楚遭到攻击的途径,找到攻击源,因为只有知道了遭受攻击的原因和途径,才能删除攻击源同时进行漏洞的修复。
4.备份用户数据
在服务器遭受攻击后,需要立刻备份服务器上的用户数据,同时也要查看这些数据中是否隐藏着攻击源。如果攻击源在用户数据中,一定要彻底删除,然后将用户数据备份到一个安全的地方。
5.重新安装系统
永远不要认为自己能彻底清除攻击源,因为没有人能比黑客更了解攻击程序,在服务器遭到攻击后,最安全也最简单的方法就是重新安装系统,因为大部分攻击程序都会依附在系统文件或者内核中,所以重新安装系统才能彻底清除攻击源。
6.修复程序或系统漏洞
在发现系统漏洞或者应用程序漏洞后,首先要做的就是修复系统漏洞或者更改程序bug,因为只有将程序的漏洞修复完毕才能正式在服务器上运行。
7.恢复数据和连接网络
将备份的数据重新复制到新安装的服务器上,然后开启服务,最后将服务器开启网络连接,对外提供服务。
二、检查并锁定可疑用户
当发现服务器遭受攻击后,首先要切断网络连接,但是在有些情况下,比如无法马上切断网络连接时,就必须登录系统查看是否有可疑用户,如果有可疑用户登录了系统,那么需要马上将这个用户锁定,然后中断此用户的远程连接。
1.登录系统查看可疑用户
通过root用户登录,然后执行“w”命令即可列出所有登录过系统的用户,如下图所示。
通过这个输出可以检查是否有可疑或者不熟悉的用户登录,同时还可以根据用户名以及用户登录的源地址和它们正在运行的进程来判断他们是否为非法用户。
2.锁定可疑用户
一旦发现可疑用户,就要马上将其锁定,例如上面执行“w”命令后发现nobody用户应该是个可疑用户(因为nobody默认情况下是没有登录权限的),于是首先锁定此用户,执行如下操作:
[root@server ~]# passwd -l nobody锁定之后,有可能此用户还处于登录状态,于是还要将此用户踢下线,根据上面“w”命令的输出,即可获得此用户登录进行的pid值,操作如下:
[root@server ~]# ps -ef|grep @pts/3 531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3 [root@server ~]# kill -9 6051这样就将可疑用户nobody从线上踢下去了。如果此用户再次试图登录它已经无法登录了。
3.通过last命令查看用户登录事件
last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于/var/log/wtmp文件,稍有经验的入侵者都会删掉/var/log/wtmp以清除自己行踪,但是还是会露出蛛丝马迹在此文件中的。
三、查看系统日志
查看系统日志是查找攻击源最好的方法,可查的系统日志有/var/log/messages、/var/log/secure等,这两个日志文件可以记录软件的运行状态以及远程用户的登录状态,还可以查看每个用户目录下的.bash_history文件,特别是/root目录下的.bash_history文件,这个文件中记录着用户执行的所有历史命令。
四、检查并关闭系统可疑进程
检查可疑进程的命令很多,例如ps、top等,但是有时候只知道进程的名称无法得知路径