Upgrade to Pro — share decks privately, control downloads, hide ads and more …

バックドアの発見と検証

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for lumin lumin
July 08, 2022

 バックドアの発見と検証

サーバやネットワーク機器、IoT機器のバックドアの分類と検証方法について。

Avatar for lumin

lumin

July 08, 2022
Tweet

Other Decks in Technology

Transcript

  1. バックドアを仕掛ける意味 • 侵入を継続する 侵入してから仕掛けるもの、bind shell, reverse shell, web shell, root

    kit • メンテナンスやサポート、実装を容易にする • ディフォルトパスワード、メーカーアカウント、サポートアカウント, IPMI • 予め製品に仕込む • 個体識別アップデート、トレースビーコン、アクセス解析、故意の脆 弱性 • ソフトウェアサプライチェーン攻撃 • コンパイラ、Makefile、プルリクエスト
  2. 検査を逃れる方法と、逃れられない方法 • OSに依存する検査方法は、OSや検査するツールの書き換えで 発見できなくできる。(root kit) • * ファイルシステムから隠す、偽装する • *

    プロセスを隠す、偽装する • * 空きポートを隠す • * 再起動時すると消える • * メモリのみに存在する • パケット解析とフォレンジック解析、ファームウェア解析から は、どのような状態であれ、バックドアが動作したときには、 発見できる。
  3. バックドア検証のフロー • 対象を事前調査以内と必要な工数や見積れない。 • 必要なスキルを持つエンジニアをそれから確保する必要がある。 • x86 リバース • ARMリバース

    • 暗号解読 • ソースコード診断(各言語ごと) • フォレンジック • ペネトレーションテスト • バックドアがないことの証明は、バックドアがあることの証明より証明が必要な 範囲が広い。
  4. ログインプログラム 197x年に仕掛けられ 、1984に発表され普 及した。 この攻撃はコンパイ ラに仕掛けられたた め、ソースコードの みではわからないの で、バイナリコード での検査必要。UNIX

    系OSのバックドアプ ログラムではよく実 装された。Linux kernel kitなどにも使 用される。 ソースコードのみで は半手できないもの で、コンパイラに仕 掛けられたので、バ イナリでの検査が必 要とされた。
  5. • ルータやファイアウォールがある場 合に任意のポートやtcp/443,80,53 な どで待ち受けて、任意のコマンドを 実行できるマシン上でshellアクセス を可能にします。プライベートアド レスしか持っていなくてもアクセス 可能です。各言語ごとに開発されて います。これらのコードはウイルス

    対策ソフトで止まるケースも多々あ ります。 • プロセスとして残っているので全プ ロセスを検証かメモリフォレンジッ クをします。プロセス名などは変更 する偽装がされていることもありま す。 reverse shell
  6. Web shell Webサイトや、Web系システムに仕込んで利用する 。 PHP, Java, Ruby on Rails, Djangoなど様々なプラッ

    トホーム用にある。単純なコマンドインジェクション 、SQLインジェクションが可能になるようにコードを 仕込むこともある。 既存のWebShellはウィルス対策ソフトで発見できる ことが多い、組込み型は、発見が難しくすべてのコー ドを解析する必要がある。
  7. RAT

  8. バックドアの検証サービス • バックドアがないことを証明することを目的とする。バックドアが あった場合はその時点で終わることもある。 • IoTはファームウェアを入手もしくは取り出すことが第一ハードル (別途提供できる場合はした方が良い) • バイナリ解析はバックドアが仕掛けられる部分を中心に •

    かかる期間は解析すべきデータのサイズによる。2~12週ぐらい が一般的 • できる人は少ない。間違ったところに発注すると、脆弱性検査しか しない、Webしかできないなど実施すべき内容が不充分になる。