特許第5700894号(P5700894)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許5700894プログラムの悪意属性の判別方法及び判別用サーバ
<>
  • 特許5700894-プログラムの悪意属性の判別方法及び判別用サーバ 図000002
  • 特許5700894-プログラムの悪意属性の判別方法及び判別用サーバ 図000003
  • 特許5700894-プログラムの悪意属性の判別方法及び判別用サーバ 図000004
  • 特許5700894-プログラムの悪意属性の判別方法及び判別用サーバ 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5700894
(24)【登録日】2015年2月27日
(45)【発行日】2015年4月15日
(54)【発明の名称】プログラムの悪意属性の判別方法及び判別用サーバ
(51)【国際特許分類】
   G06F 21/56 20130101AFI20150326BHJP
【FI】
   G06F21/56 360
【請求項の数】6
【全頁数】10
(21)【出願番号】特願2014-509600(P2014-509600)
(86)(22)【出願日】2012年6月7日
(65)【公表番号】特表2014-513368(P2014-513368A)
(43)【公表日】2014年5月29日
(86)【国際出願番号】CN2012076594
(87)【国際公開番号】WO2013026304
(87)【国際公開日】20130228
【審査請求日】2013年11月7日
(31)【優先権主張番号】201110243121.5
(32)【優先日】2011年8月23日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】506379493
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100104215
【弁理士】
【氏名又は名称】大森 純一
(74)【代理人】
【識別番号】100117330
【弁理士】
【氏名又は名称】折居 章
(74)【代理人】
【識別番号】100123733
【弁理士】
【氏名又は名称】山田 大樹
(74)【代理人】
【識別番号】100168181
【弁理士】
【氏名又は名称】中村 哲平
(74)【代理人】
【識別番号】100168745
【弁理士】
【氏名又は名称】金子 彩子
(74)【代理人】
【識別番号】100170346
【弁理士】
【氏名又は名称】吉田 望
(74)【代理人】
【識別番号】100176131
【弁理士】
【氏名又は名称】金山 慎太郎
(72)【発明者】
【氏名】ワン ホンビン
【審査官】 戸島 弘詩
(56)【参考文献】
【文献】 特開2010−134536(JP,A)
【文献】 特開2010−073020(JP,A)
【文献】 中国特許出願公開第101593253(CN,A)
【文献】 中国特許出願公開第101923617(CN,A)
【文献】 特開2009−223375(JP,A)
【文献】 特開2009−037545(JP,A)
【文献】 国際公開第2010/023557(WO,A1)
【文献】 「セキュアブレイン、無料のコミュニティ型ウイルス対策ソフト「gred AntiVirus アクセラレータ」に新検知エンジンを搭載」,[online],株式会社セキュアブレイン,2010年 3月10日,[平成26年10月6日検索],URL,http://www.securebrain.co.jp/about/news/download/gred_AVX1.0.26_100310.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06F21/56
(57)【特許請求の範囲】
【請求項1】
悪意属性の判別用サーバにおいて実行される、プログラムの悪意属性の判別方法であって、
前記サーバが、クライアントでの前記プログラムの動作データを取得するステップと、
前記サーバが、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得するステップと、
前記サーバが、前記プログラムの悪意動作及び/または悪意動作値によって前記プログラムの悪意属性を判断するステップと
を含み、
前記サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプルの数が同じである場合、前記サーバが、前記悪意動作を式Actionevili=(Actionposi-Actionnegi)によって選択し、Actionposiは悪意プログラムサンプルセットでの動作iの発生頻度を示し、Actionnegiは非悪意プログラムサンプルセットでの動作iの発生頻度を示し、前記サーバは、Actioneviliが所定の閾値より大きい場合、動作iが悪意動作であると判断する
ことを特徴とする方法。
【請求項2】
前記サーバが、前記悪意動作値式scorenewi=scoreoldi×(1+ratei)、ratei=IsBlacktoday_ratei-IsBlackyesterday_rateiによって確定
ここで、scorenewiは悪意動作iの新たな悪意動作値を示し、scoreoldiは悪意動作iの既存の悪意動作値を示し、rateiは悪意動作iの変化率を示し、IsBlacktoday_ratei、悪意動作iが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、現在記録された悪意動作iの悪意動作百分率を示し、IsBlackyesterday_ratei、悪意動作iが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、前回記録された悪意動作iの悪意動作百分率を示す
ことを特徴とする請求項に記載の方法。
【請求項3】
前記プログラムの悪意動作及び/または悪意動作値によって前記プログラムの悪意属性を判断することは、前記サーバが、
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断し、
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断することを含む
ことを特徴とする請求項1又は2に記載の方法。
【請求項4】
プログラムの悪意属性の判別用サーバであって、
クライアントでの前記プログラムの動作データを取得することに用いられるクライアントデータ取得ユニットと、
前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得することに用いられる動作データ取得ユニットと、
前記プログラムの悪意動作及び/または悪意動作値によってプログラムの悪意属性を判断することに用いられる判断ユニットと、
前記サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプルの数が同じである場合、サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプル及び式Actionevili=(Actionposi-Actionnegi)によって動作の悪意動作値を取得することに用いられる動作判断ユニットと
を含み、
ここで、Actionposiは悪意プログラムサンプルセットでの動作iの発生頻度を示し、Actionnegi)は非悪意プログラムサンプルセットでの動作iの発生頻度を示し、Actioneviliは悪意動作値を示し、
前記動作判断ユニットは、Actioneviliが所定の閾値より大きい場合、動作iが悪意動作であると判断することに用いられる
ことを特徴とするプログラムの悪意属性の判別用サーバ。
【請求項5】
前記サーバは、更に、既存の悪意動作値によって新たな悪意動作値を取得することに用いられる新規悪意値取得ユニットを含み、前記悪意動作値が式scorenewi=scoreoldi×(1+ratei)、ratei=IsBlacktoday_ratei-IsBlackyesterday_rateiによって確定され、
ここで、scorenewiは悪意動作iの新たな悪意動作値を示し、scoreoldiは悪意動作iの既存の悪意動作値を示し、rateiは悪意動作iの変化率を示し、IsBlacktoday_ratei、悪意動作iが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、現在記録された悪意動作iの悪意動作百分率を示し、IsBlackyesterday_ratei、悪意動作iが検出されたサンプルに対する悪意サンプルと判断されたサンプルの割合である、前回記録された悪意動作iの悪意動作百分率を示す
ことを特徴とする請求項に記載のサーバ。
【請求項6】
前記判断ユニットは、更に、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断し、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断することに用いられる
ことを特徴とする請求項4又は5に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネット通信分野に関し、特にプログラムの悪意属性の判別方法及び判別用サーバに関する。
【背景技術】
【0002】
本出願は、2011年8月23日に出願され、中国特許出願番号が2011102431215であり、出願人が騰訊科技(深セン)有限公司であり、発明名称が「プログラムの悪意属性の判別方法及び判別用サーバ」である中国特許出願の優先権の利益を亨受し、その中国特許出願の全内容は本出願において援用される。
【0003】
例えば、コンピュータマネージャにおけるトロイの木馬クラウドスキャン機能のような既存のウイルススキャンプログラムでは、独立レポートファイル(独立レポートファイルとはクライアントから報告された、スキャンされた互いに異なるファイルである)における20%程度のみについて、黒白属性を判断することができる。残りの80%の独立レポートファイルでは、50%のファイルがグレーな独立レポートファイルとされる。即ち、ウイルススキャンバックグラウンドにこれらのファイルと同じサンプルが記憶されているが、アンチウイルスソフトウェアによるスキャンによって黒白属性(即ち、ファイルにウイルスがあるかどうか)が判断されない。残りの30%の独立レポートファイルは、根本的にウイルススキャンバックグラウンドにおける同じサンプルファイルを持っておらず、アンチウイルスソフトウェアセットのスキャンを行って属性を判断することができない。
【0004】
以上の説明から理解されるように、現在におけるトロイの木馬クラウドスキャン技術では、許容差計画に関与するユーザから伝送された疑わしいpeファイル(pe:Portable Execute)を収集することで、これらの疑わしいpeファイルを、アンチウイルスソフトウェアによりスキャンし、これにより、予め指定されたスキャンルールに従って、スキャンすべきpeファイルの黒、白及びグレー属性を取得している。
【0005】
しかし、この方法の欠点は、バックグラウンドにレポートファイルに対応するサンプルがない場合、ユーザがクラウドスキャンを行うときに、黒、白及びグレー属性を取得できないといった点にあり、また、一部のpeファイルがバックグラウンドに存在していても、既存のスキャンモデルではその黒、白及びグレー属性を取得できないといった点にある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施形態が解決しようとする技術的課題は、バックグラウンドにおける同じサンプルを持っていないレポートファイルの悪意属性を判断することができるプログラムの悪意属性の判別方法及び判別用サーバを提供することにある。
【課題を解決するための手段】
【0007】
上記の技術的問題を解決するために、本発明の実施形態に係るプログラムの悪意属性の判別方法は、クライアントでの前記プログラムの動作データを取得するステップと、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得するステップと、前記プログラムの悪意動作及び/または悪意動作値によって前記プログラムの悪意属性を判断するステップとを含む。
【0008】
対応して、本発明の実施形態は、さらに、プログラムの悪意属性の判別用サーバを提供し、この判別用サーバは、クライアントでの前記プログラムの動作データを取得することに用いられるクライアントデータ取得ユニットと、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得することに用いられる動作データ取得ユニットと、前記プログラムの悪意動作及び/または悪意動作値によってプログラムの悪意属性を判断することに用いられる判断ユニットとを含む。
【0009】
本発明の実施形態では、プログラムの動作データを取得し、そしてバックグラウンドの他のサンプルデータに応じて、プログラムにおけるこれらの動作のうちどの動作が悪意動作であるかを判断することによって、プログラムの悪意属性を判断している。そのため、本発明の実施形態は、バックグラウンドに同じサンプルがない場合でも、プログラムの悪意属性を判断することができ、これにより、システムのウイルススキャン効率を向上させることができる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態におけるプログラムの悪意属性の判別方法の一例を示す具体的なフローチャートである。
図2】本発明の実施形態におけるプログラムの悪性属性の判別の一例を示す具体的なフローチャートである。
図3】本発明の実施形態におけるプログラムの悪意属性の判別用サーバの一例を示す構成構造図である。
図4】本発明の実施形態におけるプログラムの悪意属性の判別用サーバの別の構成構造図である。
【発明を実施するための形態】
【0011】
本発明の実施形態または従来技術における技術的スキームをより明確に説明するために、図面の簡単な説明の欄において、実施形態または従来技術に必要な図面を簡単に説明する。明らかなように、図面の簡単な説明の欄における図面は、本発明のいくつかの実施形態に過ぎない。本分野の当業者であれば、創造的な努力をすることなく、これらの図面に基づいて他の図面を取得することができる。
【0012】
以下、本発明の実施形態における図面を参照しながら、本発明の実施形態における技術的スキームを、明確かつ完全に説明する。明らかなように、ここで説明される実施形態は、本発明の実施形態の一部に過ぎず、全ての実施形態ではない。本発明の実施形態に基づき、本分野の当業者が創造的な努力をすることなく取得したすべての他の実施形態は、本発明の保護範囲に属する。
【0013】
本発明の実施形態では、クライアントで生成されたプログラムの動作データが取得され、同時に、ウイルススキャンバックグラウンドの既存のプログラムサンプルにおいて、既存のサンプルによって、様々な悪意動作及び悪意動作値が定義される。本発明の実施形態では、クライアントから送信されたプログラムの動作データを受信した後、プログラムに悪意動作及び当該悪意動作の悪意動作値があるかどうかを判断することができる。これにより、プログラムの悪意属性の判断が実現される。
【0014】
図1に示すように、本発明の実施形態におけるプログラムの悪意属性の判別方法は、以下のステップを含む。
【0015】
ステップ100、ローカルに記憶されたサンプルデータによって悪意動作セットを取得し、そして前記悪意動作セットにおける悪意動作の悪意動作値を取得する。本ステップは、選択可能であり、即ちシステムは、予めサンプルデータによって悪意動作及びその悪意程度を定義することができる。
【0016】
本ステップは、サンプル訓練プロセスであり、具体的には、重み付け法のような様々なサンプル訓練方式を用いて動作の悪意性を判断することができる。本発明の実施形態は、後述のように、更に具体的なサンプル訓練方式を提供する。
【0017】
第一:訓練プロセスにおいて、各ユーザの動作属性が悪意かそれとも正常かを判断する。正負属性動作の抽出方法は、周波数に基づく抽出、カイ二乗統計量に基づく抽出、情報ゲインに基づく抽出などの様々な方法がある。これらの方法は、最初にテキストのフィルタリングに用いられる。例えば、本発明のいくつかの具体的な実施形態では、特定のカテゴリを最も良く表すことができるユーザ動作を抽出するというこれらの全ての方法での一般的原理における特徴抽出アルゴリズムの考え方が用いられている。同様の原理に基づき、本発明の実施形態は、悪意サンプルセットと正常サンプルセットにおける特定動作の出現回数の差に基づいて、異なる属性の動作を抽出することができる。また、その後に、異なる特徴抽出方法が用いられてもよい。
【0018】
第二:各悪意動作に対して採点を行う。採点方法は、悪意peファイルと正常peファイルにおける1つのユーザ動作の出現回数の差により、予め当該動作の得点を取得するという方法である。つまり、悪意プログラムサンプルセット(当該セットにおけるプログラムは既に悪意プログラムに確定されている)と非悪意プログラムサンプルセット(当該セットにおけるプログラムは既に非悪意プログラムに確定されている)におけるサンプルの数が同じであると判断した場合、式(1)によって動作が悪意動作であるかどうかを判断し、そして当該悪意動作の悪意指数Actioneviliを取得する。
【0019】
Actionevili=(Actionposi-Actionnegi) (1)
ここで、Actionposiは悪意プログラムサンプルセットにおける動作iの発生頻度を示し、Actionnegiは非悪意プログラムサンプルセットにおける動作iの発生頻度を示す。動作iの悪意指数Actioneviliが所定の閾値より大きい場合、動作iが悪意動作であると判断する。このように、サンプルデータにおける全ての動作を判断し、全ての悪意動作を取得することによって、1つの悪意動作セットを形成し、そして悪意動作に値を与えて悪意動作値を取得することができる。この動作値は悪意の程度によって設定された値である。
【0020】
上記方法の原理は、2つのセットにおける特定のクライアント動作の発生頻度の差が大きくなるほど、悪意プログラムサンプルセットに現れるクライアント動作の可能性が高くなり、当該動作がより危険で、高リスクであることを表すといった原理である。
【0021】
当該悪意動作値は、連続的に更新することもできる。即ちテストプロセスにおいて、悪意サンプルのフィルタ閾値を確定する。
【0022】
第1:初期フィルタ閾値は、本発明の実施形態において特定された方法を用い、全ての訓練サンプルに対して採点を行い、全ての訓練サンプルの悪意動作の得点の合計を判断することによって確定することができる。1つの初期フィルタ閾値を、順次、特定し、テストにおいて、1つのサンプルの悪意動作の得点の合計が訓練サンプルにおける特定の閾値を超えた場合、黒サンプルであると判断する。
【0023】
第2:本発明の実施形態における方法は、とても良い拡張性を持つため、新たな悪意動作が検出された場合、当該悪意動作を悪意動作データベースに加え、且つ1つの初期値を指定することができる。その後、改めて学習し、当該動作の得点を確定する。例えば、以下のような具体的な学習プロセスが採用される。
【0024】
得点判断待ちのユーザ動作を有する100個のファイルをランダムに抽出する。ある動作について、新たな得点は、元の得点に変化率を乗じた値に等しい。変化率は正の数であってもよいし、負の数であってもよい。100個のファイルから検出された黒サンプルの今日の割合が昨日の割合よりも大きくなった場合、変化率は正の数となり、逆に、黒サンプルの検出率が持続的に低下した場合、この動作の悪意率が徐々に低下していると考えられ、この場合には、変化率が負の数となる。長期的な動作により、各悪意動作に一定の適当な得点が与えられ、そして最終的に安定する。
【0025】
第3:最良の学習目標を達成するために、異なるユーザ動作分類方法と採点方法を用いて学習を行ってもよい。この場合フィルタ効果の良い方法を用いる。
【0026】
例えば、悪意動作値は、下記の式(2)と(3)によって確定される。
scorenewi=scoreoldi×(1+ratei) (2)
ratei=IsBlacktoday_ratei-IsBlackyesterday_ratei (3)
【0027】
ここで、scorenewiは悪意動作iの新たな悪意動作値を示し、scoreoldiは悪意動作iの既存の悪意動作値を示し、rateiは悪意動作iの変化率を示し、IsBlacktoday_rateiは現在記録された(例えば当日の記録)の悪意動作iの悪意動作の百分率を示し、IsBlackyesterday_rateiは前回記録(昨日の記録)された悪意動作iの悪意動作の百分率を示す。
【0028】
一般的には、悪意動作iが検出されたファイルのトップ10内における、悪意ファイル(黒ファイル)とされたファイルのサンプルの割合(黒ファイル検出率)が昨日よりも大きい場合、悪意動作iの変化率は正の数となり、逆に、黒ファイル検出率が持続的に低下した場合、この動作の悪意率が徐々に低下していると考えられ、この場合には、悪意動作iの変化率は負の数となる。
【0029】
そして、上記方法では、悪意動作を抽出できるだけではなく、白い動作に対しても採点を行うことができる。判断待ちのファイルの白属性得点の合計がある閾値を超えた場合、そのファイルは、白いファイルであると判断される。また、実際の使用プロセスにおいては、悪意動作の判別方法及び判別における閾値を持続的に更新することができる。
【0030】
ステップ101、クライアントでの前記プログラムの動作データを取得する。当該動作データは、システムに定義された動作の識別子のみであってもよいし、動作に対する様々な説明を含んでいてもよい。
【0031】
ステップ102、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映する悪意動作値とを取得する。
【0032】
ステップ103、前記プログラムの悪意動作及び/または悪意動作値によって前記プログラムの悪意属性を判断する。当然ながら、本ステップでは、プログラムが悪意動作を含むかどうかのみによってプログラムの悪意属性を判断し、悪意動作またはある特定の悪意動作が存在すれば、当該プログラムが悪意プログラムであると判断する。従って、前記ステップでは、プログラムの悪意動作さえ取得すれば、判断を行うことができる。しかしながら、このような判断は、比較的に広範であり、そのため下記の方式に従って判断することもできる。
【0033】
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断する。例えば、遠隔制御や、ドメインファイルの直接的な変更などの動作をプログラムが許可している場合、このプログラムを悪意プログラムとして直接的に判断することができる。
【0034】
前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断する。
【0035】
図2に示すように、前記閾値によってプログラムの属性を判断するプロセスは、以下の処理を含んでいてもよい。プログラムの実行ファイルを取得し、当該ファイルが悪意ファイルであるかどうかを判断する。悪意ファイルである場合、当該プログラムが悪意プログラムであることをクライアントに返す。悪意ファイルでない場合、明らかな悪意動作があるかどうかを判断する。明らかな悪意動作がある場合、当該プログラムが悪意プログラムであることをクライアントに返す。明らかな悪意動作がない場合、一般的な悪意動作があるかどうか、即ち前記プログラムのいずれかの悪意動作値が高リスク閾値より大きいかどうかを判断する。一般的な悪意動作がある場合、当該プログラムが悪意プログラムであることをクライアントに返す。一般的な悪意動作がない場合、総悪意閾値を超えたかどうか、即ち前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きいかどうかを判断する。総悪意閾値を超えた場合、当該プログラムが悪意プログラムであることをクライアントに返す。総悪意閾値を超えていない場合、当該プログラムが非悪意プログラムであることをクライアントに返す。前記閾値は、実際の状況に応じて調整することができると理解できる。
【0036】
本実施形態における前記方法は、既存のクラウドスキャンの補足として用いることができる。即ち、バックグラウンドに同じサンプルを持つプログラムに対しては、当該サンプルの属性によって直接的に当該プログラムの属性を判断してもよい。一方、バックグラウンドに同じサンプルを持っていないプログラムに対しては、前記方法によりプログラムの属性を判断することができる。従って、当該方法は、クラウドエンジンウィルススキャンシステムに用いることができる。
【0037】
対応して、本発明の実施形態は、更にプログラムの悪意属性の判別用サーバを提供する。図3に示すように、当該サーバ3は、クライアントでの前記プログラムの動作データを取得することに用いられるクライアントデータ取得ユニット30と、前記プログラムの動作データと、ローカルに記憶された、悪意プログラムサンプルセット及び非悪意プログラムサンプルセットが含まれるサンプルデータとによって、前記プログラムの悪意動作と、前記悪意動作の悪意程度を反映している悪意動作値とを取得することに用いられる動作データ取得ユニット32と、前記プログラムの悪意動作及び/または悪意動作値によって前記プログラムの悪意属性を判断することに用いられる判断ユニット34とを含む。
【0038】
ここで、前記判断ユニット34は、更に、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きい場合、前記プログラムが悪意プログラムであると判断し、前記プログラムのいずれかの悪意動作値が高リスク閾値より大きくないが、前記プログラムの全ての悪意動作における悪意動作値の合計が総悪意閾値より大きい場合、前記プログラムが悪意プログラムであると判断することに用いられる。
【0039】
図4に示すように、当該サーバ3は、更に、サンプルデータにおける悪意プログラムサンプルセット及び非悪意プログラムサンプルセット内のサンプルによって、既存の動作のうちどの動作が悪意動作であるかを判断したり、悪意動作値を判断したりすることに用いられる動作判断ユニット36を含んでいてもよい。
【0040】
前記サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプルの数が同じである場合、判断ユニット36は、更に、サンプルデータにおける悪意プログラムサンプルセットと非悪意プログラムサンプルセットとのサンプル及び式(1)によって動作の悪意指数Actioneviliを取得することに用いられる。
【0041】
図4に示すように、当該サーバ3は、更に、既存の悪意動作値によって新たな悪意動作値を取得することに用いられる新規悪意値取得ユニット38を含んでいてもよい。前記悪意動作値は前記式(2)と(3)によって確定される。ここで、scorenewiは悪意動作iの新たな悪意動作値を示し、scoreoldiは悪意動作iの既存の悪意動作値を示し、rateiは悪意動作iの変化率を示し、IsBlacktoday_rateiは現在記録された悪意動作iの悪意動作百分率を示し、IsBlackyesterday_rateiは前回記録された悪意動作iの悪意動作百分率を示す。
【0042】
本発明の実施形態では、プログラムの動作データを取得し、バックグラウンドの他のサンプルデータによって、プログラムにおけるこれらの動作のうちどの動作が悪意動作であるかを判断した後、さらにプログラムの悪意属性を判断することができる。そのため、本発明の実施形態は、バックグラウンドに同じサンプルがない場合でも、プログラムの悪意属性を判断することができ、これにより、システムのウイルススキャン効率を向上させることができる。
【0043】
本分野の当業者であれば、前記実施形態の方法の全部または一部のプロセスの実現がコンピュータプログラムによる関連ハードウェアへの指示によって達成することができること、前記プログラムをコンピュータ読取可能な記憶媒体に記憶することができること、当該プログラムが、その実行において、上述した各方法の実施形態のプロセスを含むことができることを理解されるであろう。ここで、前記記憶媒体は、ディスク、光ディスク、読み取り専用メモリ(ROM:Read−Only Memory)またはランダムアクセスメモリ(RAM:Random Access Memory)等であってもよい。上述の説明は、本発明の好適な実施例に過ぎず、当然、本発明の保護範囲を限定するものではない。そのため本発明の権利範囲内で行われた如何なる同等の変形も本発明の保護範囲以内に含まれるべきである。
図1
図2
図3
図4