个人收获--安全世界观之web安全简史

在早期互联网(web1.0),web还不是主流应用时,因为基于smtp、pop3、ftp、irc等协议服务拥有着大多的客户,

黑客主要的攻击目标是网络、操作系统以及软件等领域;然后自网络设备厂商如Cisco、huawei等更重视网络安全,

再加上防火墙、acl技术的兴起,形成内网(网络环境)、域(管理环境),信任边界的树立,原本暴露在外的系统和数据库服务开始隐蔽起来,

然后随着web技术的成熟,web开始成为主流,针对这块的攻击又开始发展起来了:

sql注入,上世纪末,99年;    xss,差不多是2003年开始受到重视的。------两个web安全史上的里程碑。

随着web2.0兴起,xss和csrf的变得更为强大,攻击目标从原来的服务端转向了客户端。

 

事件:2003年冲击波蠕虫,针对windows的rpc服务,感染主机后参与实行拒绝服务攻击。

           2005年MySpace蠕虫,samy和他的一百万好友刷屏。(xss)

 

客户端软件安全:早期黑客喜欢针对用户常用软件(或者说装机量大的软件)进行攻击,如office系列、adobe的阅读器、多媒体、压缩软件,利用缓冲区溢出等,执行shellcode,下载木马,获取控制权。如今这个概念基本没有了,软件安全部分交由其自身软件供应商去完善,

如今已经有一套较完整的软件安全开发的流程了;而此概念在现在更多的是叫客户端安全。

 

安全三要素:

机密性:指只有授权用户可以获取信息。    --针对的是数据,(常见)技术是加密,掩盖的是信息。

完整性:不被非法授权修改和破坏。    --针对的同样是数据,维护的是其状态,防破坏和篡改。

可用性:合法用户对信息和资源的使用。

额外的:可审计性&可控性、不可抵赖&不可否认性。

 

安全评估:

资产等级划分    --根据业务划分侧重点。

威胁分析    --运用各种模型,例STRIDE模型,1999微软提出的。

风险分析    --同样运用模型,例DREAD模型,入门级别。

设计安全方案    --生成安全解决方案

其中,我们要把几个概念梳理清楚:

资产等级划分,是为了确定明确的目标,要保护的资源&数据,因为互联网的核心问题,是数据安全的问题。

威胁分析,是为了确定威胁来源,确定攻击面。ps:我们把可能造成危害的来源称为威胁;可能出现的损失称为风险;系统中可能被威胁利用以造成危害的称为漏洞。

风险分析,是为了评估风险的高低,划分损失的大小,同时权衡危害发生的可能性,综合排序风险。

设计安全方案,是为了生成好的,最适配问题的安全解决方案。ps:安全和业务其实并不冲突,相反,没有安全参与成长的产品是畸形的,不完整的,直接影响产品性能,间接影响业务需求,甚至是更重要的用户需求、体验。

 

白帽子兵法--Secure By Default:

1、白名单、黑名单

尽可能使用白名单策略,不使用黑名单。例如:要做限制过滤时,提供一份信任的白名单列表比提供一份不可信任的黑名单要好。

例如:服务器白名单准入安装软件、防火墙白名单限制对外开放的端口、处理用户提交的富文本时,只允许需要到的标签。

2、最小权限原则

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

3、纵深防御原则

两层含义:

A:    在不同层面,不同方面实施安全方案。

例如:在设计安全方案时,尽可能考虑web应用安全、系统安全、数据库安全、网络环境安全等不同层面,共同组成防御体系。

B:    在正确的地方做正确的事情,即是要解决根本问题的地方实施有效地针对性方案。

例如:在对用户输入的html进行过滤时,要先进行语法树分析,而不是粗暴的进行字符过滤,以免造成用户本意想表达的错误,例如用户想表达1<2的意思,但是<被过滤。

4、数据与代码分离原则

这一原则广泛适用于各种由于“注入”而引发的安全场景;像HTML injection、SQL injection、CRLF injection、X-PATH injection均可以根据该原则设计出真正的解决方案。

5、不可预测原则

比如:windows系统设计的对抗缓冲区溢出等内存攻击的功能;使用DEP来保证堆栈不可执行,使用ASLR让进程的栈基址随机变化,从而无法准确地猜测到内存地址,大大提高攻击的门槛。

 

总结

Secure By Default,是时刻要牢记的总则;

纵深防御,是要更全面、更正确地看待问题;

数据与代码分离,是从漏洞成因上看问题;

不可预测性,是从克服攻击方法的角度看待问题;

 

安全的本质是信任问题

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

----白帽子讲web安全


__EOF__

本文作者LFD_dnbh
本文链接https://www.cnblogs.com/lfd-dnbh/p/16990565.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LFD_dnbh  阅读(421)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示