商务合作: on9gcn@163.com skype: sam793561805

我的泪水你不懂:企业安全工作落地的一些经验

admin 2017-4-6 10:541 人围观, 发现评论数0个 来自: freebuf

简介 :前段时间爆发的struct2和fastjson的高危漏洞的exp都在最短时间内到处传播,之后的一周内,群里的战友们又接二连三遇到了开发人员回退,导致的机房机器被struct2漏洞利用的事件,更别说不少战友的研发部门的同事根本 ...

前段时间爆发的struct2和fastjson的高危漏洞的exp都在最短时间内到处传播,之后的一周内,群里的战友们又接二连三遇到了开发人员回退,导致的机房机器被struct2漏洞利用的事件,更别说不少战友的研发部门的同事根本不愿意升级struct2的扎心事儿,所以仅以此文和大家沟通我自己总结的安全落地的一些经验。

有一句老生常谈的话就是,任何安全问题的本质都是人,如果人没有安全意识,不管是多么优秀的安全制度,也会在懈怠之中变得形同虚设,整套系统也会随之千疮百孔,漏洞百出,所以我推进工作的重点就是针对人的推进。

找对对接人

与你对接的只有各个研发team的leader,只有leader能控制手下的组员推进工作,千万不要看到代码是谁写的就直接找对应的研发工程师,leader指挥自己的teamer修改自己的代码保证安全,这是天经地义的事情teamer会觉得理所当然应该修改,如果你绕开对应的研发的leader,leader往往会干涉你的沟通,导致沟通工作大打折扣。

所以我教给大家一个技巧,大家发现如果一些xss类的漏洞,大家可以说你发现了前端bug,而不是说是发现了漏洞,然后构造一个随便跳出一堆数字的或者无逻辑的字符串的链接,提交为bug,并说明这是影响用户体验的,那么对于修改甚至增强代码规范都有益处。之所以要这么做是因为我到公司后发现,我做的技术分享参加的人越来越少,甚至我花钱购买的资料,大家也都是一笑置之,所以千万不要做表面功夫,给大领导看:”你看我做了技术分享了,我演示漏洞了,所以我需要您帮我推进工作”。那没有用处,因为,真正落地工作很多时候依靠的是细节,大领导不可能面面俱到,他只能表示同意和支持,具体落实的时候大领导对于细节工作的推进十分有限,他一旦不了解一些技术细节,而开发同事对大领导提出异议,大领导如果反驳不了,这个事情就黄了一半了,就算你事后怎么解释开发人员都会拒绝修改工程,更何况大领导有时候都不支持,所以千万别在大领导这边秀技术那都是浪费时间,必须首先在具体的工作人员这边做工作,不仅仅是技术工作,还包括人际关系工作。

我知道不少战友的工作情况和我一样:在公司的权限是很低的,越是低权限,你的优先级就会越大大低于业务同事的需求,这个时候你会作何选择?是继续强力推进工作?还是选择让步?

一开始,我选择的是让步,因为公司大老板是业务出身。所以在很多同事的眼里我们公司对于业务的需求大大超过了安全需求,有好几次我发现了高危漏洞后,公司同事对此不加以重视,也不配合我的工作推进,前几次我退让以后,我发现了一个问题,没有人会记得你提出过这件事情,就算你写在了研发交流系统上,这些漏洞多半一个半月后依然存在于正式服上面,所以如果公司制度建设和工作落地有问题的情况下,千万不要消极工作,一方面要积极的推进制度建设,一方面也要和leader沟通工作,几次催促下无法落地,就开一个技术分享会将发现的漏洞串联起来,引发一次一连串的攻击操作,如果还是不修改,就果断的在正式服上面干扰正常页面显示,直到逼研发人员修改,在此过程中要学会保护自己,必须先写书面资料,邮件或者开发交流留档,有了日期,就可以作为反驳的证据,防止直接在正式服上面操作后引发的不必要问题,之后就要盯死leader修改,千千万万不要绕过leader直接找具体的研发工程师,否则会功亏一篑。

沟通技巧

第一点中我提到了做leader工作的方法,leader的性格迥异,必须是适应不同的性格拿出不同的办法来做做沟通工作,就拿我们公司的几位leader举例我的思考思路:前端工程师的leader年轻又是个女性,性格很直,对于我的工作几乎不理解,尤其是对于代码返工简直是抱怨连连,所以很难打交道,她对我提交的xss问题一开始并不配合,这个时候你不能气馁,要多找机会聊天开玩笑,关注她的细微习惯,直到我发现她喜欢夸她漂亮年轻又喜欢吃水果。

所以,我会时不时买点水果,路过她身边的时候,要嘴巴甜一点,多说几句你又年轻了,你今天发型真不错的好话,这样慢慢拉近关系,才能保证打好沟通关系的基础,在做一些大动作的时候,我只要买零食再脸皮厚一点撒个娇,就能保证安全工作能正常推进。对于oa系统的研发工程师,是个讲义气的有大格局的山东汉子,我的思路就是主动帮助排解他的负面情绪和他讲道理,之后如果他帮你修改漏洞还多讲一点大恩不言谢之类的话,有几次工作弄到很晚我也是主动感谢他的辛劳,用人情来推进工作。网上商城的研发leader年轻有干劲,但是有时候,我并不直接找他推进工作,我偷偷去负责网上商城运营区域去偷听他们最近的一些业务动作,然后把运营的意思中与安全相关的需求转化一下语句,再和网上商城的研发的leader去表达,这样就做到让他感觉到现在做的事情又能推进业务需求,又能满足安全需求。对于app的leader他由于最近生了孩子,所以他的心态肯定越来越力求稳定,这个时候最好的办法就是强力推进制度建设,这里推荐一下app安全扫描这个技巧,尤其是阿里的扫描报告,阿里的牌子大名气响,你把阿里的安全报告发到大领导眼前,然后对他游说竞争对手的app漏洞数量很多,如果我们能做到0漏洞,就能在业务推进当中打击对手等等要点,这样就能保证大领导支持你的制度设计。记住一句老话办法永远比问题多,这句话是绝对适用于人的。

工作推进的原则

工作推进的原则,看完以上两点后千万要知道,这些技巧和思路的起源就是,你是在帮助研发工程师完成工作,而不是他们完成你布置的任务,因为他们本身就有工作量,如果你带着你要完成什么什么的心态和他沟通工作细节,你是肯定无法落地工作的,因为你的工作优先级绝对是最低的,尤其是你的需求增加了他的工作量却没有任何实质的变化。但是你如果带着你和他带着共同的目标和任务,站在他的立场上思考并组织语言去沟通,对方工程师就会觉得你和他是一路人是为了共同的目标和目的完成工作,这样他会相对主动地完成工作内容。这个沟通的核心就是要让他觉得你和他是为了共同的目标,或者是你在帮助他完成他的目标,这样才能保证工作的落地。

如果体会不了就从这几个细节做起:你要记住每个人的口癖比如说甲喜欢说可以可以,你就要学会在同样情况下说同样的话,乙喜欢说棒棒哒,你也要学会在同样的语境下说棒棒哒,总之模仿他人的常用语。

对方在装修,你就要去看一些装修的资料然后和他聊天,这样和他在聊天的工作中表现出,装修的项目经理是个贼头贼脑只会偷换装修原料的小偷,正所谓有共同的敌人就是朋友,而朋友自然就是万事好商量喽。还有在表达自己的工作目的的时候,尽量去找他主要的工作需求,尤其是运营或者前端业务的需求,去找这些需求和安全的共同点,然后包装成保证业务的推进或者是打击竞争对手的目的去推进工作,这样让他觉得他是在完成优先级很高的业务需要,而不是优先级最后的安全需求。

第四:学会在工作的时候穿针引线,我在公司大家都不愿意把新项目的进度告诉我,我只能跑来跑去站在大家的后面看大家的工作进度,揣摩大家最新的研发思路和工作内容,时间长了我发现这样有一个巨大的好处,我可以找到机会和他们聊天和接触,保证人际关系的稳固的同时还能知道最近的研发进度。因为我在工作中发现过于工作性质的邮件效率极低,推诿扯皮,交换的信息不仅仅质量低,很多时候只不过是一个用来证明自己试图推进工作的书面证明,对实际的工作落地毫无作用,就像是上文说的在提出安全问题的时候先发一封证明自己发现了这个问题,潜台词就是改不改是研发的事情我反正没责任了,这种行为在不少人的眼里其实会被认为是推诿责任的开始。所以和研发人员混熟以后,就可以说:”邮件我就不发喽,免的还要抄送给领导看,我们私下里改改就算解决了嘛。”对方就能完全赞同并且觉得你给他面子。这对执行力强但不喜欢发邮件讨论工作的同事极为有效,很多研发每天要看一大堆需求邮件,对于邮件十分反感,能做到在私下里解决对他来说是既简单又有面子的事情。

分享:人肉安全测试技巧一则

还要分享一个自己折腾出来的技巧一则,我们公司是完全采用人肉测试的,自动化测试完全没有,所以利用这一点我在职场网络搭建了burpsuit作为生成安全检测文档的生成器。

第一步:

14%J653~H$9B987MGBRC9@4.png 

proxy菜单栏中选择All interfaces 保证局域网都能使用这个端口

第二步:

72C(KNA(J~JL[5K6@59AL0C.png 

在站点菜单栏中右键点击要测试的域名 我这里演示遨游主站

@OJ6VFHW$N9~Y0IO10SX_97.png 

将要测试域名放到队列里

[W`~BMKDAJ9`)(5JCJ94N5N.png  

同时开启被动扫描

KLJ~$`(04)0}_RQNJ0W7RJX.png  

在扫描页面里开启扫描队列中的目标选项

P2JMMPVIW64P{4U`6M$A4C5.png  

之后测试人员做任何测试通过你内网的8080端口就能启动安全扫描,并且都是带有登录权限的扫描,可以比主动扫描更为深入,一些研发不肯告诉我的新功能也能在测试的过程中得到很好的测试

9WCK`$VIM~ND9Q@%TLM(FAT.png  

别忘了关闭拦截器哦

接下面来讲讲怎么生成报表

%XQRH20FPQW`[H0M~)Z9UBL.png  

如图所示右键点击域名并选择报告,然后一路next

 0I5J(U)D3]0Z{{C7E19@H1U.png 

最后一步,需要你提供生成报表文件的路径

可以参考我提交给大领导的文档设定安全等级

@5X[~JM@M[@C]PNI3OV{U(E.png 

 

如果有任何建议或者批评请留言谢谢

*本文作者:猫猫

收藏 邀请
返回顶部