62
アアアアアアアア vs アアアアアア アアアアアアアアアアア ア ~!~ アアアアアアアア アアアアアア アア アア

アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

Embed Size (px)

Citation preview

Page 1: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

アクセシビリティ vs セキュリティ

~こんな対策はいらない!~

株式会社ビジネス アーキテクツ・

太田 良典

Page 2: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

2

アクセシビリティとセキュリティ

CAPTCHA の問題

バリデーションの問題

セッションタイムアウトの問題

今日のお話

Page 3: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

3

アクセシビリティとセキュリティ

Page 4: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

4

デザイニング Web アクセシビリティ

Page 5: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

5

セキュリティにからむ内容

Page 6: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

6

3-1 CAPTCHA の導入でアクセス不能になる

※ 画面は開発中のものです

Page 7: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

7

6-4 入力が困難なフォーム

※ 画面は開発中のものです

Page 8: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

8

6-9 時間切れで作業が継続できなくなるフォーム

※ 画面は開発中のものです

Page 9: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

9

CAPTCHA の問題3-1 CAPTCHA の導入でアクセス不能になる

Page 10: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

10

Completely Automated Public Turing test to tell Computers and Humans Apart

コンピュータと人間とを判別する完全自動化されたチューリングテスト

CAPTCHA とは ?

Page 11: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

11

ロボットによる自動アクセスの排除

特に、フリーメールサービスの自動アカウント登録を防ぐため

画像を見せて、書かれている内容を入力させる手法が主流

CAPTCHA の目的

Page 12: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

12

CAPTCHA の例 (reCAPTCHA)

Page 13: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

13

スクリーンリーダーの場合、画像があっても内容を理解できることがある

「代替テキスト」が指定されていればそれを読んでくれる

画像が見えない人は ?

Page 14: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

14

<img

alt="reCAPTCHA 確認用画像 " >

画像の内容とは異なっているこれを入力してもパスできない

reCAPTCHA の代替テキスト

Page 15: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

15

画像が見えても…… ?

Page 16: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

16

無理ゲー

Page 17: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

17

見えないと全くアクセスできない

適切な代替テキストも指定できない

アクセスできるようにすることはとても難しい

CAPTCHA の問題点

Page 18: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

18

セキュリティ上の意義

Page 19: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

19

機械によるアカウント登録を防ぐ

► 機械的にアカウントを作成されるとスパムメールを大量送信される

► 手動の登録は防がない

アカウント登録の初回に一度だけCAPTCHA を突破する必要がある

フリーメールサービスの場合

Page 20: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

20

機械によるあらしを防ぐ

► 手動のあらしは防がない

コメントを入力するたびに毎回CAPTCHA を突破する必要がある

ブログのコメント欄

Page 21: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

21

機械によるログイン試行を防ぐ

► 手動の試行は防がない

ログインするたびに毎回CAPTCHA を突破する必要がある

► 2 回目から CAPTCHA を出すケースも。この場合 1 回は機械試行できる

ログインフォーム

Page 22: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

22

本当に必要なのか ?

Page 23: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

23

CAPTCHA は機械によるアクセスを妨げるためのもの

認証の機能は持っていない

► 悪意ある攻撃者による手動のアクセスは防げない

► 「画像認証」と呼ぶのは語弊がある

判断のポイント

Page 24: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

24

まとめ

Page 25: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

25

CAPTCHA はアクセシビリティもユーザビリティも低下させる

実は必要ないことも多い

► 必要なケースもあるが、多くはない

► 必ずしも安全性は高まらない

採用するときはちゃんと考える

CAPTCHA のまとめ

Page 26: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

26

バリデーションの問題6-4 入力が困難なフォーム

Page 27: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

27

値が正当 (valid) なものであるかを確かめる処理

バリデーションとは ?

Page 28: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

28

バリデーションの例

Page 29: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

29

そもそも「全角」とは何か

どうやって入力するのか

► 特にスマートフォン

全角で入力してください ?

Page 30: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

30

半角と全角の入力方法を教えてください。

Page 31: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

31

全角の入力方法

Page 32: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

32

セキュリティ上の意義

Page 33: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

33

入力バリデーションはセキュリティ対策

Page 34: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

34

ユーザーの入力には「危険な文字」が含まれることがある

► 例 : “ ‘ < など

危険な文字を入力させなければいい

► 全角はだいたいあんしん

バリデーションによる対策の発想

Page 35: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

35

本当に必要なのか ?

Page 36: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

36

コメント欄とかどうするの ?

素朴な疑問

Page 37: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

37

お問い合わせやコメントなどの入力欄では、自由な入力が必要

► “ や ‘ が入力できる必要がある

► O‘Reilly の話題を禁止するのか ?

自由な入力が必要な場合

Page 38: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

38

入力バリデーションはセキュリティ対策になる「こともある」

しかし本質ではなく、対策にならないことも多いので、他の手法で安全性を担保すべき

入力バリデーションはセキュリティ対策 ?

Page 39: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

39

再掲

Page 40: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

40

まとめ

Page 41: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

41

バリデーションは必要だが、必要以上の制限をすると入力困難に

必ずしも安全性は高まらない

► バリデーションはセキュリティとはまた別の話

► たまたま重なることはある

バリデーションのまとめ

Page 42: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

42

セッションタイムアウトの問題

6-9 時間切れで作業が継続できなくなるフォーム

Page 43: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

43

セッションタイムアウトとは

Page 44: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

44

ログイン後、一定時間経つと自動的にログアウトする

入力に時間がかかるユーザーは、入力を終えるまでにログアウトしてしまうことがある

セッションタイムアウトの問題

Page 45: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

45

Page 46: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

46

Page 47: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

47

セキュリティ上の意義

Page 48: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

48

旧セキュアプログラミング講座

http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a05_03_main.html

Page 49: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

49

もし,本人が WWW ブラウザを終了させずに席を離れた隙に他人が操作をして当該 ASP アプリケーションのページを呼び出すことができれば,生きているセッションに再接続することができ,各種の情報が漏れてしまうことになる。

離席対策

http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a05_03_main.html

Page 50: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

50

本当に必要なのか ?

Page 51: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

51

どのくらい短くすれば

安全と言えるのか ?

素朴な疑問

Page 52: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

52

セッションの継続が必要で,ユーザに閲覧させる情報・入力させる項目があまり多くないページでは, Session.Timeoutプロパティに小さな値を設定し,無理のない範囲でタイムアウトの時間を短くする。 Session.Timeoutプロパティには1分刻みでタイムアウト時間を設定できる。その最小値は1分である。次の代入文は,セッション・タイムアウトを3分に設定する例である。

Session.Timeout = 3

3分 !?

http://www.ipa.go.jp/security/awareness/vendor/programmingv1/a05_03_main.html

Page 53: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

53

「ユーザに閲覧させる情報・入力させる項目があまり多くないページ」をどう判断するのか ?

► 入力したり読んだりする速度はユーザーによってまちまち

3分に根拠はあるのか ?

► 離席直後に使われたらアウトでは ?

さらなる疑問

Page 54: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

54

最近の文書では ?

セッション関連の注意事項は多数あるが、セッションの長さには言及なし

Page 55: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

55

まとめ

Page 56: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

56

セッションが短ければ安全、という話にはあまり根拠がない( ように思える )

古い文書を信じ続けないこと

セッションタイムアウトのまとめ

Page 57: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

57

おわりに~アクセシビリティ vs セキュリティ~

Page 58: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

58

アクセスしやすくする施策はセキュリティのための施策と対立 ?

高度なセキュリティとアクセシビリティは両立できない ?

vs セキュリティ ?

Page 59: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

59

機密性 (Confidentiality)

► 漏れない

完全性 (Integrity)

► 改ざんされない

可用性 (Availability)

► ちゃんと使える、止まらない

セキュリティの三大要素

Page 60: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

60

機密性を保持する最も簡単な方法はサービスを公開しないこと

► 存在しなければ何も漏れない

しかし、それでは意味がない

► きちんと使えることが重要

► 現実的でない「対策」はセキュリティ研究者も批判

使えなければ意味がない !

Page 61: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

61

何のためにやるのか ?

Page 62: アクセシビリティ vs セキュリティ ~こんな対策はいらない!~

62

ありがとうございました