不正アクセス禁止法の問題点

散々言われてるし俺も言ってるけど、何をしたら違反なのか明確でない点が大問題。
ACCS事件においてはoffice氏はHTML中のパラメータを書き換えたことによりデータファイルを取得したことになっている。このパラメータこそがアクセス制限であったと主張することは可能だったんだろうか。[1. 憶測でしかないが素通しっぽいので制限しているとは言えなさそう]特定の文字を拒否する仕様だった場合、それを回避したら不正アクセスに当たるのだろうか。[1. 憶測でしかないが素通しっぽいので制限しているとは言えなさそう]対策をとったつもりでも穴があり、そこを突かれた場合は?
どこまで防御を施せばいいのか基準がないから管理者の意図などという曖昧なものが判断材料として取り上げられてしまうのだろう。
では基準として何をあげるかという話になるのだが、これは大変難しい。Webアプリケーションに限定して話すと、Webアプリケーション構築において、守らなければならない2つの大項目がある。
一つは安全なセッション管理であり、もう一つはパラメータの洗浄である。成りすましを防止する意味でセッション管理は重要であるし、ACCS事件はパラメータの書き換えが許されていなければ(少なくともCGI側で適切なアクセス管理が出来ていれば)問題は生じなかったはずだ。クライアントからのパラメータ値は信用しないというのがWebアプリケーションの常識である。
つまり、Webアプリケーションにおいてはアクセス制限を行っていると判断できる条件として、

  1. セッション管理を行っていること
  2. パラメータ値の洗浄を行っていること

の2点が挙げられるだろう。適当な実装で実質サイバーノーガード戦法を取られるのは避けなければならないが。