1.1 认识黑客
黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的计算机专家,尤其是程序设计人员。互联网、UNIX、Linux都是黑客智慧的结晶。有人说:是黑客成就了互联网,成就了个人计算机,成就了自由软件,黑客是计算机和互联网革命真正的英雄和主角。但到了今天,黑客一词已被用于泛指那些专门利用计算机搞破坏或恶作剧的“家伙”。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
1.1.1 黑客的过去、现在与未来
所谓的黑客最早始于20世纪50年代,最早的计算机于1946年在宾夕法尼亚大学出现,而最早的黑客出现于麻省理工学院,包括贝尔实验室都有,最初的活动参与者一般都是一些高级的技术人员,“越南战争”包括苹果公司的创始人乔布斯。当时他们提出一个口号,计算机为人民所用,COMPUTER FOREVERY PEOPLE!为什么这样说呢?因为那时大部分计算机都是大型计算机,只有大型公司、国家政府才有可能用得起。他们觉得计算机作为未来的一种重要的工具,应该为每一个人每一个家庭所用,所以提出了这样的口号。在这样的大环境和文化背景下,才出现了个人PC。
在国内,从1999年开始,黑客这个词才开始频繁地出现在国内的媒体上。
在给黑客下定义时,已经把黑客看成是一群人,他们具有几个特征,年轻化、男性化。一种类型是传统型的黑客,就像前面所定义的那样,他们进入别人的计算机系统后并不会进行破坏性的行为,而是告诉你的密码不安全,不会破坏你的信息,原有的东西都会保留而不会改动;另一种类型是,他们发现你的安全漏洞,并且利用这些漏洞破坏你的网站,让你出洋相,这些人就成了骇客,即Cracker,总之,只要是带有破坏性目的或有恶意的人,如果掌握你的信息后,向你要钱,如果不给他钱,就要把那些信息公布出来,这都是骇客;还有一种类型是被很多国人称作朋客的人,即恶作剧者,他们未必具有很高的技术,但有老顽童周伯通的心理,老是喜欢跟你开玩笑,通常用一些简单的攻击手段去搞一搞BBS、聊天室之类的。所以,我们把这些人分为传统的网络黑客、网络骇客及网络朋客。
黑客的手段一直以来都是令人畏惧的存在。他们可以窃听电话、入侵计算机,在各种网站如入无人之境。在云时代,由于更多的企业选择将数据上传至云端,采用公有云进行业务处理的企业也越来越多,黑客的存在成为云服务提供商最为头疼的安全问题之一。
物联网时代下,黑客可选择的攻击手段变得更多,用户的家居设备、企业的智能终端、探测仪器、测试数据甚至连WiFi都可能成为黑客入侵的项目。黑客一旦入侵导致信息泄露,可能造成的损失将会是无法估量的。
在人工智能方面,黑客入侵的结果将会是更为致命的。以目前的科技发展来看,黑客入侵机器人所在系统已经只是时间问题,而其所产生的后果无论如何都是无法接受的。相对而言,黑客入侵都只是图财,很少有为了害命的。
1.1.2 黑客基础术语
网络安全中常会遇见肉鸡、后门之类的黑客词语,这些词语并非原本的含义而是由原本含义引申出的其他含义。常用术语及含义解释如下。
• 肉鸡
所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的计算机,对方可以是Windows系统,也可以是UNIX/Linux系统,可以是普通的个人计算机,也可以是大型的服务器,我们可以像操作自己的计算机那样来操作它们,而不被对方所发觉。
• 木马
木马就是那些表面上伪装成了正常的程序,但是当这些程序被运行时,就会获取系统的整个控制权限。有很多黑客就是热衷于使用木马程序来控制别人的计算机,比如灰鸽子、黑洞、PcShare等。
• 网页木马
网页木马是表面上伪装成普通的网页文件或是将恶意的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或浏览器的漏洞自动将配置好的木马的服务端下载到访问者的计算机上来自动执行。
• 挂马
挂马就是在别人的网站文件里面放入网页木马或是将代码嵌入到对方正常的网页文件里,以使浏览者中马。
• 后门
后门是一种形象的比喻,入侵者在利用某些方法成功地控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是入侵者却可以使用相应的程序或方法来轻易地与这台计算机建立连接,重新控制这台计算机,就好像是入侵者偷偷地配了一把主人房间的钥匙,可以随时进出而不被主人发现一样。
• rootkit
rootkit是攻击者用来隐藏自己的行踪和保留Root(根权限,可以理解成Windows下的System或管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得Root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过对方系统内存在的安全漏洞获得系统的Root权限。然后,攻击者就会在对方的系统中安装Rootkit,以达到自己长久控制对方的目的。Rootkit与我们前边提到的木马和后门很类似,但远比它们要隐蔽,黑客守卫者就是很典型的Rootkit,还有国内的Ntroorkit等。
• IPC$
IPC$是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
• 弱口令
弱口令指那些强度不够,容易被猜解的,类似123、abc这样的口令(密码)。
• 默认共享
默认共享是Windows XP/2000/2003系统开启共享服务时自动开启所有硬盘的共享,因为加了“$”符号,所以看不到共享的“托手”图标,也称为隐藏共享。
• Shell
Shell指的是一种命令执行环境,如我们按键盘上的“Win”+“R”组合键时出现“运行”对话框,在里面输入“cmd”会出现一个用于执行命令的黑窗口,这就是Windows的Shell执行环境。通常我们使用远程溢出程序成功溢出远程计算机后得到的那个用于执行系统命令的环境就是对方的Shell。
• Webshell
Webshell就是以ASP、PHP、JSP或CGI等网页文件形式存在的一种命令执行环境,也可以将其称作是一种网页后门。黑客在攻击了一个网站后,通常会将这些ASP或PHP后门文件与网站服务器WEB目录下正常的网页文件混在一起,以后就可以使用浏览器来访问这些ASP或PHP后门,得到一个命令执行环境,以达到控制网站服务器的目的,可以上传/下载文件、查看数据库、执行任意程序命令等。国内常用的Webshell有海阳ASP木马、Phpspy、c99shell等。
• 溢出
确切地讲,应该是“缓冲区溢出”。简单的解释就是程序对接收的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或是执行攻击者的命令。大致可以分为两类:堆溢出和栈溢出。
• 注入
随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越多,但是由于程序员的水平参差不齐,相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知道的数据,这就是所谓的SQLinjection,即SQL注入。
• 注入点
注入点是可以实行注入的地方,通常是一个访问数据库的连接。根据注入点数据库的运行账号的权限不同,所得到的权限也不同。
• 内网
内网通俗地讲就是局域网,如网吧、校园网和公司内部网等都属于此类。查看IP地址如果是在以下3个范围之内,就说明我们是处于内网之中的:10.0.0.0~10.255.255.255,172.16.0.0~172.31.255.255,192.168.0.0~192.168.255.255。
• 外网
外网,也叫互联网。从范围上来讲,是指全球性的互联网络。如在中国用计算机上网,连接访问美国的微软官网,就需要通过外网连接才能访问。外网IP地址是可以进行全球连接的。
• 端口
端口相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务,而计算机将这些数据处理后,再将相应的恢复通过开启的端口传给对方。一般每一个端口的开放都对应了相应的服务,要关闭这些端口只需将对应的服务关闭就可以了。
• 免杀
免杀就是通过加壳、加密、修改特征码和加花指令等技术来修改程序,使其逃过杀毒软件的查杀。
• 加壳
加壳就是利用特殊的算法,将EXE可执行程序或DLL动态链接库文件的编码进行改变(如实现压缩、加密),以达到缩小文件体积或加密程序编码,甚至是躲过杀毒软件查杀的目的。目前较常用的壳有UPX、ASPack、PePack、PECompact、UPack、免疫007、木马彩衣等。
• 花指令
花指令就是几句汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常地判断病毒文件的构造。说通俗点就是“杀毒软件是从头到脚按顺序来查找病毒,如果我们把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了”。
1.1.3 常见的黑客攻击目标
黑客攻击目标是网络资源,黑客的攻击手段和攻击目标息息相关,网络资源主要包括信息资源、硬件资源和链路带宽。
一、信息资源
信息资源包括存储在主机系统中的信息、传输过程中的信息和转发结点正常工作需要的控制信息,如存储在主机系统中的文本文件、数据库和可执行程序等,路由器的路由表、访问控制列表、交换机的转发表等。黑客对于信息资源的攻击有两类:一类是窃取网络中的信息,如用户私密信息(账户和口令)、企业技术资料,甚至有关国家安全的机密信息,为了不引起信息拥有者的警惕,黑客会尽量隐蔽攻击过程,消除窃取信息过程中留下的操作痕迹,这一类攻击一般不会破坏信息,以免引起用户警惕;另一类是破坏网络信息,篡改传输过程中的信息,篡改主机系统中的文件、数据库中的记录及路由表中的路由项等,这一类攻击以破坏信息、瘫痪主机系统和转发结点为目的。随着信息成为重要的战略资源,以信息为目标的攻击成为最常见的黑客攻击。
二、硬件资源
硬件资源包括主机硬件资源和转发结点硬件资源。主机硬件资源有CPU、存储器、硬盘及外设等。转发结点硬件资源有处理器、缓冲器、交换结构等。黑客对于硬件资源的攻击主要表现为过度占用硬件资源,以至于没有提供正常服务所需要的硬件资源,大量地拒绝服务攻击就是针对硬件资源的攻击。例如,SYN泛洪攻击就是通过大量占用主机系统分配给TCP进程的存储器资源,使TCP进程没有存储器资源用于响应正常的TCP连接请求。有的DoS攻击发送大量无用IP分组给路由器,以此占用路由器内部处理器和交换结构资源,使路由器丧失转发正常IP分组所需要的处理能力、缓冲能力和交换能力。
三、链路带宽
链路带宽指信道的通信容量,如l00Mbit/s的以太网链路,表示每秒最多传输l00Mbit二进制数码,黑客通过大量占用信道通信容量使链路丧失传输正常信息流的能力。