Web教材一覧情報倫理・セキュリティ

Webでの騙し・攻撃の手口

キーワード

スプーフィング、フィッシング、ファーミング、バッファオーバーフロー攻撃、SQLインジェクション 、クロスサイト・スクリプティング、CSRF、セッション・フィクセーション、ソーシャルエンジニアリング、テンペスト攻撃、中間者攻撃、疑似攻撃、ハニーポット、送信ドメイン認証


インターネットによる騙しの手口を総称してスプーフィングといいます。スプーフィングには,多様な騙しの手口があり,しかも巧妙化しています。そのうちのいくつかを列挙します。

悪意のあるWebサイトへの誘導

信頼のある発信者の電子メールを偽装して,悪意のあるWebサイトへ誘導し,クレジット番号などの個人情報を盗む手口です。

フィッシング(Phishing)
フィッシング(Phishing)は,Fishing(魚釣り。騙すの意味もある)とSophisticated(洗練された)からの造語です。例えば図のように,送信者(差出人,From)を詐称して,実在の○○銀行から来たような電子メールを送付し,そこに悪意のあるサイトへ誘導するリンクを貼り付けます。
 閲覧者は,取引があり信用できる○○銀行からの電子メールだと誤認し,同銀行のサイトへのリンクだと思って,クリックしてしまうと,偽のサイトに誘導されます。そのWebページを○○銀行に極似したものにしておくと,閲覧者は信用してパスワードや口座番号などを入力してしまうため,それを詐取するという手口です。
 単純な手口では,ステータスバーにリンク先が表示されるので,注意すれば回避できます。ところが,JavaScriptやフレームを使って,ステータスバーの表示を偽装したり,表示しなくしたりする手口もあります。
ファーミング(Farming)
ファーミングは,Farming(栽培)からの造語です。フィッシングのように偽の電子メールを送るのではなく,種を蒔いておけば自然と収穫できるという手口です。
 最近アクセスしたページのURL(ドメイン名)とIPアドレス(インターネットでの電話番号に相当するもので,相手先のサーバ等を示す番号)の対応表がパソコンに保管されていますが,そのIPアドレスを偽のWebサイトのIPアドレスに改ざんすることにより,閲覧者が正規のURLを手で入力しても,偽のWebサイトへつながってしまいます。
DNSキャッシュポイズニング(DNS cache poisoning)
さらに手が込んだ手口では,DNSサーバの対応表の書き換えがあります。DNSとは,ドメイン名からIPアドレスを知るための機能で,インターネットでのWebページ閲覧や電子メール送信で必須な仕組みです。
DNSでも、最近使ったドメイン名やIPアドレスの情報をキャッシュしています。DNSキャッシュポイズニングとは、そのキャッシュを偽情報に書き換える手口です。自分のパソコンではなく、伝送経路にあるDNSがこのような手口にあうと,閲覧者が対処するのはかなり困難になります。
SEOポイズニング
検索エンジンは、多くのWebページを調べ、多様な評価尺度によりランク付けしています。検索で上位にランクされれば、自社Webサイトのアクセスを高めることができます。検索エンジンの評価方法を調べて上位に表示させる技術をSEOといいます。SEO自体は不正なものではありません。
SEOポイズニングは、SEO技術を悪用して、入力キーワードとは無関係なページなのに、上位に表示させ、閲覧者を騙して悪意のページに誘導する手口です。検索エンジンは、それを見破る対策を講じていますが、それを回避する手口も進んでいる状況です。
CSRF(Cross Site Request Forgeries)
セッション・フィクセーション(Session Fixation)
クッキーなどのセッションIDに対する攻撃です。
CSRFとは、利用者が感染したパソコンから正規のサイトを閲覧したとき、利用者が意図していない悪意のメッセージを含む情報を正規サイトへ強制的に送信する手口です。会員資格やクッキー情報などを悪用しているので、正規サイトで多様な操作ができてしまいます。
セッション・フィクセーション(Session Fixation)とは、攻撃者が生成したセッションIDを利用者に強制的に使わせることにより、ユーザーのセッション状態を乗っ取る手口です。
クリックジャッキング
信頼のあるWebページのボタン等の部分に、悪意のあるボタン等を透明にして上乗せします。利用者がそのページを閲覧し、正規に見えるボタン等をクリックすると、悪意の処理を実行する手口です。Webサイト運営側が、iframeでの他ページの取り込みを制限する手段が有効です。
ワンクリック詐欺
Webサイトや電子メールにあるURLを一度クリックしただけで、一方的に、アダルト系の有料サイト閲覧や有料の出会い系サイト会員契約の成立を宣言され、多額の料金の支払いを求める詐欺です。

Webページの仕組みに対する手口

Webページ作成者の不注意、Webサイト運営の脆弱性につけこんだ攻撃も多くあります。

標的Webサイト

標的型攻撃
これは特定の攻撃手口ではなく攻撃対象による名称です。特定のサーバや特定の情報に限定して、多様な手口を用いて攻撃します。最近は政治的な意図により、高度な技術をもつサイト、社会インフラを制御しているサイトを標的にしたサイバーテロが増加しており、大きな問題になっています。
水飲み場攻撃(Watering Hole Attack)
ここでの「水飲み場」とは「利用者が多いサイト」のことで、標的型攻撃の標的になりやすいサイトです。水飲み場サイトを標的にして、Webページを改ざんしたり、わなを仕掛けることにより、攻撃の効果が大きくなります。

入力フォームでの不正入力

Webページには,閲覧者がデータを入力させるFORMという機能があります。それを利用して,不正な入力を行ってサーバから情報を取り出したり,FORMの内容を改ざんしたりして,閲覧者が入力した個人情報を入手する手口です。Webページの作成者がFORMの不正対策を十分に講じていないことが原因になります。

バッファオーバーフロー攻撃
プログラムが確保した入力用のデータ領域(バッファ)を超えるサイズのデータを入力することで,攻撃者が仕組んだ悪意のプログラムを実行させる手口です。
 一般にWebサーバなど、インターネット経由でサービスを提供するプログラムが攻撃の対象になります。Webサーバへの攻撃の多くがバッファオーバーフロー攻撃だといわれています。
SQLインジェクション
SQLとは,データベースをアクセスする言語です。FORMから入力したデータにより,データベースを検索加工して,その結果をWebページに表示するとき,不正なSQLのプログラムを与えることで,データベースのデータを不正に閲覧したり改ざんしたりすることができます。また,ユーザIDやパスワードを要求しているWebページで,それらを入力するのではなく,それらをデータベースから取り出すSQLプログラムを入力することにより,不正にログオンすることもできます。
 これを防ぐためには,FORMから不正なデータ(SQLプログラム)を入力できないようにチェック機能を組み入れておくこと、入力文からSQLプログラム特有の文字列を発見したら削除あるいは他の文字に置換する無害化機能(サニタイジング、sanitizing:)をもたせることが必要です。
OSコマンドインジェクション
SQLインジェクションと同様に、FORMからOSコマンドを送り付ける手口です。利用者がFORMに入力して送信するとき、入力文に悪意のあるOSコマンドを挿入しておき、Webサーバでそのコマンドを実行させることができます。この対策もSQLインジェクションと同様です。
メールヘッダインジェクション
問合せメールなどでは、Webページの入力フォームに、正規の自社への宛先メールアドレスを入力させることがあります。悪意者は、正規の宛先メールアドレス以外に悪意者の宛先メールアドレスを自動作成するよう改ざんし、メールの内容を取得する攻撃です。
 これを防ぐには、宛先メールアドレスを固定値にする、入力フォームに複数のアドレスを入れられないようにするなどの対策が必要です。
ディレクトリトラバーサル攻撃
Webページでのファイルを入力するフォームで、上位のディレクトリへの横断(traversal)をされる(例えば ../ を含むURLが入力される)と、本来アクセスされることを想定していファイルの盗聴ができてしまいます。
クロスサイト・スクリプティング(Cross-site Scripting)
利用者が悪意のあるサイトを閲覧すると、そこから正規のサイトに不正なスクリプトを含むメッセージを送りつけて改ざんし、それを利用者に閲覧させます。利用者はそれを信用して個人情報を入力すると、それが悪意のサイトに送られてしまいます。
これを防ぐには、正規のサイトがWebページの入力テキストボックスなどで、JavaスクリプトやHTMLコードなどを入力できないようにしておく必要があります。
CAPTCHA
ロボット(ソフトウェア)を用いて自動入力をすることにより、無料サービスのアカウント大量取得やオンライン投票での大量投票などをする攻撃があります。CAPTCHAは、入力者がロボットではなく人間であることを確認する手段の一つです。
人間には読み取ることが可能でも,プログラムでは読み取ることが難しいという差異を利用して,ゆがめたり一部を隠したりした画像を表示して文字を判読させ、その文字列を入力させることで,人間以外による自動入力を排除します。

入力以外でのWebサーバ攻撃

IPスプーフィング
IPアドレススプーフィング(IPアドレス詐称攻撃)ともいい。なりすましによる不正アクセス手口の一つです。正規の送信元IPアドレスを盗み、そのIPアドレスをもったパケットを相手のサーバに送りつければ、アクセス制限を受けずに内部ネットワークへアクセスできてしまいます。
 被害にあいログを調べても、正規のIPアドレスになっているので、追跡が困難になります。
ポートスキャン攻撃
WebサーバはHTTPやFTPなど多様なサービスをしていますが、そのサービスをポート番号で区別しています。(参照:「ウエルノーン・ポート番号」)。アクセス可能な通信ポートを外部から調査するツールをポートスキャナといい、それによる調査をポートスキャンといいます。
ポートスキャンは、サーバ管理者がセキュリティ対策として用いるのが本来の用途ですが、悪意の第三者に使われると、標的サーバが利用できるポート番号をスキャンして攻撃されます。それをポートスキャン攻撃といいます。
それを防ぐために、使わせないポートを閉鎖すること、使わせるポート番号も標準的なポート番号と異なるようにしておくことなどが行われます。
DoS攻撃
標的となるサーバに大量のメッセージを送り付けて、本来のサービスをできなくさせる攻撃をDoS攻撃(Denial of Service attack:・サービス拒否攻撃)といいます。あらかじめ多数のサーバやパソコンにウイルスを潜入させておき、攻撃者からの指令により、一斉に起動させて標的サーバに大量のメッセージを発信させます。それに利用されたサーバやパソコンを「踏み台」といいます。
特に大規模・多段階な踏み台による攻撃をDDoS攻撃(Distributed DoS)といいます。
メールボム攻撃
Webサーバではなく、メールサーバへの攻撃です。標的のメールアドレスに大量の電子メールを送り,利用者のメールボックスを満杯にすることで新たな電子メールを受信できなくする手口です。これも踏み台を使うのが通常です。DoS攻撃の電子メール版といえましょう。
ブラックリスト登録攻撃
著名なポータルサイトでは、「わな」が仕込まれている不正サイトをブラックリストにして、そのへのリンクを遮断しています。また、ブラウザやウイルス対策ソフトでは、独自あるいはポータルサイトとの連携により、ブラックリストにあるサイトのWebページは閲覧できなくする機能をもっています。
それを悪用して、標的サイトをブラックリストに載せるために、多様な巧妙な攻撃をします。例えば、標的サイトを直接に改ざんするのではなく、そのサイトから頻繁にリンクされているサイト(販売や広告の代行サイト)を改ざんしてブラックリストの対象にすると、間接的に標的サイトも対象になってしまいます。標的サイト側の対策だけでは対応できません。

通信経路での手口

インターネットでは、多くのルータを経由するので、そのなかにXが管理している(乗っ取った)ルータがあれば盗聴や改ざんができます。また、無線LANはそれがしやすい環境です。

中間者攻撃
中間者攻撃(MITM、man-in-the-middle attack)とは、暗号通信を盗聴したり介入したりする手口の一つで、通信している2人の間(ブラウザとサーバ間など)に攻撃者が割り込み、通信内容を盗聴したり改ざんしようとする攻撃です。
 AがBに暗号通信をしているとき、攻撃者XはAの公開鍵を取得し、それをXの公開鍵とすり替えてBへ転送します。BはAだと思い込んでXの公開鍵で暗号化した電文をAに送信するが、Xはそれを受信してXの秘密鍵で復号できます。さらにXは、Bからの電文を改ざんしてAの公開鍵で暗号化した電文をAに転送します。AはAの秘密鍵で復号できるので、改ざんされた電文をBからの正規の電文だと信用します。
 このように、XはA・Bに気付かれることなく、2人の通信を盗聴したり改ざんできるのです。
 中間者攻撃を防ぐために、認証機関発行のデジタル証明書をチェックして、Aの公開鍵が正規のものであることを確認することが重要です。
テンペスト攻撃
ディスプレイやケーブルなどから電磁波が放射されます。それを傍受し分析することにより,内容を盗聴する攻撃をテンペスト(tempest)攻撃といいます。中間者攻撃がしやすい環境になります。これを防ぐには、パソコン等が置かれている部屋に電磁波遮断設備(窓に金網を張るなど)を設置することが必要です。
フォールバック攻撃
強度の高い暗号化プロトコルが次々に策定されています。強度の高い暗号化プロトコルは、中間者攻撃を防ぐ手段としても有効です。ところが、サーバやブラウザの仕様が古いと、新しいプロトコルをサポートしていないなどの理由で、暗号通信を確立できなくなることがあります。それを避けるために、普及率の高い旧版(強度の低い)のプロトコルで自動的に再接続を試みる方法がとられます。その機能をフォールバックといいます。
 これを悪用されると、ブラウザを常に古く脆弱なプロトコルを利用するように設定される危険性があります。それにより、暗号を解読されたり、鍵を盗まれる可能性が増大します。それを利用した攻撃をフォールバック攻撃といいます。
 その対策として、フォールバック機能の自動化設定を外したり、脆弱性のある旧プロトコルでの通信を行わなくする手段がとられます。

その他の手口

ソーシャルエンジニアリング

ソーシャルエンジニアリングとは,情報技術を用いずに電話などによりパスワードなどを聞き出す手口です。例えば,次の手順で不正を行います。

  1. 何らかの手段により,IT部門のセキュリティ担当者の名前や業務の内容を聞き出しておく。
  2. その担当者になりすまして,利用部門の人からパスワードを聞き出す。
  3. 利用部門の人になりすまして,社内のネットワークに侵入し,ウイルスを植えつけたり,重要なファイルにアクセスしたりする。

パソコンの操作をしている人の肩越しに、キー操作や画面を盗み見ることをショルダハッキング、清掃員を装ってゴミ箱から不注意に捨てた情報を取り出したり,コピー機やFAX近辺に置かれた文書を盗んだりすることをスキャビンジングといいますが、これらも含めてソーシャルエンジニアリングということがあります。
 このような手口にかからないようにするためには,「セキュリティ担当者といえども,他人のパスワードを聞くことはない」「重要な操作をするときは周囲に気を付ける」「パスワードなどの情報がある書類はシュレッダにかける」というような基本的なことを,ふだんから全社員に徹底しておくことが必要です。

パスワードリスト攻撃

これは、何らかの手段で攻撃者がユーザIDとパスワードを入手した後の攻撃手口です。利用者のパスワード「使い回し」習性を突いた攻撃です。
 利用者が、いくつものWebサイトのアクセスに同じパスワードを用いているとします。攻撃者は、自動的に入力するプログラムなどを用いて、多数のログイン機能を持つWebサイトに片っ端にアクセスを試み、アクセスに成功したら攻撃を開始します。
 利用者は、パスワードを、A,B,C,A,B、…というように繰り返している場合も危険です。攻撃者がAを入手していれば、定期的にAを用いたスキャンを試みていれば、いつかはアクセスに成功します。
 このような攻撃を避けるために、
  ・Webサイトに応じて複数のパスワードを使いわけること
  ・それらのパスワードの変更では、古いパスワードの再使用をしないこと
が重要です。

サラミ攻撃

サラミソーセージを少しずつ薄く切りとっても気づかれないように、銀行の金利計算プログラムの開発者がプログラムに細工を施し,切り捨てになる金額を自分の口座に入れるなど、多くの人から気付かれないほどの少額を詐取する手法です。
 これは主に内部犯行の手口で、必ずしもWeb詐欺ではありませんが、インターネットを介したこのような犯罪が懸念されます。

サーバ側セキュリティ対策技術のトピックス

疑似攻撃

ペネトレーションテスト、サイバーアタックシミュレーションともいいます。サーバなどに攻撃者の視点から様々な実際に擬似的な侵入・攻撃を仕掛けて、脆弱性の診断・検査をするサービスです。
 社外攻撃サーバからの社内ネットワークに侵入して、機密情報を取り出したり管理者権限を取り出すなど、ネットワークを介した疑似攻撃が主ですが、標的型メール攻撃が多くなっていることから、ソーシャルエンジニアリングも加えた疑似攻撃も行われています。

ハニーポット

「蜜壷」=「おとり」の意味です。ハッカーやクラッカーが興味を持ちそうな本物そっくりの環境を作り、連中をおびき寄せることにより、その手口を研究したり、犯人を突き止めます。

送信ドメイン認証

フィッシング詐欺など、メール送信では他のアドレスになりすまして送ることが容易ですが、これは送信者情報のドメインの正当性を検証する仕組みです。