商業周刊出版

自從《個人資料保護法》施行之後,金融業就開始留存員工存取個資的完整紀錄,萬一有不肖員工竊取個資並外流後,可以提供詳細軌跡以利追查。不過,既然已經留存這麼完整的存取資料,與其靜待事後追查,為何不好好利用這樣寶貴的資訊,從中挖掘出可能正在竊取個資的員工呢?

台灣某知名金控公司也是這麼想,而且確實設計簡單的規則型分析報表,把存取次數超過門檻值的員工姓名、存取時間、存取資料等詳細內容提供給直屬主管,由主管判定是否有異常。

我們團隊因緣際會加入後,針對現有機制做了幾個調整。

抓出異常存取紀錄的叢集演算法

一是關於門檻值的設定。原來的門檻值,是由各單位主管自己「依照經驗」決定,因此偵測機制是否有效,關鍵掌握在主管對此事的「態度」上。少數主管認為這個報表既沒實際效用,又加重工作負擔,根本不想看到異常報告,因此就把門檻值設定為幾乎不可能達到的「999」次;有的主管比較小心謹慎(或說疑心病重?),把門檻值設到「3」次,每次都會收到滿滿的報告,但裡面多為假警報。

以行為模式設定偵測規則

於是我們採用離群值概念,利用各部門的歷史存取紀錄計算,找到可抓出明顯異常的存取次數,再將它設定為門檻值。

另外,深入研究詳細的個資存取紀錄後,我們發現不同類型的部門,存取行為模式大不相同。有些部門屬於「朝九晚五型」,多半在上班時間存取個資;另外還有一群是「日夜顛倒型」,只有在中午休息和正常下班時間才會密集存取,像是客服單位;甚至還有「臨時抱佛腳型」,月底或月初才會有大量存取的行為出現。

就算知道行為模式,對於偵測竊取個資行為有什麼幫助嗎?

在團隊進駐之前,偵測規則是一體適用,每個部門都相同,差異僅在於不同的門檻值。而我們給該金控的建議是,對於不同的行為模式,只要稍微調整偵測規則,偵測效果就可以大幅提高,像是明明屬於「朝九晚五型」的員工,下班時間突然密集查詢個資,就是很明顯的異常行為,但同樣的規則(下班密集查詢個資)用在「日夜顛倒型」的員工,就沒有太大的意義。

接著要解決的是技術性問題。該金控的部門數量有幾百個,要分析的存取紀錄有上千萬筆,如何快速看完所有存取紀錄、歸納出各部門的存取模式、再把這幾百個部門依存取模式分群呢?

交給叢集演算法(clustering algorithm)就對了。經過精密的計算以後,它幫我們把幾百個部門自動歸類為五大類型,包含前面提到的「朝九晚五型」、「日夜顛倒型」,每一型都有自己獨特的存取模式,我們再針對不同類型的部門設計適用的偵測規則。

除了舞弊偵測以外,叢集演算法也可以用在日常例行檢查。在台灣,比較大的銀行旗下可能有一、兩百間分行,如果想要選10間分行好好檢查有沒有問題,該怎麼挑比較好?

傳統上不外乎是透過交易額、客戶抱怨次數加上人為主觀判斷,選擇幾個分行做為檢查標的,很難真正涵蓋各種不同類型的分行。我們可以把各分行的屬性資料(如地理位置、交易額、客戶數、客訴量等)交給叢集演算法,分成幾大群後,再從每個群內挑選比較可疑的分行來檢查,這樣不同類型的分行都可以確保被納入檢查範圍。

弊知課:非監督式學習

監督式學習必須有足夠的歷史資料,且資料必須加標籤分類(存活與否、盜刷與否等),或是有對應的關係(業績與廣告預算、佣金與銷售金額等),電腦才能藉此去推論與「學習」。假設沒有這麼完善的資料,或是單純懶得訓練電腦,想試它的能耐,那它能無師自通嗎?

這就是機器學習的第二個領域──非監督式學習(unsupervised Learning),正如在家自學的天才兒童。

許多線上零售或是網路串流媒體,已經發現只要有精準的推薦系統,就可以提高顧客的購買金額,創造強大的黏著力。以Netflix為例,現今有75% 的會員,是透過顯示在頁面的推薦來選擇觀看的影片。要做到精準推薦,就一定要為會員做分群;畢竟品味相似的人,一定也會欣賞對方所喜歡的東西。當然,也有銀行把帳戶交易資料進行分群,和「洗錢」或是「詐騙」行為屬於同一群的交易,有問題的機率也非常高。

而叢集演算法只是非監督式學習的一種,另一大類則是「維度縮減演算法」(dimensionality reduction),目的在於把複雜的資料再進行更強度的濃縮,好加速後續分析的效率,屬於資料處理過程中非常重要的技巧。

機器學習的第三個領域「增強式學習」(reinforcement learning,或稱為「強化學習」),是一個AlphaGo Zero都在用、與《射鵰英雄傳》中老頑童周伯通「左右互搏」概念相去不遠的高階技巧,不過在舞弊防治的應用上較少,故略之。

善用政府公開資料查出異常付款

一位內部稽核界的朋友曾經和我分享,她如何在缺乏內部資料的情況下,善用外部資料查出「供應商終止營業後,公司卻還繼續付款」的異常行為。她從公司內部資訊系統下載了一個Excel檔案,裡面有約5,000筆付款資料,包含實際付款日期、金額、還有供應商名稱、統一編號等欄位,但就是沒有供應商的停業日。接著,她教工讀生如何到經濟部「商工登記公示資料查詢服務」網站輸入供應商的名稱或統一編號,找到公司狀況、停業日期等資料,以及如何與Excel檔付款資料的付款日比對,接下來同樣的步驟工讀生只要重複進行4,999次即可。

知道善用政府的公開資料,已經很不容易。除了透過網站人工查詢外,政府其實已經開放了前述商工登記的資料集(稱為「公司登記基本資料」),並提供一種「電腦與電腦」溝通的介面,稱為API。

上述找工讀生重複查詢的方法,是「人與電腦」的溝通方式,它的處理瓶頸會卡在人對於資訊的擷取與理解速度,而API介面則可讓這個Excel檔(或其他程式)直接和經濟部「商工登記公示資料查詢服務」網站溝通,自動把公司狀況、停業日期等資料輸入到Excel檔內,因為是「電腦與電腦」的溝通,速度飛快,一筆資料查詢加上自動輸入,不用3秒。

弊知課:數據分析的第三元素-工具軟體

有了資料,懂得使用何種分析技巧,最後就是決定要落實在何種工具或平台上了。

曾經風行一時的商業智慧(BI)報表工具,這時就派上用場了。既然已經有整理好的資料,配上使用者可以自行客製化的報表,選對資料配上會用滑鼠拖拉,各種偵測報表即可快速產生,非常有效率。

但是若一開始BI內沒有這個資料,或是需要更特殊的邏輯或規則,還是需要資訊專業人員的介入,溝通上難免雞同鴨講,因此可以自由匯入各種資料、自行寫程式、程式不難寫(甚至不用寫)的電腦輔助稽核工具(CAAT)就順應而生了。知名的有ACL、IDEA,還有開源的Picalo,都可以應付非常大量的資料處理(我曾利用ACL處理過上億筆資料),並且透過使用者介面點選幾下,就可以完成不錯的分析。

隨著機器學習與人工智慧興起,CAAT的發展似乎有點跟不太上,因此,終極使用者開始向Python或R語言靠攏,試圖利用各種套件中的先進演算法來偵測舞弊。舉例來說,星展銀行的新加坡總部裡,內部稽核單位就配置不少會寫Python程式的數據分析專家。

說了這麼多,論點並沒有改變-分析工具就和愛情一樣,沒有最好,只有最適合。(摘錄整理自《財星500大企業稽核師的舞弊現形課》)

 財星500大企業稽核師的舞弊現形課 

高智敏/著

商業周刊出版

售價:380元

 作者簡介 

高智敏

政治大學資訊管理研究所畢業。擁有舞弊防治專業界國際級黃金證照──舞弊稽核師證照。現任《財星》500 大公司駐美內部稽核經理,協助進行舞弊調查、偵測與預防等工作,亦擁有資訊管理、人工智慧、內部稽核、洗錢防制等專業證照。


Advertisement

更多 iThome相關內容