- yousukezan
- 17022
- 1
- 19
- 0
@rocaz なぜ正確なテキスト処理が必要なのかを知らない・理解していないから、プリペアードクエリを使っていてもインジェクションに脆弱なコードを書いてしまいます。その原因をどう無くすか?を考えています。「APIを正しく使えばインジェクションできないから使え」は原因が残ったままです
2013-12-09 20:39:14@rocaz アプリセキュリティ対策の根本的な対策は教育だ、と何度か書いていますが教育以外にもっと良い根本的な解決策があるのですか?
2013-12-09 20:40:31@rocaz SQLインジェクションを完全に無くすための方法論を教えて頂けないですか?現実にあった失敗を含めて無くす方法論でないと採用できませんが。
2013-12-09 20:42:20@yohgaki いいえ。「正しい静的SQLの発行の仕方」を教えてあげるだけですよ。考え込むまでも無い。エスケープなんて出てくる余地さえ無い。 今分かりましたけど、大垣さんは「正しい静的SQLの発行の仕方」を知りませんね?
2013-12-09 20:42:39@rocaz それを知らないかも、と思われるのは不本意ですね(笑 私のブログにも解説があったと思います。探してみて下さい。
2013-12-09 20:44:07@rocaz 議論の論点からずれているので、間違っていると思えたところはご自由に指摘してください。リスクを正しく理解してもらえる方法論をお願いします!
2013-12-09 20:49:41@rocaz もう十分私が何故こう考えるのか論理的な背景は説明しました。より優れている方法論を解説してくだい。
2013-12-09 20:51:21@yohgaki 恥ずかしいのは良く分かりますが、大垣さんが「正しい静的SQLの発行の仕方」を理解していない以上、徳丸さんとの議論とかエスケープしかよい方法が無いという思い込みとかブログの内容とか、全て無意味ですよね
2013-12-09 20:52:33@rocaz もう席を離れるので、長くなるなら連投で構いません。より優れた方法論の解説をお願いします。
2013-12-09 20:52:46@yohgaki ええ、「セキュリティ論より教えやすいのが重要」と考えていらっしゃったのは良く分かりました。それがエスケープの方が優れていると主張せざるを得なかった理由だとも判明できました
2013-12-09 20:54:51@yohgaki 何度も申し上げていますが、「正しい静的SQLの発行の仕方」で事足りるのです。これが理解できず「具体的な方法論を」と懇願されているだけなのです。これまであなたが議論されてきた方は皆さん当然理解されているでしょう。方法論は理解していないから見えないだけです
2013-12-09 20:59:16@yohgaki これも何度も申し上げますが、あなたがきちんと「正しい静的SQLの発行の仕方」を理解していた証左をブログからで結構ですから示してみて下さい。無理ですよね?
2013-12-09 21:00:49多分把握した。つまり大垣氏はプリペアドステートメントのために変数にSQL文を格納してそこがプレースホルダを使用しているとしても「任意の変数」を差し込めると考えた。普通はそんなことをしないから「静的SQL」パターンは安全になるのだが、SQLが変数格納故にそう勘違いしたのだろう
2013-12-09 21:07:44動的にSQLを変数に格納して組み立てても外部からの変数を混ぜることと同じ事と考えたのだ。これが間違いの元。そもそもやってはいけない「正しい静的SQLの発行の仕方」なのだが彼はこれを理解していなかった。故に「いずれにせよ安全にはできない、エスケープはどうしても必要だ」となったのでは
2013-12-09 21:10:48大垣さんの趣旨は、なんでプリペアドクエリを使うか、その理由を一番最初に知っておくべきで、妄信的にプリペアドクエリを使えばそれでいいということではないと言ってるだけだと思うんだけれど。 @yohgaki こういうことじゃないんですかね?
2013-12-10 13:40:37