イベント / EVENT
平成21年度 第1回 Q&A
第1回 2009年6月11日(木)
攻撃に強いソフトウェアをいかにして作るか?
セキュリティとコンピュータ
吉岡 信和(国立情報学研究所 アーキテクチャ科学研究系 准教授)
講演当日に頂いたご質問への回答(全22件)
※回答が可能な質問のみ掲載しています。
誰が、何の目的で攻撃するのか。カネが目的なのか?だとすれば、誰がカネを出すのか
最終目的はお金であることが多いと思いますが、お金を得るために個人情報を取得したりクレジットカードの情報を盗んだりすることがシステムに対する攻撃者の直接的な行動になります。最終的には、クレジットカードや個人情報を売買する違法業者がお金を出すことになります。また、ウェブページを書き換えたりウイルスを配布する攻撃は、お金が目的でなく愉快犯であることもあります。
悪意のある攻撃のリストアップの方法(完全に人が作る?すでに何らかのスタンダードな攻撃のリストがある?)
コスト対リスクの評価方法(数式的なものに当てはめる?カン?)
攻撃を網羅的に考える手法には、攻撃の可能性をAND/ORの木構造で列挙するアタックツリーという手法があります。この場合、完全に攻撃を網羅することは難しいため過去の攻撃の実績をうまく利用することが鍵となります。
セキュリティ評価する場合に、現存する(過去に存在した)攻撃に対する評価は容易だと思うが、将来予想される攻撃に対する強さを評価することは可能なのか?
可能とすれば、なぜ可能になるのか?
CCに基づくセキュリティ評価においては、まずメカニズム側に存在する可能性のある公知脆弱性や、開発資料等から評価者が見つけ出す脆弱性を選びます。その上でこれらの脆弱性が顕在化しないレベルかどうかの分析、侵入テストを行います。侵入テストでは多くは既存の攻撃手法を適用しますが、場合によっては特殊な攻撃手法を考案して試行することもあります。
日本発、日本オリジナルセキュリティ技術はありますか?
暗号化方式に関していくつか日本オリジナルの技術があります。例えば日立が独自の暗号化方式を開発しています。
バイオメトリックス認証について
ディジタルコンピュータシステムを利用する限り、従来の英数字列の認証でしばしば起る人為的流出の可能性は、バイオメトリックス認証も破られる危険は同レベルにならないでしょうか。しかも個人が一生使える数は極めて少なく流出したら、管理責任側に、取り返しのつかない重大な責任を生じないでしょうか。
(今日の講義に含まれないかもしれませんが、セキュリティ問題の一環として)
バイオメトリックスを使った認証は、人体の特徴の一部を取り出し、かつ特別な関数で元の情報が分からなくしてから利用します。その情報が盗まれたとしても、特徴の取り出し方や関数の選び方を変えることで対応は可能です。しかし、指紋などの画像や映像をそのまま保存して流出させてしまった場合は、確かに取り返しのつかない責任問題になるでしょう。
保証したソフトが欠陥を持っていた場合、損害賠償はするのか。
ITセキュリティ評価認証制度では、「保証」を行うのは開発者であり、保証がCCの標準に適合しているかどうか評価するのが評価機関、この評価が妥当であるかを確認し認証を与えるのが認証機関です。本制度で、保証が認められたはずのソフトで事後に欠陥が発見された場合、制度上のしくみとして損害賠償に即応じるという仕組みではありません。
パソコンのソフトウェアで、セキュリティホールが見つかったので、それを修正する追加ソフトウェアをダウンロードしてインストールすることがあるが、なぜ、セキュリティ保証されたはずのソフトウェアにセキュリティホールが見つかるのか?
つまり、評価してもムダではないのか。
セキュリティ保証する対象範囲や保証レベルに基づき評価を行うので、その範囲やレベルを超えた欠陥については、評定外になります。また、セキュリティを脅かす外部環境は常に変化し、攻撃者も新たな攻撃方法を開発し、新しい脆弱性を探し出します。そのため、昨日まで悪用可能な脆弱性はなくリスクの低いソフトであったものが、新たな脆弱性の発見や攻撃方法の考案により、いきなりリスクが高くなることもあります。評価は現時点での専門家である第三者からみて、セキュリティの対策が十分妥当かを評定するものであり、その評価の過程で発見された不備を事前に対策していくことに、ひとつの意義があると考えられます。(ただし、上述のように、完全ではないことも確かです)
各保証レベル(EAL1~7)を達成するには、開発コストの何%程度をかける必要があるか?
一概にはいえませんが、開発プロセスがきちんと定義され、関連マニュアルや成果物構成が適切に管理されている場合、CCの保証レベル3程度までなら、比較的容易に対応可能ではと考えられます。EAL4以上の場合は、企画段階から体制や適用する手法を十分検討して保証を実現する必要があり、開発コストにも影響するものと考えます。
相手を知るために、参考になる書籍、Webサイト、レポート等あれば教えてください。
また、実際、攻撃に強いソフトウェアを作っている人は、どうやって情報収集しているのでしょうか?
攻撃のカタログが書籍として出版されたり、ウェブページに公開されています。ただし、そのようなウェブページにはウィルスが混入している可能性が高いのですので注意してください。
セキュリティの評価、認証を受けて、広く使用される頃には、当該セキュリティ技術は陳腐化していないのでしょうか。
暗号アルゴリズムなど、確率・順列的メカニズムとして実装された技術は、外部環境の変化(あらたな解読法の発見、コンピュータ技術の進歩など)により陳腐化(危殆化)する傾向がありますが、多くのセキュリティメカニズムは、適切に実装することで効果を持続することができます。ただし、セキュリティ上の大きな問題はなくても、その技術標準が別の標準がデファクトとなってしまうこともあるので、その場合は陳腐化という表現に近い状態になります。このようなケースがまったくないわけではありませんが、評価・認証は長くても1年程度の期間なので、「よくあるケース」というほどではありません。
日本におけるCC認証取得製品を具体的に知ることができるサイトは何か?
(メーカー等が自主的に製品サイトに表示をしているのか?)
認証機関であるIPA(情報処理推進機構)のセキュリティセンターのWebサイトから、日本のCC認証製品リストを参照することができます。
http://www.ipa.go.jp/security/jisec/certified_products/cert_list.html
同じように各国の認証機関のWebサイトからその国で認証を受けた製品リストを公開していますが、CCRAのWebサイトでは、相互承認の対象となる各国認証製品をまとめて参照することができます。
http://www.commoncriteriaportal.org/products.html
かつての食品等であった第三者評価の不適切な付与など、単純な第三者認証の仕組みはゆらいでいると感じる。(ブラックボックスであり、非当事者である第三者への不信)
この対策として、評価者が同時に保険を引き受ける等、準当事者化する仕組みがあるとよいと考えるが、いかがなものでしょうか?
コスト高となり、あまり現実的ではないように思います。事例が少ない中でもリスクは存在するので、その分評価が極めて高コストとなることが予想されます。残念ながらそこまでコストを負担してセキュリティ上安全な製品を選択されるという消費者ニーズは、今のところほとんどないのが実情かと思います。
規模によると思いますが、企業等が評価を受けるためのコスト、および評価のために準備するためのコストはどのくらいでしょうか?
CC評価を受ける場合、EALにもよりますが、数百万円から2、3千万円程度の評価費用になります。初回評価の場合、EAL1から2で、1千万円前後の評価案件が多い状況です。ただし、評価基準に見合う保証を実現するための開発者側の内部コストや、評価対応コストなどが評価費用とは別に必要となります。
システムの運用開始後のアップデートなどでセキュリティ品質が劣化するようなことがあると思います。このようなアップデート時のセキュリティ評価の仕組みがありますか。
セキュリティ評価を行う場合、セキュリティターゲット(ST)という文書を作成しますが、このSTの内容に影響しないアップデートであるなら、一度認証を得た製品に対して「影響分析書」を認証機関に提出し、セキュリティ保証が継続されていることを認める「保証継続」という仕組みがあります。この場合、評価機関による評価は行わず、保証の継続が認められ、認証と同等とみなされます。
メジャーなソフト(皆が使っているソフト)ほど狙われる。それはウィルス等の製作者側から見て、費用対効果が大きいから。
ならばマイナーなソフト(例えば、OSならリナックスとか、ワープロなら一太郎とか)を使えば狙われる機会が少ないが、利便性が低い。
どこで折り合いをつけるかが難しい。この点について講演者のお考えをお聞きしたい。
利便性を高めるために使い方やデータは共通化したり、いろいろなソフトでまねしたりしたほうがよいことがおおいでしょう。その場合、作り方のほうを独自にしておくことでひとつのウイルスで多くのソフトが一度に被害が合うリスクを下げることができます。つまりソフト側でもバリエーションがあることで選択肢も増え、リスクも分散できます。
コンピュータセキュリティは1回の被害のダメージが"10万人の"等大きく、リスクが大きいように思う。このため被害にあう前の守る点が重視されているようだが、これが使い勝手を落としている。
被害があっても「あまり」被害が出ない(1回100人位になる)等のダメージコントロールの設計などはあるのでしょうか?
攻撃に強いソフトウェアを被害を少なくするソフトウェアを設計することは可能です。そのひとつが暗号化です。たとえ、データが流出していても暗号が解けない限りは被害は拡大しません。
①ソフトウェアを作る視点とは異なる、パッケージを注文、購入する側から質問いたします。よい作り手を見分けるにはどうすればよいでしょうか。今回の資料のような取り組みを行っているかデベロッパーに尋ねることは有効でしょうか。
②サービスを提供する側にとっては、開発スピードが気になります。セキュリティ工学が開発スピードを遅くする事例はありますでしょうか。あるいは早期にサービスを開始し、運用しながらセキュリティを高める工学的手法はありますでしょうか。
①よい作り手はよくセキュリティを分析し、世の中のいろいろな被害状況を把握しているところになります。セキュリティに対してどういう分析を行い、どういう被害を想定して作っているか尋ねてみたらいかがでしょうか?
②セキュリティを考慮しながらソフトウェアを作る場合、一般的に考慮しない場合より開発コストはかさみます。例えばマイクロソフトのVISTAはセキュリティを強化したため開発期間がそれまでのOSよりも多くかかっています。早期にサービスを開始するためには、想定する被害を絞るか、被害が低いところから開始することが考えられます。想定できる被害を絞るために、利用するユーザや環境を制限する方法があります。被害を低くするためには、重要な業務に使わせないという手法があります。
CCのセキュリティターゲットは、開発者(だけでなく)と納入先の間で、話し合って決めるのですか?
対象物にもよりますが、いわゆる汎用のIT製品の場合、セキュリティターゲット(ST)は製品提供側(開発側)が独自に決定することができます。一方、専用製品の場合、納入先である顧客の具体的なセキュリティ要求を満たす必要がある場合は、セキュリティターゲットを顧客の了解を得て決定することになるかと思います。この場合、顧客側からプロテクションプロファイル(PP)が提示されれば、そのPPに従ったSTを作成することになります。
ソフトウェアのセキュリティや脅威はエンドユーザである一般の市民にはあまり関係がないことが多いですが、市民にとってセキュリティを意識する必要のある状態と(セキュリティが確保され)セキュリティを意識しなくても済む状態とどちらが社会として理想的と考えますか。
セキュリティを意識しなくてよい(攻撃者はいない)世界が理想世界だといえます。しかし、その実現は人間社会の永遠のテーマといってよいほど実現は困難であり、現実を以下に改善すべきかを考える必要があります。
便利とセキュリティのバランスというが本当?
便利なMacより、不便なWindowsの方が、セキュリティ上安全(といわれている)のはなぜ?
セキュリティと利便性は必ずしも相反するわけではなく、利便性を損なわないセキュリティもありえます。ただし、多くの場合、セキュリティはソフトウェアの使い方を制限することで実現するため、その分、利便性を下げます。例えば(秘)の文書を守ろうとすると、それを金庫に入れて鍵をかけることと同じことをソフトウェア上で実現します。そうすると、これまではどこでも自由に閲覧できた文書が鍵がなければ閲覧できなくなってしまいます。Macがセキュリティ上安全といわれている理由は、これまではWindowsよりもユーザが少なく、攻撃者も被害者も少なかった点が大きいかと思います。ただ、近年Webブラウザの機能などOSに依存しないソフトウェアを狙った攻撃が多くなっており、Macだから安全ということはなくなってきています。
パスワードを紙にメモするなとよく言われます。一方、パスワードを時々変更することを勧められます。
パスワードを正確に記憶できませんが、良い方法があれば教えてください。
パスワードを安全に管理するとよいでしょう。具体的にはパスワードを紙に書いて、他人が見られないように財布などに入れておくことが考えられます。さらに、そのときは一見パスワードと分からないように自己流の速記で書いておいたり、パスワードそのものではなくパスワードを連想する何か図や記号、数字を書いておくとさらに安全性は高まります。パスワードを管理するソフトウェアもあります。ただし、そのソフトウェアを使うにも(マスターパスワードといわれる)パスワードが必要になりますので、マスターパスワードを上記のように管理し、いろいろなサイトのパスワードをパスワード管理ソフトで管理するとよいでしょう。ただし、財布を落としたときのことを考えて、コピーを自宅の貴重品とともに置いておきましょう。
DRM(デジタルライツマネジメント)の中でCC認証を通っているものはありますか?ご存知でしたら。
特定の脅威から保護すべき資産があり、その保護メカニズムをITで実現する場合、CCで保証することが可能です。DRMについては、IPTVの関連などで第三者保証のニーズはでてくると考えていますが、今のところ認証取得の情報は得ていません。