基本情報技術者試験対策(32)「技術を悪用した攻撃手法」

スポンサーリンク
SQLインジェクション攻撃の仕組みを視覚的に説明するイラスト IT系

SQLインジェクション攻撃

技術を悪用した攻撃手法の種類を紹介しよう。最初に紹介するのはSQLインジェクション攻撃 (injection=注入する) である。 これは、Webアプリケーションの入力欄に、 悪意のある部分的なSQL文を入力して、それをDBMS(Database Management System:データベース管理システム)に実行させるものである。

Webアプリケーションは、あらかじめ用意しておいたSQL文のひな形に、 ユーザが入力した項目を付加して、 実行可能なSQL文とする。 例えば、「SELECT * FROM 重要な表 WHERE 会員番号 = ‘」というSQL文のひな形を用意しておき、この後にユーザが入力した会員番号(ABC123とする)を付加し、末尾を「’」で閉じて、「SELECT * FROM 重要な表 WHERE 会員番号 = ‘ABC123’」 という実行可能なSQL文にする。

悪意のある人が、「XYZ789」 という適当な会員番号を入力しても、何も表示されないが、 「XYZ789′ OR ‘A’ = ‘A」 と入力するとどうなるだろう。「SELECT * FROM 重要な表 WHERE 会員番号= ‘XYZ789’ OR ‘A’ = ‘A’」というSQL文になり、「会員番号= ‘XYZ789’」 が偽であっても、 「’A’=’A’」が真になるので(‘A’=’A’の部分は、 ‘B’ = ‘B’ や ‘C’ = ‘C’ など、条件が真になるなら何でも構わない)、それらをORで結び付けた 「会員番号= ‘XYZ789’ OR ‘A’=’A’」 が真となり、「重要な表」 から情報が盗まれてしまう。これが、SQLインジェクション攻撃である。

DNSキャッシュポイズニング

インターネットには、膨大な数のDNSサーバがあり、 もしも1つのDNSサーバでドメイン名に対応するIPアドレスが得られない場合は、そのDNSサーバが他のDNSサーバに問い合せを行う。 その際に、 何度も同じ問い合せをするのは無駄なので、一度問い合わせた結果は、DNSサーバの中にキャッシュ(貯蔵)されるようになっている。
DNSサーバのキャッシュの内容を書き換えるという攻撃をして、悪意のあるWeb サイトに誘導することをDNSキャッシュポイズニング (cache poisoning) と呼ぶ。 例えば、下図のように、 あるDNS サーバが、 WWW. shoeisha.co.jp というドメイン名に対応するIPアドレスの114.31.94.139をキャッシュしているとき (①)、 このIPアドレスを悪意のあるWebサイトのものに書き換える (②)。 この状態で、 クライアントのWebブラウザにwww.shoeisha.co.jp を入力すると (③)、悪意のあるWebサイトが表示されてしまう。(④⑤⑥)

フィッシング

フィッシング (phishing) は、 造語であり、 「魚釣り」 という意味の fishing と「洗練された」という意味の sophisticated を組み合わせたものだと言われている。(他の説もある)

偽物のメールやWebサイトを使って、人からパスワードやクレジットカード番号などの大事な情報を盗み取る手口である。
見た目は本物そっくりなので、だまされやすい点が特徴である。

フィッシングの仕組み

  1. 偽メールが届く
    「あなたのアカウントに問題があります」「本人確認をしてください」など、不安をあおる内容。
  2. メール内のリンクを押すと偽サイトへ誘導される
    銀行・クレジットカード会社・有名な通販サイト(Amazonなど)のログイン画面にそっくり作られている。
  3. 偽サイトにIDやパスワードを入力してしまう
    入力すると攻撃者にそのまま送られてしまう。
  4. 盗まれた情報を悪用される
    不正ログイン・勝手な買い物・口座からの引き出しなどに使われる。

参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年

コメント

タイトルとURLをコピーしました