首页 > 代码库 > 如何像黑客一样思考_转

如何像黑客一样思考_转

转自:https://news.cnblogs.com/n/554087/

    黑客也许是世界上最酷的工作之一了,与忍者、海盗和超级间谍并列。

  当我还是个小孩子的时候,我希望自己成为印第安纳·琼斯(indiana jones)或詹姆斯·邦德(James Bond),因为他们桀骜不驯,而且善于战斗。

  后来,一个叫“匿名者(Anonymous)”——在纽约叫做“蒙面复仇者(Masked Avengers)”——的黑客组织开始成为我的崇拜对象。我的性格里有一种根深蒂固的叛逆,我也想成为一名黑客。

  事实上,今天大多数的网络犯罪并不是那些叛逆的黑客(他们戴着酷酷的墨镜,穿黑色衣服,为解放人类而战)干的,当然也不是那些住在父母的地下室里少年黑客干的。大多数网络犯罪是黑客组织干的,有的还是政府支持的黑客组织。

  这些黑客组织具有更多的负面色彩和更大的破化能力。

  2014 年,黑客每年给全球经济造成的损失大约为 5750 亿美元,相当于全球 GDP 的 0.8%。2015 年,遭受黑客攻击的美国公司平均损失 650 万美元。

  650 万美元对任何一个公司来说都是一个较大的损失,而且有可能使公司丢失用户的信任。对中小型公司来说,这样的损失更加难以承受。

  企业该怎么保护自己?荷兰的顶级银行之一荷兰银行(ABN AMRO)已经开发出了一种成功的网络安全系统。

  网上银行是最容易受到网络攻击的领域之一,因为黑客一旦攻击成功将获利丰厚。荷兰银行每天都面临着网络攻击的威胁,包括对网银客户的攻击、拒绝服务攻击和勒索软件等等。而且这些攻击每天都在变化。

  为了对付网络攻击,荷兰银行已经建立了一个叫 CISO 的部门,其任务是保护银行的网络安全,包括身份和访问管理、欺诈检测技术研发、风险评估、密码术研发、供应商安全管理和危机管理。

  对其他公司来说,荷兰银行所采用的策略为它们提供了关于如何创建一个有效的网络安全系统的经验。

  策略1:最薄弱的环节不能修复

  在一个应用程序的安全系统中,什么是最薄弱的环节?你可以在下列选项中选择一个。

  A.跨站点脚本(Cross-Site Scripting)?

  ·B.不安全的加密存储?

  ·C.直接通向反应器系统的热排气口?

  ·D.人类(或称为用户和雇员)

  如果你的回答是C,那么你可能是《星球大战》(Star Wars)这类电影看多了!

  如果你的回答是A或B,那么你可能是一个书呆子!

  如果你的回答是D,恭喜你答对了!

  对任何应用程序来说,人类都是最大的安全风险。这里说的人类包括公司员工和用户。公司可以通过许多途径来尽量减少人类带来的安全风险——培训员工、员工政策更新、通知用户并迫使他们更改密码,或者设置多级别认证。

  然而,黑客们会创造更多的方式将人类的风险最大化。

  黑客们正在采用越来越有效的网络钓鱼邮件、垃圾邮件、社交工程和其他技术来蒙骗倒霉的用户或员工。2015 年,3730 万卡巴斯基杀毒软件的用户遭遇了网络钓鱼攻击。像荷兰银行这样的企业可以有效告知和培训 90% 的用户和员工,但黑客们发出了大量的钓鱼邮件和其他攻击,它们所需要的只是一个收件人打开电子邮件以创建一个攻击路径。在现实中,约 23% 的收件人打开了钓鱼邮件。

  这里的教训不是我们应该用精心编程的机器人来代替用户和员工,——机器人更可能被黑客攻击,而是我们永远不要假设任何环节是安全的。

  对用户和员工进行通知和培训的必要的,但这样做最多只能提供一种脆弱的保护。荷兰银行不是押注在“标准”用户身上,而是作了最坏的打算和相应的应对。墨菲定律尤其适用于网络安全——可能出现的问题往往会真的出现。

  策略2:并不需要建立一个诺克斯堡

  在一个理想世界中,每个公司都拥有无限的资金和无限的员工,它们可以将自己的应用程序建成一个不可能被攻破的“诺克斯堡(Fort Knox)”。但是,这个世界并不理想,企业(尤其是初创企业甚至大型银行)往往只能用一个人员非常有限的团队和非常有限的资金来创建自己的安全基础设 施,而且这些有限的资金和人员还可能被转移到产品开发部门和其他部门。

  那么企业能做什么呢?

  下面是企业可做的选择:

  ·A. 尝试建立一个“诺克斯堡”!花光有限的预算来保护自己的应用,但最后发现自己的应用没有用户愿意使用,因为公司所有的资金都用在安全方面,没有钱来研发更好的产品了。

  ·B. 认为黑客必胜,转向黑暗的一面,并与恶魔进行交易,将自己所有数据都交给黑客以换取佣金。

  ·C. 不去建立一个诺克斯堡。相反,认识到创建无漏洞的应用程序几乎是不可能的,从而将公司的努力方向转向了解这些漏洞,并据此开发安全基础设施。

  荷兰银行选择了C。荷兰银行没有试图去创建一个极度安全,但笨拙而无法使用的银行应用,而是努力去创建一个即安全而又具有高度可用性的应用。

  例如,荷兰银行取消了多步骤身份验证过程,因为这个验证过程虽然使它的应用变得更安全,但同时也给用户造成了很大的麻烦。荷兰银行将重点放在对用户账户的安全检测上——检测发生在用户账户上的欺诈活动,以避免用户账户被黑客入侵。

  这样,虽然最终创建的应用是有漏洞的,但荷兰银行将重点放在了发现这些漏洞存在于何处,以检测黑客基于这些漏洞发起的攻击行为,并阻止这些攻击最终对用户造成伤害。

  荷兰银行的信息安全管理部负责人 Fabien Casteran 说:

  “黑客喜欢阻力最小的路径。想象一下,你家有一扇安全的、难以攻破的前门,但你家的后窗是没有锁的。强盗将从后窗闯入你家。因此,我们要像黑客一样思考。”

  所以,荷兰银行知道哪里最有可能出问题,以及它最终出问题的可能性,然后相应地开发更高级别的安全设施或者检测服务。

  策略3:聘请黑客

  我们的建议是像黑客那样思考。但是,我们不是黑客,仅仅是只有使用电脑的非专业人士,我们怎么像黑客一样思考?

  你不知道。所以你可以雇用黑客,然后让他们来攻击你的应用程序。

  这似乎不只是挑战,而且也是反直觉的。但是,世界上确实有这样一个职业群体,他们的工作是受雇于企业,专门攻击该企业的产品漏洞。

  这个有道德的黑客群体的成员都是企业的安全顾问,企业花钱请他们来测试它们的系统安全性。甚至还出现了一种称为正派黑客认证 (Certificated Ethical Hacker,CEH)的技术认证,它是“一种使用渗透测试技术对计算机系统进行安全性评估的资格认证。CEH 考试代码为 312-50。”这种认证由国际电子商务顾问委员会(International Council of E-Commerce Consultants)提供。

  荷兰银行雇用这些正派黑客来测试自己的应用程序,并找到它们的弱点。虽然这种策略的有效性受到质疑,而且不是所有的企业都有能力聘请正派黑客 ——聘请他们的价格可能是昂贵的。但我们可以学到的经验是:从一个黑客的角度(而不是仅仅从 IT 专业人士的角度)来测试应用程序,并找到它的漏洞,这是至关重要的。

  策略4:利用人工智能

  黑客每天通过不同的渠道,采取不同的方式对荷兰银行实施攻击。这意味着荷兰银行每天面临着不同类型、不同方式的攻击,每天都有新的防守领域。

  所以,荷兰银行需要走在黑客前面一步,不仅要像黑客一样思考,而且要比最厉害的黑客领先一小步。

  为了保持这种领先,荷兰银行投入巨资研发新的网络安全技术。虽然荷兰银行的这种研发工作的一部分是在内部进行的,但该行也与 IBM Watson(IBM 公司的人工智能研发部门)进行直接合作,以更好地检测网络欺诈活动。

  荷兰银行与 IBM Watson 联手,研究如何利用人工智能改善算法,以适应和对付黑客不断变化的攻击方式。他们开发的一个欺诈检测算法已经获得了专利。

  保持对黑客领先一步,这对任何网络安全策略的成功来说都至关重要。人工智能是网络安全技术的下一个前沿领域。

  那么,其他公司从荷兰银行可以学到的主要经验是什么?

  最好的防守不是单纯构建安全基础设施,还要投入时间和资源去找到和理解安全漏洞在哪里。

如何像黑客一样思考_转