首页 > 其他分享 >《白帽子讲web安全》学习笔记

《白帽子讲web安全》学习笔记

时间:2022-09-23 19:25:27浏览次数:49  
标签:web 帽子 原则 漏洞 代码 用户 笔记 安全 攻击者

第一章 我的安全史观

一、系统最高权限:root (不想拿到root的黑客不是一个好黑客!)

web1.0 服务器端和动态脚本的安全问题
web2.0 客户端、浏览器和用户的安全问题

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

二、安全三要素

保密性:保证信息不泄露给未经授权的用户。
完整性:保证信息从真实的发信者传送到真实的收信者手中,传送过程中没有被非法用户添加、删除、替换等。
可用性:保证授权用户能对数据进行及时可靠的访问。


三、如何实施安全评估

1.资产等级划分
资产等级划分是所有工作的基础,它帮助我们明确目标是什么,要保护什么。

2.威胁分析
威胁是指可能造成危害的来源。

威胁分析阶段往往由于在设计安全解决方案时确定攻击面时想的不够全面从而导致攻击者利用事先完全没有想到的漏洞。

STRIDE模型
image

3.风险分析
风险是指可能会出现的损失。

风险由以下因素组成:

Risk = Probability + Damage Potential

DREAD模型
image
(高、中、低三个等级以1、2、3代表其权重分)


4.设置安全方案

一个好的安全方案不能牺牲业务的一些易用性或者性能,从产品角度来说,安全也应该是产品的一种属性。一个从未考虑过安全的产品,至少是不完整的。

一个好的安全方案应该具备以下特点:

1.能够有效解决问题;

2.用户体验好;

3.高性能;

4.低耦合;

5.易于扩展与升级;


四、白帽子兵法

1.Secure By Default原则

(一)黑名单、白名单(更安全但不是绝对安全)
   如果更多的来使用白名单,那么系统就会变的更安全。
(二)最小权限原则
   最小权限原则要求系统只授予主体必要的权限,而不要过度授权,这样能有效减少出错的机会。

2.纵深防御原则

纵深防御模型的基本思路就是将信息网络安全防护措施有机组合起来,针对保护对象,部署合适的安全措施,形成多道保护线,各安全防护措施能够相互支持和补救,尽可能地阻断攻击者的威胁。

  (一)要从不同的层面、不同的方面对系统做出整体的解决方案。
  (二)要在正确的地方做正确的事。

3.数据与代码分离原则

  在Web应用安全中,注入类型的漏洞(XSS,SQL注入,CSRF等)通常产生的原因都是违背了数据与代码分离的原则。
  实际上,缓冲区溢出,也可以认为是程序违背了这一原则的后果--程序在栈或者堆中,将用户数据当做代码执行,混淆了代码与数据的边界,从而导致安全问题的发生。
  在Web安全中,由"注入"引起的问题比比皆是,如XSS、SQL Injection、CRLF Injection、X-Path Injection等。此类问题均可以根据"数据与代码分离原则"设计出真正安全的解决方案,因为这个原则抓住了漏洞形成的本质原因。

4.不可预测性原则

  不可预测性原则是从让攻击者失效的角度来进一步保护系统的安全。比如接口调用中的关键参数(如ID、email)进行加密、APP登录使用的随机Token等,都是为了让攻击者找不到攻击的规律,使得攻击失效。

总结:
数据和代码分离原则是从漏洞成因上设计(比如避免xsss漏洞;
纵深防御原则是从全局防御视角,避免单个薄弱点带来整个系统被攻陷;
不可预测性原则是从让攻击者失效的角度来进一步保护系统的安全。
image


2022-09-23 19:07:14 星期五

标签:web,帽子,原则,漏洞,代码,用户,笔记,安全,攻击者
From: https://www.cnblogs.com/liao-y/p/16723650.html

相关文章

  • drf学习笔记
    今日内容概要前后端开发模式API接口接口测试工具postmanrestful规范序列化和反序列化djangorestframework快速使用cbv源码分析今日内容详细前后端开发模式前后......
  • 【C#】萌狼学习C#那年写的笔记汇总
    目录习题汇总例子汇总报错解决考前复习习题汇总【C#】【平时作业】习题-2-数据类型运算符表达式-萌狼蓝天-博客园(cnblogs.com)【C#】【平时作业】习题-3-数组-......
  • 【源码笔记】ThreadPoolExecutor#addWorker
    /***Checksifanewworkercanbeaddedwithrespecttocurrent*poolstateandthegivenbound(eithercoreormaximum).Ifso,*theworkercountisa......
  • JavaWeb--MySQL约束、数据库设计、多表查询、事务--2022年9月22日
    第一节  约束1、概念A、约束是什么约束是作用于表中列上的规则,用于限制加入表的数据约束的存在保证了数据库中数据的正确性、......
  • 如何实现webview内页面放大和缩小 (手指放大缩小)
    uniapp的web-view无法自由缩放(已解决)onReady(){ //#ifdefAPP-PLUS constcurrentWebview=this.$scope.$getAppWebview()//获取当前页面的webview对象 setTimeou......
  • uni-app 如何设置web-view 不全屏,不自动铺满,动态控制web-view的高度
    varheight=0;//定义动态的高度变量,如高度为定值,可以直接写uni.getSystemInfo({//成功获取的回调函数,返回值为系统信息success:(sysinfo)=>{height=sysinfo.windo......
  • 【Vue】vue基础学习笔记
    目录基础差值语法模板语法数据绑定el与data的两种写法el与data写法1el写法2:挂载data写法2:函数式写法绑定样式绑定class样式绑定style样式条件渲染基础差值语法<divid......
  • bug笔记_oracle_无法在源表中获得一组稳定的行
    ORA-30926:无法在源表中获得一组稳定的行原因:MergeInto语句using表的关联字段对应多个条数据,导致修改语句无法确定以哪条数据为准(关联字段重复)--修改a的column1字段为......
  • 第八章读数笔记
    第八章读书笔记8.1系统调用在操作系统中,进程以两种不同的模式运行,即内核模式和用户模式,简称Kmode和Umode。在Umode中,进程的权限非常有限。它不能执行任何需要特殊权限的......
  • Visual Studio发布到IIS及Web Deploy配置部署
    1、官方教程https://learn.microsoft.com/zh-cn/visualstudio/deployment/tutorial-import-publish-settings-iis?view=vs-20222、错误排查如果是请求不通,请检测IP端口......