摘要:順豐集團作為快遞行業的領先企業,在業務開展過程中,保存了大量涉及個人用戶和商家的敏感信息,順豐的信息安全歷來被視為企業的重中之重。經過多年的不斷摸索和創新,而今,順豐集團已經建立了初具規模的信息運營與技術支持團隊,一路走來,亦思亦行。順豐集團信息安全與內控處負責人劉新凱將分享,順豐集團信息安全團隊從防護、抵御、態勢感知的“御建”,逐步向智能化安全阻斷的“馭劍”轉換升級過程,給企業的信息安全建設路線圖帶來另一種別樣的思考。
劉新凱????順豐集團信息安全與內控負責人
順豐有三個數據中心,整個公司的應用系統超過了五百套,有1.3萬網絡接口節點,有超過30萬不同的移動終端是在隨時每天每地隨時在使用的,同時我們一共交易數據超過2.6個PB,跟安全有關的日志每天超過10億條,大家看到這些數據之后,這個就是目前順豐在內部面臨整個安全需要保護的一個范圍。
從我們建立之初,我們認為自己是處于青銅篇,在做防御的過程,更多是單點。第二是進入全面可視,第三是進入閉環響應的過程。接下來給大家順豐安全是如何走過這三步的。
首先介紹青銅連連,御建設只有初,看一下單點防護,我相信也是大多數企業在建立安全的時候面臨的一個通常的狀態。我需要防火墻,買一個防火墻,我要建一個IDS,或者缺一個殺病毒或者其他的設備,根據不同的設備或者一些不同的解決方案來做相應的安全。這里面羅列很多當時我們做的基礎性的工作,比如網關漏洞掃描、堡壘機,確實需要這些產品提供它的作用和能力。但是這種建設的過程中就跟打游戲的過程一樣,屬于各自為戰和不懂抱團的過程,會造成什么呢?系統工具相對比較零散,企業很難有一個完整的管控體系。第二部分就是所有單個產品體系之間是缺乏信息聯動的功能,在很早的時候就在談安全聯動,最早建立之初的時候,它還是各自為政,單獨的系統和產品。第三就是信息整體是難以利用的。你有不同的界面管理的能力,其實都是基于你買的單個產品,而對于公司實際的負責人員或者運維人員,是很難做好的。
從2016年開始進入御建未來和全面可視的狀態,我們想要達到的目標,將單點產品接入態勢感知平臺,從而形成有規劃的網絡安全部署,能夠全面掌控企業內部出現的安全問題和整個發展態勢。第一個,我們可以看一下我們在做的過程中,實際是增加了不同的設備,同時不同設備之間有了更多的交互和信息的聯動。經過我們這幾年的摸索,我們劃了不同的層次。因為很多都在做這樣一個態勢感知的平臺,來了解企業內部到底發生什么。我們建立的這個平臺也分了不同的層,首先是數據源,基本上把我們現在已有的安全設備,各種網絡設備,操作系統,中間件,尤其是根據我們的要求,我們建立了整個安全基線,把應用本身進行了相應的改造,把應用的日志拉入這個平臺,在接入之后做不同的數據分析。在這兩年變化最大的或者投入資源最多的是哪兩個部分呢?是我們在數據分析和數據展示這一層。數據分析為什么重要呢?當所有的數據已經在平臺之后,到底能夠產生什么樣的價值?規則怎么建?聯動分析什么樣?模型是什么?當這個能力基本有了之后,如何能夠有一個更好的展示效果給到領導,給到自己的運維人員,甚至是安全事件調查人員,又變成另外一個話題,一步一步不斷分層級完善的一個過程。
這個是我們在展示端尤其是整個公司大屏的時候,在做的一個基本的態勢感知平臺。這個態勢感知平臺能夠基本描述現在順豐關注非常多的一些要點到底在哪里,中間的部分我們逐漸的能描述到從整個互聯網端對整個公司不同的應用和節點攻擊的狀態。在右側在我剛才提到的所有網絡節點中,這個節點安全狀態什么樣,有沒有安全的漏洞或者危險,需要你對這個節點進行關注。左側的部分是我們對整個數據中心的安全態勢的認知,關鍵節點,中間的密罐,主機的安全狀態,是能夠進行一個相對比較完整的描述。而右側的部分,更多的跟順豐內部業務有關,一些核心系統、核心業務正在使用的一些系統,是不是有些異常數據訪問!是不是有異常的操作,這些系統整個使用過程中是不是符合它以前的用戶行為。這張大屏幕是我們在做整體運維的時候這樣一個態勢感知的平臺。
通過這個態勢感知平臺,左側和中間能夠發現基礎設施的健康狀態和安全的風險,中間可以發現實時攻擊和入侵的事件,而右側是關注我們業務風險的預警,來描述整個公司現在的安全狀態。在做完這一步之后,大家會關注這些預警怎么來的,預警怎么做的,會進入我們下一個環節,這是我們這幾年在摸索在不斷打造的這一塊,有關于順豐的安全模型,這個模型忽略了很多東西,僅供參考。這里面我們羅列了很多不同的項,首先是情報建設類,在最下面,包括有些IP的基礎情報,包括有些惡意的手機電話號碼的風險庫,是從不同的方向收集很多外部的數據,作為模型的訓練也好,或者是一些規則也好,判斷的依據。第二層是基礎安全類,分的比較多,有網絡、web、流程、服務器和應用。為了更好發現在不同環節或者不同層次過程中的一些風險和問題,大家可以看這些不是單個設備已有的模型,是你有了日志之后,根據你的業務提煉出來適合你企業不同的模型。上面有些信息泄露類的或者信息違規使用上面的一些風險和預測模型,包括用戶的異地查單,包括手機解密和用戶異常行為,這個也是現在我們內部非常關注的一點,如何能夠保證我們的用戶內部的員工和其他的方方面面在使用數據的時候是合規合法的。一旦出現異常,如何第一時間發現他異常的操作和異常的動作,這個模型和過程是在不斷積累和完善。還有一些業務上面也在做,當你有了這些數據之后,慢慢純信息安全的概念就有機會步入到和業務風控這里面,從安全到業務風控是一線之隔,能夠給企業帶來的是更多的幫助和收益。
大家可以看到從單點到現在的態勢感知,逐漸能夠從不同的節點來做安全的防護,到整體有一個相應的概念。但是做完這些之后,我們還遇到了很多的挑戰和相應的一些問題。這里面列出了一個數字,非常簡單,一小時等于60分鐘等于3600秒等于3600000毫秒,我們前期建完之后有了一個什么樣的能力呢?單點有防護,整體有一個整體態勢感知認識,遇到的挑戰是什么?一旦有這種預警之后,實際是通過流程和人來進行預警的最終判斷和事件的響應,長則上天,短則也是小幾十。如果一小時到底能發生什么,今年上半年我們內部發生了一個案子,跟市場活動有關,就是發優惠券。大家知道羊毛黨是什么狀態,我們突然發現我們整個優惠券的狀態異常,然后有報警。就會發現短期內用戶用優惠券非常高,前端接了很多用戶登錄注冊拿優惠券的模型或者工具,不應該發生這樣的情況。到底怎么發生的?從用戶開始用優惠券到后臺能夠把優惠券注銷掉,中間系統的邏輯,因為中間有些不同的計算或者一些信息調取的問題,要跑一分鐘,在后臺的庫這張券才會失效。而現在整個羊毛黨用什么政策?拿到你的一個優惠券,把你的數據包之后,修改了你優惠券的信息,一毫秒回放一張,一張就是兩塊多五塊,回放一分鐘是多少,回放一小時是多少,它的成本是非常低的。預警之后怎么能夠第一時間把風險降到最低,阻斷整個預警發現的這些問題。我們就逐漸的從剛才提到第二步這種態勢感知的狀態在朝著第三步發展,就是馭劍之術,響應閉環,怎么能夠把結果第一時間的應用到安全危險的阻斷上面。
我們有一套系統也是今年剛剛開始在上半年的時候做的一套系統,我們叫做百翼,相當于有很多只手,能夠發現不同環節中的問題,并且阻斷。以前是人為的阻斷,我們需要的是7×24的監管,時間是以天或小時計算,從風險判斷到最后的攔截,非常抵銷,人力投入也非常大。目標是能夠實現系統自動化阻斷,不管是基于AI、自動化的智能安全阻斷,能夠實現秒級響應。我們使用的是規則引擎,這是兜底的一個行為,第二個是關聯的分析,按不同的流程、不同的系統,跨系統的數據分析,第三個是基于不管是機器學習還是人工智能的這種模型的預測。
這是我們新的一套實時做百翼系統的一個架構,這個架構上面,以前在右側的大數據平臺,更多是做離線的模型訓練和離線的預警,至少是秒級分鐘級的預警,這種速度非常慢。左側是做自動化的判斷和策略的下放,這種概念并不是一個新的概念,很早的時候還沒有態勢感知平臺的時候,已經在做這樣一些工作。現在的不同是什么?它的數據量,它的模型方式和跨系統的能力,在有了大數據和人工智能之后,應該能達到另外一種狀態和一種水準。在這個過程中一定會遇到非常多的問題,這里面介紹一下我們會遇到的很多坑。
第一個就是安全產品能夠接受命令下發,我們買的所有商用產品必須能夠把日志實時拖到平臺里面去,現在遇到的最大挑戰是什么?他能夠把它的端口開放,實時接受我們回傳的命令,這是我們遇到的第一個坑。我們怎么解決的?公司體量在這里,比較大,跟各個不同的廠商談,很現實,對于整個外購的產品是這樣,對于自研的產品比較簡單,直接做開發。
第二個就是舊系統的改造,舊系統是指的應用系統,普通的應用系統發現安全問題的時候,我們也會把阻斷的策略下發到系統上面去,在整個過程中還有一個非常難的就是全舊系統的改造如何做,這是我們現在在大力推動的一件事。
第三個就是我們現在大多數的新應用,應該是2017年上半年,應該是2016年開始,就已經有很多新的核心系統應用轉到微服務框架上面去了,微服務改造是我們跟應用有關一個比較大的重點。這里面有一個非常基礎的架構圖,用戶會發請求給到微服務網關,在身份校驗那一部分,用戶身份管理的一個平臺,做用戶的身份認證,會遇到很多問題,比如日志質量低,取決于微服務本身。第二,發現異常無法阻斷。在百翼增加之后,我們做了幾個不同的相應的工作。第一個就是微服務網關和微服務在做一個修改,從用戶請求的每一個操作都會有這樣一個唯一ID和全生命的請求過程掛鉤,哪一個用戶建了網關,應用這條請求最后進了DB,在用戶風險分析的時候,你能夠關聯到從最一開始用戶的行為,包括他用的設備信息到最后DB以及數據層面的關聯。第二個,有一個相應的阻斷功能,大家可以看到百翼這一部分有一個黃色的D阻斷的指令,經過百翼系統的分析之后,他發現了風險,會直接傳遞給微服務網關,進行整個應用的管控。這種變化就從以前我們要管各個不同的微服務,成百上千個不同的微服務,變成了以微服務網關為重點的管理模式,它的日志是標準的,ID是唯一的,管控或者改造的成本會相對比較低。通過這種模式,我們是做已有的微服務應用的變化。
最后還有一個,我相信也是大家在過程中最不敢把設備串接網絡,就是算法模型甚至是你的規則本身并不準確。中間會帶來很多誤判,所有的人我相信都會遇到類似的問題。在我們做的過程中是如何面對這個問題?或者是如何來解決這個問題呢?我們引入了一個在開發過程中非常常見的概念,就是灰度,我們這個灰度發展,不僅僅是有一個系統,比如全國都在用,灰度只開了三個省五個省,除了范圍的變化,我們還有一個自學習的過程。我們剛剛把一條新的策略下發的時候,不是停掉它的用戶鏈接,不是停掉他的用戶請求,我會告訴用戶你現在的操作屬于高危,可能違反公司的操作或者公司的安全規則,請你描述你的行為為什么會這么做。其實它是一個互動的過程,在這個互動過程中,大家可以理解為它是為了給我們模型打標簽,完善標簽和模型優化的過程。在一段通知或者用戶的交互過程之后,你會發現模型前期帶來的一些不確定性是能夠得到一些相應改善的。給模型提供了一些數據,你有優化的機會,并且能夠完成最終實現實時阻斷的功能。
過程非常簡單,簡單描述了順豐走過的過程,一開始不停買不同的設備來實現單點的功能。第二步,逐漸把不同系統、不同設備的日志歸納,做成一個可實時分析,可實時展示的態勢感知的平臺。第三步,把態勢感知平臺所積累的能力逐漸放成能夠進行實時阻斷,把安全遇到的威脅和風險降到最低的辦法,開實時阻斷的功能,來完成整個單點防護、態勢感知以及到阻斷的閉環,來提高整個安全的能力。借用王者榮耀的一句話,我們也在不斷的打怪,不斷的升級,希望能夠朝著最強王者的路上奮進。相信只有更強才能更安全。