JP7182470B2 - メッセージ処理装置およびメッセージ処理方法 - Google Patents
メッセージ処理装置およびメッセージ処理方法 Download PDFInfo
- Publication number
- JP7182470B2 JP7182470B2 JP2019003197A JP2019003197A JP7182470B2 JP 7182470 B2 JP7182470 B2 JP 7182470B2 JP 2019003197 A JP2019003197 A JP 2019003197A JP 2019003197 A JP2019003197 A JP 2019003197A JP 7182470 B2 JP7182470 B2 JP 7182470B2
- Authority
- JP
- Japan
- Prior art keywords
- bit string
- message
- bit
- value
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Description
(1)コンピュータ500は、攻撃検知装置1により収集されたログ情報を取得する。攻撃検知装置1がOBD2ポートを備える場合は、コンピュータ500は、OBD2ポートを介してログ情報を取得してもよい。
(2)コンピュータ500は、取得したログ情報に基づいて関連性分析を行い、関連性データベースを作成する。
(3)コンピュータ500は、作成した関連性データベースを攻撃検知装置1にインストールする。
(4)攻撃検知装置1は、コンピュータ500によりインストールされた関連性データベースを用いて攻撃メッセージの検知を行う。
(1)コンピュータ500は、ログ収集装置300からログ情報を取得する。ログ収集装置300がOBD2ポートを備える場合は、コンピュータ500は、OBD2ポートを介してログ情報を取得してもよい。
(2)コンピュータ500は、取得したログ情報に基づいて関連性分析を行い、関連性データベースを作成する。
(3)コンピュータ500は、ログ収集装置からログ情報を取得する。
(4)コンピュータ500は、(3)で取得したログ情報に基づいて、(2)で作成した関連性データベースを用いて攻撃メッセージの検知を行う。
ルール1:所定のモニタ期間において、ID_Xを含むメッセージの第xビットの値が変化する回数と、ID_Yを含むメッセージの第yビットの値が変化する回数とが互いに一致する。
ルール2:所定のモニタ期間において、ID_Aを含むメッセージの第aバイトが「00000000」となる回数と、ID_Bを含むメッセージの第bビットが「1」となる回数とが互いに一致する。
ルール3:所定のモニタ期間において、ID_Gを含むメッセージを受信した回数と、ID_Hを含むメッセージの第hビットの値が変化する回数とが互いに一致する。
ログ情報(攻撃なし):
TIME=0.500001 ID=0x100 DATA=00 01 12 13
TIME=0.600005 ID=0x200 DATA=00 F2 E3 C5
TIME=0.800005 ID=0x100 DATA=00 01 12 13
TIME=0.900002 ID=0x200 DATA=00 F2 E3 C5
TIME=1.100004 ID=0x100 DATA=00 01 12 13
TIME=1.200000 ID=0x200 DATA=00 F2 E3 C5
TIME=1.200003 ID=0x100 DATA=80 01 12 13
TIME=1.300009 ID=0x200 DATA=00 F2 E3 45
TIME=1.500003 ID=0x100 DATA=00 01 12 13
TIME=1.600001 ID=0x200 DATA=00 F2 E3 45
TIME=1.600003 ID=0x100 DATA=80 01 12 13
TIME=1.700005 ID=0x200 DATA=00 F2 E3 79
TIME=1.900002 ID=0x100 DATA=00 01 12 13
TIME=2.000004 ID=0x200 DATA=00 F2 E3 79
ID=0x100について:
TIME=0.500001 ID=0x100 DATA=00 01 12 13
TIME=0.800005 ID=0x100 DATA=00 01 12 13
TIME=1.100004 ID=0x100 DATA=00 01 12 13
TIME=1.200003 ID=0x100 DATA=80 01 12 13
TIME=1.500003 ID=0x100 DATA=00 01 12 13
TIME=1.600003 ID=0x100 DATA=80 01 12 13
TIME=1.900002 ID=0x100 DATA=00 01 12 13
ID=0x200について:
TIME=0.600005 ID=0x200 DATA=00 F2 E3 C5
TIME=0.900002 ID=0x200 DATA=00 F2 E3 C5
TIME=1.200000 ID=0x200 DATA=00 F2 E3 C5
TIME=1.300009 ID=0x200 DATA=00 F2 E3 45
TIME=1.600001 ID=0x200 DATA=00 F2 E3 45
TIME=1.700005 ID=0x200 DATA=00 F2 E3 79
TIME=2.000004 ID=0x200 DATA=00 F2 E3 79
(1)いずれのIDについても、メッセージの送信周期は、基本的には約0.3秒である。
(2)いずれのIDについても、周期を逸脱したタイミングで次のメッセージが到着することがある。
(3)ID=0x100については、データの先頭ビットが「1」であるときに、通常よりも短い時間間隔でメッセージが送信される。
(4)ID=0x200については、データの最終バイトの値が変化したときに、通常よりも短い時間間隔でメッセージが送信される。
ログ情報(攻撃あり):
TIME=0.500001 ID=0x100 DATA=00 01 12 13
TIME=0.600005 ID=0x200 DATA=00 F2 E3 C5
TIME=0.800005 ID=0x100 DATA=00 01 12 13
TIME=0.900002 ID=0x200 DATA=00 F2 E3 C5
TIME=1.100004 ID=0x100 DATA=00 01 12 13
TIME=1.200000 ID=0x200 DATA=00 F2 E3 C5
TIME=1.200003 ID=0x100 DATA=80 01 12 13
TIME=1.300009 ID=0x200 DATA=00 F2 E3 45
TIME=1.400004 ID=0x200 DATA=00 F2 E3 91(攻撃)
TIME=1.500003 ID=0x100 DATA=00 01 12 13
TIME=1.600001 ID=0x200 DATA=00 F2 E3 45
TIME=1.600003 ID=0x100 DATA=80 01 12 13
TIME=1.700005 ID=0x200 DATA=00 F2 E3 79
TIME=1.900002 ID=0x100 DATA=00 01 12 13
TIME=2.000004 ID=0x200 DATA=00 F2 E3 79
ID=0x100について
TIME=0.500001 ID=0x100 DATA=00 01 12 13
TIME=0.800005 ID=0x100 DATA=00 01 12 13
TIME=1.100004 ID=0x100 DATA=00 01 12 13
TIME=1.200003 ID=0x100 DATA=80 01 12 13
TIME=1.500003 ID=0x100 DATA=00 01 12 13
TIME=1.600003 ID=0x100 DATA=80 01 12 13
TIME=1.900002 ID=0x100 DATA=00 01 12 13
ID=0x200について
TIME=0.600005 ID=0x200 DATA=00 F2 E3 C5
TIME=0.900002 ID=0x200 DATA=00 F2 E3 C5
TIME=1.200000 ID=0x200 DATA=00 F2 E3 C5
TIME=1.300009 ID=0x200 DATA=00 F2 E3 45
TIME=1.400004 ID=0x200 DATA=00 F2 E3 91(攻撃)
TIME=1.600001 ID=0x200 DATA=00 F2 E3 45
TIME=1.700005 ID=0x200 DATA=00 F2 E3 79
TIME=2.000004 ID=0x200 DATA=00 F2 E3 79
(1)ID毎に、メッセージの受信間隔が所定の周期から外れているメッセージの個数を測定する。
(2)ID毎に、単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、特定値が出現する回数および/または直前の対応するビット列に対して値が変化する回数をカウントする。
(3)上記(1)~(2)に基づいて、互いに関係する事象を発見する。例えば、所定のモニタ期間において、所定のビット列の値が変化する回数がN回であり、かつ、その変化したタイミングにおいてメッセージの受信間隔が、所定の周期から外れていたものとする。この場合、メッセージの受信間隔が所定の周期から外れることと、所定のビット列の値が変化することとの間に関係性があると推定される。
図6は、メッセージ処理装置4の処理の一例を示すフローチャートである。なお、ログ情報格納部3には、ネットワーク100への攻撃が存在しない期間における受信メッセージについてのログ情報が格納されているものとする。
カウント部5は、ID毎に、受信メッセージのデータ領域の各ビット列の値を検出する。この実施例では、図7に示すように、各メッセージのデータ領域は64ビットである。また、モニタ期間内に50個のメッセージが攻撃検知装置1に到着する。
カウント部5は、ID毎に、受信メッセージのデータ領域の各ビット列の値とその直前の受信メッセージ中の同じビット列の値とを比較する。そして、比較結果が一致しないときは、ビット列の値が変化したと判定される。なお、カウント部5は、特定値の出現回数のカウントと同様に、1ビット~64ビットのデータ列のそれぞれについて変化回数をカウントする。
上述したように、カウント部5は、ID毎に、特定値が出現する回数を表す出現回数および直前の受信メッセージに対して値が変化する回数を表す変化回数を検出する。そうすると、抽出部7は、出現回数または変化回数が互いに一致するビット列を抽出する。そして、判定部8は、抽出部7により抽出された2個以上のビット列に対して近傍探索を実行する。すなわち、判定部8は、抽出部7により抽出されたビット列間で、特定値が出現したタイミングまたは値が変化したタイミングの近似性を判定する。
判定1:判定部8は、A0とB0との差分の自乗値と所定の閾値TH1とを比較する。そして、A0とB0との差分の自乗値が閾値TH1以上であれば、1組のビット列間に関連性がないと判定される。なお、判定部8は、A0とB0との差分の絶対値と閾値TH1とを比較してもよい。
TH1=0.2
TH2=0.04
TH3=0.000001
A0=0.900002
ΔA1=1.300003-0.900002=0.400001
ΔA2=1.700001-1.300003=0.399998
B0=1.000009
ΔB1=1.400009-1.000009=0.400000
ΔB2=1.800009-1.400009=0.400000
|A0-B0|=0.100007<TH1
判定2の結果は以下の通りである。
(ΔA1-ΔB1)2=0.000000000001<TH2
(ΔA2-ΔB2)2=0.000000000004<TH2
(ΔA1-ΔB1)2+(ΔA2-ΔB2)2/(2-1)=0.000000000005<TH3
「ID=0x100を含むメッセージの先頭バイトにおいて「08」が出現すると、それに近いタイミングでID=0x200を含むメッセージの最終バイトの値が変化する」
関連性分析部6により作成されたルールは、関連性データベース9に記録される。そして、検知部10は、このルールから逸脱するメッセージをモニタすることにより、ネットワーク100への攻撃を検知する。
メッセージ処理装置4の処理についてのより具体的な実施例を記載する。この実施例では、ID=0x100を含むメッセージおよびID=0x200を含むメッセージがネットワーク100に入力される。各メッセージは、4ビットのデータを格納する。ID=0x100を含むメッセージは、通常、約1秒間隔で送信される。ただし、送信間隔が約0.3秒となることがある。ID=0x200を含むメッセージも同様である。そして、所定のモニタ期間内に下記の18個のメッセージが攻撃検知装置1に到着したものとする。なお、受信メッセージを表すログ情報は、ログ情報格納部3に格納される。
TIME=1.000000 ID=0x100 DATA=0100
TIME=1.100000 ID=0x200 DATA=1001
TIME=1.300000 ID=0x100 DATA=0110
TIME=1.400000 ID=0x200 DATA=0110
TIME=2.300000 ID=0x100 DATA=0000
TIME=2.400000 ID=0x200 DATA=1110
TIME=3.300000 ID=0x100 DATA=1100
TIME=3.400000 ID=0x200 DATA=1110
TIME=4.300000 ID=0x100 DATA=1000
TIME=4.400000 ID=0x200 DATA=0010
TIME=5.300000 ID=0x100 DATA=0000
TIME=5.400000 ID=0x200 DATA=0110
TIME=5.600000 ID=0x100 DATA=1010
TIME=5.700000 ID=0x200 DATA=1011
TIME=6.600000 ID=0x100 DATA=1100
TIME=6.700000 ID=0x200 DATA=1111
TIME=6.900000 ID=0x100 DATA=0010
TIME=7.000000 ID=0x200 DATA=0001
ID=0x100
特定値=11、ビット位置=1、長さ=2
特定値=001、ビット位置=0、長さ=3
特定値=010、ビット位置=0、長さ=3
特定値=011、ビット位置=0、長さ=3
特定値=100、ビット位置=0、長さ=3
特定値=101、ビット位置=0、長さ=3
特定値=110、ビット位置=1、長さ=3
特定値=0010、ビット位置=0、長さ=4
特定値=0100、ビット位置=0、長さ=4
特定値=0110、ビット位置=0、長さ=4
特定値=1000、ビット位置=0、長さ=4
特定値=1010、ビット位置=0、長さ=4
ID=0x200
特定値=000、ビット位置=0、長さ=3
特定値=001、ビット位置=0、長さ=3
特定値=010、ビット位置=1、長さ=3
特定値=011、ビット位置=1、長さ=3
特定値=100、ビット位置=0、長さ=3
特定値=101、ビット位置=0、長さ=3
特定値=111、ビット位置=1、長さ=3
特定値=0001、ビット位置=0、長さ=4
特定値=0010、ビット位置=0、長さ=4
特定値=1001、ビット位置=0、長さ=4
特定値=1011、ビット位置=0、長さ=4
特定値=1111、ビット位置=0、長さ=4
ID=0x100
特定値=01、ビット位置=0、長さ=2
特定値=01、ビット位置=1、長さ=2
特定値=10、ビット位置=0、長さ=2
特定値=11、ビット位置=0、長さ=2
特定値=000、ビット位置=0、長さ=3
特定値=010、ビット位置=1、長さ=3
特定値=110、ビット位置=0、長さ=3
特定値=0000、ビット位置=0、長さ=4
特定値=1100、ビット位置=0、長さ=4
ID=0x200
変化回数、ビット位置=2、長さ=1
変化回数、ビット位置=3、長さ=1
特定値=00、ビット位置=0、長さ=2
特定値=00、ビット位置=1、長さ=2
特定値=0、ビット位置=2、長さ=1
特定値=01、ビット位置=0、長さ=2
特定値=01、ビット位置=1、長さ=2
特定値=01、ビット位置=2、長さ=2
特定値=10、ビット位置=0、長さ=2
特定値=11、ビット位置=2、長さ=2
特定値=001、ビット位置=1、長さ=3
特定値=011、ビット位置=0、長さ=3
特定値=0110、ビット位置=0、長さ=4
特定値=1110、ビット位置=0、長さ=4
ID=0x100
特定値=1、ビット位置=2、長さ=1
特定値=00、ビット位置=0、長さ=2
特定値=00、ビット位置=1、長さ=2
特定値=10、ビット位置=1、長さ=2
特定値=10、ビット位置=2、長さ=2
特定値=000、ビット位置=1、長さ=3
特定値=100、ビット位置=1、長さ=3
ID=0x200
変化回数、ビット位置=2、長さ=2
特定値=11、ビット位置=0、長さ=2
特定値=111、ビット位置=0、長さ=3
ID=0x100
変化回数、ビット位置=0、長さ=1
特定値=1、ビット位置=0、長さ=1
特定値=1、ビット位置=1、長さ=1
ID=0x200
特定値=0、ビット位置=0、長さ=1
特定値=0、ビット位置=1、長さ=1
特定値=1、ビット位置=3、長さ=1
特定値=110、ビット位置=1、長さ=3
ID=0x100
変化回数、ビット位置=1、長さ=1
変化回数、ビット位置=2、長さ=1
特定値=0、ビット位置=0、長さ=1
特定値=0、ビット位置=1、長さ=1
ID=0x200
変化回数、ビット位置=0、長さ=1
特定値=1、ビット位置=0、長さ=1
特定値=1、ビット位置=1、長さ=1
特定値=10、ビット位置=2、長さ=2
ID=0x100
特定値=0、ビット位置=2、長さ=1
特定値=00、ビット位置=2、長さ=2
ID=0x200
変化回数、ビット位置=1、長さ=1
変化回数、ビット位置=1、長さ=3
ID=0x100
ビット列A:特定値=1、ビット位置=2、長さ=1
ビット列B:特定値=00、ビット位置=0、長さ=2
ビット列C:特定値=00、ビット位置=1、長さ=2
ビット列D:特定値=10、ビット位置=1、長さ=2
ビット列E:特定値=10、ビット位置=2、長さ=2
ビット列F:特定値=000、ビット位置=1、長さ=3
ビット列G:特定値=100、ビット位置=1、長さ=3
ID=0x200
ビット列α:変化回数、ビット位置=2、長さ=2
ビット列β:特定値=11、ビット位置=0、長さ=2
ビット列γ:特定値=111、ビット位置=0、長さ=3
M12:TIME=1.300000(=初回受信時刻TA0)
M17:TIME=5.600000
M19:TIME=6.900000
ΔTA1=5.600000-1.300000=4.300000
ΔTA2=6.900000-5.600000=1.300000
M13:TIME=2.300000(=初回受信時刻TB0)
M16:TIME=5.300000
M19:TIME=6.900000
ΔTB1=5.300000-2.300000=3.000000
ΔTB2=6.900000-5.300000=1.600000
M13:TIME=2.300000(=初回受信時刻TC0)
M15:TIME=4.300000
M16:TIME=5.300000
ΔTC1=4.300000-2.300000=2.000000
ΔTC2=5.300000-4.300000=1.000000
M11:TIME=1.000000(=初回受信時刻TD0)
M14:TIME=3.300000
M18:TIME=6.600000
ΔTD1=3.300000-1.000000=2.300000
ΔTD2=6.600000-3.300000=3.300000
M12:TIME=1.300000(=初回受信時刻TE0)
M17:TIME=5.600000
M19:TIME=6.900000
ΔTE1=5.600000-1.300000=4.300000
ΔTE2=6.900000-5.600000=1.300000
M13:TIME=2.300000(=初回受信時刻TF0)
M15:TIME=4.300000
M16:TIME=5.300000
ΔTF1=4.300000-2.300000=2.000000
ΔTF2=5.300000-4.300000=1.000000
M11:TIME=1.000000(=初回受信時刻TG0)
M14:TIME=3.300000
M18:TIME=6.600000
ΔTG1=3.300000-1.000000=2.300000
ΔTG2=6.600000-3.300000=3.000000
M22:TIME=1.400000(=初回受信時刻Tα0)
M27:TIME=5.700000
M29:TIME=7.000000
ΔTα1=5.700000-1.400000=4.300000
ΔTα2=7.000000-5.700000=1.300000
M23:TIME=2.400000(=初回受信時刻Tβ0)
M24:TIME=3.400000
M28:TIME=6.7000000
ΔTβ1=3.400000-2.400000=1.000000
ΔTβ2=6.700000-3.400000=3.300000
M23:TIME=2.400000(=初回受信時刻Tγ0)
M24:TIME=3.400000
M28:TIME=6.7000000
ΔTγ1=3.400000-2.400000=1.000000
ΔTγ2=6.700000-3.400000=3.300000
TH1=0.2
TH2=0.04
TH3=0.1
判定1:|TA0-Tα0|=|1.300000-1.400000|=0.1<TH1
判定2a:(ΔTA1-ΔTα1)2=(4.300000-4.300000)2=0<TH2
判定2b:(ΔTA2-ΔTα2)2=(1.300000-1.300000)2=0<TH2
判定3:(ΔTA1-ΔTα1)2+(ΔTA2-ΔTα2)2=0<TH3
「ID=0x100を含み、第2ビットが「1」であるメッセージが送信されたときは、その約0.1秒後に、ID=0x200を含み、直前のメッセージに対して第2~第3ビットの値が変化したメッセージが送信される」
そして、このルールは、関連性データベース9に記録される。
判定1:|TA0-Tβ0|=|1.300000-2.400000|=1.1>TH1
判定2a:(ΔTA1-ΔTβ1)2=(4.300000-1.000000)2=10.890000>TH2
判定2b:(ΔTA2-ΔTβ2)2=(1.300000-3.300000)2=4.000000>TH2
判定3:(ΔTA1-ΔTβ1)2+(ΔTA2-ΔTβ2)2=14.890000>TH3
「ID=0x100を含み、第2~第3ビットが「11」であるメッセージが送信されたときは、その約0.1秒後に、ID=0x200を含み、直前のメッセージに対して第2~第3ビットの値が変化したメッセージが送信される」
そして、このルールも、関連性データベース9に記録される。
上述したように、攻撃検知装置1は、何らかの事象の発生に起因してメッセージ中のデータの値が変化する状態および/またはメッセージ中に特定値が出現する状態を利用してネットワークへの攻撃を検知する。この検知方法は、ネットワークが攻撃されていないときにデータの値が変化する回数および/または特定値が出現する回数を調べておき、その結果に基づいて検知ルールを作成しておくことで実現される。したがって、この方法によれば、非周期的にメッセージが送信され得るネットワークにおいても、攻撃検知装置1はネットワークへの攻撃を検知できる。以下では、検知ルールを利用してネットワークへの攻撃を検知する方法の例を記載する。
ルール1:ID=0x100を含むメッセージが送信されると、約0.1秒後にID=0x200を含むメッセージが送信される。
ルール2:各IDにおいて先頭バイトの値が常に変化する。
ルール1:メッセージの送信周期が約0.3秒であるときは、最終バイトの値は、直前のメッセージの最終バイトの値と同じである。
ルール2:メッセージの送信周期が約0.3秒でないときは、最終バイトの値は、直前のメッセージの最終バイトの値に対して変化する。
ルール1:メッセージの送信周期が約0.3秒であるときは、先頭バイトに「00」が出現(或いは、先頭ビットに「0」が出現)する。
ルール2:メッセージの送信周期が約0.3秒でないときは、先頭バイトに「80」が出現(或いは、先頭ビットに「1」が出現)する。
ルール1:ID=0x100を含むメッセージが送信されると、約0.1秒後にID=0x200を含むメッセージが送信される。
ルール2:メッセージの送信周期が約0.3秒でないときは、先頭バイトに「00」が出現(或いは、先頭ビットに「0」が出現)する。
ルール3:ID=0x200を含むメッセージの送信周期が約0.3秒でないときは、最終バイトの値は、直前のメッセージの最終バイトの値に対して変化する。
(付記1)
ネットワーク内で送信される識別情報を含むメッセージを処理するメッセージ処理装置であって、
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、所定の事象が発生した回数をカウントするカウント部と、
前記カウント部によりカウントされた回数が互いに一致する第1のビット列および第2のビット列を抽出する抽出部と、
前記第1のビット列において前記所定の事象の中の第1の事象が発生したタイミングと、前記第2のビット列において前記所定の事象の中の第2の事象が発生したタイミングとの近似性に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する判定部と、
を備えるメッセージ処理装置。
(付記2)
前記抽出部は、第1の識別情報を含むメッセージから前記第1のビット列を抽出し、前記第1の識別情報と異なる第2の識別情報を含むメッセージから前記第2のビット列を抽出する
ことを特徴とする付記1に記載のメッセージ処理装置。
(付記3)
前記所定の事象は、ビット列に特定値が出現すること、又は、ビット列の値が直前の受信メッセージ中の対応するビット列の値に対して変化することであり、
前記カウント部は、受信メッセージに含まれる識別情報ごとに、各ビット列について、特定値が出現する回数を表す出現回数または直前の受信メッセージ中の対応するビット列に対して値が変化する回数を表す変化回数をカウントする
ことを特徴とする付記1または2に記載のメッセージ処理装置。
(付記4)
前記カウント部は、単一ビットのビット列から順番にビット長を1ビットずつ長くしながら各ビット列の変化回数をカウントするときに、前記モニタ期間における変化回数がゼロであるビット列を含むビット列については、カウント動作を行わない
ことを特徴とする付記3に記載のメッセージ処理装置。
(付記5)
前記カウント部は、単一ビットのビット列から順番にビット長を1ビットずつ長くしながら各ビット列の変化回数をカウントするときに、前記モニタ期間における変化回数が所定数より多いビット列を含むビット列については、カウント動作を行わない
ことを特徴とする付記4に記載のメッセージ処理装置。
(付記6)
前記カウント部は、
前記メッセージのデータ領域の長さと同じ長さのビット列において出現した値ごとにそれぞれ出現回数をカウントし、
前記値ごとの出現回数に基づいて、前記データ領域の長さより短い各ビット列において特定値が出現した回数を計算する
ことを特徴とする付記3に記載のメッセージ処理装置。
(付記7)
前記判定部は、前記第1のビット列において最初に前記第1の事象が発生したタイミングと、前記第2のビット列において最初に前記第2の事象が発生したタイミングとの差分に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
ことを特徴とする付記1~6のいずれか1つに記載のメッセージ処理装置。
(付記8)
前記判定部は、前記差分の絶対値または前記差分の自乗値が第1の閾値以上であるときは、前記第1のビット列と前記第2のビット列との間に関連性がないと判定する
ことを特徴とする付記7に記載のメッセージ処理装置。
(付記9)
前記判定部は、前記第1のビット列において前記第1の事象が発生したタイミングから次に前記第1の事象が発生したタイミングまでの時間間隔と、前記第2のビット列において前記第2の事象が発生したタイミングから次に前記第2の事象が発生したタイミングまでの時間間隔との差分に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
ことを特徴とする付記1~8のいずれか1つに記載のメッセージ処理装置。
(付記10)
前記判定部は、前記差分の絶対値または前記差分の自乗値が第2の閾値以上であるときは、前記第1のビット列と前記第2のビット列との間に関連性がないと判定する
ことを特徴とする付記9に記載のメッセージ処理装置。
(付記11)
前記判定部は、前記モニタ期間内での前記差分の総和が第3の閾値以上であるときは、前記第1のビット列と前記第2のビット列との間に関連性がないと判定する
ことを特徴とする付記9に記載のメッセージ処理装置。
(付記12)
ネットワーク内で送信される識別情報を含むメッセージを処理するメッセージ処理方法であって、
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、所定の事象が発生した回数をカウントし、
カウントされた回数が互いに一致する第1のビット列および第2のビット列を抽出し、
前記第1のビット列において前記所定の事象の中の第1の事象が発生したタイミングと、前記第2のビット列において前記所定の事象の中の第2の事象が発生したタイミングとの近似性に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
ことを特徴とするメッセージ処理方法。
(付記13)
ネットワーク内で送信される識別情報を含むメッセージを処理するメッセージ処理装置において、
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、所定の事象が発生した回数をカウントし、
カウントされた回数が互いに一致する第1のビット列および第2のビット列を抽出し、
前記第1のビット列において前記所定の事象の中の第1の事象が発生したタイミングと、前記第2のビット列において前記所定の事象の中の第2の事象が発生したタイミングとの近似性に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
処理をプロセッサに実行させるメッセージ処理プログラム。
(付記14)
識別情報を含むメッセージが送信されるネットワークへの攻撃を検知する攻撃検知装置であって、
第1のビット列において第1の事象が発生することと第2のビット列において第2の事象が発生することとの間の関連性に基づいて、前記ネットワークへの攻撃を検知する検知部を備える攻撃検知装置。
(付記15)
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、前記第1の事象および前記第2の事象が発生した回数をそれぞれカウントするカウント部と、
前記カウント部によりカウントされた回数が互いに一致する前記第1のビット列および前記第2のビット列を抽出する抽出部と、
前記第1のビット列において前記第1の事象が発生したタイミングと、前記第2のビット列において前記第2の事象が発生したタイミングとが互いに近似しているときに、前記第1のビット列において前記第1の事象が発生することと前記第2のビット列において前記第2の事象が発生することとの間に関連性が存在すると判定する判定部と、
をさらに備え、
前記検知部は、前記第1のビット列において前記第1の事象が発生することと前記第2のビット列において前記第2の事象が発生することとの間の関連性に基づいて、前記ネットワークへの攻撃を検知する
ことを特徴とする付記14に記載の攻撃検知装置。
2 受信部
3 ログ情報格納部
4 メッセージ処理装置
5 カウント部
6 関連性分析部
7 抽出部
8 判定部
9 関連性データベース
10 検知部
24 プロセッサ
100 ネットワーク
500 コンピュータ
Claims (10)
- ネットワーク内で送信される識別情報を含むメッセージを処理するメッセージ処理装置であって、
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、所定の事象が発生した回数をカウントするカウント部と、
前記カウント部によりカウントされた回数が互いに一致する第1のビット列および第2のビット列を抽出する抽出部と、
前記第1のビット列において前記所定の事象の中の第1の事象が発生したタイミングと、前記第2のビット列において前記所定の事象の中の第2の事象が発生したタイミングとの近似性に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する判定部と、
を備えるメッセージ処理装置。 - 前記抽出部は、第1の識別情報を含むメッセージから前記第1のビット列を抽出し、前記第1の識別情報と異なる第2の識別情報を含むメッセージから前記第2のビット列を抽出する
ことを特徴とする請求項1に記載のメッセージ処理装置。 - 前記所定の事象は、ビット列に特定値が出現すること、又は、ビット列の値が直前の受信メッセージ中の対応するビット列の値に対して変化することであり、
前記カウント部は、受信メッセージに含まれる識別情報ごとに、各ビット列について、特定値が出現する回数を表す出現回数または直前の受信メッセージ中の対応するビット列に対して値が変化する回数を表す変化回数をカウントする
ことを特徴とする請求項1または2に記載のメッセージ処理装置。 - 前記カウント部は、単一ビットのビット列から順番にビット長を1ビットずつ長くしながら各ビット列の変化回数をカウントするときに、前記モニタ期間における変化回数がゼロであるビット列を含むビット列については、カウント動作を行わない
ことを特徴とする請求項3に記載のメッセージ処理装置。 - 前記カウント部は、単一ビットのビット列から順番にビット長を1ビットずつ長くしながら各ビット列の変化回数をカウントするときに、前記モニタ期間における変化回数が所定数より多いビット列を含むビット列については、カウント動作を行わない
ことを特徴とする請求項4に記載のメッセージ処理装置。 - 前記カウント部は、
前記メッセージのデータ領域の長さと同じ長さのビット列において出現した値ごとにそれぞれ出現回数をカウントし、
前記値ごとの出現回数に基づいて、前記データ領域の長さより短い各ビット列において特定値が出現した回数を計算する
ことを特徴とする請求項3に記載のメッセージ処理装置。 - 前記判定部は、前記第1のビット列において最初に前記第1の事象が発生したタイミングと、前記第2のビット列において最初に前記第2の事象が発生したタイミングとの差分に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
ことを特徴とする請求項1~6のいずれか1つに記載のメッセージ処理装置。 - 前記判定部は、前記第1のビット列において前記第1の事象が発生したタイミングから次に前記第1の事象が発生したタイミングまでの時間間隔と、前記第2のビット列において前記第2の事象が発生したタイミングから次に前記第2の事象が発生したタイミングまでの時間間隔との差分に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
ことを特徴とする請求項1~7のいずれか1つに記載のメッセージ処理装置。 - ネットワーク内で送信される識別情報を含むメッセージを処理するメッセージ処理方法であって、
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、所定の事象が発生した回数をカウントし、
カウントされた回数が互いに一致する第1のビット列および第2のビット列を抽出し、
前記第1のビット列において前記所定の事象の中の第1の事象が発生したタイミングと、前記第2のビット列において前記所定の事象の中の第2の事象が発生したタイミングとの近似性に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
ことを特徴とするメッセージ処理方法。 - ネットワーク内で送信される識別情報を含むメッセージを処理するメッセージ処理装置において、
所定のモニタ期間内に受信したメッセージに含まれる識別情報ごとに、メッセージ中の単一ビットまたは連続する複数ビットで定義されるビット列それぞれについて、所定の事象が発生した回数をカウントし、
カウントされた回数が互いに一致する第1のビット列および第2のビット列を抽出し、
前記第1のビット列において前記所定の事象の中の第1の事象が発生したタイミングと、前記第2のビット列において前記所定の事象の中の第2の事象が発生したタイミングとの近似性に基づいて、前記第1のビット列と前記第2のビット列との間の関連性を判定する
処理をプロセッサに実行させるメッセージ処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019003197A JP7182470B2 (ja) | 2019-01-11 | 2019-01-11 | メッセージ処理装置およびメッセージ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019003197A JP7182470B2 (ja) | 2019-01-11 | 2019-01-11 | メッセージ処理装置およびメッセージ処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020113893A JP2020113893A (ja) | 2020-07-27 |
JP7182470B2 true JP7182470B2 (ja) | 2022-12-02 |
Family
ID=71668317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019003197A Active JP7182470B2 (ja) | 2019-01-11 | 2019-01-11 | メッセージ処理装置およびメッセージ処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7182470B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000041015A (ja) | 1998-07-23 | 2000-02-08 | Toyo Commun Equip Co Ltd | マルチフレーム同期検出装置 |
JP2001086140A (ja) | 1999-07-14 | 2001-03-30 | Deere & Co | ネットワーク・メッセージの処理方法 |
JP2017112594A (ja) | 2015-12-14 | 2017-06-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | セキュリティ装置、ネットワークシステム及び攻撃検知方法 |
JP2017123639A (ja) | 2016-01-08 | 2017-07-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム |
WO2018105330A1 (ja) | 2016-12-06 | 2018-06-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 情報処理方法、情報処理システム、及びプログラム |
-
2019
- 2019-01-11 JP JP2019003197A patent/JP7182470B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000041015A (ja) | 1998-07-23 | 2000-02-08 | Toyo Commun Equip Co Ltd | マルチフレーム同期検出装置 |
JP2001086140A (ja) | 1999-07-14 | 2001-03-30 | Deere & Co | ネットワーク・メッセージの処理方法 |
JP2017112594A (ja) | 2015-12-14 | 2017-06-22 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | セキュリティ装置、ネットワークシステム及び攻撃検知方法 |
JP2017123639A (ja) | 2016-01-08 | 2017-07-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム |
WO2018105330A1 (ja) | 2016-12-06 | 2018-06-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 情報処理方法、情報処理システム、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2020113893A (ja) | 2020-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3598329B1 (en) | Information processing method, information processing system, and program | |
US20170132523A1 (en) | Periodicity Analysis on Heterogeneous Logs | |
WO2019184557A1 (zh) | 定位根因告警的方法、装置和计算机可读存储介质 | |
KR100473304B1 (ko) | 응답시간측정장치및방법 | |
US10866939B2 (en) | Alignment and deduplication of time-series datasets | |
JP3957712B2 (ja) | 通信監視システム | |
WO2013147226A1 (ja) | 利用者体感品質推定装置、端末ボトルネック判定装置、類似操作抽出装置、及び方法、並びにプログラム | |
US11050771B2 (en) | Information processing apparatus, communication inspecting method and medium | |
CN112787984A (zh) | 一种基于相关分析的车载网络异常检测方法及系统 | |
CN107682354B (zh) | 一种网络病毒检测方法、装置及设备 | |
JP2021527873A (ja) | プロトコルに依存しない異常検出 | |
CN115085948B (zh) | 基于改进d-s证据理论的网络安全态势评估方法 | |
CN112087450B (zh) | 一种异常ip识别方法、系统及计算机设备 | |
WO2021262344A1 (en) | Method and apparatus to detect scripted network traffic | |
JP7182470B2 (ja) | メッセージ処理装置およびメッセージ処理方法 | |
CN113282920A (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
CN112380073A (zh) | 一种故障位置的检测方法、装置及可读存储介质 | |
CN117216765A (zh) | 一种漏洞可达性检测方法、装置、设备及可读存储介质 | |
US11593245B2 (en) | System, device and method for frozen period detection in sensor datasets | |
CN115296904B (zh) | 域名反射攻击检测方法及装置、电子设备、存储介质 | |
US20230246935A1 (en) | Detecting behavioral change of iot devices using novelty detection based behavior traffic modeling | |
CN113535458B (zh) | 异常误报的处理方法及装置、存储介质、终端 | |
CN115426133B (zh) | 基于异构特征簇的深度学习网络异常检测模型构建方法、检测方法和系统 | |
US9317386B2 (en) | Event processing method and apparatus performing the same | |
RU2787078C1 (ru) | Способ выявления аномалий в работе высоконагруженной сети автоматизированной телекоммуникационной системы |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220922 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20220922 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7182470 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |