JP2021043863A - Server device and program - Google Patents
Server device and program Download PDFInfo
- Publication number
- JP2021043863A JP2021043863A JP2019167152A JP2019167152A JP2021043863A JP 2021043863 A JP2021043863 A JP 2021043863A JP 2019167152 A JP2019167152 A JP 2019167152A JP 2019167152 A JP2019167152 A JP 2019167152A JP 2021043863 A JP2021043863 A JP 2021043863A
- Authority
- JP
- Japan
- Prior art keywords
- software
- processor
- update
- act
- client device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000011156 evaluation Methods 0.000 claims abstract description 14
- 230000008439 repair process Effects 0.000 claims description 41
- 230000002452 interceptive effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 53
- 230000008569 process Effects 0.000 description 52
- 238000004891 communication Methods 0.000 description 42
- 230000006870 function Effects 0.000 description 14
- 230000004913 activation Effects 0.000 description 10
- 238000009434 installation Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000005401 electroluminescence Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 101100215341 Arabidopsis thaliana ACT12 gene Proteins 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明の実施形態は、サーバー装置及びプログラムに関する。 Embodiments of the present invention relate to server devices and programs.
コンピューターが、OS(operating system)、アプリケーションソフトウェア及びその他のソフトウェアが改竄されているか否かを起動時に検査し、改竄を検出した場合に安全でないとして起動を中止する、セキュアブートと呼ばれる技術がある。また、ソフトウェアの改竄を検出した場合に、サーバー又は当該コンピューターなどに予め記憶された真正である(改竄が無い)ことが確かなソフトウェアを用いてソフトウェアの修復を行うなどして、ソフトウェアを改竄されていない状態にする技術が存在する。 There is a technology called secure boot in which a computer checks at startup whether the OS (operating system), application software, and other software have been tampered with, and if tampering is detected, the computer stops booting because it is unsafe. In addition, when software tampering is detected, the software is tampered with by repairing the software using software that is sure to be genuine (no tampering) stored in advance on the server or the computer. There is a technology to make it in a non-existent state.
しかしながら、ソフトウェアの改竄検出において、ソフトウェアの改竄が無いと判断されたことをもって安全であると判断し、アップデート(更新)を怠るユーザーが存在する。アップデートを怠れば、ソフトウェアの脆弱性が放置されることとなり、セキュリティ上問題である。 However, in software tampering detection, there are users who judge that it is safe because it is judged that there is no software tampering and neglect to update (update). If you neglect to update, software vulnerabilities will be left unattended, which is a security problem.
ソフトウェアのアップデートについては、自動的にアップデートを行う技術が広く用いられている。このような技術が適用されたコンピューターは、例えば、インストールされているソフトウェアのアップデートの有無をサーバーなどに問い合わせ、アップデートが存在するものについてはアップデートデータをダウンロードし、アップデートを実行する。 For software updates, technology that automatically updates is widely used. A computer to which such a technology is applied, for example, inquires of a server or the like whether or not the installed software is updated, downloads update data if there is an update, and executes the update.
しかしながら、自動的にアップデートを行う場合、軽微な脆弱性へ対応するもの及び新規機能の追加などを目的として脆弱性とは関係無いものについても自動的にアップデートが実行される。このため、セキュリティ上問題が無い又は少ないにもかかわらずこのようなアップデートが自動的に実行され、その間コンピューターが使用不可能となってしまう場合がある。 However, when updating automatically, updates are automatically executed even for those that deal with minor vulnerabilities and those that are not related to vulnerabilities for the purpose of adding new functions. Therefore, such an update may be automatically executed even if there is no or few security problems, and the computer may become unusable during that time.
本発明の実施形態が解決しようとする課題は、コンピューターの使用を必要以上に妨げずに、セキュリティ上問題のある状態を放置しないサーバー装置及びプログラムを提供することである。 An object to be solved by an embodiment of the present invention is to provide a server device and a program that do not unnecessarily interfere with the use of a computer and do not leave a state with a security problem.
実施形態のサーバー装置は、取得部、処理部及び指示部を備える。取得部は、クライアント装置にインストールされているソフトウェアのバージョンを取得する。処理部は、前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する。指示部は、前記ソフトウェアをアップデートしないと決定された場合、前記クライアント装置に前記ソフトウェアのアップデート指示を行わず、前記ソフトウェアをアップデートすると決定された場合、前記アップデート指示を行う。 The server device of the embodiment includes an acquisition unit, a processing unit, and an instruction unit. The acquisition unit acquires the version of the software installed on the client device. The processing unit obtains an evaluation value indicating the severity of the vulnerability of the version of the software, and determines whether or not to update the software based on the evaluation value. When it is determined not to update the software, the instruction unit does not instruct the client device to update the software, and when it is determined to update the software, the instruction unit gives the update instruction.
以下、いくつかの実施形態に係るアップデートシステムについて図面を用いて説明する。なお、以下の実施形態の説明に用いる各図面は、説明のため、構成を省略して示している場合がある。また、各図面及び以下の説明において、同一の符号は同様の要素を示す。
〔第1実施形態〕
図1は、第1実施形態に係るアップデートシステム1及びアップデートシステム1に含まれる構成要素についての要部回路構成の一例を示すブロック図である。アップデートシステム1は、クライアント装置にインストールされたソフトウェアのアップデート及び修復を制御するためのシステムである。なお、本明細書及び特許請求の範囲中において「アップデート」は、アップグレードを含むものとする。アップデートシステム1は、一例として、サーバー装置10及びクライアント装置20を含む。なお、図1にはサーバー装置10及びクライアント装置20をそれぞれ1台ずつ示すが、典型的には、それぞれの台数は複数である。ただし、以下の説明では、基本的に、1台のサーバー装置10及び1台のクライアント装置20に着目して説明する。
Hereinafter, the update system according to some embodiments will be described with reference to the drawings. It should be noted that each of the drawings used in the following embodiments may be omitted in configuration for the sake of explanation. Further, in each drawing and the following description, the same reference numerals indicate similar elements.
[First Embodiment]
FIG. 1 is a block diagram showing an example of a main circuit configuration of the update system 1 and the components included in the update system 1 according to the first embodiment. The update system 1 is a system for controlling the update and repair of software installed on the client device. In addition, within the scope of this specification and claims, "update" shall include upgrade. The update system 1 includes a
サーバー装置10及びクライアント装置20は、ネットワークNWに接続する。ネットワークNWは、典型的にはインターネットを含む通信網である。ネットワークNWは、典型的にはWAN(wide area network)を含む通信網である。ネットワークNWは、イントラネットなどのプライベートネットワークを含む通信網であっても良い。ネットワークNWは、LAN(local area network)を含む通信網であっても良い。また、ネットワークNWは、公衆交換電話網及び公衆携帯電話網などを含む通信網であっても良い。
The
サーバー装置10は、一例として、プロセッサー11、ROM(read-only memory)12、RAM(random-access memory)13、補助記憶デバイス14及び通信インターフェース15を含む。そして、バス16などが、これら各部を接続する。
As an example, the
プロセッサー11は、サーバー装置10の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー11は、ROM12又は補助記憶デバイス14などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、サーバー装置10の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー11の回路内に組み込まれていても良い。プロセッサー11は、例えば、CPU(central processing unit)、MPU(micro processing unit)、SoC(system on a chip)、DSP(digital signal processor)、GPU(graphics processing unit)、ASIC(application specific integrated circuit)、PLD(programmable logic device)又はFPGA(field-programmable gate array)などである。あるいは、プロセッサー11は、これらのうちの複数を組み合わせたものである。
The
ROM12は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。ROM12は、専らデータの読み出しに用いられる不揮発性メモリである。ROM12は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM12は、プロセッサー11が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
The
RAM13は、プロセッサー11を中枢とするコンピューターの主記憶装置に相当する。RAM13は、データの読み書きに用いられるメモリである。RAM13は、プロセッサー11が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM13は、典型的には揮発性メモリである。
The
補助記憶デバイス14は、プロセッサー11を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス14は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disk drive)又はフラッシュメモリなどである。補助記憶デバイス14は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス14は、プロセッサー11が各種の処理を行う上で使用するデータ、プロセッサー11での処理によって生成されたデータ又は各種の設定値などを保存する。
The
また、補助記憶デバイス14は、ソフトウェアDB(database)141を記憶する。
ソフトウェアDB141は、クライアント装置20にインストールされる各ソフトウェアについての情報を記憶及び管理する。ソフトウェアDB141は、当該各ソフトウェアの脆弱性に関するデータを記憶及び管理する。ソフトウェアDB141は、当該各ソフトウェアのアップデートデータを記憶及び管理する。また、ソフトウェアDB141は、当該各ソフトウェアの各バージョンのデータのハッシュ値を記憶する。さらに、ソフトウェアDB141は、当該ソフトウェアの各バージョンについて、真正であることが確かであるデータを記憶する。
Further, the
The software DB 141 stores and manages information about each software installed in the
ROM12又は補助記憶デバイス14に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、サーバー装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶されない状態でサーバー装置10の利用者又は管理者などへと譲渡される。そして、別途に当該利用者又は管理者などへと譲渡された当該プログラムが、当該利用者又は管理者などによる操作の下に補助記憶デバイス14へと書き込まれる。しかしながら、サーバー装置10は、当該プログラムがROM12又は補助記憶デバイス14に記憶された状態で当該利用者又は管理者などへと譲渡されても良い。上述のプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。
The program stored in the
通信インターフェース15は、サーバー装置10がネットワークNWなどを介して通信するためのインターフェースである。
The
バス16は、コントロールバス、アドレスバス及びデータバスなどを含み、サーバー装置10の各部で授受される信号を伝送する。
The bus 16 includes a control bus, an address bus, a data bus, and the like, and transmits signals sent and received by each part of the
クライアント装置20は、例えば、PC(personal computer)、サーバー、POS(point of sale)端末、事務機器、産業用コンピューター、組み込み機器、又はIoT機器などである。クライアント装置20は、一例として、プロセッサー21、ROM22、RAM23、補助記憶デバイス24、通信インターフェース25、表示デバイス26及び入力デバイス27を含む。そして、バス28などが、これら各部を接続する。
The
プロセッサー21は、クライアント装置20の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー21は、ROM22又は補助記憶デバイス24などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、クライアント装置20の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー21の回路内に組み込まれていても良い。プロセッサー21は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー21は、これらのうちの複数を組み合わせたものである。
The
ROM22は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。ROM22は、専らデータの読み出しに用いられる不揮発性メモリである。ROM22は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM22は、プロセッサー21が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
The
RAM23は、プロセッサー21を中枢とするコンピューターの主記憶装置に相当する。RAM23は、データの読み書きに用いられるメモリである。RAM23は、プロセッサー21が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM23は、典型的には揮発性メモリである。
The
補助記憶デバイス24は、プロセッサー21を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス24は、例えばEEPROM、HDD又はフラッシュメモリなどである。補助記憶デバイス24は、上記のプログラムのうち、例えば、OSなどのシステムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス24は、プロセッサー21が各種の処理を行う上で使用するデータ、プロセッサー21での処理によって生成されたデータ又は各種の設定値などを保存する。
The
ROM22又は補助記憶デバイス24に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、クライアント装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶されない状態でクライアント装置20の利用者又は管理者などへと譲渡される。そして、別途に当該利用者又は管理者などへと譲渡された当該プログラムが、当該利用者又は管理者などによる操作の下に補助記憶デバイス24へと書き込まれる。しかしながら、クライアント装置20は、当該プログラムがROM22又は補助記憶デバイス24に記憶された状態で当該利用者又は管理者などへと譲渡されても良い。上述のプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。
The program stored in the
通信インターフェース25は、クライアント装置20がネットワークNWなどを介して通信するためのインターフェースである。
The
表示デバイス26は、クライアント装置20の操作者に各種情報を通知するための画面を表示する。表示デバイス26は、例えば、液晶ディスプレイ又は有機EL(electro-luminescence)ディスプレイなどのディスプレイである。
The display device 26 displays a screen for notifying the operator of the
入力デバイス27は、クライアント装置20の操作者による操作を受け付ける。入力デバイス27は、例えば、キーボード、キーパッド、タッチパッド又はマウスなどである。また、表示デバイス26及び入力デバイス27としては、タッチパネルを用いることもできる。すなわち、タッチパネルが備える表示パネルを表示デバイス26として用いることができる。そして、タッチパネルが備える、タッチ入力によるポインティングデバイスを入力デバイス27として用いることができる。
The
バス28は、コントロールバス、アドレスバス及びデータバスなどを含み、クライアント装置20の各部で授受される信号を伝送する。
The
以下、第1実施形態に係るアップデートシステム1の動作を図2及び図3などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図2は、クライアント装置20のプロセッサー21による処理の一例を示すフローチャートである。プロセッサー21は、例えば、補助記憶デバイス24に記憶されたOSに含まれるプログラムに基づいてこの処理を実行する。図3は、サーバー装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。
Hereinafter, the operation of the update system 1 according to the first embodiment will be described with reference to FIGS. 2 and 3. The content of the process in the following operation description is an example, and various processes capable of obtaining similar results can be appropriately used. FIG. 2 is a flowchart showing an example of processing by the
クライアント装置20は、例えば、電源が投入されたことに応じて、ブートローダーを用いてOSをロードする。クライアント装置20のプロセッサー21は、例えば、ロードしたOSの実行開始にともない図2に示す処理を開始する。
The
ACT12においてプロセッサー21は、クライアント装置20にインストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれのバージョンを示すバージョン情報を取得する。当該バージョン情報は、例えば、各ソフトウェアに含まれる。
In the
ACT13においてプロセッサー21は、クライアント装置20にインストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれのハッシュ値を取得する。例えば、プロセッサー21は、各ソフトウェアのデータの一部又は全部を入力値としてハッシュ値を算出することでハッシュ値を取得する。
In the
図2のACT11においてプロセッサー21は、OSの起動処理を途中まで行う。ここでは、プロセッサー21は、少なくとも、次に示すACT14〜ACT18の処理を実行可能な段階までOSの起動処理を行う。
In the
ACT14においてプロセッサー21は、ソフトウェア情報を生成する。当該ソフトウェア情報は、クライアント装置20にインストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれについての各種情報を含む。当該各種情報は、ACT12で取得されたバージョン情報及びACT13で取得されたハッシュ値を含む。プロセッサー21は、ソフトウェア情報を生成した後、当該ソフトウェア情報をサーバー装置10に送信するように通信インターフェース25に対して指示する。この送信の指示を受けて通信インターフェース25は、当該ソフトウェア情報をサーバー装置10に送信する。送信された当該ソフトウェア情報は、サーバー装置10の通信インターフェース15によって受信される。
In the
一方、図3のACT31においてサーバー装置10のプロセッサー11は、通信インターフェース15によってソフトウェア情報が受信されるのを待ち受けている。プロセッサー11は、ソフトウェア情報が受信されたならば、ACT31においてYesと判定してACT32へと進む。なお、ここで受信されたソフトウェア情報を、以下「受信ソフトウェア情報」というものとする。
ソフトウェア情報は、バージョン情報を含む。したがって、プロセッサー11は、通信インターフェース15と協働して、ソフトウェア情報を受信することで、クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部として機能する。また、ソフトウェア情報は、ハッシュ値を含む。したがって、プロセッサー11は、通信インターフェース15と協働して、ソフトウェア情報を受信することで、ハッシュ値を取得する取得部として機能する。
On the other hand, in the
Software information includes version information. Therefore, the
ACT32においてプロセッサー11は、受信ソフトウェア情報にハッシュ値及びバージョン情報が含まれるソフトウェアの中から1つを選択する。ただし、プロセッサー11は、当該ソフトウェアのうち、まだ選択されていないソフトウェアを選択する。なお、ACT32の処理で最後に選択されたソフトウェアを以下「対象ソフトウェア」というものとする。プロセッサー11は、対象ソフトウェアに対して以下に説明にするACT33〜ACT36の処理を行う。
In the
ACT33においてプロセッサー11は、受信ソフトウェア情報に含まれる対象ソフトウェアのハッシュ値及びバージョン情報を用いて、クライアント装置20にインストールされた対象ソフトウェアの整合性をチェックする。このために、プロセッサー11は、ソフトウェアDBを参照して、受信ソフトウェア情報に含まれるバージョン情報に対応するハッシュ値を取得する。そして、プロセッサー11は、受信ソフトウェア情報に含まれるハッシュ値とソフトウェアDBから取得したハッシュ値とが同一であるか否かを判定する。
したがって、プロセッサー11は、ACT33の処理を行うことで、データの誤りを検出する処理部として機能する。
In the
Therefore, the
ACT34においてプロセッサー11は、ACT33の処理の結果、対象ソフトウェアのデータに誤りを検出したか否かを判定する。なお、プロセッサー11は、ACT33の処理により、ハッシュ値が同一でなかった場合に、対象ソフトウェアのデータに誤りがあると判定する。対象ソフトウェアのデータの誤りは、例えば、データの改竄又は破損などにより発生する。プロセッサー11は、対象ソフトウェアのデータに誤りを検出したならば、ACT34においてYesと判定してACT35へと進む。
In the
ACT35においてプロセッサー11は、修復指示情報を生成する。修復指示情報は、対象ソフトウェアを修復するようにクライアント装置20に指示するための情報である。修復指示情報は、対象ソフトウェアの修復に必要なデータ及び修復方法を示す情報を含む。
ACT36においてプロセッサー11は、対象ソフトウェアを修復指示情報と関連付けて修復リストに登録する。修復リストは、修復が必要な対象ソフトウェアのリストである。
In the
In the
プロセッサー11は、ACT36の処理の後、ACT37へと進む。また、プロセッサー11は、対象ソフトウェアのデータに誤りを検出していないならば、ACT34においてNoと判定してACT37へと進む。
The
ACT37においてプロセッサー21は、ACT32の処理においてまだ選択されていないソフトウェアがあるか否かを判定する。プロセッサー21は、まだ選択されていないソフトウェアがあるならば、ACT37においてYesと判定してACT32へと進む。かくして、プロセッサー31は、受信ソフトウェア情報にハッシュ値及びバージョン情報が含まれるソフトウェアそれぞれに対してACT32〜ACT36の処理を行う。対して、プロセッサー21は、まだ選択されていないソフトウェアがないならば、ACT37においてNoと判定してACT38へと進む。
In the
ACT38においてプロセッサー11は、受信ソフトウェア情報に含まれる各ソフトウェアのバージョン情報などを用いて、クライアント装置20及びクライアント装置20にインストールされたソフトウェアの脆弱性を評価する。例えば、プロセッサー11は、受信ソフトウェアに含まれる各ソフトウェアのバージョン情報から、各ソフトウェアの脆弱性を評価して数値(以下「ソフトウェア脆弱性ポイント」という。)として示す。そして、プロセッサー11は、例えば、各ソフトウェアのソフトウェア脆弱性ポイントから、クアイアント装置の脆弱性を示す数値(以下「クライアント脆弱性ポイント」という。)を求める。例えば、プロセッサー11は、各ソフトウェアのソフトウェア脆弱性ポイントを足し合わせた数値をクライアント脆弱性ポイントとする。なお、ソフトウェア脆弱性ポイント及びクライアント脆弱性ポイントは、脆弱性の深刻度を数値として示したものであり、ここでは数値が大きいほど脆弱性の深刻度が高い(セキュリティ上の問題が大きい)ことを示すものとする。また、反対に、ソフトウェア脆弱性ポイント及びクライアント脆弱性ポイントは、数値が小さいほど安全度が高いことを示すといえる。ソフトウェア脆弱性ポイント及びクライアント脆弱性ポイントは、脆弱性の深刻度を示す評価値の例である。
プロセッサー11は、ソフトウェアの脆弱性を評価するために、例えば、当該ソフトウェアのベンダー名(ソフトウェア製作者名)、名称及びバージョンなどの情報に基づき、JVN(Japan Vulnerability Notes)などの脆弱性情報データベースを参照することで、当該ソフトウェアにどのような脆弱性があるかを調べる。そして、プロセッサー11は、当該ソフトウェアの脆弱性それぞれについて、CVSS(Common Vulnerability Scoring System)による深刻度の値を調べる。さらに、プロセッサー11は、脆弱性の深刻度の値の中で最大の値を当該ソフトウェアの脆弱性ポイントとする。あるいは、プロセッサー11は、脆弱性の深刻度の値を全て足し合わせたものを当該ソフトウェアの脆弱性ポイントとする。
また、プロセッサー11は、2種類以上のソフトウェアの組み合わせの影響を考慮して脆弱性を評価しても良い。例えば、プロセッサー11は、特定のソフトウェアの特定のバージョンと、当該特定のソフトウェアとは別のソフトウェアの特定のバージョンとを組み合わせると脆弱性の深刻度が高まることを考慮して脆弱性を評価する。
In the ACT 38, the
In order to evaluate software vulnerabilities, the
Further, the
ACT39においてプロセッサー11は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であるか否かを判定する。プロセッサー11は、例えば、クライアント装置20又はクライアント装置20にインストールされたソフトウェアの脆弱性が高い場合に当該アップデートが必要であると判定する。このために、プロセッサー11は、例えば、クライアント脆弱性ポイントが閾値T1以上であるならば当該アップデートが必要であると判定する。あるいは、プロセッサー11は、クライアント脆弱性ポイントが閾値T1以上であり、且ついずれかのソフトウェアのソフトウェア脆弱性ポイントが閾値T2以上であるソフトウェアがある場合に、当該アップデートが必要であると判定する。なお、プロセッサー11は、クライアント脆弱性ポイントが閾値T1未満であるが、いずれかのソフトウェアのソフトウェア脆弱性ポイントが閾値T3以上である場合にも、当該アップデートが必要であると判定しても良い。プロセッサー11は、当該アップデートが必要であると判定するならば、ACT39においてYesと判定してACT40へと進む。
プロセッサー11は、ACT39の処理を行うことで、評価値に基づきソフトウェアをアップデートするか否かを決定する処理部として機能する。
In the ACT 39, the
The
ACT40においてプロセッサー11は、更新指示情報を生成する。更新指示情報は、クライアント装置20にソフトウェアのアップデートを指示する情報を含む。また、更新指示情報は、ソフトウェアのアップデートに必要なアップデートデータを含む。プロセッサー11は、更新指示情報を生成するために、クライアント装置20にインストールされたソフトウェアのうちどのソフトウェアをアップデート対象とするかを決定する。例えば、プロセッサー11は、ソフトウェア脆弱性ポイントが一定以上であるソフトウェアをアップデート対象とする。例えば、プロセッサー11は、ソフトウェア脆弱性ポイントが高いものを優先してアップデート対象とする。例えば、プロセッサー11は、アップデート後のクライアント脆弱性ポイントが閾値T3以下となるようにアップデート対象のソフトウェアを決定する。例えば、プロセッサー11は、依存性が高いソフトウェアを優先してアップデート対象とする。ここで、依存性とは、どれぐらいの数のソフトウェアから参照されているかを示す。例えば、プロセッサー11は、アップデートに時間がかかるもの及びアップデートデータのデータサイズが大きいソフトウェアをアップデート対象とする優先度を下げる。このように、プロセッサー11は、様々な要因を加味してアップデート対象を決定する。例えば、プロセッサー11は、ソフトウェア脆弱性ポイントが低いソフトウェアでも、アップデートデータのデータサイズが大きい場合は後回しにし、アップデートデータのデータサイズが小さい場合にはアップデート対象にすることなどが可能である。ただし、プロセッサー11は、アップデートが可能な全てのソフトウェアをアップデート対象としても良い。なお、プロセッサー11は、上記のようにアップデート対象を決定する際、ソフトウェアのバージョンが最新であるなどの理由でアップデートできないものについてはアップデート対象としない。また、プロセッサー11は、予め定められた特定のソフトウェアについては、ソフトウェア脆弱性ポイントにかかわらずアップデート対象としても良い。
プロセッサー11は、以上のようにアップデート対象として決定したソフトウェアをアップデートするように指示する情報及びアップデート対象のアップデートデータを含む更新指示情報を生成する。
In the ACT 40, the
The
プロセッサー11は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であると判定しないならば、ACT39においてNoと判定してACT41へと進む。
ACT41においてプロセッサー11は、修復リストが空であるか否かを判定する。プロセッサー11は、修復リストが空でない、すなわち修復リストにソフトウェアが1つ以上登録されているならば、ACT41においてNoと判定してACT42へと進む。また、プロセッサー11は、ACT40の処理の後、ACT42へと進む。
If the
In ACT 41,
ACT42においてプロセッサー11は、指示情報を生成する。指示情報は、更新指示情報及び修復指示情報の少なくともいずれかを含む。プロセッサー11は、ACT40からACT42に進んだ場合、すなわちACT42で更新指示情報を生成していた場合、当該更新指示情報を指示情報に含める。また、プロセッサー11は、修復リストが空でないならば、修復リストに登録されているソフトウェアに関連付けられている修復指示情報を指示情報に含める。プロセッサー11は、指示情報を生成した後、当該指示情報をクライアント装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該指示情報をクライアント装置20に送信する。送信された当該指示情報は、クライアント装置20の通信インターフェース25によって受信される。プロセッサー11は、ACT42の処理の後、ACT31へと進む。なお、プロセッサー11は、ACT31へと戻るとき、修復リストをリセットして、ソフトウェアが登録されていない状態にする。
In the ACT 42, the
一方、図2のACT15においてクライアント装置20のプロセッサー21は、通信インターフェース25によって起動許可情報が受信されたか否かを判定する。プロセッサー21は、起動許可情報が受信されないならば、ACT15においてNoと判定してACT16へと進む。なお、起動許可情報については後述する。
On the other hand, in the
ACT16においてプロセッサー21は、通信インターフェース25によって指示情報が受信されたか否かを判定する。プロセッサー21は、指示情報が受信されないならば、ACT16においてNoと判定してACT15へと戻る。かくして、プロセッサー21は、起動許可情報又は指示情報が受信されるまでACT15及びACT16を繰り返す。
In the ACT 16, the
プロセッサー21は、ACT15及びACT16の待受状態にあるときに指示情報が受信されたならば、ACT16においてYesと判定してACT17へと進む。
If the instruction information is received while the
ACT17においてプロセッサー21は、ACT16で受信された指示情報に修復指示情報が含まれるか否かを判定する。プロセッサー21は、指示情報に修復指示情報が含まれるならば、ACT17においてYesと判定してACT18へと進む。
In the ACT 17, the
ACT18においてプロセッサー21は、指示情報に含まれる修復指示情報に基づきインストールされているソフトウェアを修復する。
In the ACT 18, the
プロセッサー21は、ACT18の処理の後、ACT19へと進む。また、プロセッサー21は、指示情報に修復指示情報が含まれないならば、ACT17においてNoと判定してACT19へと進む。
ACT19においてプロセッサー21は、ACT16で受信された指示情報に更新指示情報が含まれるか否かを判定する。プロセッサー21は、指示情報に更新指示情報が含まれるならば、ACT19においてYesと判定してACT20へと進む。
The
In the ACT 19, the
ACT20においてプロセッサー21は、指示情報に含まれる更新指示情報に基づきインストールされているソフトウェアをアップデートする。
In the
プロセッサー21は、ACT20の処理の後、ACT21へと進む。また、プロセッサー21は、指示情報に更新指示情報が含まれないならば、ACT19においてNoと判定してACT21へと進む。
ACT21においてプロセッサー21は、途中まで実行しているOSの起動処理の続きを実行して、起動処理を完了する。プロセッサー21は、ACT21の処理の後、図2に示す処理を終了する。
The
In the
一方、プロセッサー11は、修復リストが空であるならば、図3のACT41においてYesと判定してACT43へと進む。
On the other hand, if the repair list is empty, the
ACT43においてプロセッサー11は、起動許可情報を補助記憶デバイス14に送信するように通信インターフェース15に対して指示する。起動許可情報は、クライアント装置20に、ソフトウェアのアップデート及び修復無しで起動を完了しても良いことを通知する。この送信の指示を受けて通信インターフェース15は、当該起動許可情報を補助記憶デバイス14に送信する。送信された当該起動許可情報は、補助記憶デバイス14によって受信される。プロセッサー11は、ACT43の処理の後、ACT31へと戻る。
以上より、プロセッサー11は、ACT39の処理結果に応じて更新指示情報を送信するか否かを決定する。したがって、プロセッサー11は、通信インターフェース15と協働して、ソフトウェアをアップデートしないと決定した場合、アップデート指示を行わず、前記ソフトウェアをアップデートすると決定した場合、前記アップデート指示を行う指示部として機能する。また、プロセッサー11は、通信インターフェース15と協働して、データに誤りが検出された場合、前記ソフトウェアを修復するようにクライアント装置20に指示する指示部として機能する。
In the ACT 43, the
From the above, the
一方、クライアント装置20のプロセッサー21は、図2のACT15及びACT16の待受状態にあるときに起動許可情報が受信されたならば、ACT15においてYesと判定してACT21へと進む。
On the other hand, if the activation permission information is received while the
第1実施形態のアップデートシステム1によれば、サーバー装置10は、クライアント装置20にインストールされたソフトウェアの脆弱性の深刻度に応じて、クライアント装置20に当該ソフトウェアのアップデートを指示するか否かを決定する。ソフトウェアのアップデートには時間がかかるため、その間クライアント装置20は使えなくなる。したがって、サーバー装置10は、脆弱性の深刻度が所定より低い場合にはアップデートを指示しないことで、クライアント装置20の使用を必要以上に妨げない。また、サーバー装置10は、脆弱性の深刻度が所定より高い場合には当該ソフトウェアのアップデートを指示することで、セキュリティ上問題のある状態を放置しない。
According to the update system 1 of the first embodiment, whether or not the
また、第1実施形態のアップデートシステム1によれば、サーバー装置10は、ソフトウェア脆弱性ポイント又はクライアント脆弱性ポイントが閾値未満である場合、アップデートの指示を行わない。これにより、サーバー装置10は、クライアント装置20に対して必要以上にアップデートを実行させない。
Further, according to the update system 1 of the first embodiment, the
また、第1実施形態のアップデートシステム1によれば、サーバー装置10は、アップデートにかかる時間に基づきアップデートを指示するか否かを決定する。アップデートにかかる時間が短い場合には、クライアント装置20の使用を妨げる時間も短いので、脆弱性の深刻度に拘らずアップデートを行うことでセキュリティ性を向上することができる。
Further, according to the update system 1 of the first embodiment, the
また、第1実施形態のアップデートシステム1は、サーバー装置10は、クライアント装置20にインストールされたソフトウェアにデータの誤りを検出した場合には、データの修復を行うようにクライアント装置20に指示する。これによりクライアント装置20のセキュリティ性が向上する。
Further, in the update system 1 of the first embodiment, when the
〔第2実施形態〕
図4は、第2実施形態に係るアップデートシステム1b及びアップデートシステム1bに含まれる構成要素についての要部回路構成の一例を示すブロック図である。
第2実施形態のアップデートシステム1bは、ソフトウェアの更新又は修復にサービスマンなどによる作業が必要であるクライアント装置20に対して特に好適である。このようなクライアント装置20としては、例えば、一部のIoT(internet of things)機器及び制御機器などが挙げられる。アップデートシステム1bは、第1実施形態のアップデート1システムと同様にサーバー装置10及びクライアント装置20を含む。さらに、アップデートシステム1bは、端末装置30を含む。
[Second Embodiment]
FIG. 4 is a block diagram showing an example of a main circuit configuration of the update system 1b and the components included in the update system 1b according to the second embodiment.
The update system 1b of the second embodiment is particularly suitable for a
端末装置30は、例えば、スマートホン又はPCなどである。端末装置30は、一例として、プロセッサー31、ROM32、RAM33、補助記憶デバイス34、通信インターフェース35及びタッチパネル36を含む。そして、バス37などが、これら各部を接続する。
The
プロセッサー31は、端末装置30の動作に必要な演算及び制御などの処理を行うコンピューターの中枢部分に相当する。プロセッサー31は、ROM32又は補助記憶デバイス34などに記憶されたファームウェア、システムソフトウェア及びアプリケーションソフトウェアなどのプログラムに基づいて、端末装置30の各種の機能を実現するべく各部を制御する。なお、当該プログラムの一部又は全部は、プロセッサー31の回路内に組み込まれていても良い。プロセッサー31は、例えば、CPU、MPU、SoC、DSP、GPU、ASIC、PLD又はFPGAなどである。あるいは、プロセッサー31は、これらのうちの複数を組み合わせたものである。
The
ROM32は、プロセッサー31を中枢とするコンピューターの主記憶装置に相当する。ROM32は、専らデータの読み出しに用いられる不揮発性メモリである。ROM32は、上記のプログラムのうち、例えばファームウェアなどを記憶する。また、ROM32は、プロセッサー31が各種の処理を行う上で使用するデータ又は各種の設定値などを記憶する。
The
RAM33は、プロセッサー31を中枢とするコンピューターの主記憶装置に相当する。RAM33は、データの読み書きに用いられるメモリである。RAM33は、プロセッサー31が各種の処理を行う上で一時的に使用するデータを記憶しておく、いわゆるワークエリアなどとして利用される。RAM33は、典型的には揮発性メモリである。
The
補助記憶デバイス34は、プロセッサー31を中枢とするコンピューターの補助記憶装置に相当する。補助記憶デバイス34は、例えばEEPROM、HDD又はフラッシュメモリなどである。補助記憶デバイス34は、上記のプログラムのうち、例えば、システムソフトウェア及びアプリケーションソフトウェアなどを記憶する。また、補助記憶デバイス34は、プロセッサー31が各種の処理を行う上で使用するデータ、プロセッサー31での処理によって生成されたデータ又は各種の設定値などを保存する。
The
ROM32又は補助記憶デバイス34に記憶されるプログラムは、後述する処理を実行するためのプログラムを含む。一例として、端末装置30は、当該プログラムがROM32又は補助記憶デバイス34に記憶されない状態で端末装置30の利用者又は管理者などへと譲渡される。そして、別途に当該利用者又は管理者などへと譲渡された当該プログラムが、当該利用者又は管理者などによる操作の下に補助記憶デバイス34へと書き込まれる。しかしながら、端末装置30は、当該プログラムがROM32又は補助記憶デバイス34に記憶された状態で当該利用者又は管理者などへと譲渡されても良い。上述のプログラムの譲渡は、例えば、磁気ディスク、光磁気ディスク、光ディスク又は半導体メモリなどのようなリムーバブルな記憶媒体に記録して、あるいはネットワークNWなどを介したダウンロードにより実現できる。
The program stored in the
通信インターフェース35は、端末装置30がネットワークNWなどを介して通信するためのインターフェースである。
The
タッチパネル36は、例えば、液晶ディスプレイ又は有機ELディスプレイなどのディスプレイとタッチ入力によるポインティングデバイスとが積層されたものである。タッチパネル36が備えるディスプレイは、端末装置30の操作者に各種情報を通知するための画面を表示する表示デバイスとして機能する。また、タッチパネル36は、当該操作者によるタッチ操作を受け付ける入力デバイスとして機能する。
The
バス37は、コントロールバス、アドレスバス及びデータバスなどを含み、端末装置30の各部で授受される信号を伝送する。
The
なお、第2実施形態では、サーバー装置10は、クライアント装置20についての設置場所情報及び連絡先情報を補助記憶デバイス14などに記憶する。なお、サーバー装置10は、例えば、クライアントIDと設置場所情報及び連絡先情報を関連付けて記憶する。クライアントIDは、クライアント装置20ごとにユニークに付与される識別情報である。設置場所情報は、クライアント装置20の設置場所を示す情報である。設置場所情報は、例えば、クライアント装置20が設置されている場所の住所などを含む。また、連絡先情報は、クライアント装置20を使用している使用者又は管理者などの連絡先を示す情報である。
In the second embodiment, the
以下、第2実施形態に係るアップデートシステム1bの動作を図5及び図6などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図5は、クライアント装置20のプロセッサー21による処理の一例を示すフローチャートである。プロセッサー21は、例えば、補助記憶デバイス24に記憶されたOSに含まれるプログラムに基づいてこの処理を実行する。図6は、サーバー装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。図7は、端末装置30のプロセッサー31による処理の一例を示すフローチャートである。プロセッサー31は、例えば、ROM32又は補助記憶デバイス34などに記憶されたプログラムに基づいてこの処理を実行する。
Hereinafter, the operation of the update system 1b according to the second embodiment will be described with reference to FIGS. 5 and 6. The content of the process in the following operation description is an example, and various processes capable of obtaining similar results can be appropriately used. FIG. 5 is a flowchart showing an example of processing by the
第2実施形態では、サーバー装置10のプロセッサー11は、図6のACT40の処理の後、ACT61へと進む。また、プロセッサー11は、ACT41においてNoと判定したならば、ACT61へと進む。
ACT61においてプロセッサー11は、通知情報を生成する。通知情報は、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることを、クライアント装置20に通知する。なお、プロセッサー11は、ACT40からACT61に進んだ場合、クライアント装置20にインストールされたソフトウェアのアップデートが必要であることを通知するものとして通知情報を生成する。また、プロセッサー11は、修復リストが空でないならば、クライアント装置20にインストールされたソフトウェアの修復が必要であることを通知するものとして通知情報を生成する。プロセッサー11は、通知情報を生成した後、当該通知情報をクライアント装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該通知情報をクライアント装置20に送信する。送信された当該通知情報は、クライアント装置20の通信インターフェース25によって受信される。
In the second embodiment, the
In the ACT 61, the
一方、クライアント装置20のプロセッサー21は、第2実施形態では、図5のACT15の処理においてNoと判定したならば、ACT51へと進む。
ACT51においてプロセッサー21は、通信インターフェース25によって通知情報が受信されたか否かを判定する。プロセッサー21は、通知情報が受信されないならば、ACT51においてNoと判定してACT15へと戻る。かくして、プロセッサー21は、起動許可情報又は通知情報が受信されるまでACT15及びACT51を繰り返す。
プロセッサー21は、ACT15及びACT51の待受状態にあるときに起動許可情報が受信されたならば、ACT15においてYesと判定してACT21へと進む。
On the other hand, in the second embodiment, the
In the ACT 51, the
If the activation permission information is received while the
プロセッサー21は、ACT15及びACT51の待受状態にあるときに通知情報が受信されたならば、ACT51においてYesと判定してACT52へと進む。
ACT52においてプロセッサー21は、通知画面に対応した画像を生成する。そして、プロセッサー21は、生成したこの画像を表示するように表示デバイス26に対して指示する。表示の指示を受けて表示デバイス26は、通知画面を表示する。
通知画面は、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることをクライアント装置20の操作者に報知するための画面である。通知画面は、ACT51で受信された通知情報が当該ソフトウェアの修復が必要であることを示す場合、当該ソフトウェアの修復が必要であることを示す画像を含む。なお、文字列なども画像の一種である。また、通知画面は、当該通知情報が当該ソフトウェアのアップデートが必要であることを示す場合、当該ソフトウェアのアップデートが必要であることを示す画像を含む。さらに、通知画面は、起動中止ボタン及び起動ボタンを含む。起動中止ボタンは、OSの起動を中止するようにクライアント装置20に指示する場合にクライアント装置20の操作者が操作するためのボタンである。起動ボタンは、OSの起動を継続するようにクライアント装置20に指示する場合に当該操作者が操作するためのボタンである。
If the notification information is received while the
In the ACT 52, the
The notification screen is a screen for notifying the operator of the
ACT53においてプロセッサー21は、OSの起動を中止するように指示する操作が行われたか否かを判定する。すなわちプロセッサー21は、起動中止ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー21は、OSの起動を中止するように指示する操作が行われないならば、ACT53においてNoと判定してACT54へと進む。
In the ACT 53, the
ACT54においてプロセッサー21は、OSの起動を継続するように指示する操作が行われたか否かを判定する。すなわちプロセッサー21は、起動ボタンを操作するなどの予め定められた操作が行われたか否かを判定する。プロセッサー21は、OSの起動を継続するように指示する操作が行われないならば、ACT54においてNoと判定してACT53へと戻る。かくして、プロセッサー21は、OSの起動を中止するように指示する操作が行われるか、OSの起動を継続するように指示する操作が行われるまでACT53及びACT54を繰り返す。
In the ACT 54, the
プロセッサー21は、ACT53及びACT54の待受状態にあるときにOSの起動を中止するように指示する操作が行われたならば、ACT53においてYesと判定してACT55へと進む。
If the
ACT55においてプロセッサー21は、OSの起動を中止する。そして、プロセッサー21は、例えば、クライアント装置20をシャットダウンする。プロセッサー21は、ACT55の処理の後、図5に示す処理を終了する。
In the ACT 55, the
プロセッサー21は、ACT53及びACT54の待受状態にあるときにOSの起動を継続するように指示する操作が行われたならば、ACT54においてYesと判定してACT21へと進む。
If the
一方、図6のACT62においてサーバー装置10のプロセッサー11は、サービスマン通知を生成する。サービスマン通知は、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることをサービスマンに対して通知するために送信される。サービスマン通知は、更新指示情報及び修復指示情報の少なくとも何れかを含む。プロセッサー11は、ACT40からACT61に進んだ場合、すなわちACT42で更新指示情報を生成していた場合、当該更新指示情報を指示情報に含める。また、プロセッサー11は、修復リストが空でないならば、修復リストに登録されているソフトウェアに関連付けられている修復指示情報をサービスマン通知に含める。また、サービスマン通知は、クライアント装置20についての設置場所情報及び連絡先情報を含む。プロセッサー11は、サービスマン通知を生成した後、当該サービスマン通知を端末装置30に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該サービスマン通知を端末装置30に送信する。送信された当該サービスマン通知は、端末装置30の通信インターフェース35によって受信される。プロセッサー11は、ACT62の処理の後、ACT31へと戻る。
プロセッサー11は、通信インターフェース15と協働して、サービスマン通知を送信することで、ソフトウェアをアップデートするように指示する情報をサービスマンが使用する端末装置に送信する送信部として機能する。
On the other hand, in the ACT 62 of FIG. 6, the
The
一方、図7のACT71において端末装置30のプロセッサー31は、通信インターフェース35によってサービスマン通知が受信されるのを待ち受けている。プロセッサー31は、サービスマン通知が受信されたならば、ACT71においてYesと判定してACT72へと進む。
On the other hand, in the ACT 71 of FIG. 7, the
ACT72においてプロセッサー31は、端末装置30を使用しているサービスマンに対して、クライアント装置20にインストールされたソフトウェアについて、修復及びアップデートの少なくともいずれかが必要であることを知らせるための報知動作を実行する。プロセッサー31は、例えば、報知動作として、スピーカーなどから音声を出力する。また、プロセッサー31は、例えば、報知動作として、端末装置30に内蔵されたバイブレーターを振動させる。また、プロセッサー31は、例えば、タッチパネル36に、インストールされたソフトウェアの修復及びアップデートの少なくともいずれかが必要なクライアント装置20があることなどを示す報知画面を表示させる。プロセッサー31は、ACT72の処理の後、ACT71へと戻る。
In the ACT 72, the
ACT71で受信されたサービスマン通知に更新指示情報が含まれる場合、報知画面は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であることを示す画像を含む。当該サービスマン通知に修復指示情報が含まれる場合、報知画面は、クライアント装置20にインストールされたソフトウェアの修復が必要であることを示す画像を含む。また、報知画面は、クライアント装置20について、設置場所情報が示す設置場所及び連絡先情報が示す連絡先を示す画像を含む。
When the serviceman notification received by the ACT 71 includes update instruction information, the notification screen includes an image indicating that the software installed on the
サービスマンは、報知画面に表示された情報を見て、クライアント装置20にインストールされたソフトウェアのアップデート及び修復の少なくともいずれかを行う。このために、サービスマンは、例えば、連絡先情報が示す連絡先に連絡する、及び設置場所情報が示す設置場所に向かうなどの行動をする。そして、サービスマンは、例えば、修復指示情報及び更新指示情報に基づき、クライアント装置20にインストールされたソフトウェアのアップデート及び修復の少なくともいずれかを行うべくクライアント装置20のメンテナスなどを行う。
The serviceman sees the information displayed on the notification screen and performs at least one of updating and repairing the software installed on the
第2実施形態のアップデートシステム1bによれば、サーバー装置10は、サービスマンが必要なクライアント装置20に対しても、第1実施形態と同様の効果が得られる。
According to the update system 1b of the second embodiment, the
〔第3実施形態〕
第3実施形態のアップデートシステム1bの構成は、第2実施形態と同様であるので説明を省略する。
[Third Embodiment]
Since the configuration of the update system 1b of the third embodiment is the same as that of the second embodiment, the description thereof will be omitted.
第3実施形態では、サーバー装置10は、各クライアント装置20について、インストールされたOS、アプリケーションソフトウェア及びその他のソフトウェアそれぞれのバージョン情報を補助記憶デバイス14などに記憶する。サーバー装置10は、例えば、クライアントIDと関連づけてこれら当該バージョン情報を記憶する。
サーバー装置10のプロセッサー11は、例えば、クライアント装置20から送信されるバージョン情報を記憶する。あるいは、サーバー装置10のプロセッサー11は、例えば、サービスマンなどによる操作によって入力されたバージョン情報を記憶する。
In the third embodiment, the
The
以下、第3実施形態に係るアップデートシステム1bの動作を図8などに基づいて説明する。なお、以下の動作説明における処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。図8は、サーバー装置10のプロセッサー11による処理の一例を示すフローチャートである。プロセッサー11は、例えば、ROM12又は補助記憶デバイス14などに記憶されたプログラムに基づいてこの処理を実行する。
Hereinafter, the operation of the update system 1b according to the third embodiment will be described with reference to FIG. The content of the process in the following operation description is an example, and various processes capable of obtaining similar results can be appropriately used. FIG. 8 is a flowchart showing an example of processing by the
ACT81においてプロセッサー11は、アップデート処理を開始か否かを判定する。アップデート処理は、クライアント装置20にインストールされたソフトウェアのアップデートが必要であるか否かを判定し、必要であると判定した場合に当該ソフトウェアをアップデートさせるための動作を実行する処理である。プロセッサー11は、例えば、定期的にアップデート処理を実行するために、特定の日時になったことに応じてアップデート処理を開始すると判定する。また、プロセッサー11は、クライアント装置20にインストールされるソフトウェアについて、新たなアップデートデータが追加された、すなわち、当該ソフトウェアの新しいバージョンが出たことに応じてアップデート処理を開始すると判定してもよい。プロセッサー11は、アップデート処理を開始すると判定しないならば、ACT81においてNoと判定してACT81を繰り返す。対して、プロセッサー11は、アップデート処理を開始すると判定するならば、ACT81においてYesと判定してACT38へと進む。
なお、プロセッサー11は、クライアント装置20ごとにACT81の処理を行い、ACT81の処理においてYesと判定した対象のクライアント装置20それぞれに対してACT81より後の処理を実行する。
In the ACT 81, the
The
第3実施形態では、プロセッサー11は、ACT38において、受信ソフトウェア情報に含まれる各ソフトウェアのバージョン情報に代えて、補助記憶デバイス14などに記憶されたバージョン情報を取得して用いる。
したがって、プロセッサー11は、補助記憶デバイス14などに記憶されたバージョン情報を取得することで、クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部として機能する。
In the third embodiment, the
Therefore, the
第3実施形態では、プロセッサー11は、ACT39の処理においてNoと判定したならば、ACT81へと戻る。また、第3実施形態では、プロセッサー11は、ACT40の処理の後、ACT82へと進む。
In the third embodiment, if the
ACT82においてプロセッサー11は、クライアント装置20に対して自動アップデートを実行させるか否かを判定する。サーバー装置10は、例えば、クライアント装置20ごとに自動アップデートを実行させるか否かを設定などとして記憶している。プロセッサー11は、当該設定に基づき自動アップデートを実行させるか否かを判定する。当該設定は、例えば、クライアント装置20が自動アップデート可能であるならば、自動アップデートを実行させる設定とする。また、例えば、当該設定は、クライアント装置20にインストールされたソフトウェアのアップデートにサービスマンが必要であるならば、自動アップデートを実行させない設定とする。プロセッサー11は、自動アップデートを実行させると判定するならば、ACT82においてYesと判定してACT83へと進む。
In the ACT 82, the
ACT83においてプロセッサー11は、指示情報を生成する。ただし、ACT83において生成される指示情報は、更新指示情報を含む。プロセッサー11は、指示情報を生成した後、当該指示情報をクライアント装置20に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該指示情報をクライアント装置20に送信する。送信された当該指示情報は、クライアント装置20の通信インターフェース25によって受信される。プロセッサー11は、ACT83の処理の後、ACT81へと戻る。
一方、ここで指示情報を受信したクライアント装置20は、第1実施形態の図2のACT20と同様の処理を行う。
In the ACT 83, the
On the other hand, the
対して、プロセッサー11は、自動アップデートを実行させると判定しないならば、図8のACT82においてNoと判定してACT84へと進む。
On the other hand, if the
ACT84においてプロセッサー11は、サービスマン通知を生成する。ただし、ACT84において生成されるサービスマン通知は、クライアント装置20にインストールされたソフトウェアについて、アップデートが必要であることをサービスマンに対して通知するために送信される。また、ACT84において生成されるサービスマン通知は、更新指示情報を含む。プロセッサー11は、サービスマン通知を生成した後、当該サービスマン通知を端末装置30に送信するように通信インターフェース15に対して指示する。この送信の指示を受けて通信インターフェース15は、当該サービスマン通知を端末装置30に送信する。送信された当該サービスマン通知は、端末装置30の通信インターフェース35によって受信される。プロセッサー11は、ACT84の処理の後、ACT81へと戻る。
一方、ここでサービスマン通知を受信した端末装置30は、第2実施形態の図7のACT72と同様の処理を行う。ただし、端末装置30のプロセッサー31は、ここでは、サービスマンに対して、クライアント装置20にインストールされたソフトウェアについて、アップデートが必要であることを知らせるための報知動作を実行する。
In the ACT 84, the
On the other hand, the
第3実施形態のアップデートシステム1bによれば、サーバー装置10は、脆弱性の深刻度が所定より低い場合には定期アップデートを中止する。これにより、サーバー装置10は、クライアント装置20の使用を必要以上に妨げない。
According to the update system 1b of the third embodiment, the
上記の第1実施形態〜第3実施形態は以下のような変形も可能である。
第1実施形態及び第2実施形態では、アップデートシステム1は、クライアント装置20のOSの起動時に、ソフトウェア情報の送信、修復処理及び更新処理などの処理を行った。しかしながら、アップデートシステム1は、クライアント装置20のアプリケーションソフトウェアの起動時に、同様の処理を行っても良い。
The above-mentioned first to third embodiments can be modified as follows.
In the first embodiment and the second embodiment, the update system 1 performs processing such as transmission of software information, repair processing, and update processing when the OS of the
第1実施形態及び第2実施形態では、サーバー装置10のプロセッサー11は、ハッシュ値を用いて対象ソフトウェアの整合性チェックを行った。しかしながら、プロセッサー11は、ハッシュ値に限らず、例えば、対象ソフトウェアのファイルサイズ、作成日時、更新日時、チェックサム、ハッシュ値若しくは対象ソフトウェアの特徴を示すその他の特徴情報又はこれらのうちの複数を用いて整合性チェックを行っても良い。そして、プロセッサー11は、整合性チェックにおいて特徴情報が同一でない場合にデータに誤りを検出したと判定する。
In the first embodiment and the second embodiment, the
ソフトウェアDBは、ハッシュ値を記憶していなくても良い。この場合、プロセッサー11は、ハッシュ値を、真正であることが確かなソフトウェアのデータから算出する。
The software DB does not have to store the hash value. In this case, the
第2実施形態及び第3実施形態では、通知情報は、アップデート及び修復に必要なデータを含む。しかしながら、実施形態のアップデートシステムは、サービスマンが別途サーバー装置10からアップデート及び修復に必要なデータを取得するような形態であっても良い。
In the second and third embodiments, the notification information includes data necessary for updating and repairing. However, the update system of the embodiment may be in a form in which a serviceman separately acquires data necessary for updating and repairing from the
プロセッサー11、プロセッサー21及びプロセッサー31は、上記実施形態においてプログラムによって実現する処理の一部又は全部を、回路のハードウェア構成によって実現するものであっても良い。
The
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
1,1b……アップデートシステム、10……サーバー装置、11,21,31……プロセッサー、12,22,32……ROM、13,23,33……RAM、14,24,34……補助記憶デバイス、15,25,35……通信インターフェース、16,28,37……バス、20……クライアント装置、26……表示デバイス、27……入力デバイス、30……端末装置、36……タッチパネル、141……ソフトウェアDB 1,1b ... Update system, 10 ... Server device, 11,21,31 ... Processor, 12,22,32 ... ROM, 13,23,33 ... RAM, 14,24,34 ... Auxiliary storage Device, 15, 25, 35 ... Communication interface, 16, 28, 37 ... Bus, 20 ... Client device, 26 ... Display device, 27 ... Input device, 30 ... Terminal device, 36 ... Touch panel, 141 …… Software DB
Claims (6)
前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する処理部と、
前記ソフトウェアをアップデートしないと決定された場合、前記クライアント装置に前記ソフトウェアのアップデート指示を行わず、前記ソフトウェアをアップデートすると決定された場合、前記アップデート指示を行う指示部と、を備えるサーバー装置。 An acquisition unit that acquires the version of the software installed on the client device,
A processing unit that obtains an evaluation value indicating the severity of the vulnerability of the version of the software and determines whether or not to update the software based on the evaluation value.
A server device including an instruction unit that does not instruct the client device to update the software when it is determined not to update the software, and gives an instruction to update the software when it is determined to update the software.
前記処理部は、前記特徴情報を用いて前記ソフトウェアのデータの誤りを検出し、
前記指示部は、前記データに誤りが検出された場合、前記ソフトウェアを修復するように前記クライアント装置に指示する、請求項1に記載のサーバー装置。 The acquisition unit acquires feature information indicating the features of the software, and obtains the feature information.
The processing unit detects an error in the data of the software using the feature information, and detects an error in the data of the software.
The server device according to claim 1, wherein the instruction unit instructs the client device to repair the software when an error is detected in the data.
前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する処理部と、
前記ソフトウェアをアップデートすると決定された場合、前記ソフトウェアをアップデートするように指示する情報をサービスマンが使用する端末装置に送信する送信部と、を備えるサーバー装置。 An acquisition unit that acquires the version of the software installed on the client device,
A processing unit that obtains an evaluation value indicating the severity of the vulnerability of the version of the software and determines whether or not to update the software based on the evaluation value.
A server device comprising a transmitter that, when determined to update the software, transmits information instructing the serviceman to update the software to a terminal device used by a serviceman.
クライアント装置にインストールされているソフトウェアのバージョンを取得する取得部と、
前記ソフトウェアの前記バージョンの脆弱性の深刻度を示す評価値を求め、前記評価値に基づき前記ソフトウェアをアップデートするか否かを決定する処理部と、
前記ソフトウェアをアップデートしないと決定された場合、前記クライアント装置に前記ソフトウェアのアップデート指示を行わず、前記ソフトウェアをアップデートすると決定された場合、前記アップデート指示を行う指示部と、して機能させるためのプログラム。 The processor of the server device,
An acquisition unit that acquires the version of the software installed on the client device,
A processing unit that obtains an evaluation value indicating the severity of the vulnerability of the version of the software and determines whether or not to update the software based on the evaluation value.
When it is decided not to update the software, the client device is not instructed to update the software, and when it is decided to update the software, a program for functioning as an instruction unit for instructing the update. ..
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019167152A JP7346187B2 (en) | 2019-09-13 | 2019-09-13 | Server equipment and programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019167152A JP7346187B2 (en) | 2019-09-13 | 2019-09-13 | Server equipment and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021043863A true JP2021043863A (en) | 2021-03-18 |
JP7346187B2 JP7346187B2 (en) | 2023-09-19 |
Family
ID=74861696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019167152A Active JP7346187B2 (en) | 2019-09-13 | 2019-09-13 | Server equipment and programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7346187B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003087424A (en) * | 2001-09-07 | 2003-03-20 | Nobuyoshi Sakatani | Internet access server, initial setting server, host server, and remote management system for internet access server |
JPWO2005088452A1 (en) * | 2004-03-16 | 2008-01-31 | 松下電器産業株式会社 | Terminal apparatus and updating method for updating computer program |
JP2015079440A (en) * | 2013-10-18 | 2015-04-23 | 富士通株式会社 | Correction program confirmation method, correction program confirmation program, and information processing apparatus |
JP2019057133A (en) * | 2017-09-21 | 2019-04-11 | 富士ゼロックス株式会社 | Image processing device and program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005088452A (en) | 2003-09-18 | 2005-04-07 | Dainippon Printing Co Ltd | Gas barrier film and laminate using it |
-
2019
- 2019-09-13 JP JP2019167152A patent/JP7346187B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003087424A (en) * | 2001-09-07 | 2003-03-20 | Nobuyoshi Sakatani | Internet access server, initial setting server, host server, and remote management system for internet access server |
JPWO2005088452A1 (en) * | 2004-03-16 | 2008-01-31 | 松下電器産業株式会社 | Terminal apparatus and updating method for updating computer program |
JP2015079440A (en) * | 2013-10-18 | 2015-04-23 | 富士通株式会社 | Correction program confirmation method, correction program confirmation program, and information processing apparatus |
JP2019057133A (en) * | 2017-09-21 | 2019-04-11 | 富士ゼロックス株式会社 | Image processing device and program |
Also Published As
Publication number | Publication date |
---|---|
JP7346187B2 (en) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684849B (en) | Information processing apparatus, control method therefor, and storage medium | |
JP6873811B2 (en) | Information processing device | |
KR20150048136A (en) | Secure firmware updates | |
US20140082747A1 (en) | Information processing system, operating device, and program | |
JP5500999B2 (en) | Information processing apparatus, control method thereof, and program | |
JP2010003235A (en) | Secure boot with optional component method | |
JP2009187420A (en) | Information processing system, server device, user management device, information method, and program | |
US10055174B2 (en) | Information processing apparatus, method, and storage medium storing program | |
US11330133B2 (en) | Electronic apparatus and method for controlling display of a notification screen | |
US20140372997A1 (en) | Computer-readable non-transitory recording medium having software update program recorded thereon, and software update apparatus | |
JP2010152749A (en) | Resource distribution system | |
CN107615293B (en) | Platform management method and apparatus including expiration detection | |
JP2012159999A (en) | Electronic apparatus, communication control method and communication control system | |
JP6829168B2 (en) | Information processing equipment, information processing methods and programs | |
JP2011186823A (en) | Virus-checking system, virus-checking device and program | |
US20130055230A1 (en) | Method and apparatus to install software automatically | |
JP7346187B2 (en) | Server equipment and programs | |
JP2021114173A (en) | Information processing apparatus, processing method thereof, and program | |
JP2019160133A (en) | Information processing device, information processing system, and method | |
CN111158771B (en) | Processing method and device and computer equipment | |
US11023216B2 (en) | Storage medium, information processing apparatus, and control method | |
JP2021174418A (en) | Program, program set, and information processing apparatus | |
JP7320415B2 (en) | Processing device and start-up method | |
JP2014099082A (en) | Information processing system, information processing device, information processing program, application execution method and storage medium | |
JP2020052597A (en) | Information processing apparatus, control method thereof, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220819 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20230104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230906 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7346187 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |