Slide 1

Slide 1 text

久保 俊平 @MC_SEC_KB / @bou_san3 @MC_SEC_KB

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

店 男 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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

店 男 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

Slide 11

Slide 11 text

店 男 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つか。 ありがとう。 では残りを。

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

店 何故なのか

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

店 どうすれば よかったのか。

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

店 男 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 通貨型 時刻型

Slide 25

Slide 25 text

店 男 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 通貨型 時刻型

Slide 26

Slide 26 text

店 男 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 通貨型 時刻型

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

店 男 16文になります。 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 9 一文 足りないぞ! 情報を格納する変数の不備 ↓ 通貨型変数と時刻型変数の区別 通貨型 時刻型

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

男 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 十六文ニナリマス。 店

Slide 33

Slide 33 text

男 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 十六文ニナリマス。 店

Slide 34

Slide 34 text

男 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 十六文ニナリマス。 店 ところで、 今、何時?

Slide 35

Slide 35 text

男 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 店 ところで、 今、何時? オ金ヲ 入レテクダサイ。

Slide 36

Slide 36 text

男 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 店 オ金ガ 足リテイマセン!

Slide 37

Slide 37 text

男 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 店 通報シマス!

Slide 38

Slide 38 text

男 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 店 通報シマス!

Slide 39

Slide 39 text

男 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 店 通報シマス! 自動化

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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