安全工程师报名、考试、查分时间 免费短信提醒

全球系统架构师解析安全架构

  随着互联网安全形势的日益严峻,对于架构师们来讲,为什么需要一个安全的架构以及怎么建设安全架构成为了迫在眉睫的重要任务。为什么来这里讲安全,很多人没听过泽西岛,在英国的南部,是一个离岸的辖区,金融机构在岛上非常盛行,对安全很重要,要安全维护,要有系统享受低税,很多做JAVA的项目,大部分泽西的工作,离岸的银行小公司对安全特别关注的。

  纠正系统架构的安全认识

  肯定是重要的。特别泽西岛有自己交易的信息、银行的信息、养老金的信息,所有的资料在泽西岛里面安全保护起来。离开泽西岛也要保障安全,如果不把安全做好,肯定要有糟糕的事情发生。

  我讲一些最近大家都知道的一些安全的漏洞,比如说Linkedln,有一些密码泄露了。也是最近轰动的事情。

  安全适用于方方面面,我们讲软件架构的时候,并不只是看一个地方来求安全,安全应该在整个完整的软件系统当中,都能渗透在安全中,包括所有的级别层所有的元件都需要做到安全。很多人认为安全是人份认证、授权,很多人认为安全是两个问题,但是安全还有其他的问题,比如说防黑客、防攻击、加密等。

  安全这个问题很难对现有的代码进行安全的加装或改装。如果安全出现问题,要解决安全问题,从架构的基础上来解决的。如果架构的问题一开始没做好,事后补相当困难。跟性能、扩展性都是很重要的,一开始没有照顾好的话,未来提升就很难了。

  安全在整个软件架构的角色当中是怎样的位置

  我们需要在整个软件开发过程中都要进行考虑的问题。我曾经讲过一个故事,一个面向公众的互联网网站。这个网站是一个针对当地泽西岛的一个听众,泽西岛10万人,是很小的用户群,是一个全新的互联网系统软件服务。这个互联网服务,可以去登陆获得一个用户名,之后获得这些权限。他们请我去看软件系统,我去看软件系统的时候,假装用户去体验一番。

  我很快发现我可以做跨站的脚本攻击。比如说创造账户,有名字、地址、电邮、电子卡信息。而在地址这一栏,可以写Java脚本,可以注入Java脚本。这个例子是很小的例子,可以对网站做的攻击远远不止这一点,有很多东西可以做。

  我只用了五分钟、十分钟就发现了这些漏洞。当然,这个网站还没有完全上线,只是进行前期的测试,在这个时候发现问题算是万幸。其实在登陆面可以创建自己的密码,很多网站可以是1位到20位需要多少的标点。有些网站需要密码的强度。这个网站也是一样,列出网站应该这样。登陆账户的时候,我说密码太烦了。前台认证并没有很复杂,随便一个词就可以接受了,有些比较弱,有攻击密码。

  我在做银行互联网的时候,有做一个双重认证。在页面看十分钟,HTTP的对话就超时了,为什么超时?这是安全的功能。比如说共享一个电脑,在网吧、咖啡店上网的话,有超时的保护。有不同的安全要求。回到我刚才讲的网站,这个网站肯定不是登陆之后一直在线的,对话的时段是非常短的,因为里面有一些非常机密的个人信息。但是,你登陆了网站之后,登陆永远不超时。把游览器关掉再打开,永远不会中断,就算点登出,不会登出,管理有问题的。我们要做安全的策略性平台,如果有这么多的漏洞,是非常危险的。

  这个项目正在进行用户的接受度检测的过程,还没有上线,他们请我去做了检查。经过了各方面的检查,他们说我们只有四个星期就上线了,找了很多问题,项目四个月之后才能上线,很多顾客对这个问题根本就不敏感。

  架构师是“T”型人才 是一个建筑师

  要有知识的深度,同时也有不同方案的广度,我们面临的软件架构师是一个建筑师,这种解决方案必须要知道不同的解决方案不同的软件开发都需要通才的能力。我们从安全的角度来说,软件架构师的工作非常复杂的,特别是windows的环境有很多学习的地方。广度也很重要,有各种各样的安全问题,在整个架构、编码的过程中,不同地方都会出现漏洞。如果没有足够的经验,甚至不知道哪个地方有可能出问题。比如说我们项目的架构师可能是一个通才,有一定的深度,有技术的专长,必须要知道在哪些地方有可能出现问题。

  我们面临的风险是什么呢?

  我们面临的风险是什么呢?

  攻击、黑客、宕机、拒绝服务、密码泄露、机密信息外泄、安全受损等很多问题都可能来自于安全的问题。这显然是我们从架构角度认真对待不同的风险。这就提出一个很有意思的问题,我们是不是可以样样精通呢?我问过“T”型的人才,我们有知识的深度,如果是Java的架构师,必须要真的理解Java,我们要做高性能的系统,这方面的知识,怎么做可扩展性,还有高可靠性。

  必须要保持这种意识

  所有不同的领域我们都有一定的宽度和广度,安全是其中一点。我们之前看到编码是整个所有活动当中的中心,是不是所有的知识都可以做编码呢?如果是一个小小的项目可以做自己的编码,同时也应该知道可用性、安全性以及扩展性的种种知识。这是不是意味着样样都精通呢?我给大家讲安全课,但是我不是安全专家。但是安全是我们作为架构师必须有意识、必须有概念,而且要知道安全环境不断的改变,有新的不同攻击、不同黑客,必须要保持这种意识。所以我们必须有安全的意识,而意识是一个关键词。

  刚才讲了“T”型人才,是一个通才型的专才。做软件团队的时候,可能有一个人来做这个工作,可能有一个专门软件架构师来做技术主管的角色。这个人就是我们的通才化的全才。但是你能找到这样一个人吗?我们可能要面试很多人、招聘很多人,是不是能找到通才化的人才呢?不一定的。最近我建立一个系统,是一个混合项目,我们可以有多个人进行架构的支撑,共同协同工作,联合起来形成了足够宽度和深度,一方面有通才型的专才,另一方面专家提供深度的支持。

  一般我做的项目里面可能会请一个专家,专家有相关的经验,有些是没有的。给大家看一个很有意思的博客,在英国看到的。如果系统里面有SQL的出入,就有流程或者基础设施的问题。如果你的问题有安全隐患的话,系统安全隐患,就是说明现在做错了,要看哪些地方做错了,如果没有这方面的专家怎么办?或者根本没有意识到潜在的安全问题或者已有的安全问题。

  安全怎么融入到系统当中

  从最根本的角度来看安全有什么要求。就像十年之前搞架构的时候,有哪些具体要求,哪些东西要做哪些不要做的。必须要清楚地知道,在建造架构的时候哪些东西需要做,怎么才能高效。我觉得安全也是一样,很多人都是从用户的角度来获取用户的需求。用户的角度确实不错,希望能够找一些好的、简单适用的。他们不是技术性的人才,视角不是特别独特。在编写用户表述的要求时,有不同的模板。所做的一切要清楚在你的系统里面,用系统的人分成哪些类的。

  去年我做了一个项目的架构分析,大概里面有两到三百个使用者所提供的一些要求,用户扮演着不同的角色。到底这些用户分成哪些?比如说超级用户还是管理员,还是一般性的用户。但是分不出来类。我觉得挺有意思的。

  如果我设计软件的话,必须要知道软件针对的受众是谁,谁会用。今天早上给大家看图,第一个就是上下文背景,中间是系统,下面还有与之沟通的系统,最上面是我们讲的用户。我们知道到底哪些类型的用户在使用我们的系统。为什么这点很重要?从安全角度讲很重要。问这个团队到底懂不懂安全,谁在用我们的系统?这些人用我们的系统,有什么样的功能?我们这些使用者所提供的一些,也从相关来讲比较高端的视角来分析一下类别。

  对于这方面的信息不是已经过时了,非常适用的。在英国一些咨询管理公司,要求做成文件发给我们,尤其是技术方面的要求。技术要求包括扩展性、安全、性能等。这些从特点来讲比较技术性的,而且非常详实。写这些要求的人,不是技术出身的,是商界出身的,他也不清楚产品规格里面细节多细合适,所以来一句系统是非常安全,对于系统的安全来一句就够了。作为架构师这句话牛头不对马嘴,确实要做到安全。

  用户或者SQL的攻击注入时,怎么样做到安全?

  很多英国的公司从安全的角度讲,做得很烂,因为团队不知道安全到底意味着什么。可能在网上随便问一些人到底该怎样做。

  作为架构师要分析需求的话,并不是说做大型的前端设计,而是做一些简单的,获取、捕获使用者的要求,做高级的架构设计,比较要考虑到扩展性、安全,如果没有考虑到这些,在打造架构的时候,可能会丢失非常宝贵的元素。可以开一些研讨会、交换文件,这种工作坊和小型研讨会的形式非常好,知道使用系统的是这部分用户。

  客户给的要求是系统非常安全,就要问他非常安全是有多安全,工作坊可以面对面的交流,谁在用我们系统,哪些方面的内容影响了他们对系统的使用,为什么会这样?这样会有非常具体的用户对系统的要求。除了捕获信息之外,还要置疑他们。我们团队必须要不断的置疑挑战我们一开始所制定出来的具体要求。到底我们开发的时候优先级别会怎样。觉得要求根本没必要,换一种方式行不行,我觉得就已经够了,要挑战不同的要求,不仅是功能性的,还有非功能性的,比如说安全,也要跟客户谈一谈。每次在系统里面引入安全的时候,要做一些权衡、妥协、让步。

  一般来讲,典型的让步、取舍是可用性、易用性和复杂性。也就是说,安全的话更复杂了。比如说我去银行要做,ID非常长,记不下来,输入密码登陆,到了第二页,要输入安全代码,有一个小键盘,类似于口令牌,随即生成输入进去。等我通过这么多安全检查进这个网站的时候,对话已经超时了,我输入这么多的密码,已经查不到我账户信息了,这是非常长、非常复杂的过程,用电子安全指令等。确实很安全,但是影响了便捷程度。这时要做取舍,是易用还是复杂安全性。

 

 

国和网校预祝广大注册安全工程师考生顺利通过考试,更多关于注册安全工程师考试报名事宜、考试信息、培训信息,可拨打国和网校全国客服电话010-62983637,或登录国和网校官方网站www.gohoedu.com 。如果您感觉此文章对您有所帮助,请点下面分享一下吧!
注册安全工程师课程试听

注册安全工程师相关文章

考试图书

2012年注册安全工程师执业资格考试大纲(沿用2011版)

出版社:中国大百科全书出版社

折扣价:¥10.00 元

原 价:¥10.00

2012年注册安全工程师考试教材:安全生产事故案例分

出版社:中国大百科全书出版社

折扣价:¥28.00 元

原 价:¥28.00

2012年注册安全工程师考试教材:安全生产管理知识(沿

出版社:中国大百科全书出版社

折扣价:¥55.00 元

原 价:¥55.00

2012年注册安全工程师考试教材:安全生产法及相关法

出版社:中国大百科全书出版社

折扣价:¥75.00 元

原 价:¥75.00