HTML5とか勉強会に参加して来ました
- テーマはHTML5とセキュリティ
- できることが増えてきたことで、セキュリティも大事になってきた
今から始めるHTML5セキュリティ(JPCERT 松本さん)
「本当は怖いクライアントサイドキャッシュポイズニング」(吾郷さん)
- キャッシャが重要になってきた
- デバイスの貸し借り時のリスク
- キャッシュシステムも進化してきた
- Application Cacheの危険性
- ユーザーが信頼できないネットワークを使っている場合に被害が広くなる
- 継続的な監視も可能になってしまう
- ユーザーが信頼できないネットワークを使っている場合に被害が広くなる
- SSLを使っていればOK?
- 攻撃者側からすれば、最低でも通常の攻撃が可能で、より広い範囲の攻撃もできる
- コンテンツ提供者側から見れば危険が増えたわけではない
- 基本的には中間者攻撃が成立していれば危険なので、キャッシュそのものが危険ではないのでは?
- 公衆無線LANが増加して危険性が上がっている?
- キャリアの提供するAPは外から攻撃できないのか?
- 店によっては普通に触れるところにある
- 店舗の悪意にたいする耐タンパー性は?
- 汚染APをばら撒いたら?
- キャリアの提供するAPは外から攻撃できないのか?
- モバイルサイトは常にhttpsにすべき?
- HTTP2.0では暗号化はオプションに
- ブラウザは暗号化必須の方向性
- ここの無線APは安全?
Bypass SOP(はせがわようすけさん)
- HTML5の高機能化に伴って(ry
- オリジン
- スキーム + ホスト + ポート
- Same Origin Polycy
- その逆のCross Origine Sharingもある
- Cookie情報も含めることができる
- Access-Controll-Allow-Originにアステリスクを指定すると機密情報が漏れる可能性がある
- アステリスクにしているばあいはCookieを含めることができない(ブラウザによって挙動が違う)
- ブラウザを狙う攻撃は受動者攻撃
- サーバーに来るのはブラウザベースとは限らないので、オリジンを認証として使わないようにしましょう
- IEではHTMLでないものがHTML扱いされるので注意
- IEではJSONをVBスクリプトとして解釈させるとエラーメッセージ経由で機密情報が取得可能
- X-Content-Type-Options:nosnifをつけておくとIE以外でも結構広い範囲で守れる
- JSONPの時にはContent-Typeに気をつけましょう
- 他にも便利なヘッダあり
- ブラウザのXSS防御機能をオフにするように求めるのはやめよう
- HTTPSを強制するヘッダや、ダウンロードダイアログに「開く」ボタンを表示させないようにするものも
- 質問
- ユーザーの教育は?
- 信頼できるサイトを偽装するのは簡単。それだけでは難しい
- ユーザーの教育は?