• 网络安全概述——常见网络攻击与网络病毒、密码体制、安全协议等


    目录

    1、信息安全五大要素

    2、常见的网络攻击类型

    2-1)网络攻击的分类:

    2-2)常见网络攻击:

    DOS 攻击的分类:

    2-3)常见网络攻击的防范措施

    3、计算机病毒

    3-1)常见病毒的前缀及其简要描述

    3-2)计算机病毒的预防方法

    4、常见网络安全控制技术

    5、加强内防内控策略

    6、密码体制

    6-1)对称加密

    6-2)非对称加密

    6-3)数字信封

    6-4)数字签名

    6-5)数字证书

    6-6)报文摘要

    常见的报文摘要算法:

    报文摘要与数字签名结合的使用过程:

    6-7)对称密钥的分配

    对称密钥的安全分发过程 :

    7、SSL 安全套接层协议

    7-1)SSL 三大子协议

    7-2)SSL 在 HTTPS 的应用过程

    7-3)SSL、TLS、SET

    8、PGP 协议

    PGP 协议的邮件发送和接收过程

    9、链路加密与端到端加密

    9-1)链路加密

    9-2)端到端加密


    1、信息安全五大要素

    要素说明
    机密性信息不泄露给未经授权的进程或实体,只供授权者使用
    完整性信息只能被得到允许的人修改,同时能判断信息是否被篡改
    可用性授权者可以在需要的时候访问数据,而拒绝非授权者访问数据
    可控性对网络系统本身和所传播信息的范围及其内容有控制能力
    不可抵赖性(可审计性)防止通信的实体在发送通信行为后否认其通信行为

    2、常见的网络攻击类型

    2-1)网络攻击的分类:

            根据是否直接影响源站和目的站的通信内容,分为主动攻击(影响)和被动攻击(不影响)两类;

            根据攻击的特征分为四类:

    类型定义攻击的安全要素
    中断攻击计算机或网络系统,使得其资源变得不可用或不能用可用性
    窃取访问未授权的资源机密性
    篡改截获并修改资源内容完整性
    伪造伪造信息真实性

    2-2)常见网络攻击:

    DOS 攻击的分类:

    2-3)常见网络攻击的防范措施

    网络攻击类型防范措施
    网络监听加密通信内容
    重放攻击添加时间戳
    DOS(拒绝服务攻击)、DDOS(分布式拒绝服务攻击)
    • 购买流量清洗设备或流量清洗服务
    • 部署CDN(内容分发网络)
    • 配置防火墙、IPS(入侵检测系统)
    • 部署网站防护系统 WAF(WAF防护应用层流量的拒绝服务攻击,适合防御 HTTP GET 攻击等。WAF 服务不提供四层及以下的流量防护,如 UDP Flood、SYN Flood)
    • 优化网络架构,采用负载均衡分流
    SQL 注入
    • 使用参数化的过滤性语句
    • 部署网站防护系统 WAF
    • 使用专业的漏洞扫描工具测试网站存在的漏洞并及时修复
    • 使用 IPS 、数据库防火墙等设备
    XSS 跨站脚本攻击
    • 验证用户所有输入的合法性
    • 对所有的输出数据进行适当的编码,防止任何已成功注入的脚本在浏览器端运行
    • 部署 WAF、IPS 等专业设备
    APT通过沙箱技术构造一个隔离的威胁检测环境,然后将网络流量送入沙箱进行隔离分析并最终给出是否存在威胁的结论。如果沙箱检测到流量是恶意流量,则可以通知防火墙(WF)实施阻断
    一句话木马
    • 限制文件上传的类型
    • 禁止上传目录的可执行权限
    • 禁用 eval 函数等
    • 服务器安装杀毒软件

    3、计算机病毒

    定义:编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机正常使用并且能够自我复制的 一组计算机指令 程序代码

    特征:潜伏性、传染性、可触发性、可执行性、破坏性、隐蔽性、病毒的针对性,攻击的主动性。

    病毒命名规则:病毒前缀、病毒名、病毒后缀

    3-1)常见病毒的前缀及其简要描述

    前缀病毒类型特征描述
    Boot引导区病毒通过感染磁盘的引导扇区进行传播的病毒
    DOSComDOS病毒只通过 DOS 操作系统进行复制和传播
    Worm蠕虫病毒

    通过网络或漏洞进行自主传播,并向外发送带毒邮件或通过即时通讯攻击发送带毒的文件

    (蠕虫:是一段可以借助程序进行自我传播的程序或代码)

    Trojan木马

    通常伪装成有用的程序诱骗用户主动激活,或利用系统漏洞入侵用户计算机。计算机感染特洛伊木马的典型现象是有未知程序试图建立网络连接

    木马会在用户或系统不知情的情况下执行额外的功能,例如远程控制、盗窃敏感数据、破坏系统等。木马会试图夺取计算机的控制权

    木马是一种后门程序,通常包含两个部分:服务端(植入受害主机)、客户端(在攻击者的主机上)。攻击者利用客户端程序与服务端建立联系,实现控制受害主机并执行入侵。

    Backdoor后门后门是在黑客成功入侵计算机后,为了以后能方便地进入该计算机而安装的一类软件。通过网络或系统漏洞入侵计算机并隐藏起来,方便用户远程控制
    Win32、PE、Win95、W32、W95文件型病毒或系统病毒感染可执行文件(如.exe、.com)、.dll文件的病毒。若与其他的前缀连用,表示病毒的运行平台
    Macro宏病毒宏语言编写,感染办公软件(Word、Excel),并且能够通过宏进行自我复制的程序
    Script、VBS、JS脚本病毒使用脚本语言编写,通过网页传播、感染、破坏或调用特殊指令下载并运行病毒、木马程序
    Harm恶意程序直接对被攻击主机进行破坏
    Joke恶作剧程序不会对计算机和文件产生破坏,但会对用户带来恐慌和麻烦,如控制鼠标
    勒索病毒勒索病毒是一种恶意软件,它通过加密文件、威胁删除文件等方式,迫使受害者支付一定的赎金(通常是比特币的形式)以解密文件或恢复数据。这种恶意软件通常是通过电子邮件、社交媒体等渠道传播。
    ARP病毒(ARP欺骗攻击)利用ARP协议的漏洞,通过向目标主机发送伪造的 ARP 请求或答应报文,使目标主机的 ARP 表项更新。从而使其将数据报文发送到攻击者指定的计算机上

    3-2)计算机病毒的预防方法

    • 安装杀毒软件及网络防火墙,及时更新病毒库,从网络下载文件后及时杀毒
    • 及时更新操作系统的补丁
    • 关闭多余的端口,做到使电脑在合理的范围内使用
    • 加强安全意识,不打开来历不明的邮件,浏览网页时不随意点开不确定的链接

    4、常见网络安全控制技术

    • 加密技术
    • 用户识别技术(识别访问者是否是合法授权的用户,防止非法访问)
    • 访问控制技术
    • 防火墙技术
    • 网络反病毒技术
    • 网络安全漏洞扫描技术
    • 入侵检测技术

    5、加强内防内控策略

    • 访问授权
    • 安全策略
    • 安全检查
    • 行为审计(上网行为管理)

    6、密码体制

            密码技术是保障网络与信息安全的基础与核心

            根据密钥是否可以公开,可以把密码体制分为对称密码体制和非对称密码体制

            明文:未经加密过的原数据内容;

            密文:经过某种加密算法加密后的数据内容;

            对称加密:加密和解密使用同一个密钥,该密钥不会公开;

            非对称加密:使用公钥私钥这样的一对密钥,加密和解密可以使用不同的密钥,其中公钥是可以公开的;

    6-1)对称加密

            是常规密码体制,使用共享的密钥算法。

            发送方和接收方保存相同的一个密钥,发送方使用该密钥来加密数据,而接收方使用这个密钥来解密密文。

    对称加密的优缺点:

            优点:加解密速度快,适合用于对长报文的加密和解密;

            缺点:存在密钥管理与同步的问题;

    常见的对称加密算法:

    对称加密算法名称密钥长度特点
    分组加密(块加密)DES实际位为56位,还有8位奇偶校验位明文分为64位一组。易实现,加密速度快,容易破译
    3DES第一、第三次使用相同的秘钥时,密钥为128位(112位有效);三次使用不同的密钥时,则密钥为192位(168位有效3DES是DES的拓展,是执行了三次的DES。加密速度快
    IDEA秘钥长度为128位明文、密文均为64位,更加安全,加密速度快
    AES可变秘钥长度(128、192、256)明文分为128位一组。美国高级加密标准,更高安全
    流加密RC4秘钥长度可变用于SSL协议,加密速度快

    6-2)非对称加密

            每个通信方都有自己的一对密钥:公开的公钥,不可公开的私钥。拥有公钥不能推导出私钥的特性

            ① 保密通信:用接收方的公钥加密数据,接收方使用期对应的私钥可以解密

            ② 数字签名:用发送方的私钥加密,接收方用发送方的公钥解密。

    非对称加密的优缺点:

            优点:没有秘钥管理和同步的问题;

            缺点:加密解密速度慢,适合对少量数据的加密和解密;

    常见的非对称加密算法:

            RSA、ECC、DSA、DH

    6-3)数字信封

             甲为发送方,乙为接收方。甲事先获取乙的公钥。具体的加密解密过程如下:

    1. 甲使用共享的对称密钥对明文进行加密,生成密文信息
    2. 甲再使用乙的公钥加密对称密钥,生成数字信封
    3. 甲将数字信封和密文信息一起发给乙
    4. 乙接收到甲的加密信息和数字信封后,先使用自己的私钥打开甲发送过来的数字信封,得到对称密钥
    5. 乙使用对称密钥解密甲发过来的密文信息,最终得到明文

    6-4)数字签名

             发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方。

            接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再用公钥来对报文附加的数字签名进行解密,如果这两个摘要相同,那么接收方就能确认该报文是发送方的。(发送方用自己的私钥签名,接收方用公钥验证签名)

    数字签名是基于非对称加密体制实现的,使 A 向 B 发送了签了名的消息 P,可以达到:

            ① B 可以验证消息 P 是否由 A 发送(验证发送方身份

            ② A 不能否认发送过消息 P (不可抵赖性

            ③ B 不能编造或改变消息 P (保障完整性

    6-5)数字证书

            数字证书又称为数字标识,是由证书签证机关(CA)签发的对用户的公钥的认证。签证机关将公钥与特定的实体进行绑定,并为其颁发数字证书,数字证书可以证实一个实体的真实身份。

            某网站向证书颁发机构(CA)申请了数字证书,用户通过 CA 的签名来验证网站的真伪。在用户与网站进行安全通信的时,用户可以通过证书中的公钥进行加密和验证,该网站通过网站的私钥进行解密和签名。

            目前数字证书的格式大多数是 X.509 格式,X.509 是由国际电信联盟制定的数字证书标准。在 X.509 标准的数字证书中,拥有以下的数据域:

    • 版本信息(通常为 X.509 V3)
    • 证书的序列号(每个证书的序列号都是唯一的)
    • 证书所使用的签名和算法
    • 证书的发行机构的名称
    • 证书的有效期;通常采用UTC格式,计时范围为 1950 —— 2049
    • 证书持有人的名称
    • 证书所有人的公钥
    • 证书发行者对证书的签名
    • 拓展信息(证书的用法、CRL的发布地址等可选字段。CRL即证书吊销列表,用于存放被撤销的证书)

           

            如果两个用户分别在两个不同的CA中申请了证书,则这两个用户互信的基础是这两个CA之间的信任关系。

    假定用户 A、B 分别在 I1 和 I2 两个CA 处取得了各自的证书,则A、B之间互信的必要条件是: I1 、I2 互换公钥

    6-6)报文摘要

            报文摘要是一种用于检查报文是否正确的方法。使用单向哈希函数算法(不可逆,加密后不能还原出明文)将任意长度的输入报文经计算得出固定位的输出 称为报文摘要。

            报文摘要能唯一代表报文的特征,结合数字签名,可以用于实现报文的鉴别,即对报文的完整性进行鉴别(防篡改、防伪造),也叫作数字指纹。

     

    常见的报文摘要算法:
    • MD5:产生128位的哈希值
    • SHA-1:产生160位的哈希值(SHA 安全散列算法)
    • SHA-256:产生256位的哈希值
    • SHA-384:产生384位的哈希值
    • SHA-512:产生512位的哈希值

    报文摘要与数字签名结合的使用过程:

            先使用报文摘要算法对报文生成报文摘要值 H,使用 A 的私钥对生成的报文摘要值进行签名,得到 D(H),将报文 X 和 D(H) 一同发往接收方。接收方 B 接收到后,先将 D(H) 和报文 X 进行拆分,使用 A 的公钥对 D(H) 进行解密核实,还原出报文摘要 H,B 再将原报文通过同样的报文摘要算法进行计算,得出自己计算出来的报文摘要,通过与解密出来的报文摘要进行比对,就可以判断出报文是否被篡改。

    6-7)对称密钥的分配

            在数据通信过程中,一般要使用对称加密实现机密性传输,而为了能安全分发对称密钥,可以借助权威的第三方机构 KDC(密钥分配中心)来实现。KDC 也称为 Kerberos 认证服务,它能实现在认证的过程中安全地分发对称密钥。

            KDC 由认证服务器 AS 和票据服务器 TGS 组成,两者也可以是同一台服务器。其中 AS 下发票据给用户,TGS 用于分配对称密钥。

    对称密钥的安全分发过程 :

           ( A 与 B 要实现一个安全通信,KDC 是 A 和 B 都信任的第三方机构。Ka 是主机 A 的密钥,Kb 是主机 B 的密钥,KDC 拥有 Ka 和 Kb。Ktg 是 KDC 自己的密钥,Ks 是主机 A 和 KDC 通信的密钥,Kab 是主机 A 和 主机 B 通信的密钥。)

            主机 A 向 AS 发送请求,AS 验证主机 A 的身份,确定 A 是合法的用户后,会返回两部分内容给主机 A,包括:使用 Ka 加密的 Ks,先使用 Ktg 加密,再使用 Ka 加密的主机 A 的信息以及 Ks。这样,主机 A 使用自己的密钥经过解密就可以得到与 TGS 通信的密钥 Ks。

            主机 A 再向 TGS 通信,利用 Ks 加密发送三个数据内容:当前的时间戳(防止重放攻击)、主机 B 的信息(表示要与主机 B 进行通信)、使用 Ktg 加密的 A 主机的信息和 Ks(AS 下发的初始票据)。

            TGS 拥有 Ktg 和 Ks,可以解密出来 A 主机的信息和 Ks,验证后,TGS 返回使用 Ks 加密的B主机的信息以及 Kab,返回使用 Kb 加密的 A 主机的信息以及 Kab。

            A 主机收到内容后,使用 Ks 解密出 Kab,则可以和 主机 B 发起通信,发送使用 Kab 加密的时间戳(防重放)、使用 Kb 加密的 A 主机的信息和 Kab 给主机B,尝试与主机 B 建立联系。

            主机 B接收到到内容后,可以使用 Kb 解密出 Kab,验证后,使用 Kab 返回一个 时间戳,表示确定。至此,Kab 就经过安全的方式分发给了两个需要建立通信的主机。

    7、SSL 安全套接层协议

            安全套接层(Secure Socket Layer,SSL)协议是 Web 浏览器与 Web 服务器之间安全交换信息的协议(传输层协议),即可与 HTTP 协议结合,称为 HTTPS 协议。

            HTTPS 协议在传输层中采用 TCP 协议,端口号为 443。

            SSL 的主要功能包括:服务器鉴别、加密会话、客户端鉴别(可选)

    SSL协议栈

    7-1)SSL 三大子协议

    SSL 握手协议:

            服务器与客户机的应用程序在传输和接收数据之前互相认证协商加密算法和密钥

    SSL 报警协议:

            用来传递 SSL 的相关警告。如果在通信过程中某一方发现任何异常,就给对方发送一条警告信息。

    SSL 记录协议:

            所有的 SSL 通信都使用 SSL 记录层,记录协议封装上层的握手协议、报警协议。

     

    7-2)SSL 在 HTTPS 的应用过程

    • 浏览器向服务器发送请求信息(包含协商 SSL 版本号、询问选择何种对称秘钥算法),开始新会话连接
    • 服务器返回浏览器请求信息,附加生成主密钥所需的信息,确定 SSL 版本号和对称密钥算法,发送服务器证书(包含 RSA 公钥),并使用某 CA 中心私钥加密。
    • 浏览器对照自己可信的 CA 表判断服务器证书是否在可信的 CA 表中,如果不在,则通信终止;如果在,则使用 CA 表中对应的公钥解密,得到服务器的公钥。
    • 浏览器随机产生一个对称密钥,使用服务器公钥加密,并发送给服务器
    • 浏览器和服务器互相发送一个报文,确定使用此对称密钥进行加密,在相互发送一个报文,确认浏览器和服务端的握手过程完成。
    • 握手完成后,双方使用该对称密钥对发送的报文进行加密

    7-3)SSL、TLS、SET

    安全协议要点功能
    SSL

    常与 HTTP 协议结合形成安全的应用层协议 HTTPS

    服务器鉴别(数字证书)

    加密的Web传输

    TLS安全的传输层协议,是 SSL 3.0 后的后继者,替代 SSL 协议
    SET

    安全的电子交易协议,专门为与支付有关的报文进行加密

    SET协议涉及到三方:客户、商家、银行。并要求三方都有证书

    8、PGP 协议

            可以实现电子邮件的机密传输,并保证期完整性,默认使用 MD5 进行数据的完整性验证。

           

    PGP 协议的邮件发送和接收过程

            发送方 A 有个密钥:自己的私钥、B 的公钥、由自己生成的一次性秘钥;

            接收方 B 有个密钥:自己的私钥、A 的公钥;

            发送方 A 对报文使用摘要算法计算得一个摘要,然后用自己的私钥对摘要做签名运算(加密)。将签了名的报文摘要与原报文放在一起,用自己的一次性密钥 K 进行加密,再用接收方 B 的公钥对秘钥 K 进行加密,一起传给接收方。

            接收方 B 在接收到报文后,使用自己的私钥解出一次性密钥 K,再用一次性密钥 K 解出加密的邮件内容及其报文摘要,并将两者分割出来。使用 A 的公钥将签了名的报文摘要做解密运算,得到原报文摘要,再将原报文做相同的 MD5 加密运算,将结果与原报文摘要做比对,则可以验证原报文是否被篡改(确认其完整性)。

    9、链路加密与端到端加密

    9-1)链路加密

            在采用链路加密的网络中,每条通信链路上的加密是独立实现的。通常每条链路上都使用不同的加密密钥。相邻的两个结点之间具有相同的密钥,因而密钥的管理易于实现。

            链路加密对用户来说是透明的,用户不需要关系链路的加密细节,加密的功能由通信子网提供。但是使用链路加密,明文信息会在中间节点暴露,所以还可以在中间结点引入单独的加密模块,形成结点加密。

     

    9-2)端到端加密

            端到端加密是在源结点和目的结点中对传送的 PDU(传输数据单元) 进行加密和解密,报文的安全性不会因中间结点的不可靠而受到影响。

  • 相关阅读:
    基于C语言的词法分析程序的设计与实现
    【代码分析】初学解惑C++:函数适配器
    使用CompletableFuture多线程异步任务优化查询接口性能
    计算机的磁盘与中断介绍
    Python3《机器学习实战》学习笔记(四):朴素贝叶斯实战篇之新浪新闻分类
    中项2022
    百度之星-新的阶乘提问
    如何开发LAXCUS分布式应用软件
    C++周周练【第一周】
    技术人员如何有效进行各种职场排挤、防止被排挤?
  • 原文地址:https://blog.csdn.net/hao_13/article/details/133687555