JP2017215799A - Information processing method device, method for controlling information processing device, and computer program - Google Patents
Information processing method device, method for controlling information processing device, and computer program Download PDFInfo
- Publication number
- JP2017215799A JP2017215799A JP2016109335A JP2016109335A JP2017215799A JP 2017215799 A JP2017215799 A JP 2017215799A JP 2016109335 A JP2016109335 A JP 2016109335A JP 2016109335 A JP2016109335 A JP 2016109335A JP 2017215799 A JP2017215799 A JP 2017215799A
- Authority
- JP
- Japan
- Prior art keywords
- application
- information
- policy
- update
- vulnerability
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、強制アクセス制御の機能を有する情報処理方装置、情報処理装置の制御方法、およびコンピュータプログラムに関する。 The present invention relates to an information processing apparatus having a function of forced access control, a method for controlling an information processing apparatus, and a computer program.
一般的なコンピュータシステムにおいて、通常、システム内の重要な情報にアクセスするためにはシステム管理者の権限が必要になる。これは、システム管理者のみがシステム内の重要な情報にアクセスできるようにすることによって、悪意のある者によるコンピュータシステムの改竄などを防止するための仕組みである。 In a general computer system, a system administrator's authority is usually required to access important information in the system. This is a mechanism for preventing a malicious person from falsifying a computer system by allowing only a system administrator to access important information in the system.
しかしながら、一方で、システム管理者の権限が悪意のある者に取られてしまうと、
コンピュータシステムの改竄などが容易に行われてしまう危険性もある。そこで、システム管理者の権限を持っていても、システムの特定の実行プロセス、ファイル、及びデバイスなどのコンピュータ資源へのアクセスを制限する仕組みがいくつか提案されている。
However, on the other hand, if the authority of the system administrator is taken by a malicious person,
There is also a risk that the computer system is easily altered. In view of this, several mechanisms have been proposed for restricting access to computer resources such as specific execution processes, files, and devices of the system even if the system administrator has authority.
提案されている仕組みの一つに、強制アクセス制御(Mandatory Access Control、MACと呼ぶ)がある。これは、予め作成したセキュリティポリシー(以下、ポリシー)に基づいて、実行プロセスやファイルへのアクセスを制御するものである。特許文献1には、MACに関する技術が開示されている。 One of the proposed mechanisms is mandatory access control (referred to as Mandatory Access Control, MAC). This controls access to an execution process and a file based on a security policy (hereinafter referred to as policy) created in advance. Patent Document 1 discloses a technique related to MAC.
上述の通りに、情報処理装置にMACを適用するためには、ポリシーを作成しておく必要がある。通常、ポリシーは、コンピュータシステムの構築者などによってあらかじめ作成されている。 As described above, in order to apply the MAC to the information processing apparatus, it is necessary to create a policy. Normally, the policy is created in advance by a computer system builder or the like.
しかしながら、一般的に、オペレーティングシステムやアプリケーションプログラムには未知の脆弱性が多く存在する。そして、未知の脆弱性が発見されると、当該脆弱性を利用した不正アクセスが発生することがある。このような不正アクセスの発生は、あらかじめ作成したポリシーでは想定されておらず、あらかじめ作成したポリシーを使い続けると、不正アクセスを許容することになりかねない。よって、ポリシーを更新する必要があるが、未知の脆弱性の発見やその他の情報に基づき、ポリシーを逐次更新することは、コンピュータシステムの管理者にとって大きな作業負荷となってしまう。一方で、ユーザーインターフェースを持つ特定のアプリケーションにポリシーを自動的に更新させると、当該特定のアプリケーションが悪意のある者に乗っ取られてしまった場合、不正アクセスを許すことになりかねない。 However, in general, there are many unknown vulnerabilities in operating systems and application programs. If an unknown vulnerability is discovered, unauthorized access using the vulnerability may occur. The occurrence of such unauthorized access is not assumed in the policy created in advance, and if the policy created in advance is used continuously, unauthorized access may be permitted. Therefore, although it is necessary to update the policy, updating the policy sequentially based on the discovery of unknown vulnerabilities and other information is a heavy workload for the administrator of the computer system. On the other hand, if the policy is automatically updated by a specific application having a user interface, unauthorized access may be allowed if the specific application is hijacked by a malicious person.
本発明は、上記課題を鑑みてなされたものであり、強制アクセス制御の機能を有する情報処理方装置において、セキュリティ強度を維持しつつ、セキュリティポリシーの更新における作業負荷を軽減させることを目的とする。 The present invention has been made in view of the above-described problems, and an object of the present invention is to reduce a workload in updating a security policy while maintaining security strength in an information processing apparatus having a forced access control function. .
上記課題を鑑み、本発明は、強制アクセス制御の機能を有する情報処理装置であって、前記強制アクセス制御によってアクセスを管理するためのセキュリティポリシーを保持する保持手段と、アプリケーションの脆弱性に関する情報とアプリケーションの更新情報とを取得する取得手段と、前記取得手段で取得された情報に基づき、カーネルスレッドの機能で、前記セキュリティポリシーを更新する更新手段と、を有することを特徴とする。 In view of the above problems, the present invention provides an information processing apparatus having a forced access control function, a holding unit that holds a security policy for managing access by the forced access control, and information related to application vulnerabilities; An acquisition unit that acquires update information of an application, and an update unit that updates the security policy with a function of a kernel thread based on the information acquired by the acquisition unit.
本発明によれば、強制アクセス制御の機能を有する情報処理方装置において、セキュリティ強度を維持しつつ、セキュリティポリシーの更新における作業負荷を軽減させることが出来る。 According to the present invention, in an information processing apparatus having a forced access control function, it is possible to reduce a work load in updating a security policy while maintaining security strength.
以下、本発明の一実施形態である第1の実施形態について図面を用いて説明する。 Hereinafter, a first embodiment which is an embodiment of the present invention will be described with reference to the drawings.
(第1の実施形態)
本実施形態は、アプリケーションのアクセスを強制的に管理する強制アクセス制御の機能を有する情報処理装置に関するものである。本実施形態では、カーネルスレッドの機能を用いて、アクセスログを解析し、対応するアプリケーションのポリシー(セキュリティポリシー)の更新又は新規作成を行う。カーネルスレッドは、一般的にユーザーインターフェースを持たないため、悪意のある者に操作されてしまう可能性が低い。よって、ポリシーの更新においてセキュリティ強度を維持することが可能となる。
(First embodiment)
The present embodiment relates to an information processing apparatus having a forced access control function for forcibly managing application access. In this embodiment, the access log is analyzed using the function of the kernel thread, and the policy (security policy) of the corresponding application is updated or newly created. Since kernel threads generally do not have a user interface, there is a low possibility that they will be manipulated by a malicious person. Therefore, it is possible to maintain the security strength in updating the policy.
(情報処理装置の全体構成)
図1(A)は、本実施形態における情報処理装置100の全体構成を示したものである。
(Overall configuration of information processing device)
FIG. 1A shows the overall configuration of the
情報処理装置100は、CPU101、ROM102、RAM103、I/F104、HDD105、操作部106、表示部107、およびエンジン108を有する。そして、それぞれの構成はバス109で接続されている。
The
CPU101はROM102に格納されたコンピュータプログラムに沿って情報処理装置100内の各部の動作を制御する。また、RAM103にロードしたコンピュータプログラム(OS(Operating System)やアプリケーション)を実行したりする。ROM102は、読み出し専用メモリであり、ブートプログラムやファームウェア、後述する処理を実現するための各種コンピュータプログラム、各種データが格納されている。RAM103はCPU101にて処理を行うために一時的にプログラムやデータを格納しておくワークメモリであり、CPU101により各種コンピュータプログラムやデータがロードされる。
The
I/F104はネットワーク機器やUSBデバイスといった外部装置と通信するためのインタフェースである。ネットワークを通じたデータ通信や、外部装置とデータの送受信を行う。HDD105はOSや各種コンピュータプログラム、または各種データを保持する不揮発性の記憶装置である。 The I / F 104 is an interface for communicating with an external device such as a network device or a USB device. Data communication through the network and data transmission / reception with external devices. The HDD 105 is a non-volatile storage device that holds an OS, various computer programs, or various data.
次に、本実施形態における情報処理装置100のコンピュータプログラムの構成を図1(B)に示す。本実施形態における情報処理装置100は、OS110と複数のアプリケーション111を動作させる。複数のアプリケーション111は、OS110上で動作するコンピュータプログラムである。
Next, FIG. 1B shows the configuration of the computer program of the
アプリケーション111は、情報処理を実施するものであれば、どのようなものでも良い。例えば、文書編集アプリケーション、画像編集アプリケーションおよびWeb接続アプリケーションなどがある。また、プリント処理アプリケーション、スキャン処理アプリケーション、コピー処理アプリケーションなどもある。アプリケーション111がデータをHDD105に書き込む場合には、OS110を介して書込み処理を実施する。読出し処理も同様になる。読み書きの際には、OS110は、HDD105の論理アドレスを指定してHDD105に対する読み書きを実施する。
The
(OS110の論理構成)
図2(A)は図1のOS110の機能構成を示す模式図である。尚、以下のOS110の各機能の少なくとも一部は、カーネルスレッドで実行される。
また、図2(B)は、OS110上で動作するプロセスのプロセス情報117の例を示す図である。なお、OS110の各機能はCPU101がOSのプログラムコードを実行することにより実現される。
(Logical configuration of OS 110)
FIG. 2A is a schematic diagram showing a functional configuration of the
FIG. 2B is a diagram illustrating an example of
脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。
The vulnerability
起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムのアクセスログを解析し、解析結果をポリシー処理部114に渡す。
After startup, the system access log acquired from the
ポリシー処理部114は、脆弱性情報解析部118からアクセスログの解析結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。アクセスログの解析結果を受け取った場合、ポリシー処理部114は解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。ここで、プロセス情報117は例えば、図2(B)で示される。1行目の「Status」はプロセスの情報を示しており、例えば、休眠中を示す「sleeping」や実行中を示す「running」などがある。2行目の「Pid」は各プロセスの識別子、3行目の「Cmdline」は、実行ファイルのパスを示している。
When the
ポリシー処理部114が、仮に、キーボードやマウスなどのインタフェースやネットワークを有していたとすると、悪意のある者に乗っ取られてしまう可能性がある。よって、本実施形態では、ポリシー処理部114は、ユーザーインターフェースを持たないOS110のカーネルスレッドとして機能する。強制アクセス制御でアクセスや処理を制御できる対象は、OS110のアプリケーションやコマンドなどのユーザ空間に存在するプログラムである。カーネルスレッドは、ユーザ空間とは別空間であるカーネル空間で処理される一関数である。よって、明示的にユーザ空間からのアクセスするためのユーザーインターフェースを実装しない限りは、ユーザからのアクセスが困難である。そのため、悪意のある者による乗っ取りを防ぐことが可能となる。
If the
アクセス制御部115は、制御対象のアプリケーション111に対応するポリシーに基づいて、システムコールから取得した要求を拒絶する。拒絶されない場合は、システムコール処理部116に要求を入力する。システムコール処理部116は要求に対応したシステムコール処理を行う。以上が、本実施形態におけるOS110の機能構成である。
The
次に、OS110の<強制アクセス制御処理>と<ポリシー更新処理>について説明する。
Next, the <forced access control process> and <policy update process> of the
(強制アクセス制御処理)
図4は、ROMに格納されたOS110によって実行される強制アクセス制御処理を示すフローチャートである。以下では、図2(A)の各構成と対応づけて説明する。
(Forced access control processing)
FIG. 4 is a flowchart showing a forced access control process executed by the
まず、図4のステップS401において、図2(A)のポリシー処理部114がアプリケーション111から発行されたシステムコール(OSへの要求)を取得する。
First, in step S401 of FIG. 4, the
ステップS402において、図2(A)のポリシー処理部114が強制アクセス制御をするか否かを判定する。強制アクセス制御をする場合(YES)は、ステップS403に進む。そして、ステップS403において、図2(A)のポリシー処理部114がポリシーDB113から各アプリケーションのポリシーを入力し、アクセス制御部115に渡す。
In step S402, the
一方、ステップS402において、強制アクセス制御をしない場合(NO)は、ステップS405に進む。そして、ステップS405において、図2(A)のシステムコール処理部116がアプリケーションからの要求を処理するシステムコール処理を行い、OS110の処理を終了する。
On the other hand, when the forced access control is not performed in step S402 (NO), the process proceeds to step S405. In step S405, the system
ステップS404において、図2(A)のアクセス制御部115が入力されたポリシーに基づいてアプリケーション111がアクセスするコンピュータ資源のアクセス要求を許可するか否かを判定する。アクセス要求を許可する場合(YES)は、ステップS405に進む。そして、ステップS405において、図2(A)のシステムコール処理部116がアプリケーションからの要求を処理するシステムコール処理を行い、OS110処理を終了する。
In step S404, the
一例として、アプリケーション「App1」がファイル「/usr/local/user_data/text.txt」を読み込む要求が入力された場合について説明する。このような入力があった場合、図6(a)の601にあるポリシーが入力される。601の601aには、どのアプリケーションのポリシーかを示すために、アプリケーションの実行ファイルのパスが記述されている。601bには、具体的なルールが記載されており、ファイル毎に一行ずつ記載されている。各行の前半はファイルのパス名を示し、後半は許可する制御情報が記載される。「read」と記載されていれば、読み取りを許可し、「write」と記載されていれば、書き込みを許可する。例えば、601cの行は、ファイル「/usr/bin/App1」の読み取りを許可する。なお、特殊な記号を使用して一行で複数のファイルのルールをまとめて記載しても良い。例えば、602dの「/usr/local/user_data/* read」は「/usr/local/user_data」フォルダ以下にあるファイル全ての読み取りを許可することになる。
As an example, a case where a request for reading the file “/usr/local/user_data/text.txt” is input to the application “App1” will be described. When there is such an input, the policy at 601 in FIG. 6A is input. In 601a 601a, the path of an application execution file is described in order to indicate which application has a policy. In 601b, specific rules are described, one line for each file. The first half of each line indicates the path name of the file, and the control information to be permitted is written in the second half. If “read” is described, reading is permitted, and if “write” is described, writing is permitted. For example, the
そして、今回は、「/usr/local/user_data」フォルダ以下にある「text.txt」の読み取りは許可されているため、この要求は許可され、処理が実行される。一方、ステップS404において、アクセス要求を許可しない場合(NO)は、要求を拒否し、OS110の処理を終了する。
In this case, since reading of “text.txt” under the “/ usr / local / user_data” folder is permitted, this request is permitted and the process is executed. On the other hand, if the access request is not permitted in step S404 (NO), the request is rejected and the processing of the
(ポリシー更新処理)
図3は、OS110で実行されるポリシー更新処理の詳細を示すフローチャートである。以下では、図2(A)の各構成と対応づけて説明する。なお、この処理は、あらかじめ定められた時間間隔で定期的に実施される。例えば、一時間ごとや一日ごとに実施される。
(Policy update process)
FIG. 3 is a flowchart showing details of the policy update process executed by the
まず、図3のステップS301において、図2(A)の脆弱性情報解析部118がログDB112からアクセスログを取得する。例えば、図7(a)に示す701、図7(b)に示す702のようなアクセスログを取得する。
First, in step S301 of FIG. 3, the vulnerability
次に、ステップS302において、図2(A)の脆弱性情報解析部118がステップS301で取得したアクセスログを解析する。解析は異常なアクセスの有無の観点で行われる。ステップS302の具体的な処理は、例えば、図9(a)や図9(b)に示す処理になる。ステップS302の具体的な処理として、図9(a)および図9(b)に示す処理について説明する。
Next, in step S302, the vulnerability
図9(a)の処理では、同じファイルへのアクセスが異常に多いか否かで異常なアクセスを判定している。 In the process of FIG. 9A, abnormal access is determined based on whether or not there are abnormally many accesses to the same file.
まず、ステップS302aにおいて、同じファイルへのアクセス数が所定の閾値以上(閾値:TH_A)か否かを判定する。閾値TH_Aは、例えば100などと設定しておいても良い。閾値TH_A以上の場合(YES)は、ステップS302bに進み、ステップS302bにおいて、異常発見フラグをONにする。なお、異常発見フラグの初期値は<ポリシー更新処理>の開始前はOFFである。閾値TH_A未満の場合(NO)は、処理を終了する。 First, in step S302a, it is determined whether the number of accesses to the same file is greater than or equal to a predetermined threshold (threshold value: TH_A). The threshold value TH_A may be set to 100, for example. If it is equal to or greater than the threshold TH_A (YES), the process proceeds to step S302b, and the abnormality detection flag is turned ON in step S302b. Note that the initial value of the abnormality detection flag is OFF before the start of <policy update processing>. If it is less than the threshold TH_A (NO), the process is terminated.
例えば、図7(a)の701の場合は、701aの各行のファイルアクセスをカウントすると、同じファイル「text.txt」へ140回アクセスがあるので、閾値TH_A以上となる。ステップS302cにおいて、閾値TH_A以上の対象ファイルのパスを記録する。以上が、図9(a)の処理である。 For example, in the case of 701 in FIG. 7A, when the file access of each row of 701a is counted, since the same file “text.txt” is accessed 140 times, the threshold value TH_A is exceeded. In step S302c, the path of the target file that is equal to or greater than the threshold TH_A is recorded. The above is the process of FIG.
一方で、図9(b)の処理は、不明なIPアドレスからのアクセスが異常に多いか否かで異常なアクセスを判定している。 On the other hand, in the process of FIG. 9B, abnormal access is determined based on whether there are abnormally many accesses from unknown IP addresses.
まず、ステップS302dにおいて、不明なIPアドレスを持つ端末からのアクセスが閾値TH_B以上か否かを判定する。閾値TH_Bは例えば、10とする。閾値TH_B以上の場合(YES)は、ステップS302bに進み、ステップS302bにおいて、異常発見フラグをONにする。閾値TH_B未満の場合(NO)は、処理を終了する。例えば、図7(b)の702の場合は、702aの不明なIPアドレスをカウントすると、同じ不明なIPアドレス「XXX.XXX.XXX.YYY」から30回アクセスがあるので、閾値TH_B以上となる。ステップS302eにおいて、閾値TH_B以上の対象IPアドレスを記録する。以上が図9(b)の処理である。 First, in step S302d, it is determined whether or not an access from a terminal having an unknown IP address is greater than or equal to a threshold value TH_B. The threshold value TH_B is set to 10, for example. If it is equal to or higher than the threshold TH_B (YES), the process proceeds to step S302b, and the abnormality detection flag is turned ON in step S302b. If it is less than the threshold TH_B (NO), the process is terminated. For example, in the case of 702 in FIG. 7B, when the unknown IP address of 702a is counted, since there are 30 accesses from the same unknown IP address “XXX.XXX.XXX.YYY”, the threshold value TH_B is exceeded. . In step S302e, the target IP address equal to or higher than the threshold value TH_B is recorded. The above is the process of FIG.
なお、ステップS302における、同じファイルへのアクセスや同じIPアドレスからのアクセスのカウントは、シェルスクリプトやPerlなどを使用して文字列カウントすれば良い。 In step S302, the access to the same file and the access from the same IP address may be counted by using a shell script or Perl.
ステップS303において、図2(A)における脆弱性情報解析部118が異常発見フラグを検知し、異常が発見されたか否かを判定する。異常発見フラグがONになっており、異常が発見された場合(YES)は、ステップS304に進む。そして、図2(A)のポリシー処理部114がポリシーDB113から各アプリケーションのポリシーを入力する。異常発見フラグがOFFになっており、異常が発見されない場合(NO)は、処理を終了する。
In step S303, the vulnerability
ステップS305においては、図2(A)のポリシー処理部114によって、異常が発見されたアプリケーションのポリシーがあるか否かを判定する。ポリシーがある場合(YES)は、ステップS306に進み、図2(A)のポリシー処理部114がポリシーを更新して処理を終了する。更新方法としては、2つある。一つは、異常アクセスがあったファイルへのアクセスや異常なアクセスがあったIPアドレスからのアクセスを拒否するルールのみを追加する方法である。例えば、元のポリシーが図6(a)の601だとすると、図6(b)の602bや602cのようにルールを追加する。ルールの先頭に「deny」を記述することで拒否するルールになる。なお、602cはIPアドレス「XXX.XXX.XXX.YYY」からの全て「ALL」のアクセスを拒否する。もう一つは、拒否する範囲を拡大して追加する方法である。異常アクセスがあったファイルが所属するフォルダへのアクセスを拒否したり、異常なアクセスがあったIPアドレスがあれば、全ての外部のIPアドレスを拒否するルールのみを追加する。例えば、元のポリシーが図6(a)の601だとすると、図6(c)の603bや603cのようにルールを追加する。なお、603cは全ての外部のIPアドレス「OUTSIDE_IP_ALL」からの全て「ALL」のアクセスを拒否する。また、他の更新方法があれば、その方法を適応しても良い。
In step S305, the
一方、ポリシーがない場合(NO)は、ステップS307に進み、図2(A)のポリシー処理部114がポリシーの新規作成を行い、処理を終了する。ポリシーの新規作成は、例えば、まずは、たたき台として、図6(a)の601aに示すようなアプリケーションの実行ファイルのパスおよび601bに示すような実行ファイルの読み込みを許可のルールのみのポリシーを作成する。次に、異常アクセスが見つかったファイルの読み込みを拒否するルールを追加する。
On the other hand, if there is no policy (NO), the process proceeds to step S307, where the
(第2の実施形態)
第1の実施形態では、異常アクセスが発見されたら、カーネルスレッドを用いて、アプリケーションのポリシー更新または新規作成を行った。しかしながら、異常アクセスがなくなったり、異常アクセスに対応したアプリケーションのパッチが適応されたら、アプリケーションの負荷を考慮して、ポリシーを緩めたり、元のポリシーに戻すことが考えられる。本実施形態では、異常アクセスの変化やアプリケーションのパッチ適応を考慮したポリシー更新または新規作成を行う。これによって、ポリシーを手動で更新または新規作成することなく、異常アクセスの変化に対応することができる。
(Second Embodiment)
In the first embodiment, when an abnormal access is found, an application policy is updated or newly created using a kernel thread. However, if the abnormal access disappears or an application patch corresponding to the abnormal access is applied, the policy may be relaxed or restored to the original policy in consideration of the load of the application. In this embodiment, policy update or new creation is performed in consideration of abnormal access changes and application patch adaptation. As a result, it is possible to cope with a change in abnormal access without manually updating or creating a new policy.
本実施形態と第1の実施形態とは、(OS110の論理構成)の一部と(ポリシー更新処理)のみが異なり、それ以外は全て同じである。よって、以下では、(OS110の論理構成)の第1の実施形態からの差分と(ポリシー更新処理)のみを説明する。
This embodiment and the first embodiment are the same except for only a part of (logical configuration of OS 110) and (policy update processing), and the rest. Therefore, only the difference from the first embodiment of (
(OS110の論理構成)
図11は、本実施形態におけるOS110の機能構成を示す模式図である。なお、OS110の各機能はCPU101がOSのプログラムコードを実行することにより実現される。
(Logical configuration of OS 110)
FIG. 11 is a schematic diagram showing a functional configuration of the
また、ログDB112、ポリシーDB113、アクセス制御部115、システムコール処理部116及びプロセス情報117は、図2(A)の同一名称の各部と同様なので、説明は省略する。
Further, the
脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。
The vulnerability
起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムのアクセスログを解析し、解析結果をポリシー処理部114に渡す。
After startup, the system access log acquired from the
ポリシー判断部121は、アプリケーション111から現在のバージョンと最終更新日を取得する。一方、アプリケーション111の名前を元にポリシーDB113からアプリケーションの更新情報を取得する。例えば、図15(a)に示す情報を取得する。
「バージョン」はアプリケーションのバージョンを示す。「最終更新日」はアプリケーションの最終更新日を示す。「脆弱性の有無」はポリシーに記載がないと対応できない脆弱性の有無を示す。「有」の場合は、これから説明する「脆弱性関連アクセスログ名」、「脆弱性範囲」および「対応状況」の項目の情報が記載される。「無」の場合は、前述の項目は情報が記載されない。「脆弱性関連アクセスログ名」は脆弱性が発見されたアクセスログ名が記載される。「脆弱性範囲」は脆弱性がある範囲を示しており、例えば、「funcM」のような関数名が記載される。最後に「対応状況」は脆弱性に対する対応状況を示している。「ポリシーで暫定対応中」はアクセスログの解析中や様子見の段階であり、今後ポリシーが変更される可能性があることを示している。また、「ポリシーで対応中」は該当アプリケーションのバージョンにおいて、ポリシーで対応することが決まった脆弱性であり、今後のポリシー変更の可能性がないことを示している。「15行目に記載」や「16行名に記載」などの記載は、脆弱性に対するルールがポリシーのどの場所に記載されているかを示している。
The
“Version” indicates the version of the application. “Last update date” indicates the last update date of the application. “Vulnerability” indicates whether there is a vulnerability that cannot be addressed unless stated in the policy. In the case of “Yes”, information of items of “vulnerability-related access log name”, “vulnerability range”, and “response status” to be described below is described. In the case of “None”, no information is described in the above item. “Vulnerability-related access log name” describes the name of the access log in which the vulnerability was discovered. “Vulnerability range” indicates a range where there is vulnerability, for example, a function name such as “funcM” is described. Lastly, “response status” indicates the response status to the vulnerability. “Provisional support by policy” is in the process of analyzing the access log or watching the situation, and indicates that the policy may change in the future. In addition, “in response by policy” indicates that there is no possibility of policy change in the future for the version of the application that is determined to be addressed by the policy. Descriptions such as “described in the 15th line” and “described in the 16th line name” indicate where the rule for the vulnerability is described in the policy.
そして、アクセスログ解析結果、アプリケーションのバージョンと最終更新日、およびアプリケーションの更新情報に基づいて、ポリシーの修正および新規作成を行うかを判断する。 Then, based on the access log analysis result, the application version and the last update date, and the application update information, it is determined whether to modify or create a new policy.
そして、アクセスログ解析結果、アプリケーションのバージョンと最終更新日、およびアプリケーションの更新情報に基づいて、ポリシーの修正および新規作成を行うかを判断する。 Then, based on the access log analysis result, the application version and the last update date, and the application update information, it is determined whether to modify or create a new policy.
ポリシー処理部114は、ポリシー判断部121の判断結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。ポリシーの修正および新規作成を行う場合、ポリシー処理部114はアプリケーションの更新情報と解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。
When the
ここで、第1の実施形態と同様に、ポリシー処理部114は、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、悪意のある者による乗っ取りを防ぐことが可能となる。
Here, as in the first embodiment, the
(ポリシー更新処理)
図12は、OS110におけるポリシー更新処理の詳細を示すフローチャートである。図11の各構成と対応づけて説明する。なお、この処理は定期的に実施する。アプリケーションやアクセスログの更新があったタイミングで実施しても良い。また、本実施形態を使用する組織の脆弱性に対する方針が決まったタイミングで実施しても良い。
(Policy update process)
FIG. 12 is a flowchart showing details of policy update processing in the
ステップS301およびステップS302は図3の同一名称のステップと同様なので、説明を省略する。 Steps S301 and S302 are the same as the steps having the same names in FIG.
ステップS308は図11のポリシー判断部121がアプリケーション111の名前を元にポリシーDB113からアプリケーションの更新情報を取得する。
In step S308, the
ステップS309は図11のポリシー判断部121がポリシーの更新または新規作成が必要なアプリケーションはあるか否かを判定する。アクセスログ解析結果、アプリケーションのバージョンと最終更新日、およびアプリケーションの更新情報に基づいて、判定する。ポリシーの更新または新規作成が必要なアプリケーションがある場合(YES)は、ステップS304に進む。一方、ポリシーの更新または新規作成が必要なアプリケーションがない場合(NO)は、処理を終了する。
In step S309, the
判定は具体的には、まず、アプリケーションのバージョンと最終更新日が更新情報よりも新しいか否かを確認する。新しい場合は、図17(a)に示すようなアプリケーションの更新履歴の記述(「funcMへの不正アクセスに対応」)から更新情報に記載の脆弱性範囲に対応したか否かを確認する。 Specifically, first, it is confirmed whether or not the application version and the last update date are newer than the update information. If it is new, it is confirmed whether or not the vulnerability range described in the update information is supported from the description of the update history of the application as shown in FIG. 17A (“corresponding to unauthorized access to funcM”).
対応した場合は、ポリシーの更新が必要だと判定する。次に、アクセスログ解析結果の異常発見フラグがOFFであり、更新情報の脆弱性有無が「有」の場合は、ポリシーに記載する脆弱性が無くなったとみなし、ポリシーの更新が必要だと判定する。一方、アクセスログ解析結果の異常発見フラグがONであり、更新情報の脆弱性有無が「無」の場合は、ポリシーに記載する脆弱性がありとみなし、ポリシーの更新または新規作成が必要だと判定する。 If it corresponds, it is determined that the policy needs to be updated. Next, when the abnormality detection flag in the access log analysis result is OFF and the presence / absence of vulnerability in the update information is “Yes”, it is considered that the vulnerability described in the policy is gone, and the policy needs to be updated. . On the other hand, if the abnormality detection flag in the access log analysis result is ON and the vulnerability of the update information is “None”, it is considered that there is a vulnerability described in the policy and it is necessary to update or create a new policy judge.
なお、更新情報に変更が生じた場合は、「バージョン」と「最終更新日」に関しては、上記の判定処理後に変更を実施する。 When the update information is changed, the “version” and the “last update date” are changed after the above determination process.
また、前述したのは自動的に判定した。しかしながら、最終的な判定はユーザが実施したい場合も考えられる。そのため、例えば、図16のようなユーザーインタフェースを表示させてユーザに最終的な判定を実施させても良い。図1のI/F104にマウス、キーボードやモニタを接続することで実現できる。図16の「はい」と「いいえ」の右側にある四角はチェックボックスであり、マウスやキーボードでチェックすることで、最終的な判定となる。
Moreover, what was mentioned above was determined automatically. However, the final determination may be performed by the user. Therefore, for example, a user interface as shown in FIG. 16 may be displayed to allow the user to make a final determination. This can be realized by connecting a mouse, keyboard or monitor to the I /
ステップS304およびステップS305は図3の同一名称のステップと同様なので、説明を省略する。 Steps S304 and S305 are the same as the steps having the same names in FIG.
ステップS306は、基本的に図3の同一名称のステップとアプリケーションの更新情報を使用して実施する。例えば、図15(a)の脆弱性関連アクセスログ名「LOG−2016−049」に関連した脆弱性がアクセスログ解析結果から見つからなかった場合は、「対応状況」からポリシーの16行目のルールを削除する。そして、更新情報から「LOG−2016−049」に関連した脆弱性の情報を削除する。 Step S306 is basically performed using the step with the same name in FIG. 3 and the update information of the application. For example, if a vulnerability related to the vulnerability-related access log name “LOG-2016-049” in FIG. 15A is not found from the access log analysis result, the rule on the 16th line of the policy from “response status” Is deleted. Then, the vulnerability information related to “LOG-2016-049” is deleted from the update information.
ステップS307は、基本的に図3の同一名称のステップと同様であるが、アプリケーションの更新情報を使用して実施する。ポリシーの新規作成なので、例えば、図15(a)では、まずは、更新情報の「脆弱性有無」を「無」から「有」に変更する。そして、「脆弱性関連アクセスログ名」、「脆弱性範囲」および「対応状況」を更新する。 Step S307 is basically the same as the step with the same name in FIG. 3, but is performed using the update information of the application. Since the policy is newly created, for example, in FIG. 15A, first, the “vulnerability presence / absence” of the update information is changed from “none” to “present”. Then, “vulnerability-related access log name”, “vulnerability range”, and “response status” are updated.
以上、本実施形態を説明した。上記では、アプリケーションの更新情報に予め記載された脆弱性関連アクセスログ名に関連した脆弱性がアクセスログ解析結果から見つからなかった場合は、ポリシーから関連したルールを削除した。しかしながら、再び同じ脆弱性を突く攻撃をされる可能性がある。そのため、しばらくは削除したルールをポリシーとは別のファイルに保存し、定期的(例えば、一日毎)にアクセスログを監視する。そして、同じ脆弱性を突くようなアクセスがあった場合は別のファイルから削除したルールをポリシーへコピーし、ルールを復活しても良い。 The embodiment has been described above. In the above, when a vulnerability related to the vulnerability-related access log name described in advance in the application update information is not found from the access log analysis result, the related rule is deleted from the policy. However, there is a possibility that the same vulnerability will be attacked again. Therefore, the rule deleted for a while is stored in a file different from the policy, and the access log is monitored periodically (for example, every day). If there is an access that exploits the same vulnerability, the rule deleted from another file may be copied to the policy to restore the rule.
(第3の実施形態)
第1の実施形態では、まず、アクセスログを解析した。そして、特定のアプリケーションへの攻撃がされているとみなすことが出来る場合は、カーネルスレッドを用いて、対応するアプリケーションのポリシー更新または新規作成を行った。本実施形態では、アプリケーションが既知となった脆弱性に対応していない場合に、カーネルスレッドを用いて、既知となった脆弱性情報に基づき、ポリシー更新または新規作成を行う。これによって、ポリシーを手動で更新または新規作成することなく、既知となった脆弱性にアプリケーションを対応させることが出来る。
(Third embodiment)
In the first embodiment, first, an access log is analyzed. If it can be considered that a specific application is being attacked, a policy update or new creation of the corresponding application is performed using a kernel thread. In the present embodiment, when an application does not support a known vulnerability, a policy update or new creation is performed based on the known vulnerability information using a kernel thread. This makes it possible to make an application correspond to a known vulnerability without manually updating or creating a new policy.
本実施形態と第1の実施形態とは、(OS110の論理構成)の一部と(ポリシー更新処理)のみが異なり、それ以外は全て同じである。よって、以下では、(OS110の論理構成)の第1の実施形態からの差分と(ポリシー更新処理)のみを説明する。
This embodiment and the first embodiment are the same except for only a part of (logical configuration of OS 110) and (policy update processing), and the rest. Therefore, only the difference from the first embodiment of (
(OS110の論理構成)
図10は、本実施形態におけるOS110の機能構成を示す模式図である。なお、OS110の各機能はCPU101がOSのプログラムコードを実行することにより実現される。また、ポリシーDB113、アクセス制御部115、システムコール処理部116及びプロセス情報117は、図2(A)の同一名称の各部と同様なので、説明は省略する。
(Logical configuration of OS 110)
FIG. 10 is a schematic diagram showing a functional configuration of the
脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。起動後は、定期的にOS110の外部にある通信ネットワーク119を通じて、既知脆弱性情報DB120から、新たに既知となった脆弱性情報を取得する。なお、この脆弱性情報には、まったく新規の脆弱性情報だけでなく、発見された脆弱性の中で、該当アプリケーションや脆弱性が該当する関数などの情報が更新された脆弱性情報も含む。取得する間隔は、例えば、一時間ごとや一日ごとなどに設定しておけばよい。既知となった脆弱性情報は、例えば、CVE(Common Vulnerabilities and Exposures)で示され、図8(a)に示すようなものである。なお、CVEやその他の脆弱性情報サイトを元に構築した本実施形態を運用する組織の独自の脆弱性情報DBでも良い。そして、既知となった脆弱性情報とOS110の内部にある図8(b)に示すようなアプリケーションテーブルとを比較した後、既知となった脆弱性情報を解析する。解析後、解析結果をポリシー処理部114に渡す。
The vulnerability
また、ポリシー処理部114は、脆弱性情報解析部118から既知となった脆弱性情報の解析結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。既知となった脆弱性情報の解析結果を受け取った場合、ポリシー処理部114は解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。
When the
ここで、第1の実施形態と同様に、ポリシー処理部114は、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、悪意のある者による乗っ取りを防ぐことが可能となる。
Here, as in the first embodiment, the
(ポリシー更新処理)
図5は、OS110におけるポリシー更新処理の詳細を示すフローチャートである。図2(A)の各構成と対応づけて説明する。なお、この処理は第1の実施形態と同様に定期的に実施する。
(Policy update process)
FIG. 5 is a flowchart showing details of policy update processing in the
まず、図5のステップS501において、図2(A)の脆弱性情報解析部118がOS110の外部にある既知脆弱性情報DBから、新たに既知となった脆弱性情報を取得する。例えば、図8(a)に示すような脆弱性情報を取得する。
First, in step S501 of FIG. 5, the vulnerability
次に、ステップS502においては、図2(A)の脆弱性情報解析部118によって、発見された脆弱性に該当するアプリケーションが存在するか否かを判定する。当該判定は、脆弱性情報に記載されたアプリケーションの情報とOS110の内部にあるアプリケーションテーブルとを比較して行われる。具体的には、まず、アプリケーションテーブルに記載されたアプリケーション名が脆弱性情報のタイトルや概要に対する存在するかを既存の文字列検索を使用して行う。検索して該当するアプリケーション名があった場合は、バージョンが該当するかについて同様に文字列検索する。例えば、図8(a)の脆弱性情報と図8(b)のアプリケーションテーブルを用いた場合は、801aの「App1 before 5」を見ると、まず、アプリケーション名が802aの「App1」と一致することが分かる。次に、801aからバージョンが「5以前」だと分かるので、802bの「4.2」が該当することが分かる。従って、脆弱性情報に対応していないバージョンだと分かる。
Next, in step S502, the vulnerability
脆弱性が発見されたアプリケーションが存在する場合(YES)は、ステップS503に進み、ステップS503において、脆弱性情報を解析する。アプリケーションのどこの部分に脆弱性があるのかを「func」や「process」などの機能や処理を示す文字列から分かる範囲で解析する。例えば、図8(a)の脆弱性情報の場合は、801bより「hoge」機能で脆弱性があることが分かる。 If there is an application in which the vulnerability is found (YES), the process proceeds to step S503, and the vulnerability information is analyzed in step S503. The part of the application that is vulnerable is analyzed within a range that can be understood from a character string indicating a function or process such as “func” or “process”. For example, in the case of the vulnerability information in FIG. 8A, it can be seen from 801b that there is a vulnerability with the “hoge” function.
一方、脆弱性が発見されたアプリケーションが存在しない場合(NO)は、処理を終了する。 On the other hand, when there is no application in which the vulnerability is found (NO), the process ends.
ステップS504においては、図2(A)のポリシー処理部114がポリシーDB113から各アプリケーションのポリシーを入力する。
In step S504, the
ステップS505においては、図2(A)のポリシー処理部114によって、異常が発見されたアプリケーションのポリシーがあるか否かを判定する。ポリシーがある場合(YES)は、ステップS506に進み、図2(A)のポリシー処理部114がポリシーを更新して処理を終了する。例えば、図8(a)の脆弱性情報の場合は、「hoge」機能に関するデータを拒否するルールを追加する。その場合は、図6(a)の601に示すポリシーが図6(d)の604に示すポリシーに変更される。604bに示すルールは「hoge」機能に関するデータを拒否するルールである。また、第1の実施形態のステップS306で説明したように、拒否する範囲を拡大して追加したり、他の更新方法があれば、その方法を適応しても良い。
In step S505, the
一方、ポリシーがない場合(NO)は、ステップS507に進み、図2(A)のポリシー処理部114がポリシーの新規作成を行い、処理を終了する。ポリシーの新規作成は、第1の実施形態のステップS307で説明した例と同様に行えば良い。
On the other hand, if there is no policy (NO), the process proceeds to step S507, where the
なお、上記実施形態では、既知となった脆弱性情報に該当するアプリケーションがあれば、ポリシーの更新や新規作成を行った。しかしながら、深刻な脆弱性のみに対応し、軽微な脆弱性には対応しないことで、ポリシーの更新や新規作成の処理の負荷を軽減しても良い。具体的には、例えば、CVEでは、脆弱性の共通脆弱性評価システムCVSS(Common Vulnerability Scoring System)のベーススコアが記載されている。このスコアが高いほど、脆弱性の深刻だと判断できる。そのため、ベーススコアが一定以上の場合のみ、ポリシーの更新または新規作成を行っても良い。 In the above embodiment, if there is an application corresponding to the already known vulnerability information, the policy is updated or newly created. However, it may be possible to reduce the load of policy update or newly created processing by dealing only with serious vulnerabilities and not dealing with minor vulnerabilities. Specifically, for example, CVE describes a base score of a common vulnerability assessment system CVSS (Common Vulnerability Scoring System) for vulnerabilities. The higher this score, the more serious the vulnerability. Therefore, the policy may be updated or newly created only when the base score is equal to or higher than a certain level.
(第4の実施形態)
第3の実施形態では、アプリケーションが既知脆弱性に対応していない場合に、カーネルスレッドを用いて、アプリケーションのポリシー更新または新規作成を行った。しかしながら、既知脆弱性の情報が更新されたり、既知脆弱性に対応したアプリケーションのパッチが適応されたら、アプリケーションの負荷を考慮して、ポリシーを緩めたり、元のポリシーに戻すことが考えられる。本実施形態では、既知脆弱性情報の更新やアプリケーションのパッチ適応を考慮したポリシー更新または新規作成を行う。これによって、ポリシーを手動で更新または新規作成することなく、既知脆弱性の変化に対応することができる。
(Fourth embodiment)
In the third embodiment, when an application does not cope with a known vulnerability, a policy update or new creation of the application is performed using a kernel thread. However, if the information on known vulnerabilities is updated or an application patch corresponding to the known vulnerabilities is applied, the policy may be relaxed or restored to the original policy in consideration of the application load. In this embodiment, policy update or new creation is performed in consideration of update of known vulnerability information and application patch adaptation. This makes it possible to respond to changes in known vulnerabilities without manually updating or creating a new policy.
本実施形態と第3の実施形態とは、(OS110の論理構成)の一部と(ポリシー更新処理)のみが異なり、それ以外は全て同じである。よって、以下では、(OS110の論理構成)の第1の実施形態からの差分と(ポリシー更新処理)のみを説明する。
This embodiment and the third embodiment are the same except for only a part of (logical configuration of OS 110) and (policy update processing), and the rest. Therefore, only the difference from the first embodiment of (
(OS110の論理構成)
図13は、本実施形態におけるOS110の機能構成を示す模式図である。なお、OS110の各機能はCPU101がOSのプログラムコードを実行することにより実現される。
(Logical configuration of OS 110)
FIG. 13 is a schematic diagram showing a functional configuration of the
また、ポリシーDB113、アクセス制御部115、システムコール処理部116、プロセス情報117、通信ネットワーク119および既知脆弱性情報DB120は、図2(A)の同一名称の各部と同様なので、説明は省略する。
Further, the
脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。
The vulnerability
起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムの脆弱性情報を解析し、解析結果をポリシー判断部121に渡す。
After startup, the system vulnerability information acquired from the
ポリシー判断部121は、アプリケーション111から現在のバージョンと最終更新日を取得する。一方、アプリケーション111の名前を元にポリシーDB113からアプリケーションの更新情報を取得する。例えば、図15(b)に示す情報を取得する。この中で「脆弱性情報」と「脆弱性範囲」以外の項目は実施形態2で説明した図15(a)と同一名称の項目と内容が同じなので省略する。「脆弱性情報」は実施形態3で説明した既知となった脆弱性情報として、例えば、CVEの番号が記載される。例えば、「脆弱性範囲」は図8(a)の801bのような脆弱性情報名から取得できる脆弱性がある範囲を示しており、「funcL」のような関数名が記載される。
The
ポリシー処理部114は、ポリシー判断部121の判断結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。ポリシーの修正および新規作成を行う場合、ポリシー処理部114はアプリケーションの更新情報と解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。
When the
ここで、第3の実施形態と同様に、ポリシー処理部114は、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、悪意のある者による乗っ取りを防ぐことが可能となる。
Here, as in the third embodiment, the
(ポリシー更新処理)
図14は、OS110におけるポリシー更新処理の詳細を示すフローチャートである。図12の各構成と対応づけて説明する。なお、この処理は定期的に実施する。アプリケーションや脆弱性情報の更新があったタイミングで実施しても良い。また、本実施形態を使用する組織の脆弱性に対する方針が決まったタイミングで実施しても良い。
(Policy update process)
FIG. 14 is a flowchart showing details of policy update processing in the
ステップS501およびステップS503は図5の同一名称のステップと同様なので、説明を省略する。なお、ステップS502は存在しない。これは、あとで説明するステップS509において、ポリシーの更新または新規作成が必要なアプリケーションはあるかを判定するためである。 Steps S501 and S503 are the same as the steps having the same names in FIG. Note that step S502 does not exist. This is to determine whether there is an application that needs to be updated or newly created in step S509 described later.
ステップS508は図11のポリシー判断部121がアプリケーション111の名前を元にポリシーDB113からアプリケーションの更新情報を取得する。
In step S508, the
ステップS509は図11のポリシー判断部121がポリシーの更新または新規作成が必要なアプリケーションはあるか否かを判定する。アクセスログ解析結果、アプリケーションのバージョンと最終更新日、およびアプリケーションの更新情報に基づいて、判定する。ポリシーの更新または新規作成が必要なアプリケーションがある場合(YES)は、ステップS504に進む。一方、ポリシーの更新または新規作成が必要なアプリケーションがない場合(NO)は、処理を終了する。
In step S509, the
判定は具体的には、まず、アプリケーションのバージョンと最終更新日が更新情報よりも新しいか否かを確認する。新しい場合は、図17(b)に示すようなアプリケーションの更新履歴の記述(例:「CVE−2016−XXYに対応」)から更新情報に記載の脆弱性情報名に対応したか否かを確認する。 Specifically, first, it is confirmed whether or not the application version and the last update date are newer than the update information. If it is new, it is confirmed whether or not the vulnerability information name described in the update information is supported from the description of the update history of the application as shown in FIG. 17B (example: “corresponds to CVE-2016-XXY”). To do.
対応した場合は、ポリシーに記載する脆弱性が無くなったとみなし、ポリシーの更新が必要だと判定する。次に、脆弱性情報の解析結果として、前回取得した脆弱性情報よりも詳細な脆弱性範囲が分かった場合は、ポリシーの更新が必要だと判定する。例えば、更新情報には「funcL」のみ記載されていたが、解析結果では「funcLのmodeZ」とより具体化されていた場合が該当する。また、更新情報の脆弱性有無が「無」の場合は、ポリシーに記載する脆弱性がありとみなし、ポリシーの更新または新規作成が必要だと判定する。 When it corresponds, it is considered that the vulnerability described in the policy is gone, and it is determined that the policy needs to be updated. Next, when the vulnerability range that is more detailed than the previously acquired vulnerability information is found as the analysis result of the vulnerability information, it is determined that the policy needs to be updated. For example, although only “funcL” is described in the update information, the analysis result is more concretely “modeZ of funcL”. If the update information has a vulnerability of “None”, it is determined that there is a vulnerability described in the policy, and it is determined that the policy needs to be updated or newly created.
なお、更新情報に変更が生じた場合は、「バージョン」と「最終更新日」に関しては、上記の判定処理後に変更を実施する。 When the update information is changed, the “version” and the “last update date” are changed after the above determination process.
また、前述したのは自動的に判定した。しかしながら、最終的な判定はユーザが実施したい場合も考えられる。そのため、実施形態2のステップS308と同様に、図16のようなユーザーインタフェースを表示させてユーザに最終的な判定を実施させても良い。 Moreover, what was mentioned above was determined automatically. However, the final determination may be performed by the user. Therefore, similarly to step S308 in the second embodiment, a user interface as shown in FIG. 16 may be displayed to allow the user to make a final determination.
ステップS504およびステップS505は図5の同一名称のステップと同様なので、説明を省略する。 Steps S504 and S505 are the same as the steps having the same names in FIG.
ステップS506は、基本的に図5の同一名称のステップと同様であるが、アプリケーションの更新情報を使用して実施する。例えば、図15(b)に記載の脆弱性情報名「CVE−2016−XXY」がステップS501で取得した脆弱性情報から見つからない場合は、「対応状況」からポリシーの11行目のルールを削除する。そして、アプリケーションの更新情報から脆弱性情報名「CVE−2016−XXY」に関連した脆弱性の情報を削除する。 Step S506 is basically the same as the step having the same name in FIG. 5, but is performed using the update information of the application. For example, if the vulnerability information name “CVE-2016-XXY” illustrated in FIG. 15B is not found from the vulnerability information acquired in step S501, the rule on the 11th line of the policy is deleted from “response status”. To do. Then, the vulnerability information related to the vulnerability information name “CVE-2016-XXY” is deleted from the update information of the application.
ステップS507は、基本的に図5の同一名称のステップと同様であるが、アプリケーションの更新情報を使用して実施する。ポリシーの新規作成なので、例えば、図15(b)では、まずは、更新情報の「脆弱性有無」を「無」から「有」に変更する。そして、「脆弱性情報名」、「脆弱性範囲」および「対応状況」を更新する。 Step S507 is basically the same as the step with the same name in FIG. 5, but is performed using the update information of the application. Since the policy is newly created, for example, in FIG. 15B, first, the “vulnerability presence” of the update information is changed from “none” to “present”. Then, the “vulnerability information name”, “vulnerability range”, and “response status” are updated.
(第5の実施形態)
第1の実施形態では、まずアクセスログを解析した。そして、特定のアプリケーションへの攻撃がされていると見なすことが出来る場合は、ユーザーインターフェースを持たないカーネルスレッドを用いて、対応するアプリケーションのポリシー更新または新規作成を行った。
(Fifth embodiment)
In the first embodiment, the access log is first analyzed. If it can be considered that an attack is being made on a specific application, the corresponding application is updated or newly created using a kernel thread that does not have a user interface.
第3の実施形態では、アプリケーションが新たに既知となった脆弱性に対応していない場合に、ユーザーインターフェースを持たないカーネルスレッドを用いて、既知となった脆弱性情報を基づき、アプリケーションのポリシー更新または新規作成を行った。 In the third embodiment, when an application is not compatible with a newly known vulnerability, the policy update of the application is performed based on the known vulnerability information using a kernel thread having no user interface. Or newly created.
本実施形態では、上記の2つの実施形態を組み合わせる。これによって、未知脆弱性と、新たに既知となった脆弱性の両方に対応したポリシーの更新または新規作成を効率的に行うことが出来る。 In the present embodiment, the above two embodiments are combined. As a result, it is possible to efficiently update or newly create a policy corresponding to both an unknown vulnerability and a newly known vulnerability.
第1の実施形態とは、(OS110の論理構成)の一部と(ポリシー更新処理)のみが異なり、それ以外は全て同じである。以下では、(OS110の論理構成)の第1の実施形態からの差分と(ポリシー更新処理)のみ説明する。 The first embodiment is different from the first embodiment only in a part of (logical configuration of OS 110) and (policy update processing), and is otherwise the same. Hereinafter, only the difference from the first embodiment (logical configuration of the OS 110) and (policy update processing) will be described.
(OS110の論理構成)
第1の実施形態からの差分は以下の通りである。脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムのアクセスログを解析し、解析結果をポリシー処理部114に渡す。それに加えて、図10に示すようなOS110の外部にある通信ネットワーク119を通じて既知脆弱性情報DB120から既知となった脆弱性情報を取得する。そして、既知となった脆弱性情報とOS110の内部にある図8(b)に示すようなアプリケーションテーブルを比較する。比較後、既知となった脆弱性情報を解析し、解析結果をポリシー処理部114に渡す。
(Logical configuration of OS 110)
Differences from the first embodiment are as follows. The vulnerability
また、ポリシー処理部114は脆弱性情報解析部118からアクセスログまたは既知となった脆弱性情報の解析結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。アクセスログまたは既知となった脆弱性情報の解析結果を受け取った場合、ポリシー処理部114は解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。
When the
ここで、ポリシー処理部114は、第1の実施形態と同様に、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、攻撃者による乗っ取りを防ぐ。以上が第1の実施形態からの差分であり、その他は第1の実施形態と同様である。
Here, as in the first embodiment, the
(ポリシー更新処理)
本実施形態では、第1の実施形態の(ポリシー更新処理)と第3の実施形態の(ポリシー更新処理)の両方を定期的に実施する。
(Policy update process)
In the present embodiment, both (policy update processing) of the first embodiment and (policy update processing) of the third embodiment are periodically performed.
以上の実施形態では、第1の実施形態と第3の実施形態を組み合わせたが、第2の実施形態と第4の実施形態も同様に組み合わせることが可能である。この場合は、アプリケーションの更新情報は、例えば、図15(a)と(b)を併用しても良い。また、項目「脆弱性関連アクセスログ名」と項目「脆弱性情報名」を「脆弱性関連アクセスログ名または脆弱性情報名」として、図15(a)と(b)を統合しても良い。 In the above embodiment, the first embodiment and the third embodiment are combined, but the second embodiment and the fourth embodiment can be combined in the same manner. In this case, for example, the update information of the application may use FIGS. 15A and 15B together. 15A and 15B may be integrated with the item “vulnerability-related access log name” and the item “vulnerability information name” as “vulnerability-related access log name or vulnerability information name”. .
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
114 ポリシー処理部
118 脆弱性情報解析部
114
Claims (12)
前記強制アクセス制御によってアクセスを管理するためのセキュリティポリシーを保持する保持手段と、
アプリケーションの脆弱性に関する情報とアプリケーションの更新情報とを取得する取得手段と、
前記取得手段で取得された情報に基づき、カーネルスレッドの機能で、前記セキュリティポリシーを更新する更新手段と、を有することを特徴とする情報処理装置。 An information processing apparatus having a forced access control function,
Holding means for holding a security policy for managing access by the mandatory access control;
An acquisition means for acquiring application vulnerability information and application update information;
An information processing apparatus comprising: an updating unit that updates the security policy with a function of a kernel thread based on information acquired by the acquiring unit.
前記更新手段は、前記判定手段によって前記アクセス数が所定の値以上であると判定された場合、カーネルスレッドの機能で、前記セキュリティポリシーを更新することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 Based on the information acquired by the acquisition means, further comprising a determination means for determining whether the number of accesses to the predetermined file by the application is equal to or greater than a predetermined threshold;
The update means updates the security policy with a kernel thread function when the determination means determines that the number of accesses is greater than or equal to a predetermined value. The information processing apparatus according to item 1.
前記確認手段の結果と、前記アプリケーションの更新情報とに基づいて、前記セキュリティポリシーを更新するか否かを判定する判定手段と、を更に有し、
前記更新手段は、前記判定手段によって前記セキュリティポリシーを更新すると判定された場合、カーネルスレッドの機能で、前記セキュリティポリシーを更新することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 Confirmation means for confirming whether the number of accesses to the predetermined file by the application is equal to or greater than a predetermined threshold based on the information acquired by the acquisition means;
Determination means for determining whether to update the security policy based on the result of the confirmation means and the update information of the application;
5. The update unit according to claim 1, wherein the update unit updates the security policy with a function of a kernel thread when the determination unit determines to update the security policy. 6. Information processing device.
前記取得手段で取得された情報に基づき、カーネルスレッドの機能で、前記アプリケーションによる所定のアクセスを拒否するルールを追加することによって、前記セキュリティポリシーを更新する請求項1乃至8のいずれか1項に記載の情報処理装置。 The updating means includes
9. The security policy according to claim 1, wherein the security policy is updated by adding a rule that denies a predetermined access by the application by a function of a kernel thread based on information acquired by the acquisition unit. The information processing apparatus described.
前記取得手段で取得された情報に基づき、カーネルスレッドの機能で、前記アプリケーションによる所定のアクセスを拒否するルールを含むセキュリティポリシーを新規作成することによって、前記セキュリティポリシーを更新する請求項1乃至8のいずれか1項に記載の情報処理装置。 The updating means includes
9. The security policy is updated by creating a new security policy including a rule that denies a predetermined access by the application by a function of a kernel thread based on information acquired by the acquisition unit. The information processing apparatus according to any one of claims.
保持手段が、前記強制アクセス制御によってアクセスを管理するためのセキュリティポリシーを保持する保持工程と、
取得手段が、アプリケーションの脆弱性に関する情報とアプリケーションの更新情報とを取得する取得工程と、
更新手段が、前記取得手段で取得された情報に基づき、カーネルスレッドの機能で、前記セキュリティポリシーを更新する更新工程と、を有することを特徴とする情報処理装置の制御方法。 A method of controlling an information processing apparatus having a forced access control function,
Holding means for holding a security policy for managing access by the forced access control; and
An acquisition step in which the acquisition unit acquires information on the vulnerability of the application and update information of the application;
A control method for an information processing apparatus, comprising: an update unit that updates the security policy with a kernel thread function based on information acquired by the acquisition unit.
強制アクセス制御の機能を有する情報処理装置であって、
前記強制アクセス制御によってアクセスを管理するためのセキュリティポリシーを保持する保持手段と、
アプリケーションの脆弱性に関する情報とアプリケーションの更新情報とを取得する取
得手段と、
前記取得手段で取得された情報に基づき、カーネルスレッドの機能で、前記セキュリティポリシーを更新する更新手段と、を有することを特徴とする情報処理装置として機能させるためのコンピュータプログラム。 Computer
An information processing apparatus having a forced access control function,
Holding means for holding a security policy for managing access by the mandatory access control;
An acquisition means for acquiring application vulnerability information and application update information;
A computer program for functioning as an information processing apparatus, comprising: an updating unit that updates the security policy with a function of a kernel thread based on information acquired by the acquiring unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016109335A JP2017215799A (en) | 2016-05-31 | 2016-05-31 | Information processing method device, method for controlling information processing device, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016109335A JP2017215799A (en) | 2016-05-31 | 2016-05-31 | Information processing method device, method for controlling information processing device, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017215799A true JP2017215799A (en) | 2017-12-07 |
Family
ID=60577008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016109335A Pending JP2017215799A (en) | 2016-05-31 | 2016-05-31 | Information processing method device, method for controlling information processing device, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017215799A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020086979A (en) * | 2018-11-27 | 2020-06-04 | 株式会社リコー | Information processing apparatus, program update method, and program |
-
2016
- 2016-05-31 JP JP2016109335A patent/JP2017215799A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020086979A (en) * | 2018-11-27 | 2020-06-04 | 株式会社リコー | Information processing apparatus, program update method, and program |
JP7163739B2 (en) | 2018-11-27 | 2022-11-01 | 株式会社リコー | Information processing device, program update method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6415353B2 (en) | Information processing apparatus, information processing apparatus control method, and computer program | |
US9767280B2 (en) | Information processing apparatus, method of controlling the same, information processing system, and information processing method | |
US8869272B2 (en) | System, method, and computer program product for preventing a modification to a domain name system setting | |
US8037290B1 (en) | Preboot security data update | |
JP5058450B2 (en) | Efficient patching | |
RU2451326C2 (en) | System analysis and control | |
KR101122787B1 (en) | Security-related programming interface | |
JP2005327276A (en) | Efficient patching | |
EP2696282A1 (en) | System and method for updating authorized software | |
US20140096184A1 (en) | System and Method for Assessing Danger of Software Using Prioritized Rules | |
CN109565522B (en) | Detecting bulk operations associated with remotely stored content | |
JP2005327274A (en) | Efficient patching | |
US7845010B2 (en) | Terminal control apparatus and terminal control method | |
KR20080082623A (en) | Metadata driven deployment of applications | |
US20060265756A1 (en) | Disk protection using enhanced write filter | |
JP4733509B2 (en) | Information processing apparatus, information processing method, and program | |
US8701196B2 (en) | System, method and computer program product for obtaining a reputation associated with a file | |
US20180026986A1 (en) | Data loss prevention system and data loss prevention method | |
US11232205B2 (en) | File storage service initiation of antivirus software locally installed on a user device | |
CN114253579A (en) | Software updating method, device and medium based on white list mechanism | |
JP2007109016A (en) | Access policy creation system, method and program | |
JP2017215799A (en) | Information processing method device, method for controlling information processing device, and computer program | |
US20220215095A1 (en) | Detecting and Preventing Installation and Execution of Malicious Browser Extensions | |
JP7255681B2 (en) | Execution control system, execution control method, and program | |
US20210176253A1 (en) | Access control systems and methods |