如果單從實際工作經驗,到現在實際從業已有一年;
若從相關經驗來看,本科學的信息安全,大二時第一次知道滲透測試,開始參加相關安全競賽,再到大三參加ISCC到大四、到工作,可以說有四年了。
四年的工作經驗,足以成為不管哪個行業的一個小leader了。
反過來說,如果我積累了四年相關經驗,卻還不具備成為一個leader所需的才能,問題出在哪兒呢?
先說如果我可以足夠投入,專心鑽研二進制、逆向、移動安全、Web安全,按一萬小時定律,四年足以小成。
置於沒能達到這個小成,原因有很多,先看內部原因,內部原因比外部原因更為根本。
安全領域,遑論計算機領域,很多水平高超之人並非科班,也並非計算機專業出身。他們能取得輝煌的成績,實在是興趣使然。興趣帶他們找到了天賦,反過來天賦又加大了他們的興趣。簡言之,自學成材。科班出身的大牛也有,基本依舊屬於有熱情有天賦的。在這一點上,本人先天性地不如他們。
外在原因,不僅是一個藉口,也會起到很大的決定性作用,當然這裏不妨設想它是一個藉口吧。
實際上,除了課本上學到的密碼學這些,要說實戰中的加密解密到了大三下學期才接觸到,更不要說各種編碼、逆向、驅動編程....
在你入門的時候,周圍有一個好的交流和學習氛圍、有人能帶你走一段非常重要。這樣能節省大量寶貴的時間,提升專注度、早日找到自己興趣所在。
說到底,這是外因,不過有時候內因也需要外因的催化,這裏不再討論。
現在想想,如果我現在知道的這些東西,能夠提早一年知道,即在大二的時候就知道逆向工程、加密解密這些,大三就能很好地掌握OWASP top 10,知道什麼是跨站腳本、什麼是CSRF,什麼是WebView,我現在肯定不會在這裏寫這篇文章,但也許已經不在現在所在的公司。再或者,大四那年沒有荒廢,在找工作、寫畢業論文的前後左右能夠繼續在技術上有所提高,現在也會有所不同。"如果"是一種假設已經發生的事情沒有發生的說法,現在不可能穿越到過去,時間也不會再重來。
嚴格說起來,之前的經歷加上工作的時間,算上那些被荒廢的日子,在信息安全的技術、視野方面,我的從業時間其實也就一年,從無到有的一年。這幾年來發生的事情,按性價比來說算是比較低的。
工作後,影響你前進方式的,同樣分為外因和內因,置於哪一個影響更大,請自行評估。
今日之因,皆為昨日之果。如果大學的前幾年裡,積累了足夠硬的技術,找工作時就有更多的選擇和機會。在國內像3bat這樣的公司在之前是有很大吸引力的,現在處於百花齊放的時代,合適的去處現在變得更多了,但對技術水平的要求在同類型的公司裡基本上沒有太大變化。
互聯網的崛起,信息系統從先下搬到線上,使得信息安全事件更多的鍵入到人們的視野中,同時由於信息過剩,我們也容易湮沒於其中,尤其在技術領域,因此才會提到專注、提到一萬小時定律。
按照服務與被服務的性質區分,工程師分為甲方和乙方安全工程師。互聯網公司的安全工程師如果不是在一個細小領域摸爬打滾,如做入侵檢測,基本上要同時兼顧甲方和乙方的性質,既做安全也做運維(我猜的)。除此之外,技術較好,有專長的人則做安全方面的攻防研究,如各種攻防實驗室、攻防團隊。
相比之下,乙方更偏重與技術上的攻防,甲方更偏重業務上的安全。因此,看到很多甲方搞安全的同學如果技術不好,水平比較菜,當然原因有很多,其實也是見怪不怪了。人少事多可以被很好地概括甲方安全人員的情況,上班期間他們並沒有多少精力和時間來鑽研技術,加上多數底子較薄弱和其他原因,基本什麼事情都找乙方同學處理。傳統乙方來說,業務模式和生存競爭等內外因素也使得存在人少事多的情況,平時沒有多少時間和精力鑽研技術。另一方面,以一個技術專家也好,其他身份也好去甲方服務,重點又在於技術上的解決,對於實際業務來說通常懂得並不多。
技術和產品上的優勢,如果不具備核心競爭力,很多乙方的同學大有被甲方同學趕上來的趨勢。當然這裡技術上的差距是依舊存在的,但甲方可以接觸到不同的產品和不同的服務廠商,而且在後者實施服務期間能跟他們學到東西,就信息系統的知識面來說要比乙方同學更寬。還有一個很重要的原因,大多數負責信息系統安全維護與保障的場景,並不需要精通某種技術,只要你能什麼都懂一點,知道有問題找誰解決就ok了。所以乙方的同學得不斷學習和進步,而甲方的同學卻沒有這個必要。當然互聯網公司的同學既有笑乙方同學,也有笑甲方同學的機會。
下面從技術、待遇、工作時間、學歷等方面比較一下一般安全從業者之間的不同(據本人了解的情況,另技術牛的例外)。
技術:無論平均或整體來說,互聯網公司的小夥伴技術水平是最高的,而且有著不可阻擋的進一步強化的趨勢,現在互聯網公司很多同學都是乙方過去的。原因有很多,比如錢的誘惑,更大的平台,對安全更加重視,更好的技術氛圍(都是相對來說的)。
待遇:待遇方面,平均互聯網公司可能比甲方略高點,明顯比乙方多(相對來說)。甲方行業,銀行、證券、期貨這些金融方面的,對安全也很重視,而且工資都不差,社招目測都在20W以上,未必輸給互聯網公司。
工作時間:互聯網公司的同學加班是否比較常見、時間是否比較長看看新聞就知道了;甲方加班的相對比較少,金融方面的基本不加班(看情況偶爾加班);乙方的話個人覺得要看公司文化和運營狀況了,應該是介於二者之間,通常加班不多。
學歷:互聯網公司重技術,所謂7分技術3份管理;乙方和一般公司差不多,基本本科起;甲方其實不是很了解,但在金融領域對學歷要求較高,好多是研究生、博士這樣的,因此才能看到高學歷的人拿著高薪水卻不幹甚麼事情的奇妙風景。至於事業單位是否存在潛規則,本人並不了解,不變評論。
接下來才是重點,從業一年的感悟。
先看下本人的工作內容:滲透測試、代碼審計、APP安全測試、安全意識培訓、應急響應,還有些雜七雜八的。前三者,本質上來說還是測試,不知道功能測試有沒有給人一種誰都可以做的感覺,安全測試門檻是要高那麼一點點的。
說簡單也簡單,說不簡單也不簡單。如果只是常規場景下的安全測試,哪怕是代碼審計,套用模板、框架、方法論,我的感覺是誰都可以做,但是質量好壞則不敢保證。要說不簡單,滲透測試中經驗和技巧是很重要的,尤其在高級一點的場景中;代碼審計需要對漏洞有很好的了解,還需要有良好的代碼基礎或功底;app測試則要求對Android、iOS的特性、功能有著熟練掌握,需要能寫代碼、看代碼、動態調適、逆向逆向分析等。概言之,簡單中蘊涵著高深,普通中隱藏著精細。
下面的內容可謂晴天霹靂,但的確是我的真實感觸。就技術上來說,我日常所做的工作,說得誇張點可能90~95%的事情,找一個聰明的在校學生,花一天時間教他應用程序有哪些漏洞、怎麼判斷、怎麼利用、怎麼修復....第二天下來,事情交給他基本沒什麼問題。
說來真是可怕,那相當於這幾年就白活了。大多數時間做的不過是簡單的、重複性的事情,量的積累是否能引發質的突變,依舊取決於外因和內因。
從安全攻防技術上來看,甲方大多屬於傳統性質的行業,發展較緩慢;乙方則被甲方拖著,得很費力的去擁抱技術和變化;互聯網比較敢於冒險,基本走在時代發展的前沿。這幾個分類,只代表工業界的部分,乙方也指的是傳統乙方,一些攻防實驗室、安全服務廠商同樣走在最前沿。此外,學術界也有不少視野開闊、經驗豐富和動手能力很強的,他們都不在此次討論範圍之內。
那接下來,我想說什麼,準備做什麼呢?我的答案是擁抱變化,接受未知與不確定性。
不管處於A、B、C、D的哪一方,首先先要了解自己想要什麼、具備什麼、擅長什麼以及為什麼應該是這樣或不是那樣?
? 以上內容屬本人酒後胡亂編造,不對其正確性負有任何責任,如有異議可與本人私聊討論 ?