文章目录

  • 我的安全世界观
    • 前言
    • 安全工程师的核心竞争力
    • 白帽子的使命
    • 现状
    • 里程碑
    • 安全的本质
    • 安全三要素
    • 如何防范安全问题?
  • 安全评估步骤
    • 资产等级划分
    • 互联网核心问题
    • 威胁分析(确定攻击面)
    • 风险分析
    • 设计安全方案
  • 白帽子兵法
    • 一、Secure By Default 原则
    • 二、Defense in Depth(纵深防御) 原则
    • 三、数据与代码分离原则
    • 四、不可预测性原则
    • 总结

我的安全世界观

前言

  • 互联网本来是安全的,自从有了研究安全的人以后,就变得不安全了。
  • 只要还有人研究漏洞,利用漏洞,网络安全问题将会一直存在,就会有人需要解决安全问题。有人的地方就会有需求,有需求的地方就会有市场,网络安全行业将会一直存在。
  • 事实上,所有的安全问题都能这么修复,只是需要付出的成本过于巨大
  • 漏洞是系统中可能被威胁利用以造成危害的地方
  • 漏洞只是对破坏性功能的一个统称而已。
  • 我们定义一个功能是否是漏洞,只看后果,而不应该看过程。
  • 所有的程序本来也没有漏洞,只有功能,但当一些功能被用于破坏,造成损失时,也就成了漏洞
  • 最大的漏洞就是人,安全问题往往发生在意想不到的地方。
  • 写的再好的程序,在有人参与的情况下,就可能出现各种不可预知的情况。
  • 安全是一门朴素的学问,也是一种平衡的艺术。

安全工程师的核心竞争力

安全工程师的核心竞争力不在于他能拥有多少个0day,掌握多少种安全技术,而是在于他对安全理解的深度,以及由此引申的看待安全问题的角度和高度。(有道无术,术尚可求;有术无道,则止于术。术是方法是操作,道是思想是理解。懂得他的底层逻辑,抓住他的本质,无论遇到任何安全问题也能无往不利,快速解决)

白帽子的使命

  • 以建设更安全的互联网为己任

现状

  • 浏览器安全是web安全的重要组成部分。
  • PHP语言至今依然只能靠较好的代码规范来保证没有文件包含漏洞,而无法从语言本身杜绝此类安全问题的发生

里程碑

  • SQL注入的出现是Web安全史上的一个里程碑。
    最早出现时间:1999
  • XSS(跨站脚本攻击)的出现则是Web安全史上的另一个里程碑。
    引起重视:2003

安全的本质

  • 安全问题的本质是信任的问题
  • 我们必须有一些最基本的架设,安全方案才能得以建立;
  • 如果我们否定一切,安全方案就会如无垠之水,无根之木,无法设计,也无法完成。

安全三要素

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

后来又有扩充(可审计性,不可抵赖性)

如何防范安全问题?

将安全检查贯穿于整个软件生命周期中

对每一个产品,都要持续地实施严格的安全检查,这是微软通过自身的教训传授给业界的宝贵经验。而安全检查本身也需要不断更新,增加针对新型攻击方式的检测与防御方案。

安全评估步骤

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

资产等级划分

  • 帮助我们明确目标是什么,要保护什么
  • 对互联网公司拥有的资产等级划分就是对数据做等级划分。
  • 先进行资产等级划分然后进行信任域名和信任边界划分

互联网核心问题

  • 互联网的核心是由用户数据驱动的:用户产生业务,业务产生数据。
  • 互联网安全的核心问题是,是数据安全的问题。
  • 互联网公司最核心的价值就是其拥有的用户数据。

威胁分析(确定攻击面)

  • 威胁:把可能造成危害的来源称为威胁(Threat)
  • 风险:把可能会出现的损失称为风险(Risk)。风险一定是和损失联系在一起的

风险分析

DREAD模型,由微软提出

模型是死的,人是活的,再好的模型也需要人来使用,不同的标准对应不同的模型。

设计安全方案

一个优秀的安全方案应该具备以下特点

  1. 能够有效解决问题;
  2. 用户体验好;
  3. 高性能;
  4. 低耦合;
  5. 易于扩展与升级。

注意

  • 安全也应该是产品的一种属性。
  • 安全是要为产品的发展与成长保驾护航的。
  • 没有不安全的业务,只有不安全的实现方式。

白帽子兵法

一、Secure By Default 原则

1、黑名单、白名单

  • 黑名单的意思就是拒绝的名单。
  • 白名单就是值得信任允许访问或者允许通过验证的名单。

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

2、最小权限原则

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

二、Defense in Depth(纵深防御) 原则

纵深防御包含两层含义:

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

三、数据与代码分离原则

这一原则广泛适用于各种由于“注入”而引发安全问题的场景。

实际上,缓冲区溢出,也可以认为是程序违背了这一原则的后果——程序在栈或者堆中,将用户数据当做代码执行,混淆了代码与数据的边界,从而导致安全问题的发生。

四、不可预测性原则

不可预测性(Unpredictable),能有效地对抗基于篡改、伪造的攻击。
不可预测性的实现往往需要用到加密算法、随机数算法、哈希算法,好好使用这条原则,在设计安全方案时往往会事半功倍。
例如使用 token防御 CSRF

总结

  1. Secure By Default,是时刻要牢记的总则;
  2. 纵深防御,是要更全面、更正确地看待问题;
  3. 数据与代码分离,是从漏洞成因上看问题;
  4. 不可预测性原则,是从克服攻击方法的角度看问题。

《白帽子讲web安全》我的安全世界观相关推荐

  1. 白帽子讲Web安全(纪念版)

    作者:吴翰清 出版社: 电子工业出版社 品牌:博文视点 出版时间:2021-05-01 白帽子讲Web安全(纪念版)

  2. 白帽子讲web安全——认证与会话管理

    在看白帽子讲web安全,刚好看到认证与会话管理:也就是我们在平常渗透测试中遇到最多的登录页面,也即是用户名和密码认证方式,这是最常见的认证方式. 了解两个概念:认证和授权 1):认证的目的是为了认出用 ...

  3. 读《白帽子讲Web安全》之客户端脚本安全(一)

    2019独角兽企业重金招聘Python工程师标准>>> [第2章  浏览器安全] 1.同源策略(Same Origin Policy)是一种约定,它是浏览器最核心也最基本的安全功能. ...

  4. 读白帽子讲WEB安全,摘要

    读<白帽子讲WEB安全>摘要 文章目录 我的安全世界观 安全三要素-CIA 如何实施安全评估 白帽子兵法 客户端安全 浏览器安全 同源策略 浏览器沙箱 恶意网址拦截 高速发展的浏览器安全 ...

  5. 白帽子讲web安全之 浏览器安全

    白帽子讲web安全之 浏览器安全 (一些内容属于个人理解,如有错误请不吝指正) 同源策略 概念 所谓同源,一般是指域名.协议.端口相同.一般来说,只有同源的页面可以互相读取彼此的数据,或者改变彼此在浏 ...

  6. 白帽子讲web安全 ——读书笔记:术语和理论

    最近心血来潮,对安全这些略感兴趣,就买了本 白帽子讲web安全 看看 ,这里做个读书笔记吧!方便啥时候忘了再看一下. exploit--漏洞利用代码 Script kids --脚本小子,利用expl ...

  7. 白帽子讲WEB安全读书笔记(慢慢更新)

    道哥写的白帽子讲WEB安全的读书笔记 文章目录 2020.3.23 ◆ 前言 ◆ 第一篇 世界观安全 1.1 Web安全简史 >> 1.1.1 中国黑客简史 >> 1.1.2 ...

  8. 在学习web安全的小白看过来,这本《白帽子讲web安全》强烈推荐,必读!(附PDF)

    Web是互联网的核心,是未来云计算和移动互联网的最佳载体,因此Web安全也是互联网公司安全业务中最重要的组成部分. 前排提醒:文末有pdf领取 下面来看看几种常见的web漏洞: 1.XSS跨站脚本攻击 ...

  9. 《白帽子讲Web安全》读后感 —— 对道哥的致敬

    <白帽子讲Web安全>读后感 --Deep Blue (一个安全小兵的感受) 这是一篇作业:这是一篇读后感:这是一篇记录安全的感悟:这是一篇对道哥的敬仰:这是我安全启蒙的钥匙...... ...

  10. 《白帽子讲Web安全》学习笔记

    一.为何要了解Web安全 最近加入新公司后,公司的官网突然被Google标记为了不安全的诈骗网站,一时间我们信息技术部门成为了众矢之的,虽然老官网并不是我们开发的(因为开发老官网的前辈们全都跑路了). ...

最新文章

  1. MVC4做网站后台:栏目管理1、添加栏目
  2. python打开文件_喜大普奔 | 如何在Win10下利用Python打开grib文件
  3. linux学习笔记——grub故障排除
  4. java poi之Excel的读取
  5. 偶对称离散余弦变换 EDCT
  6. CCF 201312-4 有趣的数
  7. FFmpeg - 音频解码过程
  8. linux命令passwd各个参数含义
  9. window中搭建jenkins_为容器化的 Go 程序搭建 CI
  10. ssms的导入功能_SSMS 17中的新增功能; PowerShell和DAX
  11. Scala 专题指南
  12. 开源日志系统比较:scribe,chukwa,kafka,flume
  13. matlab录音函数怎么保存在哪里,利用matlab 录音
  14. 4.卷1(套接字联网API)---基本TCP套接字编程
  15. Windows 利用DbgView 查看内核打印日志
  16. 组态王中Modbus字节顺序的调整
  17. C++Primer 习题 第7章
  18. 异常你看这一篇就行了,全程白话很好理解(完结撒花)
  19. 信用卡号码的解析(转)
  20. 为实体提供枚举类型的支持

热门文章

  1. Ubuntu安装显卡驱动详细步骤
  2. 谈谈四大行和外小行软开—工行软开待遇
  3. Pazera Free MP4 To MP3 Converter 1.6 中文64位+32位便携版,免费的视频转换器
  4. Win10安装.net framework 4.0已是操作系统一部分//手误删掉.NET Framework 4 Multi-Targeting Pack
  5. 用友 U9好不好???
  6. windows minidump 的那些事
  7. How to Install Jdownloader on Ubuntu
  8. 《英雄联盟》支撑最高750万同时在线用户的聊天服务打造
  9. 目前有哪些比较好用的CRM客户关系管理系统?
  10. 科普写作与专业写作的区别