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

リスク管理に関する考察。
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

コメント

ナスカ(Nazka-U) @Chiether 2014年11月13日
(システム概念の)責任範囲という言葉も理解できていないんでしょうね。 その前の会社の主張を鵜呑みにすればCPUが演算を間違えることもあるのですから(実際、Intelが昔やらかしてます)。 その会社は、CPUを使うべきじゃありませんね。 :)
11
平尾 由矢(パブリックエネミー) @astray000 2014年11月13日
あ~、「ワテクシ、意識高いわぁ」系は、確かに何か自分にとってコントロール不可能な事柄を他人に対して「これは驚異的だ」と自分の価値観を押し付ける傾向にはありますねw
5
駆け出しちんちん改九拾八式 @macoairhead 2014年11月13日
リスクを評価する立場の奴が勉強不足過ぎてとにかくわからんことは危険、危ないと思考放棄する。評価するために議論することもなく、わからないことをなくすために勉強することもない。むしろそういう奴がリスクを評価する立場にあることがリスクなんだけどなぁ。
6
yonaki @yonaki11111 2014年11月14日
え?hiddenと照合とるんでわ…。ラッ○でもKC○Sでもそこまでやって指摘されたことありませんわ?
0
kenjis @kenji_s 2014年11月14日
まとめを更新しました。
0
Ishida Brain Dam'd @tbs_i 2014年11月14日
『絶対笑ってはいけないWebセキュリティ』の企画だったのでは?
7
trycatch777 @trycatch777 2014年11月14日
私も自社開発Webシステムのセキュリティアセスメントやったときは苦労しました。XSS対策もろくに出来ていないのに全然違う対策に工数を費やそうとして慌てて止めたりとか(まとめ本文と同じ状況)。あと、エンジニアには「こう対策しろ」ではなく、「どうしてこういう事が起きるから対策しないといけないか」をきちんと学ばせないといけないと思うので勉強会とか重要だと思うのに……
0
ロチョナコ🦁👓(名前戻した) @rochonaco 2014年11月14日
無知は罪なり、知は空虚なり、英知持つもの英雄なり。
0
きゃっつ(Kats)⊿ @grayengineer 2014年11月14日
「こういう可能性がある」には「それは具体的にどうやってやるんです?」でいいのかもね
1
源八 @gen_pati 2014年11月15日
畑が全く違うから用語がさっぱりわからんでもクソっぷりが理解できるのは凄いな。このクソさが組織における普遍的な現象ってことなんだろうけど。語句を換えれば似たような状況にあった人は結構いるはず。
0
りゅとさん⋈しばらく浮上しません @lute_the_fool 2014年11月15日
もうそこまで言うんなら最初からセキュリティなんていらんかったんや!(丸腰大の字
1
ポポイ @popoi 2014年11月16日
亡父を思い出す。詳しくない事に自信満々で手を出して、台無しにする名人だった。そして一欠片も反省はしない。或る程度大きくなってから、「あんたは何でいつもそんなにガチャガチャしてるんだ」と怒鳴りつけた。心外そうな顔をしていた。
3
kkitmur @kkitmur 2014年11月16日
意識の高さを志向すると現実から離れちゃうし、現実側が低く見えちゃうんですよね
0
A級3班国民 @kankichi573 2014年11月16日
ソフトウエア業界にもゼロベクレル教か
0
ねや @neya_state 2014年11月18日
あるある、テストなんかでも良くある話。 すべての項目をテストせよとか、システム的に意味のない数値まで全パターン網羅要求されたり。 そんなクソみたいな作業に時間とらず意味を解析して意味に沿ったテストケース設計する時間をくださいよと
0
Localio Projects @LocalioProjects 2014年11月19日
セッション変数の管理がきちんとなっていないプロジェクトの場合は他所部分のプログラムが別場所で発行したセッション変数の値を破壊するケースはたしかにあるから「外部からの改竄」だけとは限らないんだな。
0