會員、個人資料外洩怎麼辦?4個預防資料外洩方法一次看懂!

2017/03/10

在2016年底2017年初,公開網路與暗網陸續出現了大量販售資料庫的訊息,其中有一大部份的資料庫是著名的NoSQL資料庫MongoDB,NoSQL資料庫的特性可有效的用於處理無結構化的資料(Unstructured Data),近年亦成為企業廣泛應用的主要資料庫之一,其熱門程度相對的也讓MongoDB成為近期攻擊者熱愛的目標之一。


圖:在深網販售的資料庫清單


各種外洩資料的原因、問題

所謂的資料庫中存放的資料內容當然與各企業所提供的服務有相關連,其中不外乎包含會員個人資料、帳號密碼、刷卡資料、交易訂單物流資訊等機敏資訊,早期的攻擊者竊取這類資訊的目的大部份是利用於販售謀利,有部份攻擊者會將取得的資料庫統整為自己的社交資料庫(駭客的Big-Data)後販售人肉搜尋服務,當然也有少部份的收藏家只單純的將資料庫做為珍品備存收藏著。

隨著近年勒索風氣越來越盛行,有部份攻擊者將早期的商業模式轉換為綁票勒贖,就像勒索軟體(Ransomware)會將個人電腦、手機平板內的重要資料加密後進行勒贖一樣,攻擊者會先竊取備份企業的重要資料庫,待備份完成之後進行惡意攻擊刪去資料庫,之後再對受害企業發送信件利用先前備份的肉票向受害者勒索藉以謀利,如同2017年初爆發某個駭客團體針對全球遭其攻陷的MongoDB進行綁架勒贖的案件即是如此。


圖:資料庫裡的資料長相範例


罪魁禍首

至於造成如此眾多MongoDB遭竊取、綁架勒贖的主因,經過幾個實際案例的調查分析後發現大多與安全設定疏失(Security Mis-Configuration)有關,早期的MongoDB版本在預設安裝後若未進行後續安全設定調整,搭配防火牆存取限制設定不完整的問題即可能導致該MongoDB遭受攻擊。
比如MongoDB在v3.0版本之前預設的服務埠號(Listen Port) TCP 27017是可讓公用網路存取的,因此若該MongoDB伺服器具公用網路IP位置(Public IP Address)且管理者未針對Mongo DB的TCP 27017埠號進行ACL存取控管,攻擊者將可藉由網際網路直接存取此資料庫,最後再搭配上早期MongoDB版本預設可不需帳號密碼即可登入存取的問題,攻擊者可簡單的利用mongoexport指令即可直接將整個資料庫匯出備份導致資料外洩。

遇到資料外洩,有哪些因應的對策?

從上述的案例我們可以瞭解到,一連串的安全設定疏失(Security Mis-Configuration)將可造成重大的危害,倘若管理者注意到了其中一項設定疏失並即時予以改善,在攻擊者販售的資料庫清單中或許就會少了那麼一筆,雖後續版本的MongoDB已於預設安裝時排除部份已知可能造成資安問題的可能性,但我們仍需從過往失敗的案例中吸取經驗並擬定對策,以下為參考建議對策:

對策一:研讀手冊

在安裝使用任何應用伺服器前應優先詳讀操作手冊,大部份的操作手冊上均會說明如何讓所安裝的伺服器更加安全的設定與作法,若能更加謹慎的設置應用伺服器將可大大提升安全性。

對策二:用途區隔

應用伺服器的用途必須加以確認,通常如資料庫或系統管理這類的應用服務均不應直接對外部開放存取,在設定防火牆規則時應多加審慎注意,若因業務需求仍必須對外開放,則需參考其他相對較為安全的做法,如限制來源IP位置或是透過VPN存取等。

對策三:加密保護

針對資料庫內存放的重要資料(如個資、密碼、信用卡號等)必須採用較為嚴謹的加密方式或資料遮罩,個資、信用卡等機敏資訊可使用AES 256 / RSA 2048以上加密保護,密碼可使用SHA2或加入SALT方式避免被破解,若無法加密保護的機敏資料亦應避免以明碼無遮罩方式直接存放於資料庫內,另外亦可思考這份資料是否一定得存放?避免資料庫內存放過多非必要的資訊,如此可降低萬一資料遭竊時可能造成的問題。

對策四:主動出擊

定期透過主動檢測的方式(如弱點掃瞄或滲透測試)對外部服務進行資安檢測,並針對檢測出的實際狀況與預期的情況驗證比對,藉以找出錯誤的環節並後續探討修正提升整體安全性。

延伸閱讀:
預防駭客行動詐騙!看懂App網路資訊安全「原始碼加密」技術!
要如何預防駭客攻擊?6步驟教你如何提升網路資訊安全性!


其他訊息