今天,很多軟件并沒有經(jīng)過專門的安全測試便運行在互聯(lián)網(wǎng)上,它們攜帶著各類安全漏洞直接暴露在公眾面前,其中一些漏洞甚至直指軟件所承載的核心敏感信息或業(yè)務(wù)邏輯。這些漏洞一旦被不懷好意者利用,很可能會給企業(yè)造成經(jīng)濟損失,帶來負面聲譽影響的同時,還可能被起訴遭到罰款等等,細思極恐。其中的一部分原因是企業(yè)本身安全意識不強,但是很多時候雖然軟件企業(yè)已經(jīng)開始意識到這些問題,卻苦于缺少專業(yè)的安全測試人員,他們不得不冒著極大的風(fēng)險先上線賭一把運氣再說。
看到這里你可能會說:正是由于這樣的情況,所以我們才要去做安全測試啊!
我在這里先不評價這個想法對或不對。要想知道為什么,請繼續(xù)往下看。
我先來介紹一下神秘的安全測試:安全測試在軟件測試里面是一個很特別的科目(“工種”),每次一碰到這個科目,很多人都覺得這個科目應(yīng)該全權(quán)交給神秘的安全測試人員來管。這一個觀念導(dǎo)致很多測試人員徘徊在安全測試的門口卻遲遲不進去。
安全測試是非常復(fù)雜的,相信大家都沒有異議。一個專業(yè)的安全測試專家在某種程度上來說是一個全棧工程師。所以,想要在安全測試上一夜成才很難。雖然,作為測試人員的我們卻有得天獨厚的優(yōu)勢,使我們能夠在安全測試上快速起步,幫助團隊盡快展開預(yù)防并檢測安全漏洞的工作。
作為一個安全測試人員,你需要具備什么專業(yè)素養(yǎng)呢?
要使用別具一格的視角來審視需要測試的軟件
這種能力說難不難,說簡單卻絕不簡單。舉個栗子:假設(shè)你正在測試一個web應(yīng)用用戶登錄界面,你輸入錯誤的用戶名時提示“該用戶名不存在”,你輸入正確的用戶名但是錯誤的密碼時提示“密碼輸入錯誤”。這時你沒有任何想法,一掠而過。但是作為一個安全測試員他會說:敏感信息暴露了,提示信息需要修改!為什么?!!因為通過我們的提示信息,惡意用戶可以推測出哪些用戶名已經(jīng)存在于系統(tǒng)中,然后利用這些用戶名再進行密碼的暴力破解!
要改變測試中模擬的對象
軟件測試人員通常會模擬普通用戶的操作來測試軟件,而安全測試員則需要模擬hacker來測試軟件。這里說一些題外話,零幾年軟件測試崗位就開始出現(xiàn)了,大家有沒有想過那批最早從事軟件測試的人都去哪兒,干什么去了呢?
那時候軟件測試還沒有這么專業(yè),測試人員大多什么都需要會一點兒,做這一行的都是真心喜歡測試的,鉆研技術(shù)的人也比較多。由于經(jīng)常找BUG,對軟件的漏洞測試人員也一清二楚,早期的軟件測試人員有的做了“黑帽子”,有的做了“白帽子”。而安全測試員就是由白客發(fā)展而來的。
使用專用的測試工具
在具體做安全測試的時候我們會發(fā)現(xiàn)并不是那么容易去模擬惡意用戶的行為。畢竟系統(tǒng)的前端會給我們很多的屏障。而且惡意用戶可不總都是從系統(tǒng)前門進去的。這時候,使用一些工具,比如OWASP Zap、Burp suite等是非常有幫助的。我們可以在系統(tǒng)界面上執(zhí)行功能測試的用例,用這些工具來獲取http請求,篡改后發(fā)送給后臺服務(wù)器。有了這些實用又比較容易上手的工具,就可以執(zhí)行很多惡意用戶的操作場景了。
一般來說,具備以上三點你就可以開始進行初步安全測試了。
現(xiàn)在我們可以回到文章開始的地方。文章開頭的那個想法在讀完上面的內(nèi)容之后你會發(fā)現(xiàn),它是對又不對的,很矛盾。確實由于很多公司不注重安全或者由于成本原因舍棄了安全保障,往后會需要更多安全測試員去進行安全測試。但是一個沒有安全測試思考力的安全測試員他真的能勝任這份工作嗎?
然而現(xiàn)實是:
一個安全測試工程師曾告訴我:他們公司安全測試崗位和其他崗位的比例為1:500。為什么?因為大公司的程序都是由很牛逼的開發(fā)做出來的,本身就已經(jīng)有一定的防御能力,漏洞也不多,安全測試員的工作就是找出可能存在安全隱患的地方然后再由開發(fā)補上。一定程度上來說軟件已經(jīng)算是固如金湯了,一個hacker真想找出漏洞,花費的時間和精力絕對是要翻倍的。你覺得一個公司需要這么多安全測試工程師嗎?
現(xiàn)在的情況是大公司才需要安全測試保障程序安全。小公司的想法是只要實現(xiàn)了用戶需求就萬事大吉了,何必花費大成本去保障安全呢?
作為惡意用戶,即hacker,他會花時間去“黑”一個小公司?不會,因為那對于他來說根本沒挑戰(zhàn),也沒意義。
說到這里,我終于可以說一句:不推薦大家去做安全測試。這是建立在上文的分析之后的出的結(jié)論。很多人可能覺得安全測試工程師很高大上,薪資也非常可觀。但是你也要看清行業(yè)的現(xiàn)實狀況,不要一頭霧水就扎進安全測試的圈子,到頭來芝麻和西瓜都丟了,不值得。
最后也要聲明一下,我絕不是反對大家做安全測試。如果你對安全測試很感興趣,也有安全測試工程師需要有的獨特的思考視角,能夠沉下心來認真學(xué)習(xí)。那我非常推薦你去做安全測試,因為那才是適合你的工作!那才能證明你的價值!那才Cool!
那么,你還會選擇去做安全測試工程師嗎?
所以說,你還會向安全測試工程師靠攏嗎?
-
測試工程師
+關(guān)注
關(guān)注
6文章
128瀏覽量
13084
發(fā)布評論請先 登錄
算法工程師需要具備哪些技能?
芯片CP測試與FT測試的區(qū)別,半導(dǎo)體測試工程師必須知道
什么是BSP工程師
想成為硬件工程師?我教你啊!你得先學(xué)會這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
嵌入式軟件測試與專業(yè)測試工具的必要性深度解析
“沒什么可測”時,測試工程師可以做什么?
作為一名PCB質(zhì)檢工程師,我為什么在用手持式面銅測試儀?
硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
物聯(lián)網(wǎng)工程師為什么要學(xué)Linux?
一個優(yōu)秀的射頻測試工程師需要具備哪些技能?
如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
如何成為一名嵌入式軟件工程師?
成為安全測試工程師需要具備什么專業(yè)素養(yǎng)
評論