tlsh()
tlsh() 関数は、バイナリデータの TLSH(TrendMicro Locality Sensitive Hash)ファジーハッシュ値を文字列として返します。
構文
tlsh(DATA)
パラメータ
DATA- TLSH ハッシュを計算するバイナリデータです。50 バイト以上である必要があります。
説明
tlsh() 関数は、入力バイナリデータの TLSH ファジーハッシュを計算して 16 進数文字列として返します。TLSH は TrendMicro が開発したファジーハッシュアルゴリズムで、互いに類似したデータは類似したハッシュ値を持ちます。これにより、マルウェア亜種の検知など類似度ベースの分析に活用できます。
入力値が null またはバイナリ型でない場合は null を返します。入力データが 50 バイト未満の場合は、データが短すぎて TLSH を計算できないため null を返します。ハッシュ計算中にエラーが発生した場合も null を返します。
返されたハッシュ文字列は tlshdiff() に渡して 2 つのハッシュ間の類似度を計算できます。
エラーコード
該当なし
使用例
-
バイナリデータの TLSH ハッシュを計算します。
json "{}" | eval data = randbytes(256), h = tlsh(data) | # h: (TLSH ハッシュ文字列、入力により決定) -
ファイル内容の TLSH ハッシュを計算します。
logdb://files | eval h = tlsh(file_content) -
入力データが 50 バイト未満の場合
json "{}" | eval h = tlsh(randbytes(10)) | # h: null -
null入力json "{'data': null}" | eval h = tlsh(data) | # h: null
変更履歴
tlsh() 関数は Sonar 4.0.2308.0-u3043 から使用可能です。