企业形象 CISSP 之路开篇杂言
357818809
J0ker的 CISSP之路开篇杂言
2011年 9月 22日
14:21
J0ker的 CISSP之路
今天离通过 ISC2的 Endorsement审批差不多有一个月,一直没有写点东西总结一下备考和考试之中的点点滴滴,自己想想,还是应该写点东西,也当是对自己努力过的一点纪念:)
J0ker觉得自己能一次通过 CISSP的考试是相当幸运的,虽然 CISSP仍然比较偏重技术方面的考核,但安全管理方面的知识占了整个考试相当大的份额,而且考试考核的范围之广,可以用令人发指来形容。。。不过还好,毕竟过了,在 ISC2的官方站点
上查过,截至今年 4月 31号,国内的 CISSP只有 371人,加上 5月和 6月两次考试的通过者,估计也在 400之内(每次考试只有 20多人,只有一半多的通过率),算起来 J0ker还是 Top500:P
现在打算在 IT 行业里面有较好的发展,一两个认证也是必不可少的,虽然从业经验同样是很宝贵的,许多认证本身的参加考试资格就需要有多少多少年的经验,这种认证必然会使持证者的自身价值上有不小的提升。但不可否认,因为国内认证机构或
者代理机构的鱼龙混杂,导致不少原来含金量挺高的认证近年来大大贬值,不过认证的学习和考试过程,认真学习的参与者肯定能受益不少。对应届的毕业生来说,持有初级的技术认证也要比其他竞争者在选择工作上要更有竞争力,尤其是在现在招聘
单位都要求求职者有工作经验的情况下。
之前和安全频道的编辑 Joe 讨论过出一个安全认证的专题,但 J0ker 一直静不下心来好好总结。。。最近事情比较少,所以 J0ker 打算用一个系列的文章,给大家介绍下 CISSP 相关的知识,也和大家交流下备考过程的心得,顺便也通过 CISSP 的课程体
系,给大家介绍一下信息安全的体系和组成。
写在前面:《J0ker 的 CISSP 之路》将由 15 到 20 篇文章组成。其中详细的介绍了 CISSP 的相关知识、认证备考经过和心得,另外 J0ker 还会从 CISSP 的角度,向大家简单介绍信息安全的组成。希望《J0ker 的 CISSP 之路》能给大家都带来帮助。最后
你们的支持就是我不断努力向前的动力:)
正文
作为《J0ker的 CISSP之路》系列的第一篇文章,J0ker打算先简要向读者介绍一下 CISSP的背景知识,下面我们先来看 CISSP认证的颁发机构(ISC)2:
(ISC)2是信息安全领域的顶级认证机构之一,成立于 1989年,到现在已经给超过 120个国家的五万多名安全专家授予了相关认证。(ISC)2目前提供如下 6种认证:
SSCP(SystemSecurityCertificatedPractitioner)认证系统安全实践者
CAP(CertificationandAccreditationProfessional)认证和评估专家
CISSP(CertificatedInformationSystemSecurityProfessional)认证信息系统安全专家
CISSP的升级版本 CISSP-ISSAP(InformationSystemSecurityArchitectureProfessional)信息系统安全架构专家
CISSP-ISSMP(InformationSystemSecurityManagementProfessional)信息系统安全管理专家
CISSP-ISSEP(InformationSystemSecurityEngineeringProfessional)信息系统安全工程专家
(ISC)2同时也向公众提供信息安全方面的教育和咨询服务。(ISC)2的官方网站是[url][/url]
(ISC)2 提供的 6 种认证中,知名度最高和持有者人数最多的是 CISSP。截至 2007 年 4 月底,全球共有 48598 名 CISSP,其中人数最多的是美国,现有 30385 名,中国大陆有 371 名。因为 CISSP 的升级版本 ISSAP 和 ISSMP 要求考试的报名者必须是
CISSP,而且有一定的相关领域工作经验要求,所以在国内除了香港 18 名台湾 4 名持有者之外,大陆还没有持有者。至于(ISC)2 较为低端的 SSCP 和 CAP 认证,由于其定位和考核内容的原因,在国际上的接受程度不高,所以除了美加两国外,其他国
家的持有者都很少。
CISSP 认证是国际上最权威、最受认可的信息安全认证,它同时也是信息安全领域第一个通过 ISO17024:2003 标准的认证。 CISSP 主要的认证对象为在企业处于中高层、已经或将成为 CISO(ChiefInformationSecurityOfficer)、
CSO(ChiefSecurityOfficer)或高级安全工程师的信息安全专家。
CISSP认证的考核范围包括 10个方向,称为 CBK(CommonBodyofKnowledge)以下按首字母排序:
1、AccessControl访问控制
2、ApplicationSecurity应用安全(包括开发)
3、BusinessContinuityandDisasterRecoveryPlanning业务持续性和灾难恢复计划
4、Cryptography信息加密
5、InformationSecurityandRiskManagement信息安全和风险管理
6、Legal、Regulation、ComplianceandInvestigation法律、法规、调查
7、OperationsSecurity操作安全
8、Physical(Environment)Security物理(环境)安全
9、SecurityArchitectureandDesign安全架构和设计
10、TelemunicationandNetworkSecurity通讯和网络安全
CISSP 认证以考察考生对信息安全技术掌握的全面程度而著称,这 10 个 CBK 里面几乎全部包含了当前信息安全领域的知识。不过 CISSP 的试题难度并不是大家想象中那么难,排除语言的原因之外(CISSP 试题是全英文的),几年安全从业经验再加上考
前抽时间认真复习,一次通过考试的几率还是挺大的。用一个最恰当的句子来形容 CISSP的考试,就是“Onemilewide,Oneinchdeep“,考试范围之广和试题的难易程度可见一斑。
但试题的简单并不说明 CISSP 的试题可以轻松搞定,因为,即使没有语言障碍,考前也经过充分的复习,拿到试卷后考生会发现 CISSP 的考试将是一场严峻的考验——在 6 个小时内,考生需要完成 250 道选择题,平均每道选择题只有一分半钟的时间可
以思考,而且由于 CISSP 考试使用标准化答卷,考生要留出大概半个小时的时间把答案填到答卷上,事实上考生用来完成每道题的时间只有一分钟左右。CISSP 考试也不是光靠死记硬背复习资料就能解决的,大部分题目都是给出现实中的一个场景,让
考生分析后再选出正确的答案,有些迷惑性比较强的题目不是 4选 1,而只能凭感觉在 2个相似答案中选其一。
每次 CISSP 考试的通过率都不算低,但还是有大概一半的考生无法通过考试。他们并不是说个人能力有问题,很大程度上还是因为 CISSP 考试考察的范围太广。尽管如此,J0ker 依然相信,即使他们没有通过 CISSP 的考试,但通过学习 CISSP 的课程,
他们对信息安全的知识水平和整体把握能力都会有一个较大的提升,这将成为他们安全从业经历中一份不可多得的宝贵经验。
在上一篇文章《What'sCISSP》里,J0ker 简单介绍了 CISSP 及认证机构(ISC)2 的背景。相对于知道 CISSP 或者(ISC)2 这两个抽象的概念,读者肯定对为什么要获得 CISSP 认证、获得 CISSP 有什么好处和 CISSP 主要从事什么工作这样的问题更感兴
趣,J0ker将在本文中结合自己的经历给读者解答一下。
第一个问题,为什么要获得 CISSP呢?
信息安全是一个相对的概念,在安全威胁很低的情况下,安全专家通常是被人们所遗忘的对象。但随着信息技术的发展,当年只有精通系统和网络底层,推动技术进步的高手才能被称为黑客,现在随便一个会用网络的再随便找些入侵工具也自称为黑
客,技术门槛的降低和对技术的追求转化为对金钱的追逐——越来越多的入侵事件、恶意软件的传播、还有时不时出现在媒体上的高智商犯罪等就是这些所谓“后起之秀”的杰作。面对越来越严重的安全威胁,不单在 IT 技术领域,在各行业的企业组
织都越来越意识到信息安全的重要性,但单纯依靠技术方案来并不能解决如何保护企业信息资产的问题,所以市场对专业的信息安全人才的需求也在随之大大增加。而 CISSP 则可以证明持有者掌握国际公认的信息安全知识和标准、并拥有丰富的安全从
业经验,保持 CISSP认证的有效性还可以显示持有者对信息安全的发展和技术进步有很高的热情,并愿意为信息安全贡献自己的一份力量。此外,获得 CISSP认证还有其他的好处,比如:
1、适应市场中越来越热的对信息安全人才的需求
2、增加对信息安全的知识和概念的理解
3、为当前的工作增加信息安全的理念
4、在日益激烈的职场竞争中增强自身优势
5、在薪水增长和职务提升上更有优势
J0ker是 2004年听朋友(国内最早的 CISSP之一)说起 CISSP是国际上最权威的信息安全认证,也觉得应该要提升一下自己的层次,所以就开始注意上这个认证,但因为种种原因,一直到今年才考。之前一直认为 CISSP只是单纯的技术认证,但接触上
之后才发现,CISSP 其实是涵盖了信息安全的各个方面,着重突出了信息安全是由技术和管理构成的整体这一观点,J0ker 在学习 CISSP 的过程中受益颇多,不单巩固了和自己工作相关的 AccessControl、OperationSecurity 和
Telemunication&NetworkSecurity 三个 CBK 的知识,同时好好的补充了其他七个 CBK 的知识,也对 CISSP 认证所强调的整体安全和管理高于技术两个观点有了深刻的体会。学习 CISSP,本身就是一个对学习者安全知识体系进行完善的过程,相信其他
CISSP或学习过 CISSP的读者也有相似的体会。
OK,我们转到下一个问题,CISSP都从事什么工作?
先说说国外的情况,以美国为例,刚拿到 CISSP 认证的人,在企业中大多从事安全管理员、安全产品的开发或安全服务的具体执行工作,头衔一般就是 SecurityAdministrator、SecurityAnalyst 或 SecurityEngineer。随着工作经验的增加,CISSP 会
渐渐脱离具体的技术工作,转而从事更偏重管理、处于企业中层的工作,比如安全产品开发团队或安全服务团队的领导、安全咨询、安全培训讲师和安全部门经理等,头衔则变为 SeniorSecurityAnalyst/Engineer、SecurityTeamLeader、
SecurityConsultant、SecurityManager等。最后,CISSP会进入企业管理高层,管理整个企业的信息安全或 IT,头衔则变为 DirectorofIT/Securitydepartment、ChiefSecurityOfficer或 ChiefInformationSecurityOfficer。
国内的情况稍有不同,除了少部分 CISSP做的是安全产品/服务的售前/售后和安全工程师外,有相当一部分 CISSP是从事安全咨询、培训方面的工作,更多的是处于企业中高层管理的位置,读者如果有兴趣了解更详细的情况的话,可以从(ISC)2官方站
点上的 MemberDirectory功能中查询。
最后说说大家最感兴趣的 CISSP 薪水问题,因为国内 CISSP 薪水的总体情况 J0ker 也不是很了解,在此就借用(ISC)22006 年度的官方报告来说一下,CISSP 薪水水平的分布成金字塔型,职务越高薪水越高,人数也越少。还是以美国为例,2006 年
CISSP的平均年收入为:
ITAdministrator:$45000-$55000
InformationSecurityAdministrator:$75000
SecurityAnalyst/Engineer:$80000
Manager,InformationSecurity:$100000
CISO,CSO:$150000及以上
另外,国内和国外相同的一点是,拿到 CISSP认证之后通常待遇都会有所提升。
在上一篇文章《WhyCISSP》里,J0ker 介绍了为什么要获得 CISSP 认证和 CISSP 的职业发展情况。那需要通过怎样的流程才能成为一个 CISSP?J0ker 打算在从本文开始的 3 个文章中,从参加 CISSP 认证考试的条件及报名流程、CISSP 考试的过程和应注
意的问题和 CISSP考试通过后的取得认证的手续及 CISSP认证的维护这三个方面来向大家介绍。
一、参加 CISSP认证考试的条件:
根据(ISC)2目前的 CISSP考试需求,考试的报名者需要具备信息安全领域涉及 1个或以上 CBK的 4年工作经验,注意这个工作经验指的是信息安全领域的全职工作经验,兼职的不能算,(ISC2)认可的工作经验,指报名者在信息安全领域作为实践者、
审计师、咨询、工程师等需要有直接的信息安全知识支持的工作经历。如果报名者有本科及以上学历或拥有(ISC)2认可的认证证书,工作经验的要求可以降为 3年,但报名者只能通过学历或认证证书减少 1年的工作经验要求,并不能同时使用学历和
认证证书以减少工作经验要求为 2 年。(ISC)2 认可的可以减少 1 年工作经验的证书中,常见的有 MCSE、CISA、CISM 及一些比较少见的安全认证,有兴趣的读者可以从(ISC)2 的官方站点上[url]?page=1016[/url]获得更详细的列表。如果读者对 CISSP
认证很有兴趣,但工作经验又达不到(ISC)2的要求,怎么办?不要气馁,(ISC)2专门为这种情况的考试者设立了一个称为“Associateof(ISC)2”的头衔,考试者在通过 CISSP考试,在实际工作中积累足够年限的工作经验,便可向(ISC)2申请升级
为正式的 CISSP。
不过要注意的是,(ISC)2在五月份修改了 CISSP认证考试对报名者的工作经验要求,从 2007年的 10月 1日开始,原来的 4年全职工作经验要求增加到 5年,工作中要涉及到的 CBK数目的要求则从至少一个增加为至少两个。报名者依然可以通过学历和
认证证书来减少 1年的工作经验要求,认证证书列表和年限放宽的限制和原来一样。
CISSP 认证考试的报名者在填写报名表之前,还需要同意(ISC)2 的认证考试的付款、退款、重付款的规则和考试保密协议及试卷的版权协议,还有最重要的,(ISC)2 的 CISSP 道德准则(CodeofEthic)。另外,报名者在填写报名表时,还需要回答 4 个关
于是否有犯罪记录背景的问题。
相信大家在以上的工作经验要求和个人背景要求都没有问题,CISSP的道德守则就是要求 CISSP有诚实的品质,大家按自己的真实情况进行填写即可。
二、CISSP认证考试的报名流程:
目前 CISSP考试在中国有三个考点,北京的清华大学网络研究中心、上海的交大信息安全学院和广州的软银数码港酒店,大家可以根据自己的方便程度来选择考点。
CISSP 考证只能由报名者自己向(ISC)2 报名,(ISC)2 并没有提供代理报名的方式,这一点请大家注意。目前(ISC)2 提供 2 种 CISSP 考试的报名方式,在线报名和离线邮件/传真报名。前者适合上网方便、有信用卡的报名者,后者则比较适合没有信用
卡的报名者。在线报名的网址是:
[url]cissp_?examdateid=2877[/url]
离线报名方式需要报名者到(ISC)2网站上下载报名表,按表上要求填写后邮寄或传真到表格上所写明的地址。亚洲区域的报名者使用以下地址的报名表:
[url][/url]
J0ker在这里要提一下,因为邮寄或传真有可能有延时,所以建议报名者尽量采用在线报名的方式注册 CISSP考试。
报名者在选择报名方式的同时也选择了考试费的支付方式,如果是在线报名方式,报名者需要用信用卡支付,请确保信用卡的可用额度足以支付报名费用,使用支持 RMB 和美元的双币信用卡即可,比如招商银行的信用卡。另外,没有信用卡的报名者还
可以请别人代为支付,按在线报名表格的要求填写信用卡信息就可以了,但听有的朋友说请别人用某些银行的信用卡代为支付的时候,会因为(ISC)2 提供的支付回执上写的是报名者的名字而非信用卡主人的名字,从而导致支付失败。J0ker 报名也遇
到的这种情况,支付回执上写的就是 J0ker 的名字而不是信用卡主人的名字,但支付是成功的,当时用的就是招行的信用卡。对于没有信用卡的报名者来说,还有一种方法可以付款,那就是到银行去购买一张汇票(Draft),填写好相关信息后和打印
出来填写好的报名表一块邮寄到(ISC)2香港办事处就可以了,不过这种方法会比较耗时。
CISSP 考试的报名费在预定考试 15 天之前支付为 499 美元,15 天之内为 599 美元。如果报名者因为各种原因需要取消或改时间考试,则需要最少比考试提前 15 天用书面通知(ISC)2,并且还要支付 100 美元的退考费或改时间考试费。如果某一次考试
的报名人数超过了考场可以容纳的最大人数,(ISC)2会根据报名费的到达顺序按先到先得的原则安排考试。
三、最后 J0ker带大家简单走一下 CISSP考试在线报名的流程
进入(ISC)2的官方站点
打开(ISC)2考试预约页面,地址为:[url]exam_[/url]
在出现的页面上可以按照考试的城市、国家或月份进行查询,我们选国家为 China,搜索列出当前年份将在中国进行的 CISSP考试,然后在随后的两个页面中选择考试的时间(Register)及考试的类型(CISSP)
下一个页面就是(ISC)2的考试收费规则、保密协议和道德准则,请报名者先仔细阅读,同意的话按底下的“Iagree”按钮继续
报名表填写:
第一栏的 PersonalInformation和第二栏的 BusinessInformation就是报名者的个人信息、联系信息,按规定填写即可。
有 2 个细节需要注意一下,第一个是姓名填写的地方,Title 就填 Mr、Miss 之类的,LastName 填名,FamilyName 填姓,报名者不用担心倒过来写在考试时会遇到麻烦,监考官手上的名单的考试者名字顺序是对的。另外一个细节是
BusinessInformation的最底一行有选择 HomeAddress或 BusinessAddress的选项,这个选项决定(ISC)2按哪个地址和报名者进行 E-mail的联系和证书的寄送,请报名者确保填写的地址有效。
接着就是报名者的背景信息,第三项是上面说过的是否有犯罪背景和报名者是否曾经持有 CISSP 认证,第四项是报名者的工作经验和学历,按实际情况填写即可。不过要注意 CBK 的填写是多少个月从事什么 CBK 的工作,总 CBK 工作的时长应该满足
(ISC)2所规定的 CISSP考试的工作经验需求。
再下来就是考试地点选择和信用卡付款信息,选好考试时间和地点、试卷语言、支付币种,再根据信用卡信息填妥,检查一遍。确认无误之后,就可以点击页面最下方的”Sumit“提交报名表格和支付考试费。注意不要多次点击提交按钮或重复提交表
单,否则就会造成多次支付。
提交成功后,页面会重定向到一个支付回执页面,上面是报名者信息、支付款项和考试协议,最好用网页另存为将它保存下来。报名者还需要将它打印出来,签上自己的名字,考试时需要给监考官看,以证明报名者同意考试协议。
另外,交易成功后,(ISC)2 会发送一个 OrderConfirmation邮件,确认报名者已经交款成功。在第二天(ISC)2 还会发送一个 AdmissionLetter,里面就是报名者的准考证,上面有考号、考场位置、考试时间等内容,报名者也需要把它打印出来保存好,
考试时同样需要带到考场。至此,CISSP考试的报名即告完成。
在上一篇文章《WhyCISSP》里,J0ker 介绍了为什么要获得 CISSP 认证和 CISSP 的职业发展情况。那需要通过怎样的流程才能成为一个 CISSP?J0ker 打算在从本文开始的 3 个文章中,从参加 CISSP 认证考试的条件及报名流程、CISSP 考试的过程和应注
意的问题和 CISSP考试通过后的取得认证的手续及 CISSP认证的维护这三个方面来向大家介绍。
一、参加 CISSP认证考试的条件:
根据(ISC)2目前的 CISSP考试需求,考试的报名者需要具备信息安全领域涉及 1个或以上 CBK的 4年工作经验,注意这个工作经验指的是信息安全领域的全职工作经验,兼职的不能算,(ISC2)认可的工作经验,指报名者在信息安全领域作为实践者、
审计师、咨询、工程师等需要有直接的信息安全知识支持的工作经历。如果报名者有本科及以上学历或拥有(ISC)2认可的认证证书,工作经验的要求可以降为 3年,但报名者只能通过学历或认证证书减少 1年的工作经验要求,并不能同时使用学历和
认证证书以减少工作经验要求为 2 年。(ISC)2 认可的可以减少 1 年工作经验的证书中,常见的有 MCSE、CISA、CISM 及一些比较少见的安全认证,有兴趣的读者可以从(ISC)2 的官方站点上[url]?page=1016[/url]获得更详细的列表。如果读者对 CISSP
认证很有兴趣,但工作经验又达不到(ISC)2的要求,怎么办?不要气馁,(ISC)2专门为这种情况的考试者设立了一个称为“Associateof(ISC)2”的头衔,考试者在通过 CISSP考试,在实际工作中积累足够年限的工作经验,便可向(ISC)2申请升级
为正式的 CISSP。
不过要注意的是,(ISC)2在五月份修改了 CISSP认证考试对报名者的工作经验要求,从 2007年的 10月 1日开始,原来的 4年全职工作经验要求增加到 5年,工作中要涉及到的 CBK数目的要求则从至少一个增加为至少两个。报名者依然可以通过学历和
认证证书来减少 1年的工作经验要求,认证证书列表和年限放宽的限制和原来一样。
CISSP 认证考试的报名者在填写报名表之前,还需要同意(ISC)2 的认证考试的付款、退款、重付款的规则和考试保密协议及试卷的版权协议,还有最重要的,(ISC)2 的 CISSP 道德准则(CodeofEthic)。另外,报名者在填写报名表时,还需要回答 4 个关
于是否有犯罪记录背景的问题。
相信大家在以上的工作经验要求和个人背景要求都没有问题,CISSP的道德守则就是要求 CISSP有诚实的品质,大家按自己的真实情况进行填写即可。
二、CISSP认证考试的报名流程:
目前 CISSP考试在中国有三个考点,北京的清华大学网络研究中心、上海的交大信息安全学院和广州的软银数码港酒店,大家可以根据自己的方便程度来选择考点。
CISSP 考证只能由报名者自己向(ISC)2 报名,(ISC)2 并没有提供代理报名的方式,这一点请大家注意。目前(ISC)2 提供 2 种 CISSP 考试的报名方式,在线报名和离线邮件/传真报名。前者适合上网方便、有信用卡的报名者,后者则比较适合没有信用
卡的报名者。在线报名的网址是:
[url]cissp_?examdateid=2877[/url]
离线报名方式需要报名者到(ISC)2网站上下载报名表,按表上要求填写后邮寄或传真到表格上所写明的地址。亚洲区域的报名者使用以下地址的报名表:
[url][/url]
J0ker在这里要提一下,因为邮寄或传真有可能有延时,所以建议报名者尽量采用在线报名的方式注册 CISSP考试。
报名者在选择报名方式的同时也选择了考试费的支付方式,如果是在线报名方式,报名者需要用信用卡支付,请确保信用卡的可用额度足以支付报名费用,使用支持 RMB 和美元的双币信用卡即可,比如招商银行的信用卡。另外,没有信用卡的报名者还
可以请别人代为支付,按在线报名表格的要求填写信用卡信息就可以了,但听有的朋友说请别人用某些银行的信用卡代为支付的时候,会因为(ISC)2 提供的支付回执上写的是报名者的名字而非信用卡主人的名字,从而导致支付失败。J0ker 报名也遇
到的这种情况,支付回执上写的就是 J0ker 的名字而不是信用卡主人的名字,但支付是成功的,当时用的就是招行的信用卡。对于没有信用卡的报名者来说,还有一种方法可以付款,那就是到银行去购买一张汇票(Draft),填写好相关信息后和打印
出来填写好的报名表一块邮寄到(ISC)2香港办事处就可以了,不过这种方法会比较耗时。
CISSP 考试的报名费在预定考试 15 天之前支付为 499 美元,15 天之内为 599 美元。如果报名者因为各种原因需要取消或改时间考试,则需要最少比考试提前 15 天用书面通知(ISC)2,并且还要支付 100 美元的退考费或改时间考试费。如果某一次考试
的报名人数超过了考场可以容纳的最大人数,(ISC)2会根据报名费的到达顺序按先到先得的原则安排考试。
三、最后 J0ker带大家简单走一下 CISSP考试在线报名的流程
进入(ISC)2的官方站点
打开(ISC)2考试预约页面,地址为:[url]exam_[/url]
在出现的页面上可以按照考试的城市、国家或月份进行查询,我们选国家为 China,搜索列出当前年份将在中国进行的 CISSP考试,然后在随后的两个页面中选择考试的时间(Register)及考试的类型(CISSP)
下一个页面就是(ISC)2的考试收费规则、保密协议和道德准则,请报名者先仔细阅读,同意的话按底下的“Iagree”按钮继续
报名表填写:
第一栏的 PersonalInformation和第二栏的 BusinessInformation就是报名者的个人信息、联系信息,按规定填写即可。
有 2 个细节需要注意一下,第一个是姓名填写的地方,Title 就填 Mr、Miss 之类的,LastName 填名,FamilyName 填姓,报名者不用担心倒过来写在考试时会遇到麻烦,监考官手上的名单的考试者名字顺序是对的。另外一个细节是
BusinessInformation的最底一行有选择 HomeAddress或 BusinessAddress的选项,这个选项决定(ISC)2按哪个地址和报名者进行 E-mail的联系和证书的寄送,请报名者确保填写的地址有效。
接着就是报名者的背景信息,第三项是上面说过的是否有犯罪背景和报名者是否曾经持有 CISSP 认证,第四项是报名者的工作经验和学历,按实际情况填写即可。不过要注意 CBK 的填写是多少个月从事什么 CBK 的工作,总 CBK 工作的时长应该满足
(ISC)2所规定的 CISSP考试的工作经验需求。
再下来就是考试地点选择和信用卡付款信息,选好考试时间和地点、试卷语言、支付币种,再根据信用卡信息填妥,检查一遍。确认无误之后,就可以点击页面最下方的”Sumit“提交报名表格和支付考试费。注意不要多次点击提交按钮或重复提交表
单,否则就会造成多次支付。
提交成功后,页面会重定向到一个支付回执页面,上面是报名者信息、支付款项和考试协议,最好用网页另存为将它保存下来。报名者还需要将它打印出来,签上自己的名字,考试时需要给监考官看,以证明报名者同意考试协议。
另外,交易成功后,(ISC)2 会发送一个 OrderConfirmation邮件,确认报名者已经交款成功。在第二天(ISC)2 还会发送一个 AdmissionLetter,里面就是报名者的准考证,上面有考号、考场位置、考试时间等内容,报名者也需要把它打印出来保存好,
考试时同样需要带到考场。至此,CISSP考试的报名即告完成。
在上一篇文章《HowCISSP2》中,J0ker向大家介绍了 CISSP考试前的食住行和考试中要注意的问题。那么,成功通过 CISSP考试之后还要通过什么手续才能拿到 CISSP认证?获得 CISSP认证之后如果保持认证?J0ker将在本文中为大家一一解答。
收到考试成绩单
参加 CISSP 考试之后,考生大概要等 2 个星期才能收到(ISC)2 用 E-mail 发来的考试成绩,通过的考生会收到一封祝贺信,并带有一个 PDF 附件(Endorsement 表格),另外,信中还介绍了如何进行下一步手续的简单介绍。考生如果收到的是一封包
含考试成绩和 10个 CBK评价的 E-mail,则说明考生没有通过考试,而考生对 10个 CBK的掌握程度与评价的分值成反比。没有通过的考生也不要气馁,可以针对(ISC)2考试结果邮件中的 CBK评价,有重点的再次进行复习,GoodLuck!
背景证明——Endorsement
(ISC)2为了保证 CISSP认证的可信性,采用了第三方确认的方式对通过 CISSP考试的考生进行专业知识和工作经验进行确认,这个流程称为背景证明,也是常说的 Endorsement,(ISC)2会把 Endorsement表格随 CISSP考试的结果邮件一起发送给通过
考试的考生。(ISC)2 规定 Endorsement 的签署人必须持有(ISC)2 认可的认证,比如 CISSP、CCIE、MCSE、BS7799LA 等,或者必须是考生所在单位的高层领导(通常是 CTO、CEO,部门经理级别的不可以),这样签署的 Endorsement 才会被(ISC)2 所接
受。需要注意的是,从 2007年 9 月开始,(ISC)2修改了对 Endorsement签署人的要求,要求签署人必须持有(ISC)2系列认证(CISSP/SSCP),这样签署的 Endorsement才会被(ISC)2所接受的。J0ker认为,(ISC)2提高 Endorsement 的签署人要求,
更有利于控制新进 CISSP的质量,防止出现现在国内某些认证泛滥和贬值的情况,另外,由(ISC)2认证持有者来做 Endorsement的签署人,也能更好的根据 CBK来对考生的经验进行二次确认。
准备好英文简历
除了 Endorsement 之外,通过 CISSP 考试的考生还需要准备一份个人的英文简历,按照常规的简历写法来写就可以。不过要注意一下工作经历的写法,应该在工作经历里面的每一个项目后面说明该项目涉及到哪些 CBK,比如,CBK:Accesscontrol 这样
写就可以了。准备好英文简历后,考生要将英文简历和 Endorsement 表格交给自己的 Endorsement 签署人,让签署人填好 Endorsement 表格并签名。考生可以用电子邮件或传真的方式将材料送达(ISC)2的审核负责人,如果是采用电子邮件方式,可以将
材料准备好后扫描成 PDF 文档,再通过电子邮件发送到,不过要注意只能由 Endorsement 的签署人来发送这两份材料,考生自己发是无效的。如果是采用传真方式,只需把材料传真到(ISC)2 香港办事处即可。J0ker 建议考生尽量选用电子邮件的方式来
发送审核材料,这样处理的速度会比较快,也可以防止因为传真引起的审核材料丢失。
教育经历审核
(ISC)2 每次还会随机抽取 10%左右的通过者再做一下教育经历的审核,被挑选到的通过者会在所收到 CISSP 考试结果邮件中看到教育经历审核的要求和具体步骤。J0ker 当时没有被抽中,后来问了一下曾经被要求进行审核的 CISSP 朋友,所谓的教育经
历审核需要提供两份材料,其中一份是声明,声明被审核者确认所提供的所有材料都是真实无误的,另外一份资料是被审核者的学历证书复印件。被审核者准备好材料之后,可以将材料扫描编辑成 PDF文档,发送到,也可以将材料传真到(ISC)2香港办
事处。
送出审核材料后,考生大概会在 2 到 3 天后收到(ISC)2 的资格审核确认邮件,如果审核通过,大概 2 个星期后,考生就能收到(ISC)2 用航空邮件发来的 CISSP 证书,成为 CISSP 中的一员。可能大家比较担心证书投递的问题,不用担心的,国内的
邮局都有专门的翻译负责国外邮件的分发,只要在 CISSP 考试报名时填写地址信息正确,一般都能很快收到。如果考生收到了(ISC)2 的资格审核确认邮件,却又在 2 至 3 个星期内没有收到 CISSP 证书,还可以向审核确认邮件里提供的 E-mail 地址发邮
件询问,(ISC)2确认后会重新寄送 CISSP证书的。随 CISSP证书一块寄来的还有一个 CISSP名片、一封(ISC)2的欢迎信,信上介绍了 CISSP的(ISC)2的会员权利,并附带了(ISC)2网站的初始登陆密码。
如何保持 CISSP认证
(ISC)2规定,CISSP认证的持有周期只有 3年,CISSP只有按时缴纳每年的会员费(AMF),并在三年内赚取 120CPE(ContinuingProfessionalEducation,继续教育点数),才能在三年后更新所持有的 CISSP认证。
CISSP的会员费是每年 85美元,CISSP在(ISC)2网站上登陆自己账户之后便可查到自己下一次交会员费的时间,如果在该时间 60天之内不缴纳会员费,就需要多交 20美元的滞纳金。交会员费同样需要 CISSP登陆自己账户后才能操作,在会员费信息下
面有一个”PAYAMFsNOW“按钮,点击进入后,选择缴费币种、缴费年限、填好信用卡信息,验证无误后提交,便可完成会员费的缴纳过程。
(ISC)2 对 CISSP 有 120CPE 的要求是为了督促 CISSP 不断的提升自己的知识和经验,使自己能和技术的发展保持同步。规定只有 CISSP 本职工作之外的额外发展活动才能算 CPE 点数,而根据额外发展活动的不同,CPE 的种类又分成 A 类和 B 类两种,A
类 CPE(DirectInformationSecurityActivity)即是与 CISSP10个 CBK直接相关的活动,而 B类 CPE(ProfessionalSkillsActivity)则是 CISSP自身能力发展的活动,120个 CPE中必须包含 80个 A类 CPE和 40个 B类 CPE。
120 个 CPE 提交的最迟时间是 3 年周期之后的 90 天之内,如果 CISSP 在 3 年内不能赚够 120 个 CPE,将会把取消 CISSP 资格,而在 3 年周期的最后 6 个月中提交的超过 120 的额外 CPE 点数,可以带到下一个 3 年周期。CISSP 提交 CPE 的方法也需要登陆
到自己的(ISC)2 账户,然后使用”SUMITCPEsNOW“功能进行 CPE 的提交,提交的 CPE 申请一般会在 2 到 3 天内得到通过并更新到 CISSP 的账户信息中。另外,(ISC)2 还有随机抽查 CISSPCPE 的制度,如果 CISSP 被抽到要求审核 CPE 的话,则需要提供
该 CPE的有效证明材料,比如有 CPE是 CISSP自学某本安全方面的书籍,那(ISC)2会要求 CISSP提供这本书的发票,因此提交 CPE时,CISSP应保存好 CPE的相关有效证明材料。
CPE提交和 CPE点数具体如何计算的资料,都可以在(ISC)2网站上找到,J0ker在此就不再详述。
在《J0ker的 CISSP之路》系列的前几篇文章里,J0ker向大家简要介绍了 CISSP认证考试的基本情况,但对于想要进一步深入了解 CISSP认证体系、或者想要获得一个 CISSP认证的朋友来说,内容还是稍微简单了点。所以,从本文开始,J0ker将用大
概 15篇文章的篇幅,向大家详细的介绍 CISSP认证考试的复习流程、各种复习资源和 CISSP的 10个 CBK的内容,本文要介绍的即是 CISSP认证考试的复习流程及资源。
J0ker 先给大家说说 CISSP 考试的复习流程,和其他考试一样,CISSP 考试的复习也需要循序渐进,不断巩固,由于 CISSP 考试的广度和深度——”OneMilewide,Oneinchdeep”,决定了复习的同时也是一个学习过程。因为要报考 CISSP 的朋友大多是各
自单位的技术骨干和中高层管理,日常事务十分繁忙,所以复习的时间安排和计划对考试的成功显得无比重要。
怎么制定复习计划
知己知彼,方可百战不殆。考生应该先了解一下 CISSP 考试的 10 个 CBK 的组成和内容,根据自己的情况将掌握得较好、较差的 CBK 分别列到表里,并以此为根据安排各 CBK 复习的优先度。考生还需要根据自己空闲时间的多少,合理的进行分配,比
如,如果有半年的准备时间的话,每天保证 1到 1个半小时复习即可,如果准备的时间较短,可以斟酌增加每天复习的时长。
进行复习
制定好复习计划之后,考生便可每天按照计划好的优先度和时间安排进行复习。复习中有 2 个要点,其一复习贵在坚持,持续的复习可以保持考生对 CISSP 知识的掌握程度,三天打鱼,两天晒网只不过是在浪费时间;其二复习不可偏颇,考生应该对自
己掌握较好的章节也进行全面复习,CISSP考试的广度往往出乎过分自信的考生意料之外。
如何巩固复习效果
在 CISSP 考试的复习过程中做些模拟题是必须的,但因为 CISSP 考试出题相当灵活,如果考生想靠猜题、押题来通过 CISSP 考试,恐怕只会换来一个失败的结果。J0ker 的建议是,CISSP 考试说到底是考察考生的能力和经验,如果考生有条件的话,对
掌握不好,平时也没有机会接触的内容自己做个模拟环境来实践一下,比如 TelemunicationandNetworksecurity、OperationalSecurity 等 CBK,都可以自己实验一下。另外,考生可以精选 1 到 2 个模拟题库,时不时对自己的复习情况进行检查,做错
的题目应该记录起来,重新对涉及到的 CBK内容进行复习。
CISSP考试复习中可以用到的资源:
复习书籍
目前市面上 CISSP 考试复习的书籍不少,内容虽然大同小异,但写作风格写作水平是大不相同,有的追求语言生动易懂,有的则比较详细枯燥。考生如何选择适合自己的 CISSP 复习材料?J0ker 觉得选择的标准应该由考生自身的语言水平、信息安全从
业经验等来决定,在语言水平差不多的情况下,如果考生的从业经验较多,但对概念的把握上仍有欠缺,可以选择 CISSPofficialguide 解释概念较为详细的材料;如果考生平时主要从事咨询或管理类的工作,具体技术方面的经验不足,则可以选择
CISSPAllinOne3rd或者 Preguide2nd这样的材料,它们生动的描述会使技术方面的难题变得容易理解;还可以准备一本 ExamCram的 CISSP小书,出差或旅行时可以随手翻阅。
在线资源
在准备 CISSP 考试时,考生同样有丰富的在线资源可以选择,不过首选的依然是(ISC)2 的官方网站,考生可以从上面得到最新的考试通知、考试资源等,(ISC)2 官方所提供的 ResourceGuide 也包含了许多对 CISSP 考试很有用的在线资源、参考资料
等。另外,国外的也有不少的在线资源可供选择,比如电子杂志、论坛、免费的在线视频等。
模拟题库
模拟题库在 CISSP 考试的复习中可以起到查漏补缺的作用,也可以帮助考生熟悉 CISSP 考试的难度和出题方式,不过选择模拟题库也不是题越多越好,关键还是要看模拟题库的题量是否适中,出题的难度和问法是否和真实考试接近。J0ker 认为,上所
提供的 CISSP在线测试题库(1000题)和 Acutaltest提供的 CISSP模拟题库都比较好用,的题较浅但覆盖知识点也较全,Acutaltest的题的问法更接近真实的 CISSP考试。J0ker当时主要用的就是 Acutaltest的题库,尽管在真实 CISSP考试中找不到
和 Acutaltest题库相同的题目,但 Acutaltest题贴近真实考题的特点使 J0ker在考试能得以提高不小作答的速度和准确率。
Wheretoask
如果考生在复习 CISSP 知识的过程中遇到问题,可以选择论坛等在线途径向 CISSP 们请教,国外较好的是的论坛,因为在的论坛上回答一定数量的问题可以得到 CPE 的奖励,CISSP 们通常会比较乐意回答论坛上的问题。中文方面的资源可以选择国内的
的论坛,上面同样有许多热心的 CISSP会回答考生各方面问题,不仅仅是 CISSP知识点,还包括 CISSP考试的方方面面。J0ker也欢迎大家来询问 CISSP方面的问题,J0ker会尽自己一份微薄之力为大家的 CISSP历程提供尽可能多的帮助:)
在《J0ker 的 CISSP 之路》系列的上一篇文章《复习流程和资源》里,J0ker 给大家介绍了一般的复习流程和对复习比较有帮助的资源。从本文开始,J0ker 将带大家进入 CISSP 考试的正式复习过程:2007 年(ISC)2 修改过 CISSP 考试的各 CBK 名称和内
容,虽然新内容绝大部分和原来的 CISSPCBK 相同,但还是增加了一些新内容。J0ker 手上只有比较老的 CISSPOfficialGuide 和 CISSPAllinOne3rd(J0ker 准备考试时也是用这两本资料,对增加新内容的考试还可以应付),所以在本系列文章中依然沿
用(ISC)2修改前的 CBK名称和内容,J0ker会按照 CISSPOfficialGuide的内容安排给大家介绍一下复习中的心得和要点,限于 J0ker自己水平和各人的情况不同可能有所不足,请大家原谅。
CISSP复习的第一章 InformationSecurityManagement
安全行业有句行话,“三分技术,七分管理”,意为安全技术应该从属于管理。不少安全厂商在推销自己的产品时,常常只顾鼓吹说自己的产品有多好,却没有向客户说明产品是否适用于目标企业的实际环境。CISSP 需要明白,安全技术也好,安全产
品也好,都是必须从属于安全管理,只能因管理而技术,从安全技术和产品的使用去推导安全管理应该怎么做,就是本末倒置了。因此 CISSPCBK 中引入了 InformationSecurityManagement 这一概念,假如把企业的信息安全计划比作一艘船,信息安全
管理就如同灯塔,指挥着船往哪里走,怎么走,如果舵手(CISSP)不按照灯塔(InformationSecurityManagement)的指示走,船就很可能触礁沉没(安全项目失败,或达不到想要的效果)
信息安全管理,或者说所有的信息安全项目,都是围绕着实现信息资产的 A-I-C三角而设计和实施的。所谓的 A-I-C三角,也即信息资产的三个重要属性:
Availability,可用性,保证信息资产对授权的用户随时可用;
Integrity,完整性,保证信息资产不受有意或无意的未授权修改;
Confidentiality,保密性,保证信息资产不受未经授权的访问。
A-I-C 三角也是贯穿整个 CISSPCBK 内容的宗旨。因此,对一个组织实体来说,信息安全管理的内容就是识别信息资产的类型价值,并通过开发、记录和实施安全策略(Policies)、标准(Standards)、流程(Procedures)和指导(Guidelines)来确
保信息资产的 A-I-C 属性。在这个过程中,需要对信息资产进行识别和分级、识别可能威胁信息资产的威胁、并对可能存在的漏洞进行评估,我们可以使用数据分级(Dataclassification)、安全意识教育(SecurityAwarenessTraining)、风险评估
(RiskAssessment)和风险分析(RiskAnalysis)这些工具来完成。J0ker将在接下去的文章里面再给大家详细解释上面提到的各个名词。
在 CISSPCBK 中还可以看到一个和信息安全管理相似的名词——风险管理(RiskManagement),信息安全管理是从管理流程的角度实现信息资产的保护,而风险管理则是从风险防范的角度出发,将风险对信息资产的损害降到最低。风险管理是识别、评
估、控制和最小化风险或未确定因素对信息资产的损害的过程,它包括整体安全评估( OverallSecurityReviews )、风险分析( RiskAnalysis )、防御方案的选择和评估( EvaluationandSelectionofSafeguard )、效能分析
(Cost/BenefitAnalysis)、管理决策(ManagementDecision)、防御方案部署(SafeguardImplementation)和效能评估(EffectivenessReviews)等步骤。
A-I-C三角是贯穿 CISSPCBK的宗旨,这也是我们在 CISSP复习中遇到的第一个重点,如何把抽象的 A-I-C概念,转化成具体的知识?J0ker打算用实际应用中的例子说明一下:
Availability,是确保信息资产对授权用户随时可用的能力,在实际应用中,我们可以把有可能损害可用性的威胁分成 2类:
1、DenialofService拒绝服务
2、会造成数据处理所需设备损失的自然灾害(火灾、水灾、地震等)或人为因素(恐怖袭击等)
拒绝服务通常指因为用户或入侵者的原因导致某个数据服务无法向其用户提供服务的故障,比如计算资源的耗尽导致的计算机锁死、存储器资源的耗尽导致的文件读写失败、网络资源耗尽导致的网站无法访问等,但拒绝服务通常不会物理损坏数据服务
所依靠的设备,进行释放资源之类的相关处理便可恢复正常。而自然灾害和人为因素则是物理损坏,只能重新购置部署设备才能使数据服务恢复正常。我们可以制定业务持续性计划(ContingencyPlanning),并通过物理(PhysicalControl,物理安全
及设备备份)、技术(TechnicalControl,设备冗余、数据备份及访问控制)和管理(AdministrativeControl,各种策略流程等管理措施)手段来保证可用性。
Integrity,是确保信息资产不被有意或无意的未授权修改的能力,完整性通常由访问控制(AccessControl,各种验证、授权手段)和安全程序(SecurityProgram,保证信息和处理流程按照设计好的来执行,并提供数据完整性检查能力)这两者提
供。另外,完整性控制还有以下三个原则:
1、Needtoknow/LeastPrivilege,最低权限策略,用户应该只获得完成其工作的最低限度的资源访问和操作权限。
2、SeparationofDuties,职权分离,确保较为重要的工作流程由多人完成,防止出现欺诈行为。比如常见的财务人员和审计人员分属于不同的部门便是职权分离的例子。
3、RotationofDuties,职务轮换,定期轮换重要职务上的人员,有助于防止出现欺诈,也可以在当前人员缺席的情况下很快使用其他人员替代。
Confidentiality,是确保信息资产不被未授权用户访问的能力,最近几年很受关注的身份管理和隐私问题也属于保密性这一范畴。常见的保密性威胁有:
1、Hacker/Cracker,系统的未授权访问通常是由于黑客或骇客的入侵造成的。
2、Masqueraders,授权用户伪装成另外一个授权用户,或未授权用户伪装成授权用户的非法访问行为。
3、UnauthorizedUserActivity,授权或未授权用户对不属于其授权范围的资源的访问行为。
4、Unprotecteddownloadedfiles,用户违规把保密文件下载并存储在没有保护措施的地方。
5、Networks,保密文件未经加密便在网络上传输。
6、TrojanHorses,木马病毒盗取保密文件是近年来发生比较多的安全事故
7、SocialEngineering,社会工程欺骗是这两年的一个关注热点。
在《J0ker 的 CISSP 之路》系列的上一篇文章《InformationSecurityManagement(1)》里,J0ker 给大家介绍了信息安全管理要实现的 A-I-C 目标和原则。在接下去的文章,J0ker 将带大家逐步深入信息安全管理的领域,并结合实际例子给大家解释该
CISSPCBK中提到的诸多关键名词。本文将介绍 InformationSecurityManagementCBK中的风险评估(RiskAnalysisandAssessment)。
我们经常可以从媒体或者各种安全资讯上看到一个词——风险(Risk),但具体到它的含义,以及它在信息技术领域所代表的意思,却没有太多的人可以说的清楚。所谓“风险中存在机遇“,人们在选择机会的同时,也会遇到许多会造成损失的不确定
因素,这些不确定的因素便称之为”风险“。例如,买车能带来出行方便,但同时也会因为燃料费上涨、路费、维修等等不确定的因素导致意外的支出,而且尽管几率很小,也依然存在发生交通事故危害生命的情况。
因此,我们在选择一个机会之前,常常会或多或少的考虑机会之中包含着的不确定因素有哪些,更进一步的,我们还会想办法去了解机会之中的不确定因素到底有多大的可能发生,并准备一些可以降低发生几率或损失的措施。同时为了更有效的准备和
评估应对不确定因素的防御措施,我们还必须认真的了解不确定因素的各个组成元素,并搞清楚它们之间的关系,这个不确定因素的识别、分析和评估的过程,便是本文要介绍的风险分析和评估(RiskAnalysisandAssessment)。
进行过风险分析和评估之后,接下去自然就是如何应对风险——在 CISSPCBK中,风险的应对方式可以分成三种,J0ker还是用上面买车的例子来介绍:假设买了车之后,在路上发生追尾事故的可能性为每三个月一次,如果车主采取了在交通繁忙时刻降
低车速,选择另外车流量较小的道路或者在车上添置防追尾的设备,这都属于车主接受了风险存在的事实,并采取的降低风险发生可能性或损失的措施,我们称之为 AccepttheRisk 或 MitigatetheRisk;如果车主认为部署防追尾的设备成本比追尾后修
一次车还贵的多,或者因为其他原因而无视追尾危险,这样称之为 RejecttheRisk,或 IgnoretheRisk,风险并没有减轻,只是被忽略了。还有一种较为常见的情况是车主通过购买保险,将追尾可能产生的各种费用转移到保险公司身上,这称之为
TransfertheRisk,即风险转移。Accept和 Transfer是对待风险的常用方式,但在某些不太重要的场合,也可以选择用不作为的方式。
风险的识别、分析和评估、消除、转移整个流程我们称之为风险管理(RiskManagement),在进行风险管理的流程时,以下的关键的问题需要弄清楚:
1、Whatcouldhappen(Threatevent,风险的具体形式,威胁)
2、Ifithappened,howbadcoulditbe(Threatimpact,威胁的影响程度)
3、Howoftenitcouldhappen(Threatfrequency,威胁发生的频率)
4、Howcertainaretheanswerstothefirstthreequestions(Recognitionofuncertainty,威胁发生的几率和不确定性)
这些问题都可以从风险分析和评估中获得答案,威胁发生的不确定性是风险管理中的核心问题,当然,谁都希望为所有可能发生的情况做好充分的准备,但现实常常不允许我们这样考虑,我们只能够保证优先度最高的部位和风险最有可能发生的部位能
部署到风险管理方案。通过风险分析和评估,我们可以从上述 4个问题中发现一些无法忽视的风险(UnacceptableRisks),我们需要部署相应的方案来应对它们,以下的问题需要了解清楚:
1、Whatcanbedone(RiskMitigation,风险消除方案)
2、Howmuchwillitcost(annualized,方案每年平均成本)
3、Isitcosteffective(Cost/BenefitAnalysis,费效比分析)
上述问题的解答将最终决定一个实体对风险对象的最终解决方案,并执行管理层批准、财务提供预算、采购、部署、维护等流程进行实施。对于 IT 领域,风险管理则更进一步的细化为 InformationRiskManagement(IRM),因为 IT 技术不断的发展,
IRM也是一个没有结束期,需要持续关注的行为。
在进行下面的内容之前,J0ker打算先向大家列出几个关键的名词:
SLE:SingleLossExpectancy,风险发生时的单个对象的损失
ARO:AnnualizedrateofOccurrence,一年内风险发生的几率
ALE:AnnualizedLossExpectancy,风险发生时每年平均损失,ALE=SLE×ARO,即如果一个对象遭遇风险时损失(SLE)是 10万元,每年发生该风险的几率(ARO)是 1/100,那每年平均损失就是 100000×=1000
InformationAsset:信息资产,对组织运作起关键作用的信息相关实体,比如客户资料、交易情况等等,信息资产的价值由许多元素组成,包括最基本的信息本身的价值、信息处理支持软件的价值、信息的 Availability、Confidentiality、Integrity
属性、信息处理所需的硬件设备也可认为属于信息资产,信息资产的价值还可以根据损失它后会对组织造成信息本身价值之外的损失的大小来进行评估。
Qualitative/Quantitative:质化/量化,对于信息资产价值的评估,通常可以采用量化和质化的方式,对于能直接算出资产价值的对象,如设备、软件等,可以用量化的方式,直接算出它的价值。对于另外一些无法量化的对象,如数据、业务流程
等,则可以使用质化的方式,请使用该对象的人员,用分级的方式评估该资产的价值,J0ker 觉得简单的五分法可以应付一般的任务,将信息资产按其对组织运营的重要程度,分为非常重要、重要、比较重要、一般、不重要五个级别,并对应 1-5 分,
分值越高,信息资产的重要程度也越高。
Risk:风险,潜在的损失或伤害,请参考本文前面的内容
Threat:威胁,有可能造成风险的因素,比如各种恶意软件、自然灾害等
Safeguard:风险防御措施,通常也称为 Control,风险控制措施
Vulnerability:漏洞,风险防御措施的缺失或弱点,通常出现漏洞就意味着风险发生的频率更高和风险发生时损失更大。比如没有安装反病毒软件便可认为是一个漏洞,会使恶意软件攻击的发生几率和损失更大。
信息风险管理是一个复杂的流程,它需要根据每个组织不同的信息资产和业务流程情况,并综合企业管理、经营预算、员工行为等来进行制定并执行。如果大家有兴趣进一步深入 IRM 的领域,请参考 CISSPOfficialGuide、AllinOne 或其他 CISSP 参考
书。
在《J0ker 的 CISSP 之路》的上一个文章里,J0ker 给大家简单介绍了风险分析和评估的一些要点。我们都知道,如果同时做多个事情,就需要按照事情的轻重缓急来安排好执行的顺序和投入,实施信息安全项目时也必须如此,需要根据所要保护的信
息资产的价值,来部署不同的安全方案,进行费效比评估,本文 J0ker将向大家介绍的 InformationClassification(信息分级),便是这样一个帮助组织更有效的进行安全项目的重要工具。
什么是信息分级?
信息分级是组织根据信息的业务风险(BusinessRisk)、数据本身价值和其他的标准,对信息进行等级的划分。组织可以通过信息分级,发现影响影响组织业务的最显著因素,并根据信息等级对信息实施不同的保护、备份恢复等方案。信息分级的目的
在于降低组织保护自身所有信息的成本,同时,信息分级对关键信息的标识,也可以增强组织的决策能力。
组织实施信息分级有什么好处?
信息分级应该在组织级的层次上进行实施,如果在部门级别或更低的层次上进行实施,则体现不出它的优势。组织实施信息分级的好处有:
1、组织范围的所有数据因为实施了正确的保护措施而提高了保密性、完整性和可用性
2、组织可以尽可能有效的利用信息保护的预算,因为组织可以根据信息等级设计和部署最合适的保护方案
3、组织的决策能力和准确性得以通过信息分级来增强
此外,组织还能通过信息分级的处理过程,重新整理自身的业务流程和信息处理需求。
信息分级的一般流程
各个组织因为自身的情况不同,信息分级项目的流程都各不相同。CISSPOfficialGuide 中提供了一个比较有效通用的流程,J0ker 将要把它列在下面,并简单说一下 CISSP 考试中常见的题型和考察的重点,同时,这些知识点也是一个 CISSP 应该精通的
内容。
一个标准信息分级项目的流程有:
1、初始准备,OfficialGuide里面把这个阶段概括为”Questiontoask“,并提供了若干问题,信息分级项目的主管应保证这个阶段的问题都得到满意解答才继续项目。这些问题分别是:
管理层是否支持这个信息分级项目,不管信息分级项目还是其他更大的安全项目,管理层对项目的支持是项目成功的首要因素,CISSPCBK一直贯彻这个观点,也反映在 CISSP考试的试卷上;
要保护的信息对象和风险因素是什么,这可以通过接下去的风险分析步骤来得到解答;
是否有法律法规上的要求,信息分级项目主管在实施项目时要优先考虑法律法规方面的因素;
组织的信息是否为整个业务流程所拥有(Hasthebusinessacceptedownershipresponsibilityforthedata),按 J0ker的理解,这个问题问的应该是组织是否已经意识到,信息是来自于并用于组织的整个业务流程,而非只存在于各种 IT设施中。
是否已经准备好进行项目所需的各种资源,这些资源包括项目各步骤的规划和准备、人员的培训等
2、制定指导信息分级项目的各种策略,包括:
信息安全策略(InformationSecurityPolicy),规定了组织对自身所有数据的所有权、数据的保护需求、管理层对信息安全项目的支持等。信息安全策略是一个从总体上而非细节上确定组织信息安全需求的文档,组织的所有安全项目都围绕它来进行。
数据管理策略(DataManagementPolicy),规定信息分级是保护信息资产的一个处理流程,并确定了每一个信息分级的定义、安全需求以及各角色对分级信息的责任。
信息管理策略(InformationManagementPolicy),作为信息安全策略的补充,信息管理策略规定了以下几点:
①信息是其所属业务单元的资产;
②业务单元的管理者是信息的所有者;
③IT 设施和部门是信息的持有人;
④定义信息分级和所有权之中使用到的各种角色和责任;
⑤定义各信息等级和其对应的标准;
⑥定义每个信息等级的最小安全需求范围。
其中,第一、第二点是 CISSP考试中常考察到的点,信息分级中的各种角色和责任也是 CISSP内容中一个重要的内容,好几个 CBK中的知识体系都与它有直接的关系。
3、风险分析:制定好信息分级项目所需的各种策略和流程之后,项目就可以进入到下一个阶段——风险分析,风险分析需要组织的各个部门的代表组成一个联合工作小组进行操作,如果资源或其他原因不允许,也应该由对组织中最重要的部门的代表
组成工作小组。J0ker在这次再次提醒一下,风险分析步骤成功的一个最重要因素依然是来自管理层的支持,CISSP考试中也经常考察这点。
4、实施信息分级:在信息分级标准确定和风险分析完成后,项目就进入到信息分级的实施阶段。从成本和控制难度的角度来说,一个组织对其信息使用太多的信息等级是不明智的,这样除了会增加部署、管理成本和控制的难度外,也会因为分级太多
而导致人员责任不清、效率低下等弊端,所以可以采用适当数量的信息等级并给每个等级赋予简单易记的名字。
OfficialGuide中提供的信息分级示例可供参考,在一个公司里面,信息可以根据业务和风险分为 3个等级:
Public,可公开的信息;
InternalUseOnly,仅限公司内部使用的各种信息(但不保密);
CompanyConfidential,公司机密文档。
此外,在复习信息分级这个部分时,还有角色及责任的定义这个知识点也需要着重复习一下,信息分级中的角色可以根据组织的具体情况来定义,最常见的有:
(1)、InformationOwner,组织中信息所属部门的经理或管理者
(2)、InformationCustodian,通常是 IT部门,负责进行信息的日常维护
(3)、ApplicationOwner,组织中拥有某个处理信息的应用程序的部门的经理或管理者
(4)、UserManager,组织中对用户和员工进行管理的部门或人,HR部门便是一个例子
(5)、SecurityAdministrator,负责管理组织中人员的系统帐户等使用情况的人员,通常是组织中的网管
(6)、SecurityAnalyst,负责制定组织的各种级别的信息安全计划、各种安全文档等,通常是 CIO、CISO、CSO之类的人物
(7)、DataAnalyst,负责根据组织业务进行数据结构或类型的设计、维护等操作的人员
(8)、SolutionProvider和 DataAnalyst协作,提供数据处理方案的人员
(9)、EndUser,最终用户
关于各角色及其责任的定义可以在 CISSPOfficialGuide中找到更详细的解释。根据 J0ker的复习经验,角色 1、2、4、5的定义和责任在 CBK复习时是需要着重看一下。
在《J0ker的 CISSP之路》系列的上一篇文章里,J0ker给大家介绍了 InformationClassification的相关内容,作为使组织的安全计划得以更有效进行的工具,InformationClassification在安全计划制定前期有不可替代的重要作用。完成风险分析和
信息分级之后,安全计划的下一步需要做什么?这便是本文将要介绍的 PolicyBaselineProcedure等一系列安全文档的准备工作。
一个信息安全计划的最终目标,就是要保护目标组织信息资产的完整性、保密性和可用性,而各种针对信息资产的威胁,诸如非授权访问、篡改、毁坏和泄漏等,却常常会破坏组织的信息资产。这样的状况就要求组织把信息安全计划纳入整个组织的资
产保护计划中去,此外,信息安全技术并不能完全彻底的保护信息资产免受各种威胁的损害,对组织而言,更多的保护工作应该或只能通过管理上的手段来达到目的。因此,要成功实施一个安全计划,就必须确保组织中的每一个人都理解和支持安全计
划,这时,就需要使用安全策略(policy)、安全标准(standard)、安全底线(Baseline)、安全指引(guideline)和安全流程(procedure)等一系列的安全管理手段来帮助每一个组织成员理解安全计划,并规范组织成员的行为。
作为安全计划的负责人,组织的信息安全主管通常要负责制定和部署组织的安全策略、标准、指引和安全流程,而他常常会从 IT 部门中抽调人手进行这些安全文档的制定工作。IT 技术背景有时能对信息安全主管理解安全计划的技术方面提供帮助,但
过多的技术人员组成却会对安全主管理解组织的业务目标和战略造成困难。安全主管在安全文档的制定过程中,也常常会从各种资料或咨询企业中寻求帮助,但从这些途径中所收集到的信息往往只能作为“怎么做”的参考,而不能回答“为什么要这样
做”。因此安全文档的制定和执行还需要安全主管如同进行风险分析和信息分级项目那样,汇集来自组织各个部门的负责人员一起进行。
另外,组织的运作常常还有法律法规方面的要求,这也需要反映到安全策略和流程中去,而法律法规规定了在组织的运作中,谁应该对什么负责和应该怎么做去满足组织的运作要求,这又引入了 CISSPCBK 中的另外几个重要概念:Dutyofloyalty、
DueCare和 DueDiligence。
Dutyofloyalty 主要是道德及法律上的要求,要求组织成员不应该利用自己所处地位及自己的优势去获得好处;DueCare 是要求组织的管理层应该诚实、审慎、对自己及组织负责;而 DueDiligence 则是要求组织的管理层必须要做的若干使组织符合法律
法规、一致性、安全或程序上要求的事情,ISMCBK提供了 DueDiligence的七个要点。根据 J0ker的理解,DueCare主要是主观上需要,而 DueDiligence则是客观上需要的。CISSP考试常常会考察 DueCare和 DueDiligence的概念,或利用一个例子来让
考生判断是 DueCare还是 DueDiligence或其他什么概念,在复习时应该多留意一下这几个概念的具体内容和区别。
说完了安全文档对安全计划的意义及相关的内容,我们重新把注意力集中回这些文档本身上,先来看一下各文档的定义:
Policy:一个组织级的信息安全策略包含了组织管理层对一个安全项目的目标、评价、责任等属性的指导,还定义了一个组织对信息安全的理解。信息安全策略是简短的,并不来自于技术或解决方案的,并为进一步的基于技术或解决方案的 Standard
(安全标准)等提供管理层的授权。另外如果组织规模较大,还会制定和部署部门级的安全策略文档,它和组织级的安全策略相类似,但也针对部门的职能进行了进一步的描述和规定。在 OfficialGuide 中有关于 Policy 的示例,有需要的朋友可以参
考一下。
Standard:安全标准是支持安全策略实施,并通过规定具体的标准和实施的方向来支持使安全策略能更为有效执行的文档,它规定了强制性的活动、行为、规则和制度等,通常会规定具体的技术手段、产品或解决方案等,并在组织内部整体实施。
Baseline:安全底线和安全标准相类似,也是通过强制性的手段和规定来支持安全策略实施的文档,但安全底线和安全标准不同的地方在于,安全标准更偏重于宏观上要达到或者要实现什么目的,而安全底线则是根据同一类型信息资产中不同子类型的
特点分别制定的强制规则,如组织客户端使用的操作系统包括 Windows2000、WindowsXP和 Windows2003,要求所有的客户端系统都按照某个厂商某一个版本的反病毒软件,就是安全标准;而 Windows3分别进行什么安全配置,则是安全底线。
Guideline:安全指导是非强制性的,带有建议性质的安全文档,它通过建议组织及其成员,进行建议的行为或活动,来获得更高的安全级别,或对信息安全有更深入了解。
Procedure:安全流程是通过给组织及其成员提供在操作环境中切实可行并具体的每步操作流程和标准,以达到安全策略、安全标准和安全底线等文档规定要求的文档。
在 CISSPOfficialGuide中,还对每一个安全文档都举出了简单的例子,并对它们进行了比较,建议有时间的朋友分别阅读一下,并仔细对比它们之间的联系和差别。J0ker做了一个图,简单的归纳了这些安全文档的联系,图如下:
图 1
安全策略、标准、底线、指导和安全流程是确保组织中的每一个成员都理解和遵守组织的安全计划,并完成制定的工作任务的关键元素。CISSP 考试中通常会出与这些文档的定义有关的题目,朋友们在复习中可以多留意下这些知识点之间的联系和区
别,并通过复习材料中的例子来记忆每一种文档的写法。
在《J0ker 的 CISSP 之路》系列的上一篇文章里,J0ker 给大家介绍了信息安全管理 CBK 中各种安全文档的定义和区别。我们都知道,各种安全规章制度制定之后,最终也需要组织的每一个成员都理解并自觉遵守才能发挥其应有的作用,要达到这个目
的,就要用到本文将介绍的安全意识教育(SecurityAwareness)这一工具。
安全意识教育可以作为组织安全计划中的一部分来进行,CISSP 在设计并开始安全意识教育计划之前,应该先确定安全意识教育项目的目的。目的可以简单定义为“所有的组织成员必须了解自己最基本的安全责任”或“组织成员必须了解组织所面临的
信息安全威胁,并养成良好的使用习惯来防御这些风险并保护信息系统”,不过很多时候设定更详细的目标更有利于安全意识教育项目的进行,CISSPOfficialGuide提供了一个较为详细的 sample:
Sample——意识教育的目标:
企业员工必须有理解以下条目的安全意识:
1、安全策略、标准、流程、底线和指导
2、物理和信息资产所面临的安全威胁
3、开放网络环境面临的安全威胁
4、需要遵守的法律法规
5、需要遵守的组织或部门制定的规章制度
6、如何辨识和保护敏感(或保密)信息
7、如何存储、标记和传输信息
8、如果发生可疑或已确认的安全事件,应该向谁报告
9、电子邮件和互联网安全使用策略和流程
10、社会工程学
安全意识教育的目标应该和组织所制定的信息安全目标相配合,并密切结合组织信息安全计划,否则就达不到它预定的效果。CISSP 考试中对安全意识教育这个章节的考察不多,不过朋友们还是需要留意一下上面所列出 Sample 的 8 和 10 的内容。8 中
的向谁报告主要是涉及安全责任和应急响应的概念,而 10中的社会工程学则是一个很重要的概念,OfficialGuide中还专门辟出一个章节进行讲解,所以接下去 J0ker打算提一下社会工程学及其相关的知识。
信息安全,或者更准确的说是从事信息安全的人,关注的主要是信息技术和资产的可用性、完整性和保密性这三者(AIC 三角),同时我们也知道,如果一个安全项目存在着某一个致命的弱点,那要获得项目实施的成功是不可能的。在这一点上,信息安
全可以用铁链理论或木桶理论来解释,铁链的强度是由在它上面最弱的一环而决定,木桶能装多少水也是由组成它的最短的木板所确定。
常常在安全项目中看到项目实施需要什么软件硬件,要部署什么技术,防御什么漏洞,也可以从各种来源找到相关的安全方案和材料,但最终这些安全项目的组成部分都是由人去使用、安装、部署和维护的,所以除了信息安全与技术有关的方面之外,
人的行为同样也应该是信息安全关注的要点,CISSPCBK引入了一个名词——Wetware,“湿件”,便是指代“人”这一个关键因素,而社会工程学正是专门针对人进行的攻击。
在 OfficialGuide中,是这样定义社会工程学的:
Successfulorunsuccessfulattemptstoinfluenceaperson(s)intoeitherrevealinginformationoractinginamannerthatwouldresultinunauthorizedaccessto,unauthorizeduseof,orunauthorizeddisclosureofaninformationsystem,anetwork,ordata.
也就是说,社会工程学攻击的目的是为了未经授权访问、使用和泄漏信息系统、网络及数据,而使用的手段则是以欺骗目标人物(通常是经过授权的合法用户)为主。
在 OfficialGuide 中将社会工程学的攻击分成三类,EgoAttack、SympathyAttack 和 IntimidationAttack,EgoAttack 中攻击者往往会利用目标用户的自尊心和表现欲来套取其所掌握的信息;SympathyAttack 中攻击者会将自己伪装成目标组织中的新用
户或合作伙伴等角色,骗取有权限用户的信任来获取信息(攻击者伪装的身份等级通常低于目标的身份);而 IntimidationAttack 中攻击者会将自己伪装成身份等级高于欺骗目标的人,然后要求对方提供所需要的信息。这三种不同攻击方式的区别也
请朋友们留意。
要防御社会工程学攻击,最有效的方式是通过管理上的手段(AdministrativeControl,安全策略、标准和流程等)来对合法用户的日常操作进行规范,并加强用户安全意识的教育。因为内容较多,大家可以参考一下 Officialguide的相关内容。
至此,J0ker就基本把 CISSP的第一个 CBK——InformationSecurityManagement的内容给大家介绍完了。这一章的内容在 CISSPCBK体系里面并不算多,但它却是整个 CISSPCBK知识体系的基础,后面章节中所涉及到的知识都可以认为是为这一章中所提
到的内容服务的。
在 CISSP 考试中,这一章的内容的考核,除了少数几个在 OfficialGuide 中提供有实例分析的概念有可能会用实例来出分析题之外,其他有关的题大多以考察概念或名词本身的含义以及在信息安全体系中的意义为主,所以在复习这个章节的时候,尤其
是对技术出身的朋友,接触这方面内容比较少,所以 J0ker 建议多阅读下相关的复习资料,并弄明白各个名词、概念之间的联系和区别,多做练习题倒是次要的。朋友们也可以将这个 CBK 的内容和日常工作中所接触到的内容相联系,或应用到日常工作
中去,这样就更容易对这个 CBK的内容融会贯通,毕竟 CISSP的内容说到底是为了应用,单纯为考试而准备就没有太大意义。
另外复习的时候还有个小技巧,朋友们可以将 OfficialGuide这个章节后面所列出的 CBK要点及 AllinOne中对应章节末尾的 QuickTips打印出来,装订成小册子,有空的时候就看一看,这样对巩固关键概念的掌握很有好处的。
在《J0ker的 CISSP之路》系列的上几篇文章里,J0ker给大家介绍了 CISSP学习内容的第一个 CBK——InformationSecurityManagement的内容,接下去 J0ker将给大家介绍第二个 CBK——SecurityArchitectureandDesign,安全架构和设计。
如果把信息安全管理比作指引组织进行安全项目的路标,那么安全架构和设计便是组织通往信息安全这个目标所用的交通工具的基本结构,它包括用于设计、实施、监控和保护操作系统、设备、网络、应用以及用以实施各种级别保密性、完整性和可用
性控制的概念、原则、结构和标准。
安全架构和设计 CBK的内容大概可以分为四个部分:概念部分、保护机制、安全模型和系统测评,J0ker打算用 5到 6个文章的篇幅,逐一介绍这些内容并总结 CISSP考试的重点。本文先从第一部分:概念部分开始。
在进行一个信息系统的设计时,我们需要对目标系统的众多需求进行平衡,这些需求包括功能、灵活性、性能、易用性、成本、业务需求和安全。这里强调一下,安全应该在系统设计中的开始阶段就作为一个关键因素进行考虑,使用了超过业务需求的
安全性能,就会导致用户体验的恶化,但降低的安全性能也会系统的部署和运行维护成本将会大大增加。系统设计的过程就是平衡多种需求的过程,设计者通常需要根据组成构架的每个元素的重要性,来确定如何 Trade-off。在设计阶段考虑安全性,
并不会对架构的设计增加太多的劳动量,它可以平滑的嵌入到架构设计的各个阶段,这样就可以保证安全性可以随着架构逐渐的设计完成而完成。
安全架构从概念上说,便是从安全角度审视整个系统架构,它主要提供系统架构所需要的安全服务、机制、技术和功能,并提供如何进行安全设施部署的建议。CISSPCBK中在安全架构概念部分的安排里面,还要求 CISSP对最基本的架构有了解,它所指
出的就是 LayeredApproach,也就是分层结构。请看下图:
图 1
在这个架构中,用户只与应用程序进行交流,而操作系统向上负责与应用程序,向下负责与硬件、网络层进行联络。
为了更好的理解安全架构,CISSP还需要进一步的了解分层结构包含的底层架构,列表如下:
PlatformArchitecture平台架构
NetworkEnvironment网络环境
EnterpriseArchitecture企业架构
SecurityModel安全模型
ProtectionMechanisms保护机制
在深入讨论这些组成安全架构的元素之前,朋友们还要了解一点,安全架构的设计应该和组织的安全策略相吻合,否则就不能实现组织的安全目标。关于安全策略的详细内容大家可参与 CISSPOfficialGuide、AllinOne或本系列文章的之前内容。
平台架构主要指冯诺依曼的经典计算机模型,CISSP 需要了解操作系统软件和工具的概念和功能、组成计算机的 CPU、内存、存储设备的类型和输入输出设备的概念和功能、针对内存攻击的类型等。从 CISSP 考试的模拟题和 J0ker 自己参加过的考试来
看,关于平台架构的题目一般只会简单的考察概念。
网络环境方面主要是对常见的网络威胁进行分类,在 TelemunicationandNetworkSecurityCBK中有更深入的介绍。
企业架构主要是指组织本身对人员和职能的划分,在 OfficialGuide中定义了六个角色和与其相对应的职能,朋友们在复习时也需要记住。
安全模型指的是一些常见的保证信息安全的保密性完整性可用性(CIA)三角的控制模型,这是本 CBK的考察重点,J0ker在后面的文章还将详细讲述。
另外,在这一节中,有以下的一些概念在复习时也需要理解一下:
◆CPU的状态
◆内存管理中的分页技术、虚拟内存技术以及相应的内存保护、攻击技术
◆TOU/TOCTimeofuse/Timeofcheck
◆多种类型的操作系统类型的概念及其安全性
◆共享环境(Sharedenvironment)下的攻击概念
◆系统五种安全模式的概念
DedicatedSecuritymode
Systemhigh-securitymode
Multi-levelsecuritymode
Controlledmode
Compartmentalizedsecuritymode
这一个 CBK里的概念比较多也比较抽象,但因为这一章里面的内容对后面的 CBK起了技术方面的总领作用,CISSP考试也以考概念为主,建议朋友们在复习这个 CBK时尽量静下心来看。
在《J0ker 的 CISSP 之路》系列的上一篇文章《安全架构和设计(1)》里,J0ker 给大家介绍了系统架构和设计的第一部分,因为这个部分里的安全模型概念是 CISSP 考试考察的一个重点,同时目前所有的系统和软件都是基于这些安全模型来设计安全
原则的,所以 J0ker打算在本文中详细介绍这些安全模型:
我们都知道,信息安全的目的就是要保证信息资产的三个元素:保密性,完整性和可用性(CIA),CIA这个也就是这三个元素开始为人们所关注的时间的先后。现在系统设计中所使用的安全模型的出现的顺序也大概如此,先出现专门针对保密性的 BLP
模型,然后出现针对完整性的 Biba 模型、Clark-Wilson 模型等,在访问控制中所使用的访问控制列表/矩阵(AccessControlList(ACL)/AccessControlMatrix(ACM)),在 CISSP 的 CBK 内容中也把它划分到安全模型的范围内。顺便说明一下,因为可用
性本身涉及到的因素很多,并没有一个被广泛接受的通用安全模型,所以 CISSP的 CBK里只要求掌握针对保密性和完整性的安全模型。
安全模型所依赖的理论基础——状态机模型和信息流模型
状态机(StateMachine)模型是信息安全里用来描述无论何时状态都是安全的系统模型,而处于特定时刻系统的快照便是一种状态(State),如果这种状态满足安全策略的要求,我们就可以认为它是安全的。许多活动会导致系统状态的改变,称之为状
态转换(Statestransaction),如果这些活动都是系统所允许而且不会威胁到系统安全的,则系统执行的便是安全的状态机模型(SecureStateMachine)。一个安全状态机模型总是从安全的状态启动,并且在所有状态的转换中保证安全,并只允许行
为的实施者以符合安全策略要求的形式去访问资源。
信息流(Informationflow)模型是状态机模型的具体化,在这个模型中,信息在的传递被抽象成流的形式,大家可以想象一下水流的样子。信息流模型由对象,状态转换和信息流策略所组成,其中的对象可以是用户,每个对象都会根据信息流策略分
配一个安全等级和具体化的数值。信息流不单可以处理信息流的流向,同时它还可以处理信息流的种类——在 BLP 模型中,信息流模型处理的便是保密性,而在 Biba 模型中信息流所处理的则变成完整性。由于信息流动的行为可以在同安全级别的主体
和客体之间发生,也可以在不同一个安全级别的情况下发生,所以信息流模型主要用于防止未授权的、不安全的或受限制的信息流动,信息只能够在安全策略允许的方向上流动。
状态机模型和信息流模型的进一步具体化就是 CISSPCBK 中所包括的安全模型,CISSPCBK 中所提到的安全模型有:Bell-Lapadula(BLP 模型)、Biba 模型、Clark-Wilson 模型、访问控制矩阵模型、ChinaWall 模型、Lattice 模型。下面 J0ker 将向大家逐
一介绍。
前面说过,在信息安全目标的三个元素里面最先为人们所关注的是保密性,因此,在 1973年出现了第一个针对保密性的安全模型——Bell-Lapadula模型,这个模型由 DavidBell和 LenLapadula为美国国防部的多级安全策略的具体化而开发。它基于强
制访问控制系统(MAC),以信息的敏感度作为安全等级的划分标准,它的特点如下:
◆基于状态机和信息流模型
◆只针对保密性进行处理
◆基于美国政府信息分级标准——分为:Unclassified、Restricted、Confidential、Secret、TopSecret
◆使用“Needtoknow”原则
◆开始于安全状态,在多个安全状态中进行转换(要求初始状态必须为安全,转换结果才在安全状态)
图 1
上图来自 CISSPOfficialGuide,是 BLP模型的安全策略示意图,BLP模型规定,信息只能按照安全等级从下往上流动,或者根据策略的规定在同安全级别间流动。
由于 BLP 模型存在不保护信息的完整性和可用性,不涉及访问控制等缺点,1977 年 Biba 模型作为 BLP 模型的补充而提出,它针对的是信息的完整性保护,主要用于非军用领域。它和 BLP 模型相类似,也是基于状态机和信息流模型,也使用了和 BLP 模
型相似的安全等级划分方式,只不过 Biba模型的划分标准是信息对象的完整性。
图 2
上图来自于 CISSPOfficialGuide,Biba模型规定,信息只能从高完整性的安全等级向低完整性的安全等级流动,也就是要防止低完整性的信息“污染”高完整性的信息。
我们知道,信息安全对完整性的要求有 3 个目标:防止数据不被未授权用户修改、保护数据不被授权用户越权修改、维护数据的内部和外部一致性。Biba 模型中只实现了完整性要求的第一点。于是,针对 Biba 模型的不足,1987 年,另外一个完整性模
型——Clark-Wilson模型被提出,这个模型实现了成型的事务处理机制,目前常用于银行系统中以保证数据完整性。Clark-Wilson模型的特点是:
◆采用 SubjectObject三元素的组成方式,Subject要访问 Object只能通过 Program进行
◆权限分离原则:将关键功能分为由 2个或多个 Subject完成,防止已授权用户进行未授权的修改
◆要求具有审计能力(Auditing)
因为 Clark-Wilson模型因为使用了 Program这一元素进行 Subject对 Object的访问控制手段,因此 Clark-Wilson模型也常称为 RestrictedInterface模型。
访问控制矩阵模型不属于信息流模型,它主要用于 Subject对 Object的访问进行控制的领域:
图 3(点击查看原图)
上图来自 CISSPOfficialGuide,访问控制矩阵模型定义了每一个 Subject对每一个 Object的访问权限,而单个 Subject对所用 Object的访问权限控制模型通常称为访问控制列表,也即 AccessControlList。
针对民用领域有对保密性控制灵活性的需求,同时安全要求也没有政府和军用领域的严格,Lattice 模型作为 BLP 模型的扩展被提出。Lattice 模型同样是基于信息流和状态机模型,但 Lattice 模型使用安全范围来代替 BLP 模型里面的安全等级概念,
已实现更灵活的保密性控制需求。
图 4
如上图,在 Lattice模型中,一个 Subject可以访问安全级别基于 Sensitive和 Private之间的信息。这种权限设置常可以在企业中看到。
ChinaWall模型于 1989 年由 Brew和 Nash提出,这个模型和上述的安全模型不同,它主要用于可能存在利益冲突的多边应用体系中。比如在某个领域有两个竞争对手同时选择了一个投资银行作为他们的服务机构,而这个银行出于对这两个客户的商业机
密的保护就只能为其中一个客户提供服务。ChinaWall模型的特点是:
◆用户必须选择一个他可以自由访问的领域
◆用户必须拒绝来自其他与其已选区域的内容冲突的其他内容的访问。
以上的安全模型便是 CISSPCBK中所包含的众多经典安全模型,在许多系统和应用也常常可以找到它们的使用,朋友们可以结合这些实际例子来加强理解。
在《J0ker 的 CISSP 之路》系列的上一篇文章《安全模型》里,J0ker 给大家介绍了 CISSPCBK 中要求掌握,同时也是目前世界上使用最广的几个安全模型的概念和原理。安全模型只是个概念,要把它应用到实践中,就需要使用到本文要介绍的保护机
制,它是比安全模型更具体,更接近实际应用的概念,当前的许多操作系统、安全软件产品的基础,都是建立在它之上的(再次提醒,CISSP考试不涉及具体的产品和技术细节)。
保护机制实现的目标是将系统内的所有实体(数据、用户、程序等)进行隔离,并通过一定的规则允许实体间进行访问。因此从所执行的动作,保护机制可以分成主动(Active)和被动(Passive)两类:主动保护机制是根据所定义的规则,主动阻止
对指定实体的访问,访问控制、内存保护等技术都属于主动保护机制;而被动保护机制本身不会阻止对指定实体的访问,但会通过阻止对指定实体的使用来实现保护功能,我们使用加密技术来防止信息的泄漏、用 Checksum 来检测对信息的未授权修
改,都属于被动保护机制。
保护机制通常部署到操作系统、硬件或固件上,CISSPCBK中将它按照所部署的位置分成三类:平台(Platform)、大型机(Mainframe)、网络(Network),下面 J0ker给逐一给大家介绍在这三个分类上使用的保护机制:
平台保护和大型机保护机制:平台保护是主要用在通用操作系统上的保护机制,主要以软件实现为主;大型机保护则是主要应用于大型机上的保护机制,一般使用专用的安全硬件实现。但随着近年来软硬件技术的发展,这两个分类所使用的保护技术都
在互相融合,由于硬件产品集成度提高和价格的大大下降,许多 PC 和工作站上已经集成了原来只在大型机上使用的安全硬件,而大型机为了降低制造成本,也将越来越多的保护功能通过软件来实现,所以在 CISSPOfficialGuide 中不再将平台保护和大
型机保护分开来列,而是将它们所用的保护技术列在一起。
使用在这两个分类的保护技术
可信计算基础(TrustedComputingBase,TCB):TCB 是一个计算机系统中所有提供保护功能的组件的总称,包括硬件、软件、固件、进程和一些进程间的通信等,它通过这些组件完成对安全策略的实现。TCP 功能的实现是根据其内置的保护机制或用户
所输入的参数,来保证安全策略的实施或满足相应的安全标准(如 TCSEC 等)。不过要注意的是,TCB 是一个定义而不是一个特定的产品,目前的大部分操作系统都没有完全使用 TCB 的全部组件,只使用了 TCB 用来执行功能的一部分,这个部分就是接
下去要介绍到的引用监视器(ReferenceMonitor)。
TCB的设计需求如下:
1、TCB应该在一个不受外部干扰影响的自有域内执行
2、TCB所控制的资源应根据使用关系分为使用者(Subject)和目标(Object)两个子集
3、TCB应该把资源进行隔离以执行访问控制和审计功能
TCB提供的基本功能有:
1、进程激活:在一个多重处理的环境内管理进程激活/挂起时提供寄存器、文件访问列表、进程状态信息和指针等敏感信息的管理功能
2、执行域切换:确保在一个域内执行的进程不会影响到其他域内的其他进程
3、内存保护:确保每个域所使用的内存的安全
4、输入输出操作:监视程序对设备直接或间接的输入输出操作
引用监视器(ReferenceMonitor):RM的功能是根据访问控制数据库的定义,对抽象系统中所有使用者对目标的访问进行控制。
安全内核(SecurityKernel):安全内核由 TCB 的硬件、软件和固件部分加上引用监视器所构成,我们可以这样来区分安全内核和引用监视器:引用监视器和安全内核的功能是相同的,但引用监视器是执行访问控制功能的抽象模型,而安全内核则是使
用在各种系统中的具体实现。安全内核的结构如下图:
图 1
为了保证安全功能的实现,安全内核必须满足以下三个要求:
1、安全内核能管理所有的访问(全局性)
2、安全内核能保护自己不受有意或意外修改(隔离性)
3、安全内核可以通过验证确定其有效性(可验证性)
TCB、RM和 SecurityKernel这三个概念挺容易混淆,CISSP考试也经常考核与它们相关的内容,复习的时候应当注意一下。
安全边界(SecurityPerimeter):用来隔离安全内核内外的资源,安全边界外的资源是不可信的。注意将它和近两年常说的“边界安全“相区别。
分层(Layering):分层是指在系统设计时对功能和实现按照一定的原则进行分层,层次越低的权限越高,每一层的操作和使用的数据都尽量不对其它层次产生影响,这里会引入一个技术——数据隐藏(DataHiding)。此外,部署安全措施的层次越
低,则安全措施的效能和控制范围就越好,因此应该把安全措施部署在系统的最底层,下面是一个示例系统的分层:
图 2
TOC/TOU保护:系统设计时需要使用资源锁定防止权限低的进程/用户通过劫持或修改特权用户的操作的途径访问敏感信息。
额外保护(GuardProtection):系统常常需要使用其他的方案来提供额外的保护,比如在数据库系统中,除了在数据库本身对用户的访问权限进行控制之外,通常还会通过提供一个带有查询检查功能的界面来限制用户提交不符合安全策略规定的查
询。
进程隔离(ProcessIsolation):系统对同时执行的进程进行隔离,防止进程之间的互相影响,这个功能在现代操作系统中是一个基本功能。
最低权限原则(LeastPrivilege):系统中所有的权限给予满足操作所需的最低权限即可,这个在其他许多领域也能看到,比如许多企业内网用户只有 User权限,不能够在自己的机器上安装或修改软件,要新增软件必须由管理员干涉。
加固(Hardening):加固是通过一定的操作和配置使系统的安全程度得到提高,它不属于系统设计阶段,而属于系统的部署和维护阶段。
以上是在系统设计时常使用的安全措施,此外,根据安全措施在系统中部署的层次不同,还可以将其分为通用操作系统级保护、应用程序级保护、存储设备保护、网络级保护。其中:
操作系统级别保护需要满足的需求有:
用户识别和认证(UserIdentificationandAuthentication)
强制访问控制(MandatoryAccessControl)
自主访问控制(DiscretionaryAccessControl)
完全控制(Completemediation)
目标重用保护(Objectreuseprotection)
审计(Audit)
审计日志的保护(ProtectionofAuditlogs)
日志筛选(Auditlogsreduction)
可信路径(TrustedPath)
入侵检测(IntrusionDetection)
应用程序级别上所提供的保护措施主要是针对用户的输入和程序的输出进行保护、过滤,还使用上面说过的 GuardProtection技术来提供额外的安全功能。
存储设备保护关注的是保护存储在各种设备上的敏感信息的保密性和完整性,最近几年安全业界比较关注的企业移动设备安全和企业级加密就属于这个领域。
网络级保护关注的是信息传输过程中的保密性和完整性,这个领域的内容在 CISSP另外一个 CBK——电信和网络安全还会详细介绍。
在《J0ker 的 CISSP 之路》系列的上一篇文章《保护机制》里,J0ker 给大家介绍了 CISSPCBK 中提到的,同时也是现实产品中最常使用的几个保护机制。在实践中采购一个信息技术产品之前,我们一般都会先了解目标产品的安全程度。但如果由不同需
求的人员来对产品进行评估,如果没有统一的标准,结果也是千差万别——这样就产生对统一标准的需求,因此世界上的许多国家和组织推出了自己的产品安全评估标准,其中使用最广泛的就是 CISSPCBK 中介绍到的 TCSEC(橘皮书)、TNI(红皮
书)、ITSEC和 CC这几种。
在了解这些安全评估标准之前,我们先要了解一下基本的概念:产品和系统。我们知道,所有的安全评估标准,所针对的对象都是产品或系统,那这里所提到的产品和系统到底指的是什么?在 CISSPOfficialGuide 里面提到,“产品”,指的是某个特
定的可以使用在其设计目标场合的应用程序,或在某些预定义的规则下操作的应用程序,操作系统作为一个整体来看,就是一个产品;而“系统”则是指完成某个特定目标或者在某个特定场合下操作的许多产品的集合。明白这两个概念之间的差异,对
理解安全评估标准很有帮助。
说完了最基本的概念,J0ker开始给大家介绍 CISSPCBK上所提到的安全评估标准:
TCSEC,也就是俗称的橘皮书(OrangeBook),它是第一个被广泛接受的安全评估标准,由美国国防部于 1985年提出,目的在于评估所部署系统的安全程度。TCSEC评估产品的出发点基于三个:
◆功能,目标系统所具有的安全功能,比如用户验证和审计;
◆有效性,安全功能的使用是否满足所需要提供的安全级别;
◆认可度:授权机构对系统所提供的安全级别的认可程度。
TCSEC把评估对象的安全程度分成了 4个等级:A、B、C和 D,安全程度从 A到 D逐级下降,确定为 A的产品具有最高的安全性,而 D等级的产品则完全没有安全性的考虑。这四个等级的分级标准包括:
◆安全策略:目标系统的安全策略设置是强制或自主式访问控制策略
◆物件标记:是否对系统内的物件根据敏感程度的不同进行标记
◆使用者识别:使用者必须经过识别和验证
◆审计:安全相关的事件必须进行日志记录
◆保证性:指:1.操作保证性,比如系统架构、对执行域的保护、系统完整性;2.生命周期保证性,如设计方法、安全测试和设置管理等
◆文档:用户和管理员应该了解如何安装和使用系统的安全功能,测试人员也需要文档去进行测试
◆持续保护:保护机制本身不容易被干扰或破坏
根据这些分级标准,TCSEC的 4个安全等级再细分为 7个等级,这些等级的名字和详细内容如下:
分级安全功能
A1(VerifiedSecurity)
A1 级等于 B3 级,它提供最高的安全性,并设有系统安全管理员这一角色,不过 A1 级别系统的部署和维护成本也是非常高
的,现实中只有极少数的系统要求达到这一安全级别。
B1、B2、B3(MandatoryProtection)
B1 级(Labeledprotection)是安全等级 B 中最低一级,要求提供满足强制访问控制策略的模型,数据标签、已命名的访问
者及访问目标控制、更详细的文档和测试、文档/源代码/目标代码需要经过分析,这个安全等级常用于 Compartment环境
B2 级(StructuredProtection)在 B1 的基础上,增加了更多系统设计要求。其中,要求实现规范的安全模型,隐蔽信道分
析、更强的验证方式和可信机房管理。
B3 级(SecurityDomains)是安全等级 B 中最强的一级,它在 B2 的基础上增加的新元素是安全管理,包括安全事件的自动
通知、安全管理员的支持等
C1、C2(DiscretionaryProtection)
c1 级(DiscretionarySecurityProtection)主要用于多用户环境,只提供防止用户的数据被其他用户修改或破坏的基本保
护功能
C2 级(ControlledAccessProtection)在 C1 的基础上增加了用户登录和审计功能,并使用 DAC 访问控制,尽管 C2 的安全
功能较弱,但 C2级是较适合用于商用系统和程序的安全级别,常见的 MSWindows和 Linux都是属于 C2级别
D(MinimalProtection)只提交给 TCSEC评估,自身没有部署安全措施的系统都属于 D级。
因为 TCSEC是 1960年代开始设计,并于 1985年成型的标准,由于当时安全观点的局限性,TCSEC的评估目标只涉及了保密性,而没有涉及完整性和可用性的评估。因为逐渐不适合现代信息环境和新标准的纷纷推出,美国于 2000年废除了 TCSEC。
TNI:TNI也称为红皮书(RedBook),由于 TCSEC存在评估对象只对单一系统,并且没有完整性评估的缺点,1987年提出了 TNI安全标准。TNI用于评估电信和网络系统,它基于 TCSEC,同样使用了 TCSEC中的 ABCD分级方法。
TNI中的关键功能如下:
◆完整性:TNI使用了 Biba安全模型来保证数据的完整性,并使用了信息源/目标认证、加密等方法来保证信息传输的完整性
◆标签:在使用和 TCSEC类似的保密性标签之外,TNI还加入了完整性标签,以进行强制访问控制
◆其他安全服务,主要可分成以下几个类型:通讯完整性,包括验证、通讯域完整性、抗抵赖性;拒绝服务防御:操作持续性、基于协议的保护和网络管理;威胁保护:数据保密性和通讯保密性。
ITSEC:在 TCSEC 标准推出不久,许多欧洲国家也在酝酿推出自己的安全评测标准,结果便是 ITSEC 的推出。ITSEC 于 1990 年推出第一版草稿,并最终于 1995 年又欧盟会议批准。尽管 ITSEC 借用了 TCSEC 的许多设计思想,但因为 TCSEC 被认为过分死
板,因此 ITSEC的一个主要目标就是为安全评估提供一个更灵活的标准。ITSEC和 TCSEC的主要区别在于,ITSEC不单针对了保密性,同时也把完整性和可用性作为评估的标准之一。
ITSEC的制定认识到 IT 系统安全的实现通常是要将技术和非技术手段结合起来,技术手段用来抵御威胁,而组织和管理手段则用来指导实现。因此 ITSEC对目标的评估基于两个因素:有效性和准确性,有效性表明评估目标能够在多大程度上抵御威胁,
而准确性则表明系统的设计和操作在多大程度上保证安全性。
为了涵盖这两个方面,ITSEC 使用了“评估目标(TOE)“这一概念,它表述了目标产品的操作安全需求和面临的威胁,而另外一个概念,”安全目标(SecurityObjectives)“,则表述了目标产品所要满足的安全功能和评估级别。ITSEC 的安全等级划
分与 ITSEC不同,他分为功能性等级(F)和保证性等级(E),这两个等级的具体内容如下:
功能性 F:
功能性等级(F)内容
F1-F5和 TCSEC安全等级所提供的功能相同
F6有高完整性要求的系统和应用程序(如数据库系统)
F7有高可用性要求或特殊要求的系统
F8有通信完整性要求的系统
F9有高保密性要求的系统(如加密系统)
F10网络要求高的保密性和完整性
确定性等级 E:
确定性等级(E)内容
E0无要求
E1有安全目标和 TOE的描述,满足安全目标的测试
E2要求具体设计的描述,测试证据需要加以评估,配置管理,分发控制
E3需要进行源代码和结构评估,安全机制的测试证据需要加以评估
E4安全策略模型、需要有安全增强功能、架构设计和详细设计
E5具体设计和源代码必须相符,并需要使用源代码进行漏洞分析
E6TOE的强制标准、安全策略模型的实施
E3级别被认为是最常用的安全产品评估标准,安全操作系统或数据库系统通常会使用 F2+E3这个结合来进行评估。下面是 J0ker做的一个 ITSEC和 TCSEC的简单对比表格:
ITSECTCSEC
E0D
F1+E1C1
F2+E2C2
F3+E3B1
F4+E4B2
F5+E5B3
F5+E6A1
F6系统提供高完整性
F7系统提供高可用性
F8系统提供通信时的数据完整性
F9系统提供高保密性(如加密设备)
F10网络要求高的保密性和完整性
在 1990 年代的早期,TCSEC 渐渐不能适应信息技术的发展,美国开始对其进行升级,但不久美国就终止了升级行动,转而和加拿大及欧洲联合制定一个国际统一的安全评估标准,这个联合行动的最终结果便是 CC 的制定。CC,也即常说的通用准则
(CommonCriteria),在 1999年通过了 ISO的认可,称为 ISO15408。中国加入 WTO之后,按照 WTO的规则接受 CC为信息系统产品安全评估标准,并制定了相应的国家标准 GB18336。
CC保留了 ITSEC的灵活性,并结合了美国联邦准则(FC)的保护轮廓(ProtectionProfile)及预定义安全级别。
CC的关键概念有:
◆评估对象——TOE(TargetofEvaluation)
◆保护轮廓——PP(ProtectionProfile)
◆安全目标——ST(SecurityTarget)
◆功能(Function)
◆保证(Assurance)
◆组件(Component)
◆包(Package)
◆评估保证级——EAL(EvaluationAssuranceLevel)
其中保护轮廓是 CC最重要的概念,它满足了以下的要求:
◆表达一类产品或系统的用户需求
◆组合安全功能要求和安全保证要求
◆技术与需求之间的内在完备性
◆提高安全保护的针对性、有效性
◆安全标准
◆有助于以后的兼容性
◆同 TCSEC级类似
CC是平时大家在工作和实践中最有可能接触到的标准,因此大家可以结合工作中的经验来记忆和理解 CC的内容。CISSP考试中对安全标准的考核主要是考概念,TCSEC安全等级的内容、ITSEC和 CC里面名词的识记等。最后 J0ker把 TCSEC、ITSEC和 CC
做一个比较作为本文的结束:
CC标准美国 TCSEC欧洲 ITSEC
--D:最小保护 E0
EAL1-功能测试----
EAL2-结构测试 C1:任意安全保护 F1+E1
EAL3-方法测试和检验 C2:控制存取保护 F2+E2
EAL4-方法设计,测试和评审 B1:标识安全保护 F3+E3
EAL5-半正式设计和测试 B2:结构保护 F4+E4
EAL6-半正式验证的设计和测试 B3:安全域 F5+E5
EAL7-正式验证的设计和测试 A1:验证设计 F6+E6
下集预告:《访问控制系统和方法 1》,J0ker将带大家进入下一个 CBK,并介绍访问控制系统和方法的概念,敬请期待!
在《J0ker 的 CISSP 之路》的上一篇文章《系统架构和设计-安全标准》里,J0ker 给大家介绍了 CISSP 知识体系中的第二个 CBK 系统——安全架构和设计。接下来的 8 个 CBK 里,我们将进入 CISSP 知识体系中更为具体的部分,它们也都更多的从技术层
面来讲述如何使用各种安全方法和安全技术来实现信息安全目标——保密性、完整性和可用性。
访问控制(AccessControl)是 CISSP 知识体系中的第三个 CBK,它的内容包括如何使用多种系统提供的安全功能来控制对组织的信息和数据处理资源的访问,这些访问控制措施通过管理、物理和逻辑控制的手段,我们可以从第一个 CBK——信息安全管
理里面中了解到它们的实施原则,我们来逐一了解下这三类手段的定义:
物理手段(PhysicalControl):是历史最悠久的访问控制手段,从许多个世纪前开始,人类就开始使用城墙、门锁等方式来限制其他人对自己财产的占有。另外一种古老的物理访问方法就是“口令”方式,要进入某个区域,进入者必须向哨兵提供一
个口令,只有提供了正确的口令的人才能进入指定的区域。这些古老的物理访问控制方法经过发展仍然在我们现在的生活中发挥重要的左右,它们的基本原理依然没有改变,不同的也就是更多使用现代技术来实现。尽管访问控制这个 CBK 中提到的许多
技术是用在物理访问控制方面的,但访问控制 CBK的主要目的并非是物理访问控制,而是如何控制对信息系统的访问。关于物理安全的更多内容会在后面的一个 CBK——物理安全中详细讲述。
逻辑手段(LogicalControl):主要指的是在信息系统中部署的各种访问控制手段,其中我们日常生活中最常见到的就是“密码”这种方法,密码因为它的低成本易部署而成为绝大部分操作系统中的标准配置,但它的安全性并不高,也容易被恶意的攻
击者所获得。在访问控制后面的内容里,我们还会了解到如何克服“密码”的弱点和更安全的逻辑访问控制方法。
管理手段(AdministrativeControl):是指通过特定的规章制度或工作流程来限制对业务资源和特定的工作目标进行限制的访问控制方法。和物理/逻辑访问控制方法针对的对象是资源为主不同的是,管理手段主要针对的是一个业务流程,主要的原则
是防止单个人员能够独自的控制特定的业务流程,以防止欺诈等犯罪行为的出现。常见的管理访问控制方法有职责分离(SeparationofDuties)、职责轮换(RotationofDuties)和最低权限(LeastPrivilege)。
职责分离,就是指在完成一个关键的业务流程的时候,必须要根据业务的阶段分割,来安排不同的人员合作完成。比如在一个企业里面,如果一个职员能够负责设备的报废上报、审批和入库过程,他就有可能利用这个权利,将还没有符合报废标准的设
备当作报废设备进行替换,然后再通过对仓库的控制权将其出售,在国外发生过类似的案件。因此,为了防止单个人员控制某个关键业务的整个流程,企业的管理层应该根据某个业务流程的阶段,安排不同的人员负责,进行互相监督,尽管这样有可能
会导致合谋犯罪的发生,但这样进行权限分离后的风险仍然要比单个人员控制整个流程要安全得多。在 CISSP的考试中常常会出考察权限分离的情景题,回答这类题的关键就是要根据防止个人独自控制整个业务的原则来进行答案的筛选。
职责轮换,对于重要业务流程的某个职务或不太重要的业务流程,尽管进行了职责分离但仍然会有欺诈行为的风险,职责轮换便作为职责分离的补充被提出。在企业中常见的职责轮换的形式一般如下,管理层给重要岗位的员工安排假期,并在该员工休
假期间进行目标岗位的工作审计。因为职责轮换一般都涉及到放假,所以职责轮换也通常成为强制放假。职责轮换除了可以进一步的防止重要岗位的欺诈之外,另外也可以让人员熟悉本来不属于他负责的其他工作,为业务流程的岗位安排带来人员备份
和协调工作能力提升的好处。
最低权限,就是管理层只给用户分配满足他的日常工作所需的权限,比如财务部门的用户不允许访问审计部门的数据和资源、销售部门的用户不能访问产品定价等。在军事领域里面也有一个类似的“Needtoknow”的原则,这就是最低权限原则的一个特
例。最低权限原则还在系统架构设计、操作安全、网络安全等领域有所要求,属于 CISSP知识体系中较为重要的概念,在复习时可以适当关注一下。
以上介绍到的都是属于访问控制 CBK中最关键的概念,CISSP考试时对这几个概念的考察也是比较多的,在复习时可以充分结合工作经验或常见案例,掌握这几个概念。
在《J0ker 的 CISSP 之路》的上一个文章里,J0ker 给大家介绍了访问控制的基本概念和三种访问控制类型(物理、逻辑和管理)的基本原则。我们知道,信息安全和每个安全相关的技术,目标都是为了保护信息资产的保密性、完整性和可用性(CIA)中
的一个或全部不受损害,访问控制也是如此。因此,J0ker打算给大家介绍一下访问控制 CBK所对应的 C-I-A保护范围和涉及访问控制的一些常见威胁。
一、威胁的分类
访问控制通常部署在信息设施中,对信息处理环境——系统(包括硬件、操作系统和应用程序)、网络平台及连接(Intranet、Extranet 和 Internet)提供保护。除此之外,访问控制还对物理环境,诸如建筑物的入口、计算机中心,乃至特定的个人
工作站。要更深入了解访问控制,必须先了解影响系统资源的各种威胁,单从保密性、完整性和可用性三者的层次上来说,这些威胁可以分类成:
保密性威胁:指某个实体,包括个人、程序或计算机获取对敏感信息的访问权。保密性威胁是访问控制针对的主要威胁类型之一。
完整性威胁:指某个实体未经授权访问并影响系统资源,另外一种完整性威胁的表现形式是实体未经授权的对系统资源进行添加或修改。完整性威胁也是访问控制针对的主要威胁类型之一。
可用性威胁:指系统中的某个资产被摧毁、使之不可用或变得无用。
二、常见威胁列表
仅仅从 C-I-A 这个层次上去了解威胁的类型是远远不够的,我们在日常工作中所遭遇到的威胁往往更具体更技术化。下面 J0ker 再列举一下具体的威胁例子以帮助大家对访问控制所涉及的威胁有更深入的了解,当然,因为 IT 技术和威胁都在迅速的发
展,J0ker 不可能给出一个十分完整的威胁列表,下面所举出的例子,更多的是为了让大家了解常见威胁及其内容,并了解这些常见威胁属于哪种影响系统的威胁类型。另外,J0ker 是按照这些威胁的英文单词顺序来列的,而非它们的重要程度或出现
频率。
缓冲区溢出(BufferOverflow):缓冲区溢出是软件中最古老也最常见的问题,它是因为一个程序所获得的输入超出了它缓冲区的容量,导致程序出现异常并改变运行路径。缓冲区溢出通常会导致恶意代码的插入执行或程序获得管理员权限。缓冲区溢
出属于破坏保密性和可用性的威胁。
隐蔽信道(ConvertChannel):隐蔽信道指违反组织安全策略的隐蔽的数据传输路径,通常出现在两个或多个用户共享信息时。隐蔽信道包括时间信道(TimingChannel)和存储信道(StorageChannel)。隐蔽信道属于破坏保密性的威胁。
数据残余(DataRemanence):数据残余指在磁盘存储设备被消磁或数据被覆盖后,磁盘上仍存在的可被读出的数据。这些残余的数据可能会被有意或无意读出,并导致泄密。数据残余属于破坏保密性的威胁。
垃圾回收(DumpsterDiving):垃圾回收指攻击者通过翻找组织的垃圾桶,并在其中获得诸如用户名、密码等有价值信息的攻击手法。垃圾回收属于破坏保密性的威胁。
监听(Eavesdropping):指攻击者使用软件(如嗅探器等)监听网络,或使用设备对电信网络中所传输的数据进行监听的活动。监听属于破坏保密性的威胁。
电磁侦听(Emanations):指攻击者使用特殊的设备,对目标硬件设备散发出来的电磁辐射、各种无线网络的信号等进行获取并还原的行为。电磁侦听属于破坏保密性的威胁。
黑客(Hacker):黑客通常指通过技术手段获得非授权的系统访问,黑客有多种类型,如白帽黑客(White-Hat,合法的漏洞研究者)、黑帽黑客(Black-Hat,通过攻击来炫耀自己的技术人员)、恶意黑客(MaliciousHacker,会导致危害或损失的攻
击者),通常我们常说的黑客,指的就是恶意黑客。
身份伪造(Impersonation):指攻击者伪装自己成为一个授权用户以获得未授权访问。身份伪造属于破坏保密性的威胁。
内部入侵者(InternalIntruder):指组织内部人员使用外部入侵者的手法对组织的敏感信息进行未授权访问。通常可以分为两种类型:授权用户尝试去访问没有得到授权的信息或资源;授权用户尝试物理访问没有得到授权的设备。内部入侵者属于破
坏保密性的威胁。
处理能力损失(Lossofprocessingcapability):指由于系统由于有意或意外的破坏停止进行信息处理。处理能力损失属于破坏可用性的威胁。
恶意代码(MaliciousCode):指可以违反安全策略访问系统或获得最高系统权限的代码。恶意代码威胁还会在下面的文章中详细介绍。
中间人攻击(Maninthemiddle):指攻击者在网络中拦截并重定向数据通讯,以期获取数据通讯中的敏感信息。中间人攻击属于破坏保密性的威胁。
移动代码(MobileCode):指通过网络从一个服务器上传输到客户端,并在客户端上执行的可执行内容,Java和 VBscript便是很好的例子。
目标重用(ObjectReuse):指某个实体(用户、程序等)可以访问前一个实体访问磁盘、内存、临时文件等留下的信息,造成敏感信息的未授权访问。目标重用属于破坏保密性的威胁。
密码破解(PasswordCracker):指专用于在密码文件里面获取加密密码的软件或程序,如果未授权用户能够对密码文件进行访问,就有可能通过破解密码文件内保持的密码,从而获得对敏感信息的访问权限。
物理访问(PhysicalAccess):指对信息处理设施,如网络设备、主机、设施附属设施的物理访问。物理访问控制在物理安全 CBK中会有详细介绍。
重放(Replay):指攻击者通过在在网络中捕获数据包并重新发送给目标主机以获得未授权的访问。重放攻击属于破坏保密性和完整性的威胁。
嗅探器(Sniffer):指能够在网络上读取或捕获数据包的软件工具,攻击者通常使用嗅探器来获得敏感信息。嗅探器属于破坏保密性的威胁。
IP欺骗(Spoofing):指攻击者通过 IP欺骗获取只验证客户端 IP的服务器访问权限。IP欺骗属于破坏保密性的威胁。
社会工程学(SocialEngineering):指未授权用户通过欺骗授权用户以获取对敏感信息访问的行为。
间谍行为(Spying):指攻击者通过诸如窃听、摄像等高科技手段来获取敏感信息的活动。间谍活动属于破坏保密性的威胁。
针对性数据挖掘(Targeteddatamining):指通过搜索数据库的可读信息,并根据可读信息推断出敏感信息内容的行为。针对性数据挖掘属于破坏保密性的威胁。
后门(Trapdoor):指系统开发者在系统程序中留下的可供其不经过验证就访问系统资源的功能。后门属于破坏保密性的威胁。
隧道(Tunneling):指跳过系统所提供的功能,直接访问底层设备的技术。隧道技术在使用底层访问方法的同时也跳过了系统的访问控制功能。隧道技术属于破坏保密性的威胁。
以上所列的只是常见的威胁保密性和完整性的威胁,而对于威胁可用性的拒绝服务威胁,和无法明确区分威胁类型的恶意代码,在下面的内容中 J0ker 还会继续介绍。在 CISSP 考试中,常常会考察以上威胁的概念和分类,有时候也会考察某个特定威胁
的防御方法。
在《J0ker 的 CISSP 之路》系列的上一篇文章里,J0ker 给大家介绍了访问控制 CBK 里面一些常见的破坏信息资产保密性的威胁类型,那么什么类型的威胁会破坏信息资产的完整性和可用性?这便是本文将要介绍的两种具体威胁类型——拒绝服务
(DeniedofServices)和恶意代码(MaliciousCode)。
一、攻击类型介绍
随着信息系统存在与外界进行数据交换的需求的增长,针对数据的传输过程的特定类型威胁也随着发展起来,并成为信息系统安全越来越严重的问题。我们可以按照这些威胁的作用形式,将它们分成两个攻击类型:主动攻击(ActiveAttack)和被动攻
击(PassiveAttack),它们的定义分别如下:
主动攻击:指攻击者对正常的数据传输进行修改,或插入伪造的数据传输。主动攻击类型的威胁会破坏数据传输的完整性。
被动攻击:指攻击者不对正常的数据传输的内容进行修改,而使用技术手段来获取数据传输的具体内容。被动攻击类型会破坏数据传输的保密性。
关于属于这两种攻击类型的具体威胁及信息,有兴趣的朋友可以在 CISSPCBK中的电信和网络安全章节找到,J0ker在后面的文章中也会进行详细介绍。
1、拒绝服务攻击
并不是所有的攻击行为都能划分到主动或被动攻击这两个类型中,下面 J0ker 要介绍的拒绝服务攻击就不属于主动或被动攻击类型。拒绝服务攻击是所有破坏资料可用性的攻击的总称,它通常的表现是由服务系统接受到恶意或意外输入的错误数据而导
致崩溃,进而导致其他合法用户也无法使用服务系统的资源。发起拒绝服务攻击的攻击者不会尝试去偷取或损害信息系统中的敏感信息,而只是要使系统中的合法用户无法使用系统的信息资源。我们在日常生活中最常遇到的垃圾邮件就属于拒绝服务攻
击的一种,在垃圾邮件很多的情况下,用户的邮箱就会充斥着垃圾邮件,用户正常的邮件就无法收发。
拒绝服务攻击还包括其他的一些特例:
分布式拒绝服务攻击(DDoS,DistributedDeniedofService):攻击者控制成百上千台机器同时向目标服务器发送数据包,导致目标服务器因为处理能力不足而响应缓慢或直接当机。攻击者所控制的机器网络称之为“僵尸网络”,也即我们经常能在媒
体上看到的 Botnet。
图 1
死亡之 Ping(PingofDeath):Ping 常用来在网络上确定指定系统是否在线,它使用 ICMP 包来询问目标系统是否在线,目标系统在收到 Ping 程序所发送的 ICMP 包后,会向发送者返回一个 ICMP 包已收到的状态报告。如果攻击者在短时间内同时向目标
系统发送大量的 PingICMP 包,目标系统就会因为忙于处理 ICMP 包而无法响应合法用户的信息资源请求。死亡之 Ping 是流行于 1996-1997 年间的拒绝服务攻击类型,由于它攻击成功的关键在于攻击者的带宽,因此随着通讯和软件技术的发展,近年来
死亡之 Ping这种拒绝服务攻击方式已经消亡,但作为 CISSP了解拒绝服务攻击历史和来源的材料还是相当不错的。
Smurfing:同样是使用 PingICMP 包所实施的拒绝服务攻击类型。攻击者向一组系统或一个内部网络发送包含有源地址为目标系统的伪造 PingICMP 包,接收 ICMP 包的存活系统就都会向目标系统反馈信息,目标系统就有可能因为处理数量巨大的反馈信
息而无法响应合法用户的信息资源请求。Smurfing攻击可以看作是死亡之 Ping的升级版,近几年互联网上还出现过类似 Smurfing的邮件拒绝服务攻击,也即攻击者以目标系统名义伪造大量的邮件发送给许多服务器,导致目标系统的邮件服务被大量的
退信所淹没。
SYN 洪水(SYNFlooding):SYN 洪水是互联网上最流行的拒绝服务攻击方式,它利用了 TCP 协议需要进行三次握手的特点,向目标服务器发送了大量伪造源地址的 SYN 连接请求,占满目标服务器的连接队列,导致目标服务器无法响应合法的用户的信息
资源请求。SYN洪水所需的网络资源不多,发起攻击的节点也不需要很多,因此这种拒绝服务攻击方式被攻击者广泛的使用在互联网上。下图是 SYN洪水的示意图:
图 2
2、恶意代码
恶意代码是破坏信息完整性和可用性的主要威胁之一,它也是我们日常最常碰到的威胁之一。根据各种恶意软件的表现形式不同,可以分成以下几种类型:
病毒(Virus):计算机病毒是一段可以附加到系统内已有可执行文件的可执行代码,它不能独立存在,只在程序被启动时随之启动,实施感染或破坏。病毒在发作时可能只显示一些玩笑信息,也可能会破坏系统文件,造成严重损失。
蠕虫(Worm):蠕虫是通过网络自动复制、传播自身的恶意软件,它是一个独立的程序。早期有名的蠕虫有 1980 年代的莫里斯蠕虫事件,当时的蠕虫只有自动复制传播的功能。现代蠕虫已经和密码盗取、敏感信息获取等犯罪行为相结合,并使用了多
种高级的编程技术。
木马(TrojanHorse):木马是一种隐藏在用户系统中,并提供给攻击者访问到用户系统所有资源的恶意程序,它是一个或多个独立程序。木马不会像病毒那样将自己附加到系统内的可执行文件,也不会像蠕虫那样会自动复制传播,它通常通过网页浏
览或电子邮件附件传播,是危害仅次于蠕虫的恶意软件。
逻辑炸弹(LogicalBomb):逻辑炸弹是一种隐藏在系统中,在特定条件(日期、时间、操作等)会激活并执行破坏行为的恶意程序。
下面我们来看看近几年造成较大经济损失的恶意软件事件:
图 3
2003-2004年间的冲击波蠕虫以及 2006-2008年的 Storm蠕虫在扩散范围和造成经济损失的方面已经远远超越了它们的前辈。下面是来自 SecureComputing的最新恶意软件分类。
图 4
除了在上一个文章和本文提到的威胁之外,和访问控制相关的威胁还包括密码威胁。密码作为使用最广泛部署成本最低的访问控制手段,常常会面临以下的威胁:
针对密码文件的攻击:攻击者常常会试图获取和破解存储有密码列表的密码文件,并获取其中的可用密码以进行非授权访问。
弱口令:用户常常使用容易被猜到或破解的强度很弱的密码,比如和用户名相同的密码、生日、姓名等。
社会工程学:攻击者可以通过欺骗用户获取有效的密码
嗅探器:攻击者可以使用嗅探器获取在网络上明文或加密传输的密码信息
硬件或软件记录器:攻击者可以使用键盘监听器(硬件)或 Keylogger(软件)这样的技术直接截获包含有用户密码的击键记录
木马程序:攻击者使用带有密码拦截功能的木马程序来获取用户的密码。
在《J0ker的 CISSP之路》的上一篇文章里,J0ker给大家介绍了威胁信息资产保密性、完整性和可用性的各种威胁。控制对信息资源的访问,是防御这些威胁的有效手段,因此,J0ker打算在下面的几个文章里,详细的向大家介绍 CISSP访问控制 CBK
里的威胁控制手段、以及现有的技术和工具。
传统上,访问控制的手段可以分成管理访问控制(AdministrativeAccessControl,包括人员控制)、物理访问控制(PhysicalAccessControl)和逻辑访问控制(LogicalAccessControl),它们都是通过限制对信息系统及资源的访问来实现控制的。
管理访问控制手段主要是从管理层面上进行限制,如组织的安全策略及信息系统使用流程。在管理访问控制手段中还包括针对人员的控制(PersonnelControl),人员控制主要是通过在招聘员工时的背景检查和签署安全保密协议,来确保能够访问到信
息系统和资源的人员的可靠性。
物理访问控制包括锁和证件等有形的物件,而逻辑访问控制就是安装在信息系统内,作为信息系统的一部分发挥访问控制作用的手段,如反病毒软件、密码限制手段和加密技术等。下面是访问控制手段的一些实现的列表:
◆逻辑控制(Technical/LogicalControls)
访问控制软件,如防火墙、代理服务器等
反病毒软件
密码控制
智能卡/生物识别/证件
加密
拨号回呼系统
日志审计
入侵检测系统
◆管理控制(AdministrativeControls)
安全策略和流程
安全意识训练
职责分离
安全回顾和审计
职责轮换
人员雇佣和解雇策略
安全保密协议
背景检查
绩效评估
强制休假
◆物理控制(PhysicalControls)
证件
十字转门(Turnstiles)
使用锁、门、警卫等手段限制对物理资源的访问
对大部分的组织来说,部署所有可用的访问控制手段是既不经济也没有必要的。因此,组织必须在需要部署的访问控制手段和可用的访问控制手段之间进行平衡,并最终使访问控制手段的部署满足组织的安全策略。
理解访问控制手段之系统访问
为了让大家更容易理解各种访问控制手段,我们可以根据控制的对象把它们分成两类:系统访问和数据访问。我们先来看系统访问。
针对系统访问的访问控制用于限制或控制对系统资源的访问,它的流程包括对系统资源访问者身份的识别和身份验证,也即识别(Identification)和验证(Authentication)流程。
我们在日常工作中常常需要做的输入用户名、输入密码,这个过程便是用户的身份识别和验证过程。在识别和验证流程中,用户首先必须让系统知道访问者是谁,通常情况下这一步是由用户提供他在系统中的用户名,接下去的步骤是由系统根据用户所
提供的信息来验证第一步。在这里要提醒一下,不要把验证(Authentication)和授权(Authorization)这两个单词所弄混了,验证是确认用户的身份正确,而授权的动作发生用户身份识别和验证之后,确认用户可以做什么不可以做什么。
1、身份识别的功能
身份识别是所有信息系统安全功能的基础,信息系统内的所有实体都必须有一个唯一的标识以与其他实体相区别。唯一的身份标识是访问控制流程的重要组成部分,它提供如下功能:
1、确认用户的身份
2、与日志审计功能结合以提供审计能力(accountability)
◆提供用户行为追踪能力
◆用户需要对自己的行为负责
用户所使用的唯一个人标识在不同的场合有不同的叫法,比如登录 ID(LogonID)、用户 ID(UserID)、账户号码(AccountNumber)等,但它最常见的叫法是用户名(UserName)——用户向系统提供用户名,以使系统辨认出使用者是谁。同理,在系统中
有许多实体也需要有唯一的身份标识,如系统服务、硬件设备等,任何会对系统进行访问的功能或需求都需要分配一个唯一的标识。
由于目前网络的广泛分布及网络中用户数量巨大,因此,一些简单的管理方法往往会引入到身份识别管理流程中以降低管理成本,比如对系统中的用户名命名方式进行书面规定。有的组织使用用户的姓加上名的第一个字母组成用户名,也有的组织会使
用用户的全名并在姓和名之间加入下划线组成用户名。不管组织使用的是哪种命名方式,它使用的原则都是根据组织的流程规定,而非取决于所使用的系统类型。
除了逻辑的身份识别方式之外,物理的卡片或证件系统也往往执行身份识别的职能,物理身份识别系统往往用于限制对某些区域的进入和访问,如对某个建筑物、服务器机房等。在一些组织中,卡片或证件系统往往也同时用作网络访问控制的手段,比
如,智能卡系统在组织中常常被用作对能够接入网络的服务器机房或网络终端机房的进入进行限制,如果用户没有有效的智能卡,便不能从机房接入企业的网络。生物识别系统,如指纹识别、掌纹识别和语音识别系统也往往用于执行物理访问控制系统
的用户身份识别功能。
身份识别功能的另外一个重要功能就是保证可审计性,一个唯一的身份标识可以使管理员通过日志审计功能,对该标识所属的实体——用户或系统服务所执行过的行为进行跟踪;同时,一个唯一的身份标识也会使用户在执行对系统访问及特定操作时对
自己的行为负责。
2、身份识别使用指导:
确定性(Issuance):生成身份识别的过程必须是安全并经过文件记录的,从根本上说,身份识别的使用效率及安全性,与身份识别的生成过程密切相关。
命名标准(NamingStandard):用户或其他系统实体的身份识别必须遵守同一个命名的标准,如,系统中所有用户名的格式必须是名+姓的第一个字母,那么 JohnSmith的用户名就应该是 SmithJ。
不对工作责任进行描述(Non-descriptiveforuser’sjobfunction):出于安全考虑,用户的身份识别不应该包括对应用户的工作职责,如系统管理员最好不要使用“Administrator“或”Manager”这样的名字做用户名。
非共享原则(Nosharing):一个身份识别在整个系统或网络中应该只由一个用户或实体所有的,否则会造成授权或审计上的麻烦。
可校验性(Verifiable):身份识别要能够通过简单并有效的方法进行校验,校验方法还应该是任何时候在系统的任何部位都是可用的,自动化的。
唯一性(Unique):用户或实体的身份识别在整个系统或网络中必须是唯一的。
在《J0ker 的 CISSP 之路》系列的上一篇文章里,J0ker 给大家简单介绍了 AccessControlCBK 中的身份识别知识。在访问实体(用户、进程等)为了访问信息资源提供了自己独特的身份识别信息后,信息系统需要通过一定的技术手段来确认访问实体是
否和其所提供的身份识别信息所符合,这个过程,便是 J0ker将要介绍的身份验证(Authentication)过程。
要理解身份验证,我们可以先来看一个在日常工作中经常遇到的例子:在绝大多数的企业或组织的信息系统或网络里,用户要访问自己的文件,必须先向系统提供自己的身份识别,然后系统验证用户的身份,如果验证通过,用户才能获得对自己文件的
访问。可以这样理解,在访问资源的过程中,身份识别是用户提供给系统的,而身份验证及其结果则是系统提供给用户的。
信息系统可以使用三种因素,或称为方法来验证用户的身份,这三个因素是用户已知道的凭证(Somethingyouknow)、用户所有的凭证(Somethingyouhave)或者是用户的生物特征(Somethingyouare)。我们常常可以在使用身份验证技术的场合看到
诸如单因素身份验证方法、双因素身份验证方法这样的概念,单因素身份验证方法就是只使用单一凭证的用户身份验证方法,如在许多信息系统中默认使用的密码身份验证方式(验证用户已知道的凭证);双因素身份验证方法就是同时使用两种凭证的
用户身份验证方法,如在一些信息系统中使用的用户密码加指纹识别(验证用户的生物特征)的联合验证,双因素或多因素身份验证通常用在安全要求较高的信息系统上。以下是一个三个验证因素的对比表格:验证方法应用举例优点缺点
用户已知道的凭证密码、个人识别号码(PIN)等部署容易,用户操作简单容易遭受猜解、字典或暴力破解攻击、用户也常常不妥善保管他们的密码
用户已有的凭证 Token令牌、存储卡、智能卡针对这种验证方法的攻击都很难成功有可能会丢失或被盗,部署所需的成本高昂
用户的生物特征诸如指纹识别、语音识别、虹膜扫描等生物识别设备可提供简单并可靠简单的用户验证部署所需的成本高昂、用户接受程度有限、错误拒绝/接受率需要满足安全策略的要求
为了帮助大家更好的理解上述的三种身份验证因素,并理解一些关键的名词,下面 J0ker将详细的介绍三种身份验证因素中常见的技术实现及其特点:
用户已知道的凭证:
在这种身份验证因素中,最常见的技术实现便是密码(Password),密码是一个保密的单词(或一个字符串),用户可以通过提供正确的密码,确认自己的身份并获得对系统及信息资源的访问权限。密码的优点便是容易部署和使用,密码也是几乎所有
的信息系统所默认支持的身份验证方法,但密码的缺点和它的优点一样显著,密码的保密性很弱,用户常常会为了记住复杂的密码,而将密码写在纸上,贴到容易被其他人发现的屏幕旁边或键盘底下;有的用户也会为了好记而使用容易被猜解的密码。
因此,由于密码保护很容易被破坏,密码身份验证方式并不被认为是一种足够安全的身份验证方法。
为了克服单纯使用密码所带来的身份验证风险,一个被称为密码短语(Passphrase)的概念被引入到身份验证技术中。密码短语和密码并无实质上的不同,它们都是一个指定长度的字符串,它们之间唯一的区别是用户的理解上——密码这个单词看起来
鼓励用户使用简单并且好记的单词,而密码短语看起来则是鼓励用户使用一个更复杂的短语。如,一个标准的密码短语可以从任意意义的句子或者成语中获得,如一个来自于”Tobeornottobe“的密码短语可以是 TOBEORNOTTOBE。尽管密码短语要比密码
的强度更高,但攻击者仍然可以轻易的使用自动化的密码破解工具来破解一个强度不够的密码短语。
密码短语也常常作为加密算法的密钥使用。在这种情况下,密码短语和密码的区别在于长度,密码的长度通常为 6至 8位,而密码短语则根据加密算法的不同,常常可以达到 100多位甚至更长。
下面是 J0ker对大家在日常工作中使用密码的一些建议:
1、密码应该定期更换,密码的有效时间需要取决于多个因素,如更换密码的成本、如果密码被破解所造成的影响、密码分发时的风险和密码使用的频率。通常高安全要求的信息系统需要每天更改密码,而低安全要求的信息系统可以每周、每月、每个
季度乃至每年更换一次密码,一般情况下我们可以采取每一个半月更换一次密码的方法。
2、用户创建密码时,不应该使用词典中可以找到的单词或名字
3、用户在创建密码时,应该同时使用大写、小写字母、数字和特殊字符——如“Th3re!5aC4t”这样的密码。
4、用户应该尽量使用较长的密码,一个 16位的密码要远比一个 8位的密码安全。
5、其他:一个保密强度高的密码短语的要素是:只有创建者知道;足够的长度以保证安全性;很难猜测,即使攻击者十分了解创建者也无法猜解;容易记忆并容易正确输入。
由于密码在访问控制上的重要作用,而许多系统往往把密码存储于密码文件中,因此保护系统中的密码文件也成为保证系统安全的关键因素。一般情况下,系统通常使用不可还原的单向加密方法来加密密码文件,同时还会限制一般用户对密码文件的访
问。如果攻击者能够物理访问到存储有密码文件的服务器或文件备份,那么攻击者仍可以用自动化的密码破解工具破解密码文件中加密过的密码,因此,限制用户对服务器及文件备份的物理访问,也是保证密码安全性的重要措施。
说到密码破解,就不得不提一下信息系统针对密码破解的重要措施——账户锁定(AccountLockout),账户锁定是指系统在检测到某个账户登录密码错误设定次数后,自动关闭该账户的登录权限,并在一段时间后自动或由管理员重新开放。账户锁定能
够有效的防御攻击者使用自动化密码破解工具所进行的攻击,也可以使管理员迅速发现攻击者的密码破解企图。一般情况下,我们常见的信息系统都会把账户锁定的次数设定为 3 到 5 次,密码错误次数达到规定数字后,通常会把账户锁定 5 至 15 分
钟。
在《J0ker 的 CISSP 之路》系列的上一篇文章里,J0ker 给大家介绍了用户验证时所依赖的三种验证要素、密码和密码短语及其安全使用原则。作为技术实施难度和成本最低的用户验证方案,基于密码的用户验证方案广泛应用于我们的日常生活和工作
中。但由于密码本身的脆弱性,很容易被攻击者所破解或窃取,因此,在高安全级别的系统中,往往会在使用密码验证的基础上,再增加其他的验证手段,以增强系统的安全性——这便是本文要介绍的用户所有的凭证(Somethingyouhave)和下一篇文
章要介绍的用户生物特征(Somethingyouare)这两种用户验证手段。
用户所有的凭证,和传统的密码方式最大的不同在于,用户所有的凭证,对用户来说是他所有的一个物品,用户不需要了解它们具体是怎么运作的,只需要在系统要求用户进行身份验证时提供它们即可。大家可能会觉得 J0ker 这样说有点抽象,举个简
单的例子,用户要进入一个有警卫看守的房间,如果只需要对上暗号而不需要警卫验证用户的其他属性就能进入,就是传统的密码方式。如果用户对上暗号之后,警卫还需要用户提供自己的工作证或者钥匙才能进入,这就是使用用户所有的凭证的验证
方式,更进一步的,按照规定用户还必须是警卫认识的人,用户才能进入,这就是用户生物特征的身份验证方式。因此,用户所有的凭证,也就相当于用户进入系统的钥匙。
用户所有的凭证按照存在的形式还可以分成逻辑存在和物理存在:逻辑存在的用户所有凭证通常是保存在用户的系统中,在使用时自动或由用户手动提交给验证系统,这种存在形式的用户所有凭证常见的有各种数字证书、某个包含有特殊字符或内容的
文件,或者软件实现的 Token一类的产品等。而物理存在的用户所有凭证则包括一次性密码(OTP)、存储卡和智能卡等,因为逻辑存在的用户所有凭证有被攻击者复制利用的风险,因此,物理存在的用户所有凭证在安全上要比逻辑存在的更胜一筹。
下面 J0ker将给大家介绍目前使用最为广泛的两种用户所有凭证方案,一次性密码(OTP)和智能卡:
一次性密码(OneTimePassword,OTP)和传统的可多次使用密码不一样,一次性密码只能使用一次,使用之后便告失效。这样,即使用户的一次性密码被攻击者所获取,攻击者也不能使用一次性密码再去登录用户的系统,因为这个一次性密码已经失
效。
和大家认为的不一样,一次性密码使用的历史相当长,一次性密码的使用甚至还早于计算机出现——近代军事和间谍领域常用的密码本,便可以认为是一次性密码的前身。直到现在,将许多个一次性密码列表打印在纸上,并交给用户使用,仍然是最为
廉价但安全性相当高的一种一次性密码方案,国内有的银行在加强网上银行安全性的时候便选择了这样的一次性密码实现方式,大家可以在使用相关银行的网上银行时留意一下。当然,这种一次性密码实现的安全取决于用户是否能妥善保管打印有一次
性密码的密码本。
更多的一次性密码方案采用电子和计算机技术来实现,这类一次性密码方案的用户端通常是一个类似于小的计算器或钥匙吊坠般外形的设备,上面有个数不等的按钮,行业里也将这个设备称为令牌设备(TokenDevice)。用户按照一定的规则向令牌设
备输入数据,令牌设备计算后返回一个结果给用户,这个结果就是用户登录系统的一次性密码。令牌设备可以根据实现方式分成同步式令牌设备和异步式令牌设备:
同步式令牌设备(SynchronousToken):令牌设备内保存有和验证服务器相同的一个基准值,如精确到微秒的时间,或用管理员设置的一个可变数值。基于时间同步的令牌设备称为 Clock-basedToken,而基于可变数值计算的则称为 Counter-
basedToken。它们生成一次性密码的方式大致相同,都是用户输入密码后,由令牌设备利用与服务器同步的变量作为一个参数,重新生成一个用于登录系统的一次性密码。而验证服务器端则会使用相同的变量及算法处理保存在数据库中的用户密码,如
果用户提供的一次性密码和验证服务器计算的相同,就可以证明该用户是系统的合法用户。
图 1,基于时间同步的令牌设备(Clock-basedToken)的工作流程
图 2,基于变量同步的令牌设备(Counter-basedToken)的工作流程
异步式令牌设备(AsynchronousToken):由于同步式令牌设备需要和验证服务器相一致的时间或数值变量,所以同步式令牌设备的部署和维护并不轻松。异步式令牌设备则没有这个缺点,它不需要验证服务器维护和令牌设备之间的时间或变量同步。
异步式令牌设备采取挑战-回答(Challenge-Response)的一次性密码生成方式,在用户提出登录请求后,验证服务器将根据用户输入的密码返回一个数字,用户再将这个数字输入到令牌设备中进行计算后,把计算结果返回给验证服务器,验证服务器
也会进行相同的计算步骤并将结果和用户的输入进行比较,如两个值相同,则验证通过,用户可以登入系统。
近几年市面上还出现了使用安装在用户系统内的令牌程序代替物理令牌设备的一次性密码方案,这种方案进一步降低了用户部署和维护的成本,也更加适用于追求安全性,又对验证方案的成本敏感的企业使用。
智能卡(SmartCard):智能卡是一张类似信用卡大小的塑料卡片,在它里面有一块微型的芯片,这款芯片可以存储一些与用户验证相关的信息。有的高级智能卡还包括专用的计算芯片,能够提供一定的加解密或其他运算功能。智能卡的使用要比一次
性密码更为广泛,经常被企业用于提供物理安全的访问控制方案中。
在《J0ker 的 CISSP 之路》系列的上一篇文章里,J0ker 给大家介绍了用户验证所使用的第二种验证因素——用户持有的凭证。用户持有凭证能够在最基本的用户密码验证的基础上再增加一层安全保护,但用户持有凭证会增加用户的安全方案采购成
本,而且凭证本身也面临被盗、丢失、复制或滥用的风险。因此,在许多要求更高安全级别的场合,往往需要使用更为安全的访问控制手段,这就是 J0ker在本文将要介绍到的第三种验证因素——用户的生物特征(Whatyouare)。
由于每一个人的特征在生物学角度上都是唯一的,因此,生物特征可以成为用户身份验证的手段,而提供生物特征验证功能的设备,就称为生物特征识别设备(BiometricDevice)。由于每个用户的生物特征都是不可仿冒的,因此,尽管生物特征识别
设备的采购和使用成本非常高昂,但它所能够提供的安全性仍是不可替代的。用户生物特征的验证过程是一个自动化的过程,根据验证对象的不同,生物特征验证方法还能分成物理特征和行为特征两类:
物理特征:通过用户物理上的唯一特征来验证用户身份的方法,这些特征包括指纹、虹膜、瞳孔、掌形等
行为特征:通过用户行为上的唯一特征来验证用户身份的方法,这些特征包括声纹、签名等
用户的物理特征并不会随着时间的流逝而改变,如人的指纹一生都不会改变;用户的行为特征的选择标准为可控的行为并受用户心理状态影响较小,但仍然有可能随着时间的流逝而改变,因此需要经常升级用户验证数据库。依据用户物理特征和行为特
征的生物验证方法各有优缺点,前者可以提供更好的安全性,但采购和维护的成本更高,对用户的影响也较大;而后者正好相反。当然,两种类型的生物特征验证方法都能够提供很高的安全性,并可与密码、智能卡等验证方法结合使用以提供更好的安
全保证。
如果企业要采购和部署生物特征验证设备来加强访问控制的安全性,应该如何评估生物特征验证设备的优劣?信息安全行业里面通用的评估指标有 3个:精确度(Accuracy)、处理速度(ProcessingSpeed)和用户接受程度(UserAcceptability)
精确度:精确度是生物特征验证设备最为关键的评估指标,生物特征验证设备必须准确的识别出一个用户的身份是否真实,否则这个设备便没有存在的意义了。错误拒绝率(错误拒绝合法用户的几率,FRR)、错误接受率(错误接受非法用户的几率,FAR)
和交叉错误率(错误拒绝率和错误接受率的交叉结果,CER)是用来衡量生物特征验证设备精确度的指标,这三者的关系请大家参考图 1。错误接受率通常被认为是衡量生物特征验证设备发生错误几率的主要指标,而交叉错误率则是衡量设备准确率的主要
指标。越敏感的设备,错误拒绝率就越高,而越不敏感的设备,错误接受率就越高。
图 1:错误拒绝率、错误接受率和交叉错误率
交叉错误率和错误接受率、错误拒绝率之间的换算关系如下:1%的交叉错误率相当于 2%的总计错误,也即 1%的错误接受率加上 1%的错误拒绝率。因此,我们可以很容易的从这个换算关系中得出什么设备有最低的错误率或最好的设置。
处理速度:处理速度代表生物特征验证设备的数据处理能力,以及在多长的时间内向用户表现验证接受或拒绝的指标。处理速度越快,自然在单位时间内能够验证的用户数量越多,当然采购的成本也就越高。通常认为,从采集用户生物特征到向用户显
示身份验证结果的整个过程花费 5至 10秒是用户可以接受的标准。
用户接受程度:用户接受程度也是衡量生物特征验证设备的重要指标,因为用户是生物特征验证设备的最终使用者,因此,用户对指定的生物特征识别技术的接受程度和使用意愿决定了这种生物特征验证设备的有效性。要确定生物特征验证设备的用户
接受程度,根据 J0ker 的经验,企业可以采用以下步骤,首先让用户了解需要使用生物特征验证手段来保护的信息资产及其重要性,其次,让用户了解企业希望部署的生物特征验证设备并不会对用户的健康造成危害,最后,企业还应该让用户了解其所
使用的生物特征验证设备并不会收集用户的个人信息及健康信息。
最后,我们来看一下目前市面上常见的生物特征验证设备:
名称数据采集量用户输入处理时间准确率
指纹识别 500-1500字节用户需要在指定位置留下指纹 5到 7秒 CER可达 5%
掌形识别 9字节用户需要将手掌放在制定的平台上 3到 5秒 CER可达 %
声音模式识别 1000-10000字节用户对话筒念一段话 10到 14秒 CER为 10%
虹膜识别 96字节用户需要将眼睛对准一个摄像头 4到 7秒 CER可达 %
瞳孔识别 256字节用户需要将眼睛对准一个 LCD屏 2到 4秒 CER可达 %
签名动态识别 1500字节用户在指定的平台上签名 5到 10秒尚在测试中
下篇预告:《AccessControl(8)》,J0ker将给大家介绍访问控制领域中的集中访问控制方案,敬请期待!
在《J0ker 的 CISSP 之路》系列的上一篇文章里,J0ker 给大家介绍了访问控制凭证的最后一个分类:用户的生物特征,以及一些应用比较广泛的生物验证手段。以生物特征为验证凭证的访问控制方案能够提供比使用其他两种凭证的同类产品高得多的
安全性,但生物特征的访问控制方案的部署和维护成本也最高,而且用户的接受程度也不是很好。企业在选择访问控制方案的时候,往往会综合考虑访问控制方案的技术要求和部署使用成本,在安全要求不是很高的场合,企业往往会倾向于选择不需要
添置额外验证设备的逻辑访问控制方案。因此,我们在日常工作中,接触更多的是各种基于密码验证的访问控制系统,在接下去的几个文章里,J0ker就打算介绍一下各种逻辑访问控制方案,首先 J0ker将介绍集中式的访问控制方案。
在网络化应用广泛使用的今天,用户对信息资源的访问已经从最开始的物理访问为主,到现在的以远程访问为主:企业总部与处在不同地区的分支机构需要频繁的交换信息、出差途中的员工需要从企业的相关部门获取信息并分享业务资料、合作伙伴或
外包厂商也需要从企业中获取和进行中的项目的信息。这些目的和技术实现都不相同的场景,一般都需要通过电话拨号、互联网或 VPN 服务等方式进入企业的内部网络。对企业来说,为用户提供对网络资源的远程访问是一件相当有安全挑战的事情,企
业在允许远程用户访问到自己的内部网络和信息资源之前,必须先对远程用户的使用权进行一定的限制,这就是用于确认用户身份的验证(Authentication)、分配用户访问权限的授权(Authorization)和检测用户是否进行违反安全规定操作的审计
(Accounting)操作,也就是我们经常可以接触到的 AAA概念。
何谓 AAA?AAA是:
验证(Authentication):确认用户的身份以及用户是否允许访问网络资源
授权(Authorization):决定用户可以进行什么操作
审计(Accounting):跟踪用户做了什么以及完成的结果,审计常用于检查用户是否进行了违规操作或进行网络使用时间/资源的计费。
我们可以从下图中形象的了解到一个基础的 AAA服务是如何为远程用户对网络的访问提供服务的,图中包括三个对象,从左往右分别为:远程用户、网络访问服务器(防火墙、VPN服务器等)、用户验证服务器。
图 1、AAA服务的过程示意图
远程用户访问网络资源的 AAA过程如下:
1、远程用户给网络访问服务器(NAS)发送自己的用户名和密码
2、NAS接收用户提供的用户名和密码信息
3、NAS将用户的用户名和密码信息转交给验证服务器
4、验证服务器通过用户的身份验证后,将用户可用的网络连接参数(带宽、可用时长等)、用户授权和协议信息返回给 NAS
5、NAS确认并向用户提供连接服务,并将此次连接写入验证服务器的日志中。
因此,我们可以很清晰的了解到,AAA 服务的安全程度,直接关系到网络资源是否能够得到妥善的保护,并防止来自网络外部和内部的各种非法用户的访问。针对各种基于网络的安全远程访问的 AAA 需求,互联网工程任务小组(IETF)专门组建了一个
AAA工作小组。继完成 Radius、TACACS协议之后,当前这个工作小组的主要工作目标就是创建一个支持多种不同网络访问模型(如拨号网络、移动 IP和漫游操作等)的标准的基础协议,能够满足以下的几点需求:
分布式的安全模型(服务器-客户端结构),分布式的安全模型能够将用户身份验证过程与通讯过程分离,从而使用户的身份信息能够保存到一个中央的数据库中。
验证过程:客户端和服务器之间的通讯应在验证后才能进行,以此来保证通讯双方的真实性和通讯内容的完整性。通讯中的敏感信息还应该事先进行加密,防止密码或其他的验证信息被拦截或泄漏。
灵活的验证手段:AAA服务器应该能够支持多种验证手段,如密码验证协议(PAP)、挑战-握手验证协议(CHAP)、标准 Unix登录流程,或者 Microsoft的 ActiveDirectory等,这样 AAA服务器才能适应复杂的应用环境。为了增强拨号连接的访问安全
性,AAA服务器也应该对呼叫号码识别(CLID)和回拨功能提供支持。
使用可扩展的协议:AAA服务器通常还应设计成能支持可扩展的协议,即使技术进步使新的协议进入市场,AAA服务器也可以在不影响现有协议的情况下对新协议提供支持。
针对上述的 AAA 服务实现需求,IT 业界开发出了多种不同的 AAA 方案。其中,Radius 和 TACACS 是行业事实上的标准,常被用于互联网连接提供商(ISP)的网络服务验证及大型企业的远程访问控制中,而它们的继任者 DIAMETER 则是一个目前仍处在评
估状态的标准草案(RFC)。这三种方案都能在提供安全的远程访问验证功能的同时,有效的减少企业的管理成本。接下来 J0ker来简单介绍一下这三种 AAA方案:
Radius:Radius 是远程拨号用户验证服务的缩写(RemoteAuthenticationDialInUserService),由 Livingston 公司开发,是当前最为流行的 AAA服务协议,它应用最为广泛的领域是互联网服务提供商(ISP)。Radius服务器和客户端之间的通讯采用
UDP 协议,但因为 Radius 协议本身并不要求加密,因此,为了提高在非安全网络验证过程抵抗非法用户监听的能力,Radius 还支持使用一次性密码。Radius 服务的验证和授权功能是不分离的,而审计功能是一个独立的功能模块,因此,Radius 服务可
以使用单独部署的审计服务。
TACACS:TACACS是终端访问控制器访问控制系统(TerminalAccessControllerAccessControlSystem)的缩写,TACACS最先使用在互联网的前身 ARPAnet 上,并由网络厂商 Cisco 完善了它的第二版 XTACACS和第三版 TACACS+。和 Radius 为网络服务的使
用提供 AAA服务不同,TACACS针对的是网络资源访问,另外,TACACS使用的通讯协议是 TCP,这点也是和 Radius不同的。TACACS服务集成了验证、授权和审计服务,它的验证功能支持 CHAP、一次性密码等不同的验证协议,授权功能主要使用访问控制
列表方式,而审计功能则可记录系统或会话级的日志。
DIAMETER:针对 Radius 应用面较窄、支持的设备和应用较少的缺点,IT 业界推出了 DIAMETER 协议,我们可以认为 DIAMETER 协议是扩展的 Radius 协议。DIAMETER 协议的最大特点是,它是一种基于节点的 AAA 服务,除了能够使用在传统的拨号服务上
之外,还能使用在无线链接、移动电话或 VPN 等其他接入服务上。同时 DIAMETER 的验证、授权和审计功能都是独立的,网络厂商或企业可以根据自己的实际需要,使用 DIAMETER 标准的功能,或自己构建适合应用需要的功能支持。目前 DIAMETER 协议
仍是一个 RFC草案,有兴趣的朋友可以自行到 IETF的官方站点去查阅资料[url]//aaa-[/url].
在《J0ker 的 CISSP 之路》系列的上一篇文章,J0ker 向大家介绍了访问控制中的集中式访问控制方式,以及目前广泛使用的 3 种集中式访问控制技术。集中式访问控制技术通常对某个网络的访问进行控制,其作用相当于高速公路上的入口,因此,集
中式访问控制并不能胜任对其他资源的访问控制任务。如果用户要对特定的资源进行访问控制,就需要用到本文中提到的分布式访问控制方法。
在 CISSP的 CBK内容中,提到了 3种目前广泛使用的分布式访问控制方法:单点登录(SingleSignOn,SSO)、Kerberos和 SESAME,同时还介绍了安全域(SecurityDomain)和瘦客户端(ThinClient)的概念,下面 J0ker就逐一为大家介绍:
单点登录(SingleSignOn):
在日常的工作中,我们常常会遇到这样的情况:需要访问多个不同的计算机系统或应用程序,才能获取完成某项特定工作所需的所有条件。在涉及的不同计算机系统和应用程序较多的情况下,记住对应的用户名和密码成为一项不容易的任务,许多用户
为了简化这一流程,往往会使用简单的密码,或将密码写在纸上,从而对系统的安全留下了不小的隐患。为了降低和消除这一隐患,安全厂商推出了单点登录技术,单点登录技术将不同的系统和应用程序所需的访问控制功能抽离出来,用户在使用时只
需要在统一的单点登录方案下进行一次验证,便可以访问到自己所需的网络、信息和其他资源。由于应用单点登录技术之后,用户在 IT 环境中使用的用户名密码对和需要进行的验证次数大为减少,用户可以使用(也通常会被建议)使用较为复杂的密
码,在某种程度上提升了 IT环境的安全性,也简化了用户的访问控制难度。
单点登录技术的对应是企业 IT环境复杂度提升、多种平台和应用程序投入使用的对应,单点登录技术能够用于以下的场合:
◆一组系统和应用程序的多个入口点,包括互联网访问
◆对数量巨大的客户端的管理需求
◆同时使用多个应用程序的企业
◆简化企业访问控制方案的管理和控制
我们现在可以从越来越多的场合看到单点登录技术的使用,如 Hotmail、yahoo、163等知名网站上使用的通行证(Passport)技术,开源社区中的 OpenID等等,LDAP、Microsoft的活动目录等目录管理系统,也可以作为企业单点登录方案的组成部分。
下图是一个单点登录实现的示意图:
图 1:单点登录实现的示意图,用户通过一个统一的验证服务器来访问一组资源。
单点登录技术的优点在于:
1)提供一个更为有效的用户登录流程,用户只需输入一次用户名和密码,就能访问到多个他需要的资源,降低了用户名密码的记忆难度并减少了用户验证所需的时间;
2)由于用户要记忆的密码数目减少,用户可以使用更为复杂更难破解的密码,从而提升 IT环境的安全性;
3)消除了多个系统中的用户密码进行同步时的风险;
4)用户账户超时和登录尝试能够更密切的和登录入口相结合;
5)简化了管理员的账户管理流程,管理员只需要进行一次操作就可以完成用户账户的添加、修改、禁用和删除等操作。
但单点登录技术也有其与生俱来的 3个缺点,就是:
1)当用户的用户名和密码被入侵者窃取的时候,入侵者能够访问到该用户所授权的所有系统和资源,这种危害在管理员密码被入侵者窃取的时候尤其明显。
2)在部署单点登录技术时必须严格遵守企业的安全策略,并细致的分配用户权限,否则很容易造成用户权限过大等问题。
3)使用单点登录技术后,企业要部署不支持该方案的计算机系统或应用程序会遇到相当多的问题。
为了降低和消除单点登录技术密码失窃导致的风险,企业在使用时还可以使用双因素或者多因素验证方法来增强单点登录技术的安全性。对于移动用户多的应用场景,企业还可以使用一次性加密的加密算法来保证用户密码传输时的安全性。
Kerberos:
在希腊神话中,Kerberos 是守卫地狱入口的三头犬。如同神话传说中的 Kerberos,现代信息系统中有一种验证协议也通过三个参素来保护网络入口,因此开发者将这种协议命名为 Kerberos。Kerberos 可能是至今为止使用最为广泛的身份验证协议,它
在上个世纪 80年代由麻省理工学院(MIT)设计并在雅典娜计划中使用,适用于大规模的异构网络中。
Kerberos 协议设计的核心是,在用户的验证过程中引入一个可信的第三方,Kerberos 验证服务器,它通常也称为密钥发放服务器(KDC),负责执行用户和服务的安全验证。Kerberos 协议在网络上传输的数据都是用 DES 加密方法进行处理。Kerberos
除了提供验证服务外,还能够提供网络信息的保密性和完整性保障。
在一个封闭的小型网络,所有的节点都有一个组织所拥有并维护的情况下,使用 Kerberos 并不是部署验证服务的必然选项。但在一个开放的,分布式的网络环境中,尤其是有许多异构系统,用户必须向每个要访问的服务器或服务提供凭证的情况下,
使用 Kerberos 协议能够有效的简化网络的验证过程。Kerberos 服务可以采取多个服务器的分布式部署方式,以冗余的方式来保证 Kerberos 验证服务不成为网络的单点故障。Kerberos 服务通过核对用户及其要使用的服务之间的授权状态,来确定用户
是否能访问服务,核对通过后,Kerberos会为用户提供访问服务所需的“票据”(Ticket),票据有使用时限并保存在用户系统的缓存中。
Kerberos协议的设计中,有如下的四个需求:
◆安全:即使网络通信被非法用户监听,也不会泄漏能够危害合法用户的信息;
◆可靠性:能够提供可靠的服务,在必要时可以使用分布式的部署方式;
◆透明:在需要用户交互的初始验证之后,用户无需关心接下去的验证过程是如何进行的;
◆适应性:能够适应小规模或大规模的网络部署。
Kerberos协议包含了许多组成部分,有兴趣的朋友可以在 RFC1510中找到更为详细的描述。为了大家能够更容易的理解 Kerberos的实现机制,J0ker在下面介绍了 Kerberos实现提供功能的几个步骤:
1)用户保存有和 KDC 一致的一对密钥,应用服务器与 KDC 也保存有相同的一对密钥。如果用户要访问应用服务器,必须首先向 KDC 发出验证请求,KDC 回应请求并发送给用户一个访问票据和一个会话密钥。这时候,KDC 兼具验证服务器(AS)和票据分
发服务(TicketGrantingService,TGS)这两个功能。
2)用户在包含有 Kerberos客户端的本地工作站上输入用户名和密码,Kerberos客户端将使用用户输入的密码生成一个临时存储于本地的密钥,并将用户名传送给 TGS以获取一个票据获取凭证(TicketGrantingTicket)
3)TGS向用户返回使用用户密钥加密一个客户端会话密钥(TGS-ClientSessionKey,KTGSC)和使用 TGS的密钥加密过的 TGT,此时用户将会被提示输入密码,以解密 KTGSC。
4)当用户需要使用某个特定的资源时,用户的系统会向 KDC发送用在上一步获取的会话密钥加密过的访问请求,访问请求包含有用户的时间信息和验证标志。
5)KDC将用户的访问请求转发给资源,资源解密会话密钥,并使用会话密钥来解密访问请求中包含的信息。如果访问请求中的信息和资源的授权信息相符,则用户可以使用该资源。因为所有的验证信息都有时间戳,因此可以执行超时操作。
下图是 Kerberos协议执行验证功能的流程示意图:
Kerberos 服务的可靠程度取决于用户是如何部署 Kerberos 的,Kerberos 需要在整个网络中进行时间同步,如果用户减小授权票据的存活时间,将可以降低入侵者通过替换票据获取访问权限的风险。此外,由于 Kerberos 服务中的 KDC 保存了所有客户
端的访问密钥,因此,KDC需要在物理和网络安全上进行双重的加固,以保证整个网络的安全。
使用 Kerberos服务的另外一个局限性是,客户端上软件需要有 Kerberos支持或有对应的客户端。
SESAME:
SESAME 是多厂商环境下的欧洲安全系统的缩写,是一个由欧盟委员会资助的研究项目,SESAME 同时也是该项目所产生的技术的名称。SESAME 技术能够提供单点登录功能和分布式的访问控制,所有在网络上传输的数据都可以使用对称和非对称加密方法
进行处理。SESAME的认证过程类似于 Kerberos,实际上 SESAME也能够使用 Kerberos第 5版协议。
下图是 SESAME的验证过程示意图:
除了上述 3种最为常见的分布式访问控制方法外,CISSPCBK中还介绍了其他两个与分布式访问控制有关的设计:安全域(SecurityDomain)和瘦客户端(ThinClient)。
安全域:安全域的概念常见于 ERP 系统中的访问控制,它把资源和客户端根据其权限的不同,分成不同类别不同等级的域中,高权限客户端能够访问同类别的不同等级域,而低权限的客户端只能访问低级别的域。特定权限的资源,也能够由不同等级的
客户端组成的域所访问。
下图是安全域的两种实现示意图:
瘦客户端(ThinClient)
瘦客户端是从 2002年开始兴起的一个新技术,它以更高的安全性和较低的成本而著称。把瘦客户端归类为分布式访问控制的理由是,瘦客户端类似于用户进行身份验证和访问数据的一个前端。
下篇预告:在《J0ker的 CISSP之路》的下一篇文章里,J0ker将向大家介绍自主式访问控制的相关概念,敬请期待!
在《J0ker 的 CISSP 之路》的上一篇文章《分布式访问控制方法》里,J0ker 给大家介绍了用于控制用户资源访问的几种分布式访问控制方法。在实际的应用中,我们往往还需要对数据和信息进行更为细致的访问控制,比如,企业需要允许财务部门访
问今年上半年的企业详细财务报告,但同时应该拒绝其他部门访问,之前介绍过的集中式或分布式访问控制方法就不太合适应用在这种场景中,这时候,我们就要用到下面提到的几种数据访问控制方法。
在 CISSP 的 CBK 中介绍了目前最为常用的 5 种数据访问控制方法:自主式访问控制(DiscretionaryAccessControl,DAC)、强制访问控制(MandatoryAccessControl,MAC)、基于角色的访问控制(RoleBasedAccessControl,RBAC)、基于内容的访问控制
(ContentBasedAccessControl,CBAC)和固定界面访问控制(ConstrainedInterfaceAccessControl,CIAC)。J0ker将在本文和下一个文章中逐个介绍这些数据访问控制方法:
自主式访问控制:自主式访问控制是一种根据用户标识和/或用户所属的组别,对文件及其他系统资源访问进行控制的访问控制方法,由于它主要进行访问控制操作的标准主要基于用户标识和权限分配,此外用户权限的分配是由数据的所有者实施的,
因此通常我们也认为 DAC 也是一种基于访问策略的访问控制方法,这点也是 DAC 与下面将要提到的 MAC 最大的区别。在实践中,自主式访问控制通常是通过访问控制矩阵(AccessControlMatrix,ACM)和访问控制列表(AccessControlList,ACL)来实现
的:
我们知道,在计算机和网络系统中,数据和信息的组织形式最多的还是基于文件结构()形式,也即数据和信息存储在文件中,而文件则根据一定的分类规则来分到不同的文件夹(目录)中。数据和信息的这种组织形式,使得我们能够很方便的决定某
个用户对某个集合(文件或文件夹)的信息有什么样的访问权限,与此同时,其他的用户对这个信息集合有什么样的访问权限,在大多数的操作系统和网络系统中,常常设置以下几种数据访问权限:
表 1:常见的数据访问权限设置权限描述
无权限或空(Null)该权限的用户无法对指定的文件和资源进行任何类型的访问
读(Read,r)用户可以对指定的文件和资源进行读操作,但不能进行变更操作
写(Write,w)用户可以对指定的文件和资源进行写操作,如进行编辑等
执行(Execute,x)用户可以执行指定的程序
删除(Delete,d)用户可以删除指定的文件和资源
变更(Change,c)用户可以对指定的文件和资源进行读、写和删除操作,但不能改变它的访问权限设置
完全控制(FullControl,f)用户对指定的文件和资源有完全的权限,可以读、写、删除、执行和改变该资源的访问权限设置
自主式访问控制最为重要的特征是资源所有制(ResourceOwnership),在某些操作系统中,数据的创建者默认就是数据的所有者。数据的所有者除了拥有该数据的完全控制权限外,还能够对数据的访问控制权限进行设置,如果某个用户不是指定数据
的所有者,那他就最多只能操作该数据对象,而不能修改该数据对象的访问控制设置。在一些组织中,系统管理员被默认为所有文件的所有者,系统管理员统一为组织中的用户分配访问权限,这种策略的缺陷主要在于系统管理员可能拥有太大的权限,
了解太多他本来不应该了解的信息,因此,提供访问权限的共享控制能够在一定程度上提高数据的安全性。
自主式访问控制在操作系统和网络系统中的表现形式就是访问控制矩阵和访问控制列表,每个用户和每个访问目标之间的关系通过一个矩阵列出,用户为行、访问目标为列,每一行列的交点就是该用户对访问目标的权限,下图是一个简单的访问控制矩
阵示例:
表 2:访问控制矩阵示例
Mary的文件夹 Bob的文件夹
Bruce的文件夹打印机 01
Mary完全控制写写执行
Bob读完全控制写执行
Bruce无权限写完全控制执行
Sally无权限无权限无权限无权限
如果是用户和数据的数量非常多,系统需要维护一个巨大的访问控制矩阵,在多个用户同时发起访问请求的时候,将会对系统造成资源的很大开销。因为自主式访问控制是根据访问用户的标识进行的判断的,所以,我们可以设定某些用户允许访问某个
数据,并要求系统只在该数据被访问到的时候根据用户允许列表来判读用户是否有权限,这便是访问控制列表的原理。访问控制列表可以看作是访问控制矩阵的简化版,提供了一个控制一个或一组用户对特定数据访问的更简便方法。
强制访问控制:强制访问控制是一种用在处理高敏感性数据的系统中的访问控制方法,和自主式访问控制一样,强制访问控制也属于基于策略的访问控制方法。强制访问控制的最显著特征是,要求对系统中的所有访问者(用户、程序等)和所有资源
(文件、数据和设备等)都分配一个安全标识,在访问者要求访问资源时,系统会比较访问者和资源各自的安全等级,在符合安全策略规定的前提下,访问者才能访问资源。安全等级的划分和安全度的控制在强制访问控制实现的设计文档中规定。下图
是强制访问控制实现的一个简单示例:
图 1:强制访问控制的简单示例
我们来分析一下强制访问控制的特性,它使用安全标签来确定访问者是否可以访问某个资源,因为组织的安全策略规定了安全标签是如何定义的,因此,组织的系统管理员和信息的所有者共同维护强制访问控制的部署,系统管理员部署并维护强制访问
控制措施,而信息的所有者负责对信息分配安全标签,并对能够访问该资源的用户进行授权。和自主式访问控制一样,用户要访问某个资源,必须经过该资源所有者的授权(为资源标记合适的安全标签),但强制访问控制还要求用户通过系统基于用户
标签的控制这一额外控制措施,从这点上来说,强制访问控制的安全性要比自主式访问控制好。
我们用一个简单的例子来说明强制访问控制是如何运作的:在某个组织中,安全等级从低到高分为 3 级,公开、雇员、经理。如果一个名为的文件的安全等级为雇员,组织中所有标记为雇员和经理的用户都能够访问这个文件,而组织的客人(标记为公
共)则不能访问该文件。这个文件即使是由经理级的用户提交,只要该用户将文件授权为雇员级别就能访问,只要是雇员以上级别的用户就能访问,这也体现了强制访问控制的信息所有者授权这一特性。
强制访问控制的另外一个重要用途是控制信息从其他系统输入或输出到其他系统中,由于信息的输入输出操作往往可能造成未授权的访问,例如一份标记为秘密的文档在一个不安全的打印机上输出。因此,处理高敏感性信息的信息系统往往会使用强制
访问控制,来限制信息是如何输入和输出的。
下篇预告:在下一篇文章《AccessControl(11)》中,J0ker将给大家介绍数据访问控制中的其他方法,敬请期待!
在《J0ker 的 CISSP 之路》的上一篇文章《分布式访问控制方法》,J0ker 给大家介绍了用于控制用户资源访问的几种分布式访问控制方法。在实际的应用中,我们往往还需要对数据和信息进行更为细致的访问控制,比如,企业需要允许财务部门访问
今年上半年的企业详细财务报告,但同时应该拒绝其他部门访问,之前介绍过的集中式或分布式访问控制方法就不太合适应用在这种场景中,这时候,我们就要用到下面提到的几种数据访问控制方法。
基于角色的访问控制(RoleBasedAccessControl,RBAC):
在许多大型的组织和企业中,数据访问控制策略的制定实施往往取决于要求访问的用户在企业中所担任的职务,如公司的财务人员只能访问财务数据,而不能访问人力资源文件,这种访问控制方法被称为基于角色的访问控制,简称 RBAC。同样的,基于
角色的访问控制策略也根据用户所担任的职务,规定了用户能够对数据进行的操作权限——由企业安全策略确定并授权。因此,在使用基于角色的访问控制方法之前,还需要对组织中的所有数据以及访问者进行角色属性的设置,以使得访问控制系统能
够在收到访问请求时,根据访问者和被访问数据的角色属性对比结果,进行访问允许或访问拒绝的操作。
这也是基于角色的访问控制与之前 J0ker 介绍过的自主式和强制访问控制最大的不同点,基于角色的访问控制的访问策略,并不是基于系统管理员或用户的自主设定(自主式访问控制),也不是根据组织安全策略规定由数据所有者设置的(强制访问策
略)。基于角色的访问控制需要考虑的一个问题是,如何限制用户对某种信息进行什么样的操作,从而保护信息的完整性。
管理方便是基于角色的访问控制的最大好处,当一个访问策略(也称之为角色)设定好之后,系统管理员就可以方便的将用户加入或移除某个角色,使该用户可以根据角色的权限操作数据。例如,当企业招聘新员工之后,系统管理员只需要将这些新员
工加入到对应的角色中,这些新员工就可以按照自己的权限开展工作;当员工从企业辞职之后,管理员只需要直接将该用户移出角色并禁用,即可删除该辞职员工的所有权限。
能力表(Capabilitytables):作为基于角色的访问控制方法用来控制用户权限的后台部分,能力表存储了用户可以如何操作特定数据的保护标识。能力表往往表现成授权表格的形式,它由三部分所组成:访问者、数据、访问权限,能力表的列描述了
访问者对表中所有数据的访问权限,而能力表的列则描述了访问控制和访问者按照其授权对特定数据的访问权限。下图是一个能力表的简单示例:
针对数据库的访问控制:
随着数据库技术在企业的广泛应用,数据这个概念已经不只是存储在企业系统或网络内的文件这么简单,企业数据库同样也会存储很多高价值的信息,如银行数据库内存储的用户账户信息,医疗机构数据库内存储的病人信息等。因为这些数据的存储和
组织形式和标准的文件目录形式不同,因此,传统的文件访问控制方式不能直接运用到数据库上。目前针对数据库的访问控制模式由两个部分组成:首先是连接性控制,用户在连接到数据库之前,需要进行特定的用户身份验证;其次是控制数据库中的
哪些数据可以为用户访问到,这可以通过控制用户的数据视图(View)来实现。尽管针对数据库的访问控制使用到了访问控制 CBK 中的许多基础技术,但关于数据库安全的更多话题却是在下一个 CBK——应用程序安全提到,J0ker 到时将会更详细的给
大家介绍。
基于内容的访问控制:
基于内容的访问控制,是比基于文件目录、基于数据更为高级也更为细致的访问控制方法,其控制策略取决于被访问对象的数据内容,所以,在使用基于内容的访问控制之前,需要提供以下几个关键的属性:
被访问目标的基本信息
为了提高访问控制的有效性,有时需要对被访问目标增加一个额外的标签,被访问目标的内容也需要经过复审
记录内容,并和符合现有策略的另一个目标进行比较
能够进行基于内容的访问控制的工具,如一个使用字典单词检查的程序等
基于内容的一个最常见的例子是用于互联网网站的分级制度,通过对各种类型的网站进行分类和标记,用户程序可以方便的限制或允许对某类网站的访问。如在许多企业中,不允许在上班时间访问娱乐网站,企业管理员只需要通过策略设置不允许访问
标记为“娱乐“的网站即可。目前互联网网站分级采用的是 W3C理事会发布的互联网内容选择平台(PICS)标准,所有支持 PICS标准的程序都能够根据互联网网站的 PICS设置,来对网站的访问进行控制。
强制用户界面(ConstrainedUserInterface):强制用户界面也是应用较广的一种访问控制方式。强制用户界面控制的原理是,通过用户界面和接口限制用户能够访问到的功能、信息和接口,来控制访问者对特定资源的访问能力。如我们经常看到的应
用程序中的灰色不能点击按钮,就属于强制用户界面,另外,遍布在公共查询场所的自动查询机也是强制用户界面的一个应用实例,它通过一个固定的界面,限制使用者只能访问和查询特定的内容。
下篇预告:《访问控制 12:保障手段》,J0ker将开始向大家介绍用于实施前面介绍过的访问控制方法的保障手段,敬请期待!
在 51CTO安全频道特别策划的《J0ker的 CISSP之路》系列的上两篇文章《数据访问控制方法》和《分布式访问控制方法》文章里,J0ker向大家介绍了访问控制 CBK里涉及的数据库访问控制技术和根据内容实施的访问控制技术,至此,J0ker已经访问
控制 CBK中包括到的访问控制原则、方法和技术都向大家介绍过了。在接下来几篇文章里,J0ker打算和大家聊聊和访问控制相关的实施保障、保护和管理,并在最后为大家总结一下访问控制 CBK的全部内容。
部署访问控制方案是重要的信息系统和信息资产保护手段,但对用户来说,不单应该把保护措施部署到位,监控是否有非法或合法用户破坏保护手段的限制也是同样重要的任务,所以,企业需要定期对网络和信息系统进行安全审计,以发现攻击者的痕
迹或入侵尝试。为了让大家更容易的理解 J0ker接下去要介绍的内容,我们需要先对“入侵“做一个更为准确的定义:所谓入侵,就是一系列会导致信息系统、网络和信息资产受到可用性、完整性和保密性威胁的行为。
入侵检测和入侵检测系统
为了更好地进行安全审计,企业和其他行业都广泛的采用了被统称为入侵检测系统(IntrusionDetectionSystem,IDS)的一系列软件。可能有一部分朋友可能经常听说 IDS这个名词,但不怎么了解它的工作原理——打个简单的比方,IDS 和家庭常用的
防盗报警器类似,如果有窃贼闯入了受防盗报警器保护的房间,防盗报警器就会发现窃贼并发出巨大的响声,警告房子的主人、邻居或附近的保安,房子已经被非法闯入。IDS 在网络上启用之后,会进入不干扰系统和网络运行的后台模式,并检测是否
入侵者闯入系统或授权用户在滥用系统资源,如果检测到可疑的行为,IDS将会向系统管理员发出警告信息。
IDS 是如何实现对异常行为的检测的?这还得从 IDS 所使用的入侵检测技术说起,入侵检测技术基于这样一个原则:入侵者所发起的系统和网络攻击是可以通过对多种元素的分析发现的,如网络通信流量、数据包结构和内容、CPU 的使用率、输入输出
使用和文件操作等,这些元素,或者称为系统行为,构成了系统的审计数据,现有的入侵检测技术再通过检查这些网络流量日志和其他审计数据,从而识别并隔离对系统和网络攻击行为。
系统的各种日志是 IDS 使用最多的输入数据,尽管在某些情况下,我们仍时常使用特定的关键词对系统日志进行搜索,以找到是否存在异常的系统活动。但在大多数的情况下,现代信息系统和网络产生的海量日志数据并不是我们能够以手工方式进行检
查的,我们更多的是使用 IDS按照预先定义好的行为模板,对日志进行实时的分析并发现是否正在发生入侵。
常见的入侵检测系统由三个部分组成:探测器(Sensor,有时候我们也将其称为代理,Agent)、分析器和提供给安全管理员使用的用户界面。探测器负责采集 IDS使用的数据,并转发到 IDS的分析器,IDS的分析器则根据一定的规则对采集到的数据进
行分析,并发现是否正在或已经发生入侵行为,而用户界面则用于向安全管理员显示分析器的输出结果。
按照实现原理和使用场合,目前的 IDS 可以分成两种主要的类型:基于网络的 IDS(Network-Based)和基于主机的 IDS(Host-Based),基于网络的 IDS 可以监控网络流量,而基于主机的 IDS 则对系统的内部日志进行审核以发现可疑的行为。从用户的
角度来说,最理想的状况是一个 IDS软件能够同时提供基于网络的 IDS功能和基于主机的 IDS功能,但是,俗话说术业有专攻,企业中常使用的 IDS系统仍以单纯的基于网络的 IDS或基于主机的 IDS为主。下面 J0ker将向大家逐一介绍这两种 IDS。
基于网络的 IDS(Network-BasedIDS,NIDS)
基于网络的 IDS(NIDS)能够实时的监视通信连接中的网络流量状况,它通常是一个工作在被动模式下的设备,并不会影响它所在网络的使用。NIDS 使用混杂模式直接从网络传输媒介(网线、无线、光纤等)获取所传输数据的拷贝,并在这些数据到达
其目的地之前对这些数据的内容进行分析,NIDS也能够根据协议或数据的其他特征进行分析。
企业中主要使用 NIDS 来发现拒绝服务攻击和网络流量上包含的恶意代码,当 NIDS 发现这类攻击出现后,可以根据预先设置的行为模式,警告网络的管理员,并断开正在进行攻击的网络连接。为了增强 NIDS 的能力,许多 NIDS 还和防火墙进行集成,可
能自动的定义新的规则以拦截将来可能出现的某种攻击。
NIDS 需要运行在一个独立的主机上,从而避免通常产品系统上安装的其他软件对 NIDS 的工作产生的影响,许多安全厂商也推出了网络设备形式的 IDS,用户只需要简单的将这样的 IDS 接入网络,并进行简单的配置即可投入使用。但这种形式的 NIDS 最
大的不足是它的适应性,随着企业提升网络连接速度,NIDS需要监控更多的网络流量,如果网络流量超过它所能监控的等级,将可能造成攻击行为的漏报或误报。因此,为了保证使用的有效性,企业在购买 NIDS的时候,应该考虑 NIDS能够支持企业在
未来一段时间内增加的网络带宽和流量。
NIDS 面临的另一个问题是企业网络中加密流量的增加,虽然加密技术能够保护传输数据的保密性,但 NIDS 因为无法检查加密流量中,将有可能放过本来应该拦截的未授权访问或攻击流量。另外,NIDS 的管理和数据传输应该采用和生产网络相隔离的专
用管理网络,防止因为攻击者或其他无意的原因丢失 NIDS收集到的数据和发出的安全警报。
基于主机的 IDS(Host-BasedIDS,HIDS)
和 NIDS 不同,基于主机的 IDS(HIDS)主要使用探测器来监测一台主机的安全状况,HIDS 的探测器能够监测系统的各种日志信息、关键的系统文件和其他可以审计的内容,并发现未授权的更改或可疑的行为和活动。HIDS 可以监测在受控主机上发生的
攻击,并能够提供更为有效的攻击响应,如果 HIDS的配置正确,在不正常的行为发生的时候 HIDS能够即时向管理员发送警告。
针对用户同时监控多个主机的需求,不少安全厂商也推出了支持多主机审核的 HIDS 产品,我们平时使用的许多个人版防火墙和反病毒软件里面,其实也包含了一个定制过的 HIDS,或实现了一部分的 HIDS 功能。HIDS 的主要缺陷是会占用其所在系统的
一部分系统资源,在关键系统上容易导致系统不稳定,也有可能会被入侵者在攻击时首先关闭,从而失去对所在系统的监控能力。