最近看了本书《白帽子讲web安全》,虽然深入的技术细节没有掌握多少,但对网络安全的思想理念提升了不少。以前对网络安全的观念只是防火墙、隔离装置、访问控制...等零散名词,现在对网络安全有了全新的认识。
-
世界上本没有安全问题,研究安全的人多了就有了安全问题。
网络世界中,原本只有实现功能的代码,老老实实地实现人类设计的功能。而一些正常的功能被技术高明的人士利用,可以实现窃取、篡改、破坏,功能就变成了漏洞,产生了安全问题。功能与漏洞原本是一体的。黑客之所以厉害,就在于能看见正常功能背后加以利用的地方。广告也像黑客一样,从熟悉的语境切入,加入广告元素。比如:“知识就在得到”,来自最常听见的一句话“知识就是力量”。广告从日常用语中塞入营销元素,把信息偷偷塞入你的大脑里。黑客也是这样,在正常功能背后,注入危险代码。研究安全技术的前提是熟悉那些正常的功能,再站到背面,看看是什么漏洞会被利用。
-
安全领域也没有银弹
软件开发中遇到各种困难比喻为狼人,银弹是用来对付狼人的武器,让狼人一枪毙命。软件工程中,压根就没有什么银弹,没有一个工具能解决所有问题,只能靠黑压压的码农一点一点建设摩天大楼。道高一尺,魔高一丈,是安全领域常有的事。安全人员好不容易堵上一个漏洞,完善一个功能,黑客继续从正常功能中找出漏洞。像军备竞赛一样,同样掌握安全技能的人士,带上黑帽子和白帽子,在网络世界中厮杀。没有一个工具可以堵住所有漏洞,都是靠白帽子们一个一个发现和修复。
-
白名单与黑名单的哲学
白名单是让指定的通过,黑名单是让指定的不通过。网络安全领域更倾向于采用白名单的方式处理各种访问控制问题。如果使用黑名单,限定某些数据、角色、功能不能通过,其他都能通过,很容易出现一些没预想到而有危险的选项通过。
-
安全来自信任
安全问题的本质是信任问题,必须相信一些东西,安全才能建立。比如你把秘密文件藏在抽屉里并锁好,你认为是安全的。这个安全的前提是你相信做锁的人没有做手脚、做抽屉的人没有留后门,钥匙保存在值得信任的人手上。网络安全中最常见的注入漏洞,就是信任出了问题,数据与代码没有分离。在网页的输入框中输入的信息,发送给服务器,再与数据库交互。如果前端是让用户填写信息,后端操作就是写入数据库,如果前端是搜索相关信息,后端操作就是查询读取数据库。有恶意的人,再输入框中输入查询密码表的代码,服务器以为是正常请求数据穿来了,执行代码操作,返回密码信息。这就是个典型的注入漏洞,把代码当作数据传入给服务器,服务器没识别是正常数据还是恶意代码,就执行相关操作。服务器是基于对输入数据的信任而执行操作的,而输入数据是用户自己控制的,信任就有问题了。
-
总结
带上白帽子看网络世界,看见的是正常功能背后的漏洞,没有一劳永逸的补丁堵住所有漏洞,黑名单背后可能有更多黑色漏洞,信任的白名单是建立安全大厦的基石。
网友评论