JP2010176658A - レガシーアプリケーション用にコミュニティ検査済みセキュリティ機能を有効化するため方法およびシステム - Google Patents

レガシーアプリケーション用にコミュニティ検査済みセキュリティ機能を有効化するため方法およびシステム Download PDF

Info

Publication number
JP2010176658A
JP2010176658A JP2009284422A JP2009284422A JP2010176658A JP 2010176658 A JP2010176658 A JP 2010176658A JP 2009284422 A JP2009284422 A JP 2009284422A JP 2009284422 A JP2009284422 A JP 2009284422A JP 2010176658 A JP2010176658 A JP 2010176658A
Authority
JP
Japan
Prior art keywords
security function
security
rule
client
function enabling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009284422A
Other languages
English (en)
Other versions
JP5419673B2 (ja
Inventor
William E Sobel
イー ソーベル ウィリアム
Sourabh Satish
サティッシュ ソウラブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2010176658A publication Critical patent/JP2010176658A/ja
Application granted granted Critical
Publication of JP5419673B2 publication Critical patent/JP5419673B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】レガシーアプリケーション用のコミュニティ検査済みセキュリティ機能を有効化する。
【解決手段】クライアント110(1)〜110(Y)の例えば部分集合142にインストールされたクライアントモジュールは、サーバー130からのセキュリティ機能有効化ルールを受信し、実行することにより、レガシーアプリケーション用の少なくとも1つのセキュリティ機能を有効化する。クライアントモジュールは、有効化されたセキュリティ機能がレガシーアプリケーションの安定性、性能、または機能性に悪影響を与えるか否かを決定し、セキュリティ機能有効化ルールの影響を識別する情報をサーバーに伝える。サーバーは、この情報に基づいて、複数のクライアントシステム140にセキュリティ機能有効化ルールを公開するか否かを決定する。
【選択図】図1

Description

消費者および企業は、よくレガシーアプリケーションに信頼を置く。レガシーアプリケーションは、実績があり且つ安価であり、経験または作業手順の継続性を提供することができる。しかし、レガシーアプリケーションは、それらが動作するシステムの新機能を活用するための更新がなされないことがある。この新機能としては、レガシーアプリケーションにおけるセキュリティ突破、例えばヒープ破壊(コラプション)を防ぐことができる新しいセキュリティ機能がある。
たとえ、新しいセキュリティ機能がレガシーアプリケーションで有効となったとしても、その新しいセキュリティ機能がアプリケーションの機能性および安定性を妨げるかもしれない。アプリケーションベンダーが提供するレガシーアプリケーション毎の、新しいセキュリティ機能をそれぞれアプリケーションベンダーが検査するとしても、それはコスト的に負担となる。
本発明は、レガシーアプリケーションのためにコミュニティ検査済みセキュリティ機能を可能にするための方法およびシステムを意図する。
種々の実施例は、複数のコンピューティング装置上のクライアントモジュール、サーバー上のサーバーモジュール、およびそれらの間における相互作用について説明する。以下のより詳細な説明に記載されるように、これらモジュールを使用して、レガシーアプリケーションに対して遡及的にセキュリティ機能を可能にし、またこれらの新しいセキュリティ機能の導入が、レガシーアプリケーションの安定性、性能または機能性(包括的に「調子」と称する)に悪影響を与えるか否かを検査する。1つの例では、ユーザーのコミュニティ全体内でセキュリティ機能を有効化する前に、セキュリティ機能の初期検査を選択したユーザーの部分集合に対してレガシーアプリケーション用のセキュリティ機能またはセキュリティ機能の組合せを初めにシステムが検査することができる。もし、新しいセキュリティ機能が、ユーザーの部分集合でシステムにおけるレガシーアプリケーションの調子に悪影響を与えない場合、システムは、コミュニティ内におけるユーザー数を増加させるよう、そのセキュリティ機能の段階的公開を開始することができる。
例えば、上述のクライアントモジュールは、1)クライアントシステムにおけるレガシーアプリケーションの起動を識別し、2)このレガシーアプリケーション用のセキュリティ機能有効化ルール(例えばサーバーから受信した)を識別し、3)このセキュリティ機能有効化ルールを実行することによってレガシーアプリケーション用の少なくとも1つのセキュリティ機能を有効化するようプログラムすることができる。1つの実施例では、セキュリティ機能有効化ルールは、特定のレガシーアプリケーション用のセキュリティ機能またはその組合せを有効化することができる。
セキュリティ機能有効化ルールを実行した後に、クライアントモジュールはレガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を決定することができる。ある実施例では、クライアントモジュールは、1)セキュリティ機能有効化ルールを実行する前に、(例えばレガシーアプリケーションの性能または安定性を決定するための)第1アプリケーション調子評価を実施し、2)セキュリティ機能有効化ルールを実行した後に、第2アプリケーション調子評価を実施し、またつぎに3)第1アプリケーション調子評価と第2アプリケーション調子評価とを比較することにより、セキュリティ機能有効化ルールの影響を決定することができる。レガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を決定した後、クライアントモジュールは、この影響を識別する情報をサーバーに中継する(伝える)ことができる。
別の実施例では、サーバーモジュールは、1)クライアントモジュールを用いてユーザーのコミュニティを識別し、2)レガシーアプリケーション用のセキュリティ機能の初期検査を行うよう選択した、コミュニティ内のユーザーの部分集合を識別し、3)セキュリティ機能有効化ルールをその部分集合における少なくとも1つのクライアントシステムに転送するようプログラムすることができる。このとき、サーバーモジュールは、クライアントシステムにおけるレガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を識別する、部分集合内のクライアントシステムのうち少なくとも1つから調子に対する調子影響情報を受信することができる。つぎに、サーバーモジュールは、この調子影響情報を分析して、コミュニティ内の残りのユーザーに対してセキュリティ機能有効化ルールの段階的公開を開始するか否かを決定することができる。例えば、サーバーモジュールが、ユーザーの部分集合から受信した調子影響情報に基づいて、セキュリティ機能有効化ルールがアプリケーションの調子に悪影響を与えないと決定した場合、サーバーモジュールは、段階的により広いコミュニティにセキュリティ機能有効化ルールを展開し始めることができる。
段階的公開を開始する前または後に、サーバーモジュールが、少なくとも1つのクライアントシステムにおけるレガシーアプリケーションの調子に悪影響を与えることを示す調子影響情報を受信した場合、サーバーモジュールはセキュリティ機能有効化ルールの段階的公開を中止することができる。
上述した実施例のうち何れかによる特徴は、本明細書に記載する一般原理により互いに組合せて用いることができる。本発明の実施例は、先行技術に対して様々な利点を提供することができる。例えば、本明細書に記載する方法によれば、ユーザーは、本発明方法以外では有効化できない恐れがある新しいセキュリティ機能をレガシーアプリケーション上で動作させることを可能にする。本発明方法を使用するセキュリティベンダーには、他の方法よりも費用が少なくレガシーアプリケーション上で新しいセキュリティ機能を検査できるという、他の利点が得られる。これら実施例、特徴及び利点は、以下の詳細な説明を添付図面および特許請求の範囲と併せて読むことにより、より完全に理解することができるであろう。
添付図面は多くの例示的実施例を示し、明細書の一部をなす。以下の記載とともに、これら図面は本発明の様々な原理を提示しまた説明する。
レガシーアプリケーション用のコミュニティ検査をしたセキュリティ機能を有効化するための例示的なシステムのブロック図である。 レガシーアプリケーション用のコミュニティ検査をしたセキュリティ機能を有効化するための、コンピュータで実現する例示的な方法のフローチャートである。 少なくとも1つの実施例により実施される例示的な調子評価の結果を示すブロック図である。 他の実施例によるレガシーアプリケーション用のコミュニティ検査をしたセキュリティ機能を有効化するための、コンピュータで実現する例示的な方法のフローチャートである。 説明および/または図示される実施例のうち1つ以上を実現することができる例示的なコンピューティングシステムのブロック図である。 説明および/または図示される実施例のうち1つ以上を実現することができる例示的なコンピューティングシステムのブロック図である。
全ての図面にわたり、同一の参照符号および説明は、同一とは限らないが同様の構成要素を示す。本明細書に記載する例示的な実施例は、様々な変更形態および代替形態とすることができるが、本明細書では特定の実施例を、図面につき詳細に説明する。しかし、本明細書に記載する例示的実施例は、特定の開示形態に限定することを意図するものではない。むしろ、本発明は、全ての変更形態、代替形態および等価形態は添付書類の特許請求の範囲に含まれる。
本発明の実施例は、レガシーアプリケーション用のコミュニティ検査を経たセキュリティ機能を有効化するための様々な方法およびシステムを提供する。上述したように、サーバーは、あるセキュリティ機能を検査するようクライアントのある部分集合に命令し、また後でクライアントのコミュニティ全体にこれらの設定を公開することができる。添付図面はこのことを達成するための方法およびシステムを示す。図1は、ネットワークにわたる複数のクライアントに接続したサーバーを示す。図2は、クライアント上に存在するクライアントモジュールによって実施することができるステップを示す。図4は、サーバー上に存在するクライアントモジュールによって実施することができるステップを示す。
図1は、レガシーアプリケーション用のコミュニティ検査をしたセキュリティ機能を有効化するための例示的なシステム100のブロック図である。この図に示すように、例示的なシステム100は、ネットワーク120を介して複数のクライアントシステム140と通信するサーバー130を備える。
クライアントシステム140(クライアント110(1)〜110(Y)により構成する)は、クライアント側コンピューティング装置の任意のタイプまたは形式を全般的に表す。クライアントシステム140の例としては、以下のものに限定しないが、ラップトップコンピュータ、デスクトップコンピュータ、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤー、組込み型システム、図5に示すのと同一の例示的なコンピューティングシステム510の1つもしくはそれ以上の組合せ、または、任意な他のコンピューティング装置がある。同様に、サーバー130は、任意なタイプまたは形式の中央集中型またはサーバー側コンピューティング装置を全般的に表す。
ネットワーク120は、通信またはデータ転送を容易化することができる任意の媒体またはアーキテクチャを全般的に表す。ネットワーク120の例としては、以下のものに限定しないが、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、インターネット、電力線通信(PCL)、携帯電話網(例:GSMネットワーク)、図5に示す例示的なネットワークアーキテクチャ550等がある。ネットワーク120は、ワイヤレスまたは有線の接続を用いて通信またはデータ転送を容易化することができる。ある実施例では、ネットワーク120は、クライアント110(1)〜110(Y)からなる、クライアントシステム140とサーバー130との間の通信を容易化することができる。
1つの例では、サーバーモジュールを、サーバー130にインストールすることができる。同様に、クライアントモジュールを、クライアント110(1)〜110(Y)の各々にインストールすることができる。これらモジュールは、本明細書に記載するステップのうち1つ以上を実施することができる、任意のモジュール、アプリケーション、またはコンピュータ実行可能コードとすることができる。さらに、これらモジュールの1つまたはそれ以上を、サーバー130とクライアント110(1)〜110(Y)との間で共有することができ、このことは、同一モジュールを、単独使用目的とした個別デバイス上で同時に動作するよう構成することを意味する。
図2は、レガシーアプリケーション用のコミュニティ検査済みセキュリティ機能を有効化するための、例示的なクライアント側方法200のフローチャートである。この図に示すように、クライアント側モジュールは、ステップ202で、クライアントシステムにおけるレガシーアプリケーションを識別する。例えば、図1のクライアント110(1)に記憶され、動作するよう構成したクライアントモジュールは、クライアント110(1)におけるレガシーアプリケーションを識別することができる。
クライアントモジュールは、種々の方法でステップ202を実施することができる。1つの例では、クライアントモジュールは、クライアントシステムにおけるレガシーアプリケーションのリストを生成する、またはこのリストにアクセスすることができるようにする。他の例では、クライアントモジュールは、起動時にアプリケーションを点検し、またリストを参照して、アプリケーションメタデータを分析する、またはサーバーからの情報を要求することによって、そのアプリケーションがレガシーアプリケーションであることを決定することができる。
ステップ204で、クライアントモジュールは、レガシーアプリケーション用のセキュリティ機能有効化ルールを識別することができる。例えば、図1に示すクライアント110(1)におけるクライアントモジュールは、ステップ202で識別されたレガシーアプリケーション用のセキュリティ機能有効化ルールを識別することができる。上述したように、セキュリティ機能有効化ルールは、特定レガシーアプリケーション用のセキュリティ機能またはそれらの組合せを有効化するための、任意なタイプもしくは形式のファイル、モジュール、または他のコンピュータ読取り可能命令とすることができる。セキュリティ機能有効化ルールを有効化できるセキュリティ機能および設定の例としては、以下のものに限定しないが、特定のレガシーアプリケーションに対して権利を無効化する能力(例えば、レガシーアプリケーションが決して利用しない権利のリストを特定化することによる)、特定のレガシーアプリケーションに対するヒープ破壊(コラプション)のプロセスを停止させる能力、または、任意な他のセキュリティ機能がある。
クライアントモジュールは、様々な方法でステップ204を実行することができる。1つの例では、(上述のように、図1に示すクライアントシステム140のうち1つに記憶され、また動作するよう構成した)クライアントモジュールは、図1に示すサーバー130のような、サーバーからのセキュリティ機能有効化ルールを受信することができる。他の例では、クライアントモジュールは、クライアントシステムに記憶またはロードされた1つ以上のセキュリティ機能有効化ルールを識別することができる。この例では、クライアントモジュールは、レガシーアプリケーションを識別する際に、そのレガシーアプリケーションに関連付けられたクライアントシステムに記憶された少なくとも1つのセキュリティ機能有効化ルールを識別することができる。
ステップ206にて、クライアントモジュールは、セキュリティ機能有効化ルールを実行することにより、レガシーアプリケーション用の少なくとも1つのセキュリティ機能を有効化することができる。例えば、図1に示すクライアント110(1)におけるクライアントモジュールは、ステップ204で識別したセキュリティ機能有効化ルールを実行することにより、ステップ202で識別したレガシーアプリケーション用のセキュリティ機能を有効化することができる。
クライアントモジュールは、様々な方法でステップ206を実行することができる。1つの例では、クライアントモジュールは、クライアントシステム上で利用可能なセキュリティ機能を有効化させるレガシーアプリケーションのコードに命令を注入することができる。例えば、クライアントシステムは、オペレーションシステムとしてMICROSOFT VISTA(登録商標)を用いることができ、セキュリティ機能有効化ルールはレガシーアプリケーション用のヒープ破壊(コラプション)を停止することができる。この例では、クライアントモジュールは、起動時にHeapSetInformation関数をレガシーアプリケーションコード内に注入して、そのレガシーアプリケーションに作用してヒープコラプションを停止することができるようにする。
他の例では、クライアントモジュールは、1)レガシーアプリケーションの起動を識別し、2)レガシーアプリケーション用のセキュリティ環境設定を検索し、3)セキュリティ機能有効化ルールによって特定されるようなセキュリティ環境設定におけるセキュリティ機能を有効化することによって、レガシーアプリケーション用のセキュリティ機能を有効化する。
ステップ208にて、クライアントモジュールは、セキュリティ機能有効化ルールがレガシーアプリケーションの調子に影響を与えるか否かを決定することができる。言い換えると、クライアントモジュールは、有効化されたセキュリティ機能がレガシーアプリケーションの安定性、性能、または機能性に悪影響を与えるか否かを決定することができる。例えば上述の例で、レガシーアプリケーションが一時的なヒープコラプションを引き起こす実害のないエラーを生じた場合、ヒープコラプション停止を実行することで、レガシーアプリケーションを使用不能にすることができる。この例では、クライアントモジュールはセキュリティ機能有効化ルールがレガシーアプリケーションの調子に悪影響を与えたと決定することができる。
クライアントモジュールは、様々な方法でステップ208を実行することができる。1つの例では、クライアントモジュールは、1)セキュリティ機能有効化ルールを実行する前に第1アプリケーション調子評価を実施し、2)セキュリティ機能有効化ルールを実行した後に第2アプリケーション調子評価を実施し、ついで3)第1および第2のアプリケーション調子評価を比較してセキュリティ機能有効化ルールがアプリケーションの調子に悪影響を与えるか否かを決定する、ことによって、セキュリティ機能有効化ルールがレガシーアプリケーションの調子に悪影響を与えるか否かを決定することができる。
本明細書に用いられる用語「アプリケーション調子評価」は、アプリケーションの調子を決定するのに用いる任意のタイプまたは形式の評価について全般的に言及する。アプリケーション調子評価の例としては、以下のものに限定しないが、性能評価(アプリケーションの様々な局面における性能、例えばメモリ使用量、CPU使用量、およびページフォルトを測定する)、および安定性評価(例えば、アプリケーションが遭遇するエラーの数を測定することによってアプリケーションの安定性を測定する)がある。図3は、このような2種類のアプリケーション調子評価の結果を示す。この図に示すように、第1アプリケーション調子評価300および第2アプリケーション調子評価320は、それぞれ、安定性指数302,322および性能指数312,322を有する。
ある実施例では、安定性指数302,322は、複数の安定性メトリクス304,324と、これらメトリクスの各々における結果306,326とを有する。安定性メトリクス304,324は、アプリケーションの安定性を測定するのに用いられる任意のタイプまたは形式のメトリクスを全般的に表す。安定性メトリクスが測定する値の例としては、以下のものに限定しないが、オペレーティングシステムエラー(例えば、ブルースクリーンエラー)、アプリケーションエラー(例えば、アプリケーションのハングまたはフリーズ)、サービスエラー、デバイスドライバエラー、システムアップタイム、システムリブート(例えば一日あたりのシステムリブート回数)がある。図3に示す例では、安定性指数302,322は、評価期間中にクライアントモジュールが識別するブルースクリーンエラーの平均回数、識別したサービスエラーの平均回数、識別したアプリケーションエラーの平均回数を列挙している。ある実施例では、これらのエラーのうち1つ以上が、ステップ206で実行されたセキュリティ機能有効化ルールによって生ずることがある。
安定性指数302,322と同様に、性能指数312,332は、複数の性能メトリクス314,334およびこれらメトリクス毎の結果316,336を有する。性能メトリクス314,334は、アプリケーションの性能を測定するのに用いられる任意のタイプまたは形式のメトリクスを全般的に表す。性能メトリックが測定する値の例としては、以下のものに限定しないが、CPU使用量、ページフォルト、ネットワーク使用量、およびメモリ使用量がある。図3に示すように、安定性メトリック304,324および性能メトリック314,334の結果306,316,326,336は、移動平均、最大・極大値、増分値、または他の任意の適切な方法を用いて表すことができる。図3に示す例では、性能指数312,332は、評価期間中におけるアプリケーションの最大および平均のCPU使用量、評価期間中におけるアプリケーションによる最大および平均のページフォルト、評価期間中におけるアプリケーションにより送受信されたIPデータグラムを列挙する。
上述のように、クライアントモジュールは、第1アプリケーション調子評価を比較することにより、セキュリティ機能有効化ルールがアプリケーションの調子に影響を与えるか否かを決定することができる。例えば、クライアントモジュールは、図3に示す第1調子評価300の結果を第2調子評価の結果と比較して、レガシーアプリケーション用のセキュリティ機能有効化ルールによって有効化されるセキュリティ機能(又はセキュリティ機能の組合せ)がレガシーアプリケーションの調子に悪影響を与えるか否かを決定することができる。
レガシーアプリケーションの調子に対する有効化したセキュリティ機能の影響は、いろいろな方法で表現または定量化できる。ある実施例では、例えば図3に示す調子影響スコア340などの、1つ以上の調子影響スコアは、第1調子評価300および第2調子評価320の結果に基づいて計算することができる。図3に示すように、調子影響スコア340は、クライアントシステムにインストールしたレガシーアプリケーションの安定性(安定性影響テーブル342に示される結果によって表現される)および性能(性能影響テーブル346に示される結果によって表現される)に対して与える、有効化または投入されたセキュリティの影響を表現することができる。例えば、安定性影響テーブル342の結果は、レガシーアプリケーション用のセキュリティ機能(またはセキュリティ機能の組合せ)を有効化した後に、ブルースクリーンエラー、サービスエラー、および/またはアプリケーションエラーの増大率が存在するか否かを提示する。同様に、性能影響テーブル346の結果は、セキュリティ機能を有効化した後に、CPU使用量、メモリ使用量、ページフォルト、および/またはネットワーク使用量の増大率が存在するか否かを提示している。
例えば、図3の安定性影響テーブル342に示される結果は、セキュリティ機能を有効化した後に、システムが経験するサービスおよびアプリケーション関連のエラーの平均回数が50%増加することを提示している。同様に、性能影響テーブル346に示される結果は、セキュリティ機能を有効化した後に、平均CPU使用量(78.226%)、最大CPU使用量(87.9130%)、平均ページフォルト回数(74.1440%)、最大ページフォルト回数(75.3433%)、最大IPデータグラム回数(11.1111%)の著しい増大が存在することを提示している。
少なくとも1つの実施例では、安定性影響テーブル342に示される結果の平均をとることによって、有効化したセキュリティ機能に対する平均安定性影響スコアを計算することができる(図3に示す例では、平均安定性影響スコアは−33.3333%となった)。同様に、性能影響テーブル346に示される結果の平均をとることにより、有効化したセキュリティ機能に対する平均性能影響スコアを計算することができる(図3に示す例では、平均性能影響スコアは−55.5109%となった)。平均安定性影響スコアと平均性能影響スコアとの平均をとることにより、有効化したセキュリティ機能に対する全体的調子影響スコアを計算することができる(図3に示す例では、全体的調子影響スコアは−44.4421%となった)。
図2に戻って説明すると、ステップ210では、クライアントモジュールは、レガシーアプリケーションのセキュリティ機能有効化ルールの影響を識別する情報をサーバーに伝える。例えば、図1におけるクライアントシステム110(1)に記憶したクライアントモジュールは、ステップ206で実行したセキュリティ機能有効化ルールにより有効化したセキュリティ機能が、どのようにしてレガシーアプリケーションの性能および/または機能性に影響を与えるかを評価することに関連する情報をサーバー130に送信することができる。ある例では、この情報(本明細書では「調子影響情報」とも称する)は、例えば図3の調子影響スコア340などの、調子影響スコアを表すまたは基づくものとすることができる。図2のステップ210が完了する際に、例示的な方法200を終了することができる。
上述のように、有効化したセキュリティ機能によるレガシーアプリケーションの調子に対する潜在的影響は、いろいろな方法で表現され、または定量化されることができる。図3に示す調子評価および結果は、信頼できる詳細度で示すとともに、レガシーアプリケーションの調子に対する有効化したセキュリティ機能の潜在的影響を、任意な多数の経験則、公式、または方法を用いて計算することができる。
さらに、図2のステップ202〜210の1つ以上を、ローカルシステム(例えば図1のクライアントシステム140および/または図5のコンピューティングシステム510)、リモートシステム(例えば図1のサーバー130および/または図6の例示的なネットワークアーキテクチャ600の一部)、またはこれらの組合せによって実施することができる。例えば、ローカルシステム(例えば図1のクライアントシステム110(1)および/または図5のコンピューティングシステム510)が、ステップ208で、第1調子評価の結果を第2調子評価の結果と比較して、レガシーアプリケーションの調子に対する有効化したセキュリティ機能の影響を決定することができる。
代案として、リモートコンピューティングシステム(例えば図1のサーバー130および/または図6の典型的ネットワークアーキテクチャ600の一部)が、ステップ208で第1調子評価の結果を第2の調子評価の結果と比較して、レガシーアプリケーションの調子に対する有効化したセキュリティ機能の影響を決定することができる。例えば、図1のクライアントシステム110(1)は、第1および第2の調子評価の結果を、レガシーアプリケーション用に計算したチェックサムまたはハッシュ値とともに、図1のサーバー130に送信することができる。ある実施例では、図1のクライアントシステム110(1)が、クライアントシステムにおける各レガシーアプリケーションを識別するサーバー130にリストを送信することもできる。このとき、サーバー130は、第1調子評価の結果を第2調子評価の結果と比較して、レガシーアプリケーションの調子に対して有効化したセキュリティ機能が影響を与えるか否かを決定することができる。例えば、サーバー130は、第1調子評価の結果を第2の調子評価の結果と比較して、有効化したセキュリティ機能に対して1つ以上の調子影響スコア(例えば図3の調子影響スコア340)を計算することができる。この後、サーバー130は調子影響スコアの結果をデータベースに格納することができる。
図2には示さないが、ある実施例では、クライアントモジュールはレガシーアプリケーション用のセキュリティ機能有効化ルールを無効化する命令を、図1のサーバー130から受信することができる。例えば、サーバー130は、調子影響情報に基づいて、セキュリティ機能有効化ルールがレガシーアプリケーションの性能および/または安定性を低下させる恐れがあることを決定することがあり得る。このとき、サーバー130は、レガシーアプリケーション用のセキュリティ機能有効化ルールを無効化する命令をクライアントモジュールに送信することができる。その命令を受信する際に、クライアントモジュールは、レガシーアプリケーション用のセキュリティ機能有効化ルールを無効化することができる。
さらに、ある実施例では、図2の例示的な方法200は、セキュリティ機能有効化ルールの初期検査選択するユーザーからのリクエストを識別するステップを設けることができる。例えば、図1のクライアントシステム110(1)におけるクライアントモジュールは、クライアントシステム110(1)のユーザーに対して、例えば図1のサーバー130などの、サーバーまたはバックエンドに使用データが報告されるという理解の下に、クライアントシステム110(1)にインストールされている1つ以上のレガシーアプリケーションにおける新しいセキュリティ機能を有効化することの選択肢を提示することができる。以下に詳細に説明するように、サーバー130はこの使用データを分析して、レガシーアプリケーション用の特定セキュリティ機能をユーザーの大きなグループに段階的公開を開始するか否かを決定することができる。
図4は、レガシーアプリケーション用のコミュニティ検査済みセキュリティ機能を有効化するため例示的なサーバー側の方法400のフローチャートである。この図に示すように、ステップ402で、サーバーモジュールは複数のクライアントシステムを識別することができる。少なくとも1つの実施例では、この複数のクライアントシステムは、レガシーアプリケーション用のコミュニティ検査済みセキュリティ機能をサーバーから受信する1組のクライアントのセットを表す。例えば、図1のサーバー130上で動作するように記憶しまた構成したサーバーモジュールは、クライアント110(1)〜110(Y)からなる、図1の複数のクライアントシステム140を識別することができ、これらクライアント110(1)〜110(Y)には、図2に関連して説明したクライアントモジュールをインストールしておく。
サーバーモジュールは、いろいろな方法でステップ402を実施することができる。1つの例では、サーバーモジュールは、クライアントモジュールをインストールしたクライアントシステムのリストにアクセスし、このリストをメモリにロードすることができる。他の例では、サーバーモジュールはクライアントシステム(例えば図1のクライアントシステム140)から、上述のクライアントモジュールがインストールされているとしてそのクライアントシステムを識別する情報を受信することができる。
ステップ404で、サーバーモジュールは、複数のクライアントシステムの部分集合を識別することができる。1つの例では、この部分集合の各クライアントシステムは、レガシーアプリケーション用のセキュリティ機能を検査するように指名されている。例えば、図1のサーバー130上のサーバーモジュールは、クライアント110(1)〜110(Y)からなる、クライアントシステム140の部分集合142を識別することができる。この例では、部分集合142は、段階的公開の前にまたは段階的公開の一部として、レガシーアプリケーション用のセキュリティ機能を検査するように指名されたコミュニティ内のクライアントシステムの部分集合を表すものとすることができる。例えば上述のように、ある実施例では、クライアントシステムのユーザーはセキュリティ機能の初期検査を選択することができる。この例では、このユーザーのクライアントシステムは、この場合部分集合142に属する。この部分集合は、セキュリティ機能有効化ルールをサーバーから受信するように選択したコミュニティ内における全ユーザーのわずか0.1%を表すことができる。
サーバーモジュールは、いろいろな方法でステップ404を実行することができる。1つの例では、サーバーモジュールはセキュリティ機能の初期検査を選択したクライアントシステムのリストにアクセスすることができる。他の例では、サーバーモジュールは、セキュリティ機能の初期検査を選択したクライアントシステムを識別する情報をクライアントシステム(例えば図1のクライアントシステム140など)から受信することができる。
ステップ406では、サーバーモジュールは、セキュリティ機能有効化ルールを、ステップ404で識別した部分集合のうち少なくとも1つのクライアントシステムに送信することができる。例えば、図1のサーバー130に記憶されたサーバーモジュールは、部分集合142内の少なくとも1つのクライアントシステムに命令を送り、特定レガシーアプリケーション用の特定セキュリティ機能またはセキュリティ機能の組合せを有効化することができる。
サーバーモジュールは、いろいろな方法でステップ406を実行することができる。1つの例では、サーバーモジュールは、図1のサーバー130上のネットワークインタフェースカードにアクセスし、セキュリティ機能有効化ルールを部分集合142内のクライアント(例えばクライアント110(X))にネットワーク120を介して送信することができる。
異なる例では、サーバーモジュールは、当該ルールを第2サーバーに送信することにより、当該ルールをクライアントシステムに送信することができる。例えば、サーバー130はセキュリティ機能有効化ルールを第2サーバーに送信することができる。このとき第2サーバーは、セキュリティ機能有効化ルールを含むよう、クライアントシステム用のセキュリティ更新ファイルを変更することができる。つぎに第2サーバーは、ネットワーク120を介してクライアントシステムにセキュリティ更新ファイルを送信することができる。
セキュリティ機能有効化ルールを部分集合内のクライアントシステムに送信した後、ステップ408にて、サーバーモジュールは、クライアントシステムにおけるレガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を識別する調子影響情報をクライアントシステムから受信することができる。言い換えると、サーバーモジュールは、セキュリティ機能有効化ルールがレガシーアプリケーションの性能を不安定にするまたは悪影響を与えるか否かを示す情報をクライアントシステムから受信することができる。例えば、サーバーモジュールは、セキュリティ機能を有効化した後にレガシーアプリケーションの調子が低下することを示す、−10%という調子影響スコア(例えば図3の調子影響スコア340)をクライアントモジュールから受信することができる。サーバーモジュールは、レガシーアプリケーションのクラッシュレポート、またはレガシーアプリケーションまたはクライアントシステムの機能性または性能の低下を示す別タイプのエラーレポート(例えば図3のアプリケーション調子評価300,320)を受信することができる。
1つの実施例では、サーバーモジュールは、ステップ408で受信した調子影響情報を集合しまた記憶することができる。例えば、サーバーモジュールは、クライアントシステムの部分集合から受信した調子影響スコアに基づいて、セキュリティ機能有効化ルール用の調子影響スコアを計算して記憶することができる。1つの例では、サーバーモジュールは、この調子影響スコアを移動平均として記憶することができる。
つぎに、ステップ410で、サーバーモジュールは、ステップ408で受信した調子影響情報に基づいて、他のクライアントシステムにセキュリティ機能有効化ルールを公開するか否かを決定することができる。言い換えると、ステップ408で受信した調子影響情報が悪影響を示さない場合(例えば、少なくとも1つのクライアントシステムからレガシーアプリケーションの調子に悪影響を与えないことを示すセキュリティ機能の調子影響スコアをサーバーが受信した場合)、サーバーモジュールは、セキュリティ機能有効化ルールを、ステップ402で識別した複数のクライアントシステム内における他のクライアントシステムに公開することを決定することができる。
サーバーモジュールは、いろいろな方法でステップ410を実行することができる。1つの例では、サーバーモジュールは、1つのクライアントシステム(例えば部分集合142内のクライアント110(X)など)からセキュリティ機能有効化ルールがレガシーアプリケーションに悪影響を与えないことを示す調子影響情報を受信することができる。この例では、サーバーモジュールは、セキュリティ機能有効化ルールをクライアントシステム140内のより大きなクライアントシステムの部分集合に公開することを決定することができる。
別の例では、サーバーモジュールは、ステップ404で識別した部分集合内の複数のクライアントシステムから調子影響情報を受信することができる。例えば、サーバー130は、部分集合142のクライアント110(XX〜110(Y)の各々から調子影響情報を受信することができる。この例では、サーバーモジュールは、セキュリティ機能有効化ルールが部分集合142内のクライアントにおけるレガシーアプリケーションの調子に平均して悪影響を与えるか否かを決定することができる。例えば、サーバーモジュールは、部分集合142内のクライアントからの調子影響情報に基づいて、セキュリティ機能有効化ルールのための平均調子影響スコアを計算することができる。この例では、セキュリティ機能有効化ルールが部分集合142内のクライアントにおけるレガシーアプリケーションの調子に平均して著しい悪影響を与えないことを平均調子影響スコアが示す場合、サーバーモジュールは、セキュリティ機能有効化ルールをクライアントシステム140の残りに公開することを決定することができる。
他の実施例では、セキュリティ機能有効化ルールが部分集合142内のクライアントシステムにおけるレガシーアプリケーションの調子に悪影響を与えないことをサーバーモジュールが判断した場合、サーバーモジュールは、他のクライアントシステムへのセキュリティ機能有効化ルールの段階的公開を開始することができる。上述したように、段階的公開とは、セキュリティ機能有効化ルールを徐々により広く配給することを表することができる。例えば、セキュリティ機能有効化ルールがレガシーアプリケーションの調子に悪影響を与えないことを、クライアントシステムの部分集合から受信する調子影響情報が示す場合、サーバーはセキュリティ機能有効化ルールを受信するクライアントシステムの集合を徐々に広げ、その間継続的に、これらの追加クライアントシステムからの調子影響情報を受信して監視することができる。例えば、サーバーは、セキュリティ機能有効化ルールをコミュニティ内のクライアントシステムの次第により広い部分集合へ公開することができ、例えば、コミュニティのユーザーの1%から開始して、2%、5%、10%、20%、50%へと徐々に増加させ、最終的に100%に増加させることができる。
セキュリティ機能有効化ルールがレガシーアプリケーションの調子に悪影響を与えないことを示す調子影響情報をサーバーが受信する限り、サーバーはセキュリティ機能有効化ルールを徐々に公開することを継続する。しかし、セキュリティ機能有効化ルールがレガシーアプリケーションの調子に著しい悪影響を与えることを示す調子影響情報をサーバーが受信した場合、サーバーは段階的公開を中止することができる。例えば、上述のように、サーバーモジュールはコミュニティ内のクライアントシステムから受信した調子影響情報に基づいて、セキュリティ機能有効化ルールのための調子影響スコアの移動平均を生成することができる。セキュリティ機能有効化ルールをユーザーのより大きい部分集合へ公開する上で、調子影響スコアが容認できない程の低下をサーバーモジュールが測定した場合(例えば、セキュリティ機能有効化ルールのための調子影響スコアが0から−55%へ低下した場合)、サーバーモジュールは段階的公開を中止することができる。
上述のように、本明細書に説明したシステムおよび方法は、セキュリティベンダーがレガシーアプリケーション用のセキュリティ機能を容易に検査することを可能にする。セキュリティ機能を段階的基準で公開することにより、セキュリティベンダーは、セキュリティ機能を全コミュニティに配布する前に、ユーザーの小さい部分集合の中でレガシーアプリケーションの調子に対するセキュリティ機能の影響を安全に検査することができる。
図5は、本明細書に記載および/または説明した実施例の1つ以上を実現することができる例示的なコンピューティングシステム510のブロック図である。コンピューティングシステム510は、シングルまたはマルチプロセッサのコンピューティングデバイス、またはコンピュータ読取り可能命令を実行することができるシステムを広義に表す。コンピューティングシステム510の例としては、以下のものに限定しないが、ワークステーション、ラップトップ、クライアント側端末、サーバー、分散型コンピューティングシステム、携帯端末、または他の任意なコンピューティングシステムもしくはデバイスがある。最も基本的な構成では、コンピューティングシステム510は少なくとも1個のプロセッサ514およびシステムメモリ516を備えることができる。
プロセッサ514は、データ処理または命令を機械言語翻訳および実行することができる任意なタイプまたは形式の処理ユニットを全般的に表す。ある実施例では、プロセッサ514は、ソフトウェアアプリケーションまたはモジュールから命令を受信することができる。これら命令は、本明細書に記載されおよび/または示した例示的な実施例の1つ以上の機能をプロセッサ514に実施させることができる。例えば、プロセッサ514は、本明細書に記載したステップを、識別する、実行する、有効化する、決定する、中継する、実施する、比較する、許可する、送信する、受信する、無効化する、検索する、開始する、中止する、および/または増加させる、というステップのうち1つ以上を実施する、および/または、単独でまたは他の素子と組合せて実施する手段とすることができる。プロセッサ514は、さらに、本明細書に記載および/または示した他の任意なステップ、方法、またはプロセスを実施する、および/または実施する手段とすることができる。
システムメモリ516は、データおよび/またはコンピュータ読取り可能命令を記憶可能な、任意のタイプまたは形式の揮発性もしくは不揮発性の記憶デバイスまたは媒体を広義に表す。システムメモリ516の例としては、以下のものに限定しないが、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、または、任意な他の適切なメモリデバイスがある。必須ではないが、ある実施例では、コンピューティングシステム510は、揮発性メモリユニット(例えば、システムメモリ516)、および不揮発性記憶装置(例えば、後述する主記憶装置532等)の双方を備えることができる。
ある実施例では、例示的なコンピューティングシステム510は、プロセッサ514およびシステムメモリ516に加えて、1つ以上のコンポーネントまたは素子を備えることもできる。例えば、図5に示すように、コンピューティングシステム510は、メモリコントローラ518、入出力(I/O)コントローラ520、および通信インタフェース522を備えるものとし、これらを、それぞれ通信インフラ512を介して相互接続することもできる。通信インフラ(基盤)512は、コンピューティングデバイスの1つ以上のコンポーネント間で通信するのを容易化することができる任意なタイプまたは形式のインフラ(基盤)を広義に表す。通信インフラ512の例としては、以下のものに限定しないが、通信バス(例えば、ISA、PCI、PCIeまたは同様のバス)、およびネットワークがある。
メモリコントローラ518は、メモリもしくはデータを取り扱い、またはコンピューティングシステム510の1つ以上のコンポーネント間の通信を制御することができる任意のタイプまたは形式のデバイスを全般的に表す。例えば、ある実施例では、メモリコントローラ518は、プロセッサ514、システムメモリ516、I/Oコントローラ520間の通信を、通信インフラ512を介して制御することができる。ある実施例では、メモリコントローラ518は、本明細書に記載および/または示したステップまたは特徴、例えば識別、実行、有効化、決定、中継、実施、比較、許可、送信、受信、無効化、検索、開始、中止、および/または増加のうち1つ以上を実施する、および/または単独または他の素子と組合せて実施する手段とすることができる。
I/Oコントローラ520は、コンピューティング装置の入出力機能を調和および/または制御することができる任意なタイプまたは形式のモジュールを全般的に表す。例えば、ある実施例では、I/Oコントローラ520は、コンピューティング装置の1つ以上の素子、例えば、プロセッサ514、システムメモリ516、通信インタフェース522、ディスプレイアダプタ526、入力インタフェース530、および記憶インタフェース534間におけるデータ送信を制御または容易化することができる。I/Oコントローラ520は、例えば、本明細書に記載した識別、有効化、決定、中継、実施、比較、許可、送信、受信、無効化、検索、実行、開始、中止、および/または増加のステップを実施するよう使用する、および/または実施する手段とすることができる。I/Oコントローラ520は、さらに、本明細書に記載する他のステップおよび特徴を実施するのに使用する、および/または実施する手段とことができる。
通信インタフェース522は、例示的なコンピューティングシステム510と1つ以上の追加デバイスとの間における通信を容易化することができる任意なタイプまたは形式の通信デバイスまたはアダプタを広義に表す。例えば、ある実施例では、通信インタフェース522は、コンピューティングシステム510と追加コンピューティングシステムを備える公共またはプライベートネットワークとの間における通信を容易化することができる。通信インタフェース522の例としては、以下のものに限定しないが、有線ネットワークインタフェース(例えば、ネットワークインタフェースカード)、無線ネットワークインタフェース(例えば、ネットワークインタフェースカード)、モデム、および、任意な他の適切なインタフェースがある。少なくとも1つの実施例では、通信インタフェース522は、例えばインターネットなどのネットワークとの直接リンクを介してリモートサーバーに直接的に接続することができる。通信インタフェース522は、さらに、例えば、ローカルエリアネットワーク(例えば、イーサネット(登録商標)またはIEEE802.11無線ネットワーク)、パーソナルエリアネットワーク(例えば、BLUETOOTH(登録商標)またはIEEE規格802.15.1−2002ネットワーク)、電話もしくはケーブルネットワーク、携帯電話接続、衛星データ接続、または、任意な他の適切な接続を介して間接的に接続することができる。
ある実施例では、通信インタフェース522は、外部バスまたは通信チャネルを介して、コンピューティングシステム510と1つ以上の追加のネットワークデバイスまたは記憶装置との間における通信を容易化するよう構成したホストアダプタを表すこともできる。ホストアダプタの例としては、以下のものに限定しないが、SCSIホストアダプタ、USBホストアダプタ、IEEE1394ホストアダプタ、SATAおよびeSATAホストアダプタ、ATAおよびPATAホストアダプタ、ファイバーチャネルインタフェースアダプタ、イーサネット(登録商標)アダプタ等がある。通信インタフェース522は、コンピューティングシステム510が分散型またはリモートコンピューティングすることを可能にする。例えば、通信インタフェース522は、リモートデバイスから命令を受信する、またはリモートデバイスが実行するための命令を送信することができる。ある実施例では、通信インタフェース522は、本明細書に記載した識別、有効化、決定、中継、実施、比較、許可、送信、受信、無効化、検索、開始、中止、および/または増加というステップのうち1つ以上を、単独または他の素子と組合せて実施する、および/または実施する手段とすることができる。通信インタフェース522は、本明細書に記載した他のステップおよび特徴を実施するのに使用する、および/または実施手段とすることもできる。
図5に示すように、コンピューティングシステム510は、ディスプレイアダプタ526を介して通信インタフェース512に結合した少なくとも1つのディスプレイ装置524を備えることもできる。ディスプレイ装置524は、ディスプレイアダプタ526によって送信される情報を視覚的に表示することができる任意なタイプまたは形式のデバイスを全般的に表す。同様に、ディスプレイアダプタ526は、ディスプレイ装置524に表示するための、グラフィックス、テキスト、および通信インタフェースから(または、当該技術分野で既知のようなフレームバッファから)の他のデータを送信するように構成した任意なタイプまたは形式のデバイスを全般的に表す。
図5に示すように、例示的なコンピューティングシステム510は、入力インタフェース530を介して通信インフラ512に接続する少なくとも1つの入力装置528を備えることもできる。入力装置528は、例示的なコンピューティングシステム510に、コンピュータまたは人間が生成した入力を供給できる任意なタイプまたは形式の入力デバイスを全般的に表す。入力装置528の例としては、以下のものに限定しないが、キーボード、ポインティングデバイス、音声認識デバイス、または他の入力デバイスがある。少なくとも1つの実施例では、入力装置528は、本明細書に記載した識別、有効化、決定、中継、実施、比較、実行、許可、送信、受信、無効化、検索、開始、中止、および/または増加というステップのうち1つ以上を、単独または他の素子と組合せて、実施および/または実施する手段とすることができる。入力装置528は、本明細書に記載した他のステップおよび特徴を実施するのに使用する、および/または実施手段とすることもできる。
図5に示すように、例示的なコンピューティングシステム510は、記憶装置インタフェース534を介して通信インフラ512に接続する、主記憶装置532およびバックアップ記憶装置533を備えることができる。記憶装置532,533は、データおよび/または他のコンピュータ読取り可能命令を記憶できる任意なタイプまたは形式の記憶デバイスまたは媒体を全般的に表す。例えば、記憶装置532,533は、磁気ディスクドライブ(いわゆるハードドライブ)、フロッピー(登録商標)ディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブ等とすることができる。記憶インタフェース534は全般的に、記憶装置532,533とコンピューティングシステム510における他のコンポーネントとの間でデータ送信するための任意なタイプまたは形式のインタフェースまたはデバイスを表す。
ある実施例では、記憶装置532,533は、コンピュータソフトウェア、データ、または他のコンピュータ読取り可能情報を記憶するよう構成した取り外し可能記憶ユニットに対して読み書きするよう構成することができる。適切な取り外し可能記憶ユニットの例としては、以下のものに限定しないが、フロッピー(登録商標)ディスク、磁気テープ、光ディスク、フラッシュメモリデバイス等がある。記憶装置532,533は、コンピュータソフトウェア、データ、または他のコンピュータ読取り可能命令がコンピューティングシステム510に読み込まれることを可能にする他の同様の機構またはデバイスを備えることもできる。例えば、記憶装置532,533は、ソフトウェア、データ、または他のコンピュータ読取り可能情報を読み書きするように構成することができる。記憶装置532,533は、コンピューティングシステム510の一部とすることができ、または、他のインターフェースシステムを経由して別個のデバイスとすることができる。
記憶装置532,533は、例えば、本明細書に記載した識別、有効化、決定、中継、実施、比較、許可、送信、受信、無効化、検索、開始、中止、および/または増加というステップのうち1つ以上を、単独または他の素子と組合せて、実施するのに使用するおよび/または実施手段とすることもできる。記憶装置532,533は、本明細書に記載した他のステップおよび特徴を実施するのに使用する、および/または実施手段とすることもできる。
他の多くのデバイスまたはサブシステムをコンピューティングシステム510に接続することができる。逆に、図5に示したコンポーネントおよびデバイスの全ては、本明細書に記載および/または示した実施例を実施するために示したものではない。上述したデバイスおよびサブシステムは、図5に示したものとは異なる方法で相互に接続することもできる。コンピューティングシステム510は、任意の数のソフトウェア、ファームウェア、および/またはハードウェア構成を採用することもできる。本明細書に記載した例示的な実施例の1つ以上は、コンピュータ読取り可能媒体におけるコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ読取り可能命令、またはコンピュータ制御ロジックとも称する)としてコード化することができる。用語「コンピュータ読取り可能媒体」は、コンピュータ読取り可能命令を記憶または担持できる、任意な形式のデバイス、キャリヤ、または媒体を全般的に言及する。コンピュータ読取り可能媒体の例としては、以下のものに限定しないが、伝送型媒体(例えば搬送波)、物理媒体(例えば磁気記憶媒体(例えば、ハードディスクドライブおよびフロッピー(登録商標)ディスク)、光記憶媒体(例えば、CD−ROMまたはDVD−ROM)、電子記憶媒体(例えば、ソリッドステートドライブおよびフラッシュメディア)、および他の分配システムがある。
コンピュータプログラムを格納するコンピュータ読取り可能媒体は、コンピューティングシステム510内にロードすることができる。この場合、コンピュータ読取り可能媒体に記憶されたコンピュータプログラムの一部または全部は、システムメモリ516、および/または記憶装置532および533の様々部分に記憶することができる。プロセッサ514によって実行されるとき、コンピューティングシステム510にロードしたコンピュータプログラムは、本明細書に記載および/または示した例示的な実施例の1つ以上の機能を、プロセッサ514実施させるおよび/または実施させる手段とすることができる。付加的にまたは代替的に、本明細書に記載および/または示した例示的な実施例の1つ以上は、ファームウェアおよび/またはハードウェアで実現することができる。例えば、コンピューティングシステム510は、本明細書に記載および/または示した例示的実施例の1つ以上を実現するように適合した特定用途向け集積回路(ASIC)として構成することができる。
図6は、クライアントシステム610,620,630およびサーバー640,645をネットワーク650に接続する、例示的なネットワークアーキテクチャ600のブロック図である。クライアントシステム610,620,630は、図5の例示的なコンピューティングシステム510などの、任意なタイプまたは形式のコンピューティング装置またはシステムを全般的に表す。同様に、サーバー640,645は、さまざまなデータベースサービスを提供、および/またはあるソフトウェアアプリケーションを動作させるよう構成したコンピューティング装置またはシステム(例えばアプリケーションサーバーまたはデータベースサーバー)を全般的に表す。ネットワーク650は、例えば、イントラネット、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、またはインターネットを含む、任意の電話網またはコンピュータネットワークを表す。
図6に示すように、1つ以上記憶装置660(1)〜(N)を、サーバー640に直接取り付けることができる。同様に、1つ以上記憶装置670(1)〜(N)を、サーバー645に直接取り付けることができる。記憶装置660(1)〜(N)および記憶装置670(1)〜(N)は、データおよび/またはコンピュータ読取り可能命令を記憶できる、任意なタイプもしくは形式の記憶装置または媒体を全般的に表す。ある実施例では、記憶装置660(1)〜(N)および記憶装置670(1)〜(N)が、例えばNFS,SMBまたはCIFSなどの様々なプロトコルを用いてサーバー640,645と通信するよう構成したネットワーク・アタッチド・ストレージ(NAS)デバイスを表すことができる。
サーバー640,645を、ストレージ・エリア・ネットワーク(SAN)ファブリック680に接続することができる。SANファブリックは、複数の記憶装置間の通信を容易化できる、任意なタイプもしくは形式のコンピュータネットワークまたはアーキテクチャを全般的に表す。SANファブリックは、サーバー640,645および複数の記憶装置690(1)〜(N)、および/またはインテリジェントストレージアレイ695間の通信を容易化することができる。SANファブリック680は、ネットワーク650およびサーバー640,645を介して、クライアントシステム610,620,630および複数の記憶装置690(1)〜(N)、および/またはインテリジェントストレージアレイ695間の通信を容易化し、クライアントシステム610,620,630にデバイス690(1)〜(N)およびアレイ695を局所的に取り付けたように見せかけるようにすることができる。記憶装置660(1)〜(N)および記憶装置670(1)〜(N)と同様に、記憶装置690(1)〜(N)およびインテリジェントストレージアレイ695は、データおよび/またはコンピュータ読取り可能命令を記憶できる、任意なタイプもしくは形式の記憶装置または媒体を全般的に表す。
ある実施例では、図5の例示的なコンピューティングシステム510につき説明すると、図5の通信インタフェース522などの通信インタフェースを使用して、各クライアントシステム610,620,630とネットワーク640との間を接続することができる。クライアントシステム610,620,630は、例えば、ウェブブラウザーまたは他のクライアントソフトウェアを用いて、サーバー640,645上の情報にアクセスすることができる。このようなソフトウェアは、クライアントシステム610,620,630が、サーバー640、サーバー645、記憶装置660(1)〜(N)、記憶装置670(1)〜(N)、記憶装置(1)〜(N)、またはインテリジェントストレージアレイ695が供するデータにアクセスすることを可能にする。図6は、例えばインターネットなどのネットワークをデータ交換に利用することを示すが、本明細書に記載および/または示した実施例は、インターネットまたは任意な特定のネットワーク環境に限定するものではない。
少なくとも1つの実施例では、本明細書に記載した例示的な実施例の1つ以上の一部または全部はプログラムとしてコード化し、またサーバー640、サーバー645、記憶装置660(1)〜(N)、記憶装置670(1)〜(N)、記憶装置(1)〜(N)、インテリジェントストレージアレイ695、またはこれらの組合せによって、読み込まれかつ実行することができる。本明細書に記載した例示的な実施例の1つ以上の一部または全部はプログラムとしてコード化し、サーバー640に記憶し、サーバー645によって実行し、ネットワークを経由してクライアントシステム610,620,630に分配することができる。したがって、ネットワークアーキテクチャ600は、本明細書に記載した、識別、有効化、決定、中継、実施、比較、許可、送信、受信、無効化、検索、開始、実行、中止、および/または増加というステップのうち1つ以上を実施する、および/または単独もしくは他の素子と組合せて実施する手段とすることができる。ネットワークアーキテクチャ600は、本明細書に記載した他のステップおよび特徴を実施するよう使用する、および/または実施手段とすることもできる。
上述のように、コンピューティングシステム510および/またはネットワークアーキテクチャ600のコンポーネントのうち1つ以上は、本明細書に記載および/または示した例示的な方法におけるステップのうち1つ以上のステップを実施する、および/または単独もしくは他の素子と組合せて実施するための手段とすることができる。例えば、レガシーアプリケーション用のコミュニティ検査済みセキュリティ機能を有効化することをコンピュータで実現する方法は、複数のクライアントシステムを識別するステップを有することができる。この場合、コンピュータシステムは、レガシーアプリケーション用のセキュリティ機能を検査するのに指名された複数のクライアントシステムの部分集合を識別することができる。そして、つぎに、ンピュータシステムは、セキュリティ機能有効化ルールを部分集合のうち少なくとも1つのクライアントシステムに送信することができる。その後コンピュータシステムは、クライアントシステムにおけるレガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を識別する調子影響情報を、部分集合のクライアントシステムから受信し、そして、当該調子影響情報に基づいて、セキュリティ機能有効化ルールを複数のクライアントシステムにセキュリティ機能有効化ルールを公開するか否かを決定することができる。
ある実施例は、さらに、セキュリティ機能有効化ルールがレガシーアプリケーションの調子に悪影響を与えないことを決定するステップと、複数のクライアントシステムにセキュリティ機能有効化ルールを段階的公開するのを開始するステップを有する。ある実施例は、さらに、1)複数のクライアントシステム内の少なくとも1つの追加クライアントシステムから、セキュリティ機能有効化ルールに関連する調子影響情報を受信するステップと、2)セキュリティ機能有効化ルールが追加クライアントシステムにおける少なくとも1つのレガシーアプリケーションの調子に悪影響を与えることを決定するステップと、3)セキュリティ機能有効化ルールの段階的公開を中止するステップとを有する。他の実施例では、段階的公開は、配布が複数のクライアントシステムを網羅するまで、セキュリティ機能有効化ルールの配布を多段階で増分ごとに増加させるステップを有する。
少なくとも1つのさらに他の実施例では、セキュリティ機能有効化ルールが、セキュリティ機能有効化ルールの特定の組合せを有するものとする。ある実施例では、調子影響情報は、少なくとも1つの性能メトリックの結果を含む性能インデックス、および少なくとも1つの安定性メトリックの結果を含む安定性インデックスを有する。
ある実施例によれば、レガシーアプリケーション用のコミュニティ検査済のセキュリティ機能を有効化することをコンピュータで実現する方法は、クライアントシステムにおけるレガシーアプリケーションを識別するステップを有する。コンピュータシステムは、さらに、レガシーアプリケーション用のセキュリティ機能有効化ルールを識別することもできる。このとき、コンピュータシステムは、セキュリティ機能有効化ルールを実行することよってレガシーアプリケーション用の少なくとも1つのセキュリティ機能を有効化することができる。その後、コンピュータシステムは、レガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を決定することができる。そして、コンピュータシステムは、レガシーアプリケーションの調子に対するセキュリティ機能の影響をサーバーに中継することができる。さらにある実施例では、セキュリティ機能有効化ルールを識別するステップは、セキュリティ機能有効化ルールをサーバーから受信するステップを有する。
ある実施例によって、レガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を決定するステップは、第1調子評価を実施するステップを有する。このとき、コンピュータシステムは、レガシーアプリケーション内にセキュリティ機能有効化ルールを実行し、また第2調子評価を実施することができる。つぎに、コンピュータシステムは、第2調子評価を第1調子評価と比較して、セキュリティ機能有効化ルールがどのようにレガシーアプリケーションの調子に対して影響するかを決定することができる。
ある実施例で規定されるように、当該方法は、さらに、ユーザーがセキュリティ機能有効化ルールの初期検査を選択できるようにするステップを有する。ある実施例によれば、コンピュータシステムは、クライアントシステムにおける各レガシーアプリケーションを識別するリストをサーバーに送信することができる。さらに、セキュリティ機能有効化ルールは、セキュリティ機能有効化ルールの特定の組合せを有するものとすることができる。
幾つかの実施例では、コンピュータシステムは、レガシーアプリケーション用のセキュリティ機能有効化ルールを無効化する命令をサーバーから受信し、そしてレガシーアプリケーション用のセキュリティ機能有効化ルールを無効化することができる。ある実施例では、セキュリティ機能有効化ルールを実行するステップは、起動時にレガシーアプリケーションを識別するステップと、レガシーアプリケーション用のセキュリティ環境設定を検索し、セキュリティ機能有効化ルールによって特定したセキュリティ環境設定でセキュリティ機能を有効化するステップとを有する。
上述の開示は特定のブロック図、フローチャートおよび例を使って様々な実施形態を示したが、各ブロック図のコンポーネント、フローチャートステップ、操作および/または本明細書に記載および/または説明したコンポーネントは、広範囲のハードウェア、ソフトウェアまたはファームウェア(またはそれらの組合せ)を使って個別および/または包括的に実現することができる。さらに、他のコンポーネントに含まれるコンポーネントの開示はどのようなものであっても、同じ機能を達成するためにたくさんの他のアーキテクチャを実現することができるので、本来は例示的なものと考えるものとする。
本明細書に記載および/または説明するステップのプロセスパラメータおよびシーケンスは、ほんの一例として与えられたものであり、所望通りに変更が可能である。例えば、本明細書に記載および/または説明するステップは特定の順番に示され、論じられているが、これらのステップは、必ずしも説明または論じられている順番で実行する必要はない。本明細書に記載および/または説明する様々な例示的な方法では、本明細書に記載および/または説明する一つ以上のステップを除外してもよいし、またはこれらの開示されたものにステップを追加してもよい。
さらに、様々な実施形態を完全に機能的なコンピューティングシステムとして本明細書に記載および/または説明してきたが、分散を行うために実際に使用される特定の種類のコンピュータ読取り可能な媒体に関わらず、一つ以上のこれらの実施例は、様々な形態のプログラム製品として流通させることもできる。本明細書に開示する実施形態はまた、特定のタスクを実行するソフトウェアモジュールを使って実現することもできる。これらのソフトウェアモジュールは、コンピュータ読取り可能な記憶媒体またはコンピューティングシステムに記憶することのできるスクリプト、バッチまたはその他の実行可能ファイルを含むことができる。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示する一つ以上の実施例を実行するコンピューティングシステムとして構成することができる。
上述の説明は、当業者が本明細書に記載する実施例の様々な態様を最大限に利用できるように行った。この例示的説明は網羅的、または開示した正確な形態に限定することを意図したものではない。本発明の要旨または範囲から逸脱することなく、多くの変更および改変が可能である。本明細書に記載する実施形態は、あらゆる面において例示的であり、限定するものではないと考えるべきである。添付の特許請求の範囲およびそれの等価物を参照して、本発明の範囲を決定すべきである。
別段に記載のない限り、明細書または請求項において、各要素は複数存在し得る。さらに、簡単のために、明細書および請求項で使用される「〜を含む」および「〜を有する」という文言は、同じ意味を持つ文言である「〜を備える」と置き替えることができる。

Claims (20)

  1. レガシーアプリケーション用のコミュニティ検査済のセキュリティ機能を有効化することをコンピュータで実現する方法において、
    クライアントシステムにおけるレガシーアプリケーションを識別するステップと、
    前記レガシーアプリケーション用のセキュリティ機能有効化ルールを識別するステップと、
    前記セキュリティ機能有効化ルールを実行することにより、前記レガシーアプリケーション用の少なくとも1つのセキュリティ機能を有効化するステップと、
    前記レガシーアプリケーションの調子に対する前記セキュリティ機能有効化ルールの影響を決定するステップと、
    前記レガシーアプリケーションの調子に対する前記セキュリティ機能有効化ルールの影響をサーバーに中継するステップと
    を有する方法。
  2. 請求項1に記載の方法において、前記レガシーアプリケーション用のセキュリティ機能有効化ルールを識別するステップは、前記セキュリティ機能有効化ルールを前記サーバーから受信するステップを有する、方法。
  3. 請求項1に記載の方法において、前記レガシーアプリケーションの調子に対する前記セキュリティ機能有効化ルールの影響を決定するステップは、
    前記セキュリティ機能有効化ルールを実行する前に第1調子評価を実施するステップと、
    前記セキュリティ機能有効化ルールを実行した後に第2調子評価を実施するステップと、
    前記第2調子評価を前記第1調子評価と比較して、前記セキュリティ機能有効化ルールが前記レガシーアプリケーションの調子に対してどのように影響したかを決定するステップと
    を有する、方法。
  4. 請求項1に記載の方法において、さらに、前記セキュリティ機能有効化ルールを識別するステップの前に、セキュリティ機能有効化ルールの初期検査を選択するユーザーからのリクエストを識別するステップを有する、方法。
  5. 請求項1に記載の方法において、さらに、前記クライアントシステムにおける各レガシーアプリケーションを識別するリストを前記サーバーに送信するステップを有する、方法。
  6. 請求項1に記載の方法において、前記セキュリティ機能有効化ルールは、セキュリティ機能有効化ルールの特定の組合せを有する、方法。
  7. 請求項1に記載の方法において、さらに、
    前記レガシーアプリケーション用のセキュリティ機能有効化ルールを無効化する命令を前記サーバーから受信するステップと、
    前記レガシーアプリケーション用のセキュリティ機能有効化ルールを無効化するステップと
    を有する、方法。
  8. 請求項1に記載の方法において、前記セキュリティ機能有効化ルールを実行するステップは、
    前記レガシーアプリケーションの起動を識別するステップと、
    前記レガシーアプリケーション用のセキュリティ環境設定を検索するステップと、
    前記セキュリティ機能有効化ルールよって特定されるように、前記セキュリティ環境設定におけるセキュリティ機能を有効化するステップと
    を有する、方法。
  9. レガシーアプリケーション用のコミュニティ検査済のセキュリティ機能を有効化することをコンピュータで実現する方法において、
    複数のクライアントシステムを識別するステップと、
    レガシーアプリケーション用のセキュリティ機能を検査するように指名された前記複数のクライアントシステムの部分集合を識別するステップと、
    前記部分集合内の少なくとも1つのクライアントシステムにセキュリティ機能有効化ルールを送信するステップと、
    前記クライアントシステムにおけるレガシーアプリケーションの調子に対するセキュリティ機能有効化ルールの影響を識別する調子影響情報を、前記部分集合のクライアントシステムから受信するステップと、
    前記調子影響情報に基づいて、複数のクライアントシステムに前記セキュリティ機能有効化ルールを公開するか否かを決定するステップと
    を有する方法。
  10. 請求項9に記載の方法において、さらに、
    前記セキュリティ機能有効化ルールが前記レガシーアプリケーションの調子に悪影響を与えないことを決定するステップと、
    前記複数のクライアントシステムに対して前記セキュリティ機能有効化ルールの段階的公開を開始するステップと
    を有する、方法。
  11. 請求項10に記載の方法において、さらに、
    前記複数のクライアントシステム内における少なくとも1つの追加クライアントシステムから、前記セキュリティ機能有効化ルールの調子影響情報を受信するステップと、
    前記セキュリティ機能有効化ルールが、前記追加クライアントシステムにおけるレガシーアプリケーションの調子に悪影響を与えること決定するステップと、
    前記セキュリティ機能有効化ルールの段階的公開を中止するステップと
    を有する、方法。
  12. 請求項10に記載の方法において、前記段階的公開を開始するステップは、前記複数のクライアントシステムを網羅するまで、多段階に増分ごとにセキュリティ機能有効化ルールの配布を増加させるステップを有する、方法。
  13. 請求項9に記載の方法において、前記セキュリティ機能有効化ルールは、複数のセキュリティ機能有効化ルールの、特定の組合せを有する、方法。
  14. 請求項9に記載の方法において、前記調子影響情報は、
    少なくとも1つの性能メトリックの結果を含む性能インデックスと、
    少なくとも1つの安定性メトリックの結果を含む安定性インデックスと
    を有する、方法。
  15. レガシーアプリケーション用のコミュニティ検査済みセキュリティ機能有効化ルールを有効化するシステムにおいて、クライアントモジュールであって、以下のことを行う、すなわち、
    クライアントシステムにおけるレガシーアプリケーションを識別し、
    前記レガシーアプリケーション用のセキュリティ機能有効化ルールを識別し、
    前記セキュリティ機能有効化ルールを実行することにより、前記レガシーアプリケーション用の少なくとも1つのセキュリティ機能を有効化し、
    前記レガシーアプリケーションの調子に対する前記セキュリティ機能有効化ルールの影響を決定し、
    前記レガシーアプリケーションの調子に対する前記セキュリティ機能有効化ルールの影響をサーバーに中継する、
    ようプログラムした、
    該クライアントモジュールを備えるシステム。
  16. 請求項15に記載のシステムにおいて、さらに、サーバーモジュールであって、以下のことを行う、すなわち、
    複数のクライアントシステムを識別し、
    レガシーアプリケーション用のセキュリティ機能を検査するように指名された前記複数のクライアントシステムの部分集合を識別し、
    前記部分集合内の少なくとも1つのクライアントシステムに前記セキュリティ機能有効化ルールを送信し、
    前記クライアントシステムにおけるレガシーアプリケーションの調子に対する前記セキュリティ機能有効化ルールの影響を識別する調子影響情報を、前記部分集合のクライアントシステムから受信し、
    前記調子影響情報に基づいて、前記複数のクライアントシステムに前記セキュリティ機能有効化ルールを公開するか否かを決定する、
    ようにプログラムした、該サーバーモジュールを備える、システム。
  17. 請求項16に記載のシステムにおいて、前記サーバーモジュールは、さらに
    前記セキュリティ機能有効化ルールが前記レガシーアプリケーションの調子に悪影響を与えないことを決定し、
    前記複数のクライアントシステムに前記セキュリティ機能有効化ルールの段階的公開を開始する
    ようにプログラムした、システム。
  18. 請求項17に記載のシステムにおいて、前記サーバーモジュールは、さらに
    前記複数のクライアントシステムのうち少なくとも1つの追加クライアントシステムから、前記セキュリティ機能有効化ルールについての調子影響情報を受信し、
    前記セキュリティ機能有効化ルールが前記追加クライアントシステムにおけるレガシーアプリケーションの調子に悪影響を与えることを決定し、
    前記セキュリティ機能有効化ルールの段階的公開を中止する
    ようにプログラムした、システム。
  19. 請求項17に記載のシステムにおいて、前記段階的公開は、前記複数のクライアントシステムを網羅するまで、多段階で増分ごとにセキュリティ機能有効化ルールの配布を増加させるステップを有する、システム。
  20. 請求項15に記載のシステムにおいて、前記セキュリティ機能有効化ルールは、複数のセキュリティ機能有効化ルールの、特定の組合せを有する、システム。
JP2009284422A 2008-12-17 2009-12-15 レガシーアプリケーション用にコミュニティ検査済みセキュリティ機能を有効化するため方法およびシステム Active JP5419673B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/336,668 US8713687B2 (en) 2008-12-17 2008-12-17 Methods and systems for enabling community-tested security features for legacy applications
US12/336,668 2008-12-17

Publications (2)

Publication Number Publication Date
JP2010176658A true JP2010176658A (ja) 2010-08-12
JP5419673B2 JP5419673B2 (ja) 2014-02-19

Family

ID=42035556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009284422A Active JP5419673B2 (ja) 2008-12-17 2009-12-15 レガシーアプリケーション用にコミュニティ検査済みセキュリティ機能を有効化するため方法およびシステム

Country Status (4)

Country Link
US (2) US8713687B2 (ja)
EP (1) EP2199942A3 (ja)
JP (1) JP5419673B2 (ja)
CN (1) CN101794359B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534155A (ja) * 2012-08-29 2015-11-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 動的テイントに基づくセキュリティ・スキャン

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050229003A1 (en) 2004-04-09 2005-10-13 Miles Paschini System and method for distributing personal identification numbers over a computer network
US10205721B2 (en) 2002-12-10 2019-02-12 Ewi Holdings, Inc. System and method for distributing personal identification numbers over a computer network
US7131578B2 (en) 2003-05-28 2006-11-07 Ewi Holdings, Inc. System and method for electronic prepaid account replenishment
US7280644B2 (en) 2004-12-07 2007-10-09 Ewi Holdings, Inc. Transaction processing platform for faciliating electronic distribution of plural prepaid services
US11475436B2 (en) 2010-01-08 2022-10-18 Blackhawk Network, Inc. System and method for providing a security code
US11599873B2 (en) 2010-01-08 2023-03-07 Blackhawk Network, Inc. Systems and methods for proxy card and/or wallet redemption card transactions
US10296895B2 (en) 2010-01-08 2019-05-21 Blackhawk Network, Inc. System for processing, activating and redeeming value added prepaid cards
US8255902B1 (en) * 2008-03-17 2012-08-28 Symantec Corporation Systems and methods for determining and quantifying the impact of an application on the health of a system
BR112012008802A2 (pt) * 2009-10-16 2019-09-24 Core Tech Limited ''método implementado em computador meio legível em computador e dispositivo ''
US10037526B2 (en) 2010-01-08 2018-07-31 Blackhawk Network, Inc. System for payment via electronic wallet
EP2521999A4 (en) 2010-01-08 2015-01-07 Blackhawk Network Inc SYSTEM FOR PROCESSING, ENABLING AND REIMBURSING PREPAID CARDS WITH ADDED VALUE
WO2011159571A1 (en) * 2010-06-14 2011-12-22 Blackhawk Network, Inc. System and method for configuring risk tolerance in transaction cards
CA2809822C (en) 2010-08-27 2023-09-12 Blackhawk Network, Inc. Prepaid card with savings feature
US11042870B2 (en) 2012-04-04 2021-06-22 Blackhawk Network, Inc. System and method for using intelligent codes to add a stored-value card to an electronic wallet
CA3171304A1 (en) 2012-11-20 2014-05-30 Blackhawk Network, Inc. Method for using intelligent codes in conjunction with stored-value cards
US20150095892A1 (en) * 2013-09-27 2015-04-02 Linkedln Corporation Systems and methods for evaluating a change pertaining to a service or machine
US9852041B2 (en) 2013-09-27 2017-12-26 Microsoft Technology Licensing, Llc Systems and methods for categorizing exceptions and logs
WO2015054617A1 (en) 2013-10-11 2015-04-16 Ark Network Security Solutions, Llc Systems and methods for implementing modular computer system security solutions
US9411698B2 (en) 2014-05-28 2016-08-09 International Business Machines Corporation Determining an availability score based on available resources of different resource types in a distributed computing environment of storage servers to determine whether to perform a failure operation for one of the storage servers
US9703619B2 (en) * 2014-05-28 2017-07-11 International Business Machines Corporation Determining an availability score based on available resources of different resource types in a storage system to determine whether to perform a failure operation for the storage system
US9928386B1 (en) * 2015-06-08 2018-03-27 Amazon Technologies, Inc. Data protection system
US10055596B1 (en) * 2015-06-08 2018-08-21 Amazon Technologies, Inc. Data protection system
US9826262B2 (en) 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe
US9826261B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US11089123B2 (en) * 2018-05-15 2021-08-10 Microsoft Technology Licensing, Llc Service worker push violation enforcement
US11023217B2 (en) * 2018-11-09 2021-06-01 Dell Products L.P. Systems and methods for support of selective processor microcode updates
JP7258801B2 (ja) * 2020-03-10 2023-04-17 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US11126731B1 (en) * 2021-03-30 2021-09-21 Malwarebytes Inc. Dynamic communication architecture for testing computer security application features
US20230401047A1 (en) * 2022-06-14 2023-12-14 Truist Bank Graphical user interface for reducing vulnerabilities associated with legacy software

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007058514A (ja) * 2005-08-24 2007-03-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2008535053A (ja) * 2005-03-25 2008-08-28 マイクロソフト コーポレーション パッチが当てられていないマシンの動的な保護
US20080229149A1 (en) * 2007-03-14 2008-09-18 Clifford Penton Remote testing of computer devices
JP2008217464A (ja) * 2007-03-05 2008-09-18 Oki Electric Ind Co Ltd 自動取引システム
JP2008541266A (ja) * 2005-05-10 2008-11-20 マイクロソフト コーポレーション 自動化クライアントデバイス管理

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167358A (en) * 1997-12-19 2000-12-26 Nowonder, Inc. System and method for remotely monitoring a plurality of computer-based systems
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6324647B1 (en) * 1999-08-31 2001-11-27 Michel K. Bowman-Amuah System, method and article of manufacture for security management in a development architecture framework
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
CA2375206A1 (en) * 2000-03-27 2001-10-04 Network Security Systems, Inc. Internet/network security method and system for checking security of a client from a remote facility
WO2001084313A2 (en) * 2000-05-02 2001-11-08 Sun Microsystems, Inc. Method and system for achieving high availability in a networked computer system
US20020169738A1 (en) * 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US20070113265A2 (en) * 2003-07-01 2007-05-17 Securityprofiling, Inc. Automated staged patch and policy management
US7228458B1 (en) * 2003-12-19 2007-06-05 Sun Microsystems, Inc. Storage device pre-qualification for clustered systems
US7490268B2 (en) * 2004-06-01 2009-02-10 The Trustees Of Columbia University In The City Of New York Methods and systems for repairing applications
US7765579B2 (en) * 2004-09-07 2010-07-27 Greencastle Technology, Inc. Security deployment system
US7945958B2 (en) * 2005-06-07 2011-05-17 Vmware, Inc. Constraint injection system for immunizing software programs against vulnerabilities and attacks
US9942271B2 (en) * 2005-12-29 2018-04-10 Nextlabs, Inc. Information management system with two or more interactive enforcement points
US20070240151A1 (en) * 2006-01-29 2007-10-11 Microsoft Corporation Enhanced computer target groups
US20090199160A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Centralized system for analyzing software performance metrics

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008535053A (ja) * 2005-03-25 2008-08-28 マイクロソフト コーポレーション パッチが当てられていないマシンの動的な保護
JP2008541266A (ja) * 2005-05-10 2008-11-20 マイクロソフト コーポレーション 自動化クライアントデバイス管理
JP2007058514A (ja) * 2005-08-24 2007-03-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
JP2008217464A (ja) * 2007-03-05 2008-09-18 Oki Electric Ind Co Ltd 自動取引システム
US20080229149A1 (en) * 2007-03-14 2008-09-18 Clifford Penton Remote testing of computer devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015534155A (ja) * 2012-08-29 2015-11-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 動的テイントに基づくセキュリティ・スキャン
US9558355B2 (en) 2012-08-29 2017-01-31 Hewlett Packard Enterprise Development Lp Security scan based on dynamic taint

Also Published As

Publication number Publication date
JP5419673B2 (ja) 2014-02-19
CN101794359B (zh) 2014-12-17
US20100154027A1 (en) 2010-06-17
US8713687B2 (en) 2014-04-29
EP2199942A2 (en) 2010-06-23
EP2199942A3 (en) 2010-09-01
US9332033B2 (en) 2016-05-03
CN101794359A (zh) 2010-08-04
US20140143828A1 (en) 2014-05-22

Similar Documents

Publication Publication Date Title
JP5419673B2 (ja) レガシーアプリケーション用にコミュニティ検査済みセキュリティ機能を有効化するため方法およびシステム
US8694983B1 (en) Systems and methods for providing guidance on the potential impact of application and operating-system changes on a computing system
US8762987B1 (en) Systems and methods for determining and quantifying the impact of an application on the health of a system
US7966278B1 (en) Method for determining the health impact of an application based on information obtained from like-profiled computing systems using clustering
US8671449B1 (en) Systems and methods for identifying potential malware
US8027827B2 (en) Device, system, and method of storage controller having simulated volumes
JP5816198B2 (ja) 関連コンピューティングシステム間でコンピューティングオペレーションの結果を共有するためのシステムおよび方法
US20100318986A1 (en) Using software state tracking information to enact granular update rollback
US8561180B1 (en) Systems and methods for aiding in the elimination of false-positive malware detections within enterprises
CN104040516A (zh) 用于数据去重的方法、设备和系统
US11144405B2 (en) Optimizing database migration in high availability and disaster recovery computing environments
JP2020510893A (ja) 大規模分散データストレージシステムにおける複製遅延に制約されるデータ削除
US11601443B2 (en) System and method for generating and storing forensics-specific metadata
US8627463B1 (en) Systems and methods for using reputation information to evaluate the trustworthiness of files obtained via torrent transactions
US20230195690A1 (en) Data archive release in context of data object
US20220247793A1 (en) Scanning and remediating configuration settings of a device using a policy-driven approach
US8370800B2 (en) Determining application distribution based on application state tracking information
US8381205B2 (en) Co-resident software performance tracking
TWI514279B (zh) 伺服器系統與韌體更新方法
US9946853B1 (en) Techniques for application code obfuscation
JP7042624B2 (ja) 評価プラットフォームのための監査を行うための方法およびシステム
US20140019093A1 (en) Incrementally increasing system test workload
US11184404B1 (en) Performing idempotent operations to scan and remediate configuration settings of a device
US10649869B2 (en) Burn process data retrieval and notification
US20130117436A1 (en) Automatic configuration consistency check

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131119

R150 Certificate of patent or registration of utility model

Ref document number: 5419673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250