APT、对称加密、非对称加密、SSL工作过程技术的介绍

1. APT的简单介绍

APT全称:Advanced Persistent Threat 高级可持续威胁攻击。

指的是某组织对特定对象展开持续有效的攻击活动。

这种攻击活动具有极强的隐蔽性和针对性,通常会运用受感染的各种介质,供应链和社会工程学等手段,实施先进的、持久的有效的威胁和攻击。

APT攻击是一个集合了多种常见攻击方式的综合攻击,综合多种攻击途径来尝试突破网络防御,通常是通过web或者电子邮件传递,利用应用程序或者操作系统的漏洞,利用传统的网络保护机制无法提供统一的防御。除了使用多种途径,高级定向攻击还采用多个阶段穿透一个网络,然后提取有价值的信息。使得它的攻击更不容易被发现。

2.APT 的攻击过程

①扫描探测:在APT攻击中,攻击者会花几个月甚至更长的时间对“目标”网络进行踩点,针对性地进行信息手机,目标网络环境探测,线上服务器的分布情况,应用程序的弱点分析,了解业务情况,员工信息等。

②攻击投送:在多数情况下,攻击者会向目标公司的员工发送邮件,诱骗其打开恶意附件,或者单击一个经过伪造的恶意URL,希望利用常见软件的0day漏洞,投送其恶意代码,一旦到位,恶意软件可能会复制自己,用微妙的改变使得每个实例都看起来不一样,并且伪装自己,以躲避扫描,也会关闭防病毒扫描引擎,经过清理后重新安装,或者潜伏数天或数周,恶意代码也能被携带在笔记本电脑、USB设备里,或者基于云的文件共享来感染一台主机,并且连接到网络时横向传播。

③漏洞利用:利用漏洞,达到攻击的目的,攻击者通过投送恶意代码,并且利用目标企业使用的软件中的漏洞执行自身,而如果漏洞利用成功的话,你的系统将收到感染。普通用户系统忘记打补丁是很常见的,所以塔恩很容易受到已知和位置的漏洞利用攻击,一般来说,通过使用零日攻击和社会工程技术,即使最新的主机也可以被感染,特别是当这个系统脱离企业网络后。

④木马植入:随着漏洞利用成功,更多的恶意软件的可执行文件一一击键记录器、木马后门、密码破解和文件采集程序被下载和安装。这意味着,犯罪分子现在已经建成了进入系统的长期控制机制。

⑤远程控制:一旦恶意软件安装,攻击者就已经从组织防御内部建立了一个控制点。攻击者最常安装的就是远程控制工具。这些远程控制工具是以反向连接模式建立的。其目的就是允许从外部控制员工电脑或服务器,即这些工具从位于中心的命令和控制服务器接受命令,然后执行命令,而不是远程得到命令,这种连接方法使其更难以检测,因为员工的机器是主动与命令和控制服务器通信而不是相反。

⑥横向渗透:攻击者首先突破的员工个人电脑并不是攻击者感兴趣的,它感兴趣的是组织内部其它包含重要资产的服务器。因此,攻击者将以员工个人电脑为跳板,在系统内部进行横向渗透攻陷更多的PC和服务器。攻击者采取的横向渗透方法包括口令窃听和漏洞攻击等。

⑦目标行动:也就是将敏感数据从被攻击的网络非法传输到由攻击者控制的外部系统。在发现有价值的数据后,APT攻击者往往要将数据收集到一个文档中,然后压缩并加密该文档。此操作可以使其隐藏内容,防止遭受深度的数据包检查和DLP技术的检测和阻止。然后将数据从受害系统偷运出去到由攻击者控制的外部。大多数公司都没有针对这些恶意传输的目的地分析出站流量。那些使用工具监控出站传输的组织也只是寻找“已知的”恶意地址和收到严格监管的数据。

3.APT的防御技术

防御APT攻击最有效的方法就是沙箱技术,通过沙箱技术构造一个隔离的威胁检测环境,然后将网络流量送入沙箱进行隔离分析并最终给出是否存在威胁的结论。如果沙箱检测到该流量为恶意流量,则可以通知FW实施阻断。

针对APT攻击的防御过程如下:

黑客(攻击者)向企业内网发出APT攻击,FW从网络流量中是被并提取需要进行APT检测的文件类型。

FW将攻击流量还原成文件送入沙箱进行威胁分析。

沙箱通过对文件进行威胁检测,然后将检测结果返回给FW。

FW获取检测结果后,实施相应的动作,如果沙箱分析出该文件是一种恶意攻击文件,FW则可以实施阻断操作,防止该文件进入企业内网,保护企业内网免遭攻击。

APT防御与反病毒的差异:

反病毒系统通常是将病毒文件的特征与病毒特征库进行对比来识别一个文件是否为病毒文件。这种防御方式具有一定的局限性,就是只能针对已知病毒进行防御,而无法是被未知攻击。

APT防御机制则有别于反病毒系统。APT防御系统中的沙箱可以看作是一个模拟真实网络建造的虚拟检测系统,未知文件放入沙箱以后将会被运行,沙箱中的收集程序会记录该文件被运行以后的行为。沙箱通过将未知文件的行为和沙箱独有的行为模式库进行匹配,最后给出该程序是否为恶意程序的定性结论。沙箱的行为模式库是通过分析大量的的病毒、漏洞、威胁特征,提炼出各种恶意行为的规律和模式,并形成一套判断规则,因此能提供准确的检测结果。

总体来看,反病毒系统是以被检测对象的特征来是被攻击对象,APT防御系统是以被检测对象的行为来识别攻击对象。

沙箱处理流程:

4.对称加密

对称加密指的就是加密和解密使用同一个秘钥,所以叫对称加密。对称加密只有一个秘钥,作为私钥。

加密过程:

加密: 原文+密钥 = 密文

解密:密文-密钥 = 原文

常见的对称加密算法: DES, AES, 3DES等

特点:

优点 - 算法简单,加解密容易,效率高,执行快。

缺点 - 相对来说不安全,只有一把钥匙,密文如果被拦截,且密钥被劫持,那么信息很容易被破译。

5.非对称加密

非对称加密指的是:加密和解密使用不同的秘钥,一把作为公开的公钥,另一把作为私钥。公钥加密的信息,只有私钥才能解密。

私钥加密的信息,只有公钥才能解密。

常见的给对称加密: RSA,ECC

区别:

对称加密算法,加解密的效率要高很多。但是缺陷在于对秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用。

特点:

优点- 安全,即使密文和公钥被拦截,但是由于无法获取到私钥,也就无法破译到密文。

缺点- 加密算法复杂,安全性依赖算法和密钥, 且加密和解密效率很低。

6.私密性的密码学应用

身份认证技术的应用:

身份认证:通过标识和鉴别用户身份,防止攻击者假冒合法用户来获取访问权限。

身份认证技术:在网络中确认操作者身份的过程而产生的有效解决方法。

如何确认信息的发送者一定是本人?

发送者是alice,使用非对称算法,生成私钥A,公钥B。

1. alice把公钥给bob

2. alice发送信息hello,world!

3. alice把发送的信息用对称加密算法加密到加密信息C。

4. alice把发送的hello,world!先用hash算法计算得到hash值D。

5. alice把hash值D用非对称加密计算得到E。E值就是用于身份验证的。

6. alice把C,E一起发给bob。

7. bob收到C,E值,先用非对称的公钥对E进行解密,如果能正常解开则证明C值是alice的。

在上述1中如果黑客换了Alice的公钥,那么就会出现身份认证漏洞。

解决的办法:

Alice把公钥给bob的环节能确保是安全的,一定是Alice给的。

想办法证明Alice的公钥一定是Alice的。

7.非对称加密解决身份认证问题的办法

使用公钥加密进行身份验证,其中使用发件人的私钥对消息进行签名,并且可以由有权访问发件人公钥的任何人验证。

发件人可以将消息与私钥结合起来,在消息上创建一个简短的数字签名。任何拥有发件人相应公钥的人都可以通过公钥解密后,将该消息与数字签名进行比较;如果签名与消息匹配,则验证消息的来源

8. 解决公钥身份认证问题的方法

通过公钥的“身份证”-----数字证书来认证

数字证书包含:

用户身份信息

用户公钥信息

身份验证机构的信息及签名数据

数字证书分类:

签名证书----身份验证,不可抵赖性。

加密证书----加密,完整性与机密性。

利用公钥技术简历的提供安全服务的基础设施。通过第三方的可信机构,CA认证中心把用户的公钥与用户的其他标识信息捆绑在一起放在用户证书中,在互联网上验证用户身份。

9. 简述SSL工作过程

  1. 客户端浏览器发送一个消息,表示要和网站简历安全SSL连接

  1. 网站服务器响应客户端请求,发给客户端两样东西:网站服务器自己的证书(内含网站的公钥)、一个随机值

  1. 客户端浏览器验证网站服务证书是否可信

  1. 客户端利用网站服务其发的随机值生成会话密钥

  1. 客户端浏览器和网站服务器开始协商加密算法和密钥长度

  1. 协商成功后,客户端浏览器利用网站的公钥将生成的会话密钥加密,然后传送给网站服务器。

  1. 网站服务器收到客户端发送的利用网站服务器自己公钥加密的会话密钥,然后用自己的私钥解密出会话密钥,由此得到了安全的会话密钥

  1. 网站服务器再随机生成一个信息,用解密后的会话密钥加密该随机信息后发送给客户端浏览器(目的是让客户端认证服务器)

  1. 浏览器收到随机信息后,用会话密钥解密出信息(自然就认证了服务器),接着浏览器用自己的私钥对此信息做数字签名,连带客户端自己的证书(内含公钥),一起发送给网站服务器(目的是服务器认证客户端)

无客户端认证的握手过程

有客户端认证的握手过程

会话恢复过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/4338.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Vue全家桶】细说slot

【Vue全家桶】细说slot 文章目录【Vue全家桶】细说slot前言一、认识插槽Slot1.1 插槽的基本使用二、插槽的使用2.1 默认内容2.2 剧名插槽2.3 作用域插槽前言 我们已经了解到组件能够接收任意类型的 JavaScript 值作为 props,但组件要如何接收模板内容呢?…

【翻译】使用Go生成一个随机字符串(密码)

来源: Generate a random string (password) YourBasic Go https://yourbasic.org/golang/generate-random-string/ Random string 随机字符串 This code generates a random string of numbers and characters from the Swedish alphabet (which includes the non…

Linux内核查询

使用uname命令查找Linux内核 uname是用于获取系统信息的Linux命令。您也可以使用它来确定您使用的是32位还是64位系统。 打开一个终端并使用以下命令: [linuxmilinux:~/www.xxx.com]$ uname -r 输出将类似于以下内容: 5.3.0-28-generic 这意味着您正在…

【CocosCreator入门】CocosCreator组件学习 | Sprite(精灵)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中 Sprite 组件是最常用的之一。Sprite 组件用于渲染 2D 图像,并提供了许多可配置的选项,如图像纹理、尺寸、位置、旋转等。在本文中,我们将深入探讨 …

如何成为一个优秀的产品经理?

通过本文您可以清楚地了解产品经理的角色和职责,教您如何摇身一变成为优秀的产品经理的技巧等。 一、什么是产品经理? 产品经理主要的职责在于确定客户需求、将产品或功能实现商业目标的最大化、将产品打造成最终成功的样子,并召集团队将这…

python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

什么是接口测试 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。  一般来说,测试接…

【Qt】Qt单元测试详解(一):通过QtCreator创建测试工程

1、简述 Qt程序支持多种测试框架,其中QtCreator可以协助创建4种测试框架,分别是: Boost的测试框架——Boost.Test Google测试框架——GTest Qt测试框架——QTest Qt Quick测试框架——QtQuickTest其他框架需要自行创建:Catch2、CTest 2、QtCreator创建测试工程 2.1 创建…

jenkins+sonarqube+自动部署服务

一、jenkins 配置Pipeline 二、新建共享库执行脚本 共享库可以是一个普通的gitlab项目,目录结构如下 三、添加到共享库 Jenkins Dashboard–>系统管理–>系统配置–>Global Pipeline Libraries Name: 共享库名称,自定义即可; Defa…

从CNN到Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类

我国高分辨率对地观测系统重大专项已全面启动,高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成,将成为保障国家安全的基础性和战略性资源。随着小卫星星座的普及,对地观测已具备多次以上的全球覆盖…

输出数组的长度-课后程序(JavaScript前端开发案例教程-黑马程序员编著-第3章-课后作业)

【案例3-5】输出数组的长度 一、案例描述 考核知识点 length()方法 练习目标 掌握length()方法获取数组长度。掌握数组的遍历。 需求分析 数组中保存五个学生的数学成绩,遍历数组分别获取每一个学生的数学成绩分数,用length()函数获取数组的长度。 案…

帝国CMS7.2/7.5火车头配置说明以及使用教程

一淘模板 56admin.com给大家写一个帝国cms火车头采集器配置的教程,由于录视频太麻烦,所以直接打字上图了,希望能帮助到小伙伴! 火车头简要来讲分为 3 个部分的配置:1、发布地址配置;2、文件保存地址与图片…

数据结构|AOE网活动的最早、最迟发生时间及关键路径问题

一些知识点: 整个活动的完成时间是AOE图中从始点到终点的最长路径的长度,这条路径称为关键路径。关键路径上的活动称作关键活动。 注意:关键路径不一定只有一条。 1.最早发生时间:从前往后,前驱结点到当前结点所需时…

SpringBoot使用详解

概念 Spring Boot的启动器实际上就是一个依赖。这个依赖中包含了整个这个技术的相关jar包,还包含了这个技术的自动配置,以前绝大多数XML配置都不需要配置了。 如果是Spring自己封装的启动器的artifact id名字满足:spring-boot-starter-xxxx&…

Java分布式锁面试题

1.为什么需要分布式锁? public synchronized void test() {System.out.println("获取到锁"); } public void test2() {synchronized (Test.class) {System.out.println("获取到锁");} }假设我们把上述代码部署到多台服务器上,这个互斥锁还能生…

BPI-R3开发板 - atf编译

一. 获取源码 https://github.com/mtk-openwrt/arm-trusted-firmware 二. 编译步骤 和编译uboot一样,编译环境为ubuntu 18.04。交叉编译工具链我用的是openwrt编译生成的工具链,并设置到环境变量,如下: export PATH$PATH:/root/mt…

【大屏设计方案】

大屏设计方案一、非等比放大(填充满整个屏幕)目的屏幕比例大小和设计稿的差的不多目的屏幕比例大小和设计稿的差很多二、等比放大(比如16:9)解决方案之后就可以用rem了,有两种便利的方式:也可以用media 根据不同的屏幕…

膳食真菌在癌症免疫治疗中的作用: 从肠道微生物群的角度

谷禾健康 癌症是一种恶性肿瘤,它可以发生在人体的任何部位,包括肺、乳房、结肠、胃、肝、宫颈等。根据世界卫生组织的数据,全球每年有超过1800万人被诊断出患有癌症,其中约有1000万人死于癌症。癌症已成为全球范围内的主要健康问题…

@LoadBalanced注解原理

1.概述 使用注解就像是在代码中加入了一段魔法,让我们轻而易举的就实现了至关重要的功能。 就像LoadBalanced一样,将该注解使用在RestTemplate的Bean上,就可以实现负载均衡,就像下面这段代码: Configuration public…

新手UI设计师必读:火爆海外设计圈的设计资源!

Hello,各位好! 作为一名新手UI设计师,你是否无法完全搞清楚某些UI设计的基本原则和概念?你是否为使用哪款设计软件来开启你的设计之路而困扰?你是否想要在线学习设计排版、色彩搭配、形状和线条设计? 今天这…

rabbitMQ的详细介绍

1.概述 RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员…