当前位置: 首页 > news >正文

一、安全世界观

文章目录

  • 1、 Web安全简史
    • 1.1 中国黑客简史
    • 1.2 黑客技术的发展历程
    • 1.3 web安全的兴起
  • 2、黑帽子、白帽子
  • 3、安全的本质
  • 4、安全三要素
  • 5、如何实施安全评估
    • 5.1 资产等级划分
    • 5.2 威胁分析
    • 5.3 风险分析
    • 5.4 设计安全方案
  • 6、白帽子兵法
    • 6.1 Secure By Default
    • 6.2 纵深防御原则
    • 6.3 数据与代码分离原则
    • 6.4 不可预测性原则
  • 参考文献

1、 Web安全简史

   Hacker:即黑客,在计算机安全领域,黑客是一群破坏规则、不喜欢被约束的人,总想着能够找到系统的漏洞,以获得一些规则以外的权力。
   exploit:能够帮助黑客拿到“root”权限的漏洞利用代码。
   Script Kids:即脚本小子,只对攻击本身感兴趣,对计算机原理和各种编程能力了解粗浅,只懂得编译别人的代码的黑客。

1.1 中国黑客简史

  • 启蒙时代(20世纪90年代–21世纪初):这个时期的中国黑客与西方国家同期诞生的黑客精神一脉相承,他们崇尚分享、自由、免费的互联网精神,热衷分享自己的最新研究成果,
  • 黄金时代(21世纪初-2010年左右):中美黑客大战为标志,这一时期的黑客逐渐开始贩卖漏洞、恶意软件,开始出现以赢利为目的的攻击行为。
  • 黑暗时代(2010年左右-至今):黑客的功利性越来越强,黑色产业链开始成熟,此时期的黑客群体一位内互相之间缺失信任已经不再具有曾经free、open、share的黑客精神了。

1.2 黑客技术的发展历程

  早期互联网中,web并非互联网的主流应用,相对来说,基于SMTP、POP3、FTP等协议的服务拥有着绝大多数的用户。因此,这一阶段的黑客主要攻击网络、操作系统以及软件等。2003年的冲击波蠕虫是一个里程碑式的事件,此次事件使得网络运运营商加大了对网络的封锁,使得暴露在互联网上的非web服务越来越少,且wen技术的成熟使得web应用的功能越来越强大,最终成为互联网的主流。

1.3 web安全的兴起

  • web1.0时代:人们更加关注服务器端动态脚本的安全问题,比如将一个可执行脚本(俗称webshell)上传到服务器上,从而获取权限。
  • web2.0时代:XSS、CSRF等攻击变得更为强大、web攻击的思路也从服务端转向了客户端,转向了浏览器和用户。

❗️❗️❗️SQL注入、XSS是web安全史上的两个里程碑。

2、黑帽子、白帽子

  🌚黑帽子,指利用黑客技术造成破坏,甚至进行网络犯罪的群体;
  🌝白帽子,指精通安全技术,工作在反黑客领域的专家。

二者在工作时的心态完全不同🙀🙀🙀:
  - 对黑帽子而言,只要找到系统的一个弱点,就可以达到入侵系统的目的;
  - 对白帽子而言,必须找到系统的所有弱点,不能有遗漏,这样才能保证系统不会出问题。

3、安全的本质

安全的本质是信任问题!

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

数据从高等级的信任域流向低等级的信任域,是不需要经过安全检查的;数据从低等级的信任域流向高等级的信任域,则需要经过信任边界的安全检查。

4、安全三要素

  • 机密性:要求保护数据内容不能泄露,加密是实现机密性要求的常见手段。
  • 完整性:要求保护数据内容是完整的、没有被篡改的。常见的保证完整性的技术手段是数字签名。
  • 可用性:要求保护资源是“随需而得”。拒绝服务攻击破坏的是安全的可用性。

5、如何实施安全评估

一个安全评估过程,可分为4个阶段:

  1. 资产等价划分
  2. 威胁分析
  3. 风险分析
  4. 确认解决方案

5.1 资产等级划分

  资产等等级划分是所有工作的基础,这项工作可以帮助我们明确目标是什么,要保护什么。在互联网已经完善的今天,互联网的核心其实是由用户数据驱动的——用户产生业务,业务产生数据。故:

互联网安全得核心问题是数据安全问题。

  对互联网公司拥有的资产进行等级划分,就是对数据做等级划分。在完成资产等级划分后,对要保护的目标有了一个大概的了解,接下来就需要划分信任域和信任边界。例如,假如最重要的数据放在数据库里,那么把数据库的服务器圈起来;Web应用可以从数据库在读/写数据,并对外提供服务,再把Web服务器圈起来;最外面就是不可信任的Internet。
在这里插入图片描述

5.2 威胁分析

  在安全领域,把可能造成危害的来源称为威胁(Threat)😨,把可能会出现的损失称为风险(Risk)😨。
  什么是威胁分析?威胁分析就是把所有的威胁找出来。这里介绍微软提出的STRIDE模型

在这里插入图片描述
  在进行威胁分析时,要尽可能地不遗漏威胁,头脑风暴地过程可以确定攻击面(Attack Surface)。

5.3 风险分析

  这里主要介绍微软提出的DREAD模型:
在这里插入图片描述

5.4 设计安全方案

  安全评估的产物,就是安全解决方案。解决方案一定要有针对性,这种针对性是由资产等级划分、威胁分析、风险分析等阶段的结果给出的。
  从产品的角度来看,安全是产品的一种属性,一个从未考虑过安全的产品,至少是不完整的。

6、白帽子兵法

  安全评估最后的产物是安全方案,这一部分主要讲具体设计安全方案时会用到的技巧。

6.1 Secure By Default

  在设计安全方案时,最基本也是最重要的原则就是“Secure By Dafault”,其主要有两层含义:白名单、黑名单思想和最小权限原则。

(1)白名单、黑名单
  以用户访问网站为例,白名单是设置能访问的用户,白名单以外的用户不能访问;黑名单则是设置不能访问的用户,黑名单以外的用户都能访问。
(2)最小权限原则
  最小权限原则要求系统只授予主体必要的权限,而不要过度授权。例如,在linux系统中,用户分为普通用户和root用户。

6.2 纵深防御原则

  纵深防御原则包含两层含义:

  • 第一,要在各个不同层面、不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体;
  • 第二,要在正确的地方做正确的事,即在解决根本问题的地方实施针对性的安全方案。

6.3 数据与代码分离原则

  数据与代码分离原则是重要的安全准则,这一原则广泛适用于各种由于“注入”而引发安全问题的场景。

6.4 不可预测性原则

  上述:Secyre By Defualt,是时刻要牢记的总则;纵深防御,是要更全面、更正确地看待问题;数据与代码分离,是从漏洞成因上看问题;而,不可预测性是从克服攻击方法的角度看问题。
  比如,windows中使用的ASLR技术,使得程序在启动时,每次地栈基址都不同,具有一定的随机性,对于攻击者来说,这就是不可预测性。不可预测性,能有效对抗基于篡改、伪造的攻击。不可预测性地实现往往需要使用到加密算法、随机数算法、哈希算法。

参考文献

  • 《白帽子讲web安全》

相关文章:

一、安全世界观

文章目录 1、 Web安全简史1.1 中国黑客简史1.2 黑客技术的发展历程1.3 web安全的兴起 2、黑帽子、白帽子3、安全的本质4、安全三要素5、如何实施安全评估5.1 资产等级划分5.2 威胁分析5.3 风险分析5.4 设计安全方案 6、白帽子兵法6.1 Secure By Default6.2 纵深防御原则6.3 数据…...

爬虫014_文件操作_打开关闭_读写_序列化_反序列化---python工作笔记033

报错,没有指定路径,没有指定路径无法创建文件 这样可以在当前目录下创建一个可写的文件 可以看到找到刚才生成的文件,看看内容...

企业前后端分离软件架构如何设计?

企业前后端分离软件架构的设计涉及到前端和后端的独立性、通信方式、数据流管理等多个方面。下面我将为你介绍一个常见的前后端分离软件架构设计: 1、前端层: 框架选择:选择适合项目需求的前端框架,例如React、Vue.js、Angular等…...

生产执行MES系统:提升企业灵活性和响应速度的关键利器

在竞争激烈的市场环境下,企业需要不断提高其灵活性和响应速度,以适应快速变化的需求和市场动态。生产执行MES(Manufacturing Execution System)系统作为信息技术的重要应用,为企业提供了强大的工具和平台,能…...

什么是分布式系统,如何学习分布式系统

正文 虽然本人在前面也写过好几篇分布式系统相关的文章,主要包CAP理论,分布式储存与分布式事务,但对于分布式系统,并没有一个跟清晰的概念。分布式系统涉及到很多的技术、理论与协议,很多人也说,分布式系统…...

数据库锁表 Lock wait timeout exceeded; try restarting transaction

锁等待超时 Lock wait timeout exceeded; try restarting transaction,是当前事务在等待其它事务释放锁资源造成的 解决办法 1、数据库中执行如下sql,查看当前数据库的线程情况: show full PROCESSLIST2、再到 INNODB_TRX 事务表中查看&…...

Oracle 知识篇+分区表上的索引由global改为local注意事项

★ 知识点 二、知识点 Local型索引有如下优点 1.Only one index partition must be rebuilt when a maintenance operation other than SPLIT PARTITION or ADD PARTITION is performed on an underlying table partition. 2.The duration of a partition maintenance opera…...

基于2.4G RF开发的无线游戏手柄解决方案

平时喜欢玩游戏的朋友,肯定知道键鼠在某些类型的游戏适配和操作方面,不如手柄。作为一个游戏爱好者,还得配上一个游戏手柄才行。比如动作和格斗、体育游戏,由于手柄更合理的摇杆位置和按键布局,操作起来也是得心应手。…...

Python之一:基础信息

#查看pip版本,cmd命令窗口(注意环境变量%PYTHON_HOME%\scripts,是否在path中) pip --version #安装pip,cmd命令窗口 python -m pip install pip #查看已安装模块,cmd命令窗口 python -m pydoc modules #查看…...

K8S系列文章之 Traefik快速入门

traefik 与 nginx 一样,是一款优秀的反向代理工具,或者叫 Edge Router。至于使用它的原因则基于以下几点 无须重启即可更新配置自动的服务发现与负载均衡与 docker 的完美集成,基于 container label 的配置漂亮的 dashboard 界面metrics 的支…...

RabbitMQ在CentOS下的安装

RabbitMQ的版本是3.8.2 1.环境配置:CentOs 7.6以上版本,我的版本是7.9,不要对yum换源,否则可能会安装失败。 echo "export LC_ALLen_US.UTF-8" >> /etc/profile source /etc/profile 以上命令,是…...

为什么金鸣识别不做成离线版?

来百度APP畅享高清图片 在众多的用户咨询中,金鸣识别客服常常会被用户问及为何不做成离线版的问题,下面我就在这里跟大伙说说其中的原因吧。 离线版的OCR准确率相对于网络版可能会较低,主要有以下几个原因: 1. 数据量和模型更新…...

什么是面向对象

目录 对象: 举例: 封装: 好处: 继承: 多态: 类和对象之间的关系 对象: 把一个东西看成对象,我们就可以孤立的审查它的性质,行为,进而研究它和其他对象的关系。 对象是一个应用系统中用…...

记一次前端直接上传图片到oss报错

前端直接上传图片到阿里云oss,相关过程官网和网上资料已经很详细,不做赘述。 但这个过程比较复杂,前后端对接过程中很容易出现报错,这里遇到了以下报错,不容易排查。 请求显示net::ERR_NAME_NOT_RESOLVED错误,catch输…...

数据库管理-第九十八期 统计信息是多么重要(20230812)

数据库管理-第九十八期 统计信息是多么重要(20230812) 每天通过EM可视化巡视数据库执行情况,发现那些执行比较长的语句要么是索引没用上、要么是索引没建。但更多的是发现执行计划中“估计的行数”与“行数”(执行的)…...

山西电力市场日前价格预测【2023-08-13】

日前价格预测 预测明日(2023-08-13)山西电力市场全天平均日前电价为351.64元/MWh。其中,最高日前电价为404.00元/MWh,预计出现在19: 30。最低日前电价为306.39元/MWh,预计出现在13: 15。 价差方向预测 1: 实…...

AtCoder Beginner Contest 313D题题解

文章目录 [ Odd or Even](https://atcoder.jp/contests/abc313/tasks/abc313_d)问题建模问题分析1.分析每次查询的作用2.利用异或运算的性质设计查询方法 Odd or Even 问题建模 有n个数,每个数为0或者1,最多可以进行n次询问,每次询问选择k个…...

mybatis 中的<![CDATA[ ]]>用法及说明

<![CDATA[ ]]>作用 <![CDATA[ ]]> 在mybatis、ibatis等书写SQL的xml中比较常见&#xff0c;是一种XML语法&#xff0c;他的作用是 可以忽略xml的转义&#xff08;在该标签中的语句和字符原本是什么样的&#xff0c;在拼接成SQL后还是什么样的&#xff09; 使用&a…...

从零学算法34

34.给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&#xff1…...

qiankun-微前端--vue2

项目结构 主应用技术&#xff1a; vue2 子应用技术&#xff1a;vue2 项目目录 这里是特意将主子项目分开来的&#xff0c;方便管理 主应用 安装 qiankun npm install qiankun重新定义一个启动端口&#xff0c;防止和其它子应用共用同一个端口&#xff08;vue.config.js&…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...