1. 程式人生 > >扯皮-----之安全攻城獅與開發攻城獅

扯皮-----之安全攻城獅與開發攻城獅

一、安全細分領域

搞安全起薪沒程式設計師高,相對薪資滿意的話,對能力要求比較高。

真心喜歡的話,可以找個自己感興趣的領域深耕。安全分好多細分領域的。常見的有 web 安全移動安全網路安全反病毒滲透測試。它們的側重點都不一樣.

web 安全研究的是 SQL 注入,跨站指令碼攻擊這些。樓主可以看下 OWASP TOP10,這個上面寫了 web 安全排行前十的威脅。要做好需要一些程式碼功底,要能看懂 web 程式碼,有個崗位叫程式碼審計,就是專門挖漏洞的,不能挖漏洞的都叫指令碼小子(具體含義可以百度)。這個領域的人最多,目前也最火。

移動安全主要是研究的目前市場上移動端的兩個主流平臺,安卓和 IOS,要做好需要懂一些逆向,要能反編譯 APP,從中找到後門,或者是鑑定一個 APP 是不是木馬程式。這塊不多說,我也不太懂。。

網路安全

的話,就是研究一些協議了,常見的是 TCP/IP 協議,像 ARP 欺騙攻擊,拒絕服務攻擊,中間人這些都是網路安全的範疇。做網路安全,經常跟網路裝置打交道,像防火牆,入侵檢測系統。想做好也要對底層協議比較精通,要有網路裝置的研發能力。例如出現一個新的漏洞,需要寫一些檢測規則。

反病毒一般是指 PC 端的,就是我們常見的防毒軟體了。像反病毒工程師,就需要有反彙編的能力。要能分析可執行程式,並從中抽取出病毒特徵碼。

滲透測試的話,要做好就需要你掌握比較全面的知識了,不要求你精通,但什麼都要懂一點,基本上是上下通吃了。要能夠掌握各種攻擊手段和方法,滲透測試的目的就在於模擬黑客的攻擊,來評估目標系統的安全性。

國內的環境不好,烏雲網也被端了,專門做安全的公司也很少,搬手指頭都數的過來。做安全也經常背鍋,大家對安全也不重視,對安全從業者的態度普遍是:沒出問題,你是多餘的。出了問題,要承擔責任。

有獨立安全部門的公司也很少,原因也跟上面一樣,大家對安全都不重視。

另外,安全的水很深,比開發深多了,做開發比做安全更容易取得成績。

二、大公司一個安全攻城獅的工作體驗

作者:Charles Stone
連結:https://www.zhihu.com/question/34043667/answer/57889271
來源:知乎
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
 

做安全工作,普遍情況不好說,個人來說主要感覺還是“緊張,自信,偶爾焦慮,偶爾很有成就感”。花邊故事和業內傳聞就不講了,雖然可以吸引很多人來看。

很多同學很好奇“感覺”,其實這要基於安全工程師到底在做什麼工作上,下面一一列出。由於公司規模和組織分工的差異,這些答案不能代表整個行業,邏輯性可能也不是很強,請諒解。

1,IT部門
2,產品設計及部署團隊(含安全)
3,產品測試與安全測試團隊
4,應急響應團隊
5,開源和供應商管理團隊
6,安全技術團隊
7,流程與質量團隊
8,法務與PR
9,標準與認證團隊

還有些,我就不列了。
在很多公司中,上述角色或不全或合併。
都可以理解,畢竟不同公司的業務範圍不同。
———————
IT部門這裡特指維護企業IT系統的部門,也是最常見的需要做安全工作的部門,應對來自內外部的安全威脅。

其安全工作包括什麼呢?
各種內外網站的安全部署,維護,審計。
各種使用者賬號和許可權管理,信任域隔離。
各種資料和許可權管理,加密,隔離,容災。
各種IT系統的缺陷補丁和攻擊測試。
各種接入管理,鑑權,VPN部署等。
EMAIL防護與過濾,防釣魚。
PROXY訪問許可權設定與異常記錄分析。
針對IT系統本身的應急響應。
安全宣傳和答疑等。

這些是比較常見的,也是最普遍的。不僅BAT會做,只要上規模的企業IT都會做。
有些公司還會有防APT措施,內部審計,專職滲透測試等等,不能盡列。
至於查帳號共享啊、查私設VPN啊、查反代、查違規發郵件啊,都是例行工作。
無線電探測器?呵呵,這個預算不常有,但也是有的。

沒事就喝茶例行工作,有事連軸轉。
————

產品設計開發團隊也是要做安全的。

安全威脅和風險分析
安全架構
安全設計和安全元件的使用
各種加密協議,演算法,資料庫
各種安全日誌和告警設計
各種許可權,資源,操作的設計
防注入設計
防協議攻擊設計
防DDOS/DOS設計
防破解和防木馬
可信計算,沙箱
指紋混淆
SOC

太多了不寫了
我要狠狠吐槽,很多開源元件的安全做得跟屎一樣,是不是故意的?
————

安全測試,呵呵,這個估計是一談到做安全大家最有興趣的崗位了
通常所謂白帽子,其中的大部分是做這個崗位的。
大部分安全研究員都會做測試,很多大牛更是如此。
但是這其實是個最枯燥,最苦逼,最容易惹是生非的崗位。
其實際工作內容,也是跟普通人之間的幻想差異最大的崗位。

他們做些什麼呢?
安全架構分析,威脅和風險分析和測試
安全元件和開源元件缺陷分析和測試
各種協議缺陷分析,各種系統呼叫和I/O缺陷分析
各種攻擊測試,各種滲透測試。
各種CERT組織的郵件列表時時關注和討論。
各種安全缺陷庫的時時關注。
各種原始碼白盒審計
各種測試工具和用例構建。

看著工作雜亂無章,其實內含的方法論是一套一套的。這話我還是有資格說的。
對付缺乏安全意識的產品開發和網際網路公司時,隨便就能找出一堆問題,挺沒勁的。也就工具小子們還會激動一下。
對付具有足夠安全意識的產品和公司時,難度挺大的,需要消耗幾個月在上面,而且不一定有很好的結果,有時候也會有挫敗感,搞出幾個來還是蠻開心的。
在公司內部搞的時候,各種判定標準和利益撕扯幾乎是必然的,千萬不要抱著“我就是要搞大”的心態,受人薪水是來發現和解決問題的,次次都只做一半必然周邊關係極差。
特別地,對待第三方公司的時候,特別是非甲乙方關係的第三方公司的時候,言談舉止要格外小心,拿捏不準就不要說或者做,否則可能吃官司。不開玩笑,否則我們養一堆法務幹啥。

花邊1:業界有個特別的詞彙“0day”,一說出來光芒四射,吸引一堆人膜拜。
其實這玩意有另外一個朗朗上口的名字:“Bug”,特指可以被惡意利用的安全缺陷,也特指在某些核心系統中被首次發現、尚未公開的安全缺陷。0day其實蠻多的,呵呵,但是良心白帽子一般都會通過CERT機制將其公開,賺個好名聲。
至於說某些網站應用構築上的Bug(烏雲上經常報的那些),嚴格來說叫0day是不合適的,其實都是已知缺陷的各種重複而已。

花邊2:今年defcon上說黑掉汽車的那兩個大牛,吸引了無數目光。
其實嵌入式軟體系統中原本考慮安全的部分就少,其主要設計目標是效能和可靠性,找幾個安全缺陷出來不奇怪。至於把人家firmware都換了,後面的確想怎麼玩怎麼玩。firmware的升級替換防篡改屬於可信計算的範疇,有常見的TPM技術可用。
---------

三、開發轉安全

最近在忙著部門招聘的事情,由於安全人才稀缺,所以就將範圍擴大到了研發領域,可是接觸到的很多研發人員都是比較糾結的,他們認為自己不懂安全,換了一個新的行業,怕幹不好!有這種想法,都是在情理之中的,我也是從研發轉做安全的,我當時也有這種想法,下面就來說說我的轉行過程。

    在轉行之前,首先你要看下這個行業的現狀及前景,我是2013年準備轉行做安全的,當時由於斯諾登事件剛過,網路安全被炒的很熱,我也從多方面瞭解網路安全行業現狀及前景,包括對比相同年限工作經驗的研發人員與網路安全人員薪酬情況,工作強度,職業發展路線等,並綜合自身的素質(邏輯思維能力比較強,喜歡接受新知識),於是決定轉行,剛好當時公司的各個安全部門也在招兵買馬,我面試了兩個部門,分別是安全的兩個方向,SDL和安全運營,經過慎重思考,我選擇了安全運營,並不是SDL不好,而是我的前同事在這個安全運營部門,經他這麼一忽悠,就過來了^_^。

    在做出轉行決定之後,我面臨的是,我現在安全啥都不懂,到新崗位上如何才能快速勝任新工作,那就只有一條路,學習+實踐。理論知識我選擇的是一本厚厚的<<CISSP認證考試指南>>(涵蓋所有安全內容),實踐則選擇的也是一本厚厚的<<黑客大曝光第7版>>,於是白天抽空學習,晚上回家實踐,那段時間非常充實,整天都能學到新知識,什麼DDOS,sql注入,xss,反向代理,http隧道,埠反彈,各種加密演算法等等都印入我的腦海,而且各種工具也都玩的熟練起來,埠掃描用nmap,弱口令暴力破解用hydra,web弱口令暴力破解用burp suite;web應用漏洞也用burp suite,sql注入用sqlmap,還要想著繞過waf,那時經常晚上在家搞到十一二點,搞的我老婆怨聲載道,做為一名“黑客”我不和她計較,燕雀安知鴻鵠之志哉!當時烏雲還沒關,我還在烏雲上提了幾個web站點的漏洞,一個有意思的小插曲,我當時看烏雲,經常看到路人甲提各種漏洞,我就納悶這個路人甲真是有時間,而且是絕對的大牛,各種漏洞一應俱全,直到我匿名提交了一個漏洞後,我也變成了路人甲^_^,就這樣自我學習加實踐了一個多月,就開始信心爆棚了,就這樣走出了轉行的困惑期。

參考原文連結:1. http://jiasule.v2ex.com/t/486819

                         2.https://www.zhihu.com/question/34043667?sort=created

                         3.http://xinsheng.huawei.com/cn/index.php?app=forum&mod=Detail&act=index&id=3763619