像黑客一样思考,像安全专家一样做事

简介: 本文讲的是 像黑客一样思考,像安全专家一样做事,用不同的视角看待问题,安全威胁也会不同。我们在对应用系统进行安全构建时也是如此。

本文讲的是 像黑客一样思考,像安全专家一样做事,用不同的视角看待问题,安全威胁也会不同。我们在对应用系统进行安全构建时也是如此。虽然,我们有通用的漏洞列表和其他以最佳实践形式存在的指导材料可供参考,然而,要真正保护我们的软件,我们需要从黑客的视角对应用程序进行认真考虑,然后以安全专家的身份去解决其中的问题。

image

一、像黑客一样思考

要像黑客一样思考,就要不仅仅是考虑技术方面的攻击,还要考虑以下一些其他方面的事情:

1、黑客要对我们进行攻击的动机是什么?他们想得到什么?

2、黑客是否会有针对性对我们发起攻击,还是投机取巧分子在网上胡打乱撞,碰巧发现我们的应用程序有漏洞,才会对我们发起攻击?

3、黑客会如何对我们的应用程序发起攻击?

4、黑客会在什么时候对我们的应用程序发起攻击?

举例来说,如果我们的应用程序漏洞百出,那我们就要知道,黑客肯定是乐意怎么省事怎么来。这就是为什么防止显而易见、众所周知的攻击来源是至关重要的。尽管有很多神秘而诡异的高级持续性威胁(APT),但如果可以通过像SQL注入这样简单的、屡试不爽的手段就可以轻松搞定的事情,黑客们就不会在构建高级持续性威胁上多花时间和精力。

那么,我们该如何来保护我们的组织呢?

二、像安全专家一样做事

1、跑不过熊但要跑过同伴。

有一个古老的寓言,讲的是关于遇熊逃生的故事。故事讲的是两名徒步旅行者遇到了一头熊,其中一个人赶紧穿上跑步鞋,因为她知道,只要她跑得比同伴快,就没必要跑得过熊。对于组织来说,如果我们的应用程序关闭了所有众所周知的漏洞,那黑客就会将攻击目标转移到其他没有做好相关防护的组织。通过这种方法,我们就没必要比黑客还要更进一步,只要让黑客去选择更为容易攻击的目标就可以了。

2、千里之堤,毁于蚁穴。

许多经典的数据泄露事件都是由于黑客仅仅注意到了防御系统中一个看似无害的缺陷,然后对系统进行继续探索而最终得逞的。不要小看这样一个小小的缺陷,因为系统运行的每个线程都相互关联,黑客顺藤摸瓜很快就能得到权限,到那时一切都悔之晚矣了。为了防止这种情况发生在我们的组织,理论上我们不应该放过任何一个发现的系统缺陷,找到该缺陷的根源所在,彻底将其解决。

以对进入一栋大楼的入口点进行检查的家庭安防公司为例,其中某个入口点可能比较薄弱,但如果该入口点只是通向一个死胡同,那我们还算安全;但如果该入口点可以通向某个贵重物品的存放处,或者可以通向另一个形同虚设的入口,那我们就有麻烦了。

3、要对我们的系统要了如指掌。

知道我们的系统有哪些弱点固然重要,但对这些弱点进行评估,知道如果系统被攻陷后会造成什么样的信息泄露会更重要。要做到这一点,关键是要做一些面向业务的思维,理解有人进行数据窃取的动机是什么。知道这一点,有助于我们思考来自内部的威胁,而我们的防御系统往往却是着重于由外而内的思维。

使用威胁建模来理解攻击的路径、成功阻击每次攻击的价值以及每个路径的预期收益。首先应关闭那些轻而易举就能获取高额回报的攻击路径,再去利用最小阻力的概念。因为我们不一定有足够的时间和预算来对系统的所有漏洞和潜在威胁进行阻击和防范,所以要多从人性的角度进行分析,减少攻击发生的可能性。

黑客天生就有创造性,所以我们要心情发挥我们的想象力。例如,黑客总是会想方设法以他们从来没有用过的方式来对利用一切可以利用的东西。这是个逻辑的概念,如果开发人员从未考虑过这样的途径,那他开发出来的程序就不能提供必要的保护。这种思维方式需要经过训练。对于开发人员来讲要做到这一点尤为困难,因为他们对自己开发的功能也如指掌,能想到的早就想到了,要让他们想方设法去利用自己开发的程序已经想不出什么花样来了。

结语

一个好的安全专家明白,有效防御来自对攻击的理解。像黑客一样思考,拥有和组织业务相结合的知识,有助于我们更好的理解为什么会被黑客盯上,以及我们的组织会遭遇怎样的攻击。这些见解对于弥补黑客可能会利用的漏洞和攻击路径是必不可少的。通过假定的攻击者视角,可以将这些知识转为自己的优势。一旦我们从黑客的角度来看来审视我们的组织,我们就能像安全专家一样对我们的组织进行防卫。

原文发布时间为:一月 9, 2016
本文作者:phil
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛。
原文链接:http://www.aqniu.com/learn/12912.html

相关文章
|
机器学习/深度学习 算法 PyTorch
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
287 1
|
机器学习/深度学习 人工智能 自然语言处理
AI技术性文章
【9月更文挑战第10天】本文将探讨人工智能(AI)的基本原理、应用领域以及未来发展趋势。我们将通过一个简单的代码示例来展示AI的基本概念,并讨论如何将这些概念应用于实际问题中。最后,我们将展望AI的未来发展方向,并探讨它可能对社会带来的影响。
123 8
|
Linux 测试技术
Linux操作系统实验十一 进程管理(下)
Linux操作系统实验十一 进程管理(下)
254 0
|
供应链 Java 测试技术
开发Java应用时如何用好Log
开发Java应用时如何用好Log
296 3
|
Java 测试技术 Maven
5个编写技巧,有效提高单元测试实践
结合单测的实践,本文总结了几点单元测试的好处与编写技巧,希望分享给大家。
26610 50
5个编写技巧,有效提高单元测试实践
|
机器学习/深度学习 网络协议 数据安全/隐私保护
远程访问本地jupyter notebook服务 - 无公网IP端口映射
远程访问本地jupyter notebook服务 - 无公网IP端口映射
394 0
44Echarts - 柱状图(阶梯瀑布图)
44Echarts - 柱状图(阶梯瀑布图)
292 0
|
域名解析 网络协议 算法
教你申请阿里云免费SSL证书(申请入口和申请指南)
教你申请阿里云免费SSL证书(申请入口和申请指南)阿里云SSL免费证书在哪申请?一个阿里云账号一年可以申请20张免费SSL证书,很多同学找不到免费SSL的入口,阿小云来详细说下阿里云SSL证书免费申请入口链接以及免费SSL证书申请流程
1434 1
|
数据采集 存储 算法
Python爬虫必备技能,使用 动态代理ip 获取Steam 热销商品 示例
动态代理ip 相信大家肯定都听说过,或者已经使用过。 本篇文章就来介绍一下什么是动态代理ip,还有一个使用代理ip爬取Youtube游戏模块主页。 使用动态ip有很多好处,比如保护你的网络免受外部攻击、屏蔽你的IP地址等。 那本篇文章就来研究一下这个动态ip,对这方面不了解的小伙伴正好可以一起学习一下。
Python爬虫必备技能,使用 动态代理ip 获取Steam 热销商品 示例
|
XML 前端开发 JavaScript
【前端】taro 启动文件app.ts 修改成app.tsx
【前端】taro 启动文件app.ts 修改成app.tsx
893 0