b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

网络和信息安全面试复习(5)

电脑杂谈  发布时间:2020-07-03 06:20:15  来源:网络整理

一定程度上能防范缓冲区溢出攻击的措施有哪些_史上 溢出攻击 案例_缓存区溢出攻击实验

随着Internet和应用程序的飞速发展,主要重点是从攻击系统到攻击网络.

分析和掌握网络攻击活动的方法,方法和手段对加强网络安全和预防网络具有重要意义.

攻击性能: 获取用户帐号和密码,系统漏洞攻击,破解密码,攻击认证协议,实施木马攻击和拒绝服务攻击.

网络攻击的类型,方式和方法多种多样,但它们都旨在破坏网络系统的可用性并窃取机密信息.

网络攻击者: 黑客(黑客),,恐怖分子,公司员工,罪犯和其他破坏者,其中威胁最大的是黑客.

攻击者的动机: 挑战网络安全技术,获得访问权限,窃取政治和经济情报,制造恐怖,恶性商业竞争,推动经济利益和.

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

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

主动攻击非常具有破坏性,可以直接威胁网络系统的可靠性,机密性,完整性和信息可用性. 主动攻击比较容易检测,但很难预防.

被动攻击是指攻击者通过侦听网络线路上的信息流来获取信息内容,或者获取信息长度,传输频率等特征,并在分析信息流之后进行攻击.

被动攻击的特征是: 它不干扰信息的正常传输,不容易被检测,并且易于预防,但是破坏了信息的机密性.

对信息通信的四次攻击:

中断: 这意味着攻击者使系统的资源损坏或不可用,从而无法执行系统的通信服务,这是主动攻击.

拦截: 是指攻击者非法获得资源访问权并从中窃取有用的信息或服务,这是一种被动攻击.

篡改: 是指攻击者未经授权访问和修改资源,以使合法用户获得虚假信息或错误服务等,这是主动攻击.

伪造: 这意味着攻击者未经许可在系统中创建伪造的信息源,信息或服务,并欺骗接收者,这是主动攻击.

1. 窃取密码

密码窃取是黑客用来进行网络攻击和窃取用户机密信息的最常用方法.

隐藏方法:

1)通过网络监控非法获取用户密码,这种方法有一定的局限性,但是非常有害.

2)蛮力破解.

3)在服务器上获取用户密码文件后,如果黑客获得了密码的影子文件,请使用蛮力破解程序来破解用户密码.

2. 植入木马

当用户连接到Internet时,木马会通知黑客,并传输用户的IP地址和预设端口以及其他信息. 黑客收到此信息后,便使用隐藏在用户终端中的木马来控制用户终端随意修改用户的参数,复制文件并查看用户硬盘的内容.

3. 万维网欺骗

黑客将用户要浏览的网页URL重写为指向黑客服务器的URL. 当用户浏览目标网页时,他实际上是向黑客服务器发送了一个请求,要求其窃取用户的帐户和密码.

4. 电子邮件攻击

“邮件”是指将具有相同内容的成千上万的垃圾邮件发送到具有伪造IP地址和电子邮件地址的同一邮箱,导致受害者的邮箱溢出或瘫痪.

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

此攻击的内容相对较高. 黑客入侵主机后,黑客将这台机器用作“肉类机器”来攻击网络中的其他主机.

6. 网络监控

网络监视是主机的一种工作模式. 在这种模式下,主机可以接收在该网段的同一物理信道上传输的所有信息. 如果两个主机之间的通信未加密,则可以通过NetXray和sniffit等网络监视工具截获诸如密码和帐号之类的机密信息.

7. 利用系统漏洞

网络中的所有系统都有一些安全漏洞(也称为: 漏洞). 在未打补丁之前,除非断开网络电缆的连接,否则这些漏洞通常成为黑客进行攻击的一种方式.

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

一方面,攻击工具的自动化水平正在不断提高. 另一方面,扫描工具使用更高级的扫描模式来提高扫描速度. 例如,安全漏洞仅在扫描后才使用,但是现在攻击工具可以同时使用安全漏洞和扫描来加快攻击速度.

2. 攻击工具变得越来越复杂

新的攻击工具难以发现和检测,具有反检测,动态行为,更成熟,跨平台等特点.

3. 检测安全漏洞的速度越来越快

根据统计,现在新发现的安全漏洞每年都在增加一倍,并且每年都会出现新的安全漏洞. 人们一直在修补补丁,但是入侵者有时会在供应商发布补丁之前发现这些漏洞.

4. 提高防火墙渗透率

防火墙是当前防止入侵的主要保护措施,也是网络系统的第一道防线. 但是仍然有越来越多的攻击可以绕过防火墙. 如: IPP(Internet打印协议)Internet打印协议.

5. 攻击基础设施

基础结构是指Internet系统的基本组件,包括: 群集服务器子系统,存储子系统,网络通信系统,用户终端系统等. 对基础结构的攻击通常更具破坏性,并且影响更大. 例如: DDOS攻击,蠕虫攻击,DNS攻击和路由器攻击.

完整的网络攻击包括三个阶段: 准备,实施和恢复.

攻击有两种类型: 一种是内部人员的内部攻击,另一种是外部人员的远程攻击.

1. 确定攻击的目标和目的

2. 信息收集

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

一定程度上能防范缓冲区溢出攻击的措施有哪些_缓存区溢出攻击实验_史上 溢出攻击 案例

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

1)查找初始信息,例如: IP地址或域名;

2)查找网络地址范围或子网掩码;

3)查找活动主机;

4)找到打开的端口;

5)了解操作系统;

6)找出每个端口上运行的服务;

7)绘制网络.

2)收集操作系统信息

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

(2)通过TCP / IP堆栈

远程将特殊程序包发送到目标,然后通过返回该程序包确定操作系统类型. 例如,通过将Fin数据包发送到目标主机的开放端口,然后等待响应,例如,Windows操作系统将返回RESET.

3)收集服务信息

服务通常对应于一个端口,例如端口23上的Telnet,端口21上的FTP和端口80上的WWW. 攻击针对的是特定服务(即开放端口). 管理员可以根据具体情况修改服务监控的端口号.

此外,收集社交信息. 例如: 网站所属公司的名称,规模,网络管理员的生活方式,电话号码等. 此信息似乎与攻击无关,但实际上,黑客经常使用此信息破坏网站的信息.

1. 获得许可

1)破坏性攻击,只需使用一些软件工具即可发起攻击.

2)侵入式攻击,使用收集的信息查找系统漏洞,然后使用这些漏洞获取权限. 作为一种完整的攻击,黑客始终试图获得系统用户的最高权限. 漏洞包括: 软件漏洞和配置漏洞. (示例)

2. 扩展权限

在实践中,黑客首先使用远程漏洞获取普通用户的权限,然后执行利用本地漏洞的程序或系统上的Trojan欺骗程序来窃取管理员密码并获得最高的管理权限.

由于所有网络操作系统都具有日志记录功能,因此它们将记录系统上发生的操作. 因此,攻击者不会在完成攻击后立即离开系统,而是会做一些事后护理工作以防止发现他的下落.

1. 修改或删除日志

日志文件的位置: / Var / adm,/ etc. 日志文件:

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

lastlog——记录最新的登录记录和用户的原始目的地.

utmp——记录当前登录系统的所有用户.

wtmp——记录用户的登录和注销事件.

使用syslogd守护程序获取的重要Syslog日志文件.

2. 隐藏入侵的踪迹

获得系统的最高管理权限后,攻击者可以随意修改系统文件,包括日志文件. 因此,黑客将修改日志,甚至删除日志文件以隐藏其踪迹.

更好的方法是仅修改日志文件中有关黑客的部分. 那是为了清除utmp,wtmp,Lastlog和Pacct等日志文件中的黑客信息.

3. 留在后门

入侵系统后,黑客将多次进入系统并留下后门.

(1)密码破解后门

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

(3)“ Checksum”和“ Timestamp”后门

(4)登录后门

缓冲区溢出是各种操作系统和应用程序软件中普遍存在的安全漏洞.

攻击过程: 将长度超过其长度的字符串写入程序缓冲区,导致缓冲区溢出,在其中插入恶意代码,然后执行该恶意代码.

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

1. 缓冲区溢出的原因

某些程序不具有检查用户输入参数的功能. 当超过缓冲区长度的字符串输入缓冲区时,会导致缓冲区溢出.

缓冲区溢出的结果:

1)太长的字符串会覆盖相邻的存储单元,从而导致程序失败并导致系统崩溃;

2)堆栈的破坏导致程序执行任意指令. 示例:

无效函数(char * str){

char缓冲区[16];

strcpy(buffer,str);

}

一定程度上能防范缓冲区溢出攻击的措施有哪些_缓存区溢出攻击实验_史上 溢出攻击 案例

2. 堆溢出和堆栈溢出

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

堆栈中的程序保存函数调用的返回地址. 黑客将覆盖函数返回地址,并将其代码的开头用作函数返回点. 然后,程序将跳转到黑客安排的代码的开头,并执行恶意代码.

第一个攻击者是在程序的地址空间中插入代码;第二个方法是通过初始化寄存器和内存使程序跳转到安排的地址空间中执行.

1. 在程序的地址空间中输入代码

1)植入方法

攻击者在程序中输入一个字符串,程序将该字符串存储在缓冲区中. 攻击者使用缓冲区以两种方式存储攻击代码:

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

b)在堆栈(自动变量),堆(动态分配)和静态数据区域中查找缓冲区.

2)使用现有代码

2. 转移控制程序以执行攻击代码

在缓冲区溢出攻击中,攻击者将程序的执行流更改为跳转到攻击代码. 通过溢出缓冲区,重写相邻程序空间,并直接跳过系统对攻击者的验证.

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

1)激活记录(激活记录)

发生函数调用时,调用者将在堆栈上保留一个激活记录,其中包含在函数末尾返回的地址. 攻击者使用溢出使返回地址指向攻击代码. 函数调用结束后,程序将跳转到攻击者设置的地址,而不是原始地址. 这是常见的缓冲区溢出攻击.

2)功能指针(功能指针)

函数指针用于定位地址空间. 例如: “ void(* foo)”声明一个变量foo,其返回值是一个void函数指针. 攻击者在函数指针附近找到缓冲区,然后使缓冲区溢出. 更改函数指针. 当程序通过函数指针调用该函数时,程序的流程会根据攻击者的意图而改变.

3)跳远缓冲区(跳远缓冲区)

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

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

在缓冲区溢出更改激活记录的同时植入代码. 攻击者可以先将代码放在缓冲区中,并且此时没有溢出缓冲区. 然后,攻击者通过溢出另一个缓冲区来执行攻击代码来转移程序的指针.

1. 编写正确的程序代码

1)检查数组边界

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

3)使用安全的函数库

2. 使用非执行缓冲技术

将程序的数据段的地址空间设置为不可执行,以使攻击者无法执行缓冲区中嵌入的代码.

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

在引用程序指针之前,请检查函数活动记录中的返回地址,以防止更改程序指针.

4. 应用安全补丁

5.4拒绝服务攻击和预防

5.4.1原因

拒绝服务(DOS)攻击意味着系统无法为授权用户提供常规服务. 这种攻击导致网络系统的服务质量(Qos)下降,甚至无法提供服务,并且可用性降低.

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

在DOS攻击中,黑客使用大量捕获的木偶计算机发起攻击,也就是说,成千上万的木偶形成了一个“僵尸网络”来进行攻击,从而导致拒绝服务.

使用DOS的主要原因是:

1)资源被破坏. 2)资源枯竭和资源超载.

3)配置不正确. 4)软件漏洞.

1. TCP SYN Flooding攻击

这是基于TCP协议漏洞的攻击. TCP协议需要“三向握手”来建立连接. 建立每个TCP连接后,必须发送带有SYN标记的数据包. 如果服务器在发送响应数据包后未发送确认,则服务器将保留大量的消息. 这种“半连接”占用的资源有限,并耗尽了服务器端的TCP资源. 结果,无法进入正常连接,系统拒绝服务.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-266653-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...