My Photo

« May 2013 | Main | August 2013 »

July 30, 2013

同一生成元ポリシー

能動的攻撃と受動的攻撃

能動的攻撃
攻撃者がサーバに直接攻撃し情報を盗む・情報を改ざんする・不正な操作を行うなどする。
受動的攻撃
・罠のあるサイトに誘導して閲覧させてマルウェアに感染させるなどする攻撃(単純な受動的攻撃)。
・正規サイトを改ざんしてアクセスしてきた利用者をマルウェアに感染させるなどする攻撃(正規サイトを悪用する受動的攻撃)。
・正規サイトを改ざんして仕掛けのあるHTMLをダウンロードさせ、利用者から攻撃先に攻撃用リクエストを送らせる攻撃(サイトをまたがった受動的攻撃)

サンドボックス

受動的攻撃を防ぐために、ブラウザ上で動くプログラムに対して次の2つの考え方がある。

  • 利用者に配布元を確認させた上で、利用者が許可した場合のみ実行する。
  • プログラムの「できること」を制限するサンドボックスという環境を用意する。

サンドボックス(sandbox)はjavascriptやJavaアプレット、Adobe Flash Playerなどで採用されている考え方。
サンドボックス内ではプログラムができることに制約があり、悪意のプログラムを作ろうとしても利用者者に被害が及ばないように配慮されている。
一般的にサンドボックスでは以下のように機能が制限される。

  • ローカルファイルへのアクセス禁止
  • プリンタなどの資源の利用禁止(画面表示は可能)
  • ネットワークアクセスの制限(同一生成元ポリシー)

同一生成元ポリシー

同一生成元ポリシー(Same Origin Policy(SOP))は1つの生成元からロードしたスクリプトによって別の生成元の文書内のプロパティーやメソッドが取得または操作されるのを防止するためのものである。
ユーザーがプロバイダとやり取りする場合、そのユーザーはそのサイトに送信された情報が他のサイトに漏れてしまうことを望まないという考え方に基づき、ユーザの情報を保護するためにある。
同一生成元であるということは以下の条件を満たすことである。

  • スキーム(プロトコル)が一致している。
  • ホスト(FQDN; Fully Qualified Domain Name)が一致している。
  • ポート番号が一致している。

同一生成元ポリシーによって、たとえば生成元Aと生成元Bがある場合、生成元AのWEBページでは以下の事ができない。

  • 生成元BへのXMLHttpRequestを使用した通信
  • frame/iframeの、生成元Bから生成されたコンテンツの読み取り、操作

同一生成元ポリシーがあってもアプリケーションに脆弱性があれば攻撃を受ける場合がある。
例えばframeやiframeにjavascriptを送りこまれて実行させることができた場合、同一生成元ポリシーの制約を受けないのでframe/iframeのコンテンツにアクセスできる。(クロスサイトスクリプティング(XSS)攻撃)。

参考文献:体系的に学ぶWEBアプリケーションの作り方 3.2 受動的攻撃と同一生成元ポリシー

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩

ソフトバンククリエイティブ 2011-03-03
売り上げランキング : 4070

Amazonで詳しく見る
by G-Tools

参考ページ:
クライアント・サイドのソリューションによってクロスドメインの通信を改善する

July 28, 2013

2013夏アニメ

第1話を見てみたのが
・劇場版 空の境界
・Fate Kaleid liner プリズマ・イリヤ
・猫物語 (白)
・サーバント×サービス
・犬とハサミは使いよう
・ファンタジスタ・ドール
・有頂天家族
・銀の匙

7作品。多い^^;
で3話か4話くらいで「犬ハサ」、「ファンタジスタ・ドール」、「有頂天家族」、「銀の匙」は視聴中止。

「犬ハサ」はつまらない訳ではなかったけど、毎週欠かさず見たいとまでは思えなかったので。
「ファンタジスタ・ドール」は谷口悟朗がかかわっているので期待したけど、見たら面白くなかった。監督とか総監督ではないから、ストーリーや演出に直接かかわっているわけではないのかな。

「有頂天家族」はキャラ原案が久米田康治なので見始めた。1,2話はイマイチだと思ったが3話はちょっと面白いかなと思った。
矢三郎は矢一郎のことを悪く思っていないみたいなことを言っていたのに、納涼船のことを頼まれると「土下座したら協力する」と意地悪なことを言う。
矢三郎は矢一郎にもっと家長らしく命令して欲しかったんじゃないかな、なんて考えられたりして。
まあでもこういうウェットな家族モノはそんなに好きなジャンルではないので視聴中止。

「銀の匙」は面白いことはわかっていたが、マンガどおりの内容なら別にアニメを見なくてもいいかなと。
「銀の匙」よりそのあとにやっている「あの花」の再放送が気になる。ガリレオ・ガリレイのかなり久しぶりの新曲が聴けるのでw

あと、春からやっていたレールガンも視聴中止。
一方通行を倒したので、ここから自分の知らない話が始まるのかもしれないけど、もういいやww

ということで、現在視聴中のアニメは以下。
・HUNTER
・ヤマト2199
・空の境界
・プリズマ・イリヤ
・鯖アニメ

HUNTER×HUNTERもなんかきっかけがあれば切るかも。

猿の惑星:創世記

TSUTAYAで借りて見た。

「猿の惑星」の前日譚。
見る前は「猿が人間並みの知能を持ったとしても、数で圧倒的する人間から地球の支配権を奪い取るまでには至らないんじゃない?」と思っていた。しかし、その疑問に対する答えもちゃんと示されていた。
すごい面白いとは言わないが、SF的に納得できる話だった。
CGで描かれた猿は違和感がなかった。

猿の惑星:創世記(ジェネシス) [DVD]
猿の惑星:創世記(ジェネシス) [DVD]
20世紀フォックス・ホーム・エンターテイメント・ジャパン (FOXDP) 2012-07-18
売り上げランキング : 14924


Amazonで詳しく見る
by G-Tools

July 24, 2013

クッキーによるセッション管理

セッションIDに求められる要件

  1. 第三者が推測できないこと。
  2. 第三者からセッションIDを強制されないこと。
  3. 第三者にセッションIDが漏洩しないこと。

上記の要件を満たさないセッションIDを使用すると、セッションハイジャック(第三者によるなりすますこと)の危険性が増す。

1についてはセッションIDに使用する乱数の質が重要。
たとえば乱数でなく連番だったりすれば容易に推測される。また桁数が少なかったり乱数の作り方が悪くても推測される場合がある。

2については、認証した後にセッションIDを作り直す(PHPでは session_regenerate_id() を使用する)という対策がある。

bool session_regenerate_id ([ bool $delete_old_session = false ] )
パラメータ:
delete_old_session  関連付けられた古いセッションを削除するかどうか。 
返り値:
成功した場合TRUE。 

3の原因は以下のようなものがある。

  • クッキー発行の際に不備がある。
  • ネットワーク的にセッションIDが盗聴される。
  • クロスサイト・スクリプティングなどのアプリケーションの脆弱性により漏洩する。
  • セッションIDをURLに保持している場合は、Refererヘッダから漏洩する。

クッキーの属性

属性 意味
Domain ブラウザからクッキー値を送信するサーバのドメイン
Path ブラウザがクッキー値を送信するURLのディレクトリ
Expire クッキー値の有効期限。指定しない場合はブラウザの終了まで
Secure SSLの場合のみクッキーを送信
HttpOnly この属性が指定されたクッキーはJavaScriptからアクセスできない

setcookie()で上記の属性を設定できる。

bool setcookie(
    string $name [, string $value [, int $expire = 0
      [, string $path [, string $domain [, bool $secure = false 
        [, bool $httponly = false ]]]]]])

クッキーのDomain属性

Domain属性を設定しなければクッキーをセットしたサーバにのみクッキー値を送信する。これがもっとも安全である。原則としてDomain属性は指定しない。
Domain属性を設定した場合、Domain属性の値がURLのドメイン部分に後方一致する場合にブラウザはクッキーを送信する。例えばDomain属性が abc.jpの場合、abc.jp や xx.abc.jp に対してクッキーが送信される。
Domain属性を設定するのは複数のサーバにクッキー値を送らなければならない場はDomain属性を設定する。
セッションID固定化攻撃を防ぐため、異なるドメインに対するクッキー設定はできないように制限されている。例えばa.example.jpサーバがSet-Cookieで Domain=example.com としてもブラウザに無視される。

http://a.example.jp/test/cookie.php にブラウザでアクセスし
setcookie('TestCookie', 'abc', 0, '/test/', 'a.example.jp')
(Domain属性=a.example.jp, Path属性=/test/)
を実行した場合
→HTTPレスポンスヘッダに
Set-Cookie: TestCookie=abc; path=/test/; domain=a.example.jp
が含まれる。
この場合、クッキーの送信は以下のようになる。

domain属性=a.example.jp
URLの
ドメイン
URLの
パス
ブラウザからクッキーが
送信されるか
a.example.jp /test/index.html
a.example.jp /inde.html ×
example.jp /test/index.html ×
example.com /test/index.html ×

http://a.example.jp/test/cookie.php にブラウザでアクセスし
setcookie('TestCookie', 'abc', 0, '/test/', 'example.jp')
(Domain属性=example.jp, Path属性=/test/)
を実行した場合
→HTTPレスポンスヘッダに
Set-Cookie: TestCookie=abc; path=/test/; domain=example.jp
が含まれる。
この場合、クッキーの送信は以下のようになる。

domain属性=example.jp
URLの
ドメイン
URLの
パス
ブラウザからクッキーが
送信されるか
a.example.jp /test/index.html
example.jp /test/index.html
a.example.jp /index.html ×
example.jp /inde.html ×
example.com /test/index.html ×

http://a.example.jp/test/cookie.php にブラウザでアクセスし
setcookie('TestCookie', 'abc', 0, '/test/', 'example.com')
(Domain属性=example.jp, Path属性=/test/)
を実行した場合
→HTTPレスポンスヘッダに
Set-Cookie: TestCookie=abc; path=/test/; domain=example.com
が含まれる。
この場合、クッキーの送信は以下のようになる。

domain属性=example.com
URLの
ドメイン
URLの
パス
ブラウザからクッキーが
送信されるか
example.com /test/index.html ×
a.example.jp /test/index.html ×

クッキーモンスター問題

古いブラウザでは
・example.co.jpというドメインのサイトでドメイン属性がco.jpのクッキーを作ることができる。
・ドメイン属性が地域型ドメイン(例:yokohama.jp)のクッキーを作ることできる。
ものがある。
これはクッキーモンスター問題と呼ばれ、セッションID固定化攻撃に利用される可能性がある。

参考文献:体系的に学ぶWEBアプリケーションの作り方 3.1 HTTPとセッション管理

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩

ソフトバンククリエイティブ 2011-03-03
売り上げランキング : 4070

Amazonで詳しく見る
by G-Tools

参考ページ:
Cookie仕様 日本語訳 - futomi's CGI Cafe

July 18, 2013

2013春アニメ感想

続いている作品も含めて、4月開始アニメをランキング付け。

1位 翠星のガルガンティア
ちゃんとSF。さすが虚淵さん。
でも1クールでは短い。もったいない。もっと見たかった。

2位 RDG
原作が良かったからかな。
ED歌は良かったけど、OPは映像も含めて、なんだかなー。

3位 よんでますよ、アザゼルZ
アンダインの合コンの話以外、面白かった。


以下の作品は順位付けするまでもない。早送りで見てます。

レールガン
よくもまあこんな適当な設定で話を続けられるもんだな。
初春とサテン不要。
1クールあれば十分語れる話じゃないか?2クールに引き伸ばす意味がわからない。

VVV
ネタアニメ。同じ時期にロボットアニメがVVV、ガルガンティア、マジェスティックプリンスと3作品やっていたわけだが、この作品の監督や脚本家は他の作品と比較して恥じ入ることはなかったんだろうか?

ヤマト
いろいろ設定とかは考えられたんだろうけど、基本的にオリジナルと変わっていない。ツッコミどころ満載。
ヤマトの攻撃が敵艦に当たると一撃で敵艦は轟沈。敵艦の攻撃がヤマトに当たってもヤマトは航行には支障がない程度のダメージ。なんでヤマトあんなに強いねん。
あと、ヤマトの軍規ゆる過ぎだし、古代や嶋はDQNだし。

« May 2013 | Main | August 2013 »

March 2017
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof