Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

B59a5ec1c767fcbc0ec6c3d4b785f281?s=47 ぼうさん
September 02, 2018

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

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

B59a5ec1c767fcbc0ec6c3d4b785f281?s=128

ぼうさん

September 02, 2018
Tweet

More Decks by ぼうさん

Other Decks in Technology

Transcript

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

  2. ▪ 用語 :脆弱性とは ▪ 用語 :エクスプロイトとは ▪ 古典事例 :時そば ▪

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

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

  5. ▪ 男:そば屋に入って二八そば(十六文)を食べたが、手元を見ると、十五文しかなかった。 ▪ 男:いくらだ? ▪ 店:へい、十六文になります。 ▪ 男:うむ、小銭しかなくてな。一文ずつ数えてくれ。 ▪ 店:へい。ひとつ、ふたつ、みっつ、よっつ、いつつ、むっつ、ななつ、やっつ、

    ▪ 男:ところで今何時だ? ▪ 店:へい、ここのつになります。 ▪ 男:ここのつか。ありがとう。では残りを。 ▪ 店:じゅう、じゅういち、じゅうに、じゅうさん、じゅうし、じゅうご、じゅうろく。 ▪ 店:ちょうどですね。ありがとうございました。 ▪ 男:じゃあな。 ▪ 店:(小銭を数えて)あっ、一文足りない!
  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
  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
  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 ところで、 今、何時?
  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 つになります。
  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
  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つか。 ありがとう。 では残りを。
  12. 店 男 16文になります。 1 2 3 4 5 6 7

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

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

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

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

    9 10 11 12 13 14 15 あっ、一文足りない! (小銭を数えると・・・)
  17. 店 何故なのか

  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
  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 情報を格納する変数の不備 (格納変数が一つ(一人)しかなく、 通貨でなく時刻も一緒に入ってしまった)
  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 つになります。
  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 つになります。 割り込み処理の許可 (数えている最中に別な処理が走ってしまう)
  22. 店 どうすれば よかったのか。

  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 通貨型 時刻型
  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 通貨型 時刻型
  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 通貨型 時刻型
  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 通貨型 時刻型
  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 一文 足りないぞ! 通貨型 時刻型
  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 一文 足りないぞ! 情報を格納する変数の不備 ↓ 通貨型変数と時刻型変数の区別 通貨型 時刻型
  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 つになります。
  30. 店 男 16文になります。 10 11 12 13 14 15 16

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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ところで、 今、何時? 処理途中に 別な処理に割り込ませない。 うるせえ、今数えてるんだ、 だまってろい!
  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 十六文ニナリマス。 店
  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 十六文ニナリマス。 店
  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 十六文ニナリマス。 店 ところで、 今、何時?
  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 店 ところで、 今、何時? オ金ヲ 入レテクダサイ。
  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 店 オ金ガ 足リテイマセン!
  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 店 通報シマス!
  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 店 通報シマス!
  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 店 通報シマス! 自動化
  40. システム内の脆弱性(製品の不備)を突いて 悪用することをエクスプロイトと言ったりするよ。

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

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

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

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