互联网本来是安全的,自从有了研究安全的人,就变得不安全了。
sql注入攻击自从1999年首次出现后就成为互联网安全的头号大敌,注入攻击的本质是把用户输入的数据当做代码执行,而开发人员设计用户输入的功能时,本身只是提供一个用户交互功能,根据用户的输入返回动态页面结果以便更好的用户体验,只是被恶意的人滥用了。
再比如,钓鱼网站已成为很多金融机构的首要安全威胁,在2011年以前,很多金融机构的安全人员甚至都没有考虑过这个问题。时至今日,都会觉得很无辜,企业的网站没有安全漏洞,是钓鱼网站的狡猾和用户的“傻”才会让犯罪分子有机可乘。
什么样的安全是安全的?
企业负责人和it部老总,以及安全人员都会问:什么样的安全是安全的?
这个拗口的问题转化下就是:什么样的安全是有效的。我见过一些企业做安全,部署了各种安全设备,设计了各种安全管理措施和流程,领导也很支持,雷厉风行,安全预算和安全人员也都给足,结果还是出问题,安全有效性出了问题。设备部署了,规则做好了吗?告警正常吗?设备依赖的条件,比如镜像的流量一直正常吗?了解你保护的业务吗?更重要一点,能看懂告警日志的人有吗?很多安全技术人员,其实就是安全设备运维人员,每天要监控设备正常,处理各种安全流程,写各种安全报告,填报各种管理系统要求的信息,参加各种培训教育,还有时间研究究竟怎么管理好自己的这些设备和落实安全管控措施?
以入侵检测系统管理为例,安全人员要根据后面保护的系统和网站做规则调优,要对所有安全有效性依赖的条件进行监控,对告警进行安全流程化处理,最重要一点,要做穿透性检测,比如在互联网上尝试攻击系统和业务,看入侵检测系统报不报警,不做安全穿透性检测,安全监测有效性就是个概率,靠运气活着。要将安全性当做可用性来运营,安全才是有效的。
在这个前提下,建议将安全划分成几个框架:安全防护框架、安全安全验证框架、安全反制框架、安全运营框架,安全支撑的人、制度流程都包含在安全运营框架中。四个框架的功能分工看名字就清楚了,四个构成安全体系,这样的安全才是安全的。
安全团队和安全人
企业信息安全建设需要什么样的团队和个人?我们从西游记中寻找答案。
唐僧这个西天取经五人组,先看团队成员组成:
唐僧,其领导能力有限,业务能力(降妖擒魔)更是等于一个零,但他是师傅,有个“领导位置”,可以拿“权力”制裁不听话的徒弟,使得三个“下属”不得不听,不敢不听。但他一心向佛,目标明确,任尔千般说万般阻,向西天取经的决心始终不动摇。
孙悟空,“业务能力”最强,疾恶如仇,敢说敢做,但性情脾气不好,西天取经不是他的目的,而是他的承诺,为了工作快速开展,尽快完成目标任务,委曲求全,甚至不惜与“领导”和“同事”决裂,贡献最大,在这个工作团队里却差一点无立锥之地,只因工作(擒妖降魔)离不开他,才被留在这个团队。
八戒,能胜任一般工作;好吃懒做,还有点色。溜须拍马、见风使舵、善于权谋、忍辱偷生、会沟通懂协调。但整个取天过程中他事情做的最多的,什么找住的啊、找吃的啊、探路啊、打水啊都是他的事情。这现也体现了他业务能力的全面与多样性,他虽然不如孙悟空在关键领域的能力那么突出,但他比孙悟空好用,这就是他的优势。他还有个最大的优点就是知道领导的心思。他是最能读懂唐僧想法的人,每次附和都是顺着唐僧的话音往下走。这极大的满足了唐总作为领导的优越感,所以他最受唐僧喜爱。不过唐僧毕竟是管理大师,他不是只喜欢听好话的人。他知道谁能帮助他实现目标,所以每次孙悟空闹情绪回花果山的时候都是让猪八戒去把他找回来。当然猪八戒动不动遇到师傅被妖怪抓走闹散伙的时候,又是孙悟空来稳定军心。所以这2个业务骨干起到非常好的相互牵制的作用。
沙僧,业务能力与八戒不相上下,忠厚老实,有自知之明,在团队里能够知道自己的位置,老老实实做事,不上窜下跳,不做小动作。
白龙马,背景很硬,低调,不说话,一个踏实坚定的执行者。任劳任怨、不计得失,与唐僧有着同样的信念,除非死在路上。
这师徒五人,都有明显的缺点,但是,他们组成一个团队后,却爆发出强大的战斗力,西天路上九九八十一难,妖魔鬼怪都被他们一一战胜,最终完成“西天取经”大业。
我们从中可以悟出这样的道理:一个团队的成功,不能靠单打独斗,团队中每个人都有其长处,必须发挥团队每个人的作用,才能实现团队的目标。
唐僧的团队,实际上是互补型团队。
每个人都有自己的特点,关键是领导是否有识人用人的能力。德者—唐僧领导团队,能者—孙悟空攻克难关,智者—孙悟空出谋划策,劳者—沙僧、白龙马执行有力。
猪八戒较特殊,但也具备自己的优势:善于权谋、忍辱偷生、会沟通懂协调。首先是性格互补,大智若愚、信念坚定的唐僧,敢作敢为、刚直不阿的悟空,油头滑脑、自私自利的八戒,实实在在、立场坚定的沙僧。其次优势互补,方向明确,掌控悟空的掌门唐僧,本领高强,降妖除魔的先锋悟空,懂沟通会协调的八戒,踏实肯干、任劳任怨的员工沙僧。最后技术互补,有人缘,会念咒的唐三藏,会打架,千里眼顺风耳的悟空,会算计、耍聪明的八戒,肯吃苦、有力量的沙和尚。这确实是个优势互补,能力极强的团队。
安全团队的构建亦需如此。安全团队建设目标是所有安全人员均具备攻防兼备的能力。目前存在的问题是攻击的人员不具备防护思路,防护的人员不具备攻击的能力和思维,都无法做到知己知彼。安全人员三个发展方向,安全防护、安全运营、安全开发,安全人员均需具备攻防两端技能以及掌握一门开发语言,ccie、cissp、cisa、ceh、python高级将成为安全人员上岗证。
非互联网企业头疼问题之一是安全人才的招聘和培养问题。非互联网企业cso头疼的是即使招了一个综合能力很好的人才,可由于非互联网企业的性质决定,安全团队人数很少,投入有限,如何留住人才?
适合自己就是最好的。理由参见唐僧师徒五人西天取经团队的组成。一个良性发展的团队,不可能个个都是孙悟空,也不可能个个是猪八戒,而是不同特长和特质的成员互补,用人所长,实现团队和个人的共发展。
企业信息安全发展趋势
安全度量
安全度量一词太书面,翻译一下就是如何衡量企业安全的效果。做安全的人,遇到的最大的挑战,就是讲不清楚安全的价值。安全这个东西很微妙,不像业务可以用销售额和用户数来衡量,也不像运维可以用可用性指标(比如故障数)来衡量,也不像研发可以用bug数、项目完成率、扩展性、专利等来衡量。安全往往是事件性的,很可能你什么都不做,但一年都不出问题;也可能你花了很大力气,花了很多钱,却还是问题频出。所以我们很难用单一的事件性指标来衡量数据安全做的好还是不好,到最后就变成了拼运气。
企业做安全,最终还是要对结果负责,对于安全效果,有两个指标是最关键的核心指标,一个是漏洞数,一个是安全事件数。
历史问题免疫
运维管理目前事实上的标准是iso20000服务管理体系,这套体系也叫itil运维流程管理,itil众多流程中有个核心流程:问题管理。问题管理有个有意思的做法,通过问题管理的思维模式,对企业所有曾经出现过的历史故障进行举一反三的持续改进,从而实现对历史故障免疫。既然安全性要当做可用性来运维,那么安全管理也应该能做到对历史问题免疫,而这也应该会成为安全未来趋势之一。
安全成为属性
越来越多的企业重视信息安全,这种重视可能是主动的,但仍然被动居多,不管怎样,今天的安全人员面对的安全环境越来越恶化,但得到的资源和支持却比任何时候都多,这一点体现在:安全将成为各类系统甚至人才的关键属性之一。
举个例子,十年前,很少看到有系统需求阶段就会有安全需求,测试阶段有安全测试,开发人员需要接受专业的安全编码开发规范培训。十年后,这些都很常见自然了,甚至是标配(default默认)。对安全知识和技能的掌握也从单纯安全人员必备变成了开发人员的必备技能,实际上,安全意识和安全开发能力较强的开发人员薪酬水平和发展空间已高于技能单一的程序员。程序员在用代码改变世界的同时,也有义务更好的保护世界。安全将成为越来越多的需求品,将是安全发展趋势之一。
安全人才缺口增大
安全人才缺口越来越大,各位cso们都深有体会吧。甚至越来越多的企业甲方要求乙方建立自己的专业安全队伍。从市场经济的角度,需求增大,必将导致更多的优秀人才投身安全行业,这对原有安全人也必将是个挑战,安全行业是典型的活到老,学到老。逆水行舟,不进则退,各位安全人也感同身受吧。
在信息获取越来越便利的今天,安全知识和技能通过短期大剂量培训能够得到快速提升,很多专业的培训机构已经能流水线的培养出战术素养不错的白帽子,但安全意识和思维模式,权变和平衡的能力,则需要在解决各种实际问题中不断碰撞,归纳总结提升。
人生最美好的莫过于各种经历和难忘的体验,过程比较痛苦的,结果都还比较好。如果大家和我一样,在企业做安全中遇到各种颇为“痛苦”的体历,过后你一定会感谢和怀念这份体历的。