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 PDF

Info

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
Application number
JP2016109335A
Other languages
Japanese (ja)
Inventor
健一 沖原
Kenichi Okihara
健一 沖原
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016109335A priority Critical patent/JP2017215799A/en
Publication of JP2017215799A publication Critical patent/JP2017215799A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a workload in updating a security policy while maintaining security strength in an information processing method device having a function of forced access control.SOLUTION: An information processing device having a function of forced access control includes holding means for holding a security policy for managing access by the forced access control, acquisition means for acquiring information on the vulnerability of an application and update information of the application, and update means for updating the security policy with a function of kernel thread on the basis of the information acquired by the acquisition means.SELECTED DRAWING: Figure 11

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.

特開2012−18102号公報JP 2012-18102 A

上述の通りに、情報処理装置に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.

(A)情報処理装置の全体構成を示す模式図である。(B)情報処理装置のプログラム構成を示す模式図である。(A) It is a schematic diagram which shows the whole structure of information processing apparatus. (B) It is a schematic diagram which shows the program structure of information processing apparatus. (A)第1の実施形態におけるOS110の構成を示す概略図である。(B)プロセス情報117の例を示す図である。(A) It is the schematic which shows the structure of OS110 in 1st Embodiment. (B) It is a figure which shows the example of the process information 117. FIG. 第1の実施形態におけるポリシー更新処理のフローチャートである。It is a flowchart of the policy update process in 1st Embodiment. 第1の実施形態における強制アクセス制御処理のフローチャートである。It is a flowchart of the forced access control process in 1st Embodiment. 第3の実施形態におけるポリシー更新処理のフローチャートである。It is a flowchart of the policy update process in 3rd Embodiment. (a)〜(d)ポリシーの例を示す図である。It is a figure which shows the example of a (a)-(d) policy. (a)、(b)アクセスログの例を示す図である。(A), (b) It is a figure which shows the example of an access log. (a)既知の脆弱性情報の例を示す図である。(b)アプリケーションテーブルの例を示す図である。(A) It is a figure which shows the example of known vulnerability information. (B) It is a figure which shows the example of an application table. 第1の実施形態におけるアクセスログ解析処理のフローチャートである。It is a flowchart of the access log analysis process in 1st Embodiment. 第3の実施形態におけるOS110の構成を示す概略図である。It is the schematic which shows the structure of OS110 in 3rd Embodiment. 第2の実施形態におけるOS110の構成を示す概略図である。It is the schematic which shows the structure of OS110 in 2nd Embodiment. 第2の実施形態におけるポリシー更新処理のフローチャートである。It is a flowchart of the policy update process in 2nd Embodiment. 第4の実施形態におけるOS110の構成を示す概略図である。It is the schematic which shows the structure of OS110 in 4th Embodiment. 第4の実施形態におけるポリシー更新処理のフローチャートである。It is a flowchart of the policy update process in 4th Embodiment. (a)、(b)アプリケーションの更新情報の例を示す図である。It is a figure which shows the example of the update information of (a), (b) application. ポリシーの更新をユーザに選択させるユーザーインターフェースの例を示す図である。It is a figure which shows the example of the user interface which makes a user select the update of a policy. (a)、(b)アプリケーションの更新履歴の例を示す図である。It is a figure which shows the example of the update log | history of (a), (b) application.

以下、本発明の一実施形態である第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 information processing apparatus 100 in the present embodiment.

情報処理装置100は、CPU101、ROM102、RAM103、I/F104、HDD105、操作部106、表示部107、およびエンジン108を有する。そして、それぞれの構成はバス109で接続されている。   The information processing apparatus 100 includes a CPU 101, ROM 102, RAM 103, I / F 104, HDD 105, operation unit 106, display unit 107, and engine 108. Each component is connected by a bus 109.

CPU101はROM102に格納されたコンピュータプログラムに沿って情報処理装置100内の各部の動作を制御する。また、RAM103にロードしたコンピュータプログラム(OS(Operating System)やアプリケーション)を実行したりする。ROM102は、読み出し専用メモリであり、ブートプログラムやファームウェア、後述する処理を実現するための各種コンピュータプログラム、各種データが格納されている。RAM103はCPU101にて処理を行うために一時的にプログラムやデータを格納しておくワークメモリであり、CPU101により各種コンピュータプログラムやデータがロードされる。   The CPU 101 controls the operation of each unit in the information processing apparatus 100 according to a computer program stored in the ROM 102. In addition, a computer program (OS (Operating System) or application) loaded in the RAM 103 is executed. The ROM 102 is a read-only memory, and stores a boot program and firmware, various computer programs for realizing processing to be described later, and various data. A RAM 103 is a work memory that temporarily stores programs and data for processing by the CPU 101, and various computer programs and data are loaded by the CPU 101.

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 information processing apparatus 100 in this embodiment. The information processing apparatus 100 according to the present embodiment operates the OS 110 and a plurality of applications 111. The plurality of applications 111 are computer programs that run on the OS 110.

アプリケーション111は、情報処理を実施するものであれば、どのようなものでも良い。例えば、文書編集アプリケーション、画像編集アプリケーションおよびWeb接続アプリケーションなどがある。また、プリント処理アプリケーション、スキャン処理アプリケーション、コピー処理アプリケーションなどもある。アプリケーション111がデータをHDD105に書き込む場合には、OS110を介して書込み処理を実施する。読出し処理も同様になる。読み書きの際には、OS110は、HDD105の論理アドレスを指定してHDD105に対する読み書きを実施する。   The application 111 may be any application that performs information processing. For example, there are a document editing application, an image editing application, a Web connection application, and the like. There are also a print processing application, a scan processing application, a copy processing application, and the like. When the application 111 writes data to the HDD 105, write processing is performed via the OS 110. The reading process is the same. At the time of reading / writing, the OS 110 designates a logical address of the HDD 105 and performs reading / writing on the HDD 105.

(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 OS 110 in FIG. Note that at least a part of the following functions of the OS 110 are executed by a kernel thread.
FIG. 2B is a diagram illustrating an example of process information 117 of a process operating on the OS 110. Note that each function of the OS 110 is realized by the CPU 101 executing the program code of the OS.

脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。   The vulnerability information analysis unit 118 is a resident process that is activated when the OS 110 is activated.

起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムのアクセスログを解析し、解析結果をポリシー処理部114に渡す。   After startup, the system access log acquired from the log DB 112 is analyzed periodically (for example, every hour or every day), and the analysis result is passed to the policy processing unit 114.

ポリシー処理部114は、脆弱性情報解析部118からアクセスログの解析結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。アクセスログの解析結果を受け取った場合、ポリシー処理部114は解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。ここで、プロセス情報117は例えば、図2(B)で示される。1行目の「Status」はプロセスの情報を示しており、例えば、休眠中を示す「sleeping」や実行中を示す「running」などがある。2行目の「Pid」は各プロセスの識別子、3行目の「Cmdline」は、実行ファイルのパスを示している。   When the policy processing unit 114 receives the analysis result of the access log or the system call and process information 117 of the control target application 111 from the vulnerability information analysis unit 118, the policy processing unit 114 performs the following processing. When the access log analysis result is received, the policy processing unit 114 updates or newly creates a policy based on the analysis result, and passes it to the policy DB 113. On the other hand, when the system call and process information 117 is received, the policy processing unit 114 passes the policy corresponding to the system call to the access control unit 115. Here, the process information 117 is shown in FIG. 2B, for example. “Status” on the first line indicates process information, for example, “sleeping” indicating sleep or “running” indicating execution. “Pid” on the second line indicates the identifier of each process, and “Cmdline” on the third line indicates the path of the execution file.

ポリシー処理部114が、仮に、キーボードやマウスなどのインタフェースやネットワークを有していたとすると、悪意のある者に乗っ取られてしまう可能性がある。よって、本実施形態では、ポリシー処理部114は、ユーザーインターフェースを持たないOS110のカーネルスレッドとして機能する。強制アクセス制御でアクセスや処理を制御できる対象は、OS110のアプリケーションやコマンドなどのユーザ空間に存在するプログラムである。カーネルスレッドは、ユーザ空間とは別空間であるカーネル空間で処理される一関数である。よって、明示的にユーザ空間からのアクセスするためのユーザーインターフェースを実装しない限りは、ユーザからのアクセスが困難である。そのため、悪意のある者による乗っ取りを防ぐことが可能となる。   If the policy processing unit 114 has an interface or a network such as a keyboard and a mouse, there is a possibility that a malicious person will be hijacked. Therefore, in this embodiment, the policy processing unit 114 functions as a kernel thread of the OS 110 that does not have a user interface. Targets whose access and processing can be controlled by forced access control are programs existing in the user space such as applications and commands of the OS 110. A kernel thread is a function that is processed in a kernel space that is different from the user space. Therefore, unless a user interface for explicitly accessing from the user space is implemented, access from the user is difficult. Therefore, it is possible to prevent takeover by a malicious person.

アクセス制御部115は、制御対象のアプリケーション111に対応するポリシーに基づいて、システムコールから取得した要求を拒絶する。拒絶されない場合は、システムコール処理部116に要求を入力する。システムコール処理部116は要求に対応したシステムコール処理を行う。以上が、本実施形態におけるOS110の機能構成である。   The access control unit 115 rejects the request acquired from the system call based on the policy corresponding to the application 111 to be controlled. If not rejected, a request is input to the system call processing unit 116. The system call processing unit 116 performs system call processing corresponding to the request. The above is the functional configuration of the OS 110 in the present embodiment.

次に、OS110の<強制アクセス制御処理>と<ポリシー更新処理>について説明する。   Next, the <forced access control process> and <policy update process> of the OS 110 will be described.

(強制アクセス制御処理)
図4は、ROMに格納されたOS110によって実行される強制アクセス制御処理を示すフローチャートである。以下では、図2(A)の各構成と対応づけて説明する。
(Forced access control processing)
FIG. 4 is a flowchart showing a forced access control process executed by the OS 110 stored in the ROM. In the following, description will be made in association with each component in FIG.

まず、図4のステップS401において、図2(A)のポリシー処理部114がアプリケーション111から発行されたシステムコール(OSへの要求)を取得する。   First, in step S401 of FIG. 4, the policy processing unit 114 of FIG. 2A acquires a system call (request to the OS) issued from the application 111.

ステップS402において、図2(A)のポリシー処理部114が強制アクセス制御をするか否かを判定する。強制アクセス制御をする場合(YES)は、ステップS403に進む。そして、ステップS403において、図2(A)のポリシー処理部114がポリシーDB113から各アプリケーションのポリシーを入力し、アクセス制御部115に渡す。   In step S402, the policy processing unit 114 in FIG. 2A determines whether to perform forced access control. If forced access control is to be performed (YES), the process proceeds to step S403. In step S403, the policy processing unit 114 in FIG. 2A inputs the policy of each application from the policy DB 113 and passes it to the access control unit 115.

一方、ステップ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 call processing unit 116 in FIG. 2A performs system call processing for processing a request from the application, and the processing of the OS 110 is terminated.

ステップS404において、図2(A)のアクセス制御部115が入力されたポリシーに基づいてアプリケーション111がアクセスするコンピュータ資源のアクセス要求を許可するか否かを判定する。アクセス要求を許可する場合(YES)は、ステップS405に進む。そして、ステップS405において、図2(A)のシステムコール処理部116がアプリケーションからの要求を処理するシステムコール処理を行い、OS110処理を終了する。   In step S404, the access control unit 115 in FIG. 2A determines whether to permit an access request for a computer resource accessed by the application 111 based on the input policy. If the access request is permitted (YES), the process proceeds to step S405. In step S405, the system call processing unit 116 in FIG. 2A performs system call processing for processing a request from the application, and the OS 110 processing ends.

一例として、アプリケーション「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 line 601c permits reading of the file “/ usr / bin / App1”. Note that the rules for a plurality of files may be described together on a single line using special symbols. For example, “/ usr / local / user_data / * read” of 602d permits reading of all files under the “/ usr / local / user_data” folder.

そして、今回は、「/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 OS 110 is terminated.

(ポリシー更新処理)
図3は、OS110で実行されるポリシー更新処理の詳細を示すフローチャートである。以下では、図2(A)の各構成と対応づけて説明する。なお、この処理は、あらかじめ定められた時間間隔で定期的に実施される。例えば、一時間ごとや一日ごとに実施される。
(Policy update process)
FIG. 3 is a flowchart showing details of the policy update process executed by the OS 110. In the following, description will be made in association with each component in FIG. This process is periodically performed at predetermined time intervals. For example, it is performed every hour or every day.

まず、図3のステップS301において、図2(A)の脆弱性情報解析部118がログDB112からアクセスログを取得する。例えば、図7(a)に示す701、図7(b)に示す702のようなアクセスログを取得する。   First, in step S301 of FIG. 3, the vulnerability information analysis unit 118 of FIG. 2A acquires an access log from the log DB 112. For example, access logs such as 701 shown in FIG. 7A and 702 shown in FIG. 7B are acquired.

次に、ステップS302において、図2(A)の脆弱性情報解析部118がステップS301で取得したアクセスログを解析する。解析は異常なアクセスの有無の観点で行われる。ステップS302の具体的な処理は、例えば、図9(a)や図9(b)に示す処理になる。ステップS302の具体的な処理として、図9(a)および図9(b)に示す処理について説明する。   Next, in step S302, the vulnerability information analysis unit 118 in FIG. 2A analyzes the access log acquired in step S301. Analysis is performed in view of the presence or absence of abnormal access. The specific process of step S302 is, for example, the process shown in FIG. 9A or 9B. As specific processing in step S302, processing shown in FIGS. 9A and 9B will be described.

図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 information analysis unit 118 in FIG. 2A detects an abnormality detection flag and determines whether an abnormality has been detected. If the abnormality detection flag is ON and an abnormality is detected (YES), the process proceeds to step S304. Then, the policy processing unit 114 in FIG. 2A inputs the policy of each application from the policy DB 113. If the abnormality detection flag is OFF and no abnormality is found (NO), the process ends.

ステップ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 policy processing unit 114 in FIG. 2A determines whether there is a policy for an application in which an abnormality has been found. If there is a policy (YES), the process proceeds to step S306, where the policy processing unit 114 in FIG. 2A updates the policy and ends the process. There are two update methods. One is a method of adding only a rule for denying access to a file having an abnormal access or access from an IP address having an abnormal access. For example, if the original policy is 601 in FIG. 6A, a rule is added as in 602b and 602c in FIG. 6B. It becomes a rule to reject by describing "deny" at the head of the rule. Note that 602c rejects all “ALL” access from the IP address “XXX.XXX.XXX.YYY”. The other is to add a range to be rejected. If there is an IP address that refuses access to the folder to which the file that has been accessed abnormally or has an abnormal access, only a rule that rejects all external IP addresses is added. For example, if the original policy is 601 in FIG. 6A, a rule is added as in 603b and 603c in FIG. 6C. Note that 603c denies access to all “ALL” from all external IP addresses “OUTSIDE_IP_ALL”. Further, if there is another update method, the method may be applied.

一方、ポリシーがない場合(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 policy processing unit 114 in FIG. 2A creates a new policy and ends the process. To create a new policy, for example, as a starting point, first create a policy with only an application execution file path as indicated by 601a in FIG. 6A and a rule permitting reading of the executable file as indicated by 601b. . Next, add a rule that denies the reading of files with abnormal access.

(第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 (OS 110 logical configuration) and (policy update processing) will be described below.

(OS110の論理構成)
図11は、本実施形態におけるOS110の機能構成を示す模式図である。なお、OS110の各機能はCPU101がOSのプログラムコードを実行することにより実現される。
(Logical configuration of OS 110)
FIG. 11 is a schematic diagram showing a functional configuration of the OS 110 in the present embodiment. Note that each function of the OS 110 is realized by the CPU 101 executing the program code of the OS.

また、ログDB112、ポリシーDB113、アクセス制御部115、システムコール処理部116及びプロセス情報117は、図2(A)の同一名称の各部と同様なので、説明は省略する。   Further, the log DB 112, the policy DB 113, the access control unit 115, the system call processing unit 116, and the process information 117 are the same as the units having the same names in FIG.

脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。   The vulnerability information analysis unit 118 is a resident process that is activated when the OS 110 is activated.

起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムのアクセスログを解析し、解析結果をポリシー処理部114に渡す。   After startup, the system access log acquired from the log DB 112 is analyzed periodically (for example, every hour or every day), and the analysis result is passed to the policy processing unit 114.

ポリシー判断部121は、アプリケーション111から現在のバージョンと最終更新日を取得する。一方、アプリケーション111の名前を元にポリシーDB113からアプリケーションの更新情報を取得する。例えば、図15(a)に示す情報を取得する。
「バージョン」はアプリケーションのバージョンを示す。「最終更新日」はアプリケーションの最終更新日を示す。「脆弱性の有無」はポリシーに記載がないと対応できない脆弱性の有無を示す。「有」の場合は、これから説明する「脆弱性関連アクセスログ名」、「脆弱性範囲」および「対応状況」の項目の情報が記載される。「無」の場合は、前述の項目は情報が記載されない。「脆弱性関連アクセスログ名」は脆弱性が発見されたアクセスログ名が記載される。「脆弱性範囲」は脆弱性がある範囲を示しており、例えば、「funcM」のような関数名が記載される。最後に「対応状況」は脆弱性に対する対応状況を示している。「ポリシーで暫定対応中」はアクセスログの解析中や様子見の段階であり、今後ポリシーが変更される可能性があることを示している。また、「ポリシーで対応中」は該当アプリケーションのバージョンにおいて、ポリシーで対応することが決まった脆弱性であり、今後のポリシー変更の可能性がないことを示している。「15行目に記載」や「16行名に記載」などの記載は、脆弱性に対するルールがポリシーのどの場所に記載されているかを示している。
The policy determination unit 121 acquires the current version and the last update date from the application 111. On the other hand, application update information is acquired from the policy DB 113 based on the name of the application 111. For example, the information shown in FIG.
“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 policy processing unit 114 receives the determination result of the policy determination unit 121 or the system call and process information 117 of the application 111 to be controlled, the policy processing unit 114 performs the following processing. When the policy is corrected and newly created, the policy processing unit 114 updates or newly creates the policy based on the application update information and the analysis result, and passes the policy to the policy DB 113. On the other hand, when the system call and process information 117 is received, the policy processing unit 114 passes the policy corresponding to the system call to the access control unit 115.

ここで、第1の実施形態と同様に、ポリシー処理部114は、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、悪意のある者による乗っ取りを防ぐことが可能となる。   Here, as in the first embodiment, the policy processing unit 114 is a kernel thread having no user interface. This makes it possible to prevent takeover by a malicious person.

(ポリシー更新処理)
図12は、OS110におけるポリシー更新処理の詳細を示すフローチャートである。図11の各構成と対応づけて説明する。なお、この処理は定期的に実施する。アプリケーションやアクセスログの更新があったタイミングで実施しても良い。また、本実施形態を使用する組織の脆弱性に対する方針が決まったタイミングで実施しても良い。
(Policy update process)
FIG. 12 is a flowchart showing details of policy update processing in the OS 110. A description will be given in association with each component of FIG. This process is performed periodically. It may be performed at the timing when the application or access log is updated. Moreover, you may implement at the timing when the policy with respect to the vulnerability of the organization which uses this embodiment was decided.

ステップ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 policy determining unit 121 in FIG. 11 acquires application update information from the policy DB 113 based on the name of the application 111.

ステップS309は図11のポリシー判断部121がポリシーの更新または新規作成が必要なアプリケーションはあるか否かを判定する。アクセスログ解析結果、アプリケーションのバージョンと最終更新日、およびアプリケーションの更新情報に基づいて、判定する。ポリシーの更新または新規作成が必要なアプリケーションがある場合(YES)は、ステップS304に進む。一方、ポリシーの更新または新規作成が必要なアプリケーションがない場合(NO)は、処理を終了する。   In step S309, the policy determination unit 121 in FIG. 11 determines whether there is an application that needs to be updated or newly created. The determination is made based on the access log analysis result, the application version and the last update date, and the application update information. If there is an application that requires updating or creating a new policy (YES), the process proceeds to step S304. On the other hand, if there is no application that needs to be updated or newly created (NO), the process ends.

判定は具体的には、まず、アプリケーションのバージョンと最終更新日が更新情報よりも新しいか否かを確認する。新しい場合は、図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 / F 104 of FIG. The squares to the right of “Yes” and “No” in FIG. 16 are check boxes, and a final determination is made by checking with a mouse or a keyboard.

ステップ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 (OS 110 logical configuration) and (policy update processing) will be described below.

(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 OS 110 in the present embodiment. Note that each function of the OS 110 is realized by the CPU 101 executing the program code of the OS. The policy DB 113, the access control unit 115, the system call processing unit 116, and the process information 117 are the same as the units having the same names in FIG.

脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。起動後は、定期的にOS110の外部にある通信ネットワーク119を通じて、既知脆弱性情報DB120から、新たに既知となった脆弱性情報を取得する。なお、この脆弱性情報には、まったく新規の脆弱性情報だけでなく、発見された脆弱性の中で、該当アプリケーションや脆弱性が該当する関数などの情報が更新された脆弱性情報も含む。取得する間隔は、例えば、一時間ごとや一日ごとなどに設定しておけばよい。既知となった脆弱性情報は、例えば、CVE(Common Vulnerabilities and Exposures)で示され、図8(a)に示すようなものである。なお、CVEやその他の脆弱性情報サイトを元に構築した本実施形態を運用する組織の独自の脆弱性情報DBでも良い。そして、既知となった脆弱性情報とOS110の内部にある図8(b)に示すようなアプリケーションテーブルとを比較した後、既知となった脆弱性情報を解析する。解析後、解析結果をポリシー処理部114に渡す。   The vulnerability information analysis unit 118 is a resident process that is activated when the OS 110 is activated. After startup, the newly acquired vulnerability information is periodically acquired from the known vulnerability information DB 120 through the communication network 119 outside the OS 110. The vulnerability information includes not only completely new vulnerability information but also vulnerability information in which information such as a function to which a corresponding application and a vulnerability are applicable among updated vulnerabilities is updated. The acquisition interval may be set, for example, every hour or every day. Vulnerability information that has become known is indicated by, for example, CVE (Common Vulnerabilities and Exposures) and is as shown in FIG. In addition, the original vulnerability information DB of the organization which operates this embodiment constructed based on CVE and other vulnerability information sites may be used. Then, after comparing the already-known vulnerability information with the application table as shown in FIG. 8B inside the OS 110, the already-known vulnerability information is analyzed. After the analysis, the analysis result is passed to the policy processing unit 114.

また、ポリシー処理部114は、脆弱性情報解析部118から既知となった脆弱性情報の解析結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。既知となった脆弱性情報の解析結果を受け取った場合、ポリシー処理部114は解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。   When the policy processing unit 114 receives the analysis result of vulnerability information known from the vulnerability information analysis unit 118 or the system call and process information 117 of the application 111 to be controlled, the policy processing unit 114 performs the following processing. When the analysis result of the vulnerability information that has become known is received, the policy processing unit 114 updates or newly creates a policy based on the analysis result and passes it to the policy DB 113. On the other hand, when the system call and process information 117 is received, the policy processing unit 114 passes the policy corresponding to the system call to the access control unit 115.

ここで、第1の実施形態と同様に、ポリシー処理部114は、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、悪意のある者による乗っ取りを防ぐことが可能となる。   Here, as in the first embodiment, the policy processing unit 114 is a kernel thread having no user interface. This makes it possible to prevent takeover by a malicious person.

(ポリシー更新処理)
図5は、OS110におけるポリシー更新処理の詳細を示すフローチャートである。図2(A)の各構成と対応づけて説明する。なお、この処理は第1の実施形態と同様に定期的に実施する。
(Policy update process)
FIG. 5 is a flowchart showing details of policy update processing in the OS 110. A description will be given in association with each component in FIG. Note that this processing is periodically performed as in the first embodiment.

まず、図5のステップS501において、図2(A)の脆弱性情報解析部118がOS110の外部にある既知脆弱性情報DBから、新たに既知となった脆弱性情報を取得する。例えば、図8(a)に示すような脆弱性情報を取得する。   First, in step S501 of FIG. 5, the vulnerability information analysis unit 118 of FIG. 2A acquires newly known vulnerability information from the known vulnerability information DB outside the OS 110. For example, vulnerability information as shown in FIG.

次に、ステップ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 information analysis unit 118 in FIG. 2A determines whether there is an application corresponding to the discovered vulnerability. This determination is made by comparing the application information described in the vulnerability information with the application table in the OS 110. Specifically, first, an existing character string search is performed to determine whether an application name described in the application table exists for the title or outline of vulnerability information. If there is an application name corresponding to the search, a character string search is performed in the same manner as to whether the version is applicable. For example, when the vulnerability information in FIG. 8A and the application table in FIG. 8B are used, when “App1 before 5” in 801a is viewed, first, the application name matches “App1” in 802a. I understand that. Next, since it can be seen from 801a that the version is “5 or earlier”, it can be seen that “4.2” in 802b is applicable. Therefore, it can be seen that the version does not support vulnerability information.

脆弱性が発見されたアプリケーションが存在する場合(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 policy processing unit 114 in FIG. 2A inputs a policy for each application from the policy DB 113.

ステップ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 policy processing unit 114 in FIG. 2A determines whether there is a policy for an application in which an abnormality has been found. If there is a policy (YES), the process proceeds to step S506, where the policy processing unit 114 in FIG. 2A updates the policy and ends the process. For example, in the case of the vulnerability information in FIG. 8A, a rule for rejecting data related to the “hoge” function is added. In that case, the policy indicated by 601 in FIG. 6A is changed to the policy indicated by 604 in FIG. The rule indicated by 604b is a rule for rejecting data related to the “hoge” function. Further, as described in step S306 of the first embodiment, the range to be rejected may be expanded and added, or if there is another update method, the method may be applied.

一方、ポリシーがない場合(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 policy processing unit 114 in FIG. 2A creates a new policy and ends the process. New policy creation may be performed in the same manner as in the example described in step S307 of the first embodiment.

なお、上記実施形態では、既知となった脆弱性情報に該当するアプリケーションがあれば、ポリシーの更新や新規作成を行った。しかしながら、深刻な脆弱性のみに対応し、軽微な脆弱性には対応しないことで、ポリシーの更新や新規作成の処理の負荷を軽減しても良い。具体的には、例えば、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 (OS 110 logical configuration) and (policy update processing) will be described below.

(OS110の論理構成)
図13は、本実施形態におけるOS110の機能構成を示す模式図である。なお、OS110の各機能はCPU101がOSのプログラムコードを実行することにより実現される。
(Logical configuration of OS 110)
FIG. 13 is a schematic diagram showing a functional configuration of the OS 110 in the present embodiment. Note that each function of the OS 110 is realized by the CPU 101 executing the program code of the OS.

また、ポリシーDB113、アクセス制御部115、システムコール処理部116、プロセス情報117、通信ネットワーク119および既知脆弱性情報DB120は、図2(A)の同一名称の各部と同様なので、説明は省略する。   Further, the policy DB 113, the access control unit 115, the system call processing unit 116, the process information 117, the communication network 119, and the known vulnerability information DB 120 are the same as the respective parts having the same names in FIG.

脆弱性情報解析部118は、OS110の起動とともに起動する常駐プロセスである。   The vulnerability information analysis unit 118 is a resident process that is activated when the OS 110 is activated.

起動後は、定期的(例えば、一時間ごとや一日ごと)にログDB112から取得したシステムの脆弱性情報を解析し、解析結果をポリシー判断部121に渡す。   After startup, the system vulnerability information acquired from the log DB 112 is analyzed periodically (for example, every hour or every day), and the analysis result is passed to the policy determination unit 121.

ポリシー判断部121は、アプリケーション111から現在のバージョンと最終更新日を取得する。一方、アプリケーション111の名前を元にポリシーDB113からアプリケーションの更新情報を取得する。例えば、図15(b)に示す情報を取得する。この中で「脆弱性情報」と「脆弱性範囲」以外の項目は実施形態2で説明した図15(a)と同一名称の項目と内容が同じなので省略する。「脆弱性情報」は実施形態3で説明した既知となった脆弱性情報として、例えば、CVEの番号が記載される。例えば、「脆弱性範囲」は図8(a)の801bのような脆弱性情報名から取得できる脆弱性がある範囲を示しており、「funcL」のような関数名が記載される。   The policy determination unit 121 acquires the current version and the last update date from the application 111. On the other hand, application update information is acquired from the policy DB 113 based on the name of the application 111. For example, the information shown in FIG. Among these items, items other than “vulnerability information” and “vulnerability range” are the same as the items having the same names as those in FIG. In the “vulnerability information”, for example, the CVE number is described as the vulnerability information that has been already described in the third embodiment. For example, “vulnerability range” indicates a range where there is a vulnerability that can be acquired from the vulnerability information name such as 801b in FIG. 8A, and a function name such as “funcL” is described.

ポリシー処理部114は、ポリシー判断部121の判断結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。ポリシーの修正および新規作成を行う場合、ポリシー処理部114はアプリケーションの更新情報と解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。   When the policy processing unit 114 receives the determination result of the policy determination unit 121 or the system call and process information 117 of the application 111 to be controlled, the policy processing unit 114 performs the following processing. When the policy is corrected and newly created, the policy processing unit 114 updates or newly creates the policy based on the application update information and the analysis result, and passes the policy to the policy DB 113. On the other hand, when the system call and process information 117 is received, the policy processing unit 114 passes the policy corresponding to the system call to the access control unit 115.

ここで、第3の実施形態と同様に、ポリシー処理部114は、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、悪意のある者による乗っ取りを防ぐことが可能となる。   Here, as in the third embodiment, the policy processing unit 114 is a kernel thread having no user interface. This makes it possible to prevent takeover by a malicious person.

(ポリシー更新処理)
図14は、OS110におけるポリシー更新処理の詳細を示すフローチャートである。図12の各構成と対応づけて説明する。なお、この処理は定期的に実施する。アプリケーションや脆弱性情報の更新があったタイミングで実施しても良い。また、本実施形態を使用する組織の脆弱性に対する方針が決まったタイミングで実施しても良い。
(Policy update process)
FIG. 14 is a flowchart showing details of policy update processing in the OS 110. A description will be given in association with each component of FIG. This process is performed periodically. It may be performed at the timing when the application or vulnerability information is updated. Moreover, you may implement at the timing when the policy with respect to the vulnerability of the organization which uses this embodiment was decided.

ステップ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 policy determination unit 121 in FIG. 11 acquires application update information from the policy DB 113 based on the name of the application 111.

ステップS509は図11のポリシー判断部121がポリシーの更新または新規作成が必要なアプリケーションはあるか否かを判定する。アクセスログ解析結果、アプリケーションのバージョンと最終更新日、およびアプリケーションの更新情報に基づいて、判定する。ポリシーの更新または新規作成が必要なアプリケーションがある場合(YES)は、ステップS504に進む。一方、ポリシーの更新または新規作成が必要なアプリケーションがない場合(NO)は、処理を終了する。   In step S509, the policy determining unit 121 in FIG. 11 determines whether there is an application that needs to be updated or newly created. The determination is made based on the access log analysis result, the application version and the last update date, and the application update information. If there is an application that needs to be updated or newly created (YES), the process proceeds to step S504. On the other hand, if there is no application that needs to be updated or newly created (NO), the process ends.

判定は具体的には、まず、アプリケーションのバージョンと最終更新日が更新情報よりも新しいか否かを確認する。新しい場合は、図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 information analysis unit 118 is a resident process that is activated when the OS 110 is activated. After startup, the system access log acquired from the log DB 112 is analyzed periodically (for example, every hour or every day), and the analysis result is passed to the policy processing unit 114. In addition, the vulnerability information that is already known is acquired from the known vulnerability information DB 120 through the communication network 119 outside the OS 110 as shown in FIG. Then, the vulnerability information that has become known is compared with the application table as shown in FIG. After the comparison, the vulnerability information that has become known is analyzed, and the analysis result is passed to the policy processing unit 114.

また、ポリシー処理部114は脆弱性情報解析部118からアクセスログまたは既知となった脆弱性情報の解析結果、または制御対象のアプリケーション111のシステムコールおよびプロセス情報117を受け取ると次に述べる処理を実施する。アクセスログまたは既知となった脆弱性情報の解析結果を受け取った場合、ポリシー処理部114は解析結果に基づいて、ポリシーの更新または新規作成を行い、ポリシーDB113に渡す。一方、システムコールおよびプロセス情報117を受け取った場合、ポリシー処理部114は、システムコールと対応するポリシーをアクセス制御部115へ渡す。   When the policy processing unit 114 receives the access log or the analysis result of the vulnerability information that has become known from the vulnerability information analysis unit 118, or the system call and process information 117 of the application 111 to be controlled, the policy processing unit 114 performs the following processing. To do. When the analysis result of the access log or the vulnerability information that has become known is received, the policy processing unit 114 updates or newly creates a policy based on the analysis result and passes it to the policy DB 113. On the other hand, when the system call and process information 117 is received, the policy processing unit 114 passes the policy corresponding to the system call to the access control unit 115.

ここで、ポリシー処理部114は、第1の実施形態と同様に、ユーザーインターフェースを持たないカーネルスレッドとする。これによって、攻撃者による乗っ取りを防ぐ。以上が第1の実施形態からの差分であり、その他は第1の実施形態と同様である。   Here, as in the first embodiment, the policy processing unit 114 is a kernel thread that does not have a user interface. This prevents the attacker from hijacking. The above is the difference from the first embodiment, and the others are the same as in the first embodiment.

(ポリシー更新処理)
本実施形態では、第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 Policy processing section 118 Vulnerability information analysis section

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に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the information related to the vulnerability of the application is an access log by the application. 前記アプリケーションの更新情報には、前記アプリケーションに関する脆弱性関連のアクセスログ名が含まれることを特徴とする請求項1または2のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the update information of the application includes a vulnerability-related access log name related to the application. 前記取得手段で取得された情報に基づき、前記アプリケーションによる所定のファイルへのアクセス数が所定の閾値以上であるか否かを判定する判定手段を更に有し、
前記更新手段は、前記判定手段によって前記アクセス数が所定の値以上であると判定された場合、カーネルスレッドの機能で、前記セキュリティポリシーを更新することを特徴とする請求項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乃至5のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the information related to the vulnerability of the application is information on a newly discovered vulnerability of the application. 前記アプリケーションの更新情報には、前記アプリケーションに関する脆弱性情報名が含まれることを特徴とする請求項1に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the update information of the application includes a vulnerability information name related to the application. 前記更新手段は、前記新たに発見された脆弱性に該当するアプリケーションが前記情報処理装置に存在する場合、カーネルスレッドの機能で、前記セキュリティポリシーを更新することを特徴とする請求項6に記載の情報処理装置。   The update unit according to claim 6, wherein, when an application corresponding to the newly discovered vulnerability exists in the information processing apparatus, the update unit updates the security policy with a function of a kernel thread. 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.
JP2016109335A 2016-05-31 2016-05-31 Information processing method device, method for controlling information processing device, and computer program Pending JP2017215799A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086979A (en) * 2018-11-27 2020-06-04 株式会社リコー Information processing apparatus, program update method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
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