老网安的面经-自我介绍篇
2023-11-26 23:30:55 Author: 渗透安全团队(查看原文) 阅读量:7 收藏

基本上所有的面试上来都会要求有一段自我介绍。

这个是每个面试官必问的。可能一方面是面试官想看看你的表达能力,思维能力,总结能力等等。因为作为一个老网安而言,从业经验很丰富,能说东西很多,但在自我介绍环节,不易过多的阐述。就我个人而言,我会从两个维度来给面试官介绍。一、过往的工作履历;二、当前自己擅长的事情,这个阶段一般我会花15分钟左右时间。

你好,面试官。我从工作经验目前自己擅长的技能和知识两个方面来介绍自己。首先,我从16年正式从事网安工作,但在正式从事网安工作之前也有一些不正式的网安经验。我从2008年接触到渗透这个圈子,在国内封杀各个黑客技术论坛之前,我从中学习到很多知识,这为我在后面大学里继续学习信息安全打下了技术底子。在16年正式工作之前,我也兼职做过一些渗透方面项目。2016年,我进入北京xx安全公司实验室,主要做2件事情,一是给客户做渗透测试,二是做一些PHP产品的代码审计。2018年,由于北京离家太远,所以我从北京xx安全公司离职,回到了浙江。

在杭州开始了第二段工作,进入了浙江xx安全公司,主要的工作是渗透测试云安全风险管理平台研发,基本上每个月平均会有2、3个渗透的项目,没有渗透项目的时间基本在公司码代码(云安全风险管理平台)。当然也给客户做过一些应急处置方面的活,大部分是挖矿事件。

第二段工作满两年后,因为跳槽涨薪的机会,以及当时认为去甲方能学到更多,所以离职去了xxx互联网企业,担任应用安全工程师。第三段工作经验学到很多,一开始只是一个会挖洞会写点python的安全小子。但仅仅这样并不能满足企业的安全需求,因为开发模式在变化,从瀑布模型到敏捷开发到devops,我意识到只用人工挖洞这种安全检测方式已经跟不上devops的软件迭代速度了。所以我开始学习业内当时国内开始推崇的微软SDL安全开发流程,以及在公司里进行实践

在开始落地SDL流程之前,其实有很多前置的动作,并不是你想到怎么搞就怎么搞。最主要的是需要有一个漂亮的PPT来说服老板,列出软件脆弱性问题在不同阶段修复的成本对比。一个业务系统,在需求阶段就把安全需求考虑进去,那就不存在修复成本,而在需求阶段没考虑进去,等整体的软件架构完成才发现脆弱性,有一些脆弱性的处理方案需要对软件架构改动比较大,成本自然就高了。

在SDL实践中,比较重要的一环是在devops中插入sec,构建了devsecops自动化检测能力。当时我们sast用了semgrepdast用了xray+awvssca用了owasp dependencycheck。然后开始灰度的、增量的让业务线逐步接入使用。devsecops能代替人工进行脆弱性检测,但误报率和脏数据的问题也很头疼。我当时只能慢慢的优化semgrep的规则,以及不做强制卡点,通过人工对自动化检测结果的判断进行打标,误报的话下一次就不会再做检测。关于这一块我先介绍到这里。有什么问题可以在自我介绍完之后您再做提问。

当然,devsecops只是SDL流程中的一环。先让老板看到我们这个东西跑起来,并能发现一些安全问题。这样,下一步的SDL工作才能更好得到老板的支持。如果没有devsecops这个东西,我说要搞需求阶段的安全评估,或者给一份安全需求checklist或者软件安全设计checklist给产品和架构师,让他们对照着list做check,他们心里可能是抗拒的,在甲方业务优先级永远是大于安全优先级的。

然后逐步完善了SDL流程,编写了一些指南、使用文档、标准和规范。但要让所有产品经理、开发人员专门学习这些东西,他们其实是比较抗拒的,特别是我们当时的需求变更频繁,产品和研发都很忙。所以后来就有了每季度的研发团队安全开发培训,以及在研发平台增加一些功能,比如对需求进行重要等级打标重要需求以及新建项目会通知到我的飞书上,这样节省了我从大量需求中过滤出需要做安全评估的需求。

最后我会排期对上线的业务做安全验收。由于并行业务很多,安全测试就2人,所以当时没有做强制验收卡点允许业务先上线后安全验收

第三段工作经历主动做的事情就是应用安全方向,从一开始的人工挖洞,到后面的SDL落地,不过也有一些被动性的安全工作,比如来自信通院的数据安全监管要求,APP被下架的隐私合规需求,三级等保的使用https协议的要求等等。所以我很感谢第三份工作,从一个只会挖漏洞的小子,成长为一个有数据安全经验、SDL落地经验的网安人。

在这家公司待了大概1年8个月左右,当时这家公司正在阶段性的裁员,基本上每个月一波。。这是我当时离开的主要的原因。虽然当时裁了好几波都没有裁到我,但其实心里还是蛮慌的,所以就提前出来另找工作机会了,等真正裁到我的时候再找或许会经历一个漫长的Gap期。当时公司里大家都挺慌的吧,CTO下面的“四大金刚”(大数据TL、业务线TL、中间件TL、测试TL)走了仨。后面也是机缘巧合,遇到了xx500强企业的机会。

第四段工作做的事情和前面差不多,但我们是xx500强集团下的全资孵化企业,搞的业务也是比较前沿的探索性的,比如区块链、隐私计算这2块的投入很大,几个业务板块能保持不亏损的就一个xx业务,所以最后砍掉了3块业务,安全需求也显得不再那么重要,然后拿到了人生中第一个N+1。

第四段和第三段稍微有一些不同,比如xx500强集团应用安全这块,采购了商业化的sast、sca、iast、cast,所以我不需要像第三段工作中那样,自己去调研产品,去部署和二次开发。devsecops这块我只要复用集团的能力,推动业务方接入即可。而且第四段工作中,我们业务上线之前是做强制卡点的,没有通过安全测试需要推进脆弱性修复、复测,没有问题了会颁发一个xx系统安全测试验收证明才能上线。其它横向的事情也会涉及,比如UEBA规则优化、SOC运营(接入各方安全数据,比如devsecops检测 结果、DLP异常事件、HIDS异常风险等等)、三级等保认证、IOS27001和27701认证。

上面是我的工作经验,那下面说一说我擅长的知识或者技能吧。

一、熟悉软件安全的设计,能结合业务需求合理的设计出相对安全的软件系统。

二、擅长Python开发,之前公司里的DAST这块是我独立设计和研发的。

三、代码审计:危险函数导致的漏洞主要用CODEQL检测,设计问题或者逻辑问题通过阅读代码进行审计。目前阅读go、python、java的业务代码没啥压力

四、安全测试/业务系统渗透测试:这个其实和“一”是关联性很大的,正是因为参与软件的安全设计,所以比较清楚软件哪些点可能存在脆弱性。还有一些是现代化微服务架构特有的脆弱性,比如业务只写业务,身份认证和访问控制由网关来做,那系统可能就存在比较多的权限问题。比如业务系统的访问量很大,为了降低服务器计算开销采取缓存方案,那就可能出现web缓存投毒漏洞等等;再比如C/S应用做了SSL Pinning,证书单向校验和双向校验通过Frida来bypass绕过校验进行抓包。

上面基本是我工作经验和目前主要擅长的技能点,由于时间关系,大部分细节性的东西没有展开讲。

下一篇:老网安的面经-问答篇(围绕着简历/自我介绍/擅长技能面试官会提出各式各样的问题)

比如:

数据安全你们是怎么做分类分级的,实现的技术是什么?AOP脱敏吗?那和我们聊一聊AOP吧

你之前在xx公司用的semgrep做sast,那它是基于正则的,误报率很高,你们有调研过其他产品吗?你说你们用过sonarqube和codeql?那我们聊一聊codeql吧

我看你之前做软件安全方案设计比较多,你能给我举几个例子吗,比如登录、注册这块你是怎么设计的,做了哪些安全控制,怎么实现的?

我看你在甲方做的事情还蛮多的,能说一两个你觉得有挑战性的事吗?或者你有遇到过什么阻力,你怎么去克服的?


文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247512313&idx=2&sn=24a9d1cc90cf521084729cfef153306a&chksm=c1764d56f601c440dbe22556fc73b9d7e7749bfc87f1cb9236874fdc6a6bdb4ca2e871ebf611&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh