TWI824261B - 異常判定系統、異常判定方法及資訊記憶媒體 - Google Patents
異常判定系統、異常判定方法及資訊記憶媒體 Download PDFInfo
- Publication number
- TWI824261B TWI824261B TW110123570A TW110123570A TWI824261B TW I824261 B TWI824261 B TW I824261B TW 110123570 A TW110123570 A TW 110123570A TW 110123570 A TW110123570 A TW 110123570A TW I824261 B TWI824261 B TW I824261B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- user
- period
- probability
- input
- Prior art date
Links
- 230000005856 abnormality Effects 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000009471 action Effects 0.000 claims abstract description 105
- 230000006399 behavior Effects 0.000 claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 27
- 238000013528 artificial neural network Methods 0.000 claims description 25
- 238000013527 convolutional neural network Methods 0.000 claims description 18
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 239000000463 material Substances 0.000 claims description 3
- 238000010801 machine learning Methods 0.000 abstract description 41
- 230000000875 corresponding effect Effects 0.000 description 45
- 238000012549 training Methods 0.000 description 31
- 238000013500 data storage Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/62—Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33025—Recurrent artificial neural network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Debugging And Monitoring (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
提供一種可確實地判定使用者的行動中的異常之發生的異常判定系統、異常判定方法及資訊記憶媒體。輸入資料生成部(42),係基於表示該當期間中的使用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料。使用者機率資料生成部(48),係基於對已學習之機器學習模型(20)輸入了輸入資料之際的來自於機器學習模型(20)之輸出,而生成使用者機率資料。異常判定部(52),係根據基於最新之期間中的輸入資料而被生成的使用者機率資料、和基於較該當期間還要前面之期間中的輸入資料而被生成的使用者機率資料,來判定該當最新之期間中的該當使用者的行動中是否發生了異常。
Description
本發明係有關於異常判定系統、異常判定方法及資訊記憶媒體。
近年來,分析使用者對電腦資源之行動的UEBA(User and Entity Behavior Analytics)技術,逐漸受到矚目。藉由使用UEBA技術,就可偵測例如帶有惡意之駭客所致之網路攻撃、或帶有惡意之從業員所致之資料外洩等之內部威脅等。
作為如此的UEBA技術之一例,專利文獻1中係記載,判別透過網路的存取之正當性的存取分析系統。在專利文獻1所記載的技術中,基於以關於透過網路之存取的使用者所致之終端的操作的特徵為基礎的使用者的正當性之分析結果、和通訊的正常性之分析結果,來判別透過網路之存取的正當性。
又,非專利文獻1中係揭露,將關於複數個使用者、及複數個協定的,每分鐘的該當使用者以該當協定的存取頻率予以視覺化而成的熱圖,令CNN(Convolutional Neural Network)來進行學習。又,非專利文獻1中係揭露,基於隨應於熱圖之輸入而從已學習之該當CNN的輸出,來偵測使用者的行動中的異常之發生。
[先前技術文獻]
[專利文獻]
[專利文獻1]日本特開2019-144693號公報
[非專利文獻]
[非專利文獻1]Jisheng Wang, "Deep Learning In Security‐An Empirical Example in User & Entity Behavior Analytics (UEBA)", [online], 2017年6月13日,Databricks, [2020年9月23日檢索],網際網路<URL:https://www.youtube.com/watch?v=aAhAJFk1OVc&t=19s>
[發明所欲解決之課題]
在使用者每日使用的電腦資源中,使用者的行動會逐漸緩緩變化的這件事情,是有可能自然發生的。
可是,在非專利文獻1所記載的技術中,是基於從已學習之CNN的單發之輸出,來判定使用者的行動中是否發生異常。然後,於該判定中,到底是因為使用者的行動的劇烈變化而產生該當輸出,還是因為使用者的行動逐漸緩緩變化的結果而最終導致該當輸出,這件事情並未被考慮。
因此,在非專利文獻1所記載的技術中,無論是否為使用者的行動逐漸緩緩變化的狀況,而有可能錯誤判定為使用者的行動中發生了異常。此外,使用專利文獻1所記載的技術也無法解決此課題。
本發明係有鑑於上述課題而研發,其目的之1係為,提供一種可確實地判定使用者的行動中的異常之發生的異常判定系統、異常判定方法及資訊記憶媒體。
[用以解決課題之手段]
本發明所述之異常判定系統,係含有:輸入資料生成手段,係用以針對複數個期間之每一者,基於表示該當期間中的使用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料;和使用者機率資料生成手段,係用以基於對已學習模型輸入了前記輸入資料之際的來自於該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的前記日誌資料即為表示前記使用者的行動之日誌之機率的機率值;和異常判定手段,係用以根據:基於最新之期間中的前記輸入資料而被生成的前記使用者機率資料、和基於較該當期間還要前面之期間中的前記輸入資料而被生成的前記使用者機率資料,來判定該當最新之期間中的前記使用者的行動中是否發生了異常。
在本發明的一態樣中,前記異常判定手段,係根據關於前記最新之期間的前記使用者機率資料所示的機率值、與關於該當期間之前一個期間的前記使用者機率資料所示的機率值的差,是否大於所定之閾值,來判定前記使用者的行動中的異常是否發生。
或者,前記異常判定手段,係根據關於前記最新之期間的前記使用者機率資料所示的機率值、與關於較該當期間還要前面所定數之期間的前記使用者機率資料所示的機率值之代表值,來判定前記使用者的行動中的異常是否發生。
在該態樣中,前記異常判定手段,係亦可根據關於前記最新之期間的前記使用者機率資料所示的機率值、與前記代表值的差,是否大於所定之閾值,來判定前記使用者的行動中的異常是否發生。
又,在本發明的一態樣中,還含有:統計資料生成手段,係用以基於該當期間中的前記日誌資料,而生成表示該當期間中的前記使用者的行動之統計的統計資料;和時間序列輸入資料生成手段,係用以生成該當期間中的時間序列輸入資料,其係被包含有:到該當期間為止的複數個前記期間中的前記統計資料;前記輸入資料生成手段,係生成該當期間中的前記輸入資料,其係被包含有:該當期間中的前記時間序列輸入資料。
在該態樣中,前記統計資料生成手段係亦可生成表示下列其中至少1者的前記統計資料:表示在該當期間中針對至少1個所給定之URL之每一者的存取次數的存取頻率資料、表示在該當期間中對前記電腦資源的最初之存取時刻的最初存取時刻資料、表示在該當期間中對前記電腦資源的最終之存取時刻的最終存取時刻資料、表示對前記電腦資源在該當期間中的存取期間的存取期間資料、表示在該當期間中的往前記電腦資源的總上傳資料大小的總上傳資料大小資料、或表示在該當期間中的從前記電腦資源的總下載資料大小的總下載資料大小資料。
又,前記輸入資料生成手段,係生成該當期間中的前記輸入資料,其係被包含有:基於該當期間中的前記日誌資料而被生成的,將該當日誌資料所示的使用者的行動予以視覺化而成的輸入影像。
在該態樣中,前記輸入影像係亦可為,將關於所給定之應用程式或所給定之協定之其中至少一方的前記使用者的使用狀況予以視覺化而成的影像。
再者,前記輸入影像係亦可為,將1日中的每分鐘之前記使用狀況予以視覺化而成的熱圖。
再者,前記輸入影像係亦可為,以縱或橫之一方的軸來表現每小時之前記使用狀況,以另一方的軸來表現該當小時中的每分鐘之前記使用狀況而成的前記熱圖。
又,前記已學習模型係亦可含有:已學習之第1神經網路、和已學習之第2神經網路;前記使用者機率資料生成手段係基於,對前記已學習之第1神經網路輸入了前記輸入影像、並且對前記已學習之第2神經網路輸入前記時間序列輸入資料之際的來自於前記已學習模型之輸出,而生成前記使用者機率資料。
在該態樣中,前記第1神經網路,係亦可為卷積神經網路。
又,前記第2神經網路,係亦可為遞迴性神經網路(RNN)。
又,在本發明的一態樣中,還含有:警報生成手段,係用以在被判定為發生了前記使用者的行動中的異常之際,生成關於該當使用者的警報。
又,在本發明的一態樣中,還含有:通知手段,係用以在被判定為發生了前記使用者的行動中的異常之際,進行通知。
又,本發明所述之異常判定方法,係含有:針對複數個期間之每一者,基於表示該當期間中的使用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料之步驟;和基於對已學習模型輸入了前記輸入資料之際的來自於該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的前記日誌資料即為表示前記使用者的行動之日誌之機率的機率值之步驟;和根據基於最新之期間中的前記輸入資料而被生成的前記使用者機率資料、和基於較該當期間還要前面之期間中的前記輸入資料而被生成的前記使用者機率資料,來判定該當最新之期間中的前記使用者的行動中是否發生了異常之步驟。
又,本發明所述之資訊記憶媒體,係為記憶程式之資訊記憶媒體,其係令電腦執行:針對複數個期間之每一者,基於表示該當期間中的使用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料之程序;基於對已學習模型輸入了前記輸入資料之際的來自於該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的前記日誌資料即為表示前記使用者的行動之日誌之機率的機率值之程序;根據基於最新之期間中的前記輸入資料而被生成的前記使用者機率資料、和基於較該當期間還要前面之期間中的前記輸入資料而被生成的前記使用者機率資料,來判定該當最新之期間中的前記使用者的行動中是否發生了異常之程序。
以下,基於圖式而詳細說明本發明之一實施形態。
圖1係為本發明的一實施形態所述之異常判定系統1的全體構成之一例的圖示。如圖1所示,本實施形態所述之異常判定系統1,係為例如伺服器電腦或個人電腦等之電腦,係含有:處理器10、記憶部12、通訊部14、操作部16、及輸出部18。此外,在本實施形態所述之異常判定系統1中,亦可被包含有複數台之電腦。
處理器10係為例如,依照異常判定系統1中所被安裝的程式而動作的微處理器等之程式控制裝置。記憶部12係為例如ROM或RAM等之記憶元件、或固態硬碟機(SSD)等。記憶部12中係記憶有:藉由處理器10而被執行的程式等。通訊部14係為例如有線通訊或無線通訊用之通訊介面,透過網際網路等之電腦網路,而與其他電腦或終端之間,授受資料。
操作部16,係為輸入裝置,包含例如觸控面板或滑鼠等之指標裝置或鍵盤等。操作部16係將操作內容,傳達至處理器10。輸出部18係為例如液晶顯示部或有機EL顯示部等之顯示器、或揚聲器等之聲音輸出裝置等之輸出裝置。
此外,作為被記憶在記憶部12中而說明的程式及資料,係亦可透過網路而從其他電腦被供給。又,異常判定系統1的硬體構成,係不限於上記的例子,可適用各式各樣的硬體。例如,異常判定系統1中亦可包含有:將電腦可讀取之資訊記憶媒體予以讀取的讀取部(例如光碟驅動機或記憶卡插槽)或用來與外部機器進行資料之輸出入所需之輸出入部(例如USB埠)。例如,資訊記憶媒體中所被記憶之程式或資料係亦可透過讀取部或輸出入部,而被供給至異常判定系統1。
在本實施形態中係為例如,各式各樣的使用者,係使用使用者終端,而對公司內網路內的檔案伺服器等之所給定之電腦資源進行存取等之行動。此處,作為使用者終端之例子係可舉出:個人電腦、行動電話、智慧型手機、平板終端、伺服器等。
然後,對所給定之電腦資源的存取日誌等,這類表示使用者對所給定之電腦資源之行動之日誌的日誌資料,係被例如網路防火牆所記錄。然後,在本實施形態中,異常判定系統1,係透過通訊部14而存取網路防火牆,將網路防火牆中所被記錄的日誌資料,加以收集。
此處,亦可使用異常判定系統1中所被安裝的,CROWDSTRIKE(註冊商標)等之軟體或使用者代理程式,來進行日誌資料的收集。
此外在本實施形態中係假設,藉由使用異常判定系統1中所被安裝的本文解析腳本等之既存的程式,就可針對各日誌資料,特定出該當日誌資料是表示哪個日期時間之哪個使用者的行動。
又,假設本實施形態所述之各使用者,係預先就被指派了識別資訊(使用者ID)。亦即,在本實施形態中係假設,根據日誌資料就可特定出,進行了該當日誌資料中所被表示之行動的使用者的使用者ID及該當行動的行動日期時間。
然後在本實施形態中係為例如,使用圖2所示的機器學習模型20,基於已被收集之日誌資料,來判定使用者的行動中是否發生了異常。如圖2所示,本實施形態所述之機器學習模型20中係含有:卷積神經網路(CNN) 22、長/短期記憶(LSTM)24、及順向傳播型神經網路(FFNN)26。然後,在判定為使用者的行動中發生了異常之際,例如,關於該當使用者的警報係被生成。
又,在本實施形態中係在進行上述的判定時,事前就進行了機器學習模型20的多模態學習。然後,使用已學習之機器學習模型20(已學習模型),來判定使用者的行動中是否發生了異常。
以下,進一步說明本實施形態所述之異常判定系統1的機能、及異常判定系統1中所被執行的處理。
圖3係為本實施形態所述之異常判定系統1中所被實作的機能之一例的機能區塊圖。此外,本實施形態所述之異常判定系統1中,不需要實作圖3所示的全部機能,又,亦可被實作有圖3所示的機能以外之機能。
如圖3所示,本實施形態所述之異常判定系統1中,在機能上係含有例如:機器學習模型20、日誌記憶部30、日誌分類部32、統計資料生成部34、統計資料記憶部36、時間序列輸入資料生成部38、輸入影像生成部40、輸入資料生成部42、訓練資料記憶部44、學習部46、使用者機率資料生成部48、使用者機率資料記憶部50、異常判定部52、警報生成部54。
機器學習模型20,係以處理器10及記憶部12為主而被實作。日誌記憶部30、統計資料記憶部36、訓練資料記憶部44、使用者機率資料記憶部50,係以記憶部12為主而被實作。日誌分類部32、統計資料生成部34、時間序列輸入資料生成部38、輸入影像生成部40、輸入資料生成部42、學習部46、使用者機率資料生成部48、異常判定部52,係以處理器10為主而被實作。警報生成部54,係以處理器10、記憶部12、輸出部18為主而被實作。
如上述,在本實施形態中,在進行使用者的行動中是否發生了異常之判定時,事前就已執行過機器學習模型20之學習。機器學習模型20、日誌記憶部30、日誌分類部32、統計資料生成部34、統計資料記憶部36、時間序列輸入資料生成部38、輸入影像生成部40、輸入資料生成部42、訓練資料記憶部44、及學習部46,是相當於機器學習模型20之學習所涉及之機能。
然後,機器學習模型20、日誌記憶部30、日誌分類部32、統計資料生成部34、統計資料記憶部36、時間序列輸入資料生成部38、輸入影像生成部40、輸入資料生成部42、使用者機率資料生成部48、使用者機率資料記憶部50、異常判定部52、警報生成部54,是相當於使用已學習之機器學習模型20(已學習模型)的異常判定所涉及之機能。
以上的機能係亦可藉由,屬於電腦的異常判定系統1中所被安裝的含有對應於以上之機能之指令的程式,以處理器10加以執行,而被實作。又,該程式亦可透過例如:光碟、磁碟、磁帶、光磁碟等之電腦可讀取之資訊記憶媒體,或是透過網際網路等,而被供給至異常判定系統1。
機器學習模型20,在本實施形態中係為例如,如圖2所示,含有CNN22、LSTM24、及FFNN26的機器學習模型。
如圖2所示,在本實施形態中係為例如,基於日誌資料而被生成的後述之輸入影像群,係被輸入至CNN22,同時,基於該當日誌資料而被生成的後述之時間序列輸入資料係被輸入至LSTM24。
然後,來自CNN22之輸出也就是第1特徵量資料、與來自LSTM24之輸出也就是第2特徵量資料所結合而成的結合特徵量資料,係被生成。然後,結合特徵量資料,係被輸入至FFNN26。
作為FFNN26的輸出層的活化函數,係被實作了Softmax函數,結合特徵量資料之輸入所相應的來自FFNN26之輸出,係稱為使用者機率向量。使用者機率向量係為,具有與異常判定之對象也就是使用者數相同數量之要素的向量。各要素,係預先與使用者ID建立對應。然後,對各要素係被設定有,將該當日誌資料即為表示該當要素所被建立對應之使用者的行動之日誌的機率予以表示的落在0以上1以下之值的機率值。
以下,說明機器學習模型20之學習所涉及之機能。
日誌記憶部30,在本實施形態中,係將從網路防火牆所被收集之日誌資料,予以複數記憶。
日誌分類部32,在本實施形態中係為例如,將日誌記憶部30中所被記憶之複數個日誌資料,按照每一使用者、及每行動日而予以分類。日誌分類部32係例如,針對各日誌資料,將進行了該當日誌資料中所被表示之行動的使用者的使用者ID及該當行動的行動日,予以特定。然後,日誌分類部32係例如,對該當日誌資料,將已被特定之使用者ID、及表示已被特定之行動日的行動日資料,建立關連。
統計資料生成部34,在本實施形態中係為例如,針對複數個使用者之每一者,基於所定之期間(例如1日)中的表示該當使用者之行動的日誌資料,而生成表示該當期間中的該當使用者的行動之統計的統計資料。
圖4係為統計資料的資料結構之一例的圖示。如圖4所示,統計資料中係含有例如:複數個存取頻率資料(在圖4的例子中係為第1存取頻率資料~第500存取頻率資料)、最初存取時刻資料、最終存取資料、存取期間資料、總上傳資料大小資料、總下載資料大小資料。
存取頻率資料係為例如,表示在該當期間中針對至少1個所給定之URL之每一者的存取次數的資料。此處係為例如,一般會被存取的所給定之URL是被預先決定500個,而生成表示對各個URL之存取次數的存取頻率資料。其結果為,所被生成的統計資料中,係會含有500個存取頻率資料。
最初存取時刻資料係為表示例如,該當使用者所致之,對所給定之電腦資源在該當期間(例如該當日)中的最初之存取時刻的資料。
最終存取時刻資料係為表示例如,該當使用者所致之,對所給定之電腦資源在該當期間(例如該當日)中的最終之存取時刻的資料。
存取期間資料係為表示例如,該當使用者所致之,對所給定之電腦資源在該當期間(例如該當日)中的存取期間資料的資料。存取期間資料中係被表示有例如,對所給定之電腦資源於該當期間中該當使用者最初進行存取的時刻(最初之存取時刻)到最後存取的時刻(最終之存取時刻)為止之期間。
總上傳資料大小資料係為表示例如,該當使用者所致之,往所給定之電腦資源在該當期間(例如該當日)中的總上傳資料大小的資料。
總下載資料大小資料係為表示例如,該當使用者所致之,從所給定之電腦資源在該當期間(例如該當日)中的總下載資料大小的資料。
統計資料生成部34係將例如,某個使用者ID與表示某個行動日的行動日資料之組合所被建立關連的至少1個日誌資料,予以特定。然後,統計資料生成部34係例如,基於已被特定之日誌資料,而生成統計資料。然後,統計資料生成部34係例如,對已被生成之統計資料,將該當使用者ID及該當行動日資料,建立關連。然後,統計資料生成部34係例如,將使用者ID及行動日資料所被建立關連的統計資料,記憶在統計資料記憶部36中。
統計資料記憶部36,在本實施形態中係為例如,將統計資料生成部34所生成的統計資料,加以記憶。
時間序列輸入資料生成部38,在本實施形態中係為例如,基於統計資料記憶部36中所被記憶之統計資料,而將被包含有該當期間為止的複數個期間中的統計資料的,該當期間中的時間序列輸入資料,予以生成。此處係生成例如,被包含有3~5個連續之期間中的統計資料的時間序列輸入資料。圖5係為時間序列輸入資料的資料結構之一例的圖示。此處作為一例,假設關於3日間的表示使用者的行動之統計的時間序列輸入資料係被生成。
時間序列輸入資料生成部38,在本實施形態中係為例如,將某個使用者ID與表示某個行動日的行動日資料之組合所被建立關連的統計資料,予以特定。如此所被特定的統計資料,稱作當日統計資料。
然後,時間序列輸入資料生成部38係將例如,該當使用者ID與表示當日統計資料所被建立對應之行動日之前日的行動日資料之組合所被建立關連的統計資料,予以特定。如此所被特定的統計資料,稱作1日前統計資料。
然後,時間序列輸入資料生成部38係將例如,該當使用者ID與表示1日前統計資料所被建立對應之行動日之前日的行動日資料之組合所被建立關連的統計資料,予以特定。如此所被特定的統計資料,稱作2日前統計資料。
然後,時間序列輸入資料生成部38係生成例如,含有:已被特定之2日前統計資料、已被特定之1日前統計資料、及已被特定之當日統計資料的時間序列輸入資料。然後,時間序列輸入資料生成部38,係對已被生成之時間序列輸入資料,將該當使用者ID及該當時間序列輸入資料中所含之當日統計資料所被建立對應的行動日予以表示的行動日資料,建立關連。
輸入影像生成部40,在本實施形態中係為例如,基於所定之期間(例如1日)中的某個使用者之日誌資料,而生成將該當日誌資料所示的使用者的行動予以視覺化而成的輸入影像。此處,輸入影像生成部40係亦可生成,將關於所給定之應用程式或所給定之協定之中之至少一方的使用者之使用狀況(例如使用次數或存取次數)予以視覺化而成的影像也就是輸入影像。
此外,在本實施形態中,係藉由網路防火牆,而將表示所被使用的應用程式或協定的標籤,賦予至日誌資料。因此在本實施形態中,係可基於該當標籤,而生成輸入影像。此處,亦可基於未被賦予標籤的(亦即在網路防火牆中無法分類的)日誌資料,而生成相當於「其他」的輸入影像。
又,輸入影像生成部40,係亦可針對複數個應用程式或協定,而生成將該當應用程式、或該當協定之使用狀況予以視覺化而成的輸入影像。然後,輸入影像生成部40係亦可生成,分別含有針對彼此不同之複數個應用程式或協定而被生成之輸入影像的,圖6所示之資料結構的輸入影像群。如圖6所示,所被生成的輸入影像群係含有,針對n個應用程式或協定所被生成之n個輸入影像。又,假設輸入影像群中的輸入影像所被建立對應之應用程式或協定之順序係被預先決定。
輸入影像生成部40,在本實施形態中係為例如,將某個使用者ID與表示某個行動日的行動日資料之組合所被建立關連的日誌資料,予以特定。然後,輸入影像生成部40,係基於這些日誌資料,而將關於所定之複數個應用程式或協定的使用狀況,予以特定。然後,輸入影像生成部40,係基於已被特定之使用狀況,而生成輸入影像群。然後,輸入影像生成部40,係對已被生成之輸入影像群,將該當使用者ID及該當行動日資料,建立關連。
此處,作為被輸入影像表示使用狀況的應用程式之例子,係可舉出Microsoft Teams(註冊商標)等之聊天應用程式、Microsoft Outlook(註冊商標)等之郵件應用程式、Microsoft(註冊商標)Update、Sharepoint(註冊商標)、Slack(註冊商標)、Dropbox(註冊商標)、Viber(註冊商標)等。
又,作為被輸入影像表示使用狀況的協定之例子,係可舉出SSL(Secure Sockets Layer)、DNS(Domain Name System)、HTTP(Hyper Text Transfer Protocol)、SMTP(Simple Mail Transfer Protocol)等。
圖7係為本實施形態所述之輸入影像之一例的模式性圖示。圖7中所例示的輸入影像係為,將關於特定之應用程式或是特定之協定的,1日中的每分鐘之使用狀況予以視覺化而成的熱圖。
圖7所示的輸入影像中係含有縱24×橫60的共計1440個小影像。此外,小影像係亦可為由1個像素所成之影像(亦即像素)。又,各小影像之大小或形狀亦可相同。各個小影像,係與1分鐘建立對應。例如,輸入影像中所含之最左上之小影像,係被與0時0分建立對應,從上起算第7個且從左起算第11個小影像,係被與6時10分建立對應。如此,本實施形態所述之輸入影像亦可為,以縱或橫之一方的軸來表現每小時之使用狀況,以另一方的軸來表現該當小時中的每分鐘之使用狀況而成的熱圖。
此外,於輸入影像中,並不一定要以縱軸來表現每小時之使用狀況,以橫軸來表現該當小時中的每分鐘之使用狀況,亦可為,以橫軸來表現每小時之使用狀況,以縱軸來表現該當小時中的每分鐘之使用狀況。
然後,該當小影像之像素值,係對應於該當小影像所被建立對應之1分鐘內的使用狀況。此處係為例如,使用狀況越高的1分鐘所對應之小影像則該當小影像的顏色就越接近黑色,使用狀況越低的1分鐘所對應之小影像則該當小影像的顏色就越接近白色。此外,輸入影像亦可為黑白影像,亦可為彩色影像。輸入影像是彩色影像的情況下,亦可不是用小影像的濃淡而是用小影像的顏色,來對應於使用狀況。
輸入資料生成部42,在本實施形態中係為例如,針對複數個期間之每一者,基於該當期間中的日誌資料,而生成與該當日誌資料建立對應的,該當期間中的訓練資料。
圖8係為機器學習模型20的學習之際所被生成的訓練資料的資料結構之一例的圖示。在本實施形態中係為例如,將與使用者ID與行動日之組合分別建立對應的訓練資料,予以複數生成。使用者ID與行動日之組合所被建立對應的訓練資料中係含有例如:該當使用者ID、表示該當行動日的行動日資料、及輸入資料。然後,輸入資料中係含有:該當使用者ID與該當行動日資料所被建立關連的輸入影像群、及該當使用者ID與該當行動日資料所被建立關連的時間序列輸入資料。
在機器學習模型20的學習之際,輸入資料生成部42,係將已被生成之訓練資料,記憶在訓練資料記憶部44中。
在本實施形態中係為例如,各式各樣的使用者ID與各式各樣的行動日所被建立關連的許多的訓練資料,是被記憶在訓練資料記憶部44中。
學習部46,在本實施形態中係為例如,使用訓練資料記憶部44中所被記憶之訓練資料,來執行機器學習模型20之學習。
學習部46係例如,將訓練資料中所含之輸入影像群,輸入至CNN22,同時,將該當訓練資料中所含之時間序列輸入資料,輸入至LSTM24。
然後,學習部46係生成,將該當輸入影像群之輸入所相應之來自CNN22之輸出也就是第1特徵量資料、與該當時間序列輸入資料之輸入所相應之來自LSTM24之輸出也就是第2特徵量資料予以結合而成的結合特徵量資料。
然後,學習部46,係將結合特徵量資料,輸入至FFNN26。
然後,學習部46係生成,該當訓練資料中所含之使用者ID所被建立對應之教師向量。教師向量,係為具有與使用者機率向量相同數量之要素的向量。然後,對該當訓練資料中所含之使用者ID所被建立對應之要素係被設定了值1,對其他要素係被設定了值0的教師向量,係被生成。
然後,學習部46係將例如,結合特徵量資料之輸入所相應之來自FFNN26之輸出也就是使用者機率向量與已被生成之教師向量的差,予以特定。然後,學習部46,係以使得已被特定的差所被建立對應之損失函數之值呈最小的方式,執行藉由誤差反向傳播法而將機器學習模型之各層的參數之值予以更新的監督式學習。
藉由針對複數個訓練資料執行以上的學習,本實施形態所述之機器學習模型20的學習就被執行。然後,如此所被生成的已學習之機器學習模型20中係會含有:已學習之CNN22、已學習之LSTM24、已學習之FFNN26。
以下說明,使用已學習之機器學習模型20 (已學習模型),來判定使用者的行動中是否發生了異常所涉及之機能。
在以下的說明中,作為一例,雖然說明針對使用者ID為0001的使用者的行動中是否發生了異常的判定,但關於其他使用者當然也可以進行同樣的判定。
又,在本實施形態中,關於使用者的行動中是否發生了異常的判定,係針對複數個判定對象期間(例如複數個判定對象日),而被重複進行。
此外,假設在日誌記憶部30中係至少被記憶有,在進行各判定之際,從該當判定中的判定對象日之2日前至判定對象日為止的日誌資料。
日誌分類部32,係從日誌記憶部30中所被記憶的日誌資料之中,抽出表示使用者ID為0001之使用者的行動的日誌資料。然後,日誌分類部32,係從這些日誌資料之中,抽出表示從判定對象日之2日前到判定對象日為止之行動的日誌資料。
然後,統計資料生成部34係生成,從判定對象日之2日前到判定對象日為止之3日所分別被建立對應的統計資料。
然後,時間序列輸入資料生成部38係生成,將判定對象日之2日前的統計資料當作2日前統計資料而含有,將判定對象日之1日前的統計資料當作1日前統計資料而含有,將判定對象日之統計資料當作當日統計資料而含有的時間序列輸入資料。
然後,輸入影像生成部40,係基於判定對象日的日誌資料,而生成輸入影像群。
然後,輸入資料生成部42係生成,含有已被生成之時間序列輸入資料、和已被生成之輸入影像群的輸入資料。
使用者機率資料生成部48,在本實施形態中係為例如,基於對已學習模型輸入了輸入資料之際的來自該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的日誌資料即為表示使用者的行動之日誌之機率的機率值。
例如,使用者機率資料生成部48,係將已被生成之輸入資料中所含之輸入影像群,輸入至已學習之CNN22,同時,將該當輸入資料中所含之時間序列輸入資料,輸入至已學習之LSTM24。
然後,使用者機率資料生成部48係生成,將該當輸入影像群之輸入所相應之來自CNN22之輸出也就是第1特徵量資料、與該當時間序列輸入資料之輸入所相應之來自LSTM24之輸出也就是第2特徵量資料予以結合而成的結合特徵量資料。
然後,使用者機率資料生成部48,係將結合特徵量資料,輸入至FFNN26。
然後,使用者機率資料生成部48係例如,基於結合特徵量資料之輸入所相應之來自FFNN26之輸出也就是使用者機率向量,而生成圖9所例示的使用者機率資料。
使用者機率資料中係含有:該當使用者之使用者ID、表示該當判定對象日的行動日資料、表示使用者機率向量中的該當使用者所被建立對應之要素之值(機率值)的機率值資料。此外,在圖9所示的機率值資料中,機率值並非以0以上1以下之值,而是以百分率而被表現。
然後,使用者機率資料生成部48,係將已被生成之使用者機率資料,記憶在使用者機率資料記憶部50中。
在本實施形態中,係如上述,輸入資料生成部42,係針對複數個判定對象期間之每一者,基於該當判定對象期間中的日誌資料,而生成與該當日誌資料建立對應的,該當判定對象期間中的輸入資料。然後,使用者機率資料生成部48,係針對該當複數個判定對象期間之每一者,基於對已學習模型輸入了該當判定對象期間中的輸入資料之際的來自該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應之日誌資料即為表示該當使用者的行動之日誌之機率的機率值。然後,已被生成之使用者機率資料,係被積存在使用者機率資料記憶部50中。
如此一來,例如,關於複數個判定對象期間(例如複數個判定對象日)之每一者的,基於該當判定對象期間(例如該當判定對象日)之日誌資料而被生成的使用者機率資料,就會被逐漸積存在使用者機率資料記憶部50中。
異常判定部52,在本實施形態中係為例如,根據基於最新之期間中的輸入資料而被生成的使用者機率資料、和基於較該當期間還要前面之期間中的輸入資料而被生成的使用者機率資料,來判定該當最新之期間中的該當使用者的行動中是否發生了異常。
此處,異常判定部52是基於,關於最新之期間的使用者機率資料所示的機率值、與關於該當期間之前一個期間的使用者機率資料所示的機率值的差,是否大於所定之閾值,來判定該當使用者的行動中的異常是否發生。
例如,假設所定之閾值係為15%,最新之期間係為2020年9月10日。此情況下,關於使用者ID為0001之使用者的,2020年9月9日的使用者機率資料中所含之機率值資料之值,假設係為60%。然後,9月10日的使用者機率資料中所含之機率值資料之值,假設係為40%。此情況下係判定為,使用者ID為0001之使用者的2020年9月10日的行動中,發生了異常。
另一方面,2020年9月9日的使用者機率資料中所含之機率值資料之值,假設係為60%。然後,9月10日~9月13日的使用者機率資料中所含之機率值資料之值,係分別假設為55%、50%、45%、40%。此情況下,針對2020年9月10日~13日之任一日,判定為使用者ID為0001之使用者的行動中沒有發生異常。
又,異常判定部52係亦可基於,關於最新之期間的使用者機率資料所示的機率值、與關於較該當期間還要前面所定數之期間的使用者機率資料所示的機率值之代表值,來判定該當使用者的行動中的異常是否發生。例如,亦可基於,關於最新之期間的使用者機率資料所示的機率值、與上述之代表值的差,是否大於所定之閾值,來判定該當使用者的行動中的異常是否發生。
例如,這裡也假設,所定之閾值係為15%。此情況下,關於使用者ID為0001之使用者的,2020年9月7日~9日的使用者機率資料中所含之機率值資料之值的平均值,假設係為60%。然後,9月10日的使用者機率資料中所含之機率值資料之值,假設係為40%。此情況下係判定為,使用者ID為0001之使用者的2020年9月10日的行動中,發生了異常。
另一方面,2020年9月7日~9日的使用者機率資料中所含之機率值資料之值的平均值,假設係為50 %。然後,9月10日的使用者機率資料中所含之機率值資料之值,假設係為40%。此情況下係判定為,使用者ID為0001之使用者的2020年9月10日的行動中,沒有發生異常。
此外,上述的例子中雖然所定數之期間係為3個期間,但該當所定數係不限定於3。又,在上述的例子中,雖然是基於平均值,來判定該當使用者的行動中的異常是否發生,但亦可基於其他的代表值(最大值、最小值、中央值、最眾值等),來判定該當使用者的行動中的異常是否發生。
又,亦可使用單純移動平均、指數移動平均、衰減移動平均等之各式各樣的統計的手法,來算出代表值。
又,不需要基於關於最新之期間之前一個期間的使用者機率資料所示的機率值,來判定該當使用者的行動中的異常是否發生。例如,亦可基於從最新之期間的前m個之期間起到前n個期間為止的使用者機率資料中所含之機率值資料之值的代表值,來判定該當使用者的行動中的異常是否發生。又,在機率值的比較時,亦可採用移動窗(moving window)、增加移動窗(incresing moving window)、或同樣之手法。
在以上的例子中,輸入影像或時間序列輸入資料的累計單位之期間(例如1日)與判定間隔之期間(例如1日)雖然是一致,但累計單位之期間與判定間隔之期間並無必要一致。例如,關於複數個判定對象期間,輸入影像或時間序列輸入資料的累計期間之至少一部分亦可重複。例如,雖然輸入影像或當日統計資料係基於異常判定所被進行之時序的最近1日的日誌資料而被生成,但異常判定之間隔,係亦可為比1日還短的期間(例如1小時),或者比1日還長的期間(例如3日)皆無妨。
警報生成部54,在本實施形態中係為例如,在判定為使用者的行動中發生了異常之際,生成關於該當使用者的警報。例如,在判定為使用者ID為0001之使用者的2020年9月10日的行動中發生了異常之際,係亦可生成含有該當使用者ID、及表示該當行動日(2020年9月10日)之行動日資料的警報資料。然後,警報生成部54,係亦可將已被生成之警報資料,記憶在記憶部12中。
又,警報生成部54係亦可在被判定為使用者的行動中發生了異常之際,進行通知。此處,警報生成部54係亦可例如,在警報資料已被生成之際,透過輸出部18,進行警報之顯示或警報音之輸出等這類意旨之通知。
此處,將本實施形態所述之異常判定系統1中所被進行的學習處理的流程之一例,一面參照圖10所例示的流程圖一面加以說明。在本處理例中,假設機器學習模型20之學習中所被用的日誌資料,是事前就被記憶在日誌記憶部30中。
首先,日誌分類部32,係將日誌記憶部30中所被記憶之日誌資料進行分類,對各日誌資料,將使用者ID及行動日資料,建立關連(S101)。
然後,統計資料生成部34,係基於已被執行過S101所示之處理的日誌資料,將分別與使用者ID及行動日資料建立關連的統計資料予以複數生成,將已被生成之統計資料,記憶在統計資料記憶部36中(S102)。
然後,時間序列輸入資料生成部38,係基於在S102所示之處理中被記憶在統計資料記憶部36中的統計資料,而將分別與使用者ID及行動日資料建立關連的時間序列輸入資料予以複數生成(S103)。
然後,輸入影像生成部40,係基於已被執行過S101所示之處理的日誌資料,而將分別與使用者ID及行動日資料建立關連的輸入影像群,予以複數生成(S104)。
然後,輸入資料生成部42,係基於S103所示之處理中所被生成的時間序列輸入資料、和S104所示之處理中所被生成的輸入影像群,而將訓練資料予以複數生成,將已被生成之訓練資料,記憶在訓練資料記憶部44中(S105)。
然後,學習部46,係從訓練資料記憶部44中所被記憶之訓練資料之中,選擇出尚未被執行過S107所示之處理的1個(S106)。
然後,學習部46係執行,將S106所示之處理中所被選擇的訓練資料,令機器學習模型20進行學習的學習處理(S107)。
然後,學習部46,係針對訓練資料記憶部44中所被記憶之所有的訓練資料,確認是否都已經被執行過S107所示之處理(S108)。
在確認到並非針對所有的訓練資料都已經被執行過S107所示之處理的情況下(S108:N),則回到S106所示之處理。
在確認到針對所有的訓練資料都已經被執行過S107所示之處理的情況下(S108:Y),則本處理例所示的處理就被結束。
此外,圖10所示的處理之順序係沒有特別限定。例如,S104所示之處理,亦可在S102及S103所示之處理之前被執行。
接著,本實施形態所述之異常判定系統1中所被進行的,關於某個使用者的異常判定處理的流程之一例,一面參照圖11所例示的流程圖一面加以說明。在本處理例中,假設機器學習模型20係為預先已學習,與最新的使用者機率資料進行比較的使用者機率資料,係已經被記憶在使用者機率資料記憶部50中。又,在本處理例中,假設日誌資料之收集係有適宜地被進行。
首先,日誌分類部32,係監視著進行異常判定之時序的到來(S201)。例如,作為進行異常判定之時序的例子,係舉出每日的所定之時刻等。
一旦進行異常判定之時序到來,則日誌分類部32,係將日誌記憶部30中所被記憶之日誌資料進行分類,對各日誌資料,將使用者ID及行動日資料,建立關連(S202)。此處,關於尚未與使用者ID及行動日資料建立關連的日誌資料,亦可與使用者ID及行動日資料建立關連。或者在該時序上,日誌分類部32係亦可收集最新之日誌資料,對已被收集之日誌資料,將使用者ID及行動日資料建立關連。
然後,日誌分類部32,係將滿足所定之條件的日誌資料予以抽出(S203)。此處例如,異常判定之對象的使用者的使用者ID、及表示從2日前到當日為止的任之行動日的行動日資料所被建立關連的日誌資料,係被抽出。
然後,統計資料生成部34,係基於S203所示之處理中所被抽出的日誌資料,而生成3日份的統計資料,將已被生成之統計資料,記憶在統計資料記憶部36中(S204)。
然後,時間序列輸入資料生成部38,係基於在S204所示的處理中被記憶在統計資料記憶部36中的統計資料,而將與使用者ID及行動日資料建立關連的時間序列輸入資料予以生成(S205)。
然後,輸入影像生成部40係基於S203所示之處理中所被抽出的日誌資料之中的,表示當日的行動日資料所被建立關連的日誌資料,而生成輸入影像群(S206)。
然後,輸入資料生成部42係生成,含有S205所示之處理中所被生成的時間序列輸入資料、和S206所示之處理中所被生成的輸入影像群的輸入資料(S207)。
然後,使用者機率資料生成部48,係生成使用者機率資料,將已被生成之使用者機率資料,記憶在使用者機率資料記憶部50中(S208)。在S208所示之處理中,例如,使用者機率資料生成部48,係將S207所示之處理中所被生成的輸入資料,輸入至已學習之機器學習模型20。然後,使用者機率資料生成部48,係將該當輸入所相應之來自於機器學習模型20之輸出也就是使用者機率向量,加以取得。然後,使用者機率資料生成部48,係基於已被取得之使用者機率向量,而生成使用者機率資料。然後,使用者機率資料生成部48,係將已被生成之使用者機率資料,記憶在使用者機率資料記憶部50中。
然後,異常判定部52,係基於S208所示之處理中新被生成之使用者機率資料、和使用者機率資料記憶部50中已經被記憶的使用者機率資料,來判定該當使用者的行動中是否發生了異常(S209)。
然後,警報生成部54係確認,S209所示之處理中是否已被判定為發生了異常(S210)。
在已被判定為發生了異常的情況下(S210:Y),則警報生成部54係生成關於該當使用者的警報(S211)。
S211所示之處理已結束的情況、或S210所示之處理中判定為未發生異常的情況下(S210:N),則回到S201所示之處理。
此外,圖11所示的處理之順序係沒有特別限定。例如,S206所示之處理,亦可在S204及S205所示之處理之前被執行。
圖11中雖然圖示了關於某個使用者的異常判定處理的流程之一例,但在本實施形態中係為例如,該異常判定處理,係針對會成為判定之對象的所有使用者,都會同樣地執行。如此一來,在本實施形態中,針對利用所給定之電腦資源的各式各樣的使用者,就可判定該當使用者的行動中的異常之發生。
於本實施形態中,例如,考慮基於單獨的使用者機率資料所示的機率值,判定使用者的行動中是否發生了異常。
可是,在使用者每日使用的電腦資源中,使用者的行動會逐漸緩緩變化的這件事情,是有可能自然發生的。
然後,在基於單獨之使用者機率資料所示的機率值的判定中,到底是因為使用者的行動的劇烈變化而產生該當輸出,還是因為使用者的行動逐漸緩緩變化的結果而最終導致該當輸出,這件事情並未被考慮。
因此,無論是否為使用者的行動逐漸緩緩變化的狀況,而有可能錯誤判定為使用者的行動中發生了異常。例如,假設使用者的行動逐漸緩緩變化的結果,導致該當使用者的機率值達到了30%。此處,例如,單獨之使用者機率資料所示的機率值若未滿50%則判定為異常的情況下,則有可能導致錯誤判定為該當使用者的行動中發生了異常。另一方面,在本實施形態中,若是如此的狀況,則不會被判定成發生了異常,因此可提高能夠確實判定關於該當使用者的行動之異常的可能性。
如此一來,若依據本實施形態,則可確實地判定使用者的行動中的異常之發生。
此外,本發明係不限定於上述的實施形態。
例如,於本實施形態中,上述的日誌資料亦可被記錄在例如:網路防火牆、路由器、交換式集線器等之各式各樣的機器中。然後,在本實施形態中,異常判定系統1,係亦可透過通訊部14而向這些機器進行存取,將這些機器中所被記錄的日誌資料,加以收集。然後,日誌記憶部30,係亦可將從各式各樣的機器所收集到的日誌資料,加以記憶。然後,亦可基於從各式各樣的機器所被收集到的日誌資料,來判定使用者的行動中是否發生了異常。
又,藉由存取頻率資料而被表示存取次數的URL,係亦可並非一般會被存取的URL,而是特定之URL或一般不會被存取(極少被存取)的URL。又,藉由存取頻率資料而被表示存取次數的URL,係亦可為一般會被存取的URL、以及特定之URL或一般不會被存取(極少被存取)的URL。
又,亦可將與時間序列輸入資料或輸入影像不同的特徵量,輸入至機器學習模型20。此情況下,亦可對FFNN26等之多模態管線,結合其他的神經網路。
又,日誌資料的收集,係亦可由異常判定系統1來執行,亦可由異常判定系統1以外之電腦系統來執行。
又,作為FFNN26的輸出層的活化函數,亦可實作有Sigmoid函數。此情況下,由於需要身為異常判定之對象的使用者數所相對應之數量的Sigmoid函數,因此分別被實作有複數個Sigmoid函數的複數個神經網路,亦可被包含在機器學習模型20中。
又,機器學習模型20,亦可取代LSTM,改為含有LSTM以外之神經網路(例如閘控遞迴單位(GRU)等之遞迴性神經網路(RNN)、或者單純的FFNN等)。然後,亦可對該當神經網路,輸入時間序列輸入資料。
又,相當於輸入影像中所含之1440個小影像(或像素)的資訊,亦可不是以2維的影像而是以1×1440之1維的向量的方式來表現。然後,機器學習模型20,係亦可取代CNN,改為含有CNN以外之神經網路。然後,亦可對該當神經網路,輸入1×1440之1維的向量。又,亦可藉由使用自然語言處理(NLP)中經常被使用的嵌入表現,而把輸入影像之資訊,嵌入至1維之資訊。
又,機器學習模型20亦可由1種類的神經網路來構成,而對該當神經網路輸入時間序列輸入資料及輸入影像。例如,相當於輸入影像的1維向量之資訊,亦可連同時間序列輸入資料一併被輸入至LSTM。又,亦可將被時間序列輸入資料所表示的資訊以影像來做表現之後,將該當影像連同輸入影像一併輸入至CNN。像這樣,本實施形態所述之機器學習模型20,並不一定要限定為多模態的機器學習模型。但是,機器學習模型20是多模態的機器學習模型時,相較於其以外的情況,可用較高的精度來進行異常判定。
又,在本實施形態中,並不一定要在異常判定系統1中進行機器學習模型20之學習,亦可藉由把已學習模型安裝至異常判定系統1,來進行使用了該當已學習模型的在異常判定系統1中的異常判定。
又,上記的具體的字串或數值及圖式中的具體的字串或數值係為例示,並不限定於這些字串或數值。
1:異常判定系統
10:處理器
12:記憶部
14:通訊部
16:操作部
18:輸出部
20:機器學習模型
22:卷積神經網路
24:長/短期記憶
26:順向傳播型神經網路
30:日誌記憶部
32:日誌分類部
34:統計資料生成部
36:統計資料記憶部
38:時間序列輸入資料生成部
40:輸入影像生成部
42:輸入資料生成部
44:訓練資料記憶部
46:學習部
48:使用者機率資料生成部
50:使用者機率資料記憶部
52:異常判定部
54:警報生成部
[圖1]本發明的一實施形態所述之異常判定系統的全體構成之一例的圖示。
[圖2]機器學習模型之一例的圖示。
[圖3]本發明的一實施形態所述之異常判定系統的機能之一例的機能區塊圖。
[圖4]統計資料的資料結構之一例的圖示。
[圖5]時間序列輸入資料的資料結構之一例的圖示。
[圖6]輸入影像群的資料結構之一例的圖示。
[圖7]輸入影像之一例的模式性圖示。
[圖8]訓練資料的資料結構之一例的圖示。
[圖9]使用者機率資料之一例的圖示。
[圖10]本發明的一實施形態所述之異常判定中所被進行的學習處理的流程之一例的流程圖。
[圖11]本發明的一實施形態所述之異常判定中所被進行的異常判定處理的流程之一例的流程圖。
1:異常判定系統
20:機器學習模型
30:日誌記憶部
32:日誌分類部
34:統計資料生成部
36:統計資料記憶部
38:時間序列輸入資料生成部
40:輸入影像生成部
42:輸入資料生成部
44:訓練資料記憶部
46:學習部
48:使用者機率資料生成部
50:使用者機率資料記憶部
52:異常判定部
54:警報生成部
Claims (17)
- 一種異常判定系統,其特徵為,含有:輸入資料生成手段,係用以針對複數個期間之每一者,基於表示該當期間中的使用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料;和使用者機率資料生成手段,係用以基於對已學習模型輸入了前記輸入資料之際的來自於該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的前記日誌資料即為表示前記使用者的行動之日誌之機率的機率值;和異常判定手段,係用以根據:基於最新之期間中的前記輸入資料而被生成的前記使用者機率資料、和基於較該當期間還要前面之期間中的前記輸入資料而被生成的前記使用者機率資料,來判定該當最新之期間中的前記使用者的行動中是否發生了異常。
- 如請求項1所記載之異常判定系統,其中,前記異常判定手段,係根據關於前記最新之期間的前記使用者機率資料所示的機率值、與關於該當期間之前一個期間的前記使用者機率資料所示的機率值的差,是否大於所定之閾值,來判定前記使用者的行動中的異常是否發生。
- 如請求項1所記載之異常判定系統,其 中,前記異常判定手段,係根據關於前記最新之期間的前記使用者機率資料所示的機率值、與關於較該當期間還要前面所定數之期間的前記使用者機率資料所示的機率值之代表值,來判定前記使用者的行動中的異常是否發生。
- 如請求項3所記載之異常判定系統,其中,前記異常判定手段,係根據關於前記最新之期間的前記使用者機率資料所示的機率值、與前記代表值的差,是否大於所定之閾值,來判定前記使用者的行動中的異常是否發生。
- 如請求項1所記載之異常判定系統,其中,還含有:統計資料生成手段,係用以基於該當期間中的前記日誌資料,而生成表示該當期間中的前記使用者的行動之統計的統計資料;和時間序列輸入資料生成手段,係用以生成該當期間中的時間序列輸入資料,其係被包含有:到該當期間為止的複數個前記期間中的前記統計資料;前記輸入資料生成手段,係生成該當期間中的前記輸入資料,其係被包含有:該當期間中的前記時間序列輸入資料。
- 如請求項5所記載之異常判定系統,其 中,前記統計資料生成手段係生成表示下列其中至少1者的前記統計資料:表示在該當期間中針對至少1個所給定之URL之每一者的存取次數的存取頻率資料、表示在該當期間中對前記電腦資源的最初之存取時刻的最初存取時刻資料、表示在該當期間中對前記電腦資源的最終之存取時刻的最終存取時刻資料、表示對前記電腦資源在該當期間中的存取期間的存取期間資料、表示在該當期間中的往前記電腦資源的總上傳資料大小的總上傳資料大小資料、或表示在該當期間中的從前記電腦資源的總下載資料大小的總下載資料大小資料。
- 如請求項5所記載之異常判定系統,其中,前記輸入資料生成手段,係生成該當期間中的前記輸入資料,其係被包含有:基於該當期間中的前記日誌資料而被生成的,將該當日誌資料所示的使用者的行動予以視覺化而成的輸入影像。
- 如請求項7所記載之異常判定系統,其中,前記輸入影像係為,將關於所給定之應用程式或所給定之協定之其中至少一方的前記使用者的使用狀況予以視覺化而成的影像。
- 如請求項8所記載之異常判定系統,其中, 前記輸入影像係為,將1日中的每分鐘之前記使用狀況予以視覺化而成的熱圖。
- 如請求項9所記載之異常判定系統,其中,前記輸入影像係為,以縱或橫之一方的軸來表現每小時之前記使用狀況,以另一方的軸來表現該當小時中的每分鐘之前記使用狀況而成的前記熱圖。
- 如請求項7所記載之異常判定系統,其中,前記已學習模型係含有:已學習之第1神經網路、和已學習之第2神經網路;前記使用者機率資料生成手段係基於,對前記已學習之第1神經網路輸入了前記輸入影像、並且對前記已學習之第2神經網路輸入前記時間序列輸入資料之際的來自於前記已學習模型之輸出,而生成前記使用者機率資料。
- 如請求項11所記載之異常判定系統,其中,前記第1神經網路,係為卷積神經網路。
- 如請求項11所記載之異常判定系統,其中,前記第2神經網路,係為遞迴性神經網路(RNN)。
- 如請求項1所記載之異常判定系統,其中,還含有:警報生成手段,係用以在被判定為發生了前 記使用者的行動中的異常之際,生成關於該當使用者的警報。
- 如請求項1所記載之異常判定系統,其中,還含有:通知手段,係用以在被判定為發生了前記使用者的行動中的異常之際,進行通知。
- 一種異常判定方法,其特徵為,含有:由輸入資料生成手段來針對複數個期間之每一者,基於表示該當期間中的使用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料之步驟;和由使用者機率資料生成手段來基於對已學習模型輸入了前記輸入資料之際的來自於該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的前記日誌資料即為表示前記使用者的行動之日誌之機率的機率值之步驟;和由異常判定手段來根據基於最新之期間中的前記輸入資料而被生成的前記使用者機率資料、和基於較該當期間還要前面之期間中的前記輸入資料而被生成的前記使用者機率資料,來判定該當最新之期間中的前記使用者的行動中是否發生了異常之步驟。
- 一種資訊記憶媒體,係記憶程式,其特徵為,係令電腦執行:針對複數個期間之每一者,基於表示該當期間中的使 用者對所給定之電腦資源之行動之日誌的日誌資料,而生成與該當日誌資料建立對應的該當期間中的輸入資料之程序;基於對已學習模型輸入了前記輸入資料之際的來自於該當已學習模型之輸出,而生成使用者機率資料,其係表示,該當輸入資料所被建立對應的前記日誌資料即為表示前記使用者的行動之日誌之機率的機率值之程序;根據基於最新之期間中的前記輸入資料而被生成的前記使用者機率資料、和基於較該當期間還要前面之期間中的前記輸入資料而被生成的前記使用者機率資料,來判定該當最新之期間中的前記使用者的行動中是否發生了異常之程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
WOPCT/JP2020/037004 | 2020-09-29 | ||
PCT/JP2020/037004 WO2022070278A1 (ja) | 2020-09-29 | 2020-09-29 | 異常判定システム、異常判定方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202213140A TW202213140A (zh) | 2022-04-01 |
TWI824261B true TWI824261B (zh) | 2023-12-01 |
Family
ID=80951269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110123570A TWI824261B (zh) | 2020-09-29 | 2021-06-28 | 異常判定系統、異常判定方法及資訊記憶媒體 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220311790A1 (zh) |
EP (1) | EP4006760B1 (zh) |
JP (2) | JP7165830B2 (zh) |
TW (1) | TWI824261B (zh) |
WO (1) | WO2022070278A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778054B (zh) * | 2021-09-09 | 2022-06-14 | 大连理工大学 | 一种针对工业控制***攻击的双级检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018206232A (ja) * | 2017-06-08 | 2018-12-27 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
US20190042761A1 (en) * | 2018-08-14 | 2019-02-07 | Shih-Han Wang | Techniques to detect perturbation attacks with an actor-critic framework |
TW201947441A (zh) * | 2018-05-15 | 2019-12-16 | 玉山商業銀行股份有限公司 | 資訊安全防護方法 |
US20200076841A1 (en) * | 2018-09-05 | 2020-03-05 | Oracle International Corporation | Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks |
CN111131314A (zh) * | 2019-12-31 | 2020-05-08 | 奇安信科技集团股份有限公司 | 网络行为的检测方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5160911B2 (ja) | 2008-01-23 | 2013-03-13 | 日本電信電話株式会社 | 本人認証装置、本人認証方法および本人認証プログラム |
JP4940220B2 (ja) * | 2008-10-15 | 2012-05-30 | 株式会社東芝 | 異常動作検出装置及びプログラム |
US10673880B1 (en) * | 2016-09-26 | 2020-06-02 | Splunk Inc. | Anomaly detection to identify security threats |
US10645109B1 (en) * | 2017-03-31 | 2020-05-05 | Exabeam, Inc. | System, method, and computer program for detection of anomalous user network activity based on multiple data sources |
JP6981361B2 (ja) * | 2017-06-08 | 2021-12-15 | トヨタ車体株式会社 | 運搬台車 |
US11368476B2 (en) * | 2018-02-22 | 2022-06-21 | Helios Data Inc. | Data-defined architecture for network data management |
US10891546B2 (en) * | 2019-04-29 | 2021-01-12 | Google Llc | Network anomaly detection |
-
2020
- 2020-09-29 JP JP2021543457A patent/JP7165830B2/ja active Active
- 2020-09-29 US US17/418,873 patent/US20220311790A1/en active Pending
- 2020-09-29 WO PCT/JP2020/037004 patent/WO2022070278A1/ja unknown
- 2020-09-29 EP EP20904235.7A patent/EP4006760B1/en active Active
-
2021
- 2021-06-28 TW TW110123570A patent/TWI824261B/zh active
-
2022
- 2022-05-10 JP JP2022077665A patent/JP2022097617A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018206232A (ja) * | 2017-06-08 | 2018-12-27 | ヤフー株式会社 | 生成装置、生成方法、及び生成プログラム |
TW201947441A (zh) * | 2018-05-15 | 2019-12-16 | 玉山商業銀行股份有限公司 | 資訊安全防護方法 |
US20190042761A1 (en) * | 2018-08-14 | 2019-02-07 | Shih-Han Wang | Techniques to detect perturbation attacks with an actor-critic framework |
US20200076841A1 (en) * | 2018-09-05 | 2020-03-05 | Oracle International Corporation | Context-aware feature embedding and anomaly detection of sequential log data using deep recurrent neural networks |
CN111131314A (zh) * | 2019-12-31 | 2020-05-08 | 奇安信科技集团股份有限公司 | 网络行为的检测方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4006760B1 (en) | 2023-06-28 |
EP4006760A4 (en) | 2022-09-21 |
US20220311790A1 (en) | 2022-09-29 |
TW202213140A (zh) | 2022-04-01 |
JPWO2022070278A1 (zh) | 2022-04-07 |
WO2022070278A1 (ja) | 2022-04-07 |
JP7165830B2 (ja) | 2022-11-04 |
JP2022097617A (ja) | 2022-06-30 |
EP4006760A1 (en) | 2022-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11601450B1 (en) | Suspicious message report processing and threat response | |
US9954805B2 (en) | Graymail filtering-based on user preferences | |
US10834111B2 (en) | Method and system for email phishing attempts identification and notification through organizational cognitive solutions | |
JP2020505707A (ja) | 侵入検出のための継続的な学習 | |
US10970188B1 (en) | System for improving cybersecurity and a method therefor | |
CN111917740B (zh) | 一种异常流量告警日志检测方法、装置、设备及介质 | |
US20150120583A1 (en) | Process and mechanism for identifying large scale misuse of social media networks | |
WO2016164844A1 (en) | Message report processing and threat prioritization | |
TW201705034A (zh) | 用於使用無監督式機器學習和優先權演算法的高速威脅性情報管理的系統及方法 | |
US20190171794A1 (en) | Systems and methods for protecting sensitive information | |
US11765192B2 (en) | System and method for providing cyber security | |
EP3053083A2 (en) | Advanced persistent threat (apt) detection center | |
US20200012990A1 (en) | Systems and methods of network-based intelligent cyber-security | |
CN110798440B (zh) | 异常用户检测方法、装置、***及计算机存储介质 | |
US11328033B2 (en) | Dynamic insertion of intermediate content page | |
EP3699796B1 (en) | Message report processing and threat prioritization | |
TWI824261B (zh) | 異常判定系統、異常判定方法及資訊記憶媒體 | |
US11194925B1 (en) | User-based cyber risk communications using personalized notifications | |
US9424552B2 (en) | Managing website registrations | |
Al-Janabi et al. | A systematic analysis of random forest based social media spam classification | |
CN117193994A (zh) | 用于合规检测的方法、装置、电子设备以及介质 | |
JP2015052842A (ja) | 行動解析システム、行動解析方法、および、行動解析プログラム | |
JP2015053082A (ja) | 行動解析システム、行動解析方法、および、行動解析プログラム |