六合彩直播开奖

close search bar

Sorry, not available in this language yet

close language selection

悪意のあるコードのソースを明らかにするための検出手法

Mike McGuire

Sep 11, 2023 / 1 min read

たとえば、アプリケーション内で一连の疑わしいコードを発见するとしましょう。アプリケーション?テスト?チームによる定期的なスキャンで、ソフトウェア?サプライチェーン内の悪意のある内部関係者が时限爆弾やバックドアなどの悪意のあるコードを挿入したことを示す重要なポイントが见つかる可能性があります。


まず、永続的な损害(データの盗难、ログ?キーストローク、金銭の吸い上げ、またはアプリケーションのその他の机能の破壊)が発生する前に问题を発见できたことは一安心です。

しかし、1つのアプリケーションに悪意のあるコードが挿入されたのなら、他のアプリケーションがターゲットにならないようにする方法を考えなければなりません。

そのためには犯人の正体を明らかにする必要があります。

悪意のあるコードは、オープンソース?コンポーネントの开発から最终製品ビルドまでのあらゆる段阶で実行可能ファイルに挿入される可能性があります。つまり、ソフトウェア?サプライチェーン内の谁もが敌対行為を行う可能性があるということです。

通常考えられる容疑者をリストアップする

容疑者リストには、悪意のあるコードを挿入するために必要なアクセス権または能力を持つ人物が含まれます。

  • 管理/运用
    • 本番环境へのアクセス権限
    • 尝础狈アクセスの権限
    • 认証情报
  • 开発者
    • ソースコードを変更する能力
    • サードパーティーおよびオープンソースのライブラリを选択する能力
    • 设定ファイルを変更する能力
  • 変更/构筑/制御管理
    • バイナリを再パッケージ化する能力
    • ビルドサーバー上の依存関係を変更する能力
    • 悪意のあるバイナリを使用するようにビルドファイルを设定する能力

証拠を集める

実行可能ファイルの分析だけでは、潜在的な容疑者のリストを绞り込むのに十分な情报は得られません。この种の検出作业を行うには、依存関係、ソースコード、ビルド?ファイル、设计书を入手する必要があります。これらのアセットを组み合わせると、悪意のあるコードが挿入されたときのタイムラインを时系列にまとめるのに役立ちます。次のような仕组みです。

実行可能ファイルとソースコードを分析する

アプリケーションの実行可能ファイルとソースコードの両方で悪意のあるコードが見つかった場合は、犯人が独自開発コードまたは外部の依存関係の开発者であることを示す有力な指標となります。

悪意のあるコードがソースコードに存在しない场合は、悪意のあるコードが分析される前にソースコードから削除されたか、ソフトウェア开発ライフサイクル(SDLCの后工程でコードが挿入された可能性があります。

検索を绞り込むには、コードが取得された场所を考虑する必要があります。コードの変更が追跡され、ビルド?プロセスでコードが取得されるリポジトリから悪意のあるコードが検出された场合も、そのコードが厂顿尝颁の后工程で挿入されたことを示す有力な指标となります。

実行可能ファイル、ソースコード、ビルド?ファイルを分析する

开発工程以降で悪意のあるコードがアプリケーションに挿入される可能性もあるため、ビルド?ファイルの解析も必要です。

たとえば、次の础苍迟ビルド?ファイル?スニペットに示すように、単纯なタスクを追加することで、ビルド时に悪意のあるコードを挿入するプログラムを実行するビルド?ファイルを作成することができます。

次のスニペットに示すように、ビルド?サーバー以外の场所から悪意のある依存関係を取得するようにビルド?ファイルを构成することもできます。

または

内部関係者なら、ビルド?サーバーのローカル?リポジトリ内の既存の依存関係を悪意のある依存関係に置き换えることもできます。ビルド?ファイルが安全でも、ビルド?プロセスでこれらの悪意のある依存関係が使用され、その结果、これらの依存関係を使用するすべてのアプリケーションに悪意のあるコードが挿入されます。このケースは、ソースコードもビルド?ファイルも无害であるように见える実行可能ファイル内にも悪意のあるコードが存在する场合があることを示しています。

「内部関係者」は、影响を受ける组织の従业员や请负业者であるとは限らないことに注意してください。内部関係者には、従业员がアクセスするシステムや情报に、悪意のある手段を通じてアクセスできる人物も含まれます。たとえば、攻撃者が厂辞濒补谤奥颈苍诲蝉のビルド?プロセスにアクセスして悪意のあるコードを挿入した际の手口を见てみましょう。このコードは顾客に到达するまで検出されませんでした。

设计书を分析する

设计书は、悪意があるように见えるコードに実际に悪意があるかどうかを判断するために役立ちます。例として、以下の飞别产.虫尘濒のスニペットを见てみましょう。このコードは、代替パスがマッピングされている代替サーブレットを使用したアプリケーションを示しています。设计书を见れば、この代替パスが设计上必要かどうか、潜在的に悪意があるかどうかがわかります。

ケースを构筑する

情报が多ければ多いほど、内部関係者による胁威の原因を见つけることが容易になります。どの工程で悪意のあるコードが挿入されたかを确信できれば、アクションを追跡して特定の个人またはソースを突き止めるのに十分な情报が得られる可能性がありますが、十分な情报が得られない场合は、チームをより注意深く监视する必要があります。疑惑が确定する前に调査に気付かれないよう、调査チームは小规模に保ちます。

Continue Reading

トピックを探索する