天天看點

安全資料科學家的日常:需要做什麼?将面對哪些挑戰?

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

導讀:目前網絡安全領域的工作崗位遠遠多于合格的人選,是以好消息是網絡安全還是一個适合涉足的領域。壞消息是要保持最新狀态所需的技能在快速變化。通常情況下,需求是發明的動力。

随着對熟練網絡安全專業人士的需求遠遠超過目前所能供應的,資料科學算法正通過提供有關網絡威脅的新見解和預測來填補這一鴻溝。

本文作者分享了自己成為專業安全資料科學家的職業道路。你将看到作為一名安全資料科學家的日常生活是何種狀态,以及成為一名高效的資料科學家需要做什麼。我們還分享了如何處理資料科學問題,以及在不可避免的挑戰面前如何應對的技巧。

安全資料科學家的日常:需要做什麼?将面對哪些挑戰?

01 成為安全資料科學家之路

正因為安全資料科學是一個全新的領域,成為一名安全資料科學家可以有很多途徑。許多人通過科班的正規教育訓練成為資料科學家,也有許多人自學成才。

像我便是一個例子,我成長于20世紀90年代,那時我學會了用C語言和彙編語言程式設計。後來,我獲得了人文學科學士學位和碩士學位,然後作為一名安全軟體開發人員重新進入技術領域。在此過程中,我通過業餘時間自學了資料可視化和機器學習,最終進入安全研發公司Sophos成為了一名正式的安全資料科學家。

與我合著出版《基于資料科學的惡意軟體分析》一書的Hillary Sanders在大學學習統計學和經濟學,她曾做過一段時間的資料科學家,後來就職一家安全公司從事資料科學家的工作,而她就是在這份工作中學習了安全知識。

我們在Sophos的團隊非常多樣化。我們的同僚們擁有不同學科的學位:心理學、資料科學、數學、生物化學、統計學和計算機科學。

雖然安全資料科學偏向于那些在科學定量化方法方面受過正規訓練的人,但同時也需要具有不同背景的人加入進來。雖然科學和定量化訓練有助于學習安全資料科學,但從我個人的經驗來看,隻要你願意自學,你也可以以非傳統的背景進入我們的領域并取得優異成績。

能否精通安全資料科學取決于一個人不斷學習新事物的意願。這是因為在我們這個領域,實踐知識和理論知識同樣重要,你要通過實踐而不是僅僅通過學校的學習來獲得實際有用的知識。

樂于學習新事物也很重要,因為機器學習、網絡分析和資料可視化技術都在不斷變化,是以你在學校學到的東西很快就會過時。例如,深度學習在2012年左右才開始成為一種趨勢,此後迅速發展,是以幾乎所有在那之前畢業的資料科學專業的人都必須自學這些非常有用的思想。

這對于那些希望進入安全資料科學專業的人來說是個好消息。因為那些已經在這個領域工作的人也必須要通過不斷自學新技能,而你正好可以通過了解這些技能來邁出你的第一步。

02 安全資料科學家的一天

安全資料科學家的工作是将技能應用到各種困難的安全問題上。這些技能的應用會連同其他技能一起,形成一個更大的工作流以友善真正去解決問題。根據我們的經驗以及其他公司或組織的同行們的經驗,圖12-1可以描述安全資料科學家的典型工作流。

安全資料科學家的日常:需要做什麼?将面對哪些挑戰?

如圖12-1所示,安全資料科學工作流涉及五個工作領域之間的互相作用。第一個領域是确定問題,涉及明确資料科學可以解決的安全問題。例如,我們可能假設,可以基于資料科學識别魚叉式網絡釣魚郵件,而識别用于混淆已知惡意軟體的特定方法,則是一個需要研究的問題。

在這個階段,任何關于某個問題可以用資料科學解決的猜測都隻是一個假設。當你有一個錘子(資料科學)時,每個問題都可以看起來像釘子(機器學習、資料可視化或網絡分析問題)。

我們必須考慮這些問題是否真的最适合使用資料科學方法來解決,請記住可以建構一個資料科學解決方案原型,通過測試這個解決方案來更好地了解資料科學是否真的提供了最佳解決方案。

當你在一個組織或機構内工作時,在确定一個好的問題的過程中,經常需要同那些并非資料科學家的合作者進行溝通交流。

例如,在我們公司内部,我們經常與産品經理、管理人員、軟體開發人員和銷售人員打交道,他們認為資料科學就像一根可以解決任何問題的魔杖,或者認為資料科學類似于“人工智能”,具有某種神奇的能力來實作不現實的結果。

在與這些非專業的合作者交流時,切記要誠實地面對資料科學方法的能力和局限,保持敏銳、謹慎的态度,這樣你才不會去追逐錯誤的問題。你應該抛棄那些沒有資料來驅動資料科學算法的問題、缺乏有效評價方法的問題,以及那些明顯可以通過手工方法就能更好解決掉的問題。

例如以下的這些問題,别人提出後我們應當拒絕:

  • 自動識别可能向競争對手洩露資料的員工。針對這個問題缺乏足夠的資料來驅動機器學習算法,然而可以通過資料可視化或網絡分析來解決這一問題。
  • 解密網絡流量。機器學習的數學機理決定了它根本無法解密軍用級加密資料。
  • 根據員工生活方式的詳細背景知識,自動識别那些針對特定員工的人工特制釣魚郵件。同樣,這也是因為沒有足夠的資料來驅動機器學習算法,而這個問題則可以利用可視化技術對時間序列或郵件資料進行分析來解決。

一旦你的确成功确定了一個潛在的安全資料科學問題,你的下一個任務就是确定資料源,以便可以使用資料科學技術來解決該問題。

如圖12-1中的步驟2所示。當一天的工作結束時,如果你還沒能獲得你可用來訓練機器學習模型、提供可視化或驅動網絡分析的資料源,以解決你所選擇的安全問題,那麼資料科學很可能并不能幫你解決這一問題。

在標明了問題并确定了一個足以建構一套資料科學解決方案的資料源之後,就可以開始建構你的解決方案了。在實際應用中,一個解決方案在圖12-1所示步驟3和步驟4之間不斷地循環:建構某個東西,然後對它進行評價,再對它進行改進,再重新對它進行評價,依此疊代下去。

最後,一旦你的系統準備好了,就可以部署它了,如圖12-1中的步驟5所示。當系統處于部署狀态時,如果有新的資料源可用,你必須重複之前的步驟來內建新的資料,嘗試新的資料科學方法,并重新部署系統的新版本。

安全資料科學家的日常:需要做什麼?将面對哪些挑戰?

03 高效安全資料科學家的特征

在安全資料科學中取得成功很大程度上取決于你的态度。在這一節中,我們列出了一些我們自己發現對成功進行安全資料科學工作來說很重要的心理因素。

1.開放的心态

資料充滿了驚喜,這破壞我們對問題的了解。重要的是,你要對那些證明你某個先入為主的想法是錯誤的資料保持開放心态。如果不這樣做,會導緻你最終錯過那些從該資料中得到的重要知識,甚至會把太多的資訊讀成随機噪音來說服你自己相信一個錯誤的理論。

幸運的是,你在安全資料科學領域做的工作越多,你對從資料中“學習”這件事就會越發地開放思想。你會逐漸正确地面對自身所知有限的事實,也會更加擅于從每個新問題中學到更多的知識。随着時間的推移,你會開始享受并期待資料為你帶來的驚喜。

2.無窮的好奇心

資料科學項目需要研究資料來發現模式、異常和趨勢,然後利用這些來建構我們的系統,這與軟體工程和IT項目非常不同。識别這些資料中互相關聯和互相作用的機理并不容易:通常需要運作數百個實驗或分析,才能了解資料的總體形狀和隐藏其中的故事。

有些人有一種天生的、近乎成瘾的動力,去進行精心設計的實驗并對資料進行更深入的挖掘,而另一些人則沒有這種動力。

前者便是那種傾向于在資料科學方面取得成功的人,正因如此,好奇心便是這個領域的必要條件,因為好奇心區分了我們能夠對資料進行了解的深淺程度。在對資料進行模型建構和可視化分析過程中,你的好奇心越是強烈,最終得到的系統就會越有用。

3.對結果的癡迷

一旦你定義了一個好的安全資料科學問題,開始疊代地嘗試解決方案并對其進行評價,那麼對結果的癡迷感将會支配你,這一點在機器學習項目上展現得特别明顯。

例如,當我深入參與一個機器學習項目時,我會一周7天、每天24小時地開展着多項實驗。這意味着我可能會在一個晚上醒來很多次來檢查實驗的進度,并且經常需要修複bug,并在淩晨3點重新開機實驗。我傾向于每晚睡覺前檢查一下我的實驗,整個周末都會檢查好幾次。

這種全天候的工作流程通常是建構頂級安全資料科學系統所必須的狀态。缺乏這種狀态,人們會很容易滿足于平庸的結果,便無法打破正常,或者克服由錯誤的資料假設造成的阻礙。

4.對結果的懷疑

人們很容易誤以為自己在一個安全資料科學項目上取得了成功。例如,可能你的評價過程設定不正确,導緻系統的準确性看起來比實際情況好很多。基于同訓練資料過于相似或與實際資料差距太大的資料來評價你的系統,是一個常見的陷阱。

你還可能無意中從你的網絡可視化分析中挑選了一些你認為有用的示例,但是大多數使用者并沒有從中發現太多價值。

或者也許你在你的方法上付出了太多的努力,以至于你說服自己統計評價資料是好的,但實際上它們還不足以讓你的系統在實際工作中發揮作用。

很重要的一點是你要對實驗結果保持合理的懷疑态度,以免有一天發現自己已陷入了某種尴尬的境地。

安全資料科學家的日常:需要做什麼?将面對哪些挑戰?

04 未來的工作

本文隻是觸及皮毛,如果已經說服你以一種嚴謹的方式從事安全資料科學,我們有兩個建議:

  • 首先,将你學到的工具立即應用于你關心的問題上;
  • 其次,閱讀更多關于資料科學和安全資料科學的書籍。

以下是一些實際問題的例子,你可以考慮将新技能應用到其中:

  • 檢測惡意域名
  • 檢測惡意URL
  • 檢測惡意電子郵件附件
  • 可視化分析網絡流量以發現異常
  • 可視化分析電子郵件發件人/收件人模式來檢測釣魚郵件

為了擴充你對資料科學方法的知識,我們建議你從簡單的開始,通過維基百科文章了解更多關于資料科學算法的知識。對于資料科學而言,維基百科是一個令人驚喜的、可免費通路的并且權威性的知識資源。

對于那些想要在機器學習方面深入學習的人,我們建議他們選擇線性代數、機率論、統計學、圖分析和多變量微積分等方面的書籍,或者參加免費的線上課程。學習這些基礎知識将為你以後的資料科學生涯帶來回報,因為這些内容是這個領域的基礎。

除了關注這些基礎知識之外,我們還建議你參加課程或者閱讀關于Python、Numpy、sklearn、Matplotlib、seaborn、Keras等更加“實用”的書籍,以及涉及的在資料科學社群中大量使用的其他工具。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-03-31

本文作者:約書亞·薩克斯(Joshua Saxe)

本文來自:“

大資料DT 微信公衆号

”,了解相關資訊可以關注“

大資料DT