《白帽子讲Web安全》世界观安全

1.Web安全简史

1.1中国黑客简史

对于现代计算机系统来说,在用户态的最高权限是root,也是黑客们最渴望能够获取的系统最高权限。不想拿到“root”的黑客,不是好黑客。

在现实世界中,真正造成破坏的,往往并非那些挖掘并研究漏洞的“黑客们”,而是这些脚本小子。而在今天已经形成产业的计算机犯罪、网络犯罪中,造成主要破坏的,也是这些“脚本小子”。

1.2黑客技术的发展历程

从黑客技术发展的角度看,在早期,黑客攻击的目标以系统软件居多。运营商、防火墙对于网络的封锁,使得暴露在互联网上的非Web服务越来越少,且Web技术的成熟使得Web应用的功能越来越强大,最终成为了互联网的主流。黑客们的目光,也逐渐转移到了Web这块大蛋糕上。

1.3Web安全的兴起

2.黑帽子,白帽子

正如一个硬币有两面一样,“黑客”也有好坏之分。

在黑客的世界中,往往用帽子的颜色来比喻黑客的好坏。

3.返璞归真,揭秘安全的本质

安全问题的本质是信任的问题。

一切的安全方案设计的基础,都是建立在信任关系上的。我们必须相信一些东西,必须有一些最基本的假设,安全方案才能得以建立;如果我们否定一切,安全方案就会如无源之水,无根之木,无法设计,也无法完成。

4.破除迷信,没有银弹

安全是一个持续的过程。

5.安全三要素

6.如何实施安全评估

6.1资产等级划分

对互联网公司所拥有的资产进行等级划分,就是对数据做等级划分。

做资产等级划分的过程,需要与各个业务部门的负责人一一沟通,了解公司最重要的资产是什么,他们最着重的数据是什么。通过访谈的形式,安全部门才能熟悉、了解公司的业务,公司所拥有的数据,以及不同数据的重要程度,为后续的安全评估过程指明方向。

6.2威胁分析

在本书中介绍一种威胁建模的方法,它最早是由微软提出的,叫做STRIDE模型。

威胁

定义

对应的安全属性

Spoofing(伪装)

冒充他人身份

认证

Tampering(篡改)

修改数据或代码

完整性

Repudiation(抵赖)

否认做过的事情

不可抵赖性

InformationDisclosure(信息泄露)

机密信息泄露

机密性

Denial of Service(拒绝服务)

拒绝服务

可用性

Elevation of Privilege(提升权限)

未经授权获得许可

授权

6.3风险分析

如何更科学地衡量风险呢?这里再介绍一个DREAD模型,它也是由微软提出的。

等级

高(3)

中(2)

低(1)

Damage Potential

获取完全验证权限;

执行管理员操作;

非法上传文件

泄露敏感信息

泄露其他信息

Reproducibility

攻击者可以随意再次攻击

攻击者可以重复攻击,但有时间限制

攻击者很难重复攻击过程

Exploitability

初学者在短期内能掌握攻击方法

熟练的攻击者才能完成这次攻击

漏洞利用条件非常苛刻

Affected users

所有用户,默认配置,关键用户

部分用户,非默认配置

极少数用户,匿名用户

Discoverability

漏洞很显眼,攻击条件很容易获得

在私有区域,部分人能看到,需要深入挖掘漏洞

发现该漏洞及其困难

6.4设计安全方案

作为安全工程师,要想的就是如何通过简单而有效的方案,解决遇到的安全问题。安全方案必须能够有效抵抗威胁,但同时不能过多干涉正常的业务流程,在性能上也不能拖后腿。

好的安全方案对用户应该是透明的,尽可能地不要改变用户的使用习惯。

7.白帽子兵法

7.1 Secure By Default原则

按照白名单的思想,应该根据业务需求,列出一个允许使用的软件以及软件版本的清单,在此清单外的软件则禁止使用。如果允许工程师在服务器上随意安全软件的话,则可能会因为安全部门不知道、不熟悉这些软件而导致一些漏洞,从而扩大攻击面。

通配符“*”,代表来自任意域的Flash都能访问本域的数据,因此就造成了安全隐患。

所以在选择使用白名单时,需要注意避免出现类似通配符“*”的问题。

最小权限原则要求系统只授权主体必要的权限,而不要过度授权,这样能有效地减少系统、网络、应用、数据库出错的机会。

7.2 纵深防御原则

纵深防御并不是同一个安全方案要做两边或多遍,而是要从不同的层面、不同的角度对系统做出整体的解决方案。

它要求我们深入理解威胁的本质,从而做出正确的应对措施。

7.3 数据与代码分离原则

在Web安全中,由“注入”引起的问题比比皆是,此类问题均可以根据“数据与代码分离原则”设计出真正安全的解决方案,因为这个原则抓住了漏洞形成的本质原因。

7.4 不可预测性原则

不可预测性能有效地对抗基于篡改、伪造的攻击。

不可预测性的实现往往需要用到加密算法、随机数算法、哈希算法。

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

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

相关文章

10秒去除WPS Office弹窗广告教程(2023.3.31最新)

目录 前言 步骤 1. 右击WPS Office,打开文件所在目录 2. 打开第二个文件夹 3. 进入office 6文件夹 4. 找到文件ksomisc.exe 5. 右击选择以管理员身份运行 6. 打开后是下面的界面,点击“高级(A)...” 7. 按照下图操作 8. 最后点击退出就设置完…

Mybatis配置之属性优化理解【transactionManager、dataSource、properties】

文章目录一.Mybatis配置之属性优化1.1 配置解析1.2 默认配置环境1.2.1 事务管理器(transactionManager)了解即可。1.2.2 数据源(dataSource)1.3 属性(properties)一.Mybatis配置之属性优化 1.1 配置解析 …

PyTorch 深度学习实战 |用 TensorFlow 训练神经网络

为了更好地理解神经网络如何解决现实世界中的问题,同时也为了熟悉 TensorFlow 的 API,本篇我们将会做一个有关如何训练神经网络的练习,并以此为例,训练一个类似的神经网络。我们即将看到的神经网络,是一个预训练好的用…

达梦回滚表空间的空间占用和释放

我们知道DML和DDL的区别之一是DML(INSERT、UPDATE、DELETE)操作数据库会产生重做日志和回滚日志,DDL不会产生重做日志和回滚日志,本章从系统表和动态视图上来分析达梦数据库DML和DDL对回滚表空间的占用,以及达梦回滚表…

C++11:可变参数模板/lambda表达式

1.可变参数模板 C11的新特性可变参数模板能够让我们创建可以接受可变参数的函数模板和类模板,相比C98和C03,类模板和函数模板中只能含固定数量的模板参数,可变参数模板无疑是一个巨大的改进。可是可变参数模板比较抽象,因此这里只…

vue路由守卫死循环及路由守卫使用

当前业务要求: 通过判断本地sessionstorge判断当前是否需要登陆页面 问题场景:用户登陆进入页面内部,点击退出登录,清除本地用户信息,页面跳转至登陆页面,使用浏览器的回退可以正常返回至项目内部。需要改…

kettle开发篇-更新-Day38

目录 前言: 一、更新组件介绍 1.1界面 1.2废话介绍 1.3重点解释 二、应用案例 2.1转换效果 2.2转换简介 三、总结 前言: 前面我们通过oracle的索引来处理单表超1亿的数据量表的查询问题,通过针对主键,展示的维度做多套索引…

如何使用码匠连接 GaussDB

目录 在码匠中集成 GaussDB 在码匠中使用 GaussDB 关于码匠 GaussDB 是华为推出的一个高性能、高可靠、高安全的分布式数据库管理系统。它采用多活架构,支持全球数据同步,可实现数据的实时同步和容灾备份,可满足不同业务场景下的数据管理…

《钢琴调律原理及应用》 笔记

【第一章 绪论】第一节 钢琴调律的概念 美国人威廉布雷德怀特于 1917 年发表了世界上第一部关于钢琴调律理论与技术的著作,书名为《钢琴调律与相关技术》 福岛琢郎于1950年发表一部名为《钢琴的构造调律修理》的专著 80年代初,在沈阳音院任教的张琨先生…

蓝桥杯正确的解题姿势

在做算法题的过程中最忌讳的就是上来就一顿乱敲,一开始我就是这样,但随着不断的刷题和老师的指导,总结了自己的刷题方法 示例题目 三角回文数 问题描述 对于正整数 n, 如果存在正整数 k使得 n123...kk(k1)/2 , 则 n 称为三角数。例如, 66066 …

弱监督实例分割 Box-supervised Instance Segmentation with Level Set Evolution 论文笔记

弱监督实例分割 Box-supervised Instance Segmentation with Level Set Evolution 论文笔记一、Abstract二、引言三、相关工作3.1 基于 Box 的实例分割3.2 基于层级的分割四、提出的方法4.1 图像分割中的层级模型4.2 基于 Box 的实例分割在 Bounding Box 内的层级进化输入的数据…

CentOS7+LAMP+DVWA靶机搭建

一、什么是DVWA Damn Vulnerable Web Application (DVWA)(译注:可以直译为:"该死的"不安全Web应用程序),是一个编码差的、易受攻击的 PHP/MySQL Web应用程序。 它的主要目的是帮助信息安全专业人员在合法的环境中,练习…

【自动化】selenium配置步骤 | 备份本地资源

1、安装jdk 2、设置环境变量 .1、CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar .2、JAVA_HOME C:\Program Files\Java\jdk1.8.0_231 .3、PATH 新增 %JAVA_HOME%\bin 3、安装chrome 版本:85.0.4183.83 4、禁用chrom…

AOP配置管理

AOP配置管理4,AOP配置管理4.1 AOP切入点表达式4.1.1 语法格式4.1.2 通配符4.1.3 书写技巧4.2 AOP通知类型4.2.1 类型介绍4.2.2 环境准备4.2.3 通知类型的使用前置通知后置通知环绕通知基本使用注意事项返回后通知异常后通知通知类型总结知识点1:After知识…

基于SpringBoot+SpringCloud+Vue前后端分离项目实战 --开篇

本文目录前言做项目的三大好处强强联手(天狗组合)专栏作者简介专栏的优势后端规划1. SpringBoot 和 SpringCloud 的选择2. Mybatis 和 MybatisPlus 和 JPA 的选择3. MySQL 和 Mongodb 的选择4. Redis 和 RocketMQ5. 后端规划小总结后端大纲提前掌握的知识点一期SpringBoot二期S…

经典文献阅读之--LOCUS 2.0(LiDAR为中心的多传感器LSLAM)

0. 简介 在20年DARPA地下挑战赛中CoSTAR队伍提出了LOCUS这个深度学习模块,在两年后LOCUS2.0出世,LOCUS 2.0包括一种新的基于法线的广义迭代最近点(GICP)公式,该公式减少了点云对齐的计算时间,一种自适应体…

PowerTCP Sockets for .NET 6.1.5 Crack

PowerTCP Sockets for .NET PowerTCP Sockets for .NET 包含易于使用的 TCP 和 UDP 组件,可帮助您创建 Internet 客户端应用程序,只需几行代码和方便的事件。Ping 组件使用 ICMP、UDP 和 TCP 启用服务器验证,而跟踪组件执行异步跟踪路由以实…

三、数据链路层

(一)纠错与检错1、奇偶校验码(再研究下,原理知道,具体过程无法重现)分为奇校验和偶校验,奇偶校验位在首部或尾部,奇偶校验满信息位奇偶校验位(1)原理&#xf…

多线程 (七) 阻塞队列的使用及其实现

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

科大奥瑞物理实验——交流电桥

实验名称:交流电桥 1. 实验目的: 掌握电桥平衡原理、平衡条件;理解交流电桥构造,熟悉交流电桥平衡方法;分析平衡过程中各桥臂调节顺序,判断最佳平衡点;理解复阻抗概念,电桥平衡时复…