BLOG HOME

TESTERA BLOG

M2M

投稿者: takahashi, 日付: 2012年02月25日

M2Mについて、皆さんご存知だろうか。言葉の持つ意味や概念としては、目新しいものではないが、最近よく耳にする。

M2Mとは、MachineとMachineがネットワークを経由してデータのやり取りを行う事を指す。最近は、通信機器などが安価になってきて利用しやすくなった為、注目されているようだ。

日常使うポットや電化製品にセンサーをつけて、その使用具合で毎日元気にすごしているかどうかをチェックしてメールしたり、ガス漏れを検知して、警報を行ったりと既に日常のいろいろな場面で活用されている。
個人的には、家に居ながら病院の診察が受けれたり、洗濯物をたたんでくれる洗濯機なぞがあればいいなと思う。

しかし、M2Mで便利になる反面、人を介さないでなんでもできるって、雇用は?人とのコミュニケーションは?と気にもなる。
M2Mの可能性に期待が膨らみつつも、移りゆくものについての懸念も残る。

ディスプレイ広告とは

投稿者: takahashi, 日付: 2012年02月24日

TechCrunchでGoogleがディスプレイ広告で好調な旨伝える記事が掲載されていた。将来は、FaceBookを追い抜く勢いだとか。。

ところで、ディスプレイ広告とはなんぞや?
バナー広告は、依然からあるし、検索連動型は、文字通りでイメージしやすい。ディスプレイ広告は、あまりも表現が漠然としていて直観的なイメージが湧かず、わかりずらいのではと思う。
それはさておき、ディスプレイ広告とは、以下のものであるらしい。

インターネット上の広告手法の一つで、WEBサイトの一部として掲載される広告宣伝でアニメーションや動画や音声などマルチメディアで宣伝する事らしい。

その他にもいろいろ広告種類があるので、ちょっとまとめてみる。私も主観も入っているかもしれないが、ご参考まで。。。

[テキスト広告]
 文字による広告宣伝。文字にリンクを張り、製品のサイトなどへ飛ばす。
 WEBサイトやメールなどでよく見られる。
 メール上のものは、メール広告と呼ばれる事もある。

[検索連動型広告] 
 検索エンジンなどで検索されたキーワードに関連した広告を検索結果に表示する手法。テキストで広告を表示する場合もある。

[バナー広告]
 WEBサイト上の画像広告。特に横長のものをバナーと呼ぶ。
 画像をリンクにして、製品ページなどへ飛ばすのは、みな同じ。

[参考][TechCrunch記事]
http://jp.techcrunch.com/archives/20120222emarketer/

今回は、OSコマンドインジェクションです。セキュリティホールというのは、何かの悪意のある注入を防ぐ事ができず発生してしまうものが多いですが、今回は、OSのコマンドの注入ですね。

【言葉】OSとは、Operetaing Systemの略で具体的には、LinuxやWindowsのようなコンピューターそのものもを制御する根幹のソフトウェアです。OSコマンドインジェクションは、このOSのコマンドが不正に埋め込まれてOS乗っ取りなどを行うセキュリティホールです。

【どうなる】OSそのものが不正に操作されますので、なんでも操作可能です。例えば、WEBページの改ざんやその不正に操作されたサーバーから別のサーバーを攻撃したりなどのが報告されています。

【対策】
OSコマンドはサイトの入力フォームやパラメタなど(※)から埋めこまれます。
基本的に、OSコマンドが実行されるプログラムを記述しないことです。

【テスト方法】☆テスト方法はあくまでも例です。機能などにあったテストを実施してください。

・ファイル名登録時に「|cat+/etc/passwd%00」と登録し、そのファイルをダウンロードもしくはファイル名を表示させてみる。
・メールアドレス登録時に、「info@sample.com; mail attack@sample.net < /etc/passwd 」と登録し、登録したメールアドレスに不正なファイルが添付されていないか確認する。

(注意)
何が不具合に当たるかはサイトのポリシーを確認する必要がある。

セキュリティテストのチェック(4) パラメーター改ざん

投稿者: takahashi, 日付: 2012年02月16日

今回は、「パラメーター改ざん」についてお話ししましょう。

「パラメーター改ざん」とはどのようなセキュリティホールなのでしょう。

【言葉】URLのパラメーター、Cookie、Hidden項目などの情報を書き換えて、サーバーと通信する攻撃の事です。

【どうなる】例えば、CookieやHidden項目に持っていたユーザー情報を書き換えて別のユーザーが商品を購入したように見せかけたりなどすることができます。

【対策】
パラメターは、CookieやHidden項目などには保持せず、Sessionなどに保持し、サーバー側で管理する。どうしてもClient側に保持する必要がある場合は、暗号化するなどの対策を施す。
【テスト方法】☆テスト方法はあくまでも例です。機能などにあったテストを実施してください。
(CASE1)
1.URLのパラメターに、別の文字※を入力してみる。
2.別の情報が表示される。

※例えば、下記のuseridを変更してみる。
http://test.com/user?userid=300

(CASE2)
1.Hidden項目のあるページをローカルに保存する。
2.TextエディタなどでHidden項目のValue値を変更する。
3.登録ボタン押下など次のアクションを促す処理を行う。
4.変更後のデータで正しく処理(登録など)される。

(注意)
何が不具合に当たるかはサイトのポリシーを確認する必要がある。

セキュリティテストのチェック(3) SQLインジェクション

投稿者: takahashi, 日付: 2012年02月15日

前回は、「クロスサイトスクリプティング」でしたね。今回は悪意のある埋め込みという点では共通している「SQLインジェクション」についてお話しましょう。

「SQLインジェクション」とは、どのようなセキュリティホールなのでしょう。

【言葉】 SQLとは、DBへの問い合わせを行うスクリプトです。WEBサイトでDBへ問合せを行うページで不正なSQLを埋め込み、DBに格納されている情報を盗むセキュリティーホールです。

【どうなる】 本来会員の情報などは、本人以外の人は閲覧できないはずですが、不正に埋め込まれたSQLにより、全ての会員情報などDBに登録されてるいろいろな情報が表示されます。プライバシーの問題や認証情報の漏えいによるサービスの不正利用などが発生します。

【対策】
1.DBのテーブル名、項目名に推測しやすい名前を付けない。
2.DB関連の具体的なエラーは画面に表示されないようにする。
3.Prepared Statementなどを利用してSQLを発行するなどでしょうか。

【テスト方法】 ☆テスト方法はあくまでも例です。機能などにあったテストを実施してください。
(CASE1)
1.URLのパラメターに、SQLを指定※してアクセスする。
2.SQLが無効化されているか確認する。(全てのデータが表示されていない)

※例:http://sample.com/list?id=’ OR ‘1’=’1

(CASE2)
1.検索フォームなどの入力欄に、SQLを入力して処理(検索など)をしてみる。
2.検索結果を表示させるページに遷移し、SQLが無効化されているか確認する。
(入力内容がSQLとして動作する(※2)ようであれば、NGですね。)

※2例えば、検索条件に「’ OR ‘A’=’A」
と入力する。これを結果表示の箇所で、検索条件に関わらず全てのデータが表示されれば、NG。