0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

成为安全测试工程师需要具备什么专业素养

工程师人生 来源:工程师吴畏 2019-02-21 14:58 次阅读

今天,很多软件并没有经过专门的安全测试便运行在互联网上,它们携带着各类安全漏洞直接暴露在公众面前,其中一些漏洞甚至直指软件所承载的核心敏感信息或业务逻辑。这些漏洞一旦被不怀好意者利用,很可能会给企业造成经济损失,带来负面声誉影响的同时,还可能被起诉遭到罚款等等,细思极恐。其中的一部分原因是企业本身安全意识不强,但是很多时候虽然软件企业已经开始意识到这些问题,却苦于缺少专业的安全测试人员,他们不得不冒着极大的风险先上线赌一把运气再说。

看到这里你可能会说:正是由于这样的情况,所以我们才要去做安全测试啊!

我在这里先不评价这个想法对或不对。要想知道为什么,请继续往下看。

我先来介绍一下神秘的安全测试:安全测试在软件测试里面是一个很特别的科目(“工种”),每次一碰到这个科目,很多人都觉得这个科目应该全权交给神秘的安全测试人员来管。这一个观念导致很多测试人员徘徊在安全测试的门口却迟迟不进去。

安全测试是非常复杂的,相信大家都没有异议。一个专业的安全测试专家在某种程度上来说是一个全栈工程师。所以,想要在安全测试上一夜成才很难。虽然,作为测试人员的我们却有得天独厚的优势,使我们能够在安全测试上快速起步,帮助团队尽快展开预防并检测安全漏洞的工作。

作为一个安全测试人员,你需要具备什么专业素养呢?

要使用别具一格的视角来审视需要测试的软件

这种能力说难不难,说简单却绝不简单。举个栗子:假设你正在测试一个web应用用户登录界面,你输入错误的用户名时提示“该用户名不存在”,你输入正确的用户名但是错误的密码时提示“密码输入错误”。这时你没有任何想法,一掠而过。但是作为一个安全测试员他会说:敏感信息暴露了,提示信息需要修改!为什么?!!因为通过我们的提示信息,恶意用户可以推测出哪些用户名已经存在于系统中,然后利用这些用户名再进行密码的暴力破解!

要改变测试中模拟的对象

软件测试人员通常会模拟普通用户的操作来测试软件,而安全测试员则需要模拟hacker来测试软件。这里说一些题外话,零几年软件测试岗位就开始出现了,大家有没有想过那批最早从事软件测试的人都去哪儿,干什么去了呢?

那时候软件测试还没有这么专业,测试人员大多什么都需要会一点儿,做这一行的都是真心喜欢测试的,钻研技术的人也比较多。由于经常找BUG,对软件的漏洞测试人员也一清二楚,早期的软件测试人员有的做了“黑帽子”,有的做了“白帽子”。而安全测试员就是由白客发展而来的。

使用专用的测试工具

在具体做安全测试的时候我们会发现并不是那么容易去模拟恶意用户的行为。毕竟系统的前端会给我们很多的屏障。而且恶意用户可不总都是从系统前门进去的。这时候,使用一些工具,比如OWASP Zap、Burp suite等是非常有帮助的。我们可以在系统界面上执行功能测试的用例,用这些工具来获取http请求,篡改后发送给后台服务器。有了这些实用又比较容易上手的工具,就可以执行很多恶意用户的操作场景了。

一般来说,具备以上三点你就可以开始进行初步安全测试了。

现在我们可以回到文章开始的地方。文章开头的那个想法在读完上面的内容之后你会发现,它是对又不对的,很矛盾。确实由于很多公司不注重安全或者由于成本原因舍弃了安全保障,往后会需要更多安全测试员去进行安全测试。但是一个没有安全测试思考力的安全测试员他真的能胜任这份工作吗?

然而现实是:

一个安全测试工程师曾告诉我:他们公司安全测试岗位和其他岗位的比例为1:500。为什么?因为大公司的程序都是由很牛逼的开发做出来的,本身就已经有一定的防御能力,漏洞也不多,安全测试员的工作就是找出可能存在安全隐患的地方然后再由开发补上。一定程度上来说软件已经算是固如金汤了,一个hacker真想找出漏洞,花费的时间和精力绝对是要翻倍的。你觉得一个公司需要这么多安全测试工程师吗?

现在的情况是大公司才需要安全测试保障程序安全。小公司的想法是只要实现了用户需求就万事大吉了,何必花费大成本去保障安全呢?

作为恶意用户,即hacker,他会花时间去“黑”一个小公司?不会,因为那对于他来说根本没挑战,也没意义。

说到这里,我终于可以说一句:不推荐大家去做安全测试。这是建立在上文的分析之后的出的结论。很多人可能觉得安全测试工程师很高大上,薪资也非常可观。但是你也要看清行业的现实状况,不要一头雾水就扎进安全测试的圈子,到头来芝麻和西瓜都丢了,不值得。

最后也要声明一下,我绝不是反对大家做安全测试。如果你对安全测试很感兴趣,也有安全测试工程师需要有的独特的思考视角,能够沉下心来认真学习。那我非常推荐你去做安全测试,因为那才是适合你的工作!那才能证明你的价值!那才Cool!

那么,你还会选择去做安全测试工程师吗?

所以说,你还会向安全测试工程师靠拢吗?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试工程师
    +关注

    关注

    6

    文章

    124

    浏览量

    12446
收藏 人收藏

    评论

    相关推荐

    嵌入式工程师常用的开发工具有哪些?

    项目管理和调试。IAR Embedded Workbench 也是广受欢迎的 IDE,具有出色的优化能力和调试工具,能够帮助工程师快速开发出高质量的嵌入式软件。 二、编译器 编译器将高级语言
    发表于 12-20 15:29

    CAN总线测试工具选择与使用

    在现代汽车和工业控制系统中,CAN总线因其高可靠性和灵活性而成为首选的通信协议。为了确保CAN网络的性能和可靠性,工程师需要使用专业测试工
    的头像 发表于 11-12 10:16 686次阅读

    电力电子工程师拿到50W以上的年薪需要具备哪些技能

    高薪电力电子工程师需要具备的技能
    的头像 发表于 11-05 09:44 319次阅读
    电力电子<b class='flag-5'>工程师</b>拿到50W以上的年薪<b class='flag-5'>需要</b><b class='flag-5'>具备</b>哪些技能

    Keysight助力提升工程师测试测量知识水平

    Keysight为您解锁测试测量领域的最新知识,助力工程师在快速变化的科技环境中保持竞争力。
    的头像 发表于 10-16 09:28 431次阅读

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,还需要与软件工程师、硬件工程师紧密合作,对整个系统进行集成和测试。 总的来说,FPGA 算法工程师着重于算法优化,FPGA 逻辑
    发表于 09-23 18:26

    需要无刷电控硬件工程师

    需要无刷电控硬件工程师,地点东莞松山湖。最好有5-10年经验,大功率电摩电控。有意私聊。
    发表于 09-11 22:51

    寻求专业工程师帮助设计USB多口充电器

    嗨, 我正在开发一款USB多口充电器,现寻求一位专业工程师或产品设计的帮助。希望能够与有经验的工程师合作,共同完成产品设计。以下是我们的需求: 产品类型:USB多口充电器 基本设计要
    发表于 08-05 12:03

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    嵌入式软件工程师如何提升自己?

    的基础 嵌入式软件工程师需要具备扎实的计算机科学和工程知识。因此,在职业生涯的起步阶段,建议将重点放在学习基础知识上,包括数据结构、算法、操作系统、编程语言等。通过深入学习这些基础知识
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    。他们之间的紧密合作对于成功开发出高效的嵌入式系统至关重要。 嵌入式软件工程师和嵌入式硬件工程师在工作中有着不同的技能要求和专业知识。嵌入式软件工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    优秀电源工程师需要哪些必备技能?

    就带大家细数一下优秀电源工程师具备的那些技能。一、新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握电源开发相关的关
    发表于 01-29 11:29

    为什么要做自动化测试测试工程师存在的必然性

    软件测试这个过程的实施主体就是测试工程师。那么多少个测试工程师比较合适呢,或者换句话说如上的事情必须要测试工程师完成吗?
    的头像 发表于 01-16 11:32 940次阅读