Study of graphing methods for functional analysis of IoT malware using function call sequence graphs

Bibliographic Information

Other Title
  • 関数呼び出し時系列グラフを用いたIoTマルウェアの機能分析のためのグラフ作成手法の検討

Description

IoTマルウェアは一般に公開されているマルウェアのソースコードを改変することで作成される.このように機能を改変して作成されたマルウェアが増加しており,人力による分析が困難になっている.したがって,改変されたマルウェアの持つ機能の人力によらない分析手法の開発が急がれている.先行研究では,マルウェアの持つ機能を推定するため,内部で呼び出す関数の時系列情報を有向グラフとして表したFunction Call Sequence Graph(FCSG)を提案した.関数の呼び出し時系列はCPUアーキテクチャに依存しにくく,CPUアーキテクチャを超えた横断的な解析が期待できる.本稿では,FCSGの環境依存性を調べるため,良性のテストソースコードに対してCPUアーキテクチャやコンパイラの最適化オプションを変化させながらFCSGを作成し,ベクトルへ埋め込み類似度を分析した.結果,同一ソースファイルから作成されたFCSGでもCPUアーキテクチャや最適化オプションが変化することで構造が異なるものが確認された.原因として関数呼び出し順序の変更やライブラリ関数の実装の違いなどがあり,これらの影響を小さくするグラフを検討した.また,関数ごとのグラフのベクトル埋め込みの類似度と頂点集合同士の類似度の比較も行った.頂点集合同士の類似度の比較のほうが同一関数から作成されたグラフ同士の類似度が大きく,かつ異なる関数から作成されたグラフ同士の類似度が小さくなった.

IoT malware is created by modifying the source code of publicly available malware. Malware created by modifying functions in this way is increasing, making human analysis difficult. Therefore, there is an urgent need to develop methods for non-human-intensive analysis of the functions of modified malware. In our previous study, we proposed the Function Call Sequence Graph (FCSG), which represents the time-series information of internal function calls as a directed graph, in order to estimate the functionality of malware. The function call sequence is less dependent on CPU architecture and is expected to be used for cross-sectional analysis across CPU architectures. In this paper, to investigate the environmental dependence of FCSGs, we created FCSGs for a benign test source code while varying CPU architecture and compiler optimization options, and analyzed the similarity by embedding the FCSGs into vectors. As a result, some FCSGs created from the same source file had different structures due to changes in CPU architecture and optimization options. The causes included changes in the order of function calls and differences in the implementation of library functions, and we examined graphs to reduce these effects. We also compared the similarity of vector embeddings of graphs for each function and the similarity between vertex sets. The comparison of similarity between vertex sets showed greater similarity between graphs created from the same function and smaller similarity between graphs created from different functions.

Journal

Details 詳細情報について

Report a problem

Back to top