2016年12月

セキュリティ

セキュリティの専門家が伝えたい!注意すべきWEBの脆弱性と攻撃

注意すべきWEBの脆弱性とその攻撃 2016年ももうあとわずかですが、今年上半期に最も多かった攻撃の種類は 第1位 : クロスサイトスクリプティング 第2位 : SQLインジェクション 第3位 : ローカルファイル挿入 同率3位 : リモートファイル挿入 同率3位 : ディレクトリトラバーサル となっていました。(WEB脆弱性トレンドレポートによる) 今回、特に多かった1位のクロスサイトスクリプティングの仕組みについてお話したいと思います。 クロスサイトスクリプティング(XSS)攻撃 クロスサイトスクリプティングとは、プログラムやソフトウェアの脆弱性(不具合やミスなどによる弱さ。セキュリティホールとも言う。)をついて、誰かのサイトに悪意のあるプログラムを埋め込むことです。 ところでよく聞く「悪意のあるプログラム」というのはどういったものでしょうか? 具体的な例として、 勝手に他人のパソコンに保存してあるファイルを削除してしまう・書き換えてしまう 勝手に他人のクレジットカード情報を盗んでしまう 勝手に他人の個人情報(誕生日、住所、メールアドレスなど)を盗んでしまう 勝手に他人のパソコンを壊してしまう(使えなくしてしまう) などなど、目的によって動作する内容は異なります。 これらは2000年に施行された、「不正アクセス禁止法」および関連法律によって犯罪となっていて、違反した場合は3年以下の懲役又は100万円以下の罰金に処せられます。 ただし、過失と未遂は対象外です。 スクリプティングとは 一般的にスクリプトとは「JavaScript」を指すことが多くあります。 ではJavaScriptで、どこかの掲示板にメッセージをポップアップ表示する方法はこんな感じです。

普段、JavaScriptの講義をさせていただいているのですが、そこでは第1回目に習う非常に簡単な記述です。 これを、掲示板や、お問い合わせフォーム、注文フォームなどに埋め込むことで、クロスサイトスクリプティングが可能となります。 フォーム関連というのは、ユーザが直接文字を入力できる唯一のエリアなので、この便利さを逆手に取った手法です。 クロスサイトスクリプティングの怖いところ クロスサイトスクリプティングは、上述のように、誰かのサイトや誰かのパソコンに悪意のあるプログラムを埋め込むことでした。 もう少し具体的な話をしましょう。 ハッカーも興味半分、つまり愉快犯が大多数なのですが、特に怖いのは本気で情報を盗みに来るケースで、 乗っ取り 個人情報搾取 この2点はクロスサイトスクリプティングの脅威です。 乗っ取り(セッションハイジャック) セッション=一連の操作(ログインからログアウトまで、など) ハイジャック=乗っ取り 例えば、Gmailにログインして、メールを見るという行為が、誰かにハイジャックされてしまうことも大いにありうることです。 乗っ取り(セッションハイジャック)の仕組み 乗っ取りにはCookie(クッキー)という便利なコンピュータの仕組みを利用します。 例えばある日、GmailにID名とパスワードでログインし、そのままログアウトせず別の日に同じパソコン、同じIPアドレスからGmailにアクセスしたとします。 そうすると、Gmailは、「あ!同じ人だ!」と自動的に判別してくれ、再びID名やパスワードを入力する必要なく利用できます。 これをCookieという情報保管箱のようなものに、さまざまな情報を「一時的に」保存しておける、と考えてください。 Cookieには有効期限があり、一定期間使用していなかったりすると、再度ログインを求められます。 そこでハッカーはこのCookieを盗むわけです。 […]