网络安全教程(一)-程序员宅基地

技术标签: web安全  网络  安全  浙江省计算机3级考试复习资料  计算机网络  

1-网络安全概述

1-1基础概念

1-1-1计算机网络安全的定义

国际标准化组织ISO将计算机网络安全定义为:“为数据处理系统建立和采取的技术与管理的安全保护,保护网络系统的硬件,软件及其系统中的数据不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连接可靠、正常的运行,网络服务不中断。”

1-1-2网络安全的5项特征

网络安全的5项特征

  1. 保密性:信息不泄露给非授权用户、实体或过程,或供其利用的特性。
  2. 完整性:数据未经授权不能进行改变的特性。即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。
  3. 可用性:可被授权实体访问并按需求使用的特性,即当需要时能否存取所需的信息。例如网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击。
  4. 可控性:对信息的传播及内容具有控制能力。
  5. 可审查性:出现安全问题时能够提供依据与手段。

1-1-3网络安全威胁

         所谓网络安全威胁,是指对网络和信息的机密性,完整性、可用性在合法使用时可能造成的危害。

        人为角度

                信息泄露、完整性破坏、拒绝服务攻击、滥用网络。       

          表现形式

                窃听、重传、篡改、拒绝服务攻击、行为否认、电子欺骗、非授权访问、传播病毒。

1-2网络攻击 

 1-2-1潜在的网络攻击者

  • 国家
  • 黑客
  • 计算机恐怖分子
  • 有组织犯罪
  • 其他犯罪成员
  • 国际新闻机构
  • 商业竞争
  • 不满的雇员(实施内部威胁)
  • 不小心或未受到良好训练的雇员

1-2-2网络攻击分类

  1.  被动攻击:监视网络上的信息传输,包括监视明文,解密加密不善的通信数据,口令嗅探等。
  2. 主动攻击:企图避开或打破安全防护,引入恶意代码以及转化数据或破坏系统的完整性。
  • (1)修改数据
  • (2)替换
  • (3)会话劫持
  • (4)伪装成授权用户或服务器
  • (5)获取系统应用和操作系统的缺陷
  • (6)攫取主机或网络的信任
  • (7)获得数据执行
  • (8)恶意代码插入并刺探
  • (9)拒绝服务:网络中散布垃圾包,垃圾邮件等

    3.邻近攻击:未授权者在物理上接近网络系统或设备,目的是修改、收集和拒绝访问信息。

  • (1)修改数据或收集信息
  • (2)物理破坏

    4.内部人员攻击

        (1)修改数据或安全机制

        (2)建立未授权网络连接

        (3)秘密通道

          (4)物理损坏或破坏

    5.分发攻击:软件和硬件开发后和安装前这段时间,当它从一个地方转移到另个一地方时,攻击者恶意修改软硬件。

1-3网络安全的特点

1-3-1网络安全的特点

  1. 攻击与防守不对称性:攻击可以攻其一点,防守必须全面防御。
  2. 网络安全动态性:新的漏洞会不断出现。旧的漏洞会被消灭。
  3. 攻击与防御的经济性问题:安全投入大于保护价值会得不偿失,攻击投入大于目标价值也会得不偿失。
  4. 人是网络安全问题的核心:安全问题的根源在于人性的弱点。

1-3-2如何实现网络安全

安全政策

  • 安全政策是一个组织为了实现其业务目标而制定的一组规定,用来规范用户的行为,知道信息资源的保护和管理。
  • 安全政策应表现为一份或一系列正式的文档。
  • 安全政策规定了用户什么是该做的、什么是不该做的。

1-4网络安全技术

1-4-1网络安全基本要素

  1. 双向身份认证
  2. 访问控制授权
  3. 加密算法
  4. 完整性检测
  5. 不可否认性:双方都能证明信息已被发送和接收了,并且能确认身份,数字签名的特性,可以提供不可否认性
  6. 可靠性保护:防止数据遭到捕获。
  7. 数据隔离:防止数据泄露,不允许机密数据流入非机密网络。

2-数据加密与认证

2-1密码学基础

2-1-1加密的起源

  1. 4000年以前,古埃及的尼罗河畔,一位擅长书写者在贵族的墓碑上书写铭文时有意用变形的象形文字而不是普通的象形文字来撰写铭文,这是史上记载最早的密码形式。
  2. 公元前5世纪,隐写术
  3. 最早将现代密码概念运用于实际的人是凯撒大帝,后被称为凯撒密码,凯撒密码是将字母按字母表的顺序排列,并且最后一个字母与首字母相连。加密方法是将明文中的每个字母用其后的第三个字母代替,就成了密文。一般明文用小写,密文用大写。

例:

明文m e e t a t t o n i g h t

凯撒密码 P H  H  W D W W R Q L J K W 

       4.几种简单密码方案

  • 倒置

密文 KCATTA WON

单词倒读 

明文 attack now

  • 双轨

加密时先将明文写成双轨形式

如将attcak now写成

        a      t      c      n       w

            t      a       k       o

按行输出密文

ATCNWTAKO

  • 字典密码

第一次世界大战期间,德国间谍曾经依靠字典编写密码,例如100-3-16表示某本字典的第100页第3段的第16个单词。但加密并不可靠。

2-1-2密码学的发展阶段

第一阶段:

        古代到1949年,这一时期,密码学家往往凭借直觉设计密码,缺少严格的推理证明,这一阶段的密码背称为古典密码

第二阶段:

        1949-1975年,两大重大事件

        1949年信息论大师香农发表了《保密系统的信息理论》,为密码学奠定了理论基础,使密码学正式成为一门学科;

        1970年IBM研发的DES被美国国家标准局宣布为数据加密标准,打破了对密码学研究和应用的限制,极大的推动了现代密码学的发展。

第三阶段:

        1976年至今,1976年Diffie和Hellman发表的《密码学的新方向》开创了公钥密码学的新纪元。

2-1-3密码学基本概念

密码学的基本目的是使两个在不安全信道上通信的人A和B,以一种他们的敌人C不能明白和理解通信内容的方式进行通信。

  1. A发送给B的信息,通常称为明文,即未被加密的信息。
  2. A使用预先商量好的密钥对明文进行加密,加密后的明文称为密文
  3. A将密文发送给B,虽然敌人C可以窃听到信道中的密文,却无法知道对应的明文。对于B而言,他可以用密钥进行解密,从而获得明文。

 密码算法是指用于加密和解密的一对数学函数E(x)和D(x)。

为了密码系统的安全,我们需要经常变更密钥,由于种种原因,密码算法往往是不能保密的,所以我们常常假定算法是公开的,真正需要保密的是密钥。像凯撒密码,我可以移动5位字母而不是3位。这个移动的位数就算是密钥。

2-1-4对称密钥算法

对称密钥算法又称为传统密码算法,加密密钥是能够从解密密钥中推算出来的,反过来也成立。

典型的对称加密算法是DES、AES和RC5算法。

 对称密码算法的特点是计算量小、加密速度快。

对称密码可以按照对明文的加解密方式,分为序列密码(流密码)和分组密码。

序列密码是将明文划分成字符(如单个字母),或其编码的基本单元,逐字符进行加解密。

分组密码是将明文编码表示后的数字序列划分成长度为m的组,各组分别在密码的控制下加密成密文。

密码体制移位密码

密码体制希尔密码

2-1-5公开密钥算法

对称密码的缺点

  •         需要在A和B的传输密文之前使用一个安全的通道交换密钥。
  •         分发和管理的密钥会非常多。

公开密钥算法于1976年由Diffie和Hellman提出。这一体制最大的特点是采用两个密钥将加密和解密能力分开:一个公开用于加密;另一个为用户专用,作为解密密钥,通信双方无须先交换密钥就可以进行通信。

密码体制-RSA密码体制

2-1-6密码分析

密码学包含两个分支-----密码编码学和密码分析学。

密码编码学是对信息进行进行编码实现隐蔽信息的一门学问。

密码分析学是研究分析破译密码的学问。

攻击类型

攻击类型 攻击者拥有的资源
唯密文攻击

加密算法

截获的部分密文

已知明文攻击

加密算法

截获的部分密文和其对应的明文

选择明文攻击

加密算法

加密黑盒子,可加密任意明文得到相应的密文

选择密文攻击

加密算法

解密黑盒子,可解密任意密文得到相应的明文

密码分析的方法

(1)穷举破译法

        对截获的密报依次进行各种可解的密钥试译,直到得到有意义的明文;或在不变密钥下,对所有可能的明文加密,直到得到与截获密报一致为止。,此法又被称为完全试凑法。

(2)分析法

包括确定性分析法统计分析法

确定性分析法是用一个或几个已知量用数学关系是表示出所求未知量。

统计分析法是利用明文的已知统计规律进行破译的方法。

密码体制仿射密码体制

2-2数字签名与数字证书

2-2-1电子签名

联合国发布的《电子签名示范法》中对电子签名的定义如下:“指在数据电文中以电子形式所含的、所附或在逻辑上与数据电文联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所包含的信息。”

电子签名立法

        2000年6月30日美国总统克林顿签署《电子签名法案》,被看做是美国迈向电子商务时代的一个重要的标志。

        2005年4月1日,我国《电子签名法》正式实行。标志着中国首部“真正意义上的信息化的法律”正式诞生。

电子签名模式

目前电子签名主要有三种模式:

  1.         智慧卡式:使用者拥有一个像性用卡一样的磁卡,内存储有关自己的数字信息。使用时只需在电脑扫描器上一扫,加入自己设定的密码即可。
  2.         密码式:使用者设定一个密码,有数字和字符组合而成。
  3.         生物测定式:以使用者的身体特征为基础。如指纹,眼球。

电子签名使用的技术

        公开密钥算法(RSA算法)和报文摘要(HASH算法)

2-2-2CA数字证书

        数字证书是一种权威性的电子文档,由权威公正的第三方机构,即CA 中心签发的证书。

 因特网的电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的4大要素,即信息传输的保密性交易者身份的确定性发送信息的不可否任性数据交换的不可修改性

  1. 信息传输的保密性:交易中的商务信息均有保密的要求,如信用卡的账号和用户名被人知悉,就可能被盗用;订货和付款的信息被竞争对手获悉,就可能丧失商机。因此在电子商务的信息传播中,一般均有加密的要求。
  2. 交易者身份的确定性:网上交易的双方很可能素味平生,相隔千里。要使交易成功,首先要能确认对方的身份,商家要考虑客户端是不是骗子,而客户也会担心网上的商店不是一个玩弄欺诈的黑店。因此能方便而可靠地确认对方身份是交易的前提。对于为顾客或用户开展服务的银行、信用卡公司和销售商店,为了做到安全、保密、可靠地开展服务活动,都要进行身份认证的工作。对有关的销售商店来说,他们对顾客所用的信用卡的号码是不知道的,商店只能把信用卡的确认工作完全交给银行来完成。银行和信用卡公司可以采用各种保密与识别方法,确认顾客的身份是否合法,同时还要防止发生拒付款问题以及确认订货和订货收据信息等。
  3. 发送信息的不可否认性:由于商情的千变万化,交易一旦达成是不能被否认的,则必然会损害一方的利益。例如订购黄金,订货时金价较低,但收到订单后,金价上涨,如收单方能否认收到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受失。因此电子交易通信过程的各个环节都必须是不可否认的。
  4. 数据交换的不可修改性:交易的文件是不可被修改的,如上例所举的订购黄金。货单位在收到订单后,发现金价大幅上涨了,如其能改动文件内容,将订购数1吨改为克,则可大幅受益,那么订货单位可能就会因此而蒙受一定损失。

2-3认证技术

网络系统安全主要考虑两个方面:一方面,用密码保护传输的信息使其不被破译;另一方面,防止对手对系统进行主动攻击,如伪造,篡改等。认证则是防止主动攻击的重要技术。

认证的目的有两个方面:

  •         验证消息的发送者是合法的,而不是冒充的;
  •         验证消息的完整性以及数据在传输和存储过程中没有被修改。

2-3-1身份认证的重要性

        身份认证是指计算机及网络系统中确认操作者身份的过程。

        身份认证技术的诞生就是为了解决如何保证从操作者的物理身份与数字身份相对应的问题。

        加果没有有效的身份认证手段,访间者的身份就很容易被伤造,使得未经授权的人仿冒有权限人的身份,这样,任何安全防范体系就都形同虚设,所有安全投入就被无情的浪费了。

2-3-2身份认证的方式

  1. 用户名/密码方式
  2. IC卡认证:内置了集成电路的卡片,卡片中存有与用户身份相关的数据,可以认为是不可复制的硬件。
  3. 动态口令:是一种让用户的密码按照时间或使用次数不断变化,每个密码只使用一次对的技术。
  4. 智能卡技术:本身可以算是一个功能齐全的计算机,它们有自己的的内容、微型处理器。智能卡是比PC本身更加安全的存储密钥的地方。
  5. 生物特征认证
  6. USB key认证:采用软硬件相结合、一次一密的双因子认证模式,很好的解决了安全性与易用性之间的矛盾。

2-3-3消息认证---Hash算法

Hash,一般翻译做“散列”,也有的直接音译为“哈希”,就是把任意长度的输入(又叫作预映射)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是说,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一地确认输入值。简单的说,就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

Hash算法
了解了Hash的基本定义,就不能不提到一些著名的Hash 算法、其中MD5和SHAI可以说是目前应用最广泛的Hash算法,而它们都是以MD4为基础设计的,那么它们都是什么样的算法呢?
1)MD2
Rivest在1989年开发出MD2算法。在这个算法中,首先对信息进行数据补位,使信息的字节长度是16的倍数。然后,以一个16位的校验和追加到信息末尾,并且根据这个新产生的信息计算出散列值。

2)MD4
为了加强算法的安全性,Rivest在1990年又开发出MD4算法。MD4算法同样需要填补信息以确保信息的比特位长度减去448后能被512整除(信息比特位长度mod512=448).然后,一个以64位二进制表示的信息的最初长度被添加进来。信息被处理成512位选代结构的区块,而且每个区块要通过3个不同步骤的处理。Den Boer和Bosselaers以及其他人很快发现了攻击MD4版本中第1步和第3步的漏洞。Dobbertin向大家演示了如何到用一部普通的个人计算机在几分钟内找到MD4完整版本中的冲突(这个冲突实际上是一中漏洞,它将导致对不同的内容进行加密却可能得到相同的加密后结果).毫无疑问,MD4就此被淘汰掉了。尽管MD4第法在安全上有个这么大的漏洞,但它对在其后才被开发出来的几种信息安全加密算法的出现却有着不可忽视的引导作用。


3)MD5

1991年,Rivest开发出技术上更为趋近成熟的MD5解法。它在MD4的基础上增加了“安全一带子”(safety-bels)的概念、虽然MD5比MD4复杂度大一些,但却更为安全,这算法很明显的由4个和MD4设计有少许不同的步骤组成。在MD5算法中,信息摘要的大小和填充的必要条件与MD4完全相同。Den Boer和Bosselacrs曾发现MD5算法中的灵冲突(pscudo-colisions).但除此之外就没有其他被发现的加密后结果了。
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由4个32位分组将这4个32位分组级联后将生成一个128位散列值。
利用MD5的算法原理,可以使用各种计算机语言进行实现,形成各种各样的MD5校验工具,有很多的在线工具可以实现这一点,这些在线工具一般是采用JavaScript i实现,使用非常方便快捷。

4)SHA-1

SHA-1是由NIST NSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160位的散列值,因此抗穷举(brute-force)性更好。SHA1设计时基于和MD4相同的原理,并且模仿了该算法。

Hash算法在信息安全方面的应用体现

  1. 文件校验
  2. 数字签名
  3. 鉴权协议

3-常见网络攻击的方法与防护

3-1网络攻击概述

3-1-1网络攻击的分类

常见的攻击方式有4类

  1. 拒绝服务攻击,企图通过使服务器崩溃或把它压垮来阻止其提供服务。拒绝服务攻击是最容易实施的攻击行为,主要包括死亡之ping、泪滴、UDP洪水、SYN洪水、Land攻击、Smurf攻击、Fraggle攻击、电子邮件炸弹、畸形消息攻击等。
  2. 利用型攻击,这是一类试图直接对机器进行控制的攻击,最常见的有口令猜测、特洛伊木马、缓冲区溢出。
  3. 信息收集型攻击,它并不对目标本身造成危害,而是被用来为进一步入侵提供有用的信息,主要包括扫描技术、体系结构刺探、利用信息服务。
  4. 假消息攻击,用于攻击目标配置不正确的消息,主要包括DNS高速缓存污染、伪造电子邮件。

3-1-2网络攻击的步骤

1.攻击准备

        进行网络攻击是一件系统性很强的工作,其主要流程是:收集情报、远程攻击、远程登录、确定普通用户的权限、取得超级用户的权限,留下后门、清除日志。主要内容包括目标分析、文档获取、破解密码、日志清除等技术。 

(1)确定攻击目标:破坏或者控制

(2)信息收集:收集尽量多的关于目标的信息,这些信息包括目标的操作系统类型及其版本,目标提供哪些服务,各服务器程序的类型与版本,以及相关的社会信息。

获取目标系统版本的方法

  •         talent协议连接显示信息 (网管会迷惑攻击者,更改显示信息)
  •         查询DNS的主机信息
  •         利用网络操作系统里的TCP/IP堆栈作为特殊的“指纹”来确定系统的真正身份。
  •         向目标远程发送特殊的包,通过返回的包确定操作系统类型。  

         获知目标提供哪些服务和各服务守护程序的类型、版本同样重要,因为已知的漏洞都是针对某一服务的。这里的提供服务就是指通常我们提到的端口。在不同服务器上提供同一种服务的软件也可以不同,这类软件叫做守护程序

2.攻击的实施阶段

(1)获得权限

当收集到足够的信息之后,攻击者就要开始实施攻击行动了。作为破坏型攻击,只需利用工具发动攻击即可。而作为入侵型攻击,往往要利用收集到的信息,找到其系统漏洞,然后利用该漏洞获取一定的权限。有时获得了一般用户的权限就足以达到修改主页等目的了。但作为一次完整的攻击是要获得系统最高权限的,这不仅是为了达到一定的目的,更重要的是证明攻击者的能力。

(2)权限扩大

系统漏润分为远程漏洞和本地漏洞两种。远程漏洞是指黑客可以在别的机器上直接利用该漏洞进行攻击并获取一定的权限。这种漏洞的威胁性相当大,黑客的攻击一般都是从远程漏洞开始的。但是利用远程漏洞获取的不一定是最高权限,而往往只是一个普通用户的权限,这样常常没有办法做黑客们想要做的事。这时就需要配合本地漏洞来把获得的权限进行扩大,常常是扩大至系统的管理员权限。
只有获得了最高的管理员权限,才可以做网络监听、打扫痕迹之类的事情。完成权限的扩大,不但可以利用已获得的权限在系统上执行利用本地漏洞的程序,还可以放置一些木马之类的欺骗程序来套取管理员密码(这种木马是放在本地套取最高权限用的,而不能进行远程控制)。例如一个黑客已经在一台机器上获得了一个普通用户的账号和登录权限,那么他就可以在这台机器上放置一个假的su程序。当真正的合法用户登录时,运行了该su程序并输入了密码,这时root密码就会被记录下来,下次黑客再登录时就可以使用su程序而拥有root权限了。

3.攻击的善后工作

(1)隐藏踪迹

攻击者在获得系统最高管理员权限之后,就可以随意修改系统上的文件了,包括日志文件,所以黑客想要隐藏自己的踪迹的话,就会对日志进行修改。最简单的方法当然就是删除日志文件了,但这样做虽然避免了系统管理员根据IP追踪到自己,但也明确无误地告诉了管理员,系统已经被入侵了。所以最常用的办法是只对日志文件中有关自己的那一部分做修改。

(2)后门

黑客在攻入系统后,一般要不止一次地进入该系统。为了下次再进入系统时方便一些,黑客会留下一个后门,特洛伊木马就是后门的最好范例。

3-1-3社会工程学攻击(3.26添加)

        社会工程学攻击主要是利用“社会工程学”来实施的网络攻击行为,主要通过利用人的弱点进行咋骗、威胁等违法行为,获取非法利益。

        社会工程学攻击的基本目标与其他网络攻击手段基本相同,都是为了获得目标系统的未授权访问路径,对重要信息进行盗取,或仅仅是扰乱系统和网络的安全与稳定等。
在信息安全技术不断发展的今天,各种安全防护设备与措施使得网络和系统本身的漏润大幅减少。更多的攻击者转向利用人的弱点(即使用社会工程学方法)来实施网络攻击,黑客入侵事件不断上演。在这些事件中,被攻击者的安全防护意识是一个突出的问题。随意设置简单、易破解的口令、随处留下自己的邮箱地址的行为比比皆是,这些都使得善于利用社会工程学的攻击者能够很轻易地完成对某些目标的入侵。
        年少成名的美国超级黑客凯文·米特尼克(Kevin Mitnick)撰写的《反欺骗的艺术》堪称社会工程学的经典。书中详细地描述了许多运用社会工程学入侵网络的方法,这些方法并不需要太多的技术基础,但可怕的是,一旦懂得如何利用人的弱点,如轻信、健忘、胆小、贪便宜等,就可以轻易地潜入防护最严密的网络系统。凯文·米特尼克曾经在很小的时候就能够把这一天赋发挥到极致,他就像变魔术一样,在他人不知不觉时进入了包括美国国防部、IBM公司等几乎不可能被潜入的网络系统,并获取了管理员权限。目前常见的网络钓鱼(Phishing)攻击就是属于社会工程学攻击的一种。攻击者利用性的电子邮件和伪造的Web站点来进行诈骗活动,诱骗受攻击者提供一些个人信息,如卡号、账户名和口令等内容,被攻击者往往会在不经意间泄露自己的敏感数据。

社会工程学常见形式

        (1)伪装。从早期的求职信病毒、爱虫病毒、圣诞节贺卡病毒到目前流行的网络的鱼攻击,都是利用电子邮件和伪造的Wb站点来进行诈骗活动的。有调查显示,在所有接触准射信息的用户中,有高达5%的人都会对这些骗局做出响应。攻击者越来越喜欢使用社会工程学的手段,把木马病毒、间课软件、勒索软件、流课软件等网络陷阱伪装起来欺骗被攻击者。
        (2)引诱。社会工程学是现在攻击者传播多数端虫病毒时所使用的技术,这些端虫病毒会诱使计算机用户本能地去打开邮件,执行具有诱惑性同时又有危害的附件。例如,用能引起一些人兴趣的“幸运中奖”“最新反病毒软件”等说辞,并给出一个页面链接,诱使进入该页面运行下载病毒程序或在线注册套取个人相关信息,利用人们疏于防范的心理获取非法利益。
        (3)恐吓。利用人们对安全、漏洞、病毒、木马、黑客等内容的敏感性,以权威机构的面目出现,散布诸如安全警告、系统风险之类的信息,使用危言耸听的伎俩恐吓、欺骗计算机用户,声称如果不及时按照他们的要求去做就会造成致命的危害或遭受严重的损失。

        (4)说服。社会工程学攻击的实施者说服的目的是增强说服对象主动完成所指派的任务,的顺从意识,从而令其变为一个可以被信任并可由此非得敏感信息的人。大多数企业的前台人员一般接受的训练都是要求他们尽可能地热情告人并为来电用户提供帮助,所以他们就成为社会工程学攻击的实施者获取有价值信息的“金矿”。
        (5)恭维。社会工程学攻击的实施者通常十分“友善”,很懂得说话的艺术,知道如何去迎合他人,投其所好,使多数人友善地做出回应,恭维和虚荣心的对接往往会让目标乐意继续合作。
        (6)渗透。通常社会工程学攻击的实施者都擅长刺探信息,很多表面上看起来毫无用处的信息都会被他们用来进行系统渗透。通过观察目标对电子邮件的响应速度、重视程度以及可能提供的相关资料,如一个人的姓名、生日、ID、电话号码、管理员的IP地址、邮箱等。通过这些收集信息来判断目标的网络架构或系统密码的大致内容,从而用口令心理学来分析口令,而不仅仅是使用暴力破解。

如何防范社会工程学

        面对社会工程学政击带来的安全挑战,机构和个人都必须学会使用新的防御方法。从机构的角度来说,防御措施主要包括以下几种。
        (1)增加网站被假冒的难度。为预防不法分子使用假域名进行网络钓鱼,企业需要定期对DNS进行扫描,以检查是否存在与公司已注册的相似的域名。此外,在网页设计技术上不使用弹出式广告、不隐藏地址栏及框架的企业网站被假冒的可能性较小。
        (2)加强内部安全管理。尽可能地把系统管理工作职责进行分离,合理分配每个系统管理员所拥有的权力,避免权限过分集中。为防止外部人员混入内部,员工应佩戴胸卡标识,设置门禁和视频监控系统:严格办公垃圾和设备维修报废处理程序:杜绝为贪图方便,将密码写在纸上。
        (3)开展安全防询训练。安全意识比安全措施重要得多。防范社会工程学政击,指导和教育是关键。直接明确地给子容易爱到政的员工一些案例教育和警示,让他们知道这些方法是如何运用和得逞的,并让他们学会辨认社会工程学攻击。

        对于个人来说,主要需要注重个人隐私保护,社会工程学攻击的核心就是信息,尤其是个人信息。在网络普及的今天,很多论坛、博答、电子邮箱等都包含了个人大量的私人信息。如生日、年龄,E-mal地址、家庭电话号码等,入侵者根据这些信息再次进行信息挖掘,将提高成功入侵的极率。因此在各个网站注册时,一定要查看这些网站是否提供了对个人隐私信息的保护,是否采用了适当的安全措施,谨慎提供个人的真实信息。

3-2端口扫描

3-2-1原理

端口扫描的原理

        尝试与目标主机的某些端口建立连接,如果目标主机的该端口有回复,则说明该端口开放,即为“活动端口”。

3-2-2扫描分类

  • 全TCP连接:使用三次握手,与目标计界机建立标准的TCP连接,而种古老的扫描方法根容易被目标主机记录。
  • 半打开式扫描:在这种扫描技术中,扫描主机自动向目标计算机的指定端口发送SYN数据段,表示发送建立连接请求。
  • FIN扫描:在TCP报文中,有一个字段为FIN。FIN扫描则依靠发送FIN来判断目标计算机的指定端口是否活动。发送一个FIN=1的TCP报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。但是,如果当FIN报文被发送到一个活动的端口时,该报文只是简单的丢掉,不会返回任何回应。从FIN扫描可以看出,它没有涉及任何TCP连接部分,因此这种扫描比前两种都安全,可以称之为秘密扫描。
  • 第三方扫描,又称“代理扫描”,这种扫描是利用第三方主机来代替入侵者进行扫描。

3-2-3扫描工具

X-Port

PortScanner

SuperScan

流光

X-Scan

3-2-4 防护

  1. 关闭闲置和有潜在危险的端口
  2. 检查各种端口,有端口扫描的症状时,立即屏蔽该端口。通常借助防火墙完成

防火墙工作原理:

首先检查每个到达电脑的数据包,在这个包被机器上运行的任何软件看到之前,防火墙有完全的否决权,可以禁止电脑接收Intenet 上的任何东西。当第一个请求建立连接的包被电脑回应后,一个TCP/IP端日被打开;端口扫描时,对方计算机不断地和本地计算机建立连接,并逐渐打开各个服务所对应的TCP/IP端口及闲置端口。防火墙利用自带的拦截规则判断,就能够知道对方是否正进行端口扫描,并拦截掉对方发送过来的所有扫描需要的数据包。

3-3ARP欺骗

3-3-1原理

互联网的发展很大程度上归功于TCP/IP协议运行的高效性和开放性,然而TCPIP协议在实现过程中忽略了对网络安全方面的考虑,致使其存在着较多安全隐患。ARP协议是TCPIP协议中重要的一员,其功能主要是为局域网内网络设备提供IP地址向硬件地址的转化,其设计建立在局域网内网络设备之间相互信任的基础上,由此产生了许多ARP欺骗攻击方法。许多木马和病毒利用ARP协议这一设计上的漏洞在局域网内进行ARP欺骗攻击,给局域网的安全造成了严重威胁。

ARP意为地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议中重要的一员。主机发送信息时,将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后,将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗

ARP欺骗的危害如下

(1)攻击点范围广:不需要攻占具体服务器,在不获得目标主机的权限的条件下,只要在网络环境的任何一个点上安放一台“肉机”便可以感染整个网段。
(2)攻击非常隐蔽:不需要改动任何目标主机的页面或者是配置,在网络传输的过程中直接插入病毒的代码。
(3)发现困难:如没有机房网络管理人员协助协查,服务器系统管理员光靠系统日志无法在短时间内找到攻击源。
(4)恢复复杂:网站管理员即使发现被攻击,但是从系统层面上无法自己清除。
(5)攻击手段变化多样:黑客可以最大化地利用ARP欺骗,将其与其他攻击方法组合后运用于多种攻击,如侦听、拒绝服务、挂载病毒,从而实现多种攻击目的。

防护

(1)设置静态的MAC TO IP对应表,并防止黑客刷新静态转换表。不要把网络安全信任关系建立在IP基础上或MAC基础上,尽量将信任关系建立在IP+MAC上。
(2)使用MAC地址管理服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。
(3)使用代理IP的传输。
(4)使用防火墙隔离非信任域对内网机器的ARP包传输。
(5)定期使用RARP请求来检查ARP响应的真实性。
(6)定期轮询检查主机上的ARP缓存。
(7)使用防火墙连续监控网络。
(8)使用ARP探测工具,在网络上探测非法ARP广播数据帧。

3-4拒绝服务攻击

3-4-1原理

拒绝服务攻击,又称为DoS(Denial of Service的缩写)攻击。DoS的攻击方式有很多种,最基本的就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。简单的DoS攻击一般是采用一对一方式,当攻击目标CPU速度低、内存小或者网络带宽小,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得Dos攻击的困难程度加大了。这时就出现了分布式拒绝服务攻击,又称为DDos(Distributed Denial of Service)攻击。DDoS攻击采取增加攻击的计算机,多台计算机同时攻击一台目标计算机,从而达到攻击的目的。
DDoS攻击是基于DoS攻击的一种特殊形式。攻击者将多台受控制的计算机联合起来向目标计算机发起DoS攻击,它是一种大规模协作的攻击方式,主要瞄准比较大的商业站点,具有较大的破坏性。

DDoS攻击由攻击者主控端代理端组成。攻击者是整个DDos攻击发起的源头,它事先已经取得了多台主控端计算机的控制权,主控端计算机分别控制着多台代理端计机。在主控端计算机上运行着特殊的控制进程,可以接收攻击者发来的控制指令,操作理端计算机对目标计算机发起DDos攻击。DDoS攻击之前,首先扫描并入侵有安全漏洞的计算机并取得控制权,然后在每台被入侵的计算机中安装具有攻击功能的远程遥控程序,用于等待攻击者发出入侵命令。这工作是自动、高速完成的,完成后攻击者会消除它的入侵痕迹,系统的正常用户一般不会察觉。之后攻击者会继续利用已控制的计算机扫描和入侵更多的计算机。重复执行以上步骤,将会控制越来越多的计算机。这些被控制的计算机就叫做“肉鸡”。

3-4-2手段

死亡之ping

        ICMP(Intermet Control Message Protocol,Internet控制信息协议)在Intemet上用于错误处理和传递控制信息。最普通的ping程序就是这个功能。在TCPIP的RFC文档中,对包的最大尺寸都有严格限制规定,许多操作系统的TCPIP协议栈都规定ICMP包大小为64KB,且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。死亡之ping就是故意产生畸形的测试ping包,声称自己的尺寸超过ICMP限,也就是加载的尺寸超过64KB上限,使未采取保护措施的网络系统出现内存分配误,导致TCP/IP协议栈崩溃,最终接收方宕机。

        

泪滴

        泪滴攻击利用TCP/IP协议栈信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些TCP/IP协议栈在收到含有重叠偏移的伪造分段时将崩溃。

UDP泛洪

如今,Imtemet上UDP(用户数据报协议)的应用比较广泛,很多提供WWw和M们服务的设备通常是使用UNIX的服务器,它们默认打开一些被黑客恶意利用的UDP服务。
如Echo服务会显示接收到的每一个数据包,而原本作为测试功能的Chargen服务会在收到每一个数据包时随机反馈一些字符。UDPFlood攻击就是利用这两个简单的TCPIP服务的漏洞进行恶意攻击,通过伪造与某一主机的Chargen服务之间的一次UDP连接,回复地址指向开着Echo服务的一台主机,通过将Chargen和Echo服务互指,来回传送毫无用处且占满带宽的垃圾数据,在两台主机之间生成足够多的无用数据流。这一拒绝服务攻击可飞快地导致网络可用带宽耗尽。

SYN泛洪

        当用户进行一次标准的TCP(Transmission Control Protocol,传输控制协议)连接时,会有一个3次握手过程。首先是请求服务方发送一个SYN(Synchronize Sequence Number,同步序列号)消息,服务方收到SYN后,会向请求方回送一个SYN-ACK表示确认,当请求方收到SYN-ACK后,再次向服务方发送一个ACK消息,这样一次TCP连接建立成功。SYNFlood则专门针对TCP协议栈在两台主机间初始化连接握手的过程进行DoS攻击,其在实现过程中只进行前2个步骤:当服务方收到请求方的SYN-ACK确认消息后,请求方由于采用源地址欺骗等手段使得服务方收不到ACK回应,于是服务方会在一定时间处于等待接收请求方ACK消息的状态。而对于某台服务器来说,可用的TCP连接是有限的,即只有有限的内存缓冲区用于创建连接,如果这一缓冲区充满了虚假连接的初始信息,该服务器就会对接下来的连接停止响应,直至缓冲区里的连接企图超时。如果恶意攻击方快速连续地发送此类连接请求,该服务器可用的TCP连接队列将很快被阻塞,系统可用资源急剧减少,网络可用带宽迅速缩小。长此下去,除了少数幸运用户的请求可以插在大量虚假请求间得到应答外,服务器将无法向用户提供正常的合法服务。

不能让准备考试的兄弟们等急了,先发出来前三章内容。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yuwoxinanA3/article/details/123441969

智能推荐

【TeeChart .NET教程】(十八):TeeChart工具集合(中)——系列工具-程序员宅基地

文章浏览阅读6.5k次。上一篇:【TeeChart .NET教程】(十八):TeeChart工具集合(上)——其它工具 【下载TeeChart.Net最新版本】(一)介绍本教程重点介绍TeeChart for.NetTools,这是一个易于实现的代码单元,用户可以使用这些代码为TeeCharts添加额外的功能,有十种新工具可供部署:(二)系列工具2.1 光标工具光标工具将光标添加到图表中,该图..._teechart .net

初识Disruptor并发框架_disruptor eventhandlergroup-程序员宅基地

文章浏览阅读206次。一、什么是DisruptorMartin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使`用事件源驱动方式。业务逻辑处理器的核心是Disruptor。Disruptor它是一..._disruptor eventhandlergroup

火狐插件(开发者)清空缓存-程序员宅基地

文章浏览阅读4.1k次。在火狐游览器的扩展插件中搜索:Clear Cache and Data

用浏览器AXURE RP生成的文件网站,安装Axure-RP-Extension-for-Chrome-程序员宅基地

文章浏览阅读3.3k次。当我们打开AXURE RP生成的文件网站时,一般的浏览器会提示我们使用Google的浏览器,使用了Google浏览器又会提示我们需要安装一个Axure-RP-Extension-for-Chrome插件,但是这个插件时Google提供的,然而现在国内是把谷歌屏蔽了的,所以无法在线正常安装。但是我们可以使用离线安装。下面地址为Axure-RP-Extension-for-Chrome插件的百

laravel自动验证功能抛出问题render处理_laravel 验证抛出error-程序员宅基地

文章浏览阅读2k次。laravel有表单自动验证功能。不用不久可惜了么。但是这对前后台分离的项目不太适配,因为接口错误信息不一致。主要修改错误抛出问题的格式,为了保持给前端的错误信息一致。。修改这个文件。修改这个方法。 public function render($request, Exception $exception) { if ($exception instanceof V..._laravel 验证抛出error

字典树-程序员宅基地

文章浏览阅读105次。4189 字典题目描述最经,skyzhong得到了一本好厉害的字典,这个字典里整整有n个单词(1<=n<=200000)现在skyzhong需要在字典里查询以某一段字母开头的单词如:skyzhong想查询a那么只要是a开头的单词就可以了skyzhong只想知道里面有没有这一个单词(因为没有他就不查了)若有,请输出YES。若没有,请输出NO输入描述..._字典树

随便推点

ASP.NET MVC5 采用Unity(代码和配置文件两种方式)实现IOC_.net mvc unity 配置-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏4次。Unity是微软Patterns & Practices团队所开发的一个轻量级的,并且可扩展的依赖注入(Dependency Injection)容器,它支持常用的三种依赖注入方式:构造器注入(Constructor Injection)、属性注入(Property Injection),以及方法调用注入(Method Call Injection).现在Unity最新的版本的1.2版,可以在微软的开源站点http://unity.codeplex.com下载最新的发布版本和文档。通过使用Unity_.net mvc unity 配置

在树莓派上安装vim并配置_在树莓派上编程必备ide-程序员宅基地

文章浏览阅读2.1k次。先安装vim的升级版:sudo apt install vim-gtk然后进入配置文件:vim .vimrc输入以下命令后保存:set numberfiletype onset history=1000set nocompatibleset shiftwidth=4color eveningsyntax onset autoindentset smartindents..._在树莓派上编程必备ide

【高德地图API】从零开始学高德JS API(二)地图控件与插件——测距、圆形编辑器、鼠标工具、地图类型切换、鹰眼鱼骨_高德地图 .circleeditor用法-程序员宅基地

文章浏览阅读1.1k次。http://www.cnblogs.com/milkmap/p/3707711.html摘要:无论是控件还是插件,都是在一级API接口的基础上,进行二次开发,封装的一系列更加便于开发者使用,减少开发者工作量的二级API接口。除了官方通用的鱼骨、鹰眼控件,还有大量官方开发的地图插件,类似谷歌的lib。当然本文还会介绍自定义插件的使用。 --------------------_高德地图 .circleeditor用法

解决移动端line-height不居中问题-程序员宅基地

文章浏览阅读3.2k次。问题:在移动端中使用line-height=height实现文字垂直居中时,在安卓手机会发现文字偏上!解决:1、利用flex布局中的垂直居中属性实现垂直居中,父元素设置display:flex;height:1rem;align-items: center;子元素 transform: scale(0.5); transform-origin: le..._line-height不居中,display:flex不居中

第九届蓝桥杯——第六题-递增三元组_java递增三元组 给定三个整数数组 a = [a1, a2, ... an], b = [b1, -程序员宅基地

文章浏览阅读5.6k次,点赞3次,收藏2次。标题:递增三元组给定三个整数数组A = [A1, A2, ... AN], B = [B1, B2, ... BN], C = [C1, C2, ... CN],请你统计有多少个三元组(i, j, k) 满足:1. 1 &lt;= i, j, k &lt;= N 2. Ai &lt; Bj &lt; Ck 【输入格式】 第一行包含一个整数N。第二行包含N个整数A1, A2, ... AN。第三..._java递增三元组 给定三个整数数组 a = [a1, a2, ... an], b = [b1, b2, ... bn], c = [c1, c2, ... cn], 请你统计有多少个三元组(i, j, k) 满足: 1. 1 <= i, j, k <= n 2. ai < bj < ck 【输入格式】 第一行包含一个整数n。 第二行包含n个整数a1, a2, ... an。 第三行包含n

freeswitch xml_curl模块使用_freeswitch mod_xml_curl 功能-程序员宅基地

文章浏览阅读3.2k次。freeswitch xml_curl模块使用 替换掉directory,ivr,dialplan,等各种本地配置xml文件freeswitch 数据库生成xml文件部分代码 &lt;?php/** * @package FS_CURL *//** * define for the time that execution of the script started ..._freeswitch mod_xml_curl 功能

推荐文章

热门文章

相关标签