TransFreeBSDの日記 このページをアンテナに追加 RSSフィード

2006-09-07

[]セッションIDの使用は不正アクセス禁止法三条第二項第二号に反するのか? セッションIDの使用は不正アクセス禁止法第三条第二項第二号に反するのか? - TransFreeBSDの日記 を含むブックマーク

この話題は興味あるし、503 Service Temporarily Unavailableという記事があるので引続き書いてみる。

結論

セッションハイジャック無断で維持された維持されているログイン済みセッション無断で使用する事を、第三条第二項第二号に当てはめるべきではない。

問題は第三条第二項にはなく第二条第三項の括弧で囲まれた部分の記述が曖昧もしくは正しくない事である

第二条第三項の括弧内はどう読むべきか

まずは不正アクセス禁止法第二条第三項の括弧で囲まれた部分。

識別符号を用いて当該アクセス管理者の定める方法により作成される符号と当該識別符号の一部を組み合わせた符号を含む。次条第二項第一号及び第二号において同じ。

私はこの文を「<識別符号を用いて当該アクセス管理者の定める方法により作成される符号>と<当該識別符号の一部を組み合わせた符号>(の二つの定義)を(第二条第二項でいう識別符合とともに識別符合の定義として)含む」と理解した。


この解釈に付いて高木浩光@自宅の日記 - セッションハイジャック攻撃は1号不正アクセス行為か、それとも2号ないし3号か, 警察庁の不正アクセス行為類型の分類方法には不..より

しかし、この括弧書きには「により作成される符号と当該識別符号の一部を組み合わせた符号」とあるので、「当該識別符号の一部を組み合わせた」ものでなくてはならない。一般的なセッションIDでは、それに2条2項の「識別符号」の一部が組み合わされていることはないはずである。

つまり、「<識別符号を用いて当該アクセス管理者の定める方法により作成される符号>と<当該識別符号の一部>(の二つの符合)を組み合わせた符号を(第二条第二項でいう識別符合とともに識別符合の定義として)含む」と見ている。


これはこれで納得のいくものだ。そして、私の理解したような意味である場合、「〜と〜」ではなく「〜又は〜」と書かれている事を考えれば、私の見方が違う可能性が高い。

しかし、これでは一つ困った事になる部分がある。

セッションIDが第三条第二項でいう「識別符号」にあたらないとすると

以下に第一号と第二号で異なっている部分を強調したものを引用する

一 アクセス制御機能を有する特定電子計算機電気通信回線を通じて当該アクセス制御機能に係る他人の識別符号を入力して当該特定電子計算機を作動させ、当該アクセス制御機能により制限されている特定利用をし得る状態にさせる行為(当該アクセス制御機能を付加したアクセス管理者がするもの及び当該アクセス管理者又は当該識別符号に係る利用権者の承諾を得てするものを除く。)

二 アクセス制御機能を有する特定電子計算機電気通信回線を通じて当該アクセス制御機能による特定利用の制限を免れることができる情報(識別符号であるものを除く。)又は指令を入力して当該特定電子計算機を作動させ、その制限されている特定利用をし得る状態にさせる行為(当該アクセス制御機能を付加したアクセス管理者がするもの及び当該アクセス管理者の承諾を得てするものを除く。次号において同じ。

つまり

  • 第一号では管理者および本人の許可なく他人の識別符合を用いてアクセスした場合
  • 第二号では管理者の許可なく識別符合以外の制限を免れることができる情報を用いてアクセスした場合

不正アクセス行為とみなすと読める。

これは第二条第三項にある通り、(本人の)識別符合を用いて制限を解除する事が前提にあり、それを外れた方法で制限を免れる行為が不正アクセス行為であるという事だ。


ここでセッションIDが識別符合ではないとすると、ログイン出来るセッションIDは「識別符合以外の制限を免れることができる情報」にあったってしまう。

この時、このセッションIDを管理者の許可なく用いれば、そのIDの入手経緯に関わらず第二号に該当してしまう。たとえ自身のIDとパスワードを用いて入手したとしても。

この時、自身のアカウントであるのなら問題ないとすると以下が合法になる

たとえばSQLインジェクション脆弱性により任意のアカウントログイン出来るシステムがある。ある人が自分のパスワードを忘れたため、この脆弱性を利用して自身のアカウントログインし、パスワードを変更した。

または、「セッションIDが発行された時点で管理者の許諾があるものとみなせる」とする考え方もあるが、その許諾がどの程度の範囲か不透明となり、たとえば、

友人自身でログイン後、その友人から作業を依頼され操作を行なった。

といった場合も管理者の許諾があったといえるのか(第二号はその友人の許諾があっても管理者の許諾がないかぎり当てはまる)。


どちらにしろ拡大解釈の感は否めないし、こんな解釈をするより第一号に当てはめる方がよっぽど自然だ。


[9/8 16:15 修正]

  • 結論部分の言回しを変更
  • 一部抜けていた部分を追加

hiromi...chu&heart;hiromi...chu&heart;2006/09/08 00:14単純に、以下でいいんでない?

① ログインした状態が「特定利用をし得る状態」である。(HTTPがステートレスだなんてことは関係なし)
② ログインしていない状態が「特定利用をし得ない状態」である。(同上)
③ セッションIDは「識別符号」ではない。(「識別符号を用いて当該アクセス管理者の定める方法により作成される符号」だが、多くの場合は「当該識別符号の一部を組み合わせ」てはいないだろう。)

よって、

A ②→①の状態にするために、(他人の)ID・パスワードを用いたなら1号違反である。
B ②→①の状態にするために、セッションハイジャックをしたなら2号違反である。
C 通常の正常なアクセスでセッションを維持している限りは、既に①の状態なので2号違反ではない。
D 例示された「たとえばSQLインジェクション・・・」のくだりは、②→①の状態にしているので2号違反である。

TransFreeBSDTransFreeBSD2006/09/08 13:16「通常の正常なアクセスでセッションを維持」とはどの程度の範囲なのでしょう?
セッションIDを他のアプリで使用する、他のPCにコピーして使用する、友人に伝え使用してもらう等々、どこまで許されるのでしょう?

通りすがり通りすがり2006/09/08 13:52>1つ目コメの人
その「ログインした状態」というのはブラウザの状態でしょ。
「特定利用をし得る状態」というのは特定電子計算機のこと、つまり、サーバコンピュータの状態のことだから、
その解釈じゃだめだね。

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20060907

2006-09-05

[]前使用者のクッキーが残っていて自動的にログインしたら不正アクセス禁止法違反 前使用者のクッキーが残っていて自動的にログインしたら不正アクセス禁止法違反 - TransFreeBSDの日記 を含むブックマーク

がらにもなく話題に乗ってみる。なお、今回これが本当に行なわれたかどうかには言及しない。

no title

一応内容をまとめておくと、

というもの。これ、改竄以前に、mixi行って他人のログイン状態になってた段階で不正アクセス……かも?って話。


直観的には、「他人アカウントで意図的に事を起こせば不正アクセス禁止法違反だろう」と思って、条文を確認してみた。

最初は第三条第二項第二号にあたると思ったが、これ(だけでなく法全般ではある)に関し意図や改変の有無などへの言及はない。さらに良く読めば第二号ではなく第一号に該当しそうだ。

以下、不正アクセス禁止法三条第二項第一号より

アクセス制御機能を有する特定電子計算機に電気通信回線を通じて当該アクセス制御機能に係る他人の識別符号を入力して当該特定電子計算機を作動させ、当該アクセス制御機能により制限されている特定利用をし得る状態にさせる行為(当該アクセス制御機能を付加したアクセス管理者がするもの及び当該アクセス管理者又は当該識別符号に係る利用権者の承諾を得てするものを除く。)

まず、今回は当然管理者であるmixiや利用者の許諾はない。

次に、mixiサーバは「アクセス制御機能を有する特定電子計算機」にあたる。

さて、問題はサーバに送った「保存されていたクッキー」が「当該アクセス制御機能に係る他人の識別符号」にあたるのがどうか。これに関しては第二条第三項に記述がある。

この法律において「アクセス制御機能」とは、(略)、当該特定利用をしようとする者により当該機能を有する特定電子計算機入力された符号が当該特定利用に係る識別符号(識別符号を用いて当該アクセス管理者の定める方法により作成される符号と当該識別符号の一部を組み合わせた符号を含む。次条第二項第一号及び第二号において同じ。)であることを確認して、当該特定利用の制限の全部又は一部を解除するものをいう。

「次条第二項第一号」とは先ほどの第三条第二項第一号の事であり、ログインの結果送られてくるセッションクッキーは「識別符号を用いて当該アクセス管理者の定める方法により作成される符号」にあたると思われる。

これはまさにセッションハイジャック等を想定した記述だと考えられ、利用者自身がセッションクッキーを利用する場合は、管理者の許諾のみが免責である第三条第二項第二号ではなく(「識別符号であるものを除く。」の記述に該当)、利用者の許諾も免責事項である第一号にあたる様にするためだと思われる。


三条第二項第一号に戻ると、管理者や利用者本人の許可なく他人のセッションクッキー「を入力して」「当該特定電子計算機を作動させ、当該アクセス制御機能により制限されている特定利用をし得る状態にさせる行為」に該当するか?となる。

普通に読めば、利用できる状態、つまりログインしている状態になれば該当すると読める。つまり

「前使用者のクッキーが残っていて自動的にログインしただけで不正アクセス禁止法違反」

が成り立つように思うのだが。


一つあるとすれば「入力」の解釈の仕方だろう。

  • 「入力」とは間接的にしろ意図的に行なわれた行為の結果をいう

と見れば、おおよそ納得できるように思われる。もしくは

  • 事故のようなもので、意図的でなければ(厳密には違反化も知れないが)起訴はせず無罪放免

という運用解か。


ってことで、久々に長文を書いてみた。恣意的に。誰か添削してくれ。

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20060905

2006-08-06

[]tcp29295ってなに? tcp29295ってなに? - TransFreeBSDの日記 を含むブックマーク

最近南米あたりからよくいらっしゃるのだけれど、一体なんだろう。

トラックバック - http://freebsd.g.hatena.ne.jp/TransFreeBSD/20060806