June 05, 2008

論文: Sesame: Informing User Security Decisions with System Visualization

Paper: Sesame: Informing User Security Decisions with System Visualization,
Jennifer Stoll, Craig S Tashman, W.Keith Edwards, Kyle Spafford,
Proc. of the SIGCHI conf. on Human factors in computing systems(CHI 2008), pp.1045-1054, (2008).
ACM Digital Library

- Non-expertユーザのセキュリティに対する問題: 自身でセキュリティ対策をするのに欠けているもの: 動機(motivation)と知識(knowledge)
- それを支援する枠組みとして空間的にシステムレベルの情報を視覚化するシステムを提供 : Sesame
- 視覚化だけでなく、システムのセキュリティ設定を変更できるようにな制御手段も与える
- 実験によりそれが有望な選択肢(viable alternative)であることを示した.

以降、走り書き


◆ Introduction
- セキュリティツールやシステムからいろんな警告が出てくるが、それに対する対応は"Always", "This one time", "Never"などである.しかしユーザは何どうしたら良いか困惑し、そして取り返しのつかないことをしてあとで困らないかと悩んだりする.
- またユーザの判断を支援するためにツールから与えられているはずの情報は、高度に技術的だったり曖昧であったりして、かえってユーザを困惑させるばかりである.more infoで得られる情報も同様である.
- で、ユーザはどうしているかというと
- 1. ネット上で調査、掲示板などで質問する antionline.com, forumz.tomshardware.com
- 2. 単に無視する.傾向が出ないように設定してしまう [15,20] (この結果が何を招くかは自明であろう)

- エンドユーザのセキュリティ対策行為にはジレンマがある
- セキュリティ上の危険と自分がしたいこととのバランスをどう取るか? => 自動化は困難
- 対策をしなければいけないユーザのほとんどはSecurityに興味はない、そしてそういったユーザのセキュリティ対策を促進するはずの情報提供がかえってそれを困難にしている
- さらにほとんどのユーザはその判断をするのに必要な技術的情報を持っていない
- キーとする問題: ユーザはセキュリティ上の判断をしなければならないとして、どうしたら彼らのシステムに対する理解を支援でき、結果としてより良いセキュリティ対策における判断を導けるか?

- セキュリティに関する意思決定をユーザに知らせるシステムSesameでその改善を試みる
- firewallのようだが、視覚化と対話機能を有し、システムレベルの情報を理解しやすい方法で提示する => "behind the scene" viewの提供 (計算機内の仕組みを見せる化)
- このような情報を提供することでセキュリティに関する意思決定を知らせることができ、またそれらの情報に対するアクセス障壁を下げることで動機付けもできると推測する


◆ Related Work
- 2つのカテゴリ: expert user向けとnon expert user向け

◆ Experts
- Visualization tools: Rumint, IDS Rainstorm, VisAlert[7], 参考文献[1].とにかくexpert向け.またdesktop UIとも統合されていない
- text-based tools: 知識のあるユーザまたは管理者向け.ProcessExplorer, tcpview, windows task manager,
- systemレベルの情報を提供することは意思決定に対して有用.しかし個々のツールは個々の対象情報しか扱えず、その情報を理解するのは困難.また文字表現ゆえに、視覚的なメタファーのサポートもUIとの統合もできていない.

◆ Non-Experts
- expert向けは豊富なのに対し、end-user向けはまだ初期段階[4,18].2つのクラスに分けられる
- Tools for specific activities: 特定の行為に対する安全性だけを考えたツール.しかしシステムレベルの脅威のことは何も考えられていない.複数間のツールで不整合がおこる場合も....そのツールが全ての行為に対する全てのセキュリティ意思決定を支援しない限り、この手のツールは意味がない.
- Tools for specific threats: 特定の脅威に対するツール.アンチウィルス、アンチフィッシング、アンチスパイウェアなどなど.これらはblack listかheuristicな手法でなので、その方法で検知できないものには対処できず、また最新情報を随時取得しておかなければならない(ex. パターンファイルの更新).そしてこの種のツールが提示する警告が無視されるのは前述の通り

- Consumer firewallが、ユーザの判断を必要とするものでは最も普及したsecurity softwareだと思われる.しかし、これによって提供される情報はエンドユーザにとって解読不能.そして提示されるポップアップメッセージも、次に何をしたら良いかに対して有効な情報を提供しているとは言えない

- Sesameの目標はエンドユーザ向け、包括的なfirewall的securityツール.そしてユーザのセキュリティ対処を支援する.
- 特にエンドユーザが一連の正しい対応を決定する必要のあるような攻撃の対処に注力する.そういった状況には普遍的に正しいと言える対応があるわけではなく、securityとconvenienceのtrade-offがある.そしてシステム以外の状況に応じた対応も必要となる時がある.
- Sesameはsecurityに関するシステム情報を個々に提供するのではなく、全体的な視覚表現として提供し、エンドユーザでも理解できるようにする.そして既存のfirewall以上の多種多様な目的に対して使えるようsystem内部の情報を探求できる手段を提供する


◆ Design Process

◆ Representation Paradigm
- Sesameの主たる情報はセキュリティ上の意思決定に必要なシステム情報をユーザに解釈可能な形で提示すること
- 1). 重要だけどなじみのない抽象概念を、どうやってユーザになじみやすく意味の解釈しやすいものに関連づけするか
- 2). セキュリティに関するシステムの状態を変更できるようにする制御をどうやって与えるか?
- 空間配置、直接操作のインタフェースによる提案
-- すでにある知識の効果を利用.慣れ親しんでいるdesktop GUIの概念を応用する
-- 視覚表現の使用する理由はスピード.提示された情報の理解にかかる時間を最少化

◆ Information Content
- 全てのシステム情報は描ききれないし、その多くはこのシステムが対象とするセキュリティ問題に関係のない情報であろうと推測される
- よって全ての情報を描きだすのではなく、実際にアクセス可能で対象とするセキュリティ問題の解決に有用な情報のみを提示する
-- プロセスとその属性: プロセス, CPU usage, ベンダー名, インストール日時
-- Network属性: In and Outのnetwork接続
-- リモートシステム: ドメインから推定される所属組織と地理的位置
- 対象とする3つの脅威に対して、その同定と脅威の軽減が可能であろう
-- Spyware: 見知らぬサーバと接続する見知らぬプロセス
-- Bot infection: Spywareと同様.
-- phishing scam: webブラウザのnetwork接続を調べ、見ているアドレスと異なる接続が多数あるかどうかを検知
- ユーザが能動的にセキュリティの脅威を探索できるという点でfirewallとは異なる

◆ Formative Study
- 3人の被験者による事前評価.紙にプロトタイプを描いて評価させた
- 1) システム情報の具体的な表示と抽象的な表示のどちらを好むか
- 2) システム情報間の関係を理解できるか?
- 3) 技術的な概念に関する言葉を理解できるか?
-- 具体的な表現の方が好まれ、また説明なしにシステム情報間の関係を理解できていた

- この実験はユーザが何が理解できないかを知るのに有効だった
- Internet上のリモート計算機の表現がわかりにくかった => 地図に表示したらどうか?
- プロセスの配置にも再考
- エンドユーザはプロセスというよりエンジン'engine'とした方が理解しやすいという指摘も(もちろんtechnicalユーザには誤解を招く可能性がある)


◆ Sesame: Extending The Desktop

◆ Invocation - Getting 'behind-the-scenes'
- 既存のDesktop GUIの下にあるように見せる.Desktop GUとの統合、すなわち別に起動するアプリケーションと言う形ではなく、Desktop GUIの背景(下)にあり、システム情報を抽象化して提示するシステムとし、既存のGUIのパーツとSesameの提供する情報との関連を見せるられるようにするため.
- ボタンで既存のDesktop GUIとSesameによる情報提示モードを切り替えられるようにする.回転による画面遷移
- フルスクリーンによる視覚化.これは動作が重い、起動をためらわれる、他の作業をしている時は見えなくなるといった問題がある.また動機付けと効率という点でも議論の余地がある.賛否はあるが、現時点での問題はどうやって視覚表現を与えるかであり、またこの方法だと既存のDesktopとシステム情報の提示が概念的に切り分けられること、視覚化領域が広くなるというという点で利点がある.

◆ Division of Space
- 自分の計算機外の情報をどのように提示するか
- 一方を自分の計算機、他方を自分の計算機外の情報として明確に表示領域を分ける

◆ Visual Elements
- process, remote computer, networkの接続要求をどのように視覚化するか?
- プロセスを青色cubeで表示.Windowから起動されたプロセスは矢印でプロセスとWindowの関係を提示.
- Backgroundプロセスは画面下部に表示
- 画面右側は自分の計算機外の情報提示領域.リモート計算機を表示し、その接続状況を矢印で提示.外部からの接続要求に対してはallow, forbidのoptionがある
- 画面右下には'More info'があり、ユーザが特定のオブジェクトにfocusを当てるとその詳細情報が提示

◇ Process
- foreground processは大きめcubeで青色、background processは小さめで緑色
- 事前評価実験から、process typeの違いは明確に表示して欲しいとのこと.それを反映
- 多数の情報に圧倒されないように、以下のプロセスを表示対象に
- 1). ユーザが操作したWIndowから起動または関連するプロセス
- 2). network接続しているプロセス
- 3). 他のユーザやプロセスによって制御されていない、安全とわかっているプロセス
- process cubeにはプロセス名称、2つの四角は、小さい四角の色でベンダーが検証されているかを示す(緑が検証済み、黄色は未検証)、長い四角はインストールされてからの時間と現在と平均CPU usageを表示
- これらの情報からプロセスの異常性判断を支援
- hover, clickというアクションによりcubeが示すプロセスの詳細情報を知ることが可能(図2b,2c)
- processとwindow, processとremote computer間の関係: 矢印で情報の流れとその方向を示す (図3a, 3b)

◇ Remote Computers
- 画面右側にstack tileとして提示
- 遠隔の計算機であることを示すために地図による表記も実施
- hover actionによりsemantic zoom表示: 推定される位置や所属もあわせて表示(図4)

◇ Connection Requests
- in or outの接続要求があった時はそれを許可するかをユーザに問い合わせる機能がある
- 接続要求は2つの矢印で表示、接続要求をした側が実線の矢印となる(図5).直感的とは言いがたいが、まだ接続されていないという意味も示している
- 選択を促すための視覚的表現も適用: ボタン付近をflash、接続に関与しているプロセスの淵もflash
- 一度allow, forbid決定をすると、その後にpolicy設定も可能である.そのプロセスに関し常にallow, denyかまた今回だけかとか、どのremote domainにも接続を許すか、それとも特定ドメインのみ許可するかなどを決定することができる.決定された情報はprocess cube内に保存され、後でいつでも閲覧することができる.


◆ Usage Scenarios
- どう使われるかを2つのシナリオで説明

- Scenario 1: "この接続は許可すべき?"
ビデオの埋め込まれたWebページを見ていて、そのビデオを見るためplayボタンを押した.そしたらリモート計算機から自分の計算機に接続要求があるというダイアログが現れた.ユーザはどのダイアログをclickしSesameを起動.リモート計算機から接続要求を受けているプロセスを見る.それはWebブラウザが起動しているプロセスと同じものだった.playボタンを押したのとダイアログボックスの出現がほぼ同時だったことから、ユーザはその接続がビデオ再生に必要なものであると判断.ビデオを見るためにリモート接続を許可しなければいけないのかまだ判断できなかったため、リモート計算機の情報を見る.そうしたらそのリモート計算機の所属組織はWebサイトの組織と関連する組織であった.このことから信用できると判断し、ユーザは接続許可ボタンを押した.しかしユーザはその組織からのどんな接続も許可できるとは思わなかったため、この接続判断を今回限りのものとした.接続を示す黄色の矢印が実線表示になり、Sesameを終了してDesktopに戻った.そうしたらVideoは期待通りに再生されていた.

- Scenario 2: "Is this a phishing site?"
ユーザは銀行に関連するというWebサイトに飛ばされ、個人情報の入力を促された.ユーザはあやしいと感じ、Sesameを起動.Webブラウザのwindowに関連するプロセスを見たところ、1つのリモート接続が見つかった.そのリモート計算機の地理的位置を見ると妥当だとは思えない位置であった.またそのリモート計算機の所有者も銀行とは関係のないものであった.まだわからないので、リモート計算機の詳細情報を見た.そうしたら見知らぬドメインとなっており、その設置場所も関与があるとは思えない国であった.これらの結果からユーザはこれが銀行に関係のあるサイトではないと判断し、何もせずにWebブラウザを閉じた.そして銀行にその旨を電話した


◆ Implementation
- C++で実装、Windows XP上で動作.論文中の画面snapshotは、実際に動作しているシステムの画像である.
- GDI, GDI+で実装.評価実験データを収集するためのhookも実装
- process listを収集, network connectionを横取りするためにオープンソースのfirewallを利用、reverse-DNSとWHOISを情報収集のために利用.またベンダー検証の仕組みは完全に実装できてはいない.


◆ User Study
- 評価実験: Sesameによる視覚化を使うことでどの程度潜在的なセキュリティ問題を判断できるか?
- 主たる興味: Sesameにより提供される概念がセキュリティに関する意思決定においてどれほど貢献できるか?
- ZoneAlerm vs. Sesameの評価
- 被験者に質問: 様々な視覚的表現に関するものとなぜそのような意思決定をしたか? (UIの効率性やそれがSecurity対策に対して動機付けを与えることができたかについては調査対象としない).気になるのはセキュリティ問題に対する意思決定のqualityが向上したかどうかである


◇ Participants
- campus内で募集した20人(男性11、女性9)、全員が大学生、計算機系の学生も、計算機に関して詳しい人もいなかった
- セキュリティ対策に対しては素人さんばかり.Sesameが対象とするend-userとして適切
- 2つのグループに分けた

◇ Security Tasks
- 4つのfirewall設定に関する意思決定、その後2つのwebsiteの信憑性に関する判断

- T1: video playerをclickした後にMicrosoft.comからの接続があった時それを許可するか?
- T2: loadsys.exe(Spyware)から外部に向かった接続要求を許可するか?
- T3: intmonp.exe(Bot)に対して外部のサーバからの接続要求を許可するか?
- T4: outlook.exeから外部に向けた接続要求を許可するか?
- T5: "Mid America Bank"と言っているWebサイトをphishing siteと判断するか?
- T6: "CitiBank"と言っているWebサイトをphishing siteと判断するか?

- T5とT6は意図的に似た問題となっている.false positive, false negativeの試験にもなると仮定
- またユーザの行為によるもの(T1,T5,T6)とよらないもの(T2,T3,T4)とのバランスにも配慮

- control environmentとexperimental environment
- control environment: ZoneAlarmがinstallされた計算機.典型的なエンドユーザの計算機を想定.ZoneAlarmを改造し、Sesameと同様、接続要求があるとダイアログが出現するようにした
- experimental environment: Sesameがinstallされた計算機.事前に90秒ほどシステムをいじる時間を与えた.が、視覚的表現については特に説明はしなかった.単にvisual objectをmouse hoverしたりclickするといろんな情報が見られるよという説明をした.

◇ Study Details
- 実験では思ったことを口にしてもらうようにした.実験中はそれを録音
- 各被験者に対し、計算機とセキュリティに対する背景知識について質問した
- phishingについてはその概念を簡単に説明した
- Sesameの視覚表現に関する質問は回答しなかった: 視覚表現がどの程度理解されるかを評価するため
- 実験後にinterview実施.被験者の意思決定に関する明確さ、行った決定とツールにより得られた情報との関係
- security toolの改善に関する提案についても聞き取り


◆ Results
- 収集した情報
- 1) background情報
- 2) 6つのタスクにおける誤り率
- 3) システムが提供した情報の理解に関する質問への回答

◇ Participant security background
- control groupもexperimental groupのどちらの被験者もbackgroundには大きな差はなし
- なんのSecurity toolも使用していないユーザは、どちらのグループでも2人(of 10人)づついた
- 警告に応じてなんらかのupdateをする以外に何かsecurity対策をしたというユーザはいなかった
- 被験者全員が9-10年の計算機使用歴であるにもかかわらず、processやnetwork connectionの概念を理解できていなかった

◇ Security task miss-rate
- 一人ほど例外的に66%のmiss-rateをした人がいた.その被験者はMacintoshユーザでWindowsの操作に慣れていない影響があると想定
- 値的にはSesameの方がmiss-rateが低くなった.が、統計的に有為な差は見られなかった
- 各タスク別の成功率(図6)

◇ Information Comprehension
- ZoneAlarm: ツールが提供する情報を意思決定にどう使ったら良いかがわからなかった
- ZoneAlarmでは被験者10人中7人が以下の戦略に基づき意思決定をしたと述べた
-- 7人中5人がすべての問いにallow またはdenyと回答
-- 残りの2人はプロセス名を基準に意思決定をしたと回答
- More infoボタンは完全に無視されていた
- Sesameの方はZoneAlarmより良い結果となった
- 意思決定をするのに事前に戦略を決めていた被験者はいなかった
- ZoneAlarmがプロセス名だけが判断材料だったのに対し、Sesameではプロセスやリモート計算機の情報を見て判断していたと思われる
- リモートシステムの地理表示が有用だという被験者が5人いた
- 表示の概念的な理解に関する調査
-- 10人中8人がcubeが表現するforeground processとbackground processの違いを理解
-- しかし、2人しかその目的を理解していなかった
- リモート計算機についてはよく理解されていた: 8人がその意味を認識し、8人が矢印によるリモート計算機とプロセスの接続の意味を理解していた.また10人中8人が計算機の内部と外部の概念が意図した通りに理解されていた.


◆ Discussion and Future Work
- SesameのUIはセキュリティに関する意思決定を支援できた.しかも特に説明なしで表現が理解されたというのは特筆に値する.また自分の計算機内と外の表示はよく理解されていた.novice userがシステム情報を理解しやすい視覚化表現と概念を提供できていると言える.
- より大規模な被験者による検証も必要
- UIにおける問題点の指摘も有用な結果であった.被験者にとって困難だったのは因果関係の推測であった.被験者が行った行動がSesameからのダイアログ出現を引き起こしたということの理解が困難であった.また被験者は計算機のソフトウェア環境が独立したエージェントの集合によって成り立っているという概念の理解が難しいと言うことがわかった.Sesameの次期バージョンではプロセスのagent-causalをよりうまく提示できるようなメタファーを使うことが望まれる

- 全体論としてSesameの機能を評価してきたが、この実験から他のシステムにも適用可能な一般化できる設計指針がある.
- direct manipulation: Desktopを回転させることで、その下に隠されたシステム情報があるという概念を提示する方法はnon expert userにその概念を馴染みやすい方法で提示する方法として有効と考える
- policy cards: 一貫した視覚的表示を提供し、簡単にその設定値を見ることができるとともに、将来にわたってアクセスできる手段を提供.一貫した視覚的提示はシステムの状態を容易に理解させ、またアクセスさせるのに有効であると考える
- 3D model: デスクトップの下にそういう概念があるということをわからせるのに有効(?).他のUIでも有効であろう.
- 低レベルでの直接操作の有用性: 2.5DのUIによるDesktopの拡張.


◆ Conclusion
- Sesame: end-user向けにsecurity問題を対処可能にするための直接操作可能なgraphical interfaceの提案
- 既存のシステムは: タスクまたは脅威に特化したものか、文字による情報提示、もしくはexpert向け.
- non expert userがsecurity問題に対する意思決定をするためにシステムや専門情報の理解を支援するようなシステムはほとんどないに等しい
- というわけで、non-expert向けに一般的なfirewallに似たツールを提供.これはタスクやアプリケーションに依存しない広範なsecurity問題を対象としたツール

- すでにdesktop環境で馴染んでいる概念や地図による位置表示をシステムレベルの情報の表現に応用することでnon expert向けの情報提供を可能に
- 実験によって既存のツールよりもシステム情報の理解が進んだことを示した


■ 興味の湧いた参考文献
1,4,7,17,18

Posted by z at June 5, 2008 02:29 AM