Web安全(吴翰清)

安全工程师的核心竞争力不在于他能拥有多少个 0day,掌握多少种安全技术,而是在于对安全理解的深度,以及由此引申的看待安全问题的角度和高度

第一篇 我的安全世界观

脚本小子 “Script Kids”。
黑客精神所代表的 Open、Free、Share。

Web 1.0 服务器端动态脚本的安全问题。

SQL注入的出现是Web安全史上的一个里程碑。

XSS(跨站脚本攻击)的出现则是Web安全史上的另一个里程碑。

Web 2.0 攻击客户端,浏览器和用户。

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

1.3安全的本质

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

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

安全是一个持续的过程。

1.5安全三要素

安全三要素是安全的基本组成元素,分别是机密性(confidentiality)、完整性(Integrity)、可用性(Availability)

机密性要求保护数据内容不能泄露,加密是实现机密性要求的常规手段。

完整性则要求保护数据是完整、没有被篡改的。常规的保证一致性的技术手段是数字签名。

可用性要求保护资源是”随需而得“。
拒绝服务攻击破坏的是安全的可用性。

其他因素:可审计性、不可依赖性等。

1.6.1资产等级划分

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

了解公司最重要的资产是什么,他们最看重的数据是什么。有最关心的是客户数据,有公司最关心的员工资料信息。
划分信任域和信任边界。

这里写图片描述

1.6.2威胁分析

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

----------------------------------------------------威胁                   定义           对应的安全属性
----------------------------------------------------
Spoofing(伪装)        冒充他人身份            认证
----------------------------------------------------
Tampering(篡改)       修改数据或代码         完整性
----------------------------------------------------
Repudiation(抵赖)     否认做过的事情        不可抵赖性
----------------------------------------------------
InformationDisclosure  机密信息泄露          机密性
   (信息泄露)
----------------------------------------------------
Denial of Service(拒绝服务)拒绝服务         可用性
----------------------------------------------------
Elevation of Privileg   未经授权获得许可      授权
   (提升权限)

1,6.3风险分析

Risk = Probability*Damage Potential.

DREAD 模型

---------------------------------------------------
等级         高(3)            中(2)       低(1)
----------------------------------------------------  
Damage    获取完全验证权限;    泄露敏感信息       泄露
Potential 执行管理员操作;                      其他信息非法上传文件
---------------------------------------------------
Reproducibility 攻击者可以  攻击者可以重复攻击, 攻击者很
                随意再次攻击  有时间限制       难重复攻击
 ---------------------------------------------------
 Exploitability  初学者在短期内  熟练攻击者才能  漏洞利用条件
                 掌握攻击方法    完成这次攻击    非常苛刻
 -----------------------------------------------------
 Affected users  所有用户,默认  部分用户,      极少数用户
                 配置,关键用户  非默认配置      匿名用户
 -----------------------------------------------------
 Discoverability  漏洞很明显    在私有区域,     发现该漏洞
                攻击条件很容易   部分人能看到     极其困难
                  获得         需要深入挖掘漏洞
-------------------------------------------------------

安全是产品的一种属性。

1.7白帽子兵法

1.7.1Secure By Default 原则

白名单,允许的清单。
黑明白,禁止的清单。

1.7.1.2最小权限原则

最小权限原则要求系统只授权主体必要的权限,而不要过度授权。

1.7.2纵深防御原则

纵深防御包含两层含义:首先,要在各个不同层面、不同方面实施安全方案,避免出现疏漏、不同安全方案之间需要相互配合,构成一个整体;其次,要在正确的地方做正确的事情,即:在解决根本问题的地方实施针对性的安全方案。

1.7.3数据与代码分离原则

1.7.4不可预测性原则

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

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

一个业务安全设计得好的网站,往往loginID和nickname(昵称)是分开的。登陆ID是用户的私有信息,只有用户本人能够看到;而nickname不能用于登录,大神可以公开给所有人看。

第二篇 客户端脚本安全

第2章浏览器安全

2.1同源策略

浏览器的同源策略,限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性。

2.2浏览器沙箱

Sandbox即沙箱,已经泛指“资源隔离类模块”的代名词。Sandbox的设计目的一般是为了不可信任的代码运行在一定的环境中,限制不可信任的代码访问隔离区之外的资源。

2.3恶意网址拦截

常见的恶意网址分为两类:
一类是挂马网址,通常包含有恶意的脚本如JavaScript后Flash,通过利用浏览器的漏洞(包括一些插件,控件漏洞)执行shellcode,在用户电脑中植入木马;
另一类是钓鱼网站,通过模仿知名网站的相似页面来欺骗用户。

PhishTank是互联网上免费提供恶意网址黑名单的组织之一,它的黑名单由世界各地的志愿者提供,且更新频繁。

EVSSL证书(Extended Validation SSL certificate)是全球数字证书颁发机构与浏览器厂商一起打造的增强型证书,其主要特色是浏览器会给予EVSSL证书特殊待遇。

浏览器的安全以同源策略为基础,加深理解同源策略,才能把握住浏览器安全的本质。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习两种方法——监督学习和无监督学习(通俗理解)

前言 机器学习分为:监督学习,无监督学习,半监督学习(也可以用hinton所说的强化学习)等。 在这里,主要理解一下监督学习和无监督学习。 监督学习(supervised learning) 从给定的训…

Tensorflow中padding的两种类型SAME和VALID

边界补充问题 原始图片尺寸为7*7,卷积核的大小为3*3,当卷积核沿着图片滑动后只能滑动出一个5*5的图片出来,这就造成了卷积后的图片和卷积前的图片尺寸不一致,这显然不是我们想要的结果,所以为了避免这种情况&#xff…

机器学习两种距离——欧式距离和马氏距离

我们熟悉的欧氏距离虽然很有用,但也有明显的缺点。它将样品的不同属性(即各指标或各变量)之间的差别等同看待,这一点有时不能满足实际要求。例如,在教育研究中,经常遇到对人的分析和判别,个体的…

最小二乘法深入

上次写了一个一次函数yaxb类型的最小二乘法,即可以看做是n维输入列向量对应的一个n维输出列向量,然后对已知结果进行学习,得到拟合公式。这里对m*n的矩阵进行最小二乘法分析。 设模型的输出为和训练集输出,它们之间的平方误差为&…

ubuntu16.04 制作gif

byzanz安装 sudo apt-get install byzanz byzanz-record #录像byzanz-playback #回放 下载完成后打开命令行输入byzanz-record –help 其中我们重点关注几个参数 * -d 动画录制的时间,默认录制10秒 * -e 动画开始延迟 * -x 录制区域的起始X坐标 * -y 录制区域的起始Y坐标 …

典型关联分析CCA(canonical correlation analysis)

先看两个数学概念: 相关系数(参看百度百科) 相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度 相…

Kullback–Leibler divergence(相对熵,KL距离,KL散度)

1 前言 注意两个名词的区别: 相对熵:Kullback–Leibler divergence 交叉熵:cross entropy KL距离的几个用途: ① 衡量两个概率分布的差异。 ② 衡量利用概率分布Q 拟合概率分布P 时的能量损耗,也就是说拟合以后丢失…

李宏毅机器学习课程11~~~为何要深?

为何要“深”? pluskid的博客 Deep Learning and Shallow Learning Bengio Y. Learning deep architectures for AI. Foundations and trends in Machine Learning, 2009 Deeper is Better? 模型有更多的参数会有更好的结果,这是毋庸置疑的。 深瘦的模…

没事随便写写——matlab图像与矩阵的转换与存储为txt文件

<span style"font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">刚开课&#xff0c;上了一节计算机图像处理&#xff0c;想了一下把图像转换成矩阵表示&#xff0c;然后存储到txt文档中去。图片用的 lena.jpg</span> …

李宏毅机器学习课程12~~~半监督学习

Semi-supervised Learning The distribution of the unlabeled data tell us something. Usually with some assumptions. Semi-Supervised Generative Model 对比学习见 李宏毅机器学习课程&#xff14;~~~分类&#xff1a;概率生成模型 EM算法思路来最大化似然函数。 Self-tr…

Python程序设计—车万翔

程序设计入门—Python 对象和类型 五种基本对象类型 字符串 &#xff08;string&#xff09;&#xff0c;简记为 str 使用 ’ ’ 或 ” ” 括起来的一系列字符 整数&#xff08;integer&#xff09;&#xff0c;简记为 int 十进制&#xff1a;21&#xff0c;八进制&#xf…

【重大修改】动态时间规整(Dynamic Time Warping)

本文只是简单的介绍DTW算法的目的和实现。具体的DTW可以参考一下文献&#xff1a; 离散序列的一致性度量方法&#xff1a;动态时间规整&#xff08;DTW&#xff09; http://blog.csdn.net/liyuefeilong/article/details/45748399 动态时间归整/规整/弯曲(Dynamic time warpi…

从机器学习谈起

很好的一篇文章&#xff0c;转载自博客园&#xff1a;http://www.cnblogs.com/subconscious/p/4107357.html 在本篇文章中&#xff0c;我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习&#xff0c;并且上手相关的实践。这篇文档也算…

核函数

由于下一篇要学机器学习的另外一种模型——核模型&#xff0c;里面涉及到核函数&#xff0c;所以先找了一下核函数的相关知识。 在知乎上看到了一些比较好的解答&#xff0c;详细参考&#xff1a;http://www.zhihu.com/question/24627666 首先举一个核函数把低维空间映射到高…

关于Matlab编程的思考(待续)

Matlab编程的规范化思考 1.并行化 2.释放内存 3.需要调参的变量太多&#xff0c;可考虑将变量都放到一个结构体里面。 4.find(y),就是要找到y中那些非零项的指引 5.代码运行出现问题的时候&#xff0c;在命令行输入why就可以得到答案 6.输入bench可以给电脑跑分。 7.hom…

拉普拉斯锐化图像

在图像增强中&#xff0c;平滑是为了消除图像中噪声的干扰&#xff0c;或者降低对比度&#xff0c;与之相反&#xff0c;有时为了强调图像的边缘和细节&#xff0c;需要对图像进行锐化&#xff0c;提高对比度。 图的边缘是指在局部不连续的特征。 简要介绍一下原理&#xff1…

运动捕捉数据的描述ASF/AMC

运动捕捉数据有多种格式&#xff1a;ASF/AMC&#xff0c;BVH&#xff0c;C3D等&#xff0c;这三个是比较常用的&#xff0c;一般的matlab实验用的是ASF/AMC&#xff0c;其次就是BVH。 ASF/AMC文件格式是Acclaim Games公司设计开发的&#xff0c;全称是Acclaim Skeleton File/A…

应用深度学习(台大陈蕴侬李宏毅) Part1

History of Deep Learning Big Data & GPU 端到端 Universality Theorem Core Factors for Applied Deep Learning 参考文献 http://v.qq.com/vplus/578e2d6f5e1fadc1/foldervideos/8n1000201qzzkx5 Deep Learning ◦Goodfellow, Bengio, and Courville, “Deep Learning…

世界坐标

世界坐标是最直观反映人体在世界坐标系下运动位置的变化信息&#xff0c;对分析运动行为有重要的作用。下面介绍如何根据ASF/AMC文件计算人体各个关节的世界坐标。 根据前面讲的ASF/AMC文件的格式&#xff0c;可以知道人体运动可以看做是通过根节点root的平移以及其他关节绕其父…

人工神经网络——径向基函数(RBF)神经网络

此博客排版不好&#xff0c;重新用Markdown写了一篇&#xff0c;同时附上了代码&#xff0c;戳这里 本文摘自&#xff1a;《模式识别与智能计算——matlab技术实现第三版》与《matlab神经网络43个案例分析》 【注】蓝色字体为自己的理解部分 径向基函数神经网络的优点&#xf…