「シェルコード」とは何か【後編】
「シェルコード」は何が危険なのか? 具体的な対策は?
悪意あるプログラムを実行させるために用いられる「シェルコード」。それを悪用した具体的な攻撃手法と、企業が取るべき対策を紹介する。
コンピュータを攻撃するための機械語によるプログラムを「シェルコード」と呼ぶ。前編「『シェルコード』とは? 凶悪なマルウェア感染を可能にする手口」で述べた通り、シェルコードを悪用した攻撃の例には、バッファ(一時的な記憶領域)に許容量を超えるデータを送り込んでエラーを発生させる脆弱(ぜいじゃく)性「バッファオーバーフロー」を悪用した攻撃がある。他にも「Windows」のグラフィック機能「GDI+」の脆弱性「JpegOfDeath」を悪用する攻撃がある。エクスプロイト(脆弱性悪用プログラム)によって作成した有害なJPEG画像を標的のコンピュータに開かせ、バッファオーバーフローを誘発するというものだ。
エクスプロイトは通常、悪用対象の技術とペイロード(攻撃者による悪質なプログラムの実行を可能にするコンポーネント)という2つの要素から成る。悪用対象の技術は、標的となるアプリケーションにシェルコードを挿入して実行経路を変え、シェルコードを実行させるために悪用する。そうすることで攻撃者は、シェルコードをペイロードで実行できるようになる。例えばプログラムが実行すべきコマンドを記したメモリのアドレスを、シェルコードのアドレスに上書きすることでシェルコードの実行を誘発できる。
シェルコードで悪用されるバッファオーバーフローは、スタックおよびヒープを利用したものが一般的だ。スタックとはプログラムが関数を操作するために扱うデータをあらかじめ格納しておく記憶領域、ヒープとは動的に確保する記憶領域を指す。他にもコンピュータが扱える最大値を超える整数を与えることで発生する「整数オーバーフロー」を悪用した攻撃や、プログラムが扱う文字列に特殊な文字列を挿入し、メモリの値を不正に読み書きする「書式文字列攻撃」などの攻撃手法がある。
ペイロードを使うことで、攻撃者が次のコマンドを入力するのを待つ状態にすることもできる。シェルコードはローカルでもリモートでも実行可能だ。ローカルでの実行は攻撃者が物理的にコンピュータにアクセスできる時に使われる。一方リモートでの実行は、脆弱性のあるプロセスを実行しているコンピュータを狙い、ネットワークを介してそのコンピュータにアクセスする目的で使われる。
シェルコード対策の勘所
シェルコードによる攻撃を食い止めるために、企業は多層的なセキュリティ対策を実施しなければならない。攻撃者は自動化された手法で既知の脆弱性があるアプリケーションを探す。従って企業のファイアウォールやデバイス管理製品は、疑わしい接続および悪意ある接続を阻止する設定にしておく必要がある。モニタリングやAI(人工知能)技術を使って異常な挙動を発見し、恒久的な損害が生じる前に攻撃を食い止めなければならない。
アプリケーションの保護も重要だ。メモリ保護や、プログラムの実行が不可能な記憶領域からのプログラム実行の防止といったセキュリティ対策を有効にすることで、エクスプロイトへの耐性を強化する必要がある。「Metasploit Framework」や「PowerSploit」といったセキュリティテストツールを使うことで、実行中のプロセスにシェルコードが挿入されていないかどうかなどを調査することができる。
最後に、そうした防御の組み合わせが有効かどうかをチェックすることも欠かせない。そのためには侵入テストツールを使って、シェルコードを実行しようとする攻撃を検出し、それをきちんと防止できるかどうかをテストするとよい。
Copyright © ITmedia, Inc. All Rights Reserved.
「シェルコード」とは何か
この記事の著者
関連記事
新着ホワイトペーパー PR
-
事例
[株式会社ラクス] どうすれば「変革を楽しむ組織」になれるのか? 事例に学ぶ、未来への一歩 -
製品レビュー
[デル・テクノロジーズ株式会社] 変化するサイバー脅威に備える、これからのストレージの選び方 -
事例
[サイボウズ株式会社] 受注約1.5倍と年間2万3000時間超の業務時間を削減、日機装に学ぶDX実践術 -
製品レビュー
[サイボウズ株式会社] 人材不足にどう挑む? ものづくり太郎が語る、製造現場でのAI活用成功の鍵 -
市場調査・トレンド
[グーグル・クラウド・ジャパン合同会社] 金融機関はAIエージェント導入でどう変わる? 7つの変化から19の事例まで解説
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
RAGで「データをAIに送る」運用が限界を迎えている理由
-
2
Microsoft 365侵害企業の9割はMFA導入済み 1002人調査で見えた盲点
-
3
ハイパーコンバージドインフラ徹底比較、「SimpliVity」「Nutanix」はどう違う?
-
4
Googleの業務向けAIエージェント「Gemini Agent」が登場 しかし課題は山積み
-
5
なぜ「Claude Code」拡張は消しても危ないのか? Cursorで不正版配信
-
6
【基本情報技術者試験】データ消失リスクを防ぐ3つの「バックアップ手法」を比較
-
7
「Copilot」がIT予算を食いつぶす? 高額請求を招く課金体系と節約術
-
8
PHPはそもそも必要か? 脆弱性で問われる自社サイト安全性と保守負担のバランス
-
9
「業務PC/ワークステーション」に関するアンケート
-
10
複雑化するフォント管理に終止符を Monotypeが提唱する安全な運用方法
ホワイトペーパーランキング PR
-
1
「IT史に名を残すシステム障害」8選
-
2
侵入から横展開まで27秒の脅威にどう立ち向かう? 防御のカギがEDRの理由
-
3
有識者が語る、中堅中小企業に求められる最新のサイバーセキュリティ対策とは
-
4
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
5
10G回線の真価をフルに享受するには? 導入前にチェックしたいポイント
-
6
なぜAIは組織で定着しないのか? 全社展開を阻む「3つの壁」と突破のヒント
-
7
パスワードレスへの移行で失敗しないためには? 導入・運用上の注意点を解説
-
8
自社のセキュリティ対策は大丈夫? 自己診断リストで対策の優先順位が分かる
-
9
ランサムウェア攻撃“究極の対策”はこれだ
-
10
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー