JP2018156561A - ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置 - Google Patents
ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置 Download PDFInfo
- Publication number
- JP2018156561A JP2018156561A JP2017054621A JP2017054621A JP2018156561A JP 2018156561 A JP2018156561 A JP 2018156561A JP 2017054621 A JP2017054621 A JP 2017054621A JP 2017054621 A JP2017054621 A JP 2017054621A JP 2018156561 A JP2018156561 A JP 2018156561A
- Authority
- JP
- Japan
- Prior art keywords
- log
- output
- software
- requests
- amount
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/142—Denial of service attacks against network infrastructure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】悪意のないソフトウェアを誤って悪意のあるソフトウェアと評価してしまうことがないよう、ソフトウェアの評価精度を高める。
【解決手段】ソフトウェア評価プログラムは、ソフトウェアへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、ソフトウェアが出力したログの出力量と該ログの出力回数との一方または両方を取得し、取得したリクエストの数と、取得したログの出力量と該ログの出力回数との一方または両方とに基づき、ソフトウェアの評価に関する情報を生成する処理をコンピュータに実行させる。
【選択図】図11
【解決手段】ソフトウェア評価プログラムは、ソフトウェアへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、ソフトウェアが出力したログの出力量と該ログの出力回数との一方または両方を取得し、取得したリクエストの数と、取得したログの出力量と該ログの出力回数との一方または両方とに基づき、ソフトウェアの評価に関する情報を生成する処理をコンピュータに実行させる。
【選択図】図11
Description
本発明は、ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置に関する。
クラウド事業者が提供するサービスの一つとして、ログの管理や監視を行うLogging as a Service(LaaS)が用いられている。
ユーザが開発したアプリケーションの振る舞いや異常を記録するためのログが一定期間保存されることで、事後にサービスの状況の確認や分析、トラブル発生時の調査等に、保存されたログが用いられることがある。
LaaSは、ユーザがクラウド上でアプリケーションを開発する際、ログの出力および管理を共通化する。LaaSが用いられることにより、アプリケーション開発に関するログの実装や運用設計の簡素化が図られる。
一方で、LaaSは、クラウドなどから提供されるWebのサービスに対して外部から攻撃(例えば、Denial of Service(DoS)攻撃)を受ける可能性がある。LaaSを用いたクラウド上のサービスには、マルチテナント方式と呼ばれる、単一のシステム及びリソースを複数の利用者が共有する方式が多く用いられている。
そのため、外部からの攻撃によってLaaSが停止させられた場合、多くのサービス利用者にログ欠損等の影響を与えることになる。従って、DoS攻撃を受けたことを検知して対応することが求められる。
関連する技術として、アクセス数に基づいて大量アクセスであるか否かを判定する技術が提案されている(例えば、特許文献1を参照)。
また、関連する技術として、ログ中のパラメータに属するイベントの時間軸上の分布を周波数軸上の分布へ変換することで攻撃の周期性を考慮したログ分析を行う技術が提案されている(例えば、特許文献2を参照)。
また、関連する技術として、ファイアウォール及び不正侵入検知装置からログを受信し、ログに含まれる複数のイベントに関するデータについてその変化量を求める技術が提案されている(例えば、特許文献3を参照)。
また、関連する技術として、パケット蓄積量が該所定の閾値以上であるときは、該処理能力に応じた所定の間引条件に基づいて該受信パケットを破棄する技術が提案されている(例えば、特許文献4を参照)。
例えば、特定のホストからのリクエストによるログ出力量が多い場合に、LaaSが攻撃を受けたと判定することが考えられる。しかし、例えば、悪意のないソフトウェアが多くのユーザに利用され、多量のリクエストを受ける可能性がある。この場合、単一のソフトウェアからの多量のログ出力リクエストがLaaSに対して実行される。
従って、ログ出力量のみに基づいて攻撃であるかを判定すると、悪意のないソフトウェアを誤って悪意のあるソフトウェアと評価してしまうおそれがある。
1つの側面として、本発明は、ソフトウェアの評価精度を高めることを目的とする。
1つの側面として、本発明は、ソフトウェアの評価精度を高めることを目的とする。
1つの態様では、ソフトウェア評価プログラムは、ソフトウェアへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、前記ソフトウェアが出力したログの出力量と該ログの出力回数との一方または両方を取得し、取得した前記リクエストの数と、取得した前記ログの出力量と該ログの出力回数との一方または両方とに基づき、前記ソフトウェアの評価に関する情報を生成する、処理をコンピュータに実行させる。
1つの側面によれば、ソフトウェアの評価精度を高めることができる。
<実施形態のシステムの全体構成の一例>
以下、図面を参照して、実施形態について説明する。図1は、実施形態のシステムの全体構成の一例を示す。実施形態のシステムは、クラウドシステム1と、ネットワーク5と、情報処理端末6とを含む。
以下、図面を参照して、実施形態について説明する。図1は、実施形態のシステムの全体構成の一例を示す。実施形態のシステムは、クラウドシステム1と、ネットワーク5と、情報処理端末6とを含む。
クラウドシステム1は、ログ監視サーバ2とアプリケーションサーバ3とLaaSサーバ4とを含む。ログ監視サーバ2とアプリケーションサーバ3とLaaSサーバ4とは、(Local Area Network)LAN等のネットワークを介して相互に通信を行うことができる。
ログ監視サーバ2は、アプリケーションサーバ3が記憶するアプリケーションに関するログの監視を行う。ログ監視サーバ2は、情報処理装置、およびコンピュータの一例である。
アプリケーションサーバ3は、ユーザが開発したソフトウェア(アプリケーション)を記憶する。アプリケーションサーバ3は、例えば、Platform as a Service(PaaS)に用いられるサーバであって、該アプリケーションサーバ3が提供するプラットフォーム上で開発されたアプリケーションを記憶してもよい。
LaaSサーバ4は、アプリケーションサーバ3が記憶するアプリケーションに関するログの記憶および管理を行う。
情報処理端末6は、ネットワーク5を介してアプリケーションサーバ3と通信を行う。情報処理端末6は、ユーザの操作に応じて、アプリケーションサーバ3に記憶されたアプリケーションにリクエストを送信する。
なお、実施形態のシステムは、図1に示す例には限られない。例えば、図1では、ログ監視サーバ2、アプリケーションサーバ3、LaaSサーバ4、情報処理端末6はそれぞれ1台であるが、それぞれ複数台であってもよい。また、例えば、ログ監視サーバ2、アプリケーションサーバ3およびLaaSサーバ4の機能は、1台のサーバにより実現されてもよい。
<LaaSに対する攻撃の例>
以下、LaaSに対する攻撃の例を、図面を用いて説明する。図2は、LaaSに対する攻撃の第1の例を示す図である。第1の例では、アプリケーションサーバ3上のアプリケーションに対するリクエストの数が少ないにもかかわらず、アプリケーションが多数のログを出力する。例えば、無限ループを行うプログラムが実装されたアプリケーションが開発された場合、該アプリケーションは、少数のリクエストに対して多数のログを出力する可能性がある。
以下、LaaSに対する攻撃の例を、図面を用いて説明する。図2は、LaaSに対する攻撃の第1の例を示す図である。第1の例では、アプリケーションサーバ3上のアプリケーションに対するリクエストの数が少ないにもかかわらず、アプリケーションが多数のログを出力する。例えば、無限ループを行うプログラムが実装されたアプリケーションが開発された場合、該アプリケーションは、少数のリクエストに対して多数のログを出力する可能性がある。
図3は、LaaSに対する攻撃の第2の例を示す図である。第2の例では、アプリケーションサーバ3には、複数のアプリケーションが記憶されている。そして、複数のアプリケーションは、それぞれ、相互にリクエストを繰り返し送るように開発されていることを想定する。
図3の例では、クラウドシステム1の外部からのリクエスト量に関わらず、アプリケーション間で多数の相互リクエストが行われることにより、多数のログがLaaSサーバ4に出力される。
図4は、LaaSに対する攻撃の第3の例を示す図である。第1の例では、アプリケーションサーバ3上のアプリケーションに対する1回のリクエストに対して、アプリケーションが多量の(データ量が大きい)ログを出力する。第3の例では、例えば、所定のリクエストに対して、多量のログを出力するアプリケーションが開発されていることが想定される。
図2〜図4の例に示すような攻撃に対して、ログ監視サーバ2は、ログ出力が攻撃によるものか否かを判定して、対処することが求められる。しかし、アプリケーションは悪意の有無にかかわらず、多量または多数のログを出力する可能性があるため、ログの出力量または出力回数のみに基づいて攻撃か否かを判定した場合、誤った判定をするおそれがある。
例えば、アプリケーションに対するリクエストの数は、アプリケーションを利用するエンドユーザの数に依存するため、ログ出力の回数もエンドユーザの数に依存する。しかし、エンドユーザの数をクラウド事業者が把握していない可能性がある。従って、ログ監視サーバ2は、LaaSに対するログ出力回数のみに基づいて、攻撃か否かを判定することは困難である。
また、一般的に、クラウド事業者は、サービス利用者が出力するログの中身を参照する権限を有していないため、ログ監視サーバ2は、リクエストの内容に基づいて、攻撃か否かを判定することは困難である。
また、ログ監視サーバ2は、振る舞い検知によって攻撃か否かの判定を行うことも考えられる。例えば、ログ監視サーバ2は、振る舞い検知として、トラフィックの監視を行い、学習を行うことが考えられる。そして、ログ監視サーバ2は、学習した内容に基づいて、通常では観測されない異常な量、異常な内容のリクエストを検知して、攻撃か否かを判定することが考えられる。
しかし、LaaSを利用するアプリケーションは、悪意がない場合であっても、多数または多量のログ出力を行う可能性がある。例えば、高度な計算機能を有するアプリケーションなど、多くのログ出力を行う悪意のないアプリケーションが配備された場合、ログ監視サーバ2は、振る舞い検知を用いると、該アプリケーションのログ出力量が正常であると学習する。そして、ログ監視サーバ2は、学習後に、悪意のあるアプリケーションが、上記の多くのログ出力を行う悪意のないアプリケーションと同量のログ出力を行った場合、誤って該悪意のあるアプリケーションを悪意がないと判定するおそれがある。
LaaSへの攻撃への対策として、特定のIPアドレスからのリクエストを制限するFire Wall(FW)をクラウドシステム1とネットワーク5との間に設けることが考えられる。しかし、悪意のあるユーザが、クラウドシステム1内にLaaSへの攻撃を目的としたアプリケーションを正規の手順で配備した場合、そのアプリケーションは、FWを経由せずに攻撃を行うことができる。従って、FWによる対策はLaaSへの攻撃への対策として十分ではない。
また、DoS攻撃の対策として、帯域制御によってアプリケーションサーバ3が受け付けるリクエストを制限する方法がある。しかし、ユーザがログを参照する際にリアルタイム性が要求される可能性があるため、帯域制御を行うとその要求を満たせない可能性がある。
<ログ監視サーバの一例>
図5は、ログ監視サーバ2の一例を示す図である。ログ監視サーバ2は、通信部11とリクエスト検知部12とログ出力検知部13と取得部14と更新部15と生成部16と判定部17と制御部18と記憶部19とを含む。生成部16は、算出部16aと閾値生成部16bとを含む。
図5は、ログ監視サーバ2の一例を示す図である。ログ監視サーバ2は、通信部11とリクエスト検知部12とログ出力検知部13と取得部14と更新部15と生成部16と判定部17と制御部18と記憶部19とを含む。生成部16は、算出部16aと閾値生成部16bとを含む。
通信部11は、アプリケーションサーバ3およびLaaSサーバ4と、各種データの送受信を行う。
リクエスト検知部12は、予め登録された特定の送信元以外の送信元からのアプリケーションサーバ3へのリクエストを検知し、記憶部19に記憶されるアプリケーション管理情報のリクエスト数を更新する。
予め登録された特定の送信元以外の送信元は、例えば、クラウドシステム1の外部の装置(例えば、図1の情報処理端末6)である。リクエスト検知部12は、例えば、検知したリクエストの送信元が予め登録された特定の送信元であるか否かを、リクエストの送信元のドメインに基づいて判定する。
ログ出力検知部13は、アプリケーションサーバ3からLaaSサーバ4へのログ出力を検知する。そして、ログ出力検知部13は、記憶部19に記憶されるアプリケーション管理情報のログ出力回数と、ログ出力量とを更新する。
取得部14は、所定時間毎に、アプリケーションへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数を取得する。また、取得部14は、所定時間毎に、アプリケーションが出力したログの出力量と該ログの出力回数とのうち何れか一方または両方を取得する。取得部14は、例えば、アプリケーション管理情報に記録されたリクエスト数、ログ出力量、およびログ出力回数を取得する。
更新部15は、取得部14が取得したリクエスト数、ログ出力量、およびログ出力回数に基づいて、リクエスト1回あたりのログ出力回数とリクエスト1回あたりのログ出力量とをアプリケーション毎に算出する。
そして、更新部15は、記憶部19に記憶されるログ出力分布情報を更新する。ログ出力分布情報は、リクエスト1回あたりのログ出力回数とリクエスト1回あたりのログ出力量との分布を示す情報である。
生成部16は、取得部14が取得したリクエストの数と、ログの出力量と該ログの出力回数とのうち何れか一方または両方に基づき、ソフトウェアの評価に関する情報を生成する。ソフトウェアの評価に関する情報は、アプリケーションがLaaSサーバ4に対する攻撃に用いられたかの判定に用いる閾値である。また、ソフトウェアの評価に関する情報は、リクエスト1回あたりのログの出力量とリクエスト1回あたりのログの出力回数とのうち何れか一方または組み合わせに対する閾値である。
生成部16は、予め設定されたログの最大保存量が少なくなるに応じて、値が低くなる閾値を生成する。算出部16aおよび閾値生成部16bの処理については、詳しくは後述する。
判定部17は、リクエスト1回あたりのログの出力量とリクエスト1回あたりの該ログの出力回数とのうち何れか一方または組み合わせが、生成された閾値を超えるかを判定することにより、アプリケーションがLaaSサーバ4に対する攻撃に用いられているかを判定する。
制御部18は、アプリケーションがLaaSサーバ4に対する攻撃に用いられていると判定された場合、該アプリケーションに対する対応を行う。制御部18は、例えば、該アプリケーションの動作を制限する制御を行う。
制御部18は、例えば、LaaSサーバ4に対する攻撃に用いられていると判定されたアプリケーションを停止させてもよい。制御部18は、帯域制御を行うことにより、攻撃に用いられていると判定されたアプリケーションの通信量を制限してもよい。制御部18は、クラウド事業者への通知や、ユーザへの通知、ログの保存抑制、ログ出力の停止、ログの内容取得等の対応を行ってもよい。
記憶部19は、アプリケーション管理情報と、ログ出力量区分情報と、ログ出力回数区分情報と、ログ最大保存量設定情報と、ログ出力分布情報とを記憶する。記憶部19が記憶する各情報について、詳しくは後述する。
<記憶部に記憶される情報の例>
記憶部19に記憶される各情報について説明する。図6は、アプリケーション管理情報の一例を示す図である。図6に示すように、アプリケーション管理情報は、アプリケーションIdentification(ID)とアプリケーションUniform Resource Locator(URL)とを含む。また、アプリケーション管理情報は、アプリケーションIDおよびアプリケーションURLに対応付けられたリクエスト数とログ出力回数とログ出力量とを含む。図6の例におけるログ出力量の単位はKB(キロバイト)である。
記憶部19に記憶される各情報について説明する。図6は、アプリケーション管理情報の一例を示す図である。図6に示すように、アプリケーション管理情報は、アプリケーションIdentification(ID)とアプリケーションUniform Resource Locator(URL)とを含む。また、アプリケーション管理情報は、アプリケーションIDおよびアプリケーションURLに対応付けられたリクエスト数とログ出力回数とログ出力量とを含む。図6の例におけるログ出力量の単位はKB(キロバイト)である。
また、上述のように、リクエスト数は、リクエスト検知部12により更新される。また、ログ出力回数とログ出力量とは、ログ出力検知部13により更新される。
図7は、ログ出力量区分情報の一例を示す図である。図7に示すように、ログ出力量区分情報では、データ量IDと、リクエスト1回あたりに出力されるログのデータ量とが対応付けられている。ログ出力量区分情報は、後述するログ出力分布情報の生成に用いられる。ログ監視サーバ2は、各データ量IDに対応するデータ量の範囲を、実際のログの出力状況に合わせて適宜更新してもよい。
図8は、ログ出力回数区分情報の一例を示す図である。図7に示すように、ログ出力回数区分情報は、出力回数IDと、リクエスト1回あたりのログ出力回数とが対応付けられている。ログ出力回数区分情報は、後述するログ出力分布情報の生成に用いられる。ログ監視サーバ2は、出力回数IDに対応するログ出力回数の範囲を、ログの出力状況に合わせて適宜更新してもよい。
図9は、ログ出力分布情報の一例を示す図である。図9のログ出力分布情報に示す数値は、データ量IDと出力回数IDとの組み合わせについての発生回数を示す。例えば、ログ出力分布情報は、所定期間内に、出力回数IDがC1であり、かつデータ量IDがD1となる回数が100であることを示している。
図10は、ログ最大保存量設定情報の一例を示す図である。図10に示すように、ログ最大保存量設定情報には、アプリケーションIDにログの最大保存量[GB:ギガバイト]が対応付けられている。ログの最大保存量は、例えば、クラウドシステム1のユーザにより契約時に予め設定される。
例えば、ユーザは、高度な計算を行うアプリケーションを利用する場合、一度のリクエストに対して多数の処理を行うため、多量のログを出力することを想定する。多量のログが出力された場合、ユーザにより、ログの最大保存量は大きな値に設定されることが想定される。
一方、ログの最大保存量を大きくするためには、追加の課金が求められる可能性があるため、悪意のあるアプリケーションには最大保存量が小さく設定される可能性が高い。従って、ログ監視サーバ2は、ログの最大保存量を、アプリケーションが攻撃に用いられているか否かの判定に利用することができる。
<生成部の処理の例>
以下、生成部16の処理の例を説明する。図11は、出力回数についての閾値の生成方法の一例を示す図である。図11(a)は、出力回数と頻度との関係を示す2次元ヒストグラムである。
以下、生成部16の処理の例を説明する。図11は、出力回数についての閾値の生成方法の一例を示す図である。図11(a)は、出力回数と頻度との関係を示す2次元ヒストグラムである。
算出部16aは、ログ出力分布情報において、ログ出力分布情報の各データ量ID(C1〜C6)の発生回数合計をログ出力分布情報の全値の合計で割ることにより頻度を算出する。算出部16aは、算出した頻度に基づいて、図11(a)に示すようなヒストグラムを作成する。また、算出部16aは、作成したヒストグラムが、出力回数が負の値の領域においても同様の分布になると仮定して、近似する正規分布を算出する。
そして、算出部16aは、正規分布において、各区分の頻度を加算した値の、各区分の頻度の累計値に対する割合が99%となる位置の頻度を基準値Zallとする。基準値Zallは、頻度の累計値に対する割合が99%以外の位置の頻度であってもよい。図11(a)に示す例では、C1〜C6の頻度累計に対してC1〜C5の頻度累計が99%であることを示している。
そして、算出部16aは、記憶部19に記憶されたログ最大保存量設定情報に基づいて、全アプリケーションのログ最大保存量の平均値Cavgを算出する。そして、算出部16aは、Zall×Cavgを算出し、算出結果を定数aとする。
図11(b)は、閾値を生成する対象アプリケーションの出力回数と頻度との関係を示す2次元ヒストグラムの一例である。以下、閾値を生成する対象アプリケーションを単に対象アプリケーションと記載することがある。閾値生成部16bは、対象アプリケーションのログの最大保存量Cを記憶部19に記憶されたログ最大保存量設定情報から取得する。
そして、閾値生成部16bは、a÷Cを算出し、算出結果を対象アプリケーションの基準値Zthdとする。そして、閾値生成部16bは、閾値Zthdを示す直線と正規分布との交点における、リクエスト1回あたりのログ出力回数を、アプリケーションがLaasに対する攻撃に用いられているか否かの判定に用いる閾値Rに設定する。
なお、図11に示す例において、リクエスト1回あたりのログ出力回数についての閾値の生成を説明したが、生成部16は、リクエスト1回あたりのログ出力量についても、同様の方法で閾値を生成することができる。
以上のように、基準値Zthdはa÷Cであるため、対象アプリケーションのログの最大保存量Cが少なくなるに応じて、基準値Zthdは大きくなる。また、図11(b)に示すように、基準値Zthdは大きくなるに応じて、閾値Rは小さくなる。上述したように、悪意のあるアプリケーションほど、最大保存量Cを少ない値に設定している可能性が高い。すなわち、ログ監視サーバ2は、最大保存量Cが少ないほど、低い閾値Rを生成することにより、アプリケーションがログを記憶するサーバへの攻撃に用いられたことを検出しやすくする。
図12は、ログ出力回数とログ出力量の組についての閾値の生成方法の一例を示す図である。図12(a)は、出力回数および出力量の組と頻度との関係を示す3次元ヒストグラムを示す図である。図12(b)は、図12(a)に対応する、出力回数および出力量の組と頻度との関係を示す図である。
算出部16aは、図9に示すログ出力分布情報の各データ量ID(C1〜C6)および各出力回数ID(D1〜D6)の組の値を、ログ出力分布情報の全値の合計で割ることにより頻度を算出する。
算出部16aは、算出した頻度に基づいて、図12(a)に示すような3次元ヒストグラムを作成する。また、算出部16aは、作成した3次元ヒストグラムが、出力回数および出力量が負の値の領域においても同様の分布になると仮定して、近似する正規分布を算出する。
そして、算出部16aは、正規分布において、各区分の頻度を加算した値の、各区分の頻度の累計値に対する割合が99%となる位置の頻度を基準値Zallとする。図12(a)に示す例では、曲線Bにおける頻度が基準値Zallとなる。
そして、算出部16aは、記憶部19に記憶されたログ最大保存量設定情報に基づいて、各アプリケーションのログ最大保存量の平均値Cavgを算出する。そして、算出部16aは、Zall×Cavgを算出し、算出結果を定数aとする。
図12(c)は、対象アプリケーションの出力回数および出力量の組に対する閾値を生成する際に用いられる3次元ヒストグラムの一例を示す。閾値生成部16bは、対象アプリケーションのログの最大保存量Cを記憶部19に記憶されたログ最大保存量設定情報から取得する。
そして、閾値生成部16bは、a÷Cを算出し、算出結果を対象アプリケーションの基準値Zthdとする。そして、閾値生成部16bは、閾値Zthdを通る平面と正規分布とが交わる曲線Rを、対象アプリケーションがLaasサーバ4に対する攻撃に用いられたか否かの判定に用いる閾値に設定する。
該閾値は、リクエスト1回あたりの出力回数およびリクエスト1回あたりの出力量の組に対する閾値である。例えば、判定部17は、図12(c)において、出力回数と出力量との組が示す部分の少なくとも一部が閾値Rより外側(斜線の範囲外)にある場合、アプリケーションが攻撃に用いられたと判定してもよい。
図12に示す例では、図11に示す例と同様に、基準値Zthdはa÷Cであるため、対象アプリケーションのログの最大保存量Cが少なくなるに応じて、基準値Zthdは大きくなる。また、図12(c)に示すように、基準値Zthdは大きくなるに応じて、閾値Rの範囲は小さくなる。従って、アプリケーションがログを記憶するサーバへの攻撃に用いられたことを検出しやすくする。
また、ログ監視サーバ2は、リクエスト1回あたりのログ出力量とリクエスト1回あたりのログ出力回数との両方を用いることにより、ログ出力回数とログ出力量の両方を増加させる攻撃を検出しやすくすることができる。
<実施形態の処理の流れを示すフローチャート>
図13は、リクエスト検知処理の一例を示すフローチャートである。リクエスト検知部12は、予め登録された特定の送信元以外の送信元からのアプリケーションサーバ3へのリクエストを検知した場合(ステップS101でYES)、記憶部19に記憶されるアプリケーション管理情報のリクエスト数を更新する(ステップS102)。
図13は、リクエスト検知処理の一例を示すフローチャートである。リクエスト検知部12は、予め登録された特定の送信元以外の送信元からのアプリケーションサーバ3へのリクエストを検知した場合(ステップS101でYES)、記憶部19に記憶されるアプリケーション管理情報のリクエスト数を更新する(ステップS102)。
リクエスト検知部12は、予め登録された特定の送信元以外の送信元からのアプリケーションサーバ3へのリクエストを検知しない場合(ステップS102でNO)、検知するまで待機する。
図14は、ログ出力検知処理の一例を示すフローチャートである。ログ出力検知部13は、アプリケーションサーバ3からLaaSサーバ4へのログ出力を検知した場合(ステップS201でYES)、記憶部19に記憶されるアプリケーション管理情報のログ出力量を更新する(ステップS202)。そして、ログ出力検知部13は、アプリケーション管理情報のログ出力回数を更新する(ステップS203)。
ログ出力検知部13は、アプリケーションサーバ3からLaaSサーバ4へのログ出力を検知しない場合(ステップS201でNO)、検知するまで待機する。
図15〜図17は、ログ監視処理の一例を示すフローチャートである。ログ監視サーバ2は、前回のログ監視処理(例えば、後述するステップS301でYESとなった時点)から所定時間経過したかを判定する(ステップS301)。所定時間経過している場合(ステップS301でYES)、ログ監視サーバ2は、各アプリケーションに対する繰り返し処理を開始する(ステップS302)。
取得部14は、対象アプリケーションへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、アプリケーションが出力したログの出力量と該ログの出力回数との一方または両方を取得する(ステップS303)。取得部14は、例えば、アプリケーション管理情報に記録された対象アプリケーションのリクエスト数、ログ出力量、およびログ出力回数を取得する。
更新部15は、取得部14が取得したリクエスト数、ログ出力量、およびログ出力回数に基づいて、リクエスト1回あたりのログ出力回数とリクエスト1回あたりのログ出力量とを算出する(ステップS304)。
そして、更新部15は、ステップS304の算出結果に基づいて、記憶部19に記憶されるログ出力分布情報を更新する(ステップS305)。更新部15は、例えば、ステップS304の算出結果と、ログ出力量区分情報(例えば、図7)とログ出力回数区分情報(例えば、図8)とに基づいて、ログ出力分布情報(例えば、図9)を更新する。
そして、更新部15は、アプリケーション管理情報における対象アプリケーションのリクエスト数、ログ出力量、およびログ出力回数を初期化する(ステップS306)。更新部15は、例えば、アプリケーション管理情報における対象アプリケーションのリクエスト数、ログ出力量、およびログ出力回数を「0」にする。ログ監視サーバ2は、アプリケーション管理情報に含まれる全てのアプリケーションに対してステップS303〜S306の処理を終了したら、繰り返し処理を終了する(ステップS307)。
算出部16aは、ログ出力分布情報の各データ量IDおよび各出力回数IDの組の値を、ログ出力分布情報の全値の合計で割ることにより頻度を算出する(ステップS311)。算出部16aは、ログ出力回数に対する閾値を生成する場合、ログ出力分布情報の各出力回数IDの発生回数合計をログ出力分布情報の全値の合計で割ることにより頻度を算出してもよい。算出部16aは、ログ出力量に対する閾値を生成する場合、ログ出力分布情報における各出力量IDの発生回数合計をログ出力分布情報の全値の合計で割ることにより頻度を算出してもよい。
算出部16aは、算出した頻度に基づいて、ヒストグラムを作成する(ステップS312)。また、算出部16aは、作成したヒストグラムが、出力回数が負の値の領域においても同様の分布になると仮定して、近似する正規分布を算出する(ステップS313)。
算出部16aは、正規分布に含まれる頻度の割合に基づいて、基準値Zallを算出する(ステップS314)。例えば、算出部16aは、正規分布において、頻度の累計値に対する割合が所定割合となる位置の頻度を基準値Zallとする。
そして、算出部16aは、記憶部19に記憶されたログ最大保存量設定情報に基づいて、各アプリケーションのログ最大保存量の平均値Cavgを算出する(ステップS315)。そして、算出部16aは、Zall×Cavgを算出し、算出結果を定数aとする(ステップS316)。
ログ監視サーバ2は、各アプリケーションに対する繰り返し処理を開始する(ステップS321)。閾値生成部16bは、対象アプリケーションのログの最大保存量Cを記憶部19に記憶されたログ最大保存量設定情報から取得する(ステップS322)。
そして、そして、閾値生成部16bは、a÷Cを算出し、算出結果を対象アプリケーションの基準値Zthdとする(ステップS323)。そして、閾値生成部16bは、閾値ZthdとステップS303で算出した正規分布に基づいて、アプリケーションがLaasに対する攻撃に用いられているか否かの判定に用いる閾値Rを設定する(ステップS324)。
そして、閾値生成部16bは、ログ出力回数またはログ出力量のいずれか一方に関する閾値Rを生成する場合、閾値Zthdを示す直線と正規分布との交点におけるログ出力回数を閾値Rに設定する。閾値生成部16bは、リクエスト1回あたりの出力回数およびリクエスト1回あたりの出力量の組に対する閾値を生成する場合、閾値Zthdを通る平面と正規分布とが交わる曲線Rを閾値に設定する(図12(c)参照)。
判定部17は、リクエスト1回あたりのログの出力量とリクエスト1回あたりの該ログの出力回数とのうち何れか一方または組み合わせが、生成された閾値を超えるかを判定する(ステップS325)。ステップS325でYESの場合、制御部18は、該アプリケーションへの対応を行う(ステップS326)。例えば、制御部18は、該アプリケーションの動作を制限する制御を行う。
ログ監視サーバ2は、全てのアプリケーションに対してステップS322〜S326の処理を行った場合、繰り返し処理を終了する(ステップS327)。ログ監視サーバ2は、クラウド事業者等から、監視終了指示を受けた場合(ステップS328でYES)、監視処理を終了する。ログ監視サーバ2は、クラウド事業者等から、監視終了指示を受けていない場合(ステップS328でNO)、ステップS301に戻る。
以上のように、ログ監視サーバ2は、ログの出力量とリクエスト1回あたりの該ログの出力回数とのうち何れか一方または両方に基づいて、アプリケーションがLaaSサーバ4に対する攻撃に用いられているかを判定し、対応する。
従って、ログ監視サーバ2は、例えば、リクエストが少ないにもかかわらず多量または多数のログ出力を行う悪意のある(攻撃に用いられる)アプリケーションを検出することができる。また、ログ監視サーバ2は、アプリケーションへのリクエストが増加したことにより、通常時よりも多量または多数のログ出力が行われた場合に、悪意のないアプリケーションを悪意があると誤って判定することが抑制される。すなわち、ログ監視サーバ2は、悪意のあるアプリケーションの判定精度を向上させることができる。
また、ログ監視サーバ2は、クラウドシステム1内部ではなく、外部の送信元(予め登録されていない送信元)からのリクエストの回数を用いた判定を行う。従って、クラウドシステム1内部にある複数のアプリケーションが相互にリクエストを行う場合等に悪意のあるアプリケーションを検出することができる。
さらに、ログ監視サーバ2は、ユーザにより設定されたログの最大保存量を用いて閾値を生成する。従って、アプリケーションが出力する可能性のあるログの量をある程度予測し、定常的に多くのログ出力を行うアプリケーションを誤って悪意のあるアプリケーションであると判定することを避けることができる。
また、悪意のあるアプリケーションは、ログの最大保存量が少なく設定されている可能性が高いため、ログ監視サーバ2は、ログの最大保存量を用いることにより、悪意のあるアプリケーションの判定精度をより向上させることができる。
<ログ監視サーバのハードウェア構成の一例>
次に、図18の例を参照して、ログ監視サーバ2のハードウェア構成の一例を説明する。図18の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
次に、図18の例を参照して、ログ監視サーバ2のハードウェア構成の一例を説明する。図18の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うソフトウェア評価プログラムが適用されてもよい。
ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置114に適用してもよい。媒体接続部115は、可搬型記録媒体118と接続可能に設けられている。
可搬型記録媒体118としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))、半導体メモリ等を適用してもよい。この可搬型記録媒体118に実施形態の処理を行うソフトウェア評価プログラムが記録されていてもよい。
図5に示す記憶部19は、RAM112や補助記憶装置114等により実現されてもよい。図5に示す通信部11は、通信インタフェース116により実現されてもよい。図5に示すリクエスト検知部12とログ出力検知部13と取得部14と更新部15と生成部16と判定部17と制御部18は、与えられたソフトウェア評価プログラムをプロセッサ111が実行することにより実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体118は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 クラウドシステム
2 ログ監視サーバ
3 アプリケーションサーバ
4 Laasサーバ
5 ネットワーク
6 情報処理端末
11 通信部
12 リクエスト検知部
13 ログ出力検知部
14 取得部
15 更新部
16 生成部
17 判定部
18 制御部
19 記憶部
111 プロセッサ
112 RAM
113 ROM
2 ログ監視サーバ
3 アプリケーションサーバ
4 Laasサーバ
5 ネットワーク
6 情報処理端末
11 通信部
12 リクエスト検知部
13 ログ出力検知部
14 取得部
15 更新部
16 生成部
17 判定部
18 制御部
19 記憶部
111 プロセッサ
112 RAM
113 ROM
Claims (8)
- ソフトウェアへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、前記ソフトウェアが出力したログの出力量と該ログの出力回数とのうち何れか一方または両方を取得し、
取得した前記リクエストの数と、取得した前記ログの出力量と該ログの出力回数とのうち何れか一方または両方とに基づき、前記ソフトウェアの評価に関する情報を生成する、
処理をコンピュータに実行させるソフトウェア評価プログラム。 - 前記ソフトウェアの評価に関する情報は、前記ソフトウェアが前記ログを記憶するサーバへの攻撃に用いられたか否かの判定に用いる閾値であって、前記リクエスト1回あたりの前記ログの出力量または前記リクエスト1回あたりの該ログの出力回数に対する閾値である
請求項1記載のソフトウェア評価プログラム。 - 前記リクエスト1回あたりの前記ログの出力量または前記リクエスト1回あたりの該ログの出力回数が、それぞれに対応する前記閾値を超える場合、前記ソフトウェアの動作を制限する
処理を前記コンピュータに実行させることを特徴とする請求項2記載のソフトウェア評価プログラム。 - 前記ソフトウェアの評価に関する情報は、前記ソフトウェアが前記ログを記憶するサーバへの攻撃に用いられたか否かの判定に用いる閾値であって、前記リクエスト1回あたりの前記ログの出力量と前記リクエスト1回あたりの該ログの出力回数との組み合わせに対する閾値である
請求項1記載のソフトウェア評価プログラム。 - 前記リクエスト1回あたりの前記ログの出力量と前記リクエスト1回あたりの該ログの出力回数との組み合わせが、前記閾値を超える場合、前記ソフトウェアの動作を制限する
処理を前記コンピュータに実行させることを特徴とする請求項4記載のソフトウェア評価プログラム。 - 予め設定された前記ログの最大保存量が少なくなるに応じて、値が低くなる前記閾値を生成する
処理を前記コンピュータに実行させることを特徴とする請求項2乃至5のうちのいずれか1項に記載に記載のソフトウェア評価プログラム。 - ソフトウェアへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、前記ソフトウェアが出力したログの出力量と該ログの出力回数との一方または両方を取得し、
取得した前記リクエストの数と、取得した前記ログの出力量と該ログの出力回数との一方または両方とに基づき、前記ソフトウェアの評価に関する情報を生成する、
処理をコンピュータが実行することを特徴とするソフトウェア評価方法。 - ソフトウェアへのリクエストのうち、予め登録された特定の送信元以外の送信元からのリクエストの数と、前記ソフトウェアが出力したログの出力量と該ログの出力回数との一方または両方を取得する取得部と、
取得された前記リクエストの数と、取得された前記ログの出力量と該ログの出力回数との一方または両方とに基づき、前記ソフトウェアの評価に関する情報を生成部と、
を備えることを特徴とする情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054621A JP2018156561A (ja) | 2017-03-21 | 2017-03-21 | ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置 |
US15/920,117 US20180278645A1 (en) | 2017-03-21 | 2018-03-13 | Software evaluation method and software evaluation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054621A JP2018156561A (ja) | 2017-03-21 | 2017-03-21 | ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018156561A true JP2018156561A (ja) | 2018-10-04 |
Family
ID=63583775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017054621A Pending JP2018156561A (ja) | 2017-03-21 | 2017-03-21 | ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20180278645A1 (ja) |
JP (1) | JP2018156561A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7132542B2 (ja) | 2018-07-13 | 2022-09-07 | 京セラドキュメントソリューションズ株式会社 | ネットワークシステム、装置管理システムおよび装置管理プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070043738A1 (en) * | 2005-02-07 | 2007-02-22 | Metavize, Inc. | Methods and systems for reputation based resource allocation for networking |
KR100608136B1 (ko) * | 2005-02-18 | 2006-08-08 | 재단법인서울대학교산학협력재단 | 티씨피 연결의 스테이트풀 인스펙션에 있어서의 보안성능향상방법 |
US7872975B2 (en) * | 2007-03-26 | 2011-01-18 | Microsoft Corporation | File server pipelining with denial of service mitigation |
US9323639B2 (en) * | 2009-09-10 | 2016-04-26 | International Business Machines Corporation | Dynamic recommendation framework for information technology management |
US20150304343A1 (en) * | 2014-04-18 | 2015-10-22 | Intuit Inc. | Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment |
WO2017218031A1 (en) * | 2016-06-16 | 2017-12-21 | Level 3 Communications, Llc | Systems and methods for preventing denial of service attacks utilizing a proxy server |
-
2017
- 2017-03-21 JP JP2017054621A patent/JP2018156561A/ja active Pending
-
2018
- 2018-03-13 US US15/920,117 patent/US20180278645A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7132542B2 (ja) | 2018-07-13 | 2022-09-07 | 京セラドキュメントソリューションズ株式会社 | ネットワークシステム、装置管理システムおよび装置管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20180278645A1 (en) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3214568B1 (en) | Method, apparatus and system for processing cloud application attack behaviours in cloud computing system | |
CN107196895B (zh) | 网络攻击溯源实现方法及装置 | |
US9736173B2 (en) | Differential dependency tracking for attack forensics | |
US10291630B2 (en) | Monitoring apparatus and method | |
US9479528B2 (en) | Signature rule processing method, server, and intrusion prevention system | |
WO2018218537A1 (zh) | 工业控制系统及其网络安全的监视方法 | |
US10320833B2 (en) | System and method for detecting creation of malicious new user accounts by an attacker | |
CN112073389B (zh) | 云主机安全态势感知系统、方法、设备及存储介质 | |
KR20190075861A (ko) | DoS/DDoS 공격의 탐지 방법, 장치, 서버 및 저장 매체 | |
TWI474213B (zh) | 具攻擊防護機制的雲端系統及其防護方法 | |
CN105378745A (zh) | 基于安全问题禁用和启用节点 | |
CN111726364A (zh) | 一种主机入侵防范方法、系统及相关装置 | |
JP2015179979A (ja) | 攻撃検知システム、攻撃検知装置、攻撃検知方法および攻撃検知プログラム | |
JP2018073140A (ja) | ネットワーク監視装置、プログラム及び方法 | |
CN106416178A (zh) | 用于识别自主的、自传播的软件的方法和设备 | |
JP2018156561A (ja) | ソフトウェア評価プログラム、ソフトウェア評価方法、及び情報処理装置 | |
TWI682644B (zh) | 網路節點的移動防護方法及網路防護伺服器 | |
JP6067195B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
CN113328976B (zh) | 一种安全威胁事件识别方法、装置及设备 | |
CN113709153A (zh) | 一种日志归并的方法、装置及电子设备 | |
CN111935180A (zh) | 安防设备主动防御方法、装置及系统 | |
CN113127855A (zh) | 安全防护系统及方法 | |
KR102535251B1 (ko) | 전자 장치의 사이버 보안 리포트 생성 방법 | |
CN116938605B (zh) | 网络攻击防护方法、装置、电子设备及可读存储介质 | |
CN110166421B (zh) | 基于日志监控的入侵控制方法、装置及终端设备 |