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

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

ぼうさん
September 02, 2018

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

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

ぼうさん

September 02, 2018
Tweet

More Decks by ぼうさん

Other Decks in Technology

Transcript

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

    事例図解 :時そば ▪ 反省会 :時そば ▪ 脆弱性一~三 :時そば ▪ 対策一~三 :時そば ▪ まとめ :時そば
  2. ▪ 男:そば屋に入って二八そば(十六文)を食べたが、手元を見ると、十五文しかなかった。 ▪ 男:いくらだ? ▪ 店:へい、十六文になります。 ▪ 男:うむ、小銭しかなくてな。一文ずつ数えてくれ。 ▪ 店:へい。ひとつ、ふたつ、みっつ、よっつ、いつつ、むっつ、ななつ、やっつ、

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

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

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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ところで、 今、何時? 9 つになります。
  7. 店 男 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
  8. 店 男 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つか。 ありがとう。 では残りを。
  9. 店 男 16文になります。 1 2 3 4 5 6 7

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

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

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

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

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

    8 9 10 11 12 13 14 15 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 9 10 11 12 13 14 15 16 情報を格納する変数の不備 (格納変数が一つ(一人)しかなく、 通貨でなく時刻も一緒に入ってしまった)
  16. 店 男 16文になります。 10 11 12 13 14 15 16

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

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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ところで、 今、何時? 9 通貨型 時刻型
  19. 店 男 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 通貨型 時刻型
  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 つになります。 9つか。 ありがとう。 では残りを。 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 つになります。 9つか。 ありがとう。 では残りを。 9 通貨型 時刻型
  22. 店 男 16文になります。 10 11 12 13 14 15 16

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 9 一文 足りないぞ! 通貨型 時刻型
  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 つになります。
  25. 店 男 16文になります。 10 11 12 13 14 15 16

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

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ところで、 今、何時? 処理途中に 別な処理に割り込ませない。 うるせえ、今数えてるんだ、 だまってろい!
  27. 男 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 十六文ニナリマス。 店
  28. 男 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 十六文ニナリマス。 店
  29. 男 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 十六文ニナリマス。 店 ところで、 今、何時?
  30. 男 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 店 ところで、 今、何時? オ金ヲ 入レテクダサイ。
  31. 男 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 店 オ金ガ 足リテイマセン!
  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 店 通報シマス! 自動化