一网打尽!每个程序猿都该了解的黑客技术大汇(3)

后来,为了在客户端对收到对DNS应答进行校验,出现了DNSSEC技术,一定程度上可以解决上面的部分问题。但限于一些方面的原因,这项技术并没有大规模用起来,尤其在国内,鲜有部署应用。

再后来,以阿里、腾讯等头部互联网厂商开始推出了httpDNS服务,来了一招釜底抽薪,虽然这项技术的名字中还有DNS三个字母,但实现上和原来但DNS已经是天差地别,通过这项技术让DNS变成了在http协议之上的一个应用服务。

重点关注:安全工程师后端工程师运维工程师

TCP劫持

TCP是TCP/IP协议族中非常重要的成员,位于传输层。协议本身并没有对TCP传输的数据包进行身份验证,所以我们只要知道一个TCP连接中的seq和ack后就可以很容易的伪造传输包,假装任意一方与另一方进行通信,我们将这一过程称为TCP会话劫持(TCP Session Hijacking)

TCP劫持技术是一种很老的技术,1995年被提出来后深受黑客青睐。不过近些年来,随着操作系统层面的安全机制增强和防火墙软件的检测能力提升,这种基础的攻击方式越来越容易被发现,慢慢的淡出了人们的视野。

重点关注:安全工程师运维工程师

端口扫描技术

端口扫描是黑客经常使用的一种技术,它一般是作为网络攻击的前期阶段,用于探测目标开启了哪些服务,以便接下来发起针对该服务的攻击。

记得刚刚学习网络安全的时候,大家总会没事拿出工具来扫一扫,虽然扫了之后就没有了下文,也总是乐此不疲,在不懂的人面前秀一把自己的“黑客”能力。

以TCP/IP协议族构建的互联网,网络服务总是离不开端口这个概念,不管是TCP也好,UDP也罢,应用层都需要一个端口号来进行网络通信。而我们常见的服务端口有:

21: FTP文件传输服务

25: SMTP邮件服务

53: DNS域名解析系统服务

80: HTTP超文本传输协议服务

135: RPC远程过程调用服务

443: HTTPS

3389: MSRDP微软远程桌面连接服务

......

端口扫描都原理,对于基于UDP的服务,发送对应服务都请求包,查看是否有应答;对于基于TCP的服务,尝试发起三次握手发送TCP SYN数据包,查看是否有应答。

如果远端服务器进行了响应,则表明对端服务器上运行了对应的服务,接下来则是进一步探知对端服务器使用的操作系统、运行的服务器程序类型、版本等等,随即针对对应的漏洞程序发起网络攻击。

由此可见,为安全着想,在互联网上应当尽可能少暴露信息,关闭不需要的服务端口。

防御手段:使用防火墙等安全产品,即时发现和阻断非法的扫描探测行为。

重点关注:运维工程师安全工程师

[为防抄袭,手动插入文字水印,敬请谅解。本文来自微信公众号:编程技术宇宙]

系统安全

系统安全版块中的技术,一般是指攻击发生在终端之上,与操作系统息息相关。

栈溢出攻击

栈溢出攻击历史悠久,也是发生在系统侧最基础的攻击。

现代计算机基本上都是建立在冯-诺伊曼体系之上,而这一体系有一个最大的问题就是数据和指令都保存在存储器中。

在计算机的内存中,既包含了程序运行的所有代码指令,又包含了程序运行的输入输出等各种数据,并没有一种强制的机制将指令和数据区分。因为对于计算机来说它们都是一样的二进制0和1,大部分时候都是靠程序按照既定的“规则”去解释理解内存中的这些0和1。而一旦这些“规则”理解错误,事情就变得糟糕起来。

具体到我们现代CPU和OS,不管是x86/x64处理器,还是ARM处理器,均采用了寄存器+堆栈式的设计,而这个堆栈中,既包含了程序运行各个函数栈帧中的变量数据等信息,还保存了函数调用产生的返回地址。

一网打尽!每个程序猿都该了解的黑客技术大汇

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzfzd.html