「君は新人だから知らないと思うけどセッション変数が改竄されることもある。その対策は安全ではない」

リスク管理に関する考察。
100
noon @n00nw0rks

日本人はリスク管理ができない、リスクはゼロにできないということを受容れられない、とよく言われるけど、日本人だからどうこうというより、リスクを管理できるだけの知識と論理的思考能力がない人は「怯える=意識高い」と考えているんだと思っていて、その話のたびに前の会社のことを思い出す

2014-11-13 11:12:30
noon @n00nw0rks

前の会社でCSRF発見して「hiddenなinputとセッション変数にランダムトークンを保存して照合し正当なページからのリクエストか判別する」のを提案したら「君は新人だから知らないと思うけどセッション変数が改竄されることもある。その対策は安全ではない」と呆れた顔で言われて、

2014-11-13 11:12:50
noon @n00nw0rks

確かにOSやミドルウェアに脆弱性があればそういうこともあるかもだけど、セッション変数が攻撃者に改竄されることまで前提としたらCSRFどころじゃないし何もできませんよ、現実的なリスクと対策を考えるべきでは、というようなことを言ったら「セキュリティに対する意識が低い」と評価が下がった

2014-11-13 11:13:22
noon @n00nw0rks

私が見つけるまでCSRFどころか単純なXSSやSQLインジェクションすら気付かず放置していた集団の中で意識低い認定されたのめちゃくちゃ悔しかったけど、今思うと彼らは知識がなさすぎて提案の正確な内容が理解できなかったんだろう……セッション変数とCookieの違いもわかってなかったし

2014-11-13 11:13:44
noon @n00nw0rks

セッション変数の仕組みをわかっていない→どれくらいのリスクがあるかわからない→むやみに「改竄される可能性も考えるべき」とか言い出す→「危険性を意識する自分、意識高い!」という思考回路。あれはもう意識低いというより意識不明っていうレベルだった。今でも反面教師として思い出し自戒する

2014-11-13 11:16:02
noon @n00nw0rks

「(OSやミドルウェアの脆弱性以外に)セッション変数が改竄されることってあるんですか?」「あるんだよ……あるんだ」「はぁ……じゃあどうすれば」「とりあえず君の言っていた対策をとりなさい」ということで結局提案した通りの対策が採用されました。

2014-11-14 10:10:12
noon @n00nw0rks

あの上司は「OSやMWの脆弱性の可能性まで考慮していた」というより「攻撃者はなんらかの魔法めいた手段でどんな変数も書き換えてくるからなにを書き換えられてもいいようにしなければならない」と考えていたようすだった

2014-11-14 10:13:36
noon @n00nw0rks

Webシステム担当になったけどセキュリティのこと私が新人なので知らなかったので、徳丸本を買って、本に載ってる脆弱性を探す→見つかる(!)→本で原因と対策を学ぶ→テストサーバで対策を実践→確認→報告→本番サーバにも適用、というサイクルで修正して、めちゃくちゃ勉強になりました。

2014-11-14 10:20:11
徳丸 浩 @ockeghem

それはすごい! RT @n00nw0rks: Webシステム担当になったけどセキュリティのこと私が新人なので知らなかったので、徳丸本を買って、本に載ってる脆弱性を探す→見つかる(!)→本で原因と対策を学ぶ→テストサーバで対策を実践→確認→報告→本番サーバにも適用、というサイクル…

2014-11-14 10:26:12
noon @n00nw0rks

例の上司に「最近出た徳丸本すごく解り易くていいですよ」と勧めたら購入してもらえたんだけど、結局買っただけで誰も読んでなかったし、誰も読まないので要点だけでもと小さな勉強会をしたら先輩社員(脆弱性を作った人)に影で「勉強会なんてしたせいで仕事が遅れた」と言われたし、転職しました

2014-11-14 10:29:07