blog.s.kbachaun.com

試験公開中です。雑記帳のようになってしまっています。更新頻度は低いです。

記事検索

検索フォーム
キーワード
検索方法

検索結果一覧

脅迫メールにCSRFを使用した手口が浮上

最近の遠隔操作ウイルス等を利用した脅迫メール等の送信の手口の中に、CSRF(リクエスト強要)を利用した可能性のあるものがあることが判明した。
某政令指定都市の意見フォームに、脅迫メールが送信された事件が、この手口を使用している。
具体的(ただしこの手段は1つの例である)には、まず、掲示板等の不特定多数が投稿可能なWebサイトに、攻撃を行うためのスプリクトを記載したWebページへのリンクを投稿する。掲示板の利用者が、このWebページへのリンクを開くと、攻撃を行うためのスプリクトが起動し、脅迫メールがターゲットに送信される。
スプリクトを記載したWebページには、メールフォームへ送信するデータ(実際のメールフォームから抽出したものが多いが、これに限定しない)と、送信に必要な簡単なプログラム(ページを開くと、先程のデータがメールフォームあてに自動的に送信されるようなプログラム)が入っている。このとき、メールフォームに通知される送信元のIPアドレスは、Webページを開いた人のIPアドレスが通知され、Webページの製作者のIPアドレスは通知されない。ただし、(設定にもよるが)攻撃用のWebページのURL(Referer情報)がメールフォームに送信されることもあるため、そこから犯行が判明する可能性もある。しかし、Webページは目的が完了したら即刻削除すればよいので、Webページが犯行に使用されたものなのかは分かりにくい。
Webサイトの運営者の対処方法としては、フォームを開いたときに利用者ごとに固有のキーを送信し、実際の処理実行時に受け取ったキーと先に送信したキーを比較し、一致すれば処理を実行するが、一致しない場合は処理を中止するといった対策が有効である。この対策は、会員制サイトの会員専用ページにはよく採用されるが、一般用のお問い合わせフォームなどには、あまり採用されるところを見掛けない。今回の事件をきっかけに、一般向けのお問い合わせフォームにも、このような機能を追加すべきであると考える。もしくは、Referer情報を確認する手法もあるが、この手法の場合、利用者が設定でRefererを無効にした場合の対応が課題である。なお、GET禁止はCFRFの対策とはならない(簡易的な攻撃には有効ではあるが)ので注意が必要(攻撃者は、POSTを使用して攻撃を仕掛けようとする可能性もある)

管理ページへのリンクについて

管理ページへのリンクが、Webサイト上のだれでも閲覧できる領域に掲載されていることが多々ある。しかし、このようなリンクの掲載はあまり好ましくない。
まず、1点目に、管理者用のページのURLが一般に公開されてしまうことである。管理者用ページの認証・認可機能がしっかりとしていればそれほど大きな問題ではないのだが、それでもセキュリティー上のリスクは一定程度ある。
次に、閲覧者への配慮の問題である。一般の閲覧者が利用できないようなリンクを用意することは、閲覧者にとって無駄な情報を受領することになる。利用できないようなリンクは削除したほうが、利用者にとって無駄な情報がなくなることにつながる。特に、管理用や会員専用などのリンクで、それとはわかりにくいリンクを張り、それにアクセスした利用者が認証画面をみてがっかりするといった事象は避けるべきであると考える。
3点目に、これは好みの問題と考えられるが、管理ページを見せないことによる、Webサイトの差別化である。管理用のページのリンク等を見せないことにより、一般的なCMSとは違う、特別なCMSを使用しているように見える。

管理ページへのリンクを一般ユーザーが見えるか所に配置することが、よくないことであることを理解していただけたでしょう。利便性のために設けられている管理用のUIは、除去したほうがよいと考えられます。なお、管理者ユーザーでログインしているなど、明らかに管理用UIを利用できるユーザーであるとシステムが認識した場合に限り、管理ページへのリンクを表示するのは、よいアイデアと思います。

SQLの文字列連結

SQLにおいて、文字列を連結する場合は、標準SQLの場合、"||"演算子を使用すればよい。しかし、これに対応していないDBMSもいくつかある。
たとえば、MySQLの場合、これを使用するとORの演算となってしまうようで、0が返ってきた。代わりに、CONCAT関数を用いればよい。
Microsoft SQL Serverにおいては、"+"演算子(C#やJavaなどで文字列連結を行う際に使用する演算子)を使用するといった情報があり、また、Microsoft Accessでは、"&"演算子(VBで文字列連結を行う際に使用する演算子)を使用するといった情報もある。
なお、Oracleは"||"演算子がきちんと扱える。

Webサイトについて

最近、インターネット上のWebサイトを閲覧していると、様々な種類のWebサイトを見かけるが、Webサイトは、主に次のnつの種類に分けられることがわかってきた。そのうち、個人サイトと思われるものが、今回のメインとなるものである。


  1. 企業や団体のWebサイトのうち、製品紹介や企業・団体の紹介など(ここではあまり取り上げない)

  2. 個人等が、広告収入を目的として、特定の単語に関する簡単な説明を掲載するWebサイト

  3. 個人や団体が、有料の教材(いわゆる情報商材など)を販売する目的で運営するWebサイト

  4. 上記に該当しないWebサイト(個人が趣味等で運営しているものなど)


1番目のWebサイトは、たいてい企業名などが明示されているため、容易に見分けることができる。ただし、企業等が4に該当するWebサイトを運営することもあるので注意が必要である。
ここで本題とするのが、2番から4番のWebサイトである。これらのWebサイトの見分け方は、慣れないと難しいかもしれない。

まず、2番目の広告収入を主目的とするWebサイトだが、これを見分けるのに重要なのは、内容が薄いのに、目立つところに広告(たいていはGoogle Adsを使用)がある点である。また、同じような内容のWebサイトが複数あるといった点、運営者の情報が全く掲載されていない点も、重要なポイントである。この種のサイトは、経験上、ほとんどの場合探している情報が見つからない。そのため、このようなサイトにアクセスすることは、時間の無駄となる。

次に、3番目のWebサイトだが、情報商材を販売するようなサイトには、共通した特徴がある。それは、1ページが非常に長い点、(ない場合もあり得るが)無料レポートと呼ばれる、メールアドレスを入力することで、入力したメールアドレス宛に、無料で、情報を送信するステムが備わっている点がある。非常に長いページで、繰り返し内容や購入者の声を掲載することで、ユーザーの購入心をあおる内容となっている。また、期間限定特典と称して特定日時までに購入すると、特典が付帯するといったことを行っている場合もある。なお、ほとんどの場合、このような特典は常時行っており、期間限定ではない場合が多いと考えられる(なお、このように期間限定と称して常時特典を提供する行為は、景品表示法などに違反する可能性があるので、十分注意されたい)。
このサイトの情報商材の内容は、期待したほどの内容でない場合も多いと考えられ、提供者はインターネット上にある情報を集編(?)して、有料で提供することにより、収益を得ることを考える。

4番については、説明の必要がないが、広告や有料商材の販売がないようなWebサイトは、これに該当すると思ってよい。

ここで、なぜこのようなことを書いたかというと、2,3に該当するWebサイトが非常に増え、必要な情報を得る妨げとなっていることがあげられる。インターネットの普及により、誰でも情報を発信できるようになり、また、インターネットを利用したビジネスも増えてきたが、これはつまり悪徳商法も行いやすくなったことを意味する。ここにあげたWebサイトは悪徳商法とまではいえないが、それに違い可能性もあり、注意が必要である。



ちなみに、この文章はスマートホン上で書いたものです。誤字脱字等は気にしないでください。
また、(スマートホンに関わりないことですが)内容に誤りがある可能性があります。誤りがある場合の、責任はいっさい負いかねます。

ナビゲーション