エクスプロイトのテクニック

エクスプロイトのテクニック

実際のエクスプロイトの方法の例として、Adobe Readerのgeticon() 。
“Adobe Acrobat and Reader 'getIcon()' ” BID #34169 - のバッファオーバーフローを引き起こす脆弱性について見てみましょう。
→参照:Adobe Acrobat and Reader Collab 'getIcon()' JavaScript Method Remote Code Execution Vulnerability(SecurityFocus)

PDFファイルに埋め込まれたJava Scriptから geticon() メソッドを呼び出す際に、過度に冗長な引数を渡します。するとgeticon()メソッドは、アプリケーションで利用するメモリ境界を超えて引数を展開してしまう事でバッファオーバーフローを引き起こし、OSに、境界を超えて展開された個所を読み込ませる事で、利用者の権限を奪い任意のコードを実行してしまいます。

最初のPDFファイルはマルウェア感染の入り口です。仮にこうしたエクスプロイトコードを含んだ添付ファイルを発見したとしても、マルウェアの実態が添付されていない事があるので、どのようなマルウェアがインストールされたのか追跡を難しくします。

図2:脆弱性の総数(クリックで拡大)

なぜ攻撃者は脆弱性を悪用するのか

今日の攻撃者は、攻撃が発見されないようことに細心の注意を払っています。目立たない攻撃ほどブロックされる可能性が低くなるため、情報を盗み出すという目的を達成できる確率が高くなるためです。したがって、標的とするコンピュータにアクセスする手段を目立たずに得るための足がかりとして、脆弱性は格好のターゲットとなっています。脆弱性のエクスプロイトコードを用いる事により、攻撃者が感染したコンピュータの完全なコントロールを手中にできる場合もあるのです。

今や、脆弱性に関する情報をやり取りし、エクスプロイトを容易にするコードを提供するブラックマーケットが存在しているため、攻撃者が脆弱性を利用する事は特別な事ではないのです。

脆弱性の数は増加傾向にあり、引き続き警戒が必要なレベルにあります。

図3:(左)新しいゼロデイ脆弱性の傾向/(右)図4Acrobatの脆弱性を悪用したマルウェア侵入の例(それぞれクリックで拡大)

脆弱性を取り巻く環境の内、深刻な問題の 1 つがゼロデイ攻撃です。攻撃者は、ソフトウェアベンダーから脆弱性を修正するパッチが配布される前、あるいは管理者がパッチをテストして適用する前に、悪用する攻撃を開始しようとします。攻撃の時点では脆弱性があまり知られていないため、このゼロデイ攻撃の発生によってはじめてソフトウェアの欠陥が明らかになる場合もあります。

ソフトウェアベンダーは、自社製品に見つかった脆弱性を修正するためのソフトウェアフィックスの開発とリリースのプロセスを確実に改善しています。しかしながら、ベンダーが顧客向けにパッチの提供を開始するより前に、攻撃者が脆弱性のエクスプロイトコードを開発しているというのが、平均的な現状です。

そのため、影響を受けるシステムはリスクにさらされ、被害を受けやすい状態のままになってしまいます。

脆弱性は、侵入段階でも悪用されますが、企業ネットワークに侵入後、他のPCやサーバーへ感染を拡大する際にも利用されますので、脆弱なサーバーが残っている場合、社内での感染拡大の危険性は高まります。

ここまで、高度に偽装したメールで標的をだまし、添付ファイルやURLリンクをクリックさせ、「脆弱性」というマルウェア感染の入り口を開かせるという、標的型攻撃における主流となっている手口を紹介しました。お読みになっておわかりの通り、侵入リスクの低減には脆弱性対策が重要なカギとなります。

脆弱性を悪用する攻撃を失敗させる事ができれば、いくら高度に偽装したメールを送っても、利用者に気付かれずにマルウェア感染させる事はできなくなるのです。

パターンマッチングによるウイルススキャンをすり抜ける新種のマルウェアは無限に作り出す事が可能です。

しかし、ソフトウェアのバグである脆弱性を攻撃者が作り出す事はできません。膨大で高度な作業によってのみ、攻撃者は眠っている脆弱性を発見できるのです。脆弱性の数は限られていますので、それを悪用するコードの実行を防ぐ事は、侵入のリスク低減に大きな効果を発揮します。

しかも、ゼロデイ脆弱性と言われるソフトウェアベンダーが発見していないような脆弱性の数はごくわずかです。前回紹介したようなAPTなど特殊なケースで使われますが、多用される事はありません。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30