May 30, 2008

Tactile passwords could stop ATM shoulder-surfing

あー、こういうアイデアは考えたけど、ありがちだよな〜.と思ったら本当にあった.
触覚情報は確かに覗き見攻撃に対する有望な選択肢だと思う.
この認証方法の仕組みは、ビデオを見れば一目瞭然です.

Tactile Passwords could stop ATM 'shoulder-surfing' - NewScientistTech (2006/10/06)

しかし、こういう技術を「ありがちだよな〜」と言うのは簡単だが、そう思ったアイデアがすでに既存のものかどうか、つまりそういうアイデアを実際に実現したシステムが本当に存在することを調査するのは「本当に」大変だ....これが簡単にできれば、どれだけの時間を別の作業に費やせることやら...

Posted by z at 05:50 PM

May 27, 2008

Paper: TALC: Using Desktop Graffiti to Fight Software Vulnerability

TALC: Using Desktop Graffiti to Fight Software Vulnerability,
Kandha Sankarapandian, Travis Little, W.Keith Edwards,
Proc. of the 26th annual SIGCHI conference on Human factors incomputing (CHI 2008), 'Am I Safe session', pp.1055-1064, (2008).
ACM Digital Library

簡単にいうと、自身が使っている計算機内に未パッチのソフトがあるかどうかをDesktop Imageに落書き風の文字で示すことで気づきを与える.という論文.TALCとはfor Threat Awareness, Learning and Controlの略.

パッと見た時は「それだけ?」と思ったが、読めば読むほど、なるほどな〜と読めるよい論文.興味のある人はぜひ論文中の図1を見ていただきたい.同じようなことを考えていただけに刺激になる論文でした

以下は、内容に関する走り書き

◆ Abstract
- ホームユーザにとって既知のソフトウェア脆弱性を知り対策をすることはまずます重要に
- しかし既存のup-to-dateはホームユーザには難しい
- TALC: ホームユーザがパッチを当てる作業を支援する
- パッチを当てる動機付けを与えるための"気づき"を与える
- 未パッチのソフトを探索し、その脆弱性に応じたいたずら書きをデスクトップ画像に描画
- ホームユーザはパッチを適用することでいたずら書きをきれいにする


◆ Introduction
- OSや種々のアプリケーションには様々な脆弱性があることは知られている.これらの多くはその修正方法が既に存在するにもかかわらず、多くのユーザはその存在や修正方法を知らない
- FirewallやAntiVirusを導入したとしても、ソフトウェアへのpatch適用はきわめて重要 <= Symantec
- 現状においては、OSだけでなく自身の計算機内に存在する全てのアプリケーションのパッチ適用もユーザの責任
- 種々の方法によるパッチ適用手段の存在がユーザによるパッチ適用を困難にしている
- 複数のベンダーやOSにわたったパッチ管理手法(全体論的なパッチ管理)がない
- まず、適用すべきパッチが存在することを気づかせる「気づき」を与える必要があるのでは?
- TALC: for Threat Awareness, Learning, and Control
- 出しゃばらず、一貫して視覚的なリマインダとして「気づき」を提供し、そのパッチの適用を促す
- そして対象とするソフトウェアに依存しないより簡単なパッチ適用の手段を提供する


◆ Related Works
- パッチ適用の改善を目指したシステムは、ベンダー特定のものかエンタープライズ向けしかない
- Windows UpdateやMac OS X software update: OSだけが対象
- ユーザが介在する必要なしにパッチを適用できるシステムは楽である一方で、ユーザが学習できないという欠点もある => 気づかせることが必要
- 自動でパッチを適用してしまうと、他のソフトウェアに悪影響を与える可能性もある
- やはり気付きが大事、脆弱性のあるソフトウェアが存在すること、そのパッチ適用による利点と問題点もユーザに通知した上で、パッチ適用の判断をさせるべき
- 対話的なツール => うっとおしく感じるようになる => Swich Offにしてしまう (すでに証明されている事実)
- しかし即座の判断が必要でないものであれば、対話的であっても良いという提案"attention manager"もある.文献[1]
- ということは、second taskとしてユーザとの対話性を持ちつつ、でもそれを完全に無視しないように十分な説明は必要だ
- エンドユーザには「対話性」と「積極性の導出」のバランスがとれたシステムが必要.そして過度の注意を必要としたり、集中している作業への集中を阻害しないような工夫が必要=>"calm notification".pop-upはうっとおしとユーザに感じさせるためダメ
- TALC: エンドユーザ向け、システム全体に渡ったpatch適用喚起システム、


◆ Description
- 未パッチの存在をデスクトップ上の"落書き"として提示.=> low-distractionアプローチ、constant, but gentle reminder
- 1つの脆弱性に1つの落書き.デスクトップ上の表示位置はランダム.
- 落書きの大きさは、その脆弱性の重大さ(severity)を表現


◆ Why Graffiti?
- 何故、いたずら書き => 多くの文化において、落書きは腐敗や脅威を伝えるものであると認識されているから
- 自分の好きな画像の上にいたずら書きが出現したら、多くのユーザはどうにかしようと思うだろう => patch適用の動機付け
- 他の視覚化表現も試したが今ひとつだった.
-- 弾痕: 暴力的すぎる、単なる脆弱性ではなく、活発な攻撃活動を連想させる
-- ゴミやがらくたの山: 腐敗(脆弱性)の表現としては適切かもしれないが、無視してしまいそう


◆ Determining and Presenting Vulnerabilities
- どうやって脆弱性があることを検知しているのか?
1. システム監査でインストールされている全ソフトウェアのバージョンを収集
2. NIST NVDデータベースを参照し、パッチの存在するソフトウェアの存在を確認
- 落書きの上にマウスカーソルがきたら、その脆弱性の詳細を表示
- 脆弱性の詳細はheuristicな方法により、簡潔な表現にする => home user向け
- わからないにしても、周囲の詳しい人に質問できる体制作り => 学習支援


◆ Repairing Vulnerabilities
- patch適用支援もする.
- 落書きをマウス右クリックし"fix the program"を選択すると、patchダウンロード先のWebページか対処を指示したWebページが開く
- TALCはpatchの在処を見つけるまでを支援.実際の適用作業は2つの理由によりユーザにまかせている
1. あまりにもバリエーションが多く、すべてのpatch適用作業の支援は困難
2. patch適用が適切かどうかはcontext依存.やはりユーザの判断をへた上で適用すべき


◆ Implementation
- 4つのモジュールによる実装.モジュール構成になっているので拡張は容易
- 以下の4つのモジュールがCommunication Managerによって関連づけられる(message passing)

- Information source Module: 計算機、ネットワークそしてプロセスからのイベントを検出し、XMLとして記録
- Correlation Module: Information source Moduleから得られた情報とNVDからの情報の関連付けを行う
- Visualization Module: 視覚化処理担当.落書きの他、ゴミ溜め表示そしてpop up表示も可能
- Control Module: ユーザの操作に対応する.patchのdownload、Webページを開くなど


◆ Evaluation
- 気づきの効果、patch適用作業への動機付けができるかを評価
- 2週間ユーザに使用させ、その間の操作を記録.使用前と使用後にアンケート調査
- 被験者は大学とは関係のない人を採用


◆ The Participants
- 10人が実験を完了、7人が実験を開始したものの、いくつかの理由により実験を辞めた
- 年齢層は23-35歳、平均は26歳.実験を完了した被験者は男性6名、女性4名
- 被験者が少ないが、実環境での評価を行いたかったためこうなった


◆ The Pre-test Questionnaire
- オンラインで実施
- 3+11+8の質問


◆ The Study


◆ The post-test questionnaire
- オンラインで実施
- pre-testと同じ内容の質問+13のTALCシステム関連の質問


◆ Results
◆ Events tracked
- 記録されたログから、イベントを5つのカテゴリに分類

- Awareness: 脆弱性を発見し、表示をし始めた
- Learning: 落書きをclickした、脆弱性の内容を見た、vendorのWebサイトを開いたなど
- Control(Fixed): patchを当てて、修正し、menuで"Already Fixed"を選択した場合
- Control(Ignore): Ignore buttonを押した時
- Re-appear: patchを当てたと申告したのに、再びその脆弱性が発見された場合

◆ Usage Patterns
- 多くのユーザは落書きが表示されてから2日以内に対処
- 60%は2日以内にpatchを適用したが、39%はまだ無視していた (後日に適用?)
- 気づきの効果はあるようだ.脆弱性の詳細をWeb検索で探すという行為がかなり見られた
- patch適用は数日毎に実施する傾向がある.=> 意図した通りにユーザを誘導できている(?)
- patchを公開しているWebサイトの説明が、patch適用の気をそいでしまう場合も多い

◆ Discussion
- ツールの有効性: 安全という感覚が増したか? そして実際の安全性が向上したか?
- 後者を重視、前者は目的に対しては実質上何の意味もないから.


◆ TALC Effectiveness
- 結果、その効果は明らか.patchの存在に対する気づきとその適用に対する動機付けができている
- ただしpatchを適用された脆弱性の数が多いように感じられる.これは1つのpatchで複数の脆弱性が修正されたためかもしれない
- 実験開始時には、平均で47.6個もの脆弱性を発見.最小は5個、最大は64個だった
- 全ての脆弱性にpatchを適用したユーザは一人もいなかった
- 482個の脆弱性が未パッチのままだったが、そのうちの208個は重大な脆弱性、88個が中程度の脆弱性、186個が脅威の度合いが低い脆弱性であった.
- 半数(50%)のユーザが、securityにおける修正は難しい作業だと回答.NVDのwebサイトのユーザビリティが低いため? NVDに掲載されている対応情報へのリンクが切れている場合もあった


◆ User Perceptions
- 33%のユーザがTALCの通知はうっとおしくないと支持.しかし、これは残りの多数のユーザが通知のうっとおしさに問題を感じていないということにもなる
- TALCをoffにしたユーザは、システムが遅くなったように感じたからと理由をあげた
- 7人中4人が感覚的な安全性が向上したと回答
- 実感としての安全性を向上させたとは言いがたいが、それまでは何の脆弱性にも気づいていないことを考えれば大きな前進であると考える


◆ Future Work
- near-term: TALC frameworkの拡張と大規模ユーザでの評価
- Vendorのwebサイトの解説記載の複雑さ=> patch適用処理をTALCに統合したい
- 別の抽象化された脆弱性情報Webサイトが必要
- patchのない情報の表示をfilteringする仕組み
- 他のセキュリティツールの機能を情報収集の機能として統合したい(Nmap, Nessus)


◆ Conclusion
- 即座にしなければならないものではないタスクの通知/動機付けにおいて、awarenessとannoyanceのバランス問題に対する一つの回答


□ 気になる参考文献
9,10,15,27,30

□ 若干気になる参考文献
1,18

Posted by z at 11:45 PM

May 24, 2008

CSEC41/SPT1にて論文発表

5/22,23に横浜で開催された情報処理学会 コンピュータセキュリティ研究会 (CSEC41/SPT1)で研究成果を発表しました.

タイトルは「画像認証に対して未利用者が受ける印象に関する調査」です

今回「情報セキュリティ心理学とトラスト研究グループ」が発足したとのことで、そういう場での議論としては適切かなという事で望みました.

質疑応答ではいくつかのご指摘をいただきました.それらの指摘は至極ごもっとで、あまりにも"ざっくり"とした調査だったなというのが最大の反省点でした.
この反省を基に今後もユーザの視点から見た認証システムの"見え方"を調査し、認証システムの将来を模索する上で参考になるようななんらかの要素/問題点を見いだせれば良いなと考えています.

-

なお今回の研究会にについての私的な感想

* 情報セキュリティ心理学とトラスト(SPT)研究グループの活動について

この時の発表資料が公開されています.この分野に興味のある人は是非一度見ておくべき資料だと思います.示唆に富むとともに、この研究グループの主たる領域が何かを知ることができます.理由の説明が大事なんだということを主張されていましたが、この言葉、育児に関する記事でも最近目にした言葉だなと思ったり.大人も子供も同じレベルか? なんて思いながら聞いていました.

* ネットワークタイムスタンプによるリモート仮想マシン検出

仕組みとしては非常に興味深いし、有効性も疑いがない.が、根本的な問題として「仮想マシンである = honeypotである」という点は常識として疑いの余地なしでよいのだろうか?という点が気になった. また仮に現状でそれは常識的な認識だとしても、今後Production Serverが仮想化によって集約されはじめた時、その有効性はどんどん低下してしまうのではないか? という点が個人的には気になる.個人的に知りたいのは、侵入を試みているサーバがhoneypotか正規のサーバかでであり、仮想マシンが稼働しているかどうかはその判断の一要素ではあるが本題ではないな〜とも思ったり.

他にもWebアプリケーションの脆弱性に対するツールやSQLインジェクションへの対策手法が提案されているが、そういったツールや対策が対象とするシステムや適用領域はそれなりに絞られてしまうのが現状なんだなというのを再認識した次第.
# もしかしてら誤解しているかも?

Posted by z at 11:43 PM

May 06, 2008

記事: 社会情報インフラの安全と信頼

「社会情報インフラの安全と信頼」
情報処理, Vol.49, No.4, 情報処理学会, Apr. 2008

概念紹介記事であるが、こういう概念があることを知るにはいい記事だと思った.
セキュリティ + 耐故障性(頑健性)という「ディペンダビリティ」の概念である

で、一番興味深い一節だったのは、

「ベストエフォート文化の浸透による生産者の責任を問えない体制」という節である.
説明によると、「ベストエフォートは生産性や利便性を高める効果があるが、同時にディペンダビリティを低下させる元にもなる」ということである.
この具体例としてインターネット接続速度やソフトウェアのサービス提供があげられていた.

Dependabilityについてより詳細に知りたければ、次の論文も読むとよいと参考文献に紹介されていた.

Avizienis, A., Laprie, J-C., Randell, B., Landwehr, C.:
Basic Concepts and Taxonomy of Dependable and Secure Computing,
IEEE Trans. on Dependable and Secure Computing, Vol.1, No.1, pp.11-33, (2004).

Posted by z at 01:56 AM

May 02, 2008

指紋を変える強者たち

日本に入国するために、指紋を変える強者がいるというニュースである

日本へ不法入国図る4人の指紋変造、手術した男逮捕…韓国 - 読売新聞 (2008/05/01)
日本不法入国へ指紋除去 韓国ブローカーら5人摘発 - 東京新聞 (2008/05/01)

韓国、米国、日本で発覚 「指紋切除」どんな手術か - J-CASTニュース (2008/05/01)
不法入国用に指紋変える、韓国で摘発 - TBS Newsi (2008/05/01)

セキュリティ関係のニュースと言ってもいいだろう.
「想像されることは現実に起きる」とはまさにこのことだ.
そのうち他の生体情報を変える(!)人も出てくるだろうか?

# 映画 007(ダブルオーセブン)では遺伝子を他人と入れ替えてしまうという敵役がいたストーリもあった気がする

Posted by z at 02:50 AM

May 01, 2008

論文: Incentive-Centered Design for Information Security

Rick Wash and Jeffrey K. MacKie-Mason,
Incentive-Centered Design for Information Security,
HotSec'06: 1st USENIX Workshop on Hot Topics in Security

論文は以下のURLから取得可能
http://hdl.handle.net/2027.42/49505 

以下は走り書き

◆ Abstract
- 人間はシステムにおけるSmart componentである
-- よって、その振る舞いを直接プログラムすることはできない
-- それを問題視するのではなく、むしろその自律性は設計要件として尊重されるべきであり、システムが望むような行動をするように動機付けすることが重要である
- しかしその動機付けを誤ると、システムの欠陥となり攻撃者に攻撃される脆弱性を生むこととなる
- Incentive-centered designとはこのような問題を理解し、その問題を軽減するような設計原理を与えることにある
- この設計手法がセキュリティ問題に対して有効であることを示す (screening model)

◆ Introduction
- motivated behavior: 動機付けの結果として得られている行動
-- パスワードをスクリーンに貼付ける
-- パッチを当てない
-- botnetのzombieになる
-- criticalと書かれたpatchしかあてない
- これらはmotivated behaviorの一種

- Incentive-Centered Design (ICD)
-- incentiveをユーザに与えることによって、システムの効率を改善するような振る舞いを行うように導くことを考慮する設計手法
-- ICDは具体的な設計指針を与えることに注力しているという点で他のeconomics of security(セキュリティの経済学(?))とは異なる

- 多くのICD研究は情報セキュリティにおいて以下の二つの問題に焦点を当ててきた
-- getting the good stuff in (望ましい行為が行われるように)
-- keeping the bad stuff out (望ましくない行為はしないように)

- 良い行いによって他人に発生した利益が、まわりまわって自分に埋め合わせされない...という状況
-- worm-throttleという仕組みがその一例.そのシステムはネットワークの境界に設置し、自身のsubnetに感染したwormが他のnetworkに感染しないようにする仕組み(と推測)
--- ということは、自分たちにメリットがあるわけではなく、自分以外の人たちにとってメリットが発生するシステム.よってシステム管理者はその導入を能動的には行わない

- ある人の行為によって他人に迷惑がかかるが、それによって迷惑を被る側に直接的なコストがほとんど発生しない場合
-- spywareは感染者に大きなコストをかけるわけではない(若干のCPUサイクルとnetworkリソースを使うだけ)、もちろん自身の個人情報が危険に晒される可能性はある.しかしspywareを流布する側にとっては、spyware自体が他の計算機に感染したり、個人情報を暴露することについてはコストがほとんどかからない
-- どうやったらこのような行為に対し、行為者にコストをかけられるようにできるのだろうか?

-- "良い行い"をシステム管理者が進んで行うようにするためにはどのようにシステムを設計すべきか?
-- 悪い行いを攻撃者がしないようするためには、どのようにその行為に対してコストがかかるように設計すべきか?
- ICDの目指すところはこのような振る舞いに対するincentiveを見つけ出すこと

◆ Incentive Problems in Security
◆ Getting the Good Stuff In
- (Labeling Vulnerabilities) 脆弱性のランク付け:
hidden information問題の一例.ベンダーは問題の詳細を把握している.しかし、それを正確に公開することは、製品に対する悪評判になるとともに、ベンダーに対してコストを発生させることになる.これは正直に申告することによって埋め合わせされるのかもしれない.しかしそのトレードオフゆにえ、ベンダーは脆弱性の緊急性を過小評価して発表することがある.
ICDの視点としてできることは、より詳細に脆弱性を発表し、ラベル付けをすることによってベンダーにもincentiveを与えることのできる評判サービスの設計であろう.

- Knowledge Worker
Principal agent問題の一例.雇用主と社員との間で生じる興味の違いに発生することがある問題.
知識労働者に対するincentiveは十分に注意を払う必要がある.
hidden action問題もある.セキュリティにおける望ましい行為というのは、その検証が難しい.よってそういった行為に対してincentiveが払われるのではなく、そういった行為につながる観察可能な行為(proxyの利用といったこと)にincentiveが払われてしまう.
ボーナス査定がセキュリティの問題を発見することより、プロジェクトの工期内での完了の方に重きがあった場合、誰がセキュリティ問題の指摘に奔走するだろうか?

- BotNet:
botnetに感染され、悪用されたとしても、悪用されているコンピュータユーザが困ることはほとんどない.
あったとしても少しシステムが不安定になるかネットワーク回線の反応が悪くなるだけで、それは他の外的要因のせいだと思い込める程度である.またそれを検知し、駆除することに対してメリットはない.むしろbotnetを検知した結果として必要となる作業(Operating Systemの再インストール)などを考えると、その方が負担が大きいと言える.

Botnetの攻撃により被害者となってもユーザが被るコストはほとんどない.
private provision of public goodsという問題.
これはシステム管理者が外部ネットへのワーム感染防止措置を行うことに対して、その動機がないのと同様の問題.
公的に良いと思われる行動を個々人に動機づけるために設計として何ができるのか? という問題

- Privacy-enhancing technologies:
プライバシー保護の目的で匿名性を与えるシステムは、多数の中継サーバにより成り立っている.
もちろんそのためには、自ら中継を進んで名乗り出るノードが多数必要になるが、これもその行為に対するincentiveがない.それどころかネットワークリソースをそのために提供し、かつそれ以外のリスクを被る可能性もある.
それゆえただ乗り(free-ride)の人が多くなってしまい、中継ノード不足になってしまう

◆ Keeping the Bad Stuff Out
- Spam
典型的なhiddden information問題.
spamかどうかを隠蔽し、技術的/人為的フィルタをかいぐぐらせ、受信者にメールを読ませることができる.
E-mailはbackdoorの一つでもある.E-mailを経由してvirusやtrojanが運ぶことができるから.

- Spyware
悪意のあるインストールプログラムは、まさにhidden action問題.
設計における対応策としては、期待していない振る舞いを発見したら、それを把握しておけるようにするか、incentiveによって望ましくない振る舞いを選別できるような仕組みの提供である.
それにより正規ユーザはその行為を不正なinstallerによるものと区別できるように操作するようになる.


◆ Screening
- keeping bad stuff out問題の1つは、
- 誰かがリソースを持っている
- ユーザがそのリソースにアクセスする権利を持っている
- が、それが正規のユーザか悪意のあるユーザかが見分けられない
-- ユーザが正規ユーザと悪意のあるユーザを知っているのなら、それはhidden information問題
- ...

◆ Discussion
- セキュリティ問題の多くは、少なくともそれを解決することについてユーザに対するincentiveがないという問題を抱えている
- 鍵となる洞察は、人間の振る舞いにある.
- 制約は問題を改善しない.ユーザに目的を持たせ、その目的を達成するために必要な振る舞いを選ばせるようにすることが重要
- これまでの情報セキュリティ対策は、悪いことをしないようにすること(Keep the bad stuff out)ばかりであった
- しかし、get the good stuff inには失敗している
- passwordはいい例.推測攻撃に強い長くて複雑なパスワードを使うことに対するincentiveは不十分
- それだけではなく、これからはさらにユーザが望ましい行為をするように動機付けのできるシステムが必要になってくる.
- 今後の課題は、"getting the good stuff in"問題のモデル化である.それによりこの種の問題に対する設計原理を提案する

◇ コメント
- 概念(思想)はよく理解できる
- これはSecurityに限らない気がする.公衆道徳や犯罪対策などにも適用できることではなかろうか?
- よく言われることだが、攻撃者にとってその作業は大変だが、正規のユーザにとっては簡単であるべき.
CAPTCHAはそれを既存のシステムよりもよりよいレベルで体現した例と言えるのでは
(人間にとっては簡単だが、攻撃botにとっては困難).
- これを設計段階でうまく取り入れられるようにすることが大切という理解.
- 個人的には、How toが欲しい.定説がないだろうにしても、サンプルがあってもいいかなと....

Posted by z at 11:10 PM