去年底,美國知名零售業者Target傳出多達1.1億筆的客戶資料外洩。今年(2014年)初,南韓爆發信用卡公司委外工程師監守自盜,從資料庫系統中複製上億筆信用卡個人資料至隨身碟攜出,並轉賣獲取利益。日前南韓再爆金融機構因銷售終端機的資料遭竊,估計也有超過上億筆信用卡用戶個資外洩。從接二連三的重大資安事件中不難發現,數位資料中隱含的金錢利益已成竊取行為主要動機。即使是建置於內部機房重地、已擁有實體隔離保護的核心資料庫系統,都可能被內部人員或外來入侵行為突破,為企業帶來資料外洩風險。
反觀台灣企業對於資料庫保護措施因應的狀況,甲骨文(Oracle)大中華區台灣技術諮詢部資深諮詢經理黃久安觀察,經過個資法的教育過後,確實有不少大型企業,像是金融、電信,對於資料庫安全防護的接受度較高,也已經有不少建置案例。但是因為種種原因,還難以全面落實控管機制,例如對特權權限者限制過多恐影響日常工作,所以仍舊只是針對較重要的核心財務系統建置控管模式,至於其他資訊系統的資料庫,則排定優先順序階段性建置。
資料庫防護三大重點
就整體資料庫防護機制來看,大致不脫離預防(Preventive)、偵查(Detective)、管理(Administrative)三大層面。黃久安說明,預防主要是實行資料外洩防護,最基本的機制即為用戶帳號與存取權限,不得讓任何人皆可存取,再進階則是加密或採以遮罩(Data Masking)防護,以及特殊權限者控制(Privileged User Controls)。
其次的偵查,即是近年來因應法規要求下最受關注的資料庫活動監控(Database Activity Monitoring,DAM),重點在於觀察並記錄資料庫被應用程式存取的行為。大多會搭配資料庫防火牆機制,一旦偵測到異常存取,即時執行必要的攔阻動作。常見的異常存取例如惡意查詢語法,若網頁應用程式開發撰寫時沒有顧及到安全性問題,具資料庫技術背景的駭客,即可利用系統內建的字串發動SQL Injection,此機制即可及時發現予以阻擋。最後,再產製各式法規或稽核政策所需的報表。
最後是管理層面,需定期檢視安全性建置狀態,例如專業分工過細後,權限配置的狀態經一段時間後,往往會遺忘最初設計的分權模式,即可藉由權限分析機制清點列出配置狀態,且可根據帳戶平時的行為操作記錄,來發現權限配置是否恰當,例如具有Insert權限,卻少有執行該指令的動作;或者是掌握存放特殊敏感資料欄位的位置,以及密碼週期性變更、環境配置參數等基本安全項目,同樣皆歸屬於資料庫安全管理的範疇。
著重交易存取記錄
黃久安不諱言,就算是具規模的企業,也很少能完整建置此三層面的保護措施,多數是依照不同產業別有不同考量重點。台灣IBM軟體事業處資深技術顧問張寅建即觀察到,像是銀行、醫療產業對資料庫保護作為相當積極,主因是個資法實施後,該產業主管機關已提出明確定義的規範,才有所依循。至於高科技製造業等未被明確指示應建置資料庫保護措施的產業,亦可借助IBM Guardium內建Data Privacy模組,蒐集全球跟資料隱私權相關法規需實施的控管措施範本,稍加修改即可應用。「但現況是,企業也明白資料庫中存放的機敏資料,是攸關營運競爭力的製造參數,卻仍僅維持在觀望評估階段。」
畢竟資料庫的運行效能是企業最關鍵考量,若是制定防護機制同時還得留存軌跡機制,使得每一筆交易存取行為都進行檢查,恐將影響日常作業。因此張寅建認為,「要達到防護的目的,又不影響日常作業,那麼資料外洩因應範疇就不應僅有資料庫本身,而是從應用層、網路層、端點等可能造成外洩的管道,完整規劃來解決。而資料庫本身則是著重於事後軌跡保存,供數位證據查詢,會是現階段較務實的作法。」
黃久安也認為,IT人員不可能不清楚資料庫的重要性,只是多數以協助提升營運效率為優先考量,除非有重大資安事件爆發,才會引起企業管理層關注,而IT人員也才得以進一步補強應有的防禦機制。
特權用戶須職責分工
而針對資料庫的稽核紀錄機制,不管是Microsoft SQL Server、Oracle等資料庫系統,皆有提供DBMS(Database Management System)工具協助,但普遍的問題是啟用後會耗用運算資源,甚至影響交易回應速度,因此市場上才發展出非侵入方式的DAM解決方案。
McAfee技術經理許力仁說明,所謂非侵入方式主要是以Sniffing為主,記錄來自前端應用程式、觸發執行的SQL語法等資訊,實作方式有閘道器、純代理程式,以及網路閘道器搭配代理程式,共三種模式。
但不論採用哪一種方式實作稽核記錄,皆必須提供發起連線行為的終端用戶追溯機制。亞利安科技總經理范梓芳即指出,追溯機制可說是DAM的重要價值之一,主因是多數資訊系統在開發階段時,普遍未納入資安控管考量,已上線運行的系統,又難以再行更動程式碼,增添可被辨識的參數值,才需要另建機制來解決此問題。「就iMPERVA的作法而言,不僅具DAM機制,亦可啟用監控網頁應用程式防火牆(Web Application Firewall,WAF),藉此監看到來自應用程式的連線請求,以及觸發詢問資料庫系統的Session ID,相互對應後即可正確指出登入者的帳號。」
此外,許力仁亦發現從去年開始至今,國際間接連爆發重大資料外洩事件,開始引發企業端意識到資料庫之所以遭受竊取,仍是最有機會接觸到機密資料者,較容易隱匿盜取行為,年初發生在南韓的金融業委外工程師竊取個資事件即為典型案例,因此針對特權者的控管機制近期也開始受到關注。
特權用戶指的是資料庫管理者、Administrator等擁有系統較高權限者。「其實資料庫系統管理本就內建可配置群組、帳號,並賦予不同存取權限,但特權用戶平日需要執行維運、備份、效能調校等工作,實務上並無太多限制。」黃久安觀察。如今欲避免單一帳號權限過大,首要必須先建立職責分離(Duty Separation)的觀念。也就是讓修改資料庫欄位資料的工作,由程式開發者執行;資料庫管理者僅負責備份與系統維運,取消讀、寫表單權限;而帳號控管工作,則最好由IT管理者、稽核人員來擔任。如此一來,才能利用既有機制來降低潛在的資料外洩風險。