安基网 首页 安全 安全学院 查看内容

网络与信息安全面试,这些知识你都懂了吗?

2019-4-26 13:04| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 5.1 网络攻击概述随着互联网及应用的快速发展,以攻击系统为主转变为以攻击网络为主。分析和掌握网络攻击活动的方式、方法和途径,对加强网络安全、预防网络犯罪有重要意义。攻击表现:获取用户的账号和密码、系统漏 ...

5.1 网络攻击概述

随着互联网及应用的快速发展,以攻击系统为主转变为以攻击网络为主。

分析和掌握网络攻击活动的方式、方法和途径,对加强网络安全、预防网络犯罪有重要意义。

攻击表现:获取用户的账号和密码、系统漏洞攻击、破解口令、攻击认证协议、实施木马攻击和拒绝服务攻击。

5.1.1 网络攻击的分类

网络攻击的种类、途径和方式各种各样,但都是以破坏网络系统的可用性、窃取机密信息为目的。

对网络的攻击者:黑客(Hacker)、间谍、恐怖主义者、公司职员、职业犯罪分子和其他破坏者,其中威胁最大的是黑客。

攻击者的动机:挑战网络安全技术、获取访问权限、窃取政治经济情报信息、制造恐怖、恶性商业竞争、经济利益驱动和报复等。

攻击分为主动攻击和被动攻击。

主动攻击是攻击者对传输中的信息或存储的信息进行各种非法处理,有选择地篡改、插入、延迟、删除或复制这些信息。

主动攻击的破坏力很大,能直接威胁网络系统的可靠性、信息的机密性、完整性和可用性。主动攻击虽较容易被检测到,但难于防范。

被动攻击是攻击者通过监听网络线路上的信息流获得信息内容,或获得信息的长度、传输频率等特征,并进行信息流量分析后实施攻击。

被动攻击的特点是:不干扰信息的正常传输,不易被检测到,容易防范,但它破坏信息的机密性。

对信息通信的4种攻击方式:

中断:是指攻击者使系统的资源受损或不可用,从而使系统的通信服务不能进行,属于主动攻击行为。

截获:是指攻击者非法获得对一个资源的访问,并从中窃取有用的信息或服务,属于被动攻击行为。

篡改:是指攻击者未经授权访问并改动了资源,从而使合法用户得到虚假的信息或错误的服务等,属于主动攻击行为。

伪造:是指攻击者未经许可而在系统中制造出假的信息源、信息或服务,欺骗接收者,属于主动攻击行为。

5.1.2 网络攻击的种类与方法

1.窃取口令

窃取口令是黑客实施网络攻击,窃取用户机密信息的最常用的方法。

窃取方法:

1)通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大。

2)暴力破解。

3)获得一个服务器上的用户口令文件后,用暴力破解程序破解用户口令,前提是黑客获得口令的Shadow文件。

2.植入木马

当用户连接互联网网时,木马就通知黑客,并将用户的IP地址以及预先设定的端口等信息传送出去。黑客收到这些信息后,利用潜伏在用户端的木马程序,控制用户端机任意修改用户的参数、复制文件、窥视用户硬盘中的内容等。

3.WWW欺骗

黑客将用户要浏览的网页URL,改写为指向黑客服务器的URL,当用户浏览目标网页时,实际上是向黑客服务器发出请求,窃取用户的账号和口令。

4.电子邮件攻击

“邮件炸弹”指用伪造的IP地址和电子邮件地址向同一信箱发送数以万计内容相同的垃圾邮件,致使受害人邮箱溢出或者瘫痪。

5.通过一个节点攻击其他节点

这种攻击技术含量相对较高,黑客在攻破一台主机后,以此机作为“肉机”,攻击网络中其他的主机。

6.网络监听

网络监听是主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息。若两台主机的通信没有加密,则通过网络监听工具如:NetXray 、sniffit等,可截取口令和帐号等机密信息。

7.利用系统漏洞

网络中所有系统都存在一些安全漏洞(也称:Bugs)。这些漏洞在补丁未打之前,往往成为黑客实施攻击的途径,除非断开网线。

5.1.3 网络攻击的新趋势

1.自动化程度和攻击速度提高

一方面,攻击工具的自动化水平不断提高。另一方面,扫描工具采用更先进的扫描模式,提高扫描速度。如:安全漏洞以前只在扫描后才被利用,而现在攻击工具可把利用安全漏洞和扫描同时进行,加快了攻击速度。

2.攻击工具越来越复杂

新的攻击工具难发现、难被检测,具有反侦破、动态行为、更加成熟、跨平台等特点。

3.探测安全漏洞越来越快

据统计,现在新发现的安全漏洞每年增加一倍,且每年都会出现新的安全漏洞,人们不断地打补丁,但入侵者有时会在厂商发布补丁之前就发现这些漏洞。

4.防火墙渗透率越来越高

防火墙是目前人们防范入侵的主要保护措施,也是网络系统的第一道防线。但是现在仍有越来越多的攻击可绕过防火墙。如:IPP(Internet Printing Protocol)因特网打印协议.

5.对基础设施攻击

基础设施指Internet系统的基本组成部分,包括:群集服务器子系统、存储器子系统、网络通信系统、用户端子系统等,对基础设施的攻击往往破坏性和影响更大。如:DDOS攻击、蠕虫攻击、DNS攻击和路由器攻击等。

5.2 网络攻击过程

一次完整的网络攻击包括:准备、实施和善后三个阶段。

5.2.1 攻击准备阶段

攻击来源于两种:一是来自内部人员的内部攻击,二是来自外部人员的远程攻击。

1.确定攻击目标和目的

2.信息收集

确定攻击目标之后,开始收集尽可能多的有关攻击目标的信息。这些信息包括:目标的操作系统类型及版本、目标提供哪些服务、各服务的类型、版本以及相关的社会信息。

1)攻击者收集目标信息的步骤

1)找到初始信息,如:一个IP地址或一个域名;

2)找到网络地址范围,或者子网掩码;

3)找到活动主机;

4)找到开放端口;

5)弄清操作系统;

6)弄清每个端口运行的服务;

7)画出网络结构图。

2)收集操作系统信息

(1)通过服务器上的显示信息

(2)通过TCP/IP堆栈

远程向目标发送特殊包,然后通过返回包,确定操作系统类型。如:通过向目标主机的一个开放端口发送一个Fin包,然后等待回应,如:windows操作系统就会返回一个RESET。

3)收集服务信息

一种服务通常对应一个端口,如:Telnet在23端口,FTP在21端口,WWW在80端口等。攻击是针对某一服务(即一个开放的端口)的。管理员可根据具体情况修改服务所监听的端口号。

另外,收集社会信息。如:网站所属公司的名称、规模、网络管理员的生活习惯、电话号码等,这些信息似乎与攻击无关,但实际上,黑客往往是用这类信息攻破网站的。

5.2.2 攻击实施阶段

1.获得权限

1)破坏性攻击,只需利用一些软件工具发动攻击。

2)入侵性攻击,要利用收集到的信息,找到系统漏洞,然后利用漏洞获取权限。作为一次完整的攻击,黑客总是试图获得系统用户的最高权限。漏洞包括:软件漏洞和配置造成的漏洞。(举例)

2.扩大权限

实际中,黑客先利用远程漏洞获得普通用户的权限,然后,再在系统上执行利用本地漏洞的程序或木马欺骗程序窃取管理员密码,获得最高管理权限。

5.2.3 攻击善后阶段

因为所有的网络操作系统都有日志记录功能,会把系统上发生的动作记录下来。所以,攻击者完成攻击后不会立刻离开系统,而是会做一些善后的工作,防止其行踪被发现。

1.修改或删除日志

日志文件存放的位置:/Var/adm,/etc。日志文件:

pacct-一记录每个用户使用的命令。

lastlog――记录最近的Login记录和用户的最初目的地。

utmp――记录当前登录到系统中的所有用户。

wtmp――记录用户登录和退出事件。

Syslog――重要日志文件,使用syslogd守护程序获得。

2.隐藏入侵踪迹

攻击者在获得系统最高管理权限之后,可任意修改系统文件,包括日志文件。所以,黑客会通过对日志进行修改,甚至删除日志文件,以隐藏自己的踪迹。

较好的方法是:只修改日志文件中有关黑客行为的那一部分。即清除utmp、wtmp、Lastlog和Pacct等日志文件中黑客的信息。

3.留后门

黑客在攻入系统后,会多次进入系统,并留下后门。

(1)密码破解后门

(2) Rhosts++后门 (Windows XP系统不存在此后门)

(3)“校验和”及“时间戳”后门

(4)Login后门


5.3 缓冲区溢出攻击与防范

5.3.1 缓冲区溢出

缓冲区溢出(Buffer Overflow)是一种常见的安全漏洞,在各种操作系统及应用软件中都存在。

攻击过程:向程序的缓冲区写入超出其长度的字串,造成缓冲区的溢出,将恶意代码插入其中,并让这段恶意代码执行。

据统计,通过缓冲区溢出漏洞进行的攻击,占所有系统攻击总数的80%以上。

1、缓冲区溢出的原因

某些程序没有检查用户输入参数的功能,当把超过缓冲区长度的字符串输入缓冲区时,就造成缓冲区的溢出。

缓冲区溢出的结果:

1)过长的字符串覆盖相邻的存储单元引起程序运行失败,导致系统崩溃;

2)堆栈的破坏,造成程序执行任意指令。例:

void function(char *str) {

char buffer[16];

strcpy(buffer,str);

}

2、堆溢出和栈溢出

在C语言中,堆空间是指程序使用动态分配函数malloc、calloc、realloc分配的空间。而栈空间是程序为在代码中声明的变量而分配的空间。(栈溢出举例,画图)

栈中程序保存着函数调用的返回地址,黑客覆盖掉函数返回地址,将自己的代码开始处作为函数返回点,则程序将跳到黑客安排的代码开始处执行,即执行了恶意代码。

5.3.2 缓冲区溢出攻击

攻击者一是在程序的地址空间里植入代码;二是通过初始化寄存器和存储器,让程序跳转到安排好的地址空间去执行。

1、在程序地址空间输入代码

1)植入法

攻击者向程序输入一个字符串,程序把这个字符串存到缓冲区里。攻击者利用缓冲区存放攻击代码,有两种方式:

a)攻击者找到足够的空间放置攻击代码;

b)在栈(自动变量)、堆(动态分配)和静态数据区等空间找缓冲区。

2)用已存在的代码

2、控制程序转去执行攻击代码

在缓冲区溢出攻击中,攻击者改变程序的执行流程,使之跳转到攻击代码。通过溢出一个缓冲区,改写相邻的程序空间而直接跳过系统对攻击者的验证。

控制程序转到攻击代码的方法:

1)激活纪录(Activation Records)

当一个函数调用发生时,调用者会在堆栈中留下一个激活纪录,它包含了函数结束时返回的地址。攻击者通过溢出,使这个返回地址指向攻击代码,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这是一种常见的缓冲区溢出攻击。

2)函数指针(Function Pointers)

函数指针用于定位地址空间,如:“void(* foo)”就是声明一个返回值为void函数指针的变量foo,攻击者在函数指针附近找一个缓冲区,然后溢出这个缓冲区,改变函数的指针,当程序通过函数指针调用函数时,程序的流程就按攻击者的意图发生了改变。

3)长跳转缓冲区(Long jump buffers)

C语言中有一个“longjmp(buffer)”指令,当攻击者进入缓冲区空间时,“longjmp(buffer)”实际上是跳转到攻击代码。像函数指针一样,longjmp缓冲区能够指向任何地方,攻击者只要找一个可供溢出的缓冲区即可。如:Perl 5.003攻击。在这种攻击中,攻击者首先进入longjmp缓冲区,然后按照恢复模式,使得Perl的解释器跳转到攻击代码。

4)新的缓冲区溢出攻击方法

即在引发缓冲区溢出改变激活纪录的同时植入代码。攻击者可先在一个缓冲区内放置代码,这时并没有溢出缓冲区,然后,攻击者通过溢出另外一个缓冲区来转移程序的指针,去执行攻击代码。

5.3.3 缓冲区溢出攻击的防范

1.编写正确的程序代码

1)要进行数组边界检查

2)要检查源代码中的库调用

3)要使用安全的函数库

2.采用非执行的缓冲区技术

把程序的数据段地址空间设定为不可执行,使得攻击者无法执行植入缓冲区的代码。

3.执行程序指针完整性检查

在程序指针被引用之前,检查函数活动纪录中的返回地址,防止程序指针被改变。

4.打安全补丁


5.4 拒绝服务攻击与防范

5.4.1 产生原因

拒绝服务(Denial Of Service,简称DOS)攻击指系统不能为授权用户提供正常服务。这种攻击造成网络系统服务质量(Qos)下降,甚至不能提供服务,可用性降低。

服务资源包括:网络带宽、文件系统容量、开放的进程或网络连接数等,DOS攻击将导致这些资源逐渐匮乏。

在DOS攻击中,黑客利用大量捕获的傀儡机发起规模化的攻击,即成千上万傀儡组成“僵尸网络”实施攻击,造成系统拒绝服务。

DOS产生的原因主要有:

1)资源毁坏。 2)资源耗尽和资源过载。

3)配置错误。 4)软件漏洞。

5.


小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6683653780405223950/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

 最新
返回顶部