$30 off During Our Annual Pro Sale. View Details »

古典で読み解くエクスプロイト 時そば編

ぼうさん
September 02, 2018

 古典で読み解くエクスプロイト 時そば編

情報セキュリティの世界ではよく知られる脆弱性やエクスプロイトといった概念ですが、それは実は、江戸の昔からあったのではないか?というお話です。

ぼうさん

September 02, 2018
Tweet

More Decks by ぼうさん

Other Decks in Technology

Transcript

  1. 久保 俊平 @MC_SEC_KB / @bou_san3
    @MC_SEC_KB

    View Slide

  2. ▪ 用語 :脆弱性とは
    ▪ 用語 :エクスプロイトとは
    ▪ 古典事例 :時そば
    ▪ 事例図解 :時そば
    ▪ 反省会 :時そば
    ▪ 脆弱性一~三 :時そば
    ▪ 対策一~三 :時そば
    ▪ まとめ :時そば

    View Slide

  3. ▪ 脆弱性とは、
    ▪ 「コンピュータソフトウェアの欠陥(バグ、不具合、あるいはシステム上の盲点)の一つで、
    ▪ 本来操作できないはずの操作(権限のないユーザが権限を超えた操作を実行するなど)が
    ▪ できてしまったり、見えるべきでない情報が第三者に見えてしまうような不具合をいう。」
    ▪ (Wikipedia「セキュリティホール」より抜粋)

    View Slide

  4. ▪ エクスプロイトとは、
    ▪ 「ソフトウェアやハードウェアの脆弱性を利用した悪意ある行為のために書かれた、
    ▪ スクリプトまたはプログラムを指す言葉である。」
    ▪ (Wikipedia「エクスプロイト」より抜粋)

    View Slide

  5. ▪ 男:そば屋に入って二八そば(十六文)を食べたが、手元を見ると、十五文しかなかった。
    ▪ 男:いくらだ?
    ▪ 店:へい、十六文になります。
    ▪ 男:うむ、小銭しかなくてな。一文ずつ数えてくれ。
    ▪ 店:へい。ひとつ、ふたつ、みっつ、よっつ、いつつ、むっつ、ななつ、やっつ、
    ▪ 男:ところで今何時だ?
    ▪ 店:へい、ここのつになります。
    ▪ 男:ここのつか。ありがとう。では残りを。
    ▪ 店:じゅう、じゅういち、じゅうに、じゅうさん、じゅうし、じゅうご、じゅうろく。
    ▪ 店:ちょうどですね。ありがとうございました。
    ▪ 男:じゃあな。
    ▪ 店:(小銭を数えて)あっ、一文足りない!

    View Slide



  6. 16文になります。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    View Slide



  7. 16文になります。
    9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15

    View Slide



  8. 16文になります。
    9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?

    View Slide



  9. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    9 つになります。

    View Slide



  10. 16文になります。
    1 2 3 4 5 6 7 8 9
    9つか。
    ありがとう。
    では残りを。 9 10 11 12 13 14 15
    10 11 12 13 14 15 16

    View Slide



  11. 16文になります。
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    9 10 11 12 13 14 15 16
    9つか。
    ありがとう。
    では残りを。

    View Slide



  12. 16文になります。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    値を検証

    View Slide



  13. 16文になります。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    完全に一致!
    値を検証

    View Slide



  14. 16文になります。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    完全に一致!
    値を検証
    ちょうどですね。

    View Slide



  15. 16文になります。
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    完全に一致!
    値を検証
    ありがとうございました。
    じゃあな

    View Slide



  16. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    あっ、一文足りない!
    (小銭を数えると・・・)

    View Slide


  17. 何故なのか

    View Slide



  18. 16文になります。
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    9 10 11 12 13 14 15 16

    View Slide



  19. 16文になります。
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    9 10 11 12 13 14 15 16
    情報を格納する変数の不備
    (格納変数が一つ(一人)しかなく、
    通貨でなく時刻も一緒に入ってしまった)

    View Slide



  20. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    9 つになります。

    View Slide



  21. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    9 つになります。
    割り込み処理の許可
    (数えている最中に別な処理が走ってしまう)

    View Slide


  22. どうすれば
    よかったのか。

    View Slide



  23. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    9
    通貨型
    時刻型

    View Slide



  24. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    9 つになります。
    9
    通貨型
    時刻型

    View Slide



  25. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    9 つになります。
    9つか。
    ありがとう。
    では残りを。
    9
    通貨型
    時刻型

    View Slide



  26. 16文になります。
    10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    9 つになります。
    9つか。
    ありがとう。
    では残りを。 9
    通貨型
    時刻型

    View Slide



  27. 16文になります。
    10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    9
    一文 足りないぞ!
    通貨型
    時刻型

    View Slide



  28. 16文になります。
    10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    9
    一文 足りないぞ!
    情報を格納する変数の不備

    通貨型変数と時刻型変数の区別
    通貨型
    時刻型

    View Slide



  29. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    9 つになります。

    View Slide



  30. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    うるせえ、今数えてるんだ、
    だまってろい!

    View Slide



  31. 16文になります。
    10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    ところで、
    今、何時?
    処理途中に
    別な処理に割り込ませない。
    うるせえ、今数えてるんだ、
    だまってろい!

    View Slide


  32. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    十六文ニナリマス。

    View Slide


  33. 1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    十六文ニナリマス。

    View Slide


  34. 1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15
    十六文ニナリマス。

    ところで、
    今、何時?

    View Slide


  35. 1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15 16
    1 2 3 4 5 6 7 8
    9 10 11 12 13 14 15

    ところで、
    今、何時?
    オ金ヲ
    入レテクダサイ。

    View Slide


  36. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    オ金ガ
    足リテイマセン!

    View Slide


  37. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    通報シマス!

    View Slide


  38. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    通報シマス!

    View Slide


  39. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    16
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    通報シマス!
    自動化

    View Slide

  40. システム内の脆弱性(製品の不備)を突いて
    悪用することをエクスプロイトと言ったりするよ。

    View Slide

  41. システム内の脆弱性(製品の不備)を突いて
    悪用することをエクスプロイトと言ったりするよ。
    弱みは見せないようにするか、克服しないといけな
    いな。あと小銭を忘れてはだめだな。

    View Slide

  42. システム内の脆弱性(製品の不備)を突いて
    悪用することをエクスプロイトと言ったりするよ。
    弱みは見せないようにするか、克服しないといけな
    いな。あと小銭を忘れてはだめだな。
    服が破れたらツギを当てるように、
    システムの脆弱性にはパッチを当てないとね。

    View Slide

  43. システム内の脆弱性(製品の不備)を突いて
    悪用することをエクスプロイトと言ったりするよ。
    弱みは見せないようにするか、克服しないといけな
    いな。あと小銭を忘れてはだめだな。
    更新プログラムを構成しています。
    30%完了。
    コンピューターの電源を切らないでください。
    服が破れたらツギを当てるように、
    システムの脆弱性にはパッチを当てないとね。

    View Slide

  44. システム内の脆弱性(製品の不備)を突いて
    悪用することをエクスプロイトと言ったりするよ。
    弱みは見せないようにするか、克服しないといけな
    いな。あと小銭を忘れてはだめだな。
    更新プログラムを構成できませんでした。
    変更を元に戻しています。
    コンピューターの電源を切らないでください。
    服が破れたらツギを当てるように、
    システムの脆弱性にはパッチを当てないとね。

    View Slide