価格詐称できるサイトはなぜ減少し、なぜ絶滅しないか

一昨日の日記hiddenのあまりにも馬鹿げた使い方 - ockeghem(徳丸浩)の日記で、hiddenパラメータの書き換えによる価格偽装の話を書いたら、はてなブックマークの反応が二つに分かれた。その典型例を引用させていただく。

NOV1975 えええええっーー3年前…いや5年前の記事かと思ったよ…
KoshianX 昨日買物しようとしたサイトがそういうサイトでIPAに報告出しといたっすよ(TT 結局欲しかったものは買えず……

すなわち、「えっ、5年前ならいざ知らず今時あるの?」というパターンと、「あるある、そうそう」というパターンである。
昨日の日記hidden書き換えで単価の変更できるサイト - ockeghem(徳丸浩)の日記に書いたように、hidden書き換えで単価を変更できるサイトは、5年前からかなり減少はしたものの、なくなってはいない。古いサイトが残っているのではなく、新規開発のサイトでも、hiddenに単価を持たせているようなサイトが少数ながら存在するのだ。

なぜ価格詐称できるサイトが減少したか

価格詐称できるサイトが減少した理由が、セキュリティの正しい知識の普及によるものであれば大変結構なことである。しかし、現実はそうでもないらしい。私がそう思う理由は、確かに価格詐称できるサイトは減少したが、その他のやり方でhidden書き換えを悪用できるサイトは少なくないからである。その他のやり方の具体例については、稿をあらためて紹介したい。
上記のように、hiddenの本質的に正しい使い方は普及していないにも関わらず、価格詐称できるサイトは減少している。そこから、減少の理由を以下のように推察する。

  1. 単価をhiddenにもたせてはいけないという断片的な知識が普及した
  2. Web開発ツールの提供するセッション管理機構の普及により、hiddenで情報を引き回すこと自体が減った

両方ありそうな気がするが、とくに後者(2)の功績は大きいだろうと思う。セッション管理機構が提供する機能は(色々条件はあるものの)おおむね安全であるし、少なくとも手作りのセッション管理に比べてれば格段に安全である可能性が高い。セッション管理まわりの脆弱性は、これだけでかなり減少しているはずだ。
ではなぜ、手作りのセッション管理が減少したかという理由だが、それは単純に、セッション管理の自作が面倒だからだろう。
開発者が開発効率を求めて楽な方法を採用することは当然のことであるし、たまたまその楽な方法が、セキュリティの点でも好ましいやり方だったのだ。それは、非常に幸いなことであった。

なぜ価格詐称できるサイトはなくならないか

この理由の要点は既に述べてしまった。すなわち、価格詐称ができるサイトが減少した理由は、正しいセキュリティ知識の普及によるものではなく、断片的な知識により防げたケースや、たまたま楽な方法を採用したらセキュリティにも良かったというケースが多いと推測される。
そうであれば、たまたま断片的な知識を持たなかった開発者が担当した場合、かつなんらかの理由で、Web開発ツールの提供するセッション管理機構を使わなかった場合に、価格詐称ができてしまうECサイトが出来上がったとしても不思議ではないことになる。

安全なhiddenフィールドの使い方を普及させよう

hiddenフィールドは正しく使えば決して危険なものではないが、その正しい使い方を説明できる人は少ないように見受ける。さらに言えば、

  • hiddenの正しい使い方を説明する方法論が確立していない

のではないだろうか。率直なところ、hiddenの使い方の説明で、分かりやすくて正確なものを見た記憶があまりない。
私自身にそれがうまくできるかはわからないが、ともかくやってみよう。次回は、hiddenの正しくない使い方を「ハンバーガーショップ・メソッド」にて説明してみたいと思う。