(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-07
(45)【発行日】2024-08-16
(54)【発明の名称】リスク評価装置及びリスク評価方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20240808BHJP
G06F 21/57 20130101ALI20240808BHJP
【FI】
G06F11/36 184
G06F21/57 370
(21)【出願番号】P 2020218796
(22)【出願日】2020-12-28
【審査請求日】2023-02-09
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】太田原 千秋
(72)【発明者】
【氏名】吉野 雅之
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2018-077597(JP,A)
【文献】特開2019-219898(JP,A)
【文献】国際公開第2020/075462(WO,A1)
【文献】米国特許第10320828(US,B1)
【文献】宇根正志,金融サービスにおけるAIのセキュリティ・マネジメント,一般社団法人日本セキュリティ・マネジメント学会誌,日本,日本セキュリティ・マネジメント学会,2020年03月15日,第33巻, 第3号,pp.17-22
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 21/57
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
評価対象AIのリスクを評価するリスク評価装置であって、
プロセッサとメモリとを有し、
前記メモリは、
AIを評価する評価軸と、当該AIが取り扱うデータ型と、に対応する当該AIへの攻撃アルゴリズムを示す攻撃アルゴリズム情報と、
前記評価軸と前記データ型とに対応する対策を示す対策情報と、
AIの機能の概要と、当該AIの判定結果群と、当該AIの目的と、の対応を示す目的情報と、
前記評価対象AIの学習データ又は学習パラメータ、及びプログラムと、
前記評価対象AIの設置環
境を示す情報と、
前記評価対象AIが取り扱うデータ型を示す情報と、
前記評価対象AIの機能の概要を示す情報と、
前記評価対象AIの判定結果群を示す情報と、を保持し、
前記プロセッサは、
前記学習データ又は
前記学習パラメータと、前記プログラムと、に基づいて、前記評価対象AIの疑似AIを作成し
、
前記
設置環境に予め対応付けられた評価軸を選定し、
前記攻撃アルゴリズム情報において、前記選定した評価軸
と前記評価対象AIが取り扱うデータ型とに対応する攻撃アルゴリズムを取得し、
前記評価対象AIの機能の概要及び判定結果群に対応する目的を、前記目的情報から取得し、
前記取得した目的に予め対応付けられたテストシナリオを生成し、
前記生成したテストシナリオと、前記評価対象AIの判定結果群と、に基づいてテストケースを生成し、
前記生成したテストケースと、前記取得した攻撃アルゴリズム
と、に
基づいて前記疑似AIを攻撃すること
で攻撃耐性を評価し、
前記攻撃耐性の評価結果と、前記
選定した評価軸と、前記
評価対象AIが取り扱うデータ型と、に基づいて、前記対策
情報から対策を選定し、
前記選定した対策を出力する、リスク評価装置。
【請求項2】
請求項1に記載のリスク評価装置であって、
前記プロセッサは、
前記選定した対策を前記疑似AIに導入した場合の前記疑似AIの精度を評価し、
前記評価した精度を出力する、リスク評価装置。
【請求項3】
請求項2に記載のリスク評価装置であって、
前記プロセッサは、
複数段階の対策レベルそれぞれの前記選定した対策を前記疑似AIに導入した場合の前記疑似AIの精度と攻撃耐性とを評価し、
前記複数段階の対策レベルごとに、当該精度と当該攻撃耐性とを出力する、リスク評価装置。
【請求項4】
請求項3に記載のリスク評価装置であって、
前記プロセッサは、
前記
設置環境に予め対応付けられた複数の評価軸を選定し、
前記攻撃アルゴリズム情報において、前記選定した複数の評価軸それぞれ
と前記評価対象AIが取り扱うデータ型とに対応する攻撃アルゴリズムを取得し、
前記生成したテストケースと、前記取得した攻撃アルゴリズムそれぞれ
と、に
基づいて前記疑似AIを攻撃すること
で攻撃耐性を評価し、
前記攻撃耐性の評価結果と、前記
選定した複数の評価軸と、前記
評価対象AIが取り扱うデータ型と、に基づいて、前記対策
情報から複数の対策を選定し、
前記選定した複数の対策それぞれについて、複数段階の対策レベルそれぞれの対策を前記疑似AIに導入した場合の前記疑似AIの精度と攻撃耐性とを評価し、
前記選定した複数の対策ごと、前記複数段階の対策レベルごとに、当該精度と当該攻撃耐性とを出力する、リスク評価装置。
【請求項5】
請求項1に記載のリスク評価装置であって、
前記プロセッサは、
前記選定した対策を前記疑似AIに導入した場合の前記疑似AIの攻撃耐性を評価し、
当該攻撃耐性が所定の閾値以上であるかを判定し、
当該攻撃耐性が前記閾値未満であると判定した場合、前記対策
情報から対策を再度選定する、リスク評価装置。
【請求項6】
リスク評価装置による、評価対象AIのリスクを評価するリスク評価方法であって、
前記リスク評価装置は、プロセッサとメモリとを有し、
前記メモリは、
AIを評価する評価軸と、当該AIが取り扱うデータ型と、に対応する当該AIへの攻撃アルゴリズムを示す攻撃アルゴリズム情報と、
前記評価軸と前記データ型とに対応する対策を示す対策情報と、
AIの機能の概要と、当該AIの判定結果群と、当該AIの目的と、の対応を示す目的情報と、
前記評価対象AIの学習データ又は学習パラメータ、及びプログラムと、
前記評価対象AIの設置環
境を示す情報と、
前記評価対象AIが取り扱うデータ型を示す情報と、
前記評価対象AIの機能の概要を示す情報と、
前記評価対象AIの判定結果群を示す情報と、を保持し、
前記リスク評価方法は、
前記プロセッサが、前記学習データ又は
前記学習パラメータと、前記プログラムと、に基づいて、前記評価対象AIの疑似AIを作成し
、
前記プロセッサが、前記
設置環境に予め対応付けられた評価軸を選定し、
前記プロセッサが、前記攻撃アルゴリズム情報において、前記選定した評価軸
と前記評価対象AIが取り扱うデータ型とに対応する攻撃アルゴリズムを取得し、
前記プロセッサが、前記評価対象AIの機能の概要及び判定結果群に対応する目的を、前記目的情報から取得し、
前記プロセッサが、前記取得した目的に予め対応付けられたテストシナリオを生成し、
前記プロセッサが、前記生成したテストシナリオと、前記評価対象AIの判定結果群と、に基づいてテストケースを生成し、
前記プロセッサが、
前記生成したテストケースと、前記取得した攻撃アルゴリズム
と、に
基づいて前記疑似AIを攻撃すること
で攻撃耐性を評価し、
前記プロセッサが、前記攻撃耐性の評価結果と、前記
選定した評価軸と、前記
評価対象AIが取り扱うデータ型と、に基づいて、前記対策
情報から対策を選定し、
前記プロセッサが、前記選定した対策を出力する、リスク評価方法。
【請求項7】
請求項6に記載のリスク評価方法であって、
前記プロセッサが、前記選定した対策を前記疑似AIに導入した場合の前記疑似AIの精度を評価し、
前記プロセッサが、前記評価した精度を出力する、リスク評価方法。
【請求項8】
請求項7に記載のリスク評価方法であって、
前記プロセッサが、複数段階の対策レベルそれぞれの前記選定した対策を前記疑似AIに導入した場合の前記疑似AIの精度と攻撃耐性とを評価し、
前記プロセッサが、前記複数段階の対策レベルごとに、当該精度と当該攻撃耐性とを出力する、リスク評価方法。
【請求項9】
請求項8に記載のリスク評価方法であって、
前記プロセッサが、前記
設置環境に予め対応付けられた複数の評価軸を選定し、
前記プロセッサが、前記攻撃アルゴリズム情報において、前記選定した複数の評価軸それぞれ
と前記評価対象AIが取り扱うデータ型とに対応する攻撃アルゴリズムを取得し、
前記プロセッサが
、前記生成したテストケースと、前記取得した攻撃アルゴリズムそれぞれ
と、に
基づいて前記疑似AIを攻撃すること
で攻撃耐性を評価し、
前記プロセッサが、前記
選定した複数の評価軸と、前記
評価対象AIが取り扱うデータ型と、に基づいて、前記対策
情報から複数の対策を選定し、
前記プロセッサが、前記選定した複数の対策それぞれについて、複数段階の対策レベルそれぞれの対策を前記疑似AIに導入した場合の前記疑似AIの精度と攻撃耐性とを評価し、
前記プロセッサが
、前記選定した複数の対策ごと、前記複数段階の対策レベルごとに、当該精度と当該攻撃耐性とを出力する、リスク評価方法。
【請求項10】
請求項6に記載のリスク評価方法であって、
前記プロセッサが、前記選定した対策を前記疑似AIに導入した場合の前記疑似AIの攻撃耐性を評価し、
前記プロセッサが、当該攻撃耐性が所定の閾値以上であるかを判定し、
前記プロセッサが、当該攻撃耐性が前記閾値未満であると判定した場合、前記対策
情報から対策を再度選定する、リスク評価方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リスク評価装置及びリスク評価方法に関する。
【背景技術】
【0002】
近年のAI技術の発展に伴い、様々な業務がAI(Artificial Intelligence)で代替されつつある。現状、非クリティカルな分野でAIの活用が進んでいるが、今後人命喪失や環境汚染等の甚大な被害が発生し得る重要インフラシステム等のクリティカルな分野にもAIの導入が進むことが予想されている。また、特にアカデミック分野ではAIへのセキュリティ攻撃事例も多数報告されている。
【0003】
このような状況をうけて、AIシステムのセキュリティ対策が急務となっている。EUのAIガイドラインであるETHICS GUIDELINES FOR TRUSTWORTHY AIにおいても信頼できるAIを実現するため、アセスメントを実施した上でセキュリティを考慮することを要求している。しかし、従来のIT(Information Technology)システムにおける判断を行うための規則は、人間によって決定されプログラムとして書き出される(演繹的)ものであり、学習データから判断を行うための規則を獲得する(帰納的)なAIシステムに対して、従来のITシステムに適用していたアセスメント手法やテストケースの策定が困難である。
【0004】
品質保証の分野でもAIシステムのテスト方式が検討されている状況であり、非特許文献1に記載の技術は、自動運転車において、車より遠くに存在するものより近くにあるものを正しく認識することを優先し、テストを実施する方式を提案している。
【先行技術文献】
【非特許文献】
【0005】
【文献】Dreossiet al., Compositional Falsification of Cyber-Physical Systems with Machine Learning Components, Journal of Automated Resoning Volume 63, Pages1031-1053(2019)[検索日2020.12.14]インターネット <https://link.springer.com/article/10.1007/s10817-018-09509-5>
【発明の概要】
【発明が解決しようとする課題】
【0006】
非特許文献1に記載の技術は、品質保証の分野で効率的にテストケースを生成することが可能となる。しかし、非特許文献1に記載の技術は、セキュリティの観点でのテストケースを生成することができないため、セキュリティ耐性を評価するためのテストケース生成に工数を要する。
そこで、本発明の一態様は、評価対象AIに対して優先的に実施すべきテストケースを生成し、生成したテストケースに応じて攻撃耐性を評価する。
【課題を解決するための手段】
【0007】
上記の課題を解決するため、本発明の一態様は以下の構成を採用する。評価対象AIのリスクを評価するリスク評価装置であって、プロセッサとメモリとを有し、前記メモリは、前記評価対象AIの学習データ又は学習パラメータ、及びプログラムと、前記評価対象AIの設置環境及びメイン機能を含む業務仕様を示す情報と、前記評価対象AIが取り扱うデータ型を示す情報と、前記評価対象AIを評価する評価軸と、前記評価対象AIへの攻撃アルゴリズムを示す攻撃アルゴリズム情報と、前記評価軸と前記データ型とに対応する対策を示す情報を保持する対策データと、を保持し、前記プロセッサは、前記学習データ又は学習パラメータと、前記プログラムと、に基づいて、前記評価対象AIの疑似AIを作成し、前記設置環境及び前記メイン機能に対応する攻撃を選定し、前記業務仕様に予め対応付けられた評価軸を選定し、前記攻撃アルゴリズム情報において、前記選定した評価軸に対応する攻撃アルゴリズムを取得し、前記取得した攻撃アルゴリズムによって前記疑似AIを攻撃することで、テストケース及びテストシナリオを生成して攻撃耐性を評価し、前記攻撃耐性の評価結果と、前記評価軸と、前記データ型と、に基づいて、前記対策データから対策を選定し、前記選定した対策を出力する、リスク評価装置。
【発明の効果】
【0008】
本発明では、本発明の一態様は、評価対象AIに対して優先的に実施すべきテストケースを生成し、生成したテストケースに応じて攻撃耐性を評価することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】実施例1におけるリスク評価サービスシステムの構成の概要例を示すブロック図である。
【
図2】実施例1におけるリスク評価サーバ20のハードウェア構成例を示すブロック図である。
【
図3A】実施例1における攻撃アルゴリズムデータの一例である。
【
図3B】実施例1における対策データの一例である。
【
図4】実施例1におけるテスト環境作成部が作成するテスト環境の一例を示す説明図である。
【
図5】実施例1におけるリスク評価サーバによる全体処理の概要例を示すシーケンス図である。
【
図6】実施例1におけるテスト環境作成部によるテスト環境作成処理一例を示すフローチャートである。
【
図7】実施例1における診断部による診断処理の一例を示すフローチャートである。
【
図8】実施例1における機能推定部による機能推定処理の一例を示すフローチャートである。
【
図9】実施例1におけるセキュリティ評価部によるセキュリティ評価処理の一例を示すフローチャートである。
【
図10A】実施例1における診断部が推定したシステム構成の一例を示す説明図である。
【
図10B】実施例1における評価軸を選定するために実施されるリスク評価結果の一例を示す説明図である。
【
図11A】実施例1におけるテストシナリオを示すリストの一例である。
【
図11B】実施例1における評価軸が示す攻撃によるセキュリティ耐性の評価結果の一例を示す説明図である。
【
図12】実施例1における対策選定部による対策選定処理の一例を示すフローチャートである。
【
図13】実施例1における対策評価部による対策評価処理の一例を示すフローチャートである。
【
図14】実施例1における推奨対策表示画面の一例を示す説明図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【実施例1】
【0011】
図1は、リスク評価サービスシステムの構成の概要例を示すブロック図である。リスク評価サービスシステムは、例えば、リスク評価サービス基盤10、NW(NetWork)機器40、及び1以上の企業システム50を含む。
【0012】
リスク評価サービス基盤10は、例えば、リスク評価サーバ20及びDB(DataBase)サーバ30を含む。リスク評価サーバ20は、企業システム50が保持するAI(Artificial Intelligence)システムのセキュリティリスクを評価する。DBサーバ30は、リスク評価サーバ20に提供するデータ及びリスク評価サーバ20から受信したデータを保持する。
【0013】
リスク評価サービス基盤10は、NW機器40と接続することでインターネット等のネットワークと接続可能であり、ネットワークを介して企業システム50それぞれと接続可能である。企業システム50それぞれは、評価対象AIシステム60及び診断サーバ70を含む。評価対象AIシステム60は、リスク評価及び対策選定の対象のAIを有するシステムである。診断サーバ70は、評価対象AIシステム60の設置環境等を診断する。
【0014】
図2は、リスク評価サーバ20のハードウェア構成例を示すブロック図である。リスク評価サーバ20は、例えば、CPU100、補助記憶装置200、メモリ300、入出力装置400、及びNWインターフェース500を含む計算機によって構成される。
【0015】
CPU100、プロセッサを含み、メモリ300に格納されたプログラムを実行する。メモリ300は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU100が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0016】
補助記憶装置200は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU100が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置200から読み出されて、メモリ300にロードされて、CPU100によって実行される。
【0017】
入出力装置400は、キーボードやマウスなどのオペレータからの入力を受ける入力装置と、表示装置やプリンタなどのプログラムの実行結果をオペレータが視認可能な形式で出力する出力装置と、を含む。NWインターフェース500は、所定のプロトコルに従って、他の装置との通信を制御する装置である。
【0018】
CPU100が実行するプログラムは、リムーバブルメディア(CD-ROM、フラッシュメモリなど)又はネットワークを介してリスク評価サーバ20に提供され、非一時的記憶媒体である不揮発性の補助記憶装置200に格納される。このため、リスク評価サーバ20は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【0019】
リスク評価サーバ20は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【0020】
CPU100は、例えば、テスト環境作成部101、診断部102、機能推定部103、セキュリティ評価部104、対策選定部105、及び対策評価部106を含む。テスト環境作成部101は、テスト用の疑似AIを作成する。診断部102は、評価対象AIシステム60に設置環境を推定するための診断サーバ70に、評価対象AIシステム60の設置環境を診断するよう依頼し、依頼結果に基づいて設置環境を推定する。機能推定部103は、評価対象AIシステム60の機能概要を推定する。
【0021】
セキュリティ評価部104は、設置環境及び機能概要から評価軸を選定し攻撃によるセキュリティ耐性を評価する。対策選定部105は、セキュリティ評価結果から対策を選定する。対策評価部106は、選定した対策を導入した際のAIの精度を考慮した評価を行う。
【0022】
例えば、CPU100は、メモリ300にロードされたテスト環境作成プログラムに従って動作することで、テスト環境作成部101として機能し、メモリ300にロードされた診断プログラムに従って動作することで、診断部102として機能する。CPU100に含まれる他の機能部についても、プログラムと機能部の関係は同様である。
【0023】
なお、CPU100に含まれる機能部による機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0024】
補助記憶装置200は、攻撃アルゴリズムデータ201及び対策データ202を保持する。リスク評価サーバ20は、攻撃アルゴリズムデータ201及び対策データ202を、例えば、DBサーバ30から受信した補助記憶装置200に格納する。攻撃アルゴリズムデータ201は、評価対象AIシステム60のAIを評価する評価軸と、評価対象AIシステム60のAIが扱うデータのデータ型と、に対応する攻撃アルゴリズム及び攻撃パターンを定義する。対策データ202は、評価軸とデータ型とに対応する対策を定義する。
【0025】
なお、本実施形態において、病院選定システムが使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。本実施形態ではテーブル形式で情報が表現されているが、例えば、リスト、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【0026】
図3Aは、攻撃アルゴリズムデータ201の一例である。攻撃アルゴリズムデータ201は、例えば、評価軸欄2001、データ型欄2002、攻撃アルゴリズム欄2003、及び攻撃パターン欄2004を含む。評価軸欄2001は、リスク評価結果から評価対象AIを評価するための軸を示す情報を保持する。訓練データの汚染及び入力データ汚染等はいずれも評価軸の一例である。データ型欄2002は、評価対象AIのデータ型を示す情報を保持する。音声、画像、映像、及びテキスト等はいずれもデータ型の一例である。攻撃アルゴリズム欄2003は、評価軸とデータ型の組み合わせごと対応する攻撃アルゴリズムを示す情報を保持する。
【0027】
図3Bは、対策データ202の一例である。対策データ202は、例えば、評価軸欄5001、データ型欄2002、及び対策欄5003を含む。評価軸欄5001は、評価軸を保持する。データ型欄5002は、データ型を保持する。対策欄5003は、評価軸とデータ型との組み合わせに対応する対策を示す情報を保持する。
【0028】
図4は、テスト環境作成部101が作成するテスト環境の一例を示す説明図である。テスト環境作成部101は評価対象AIシステム60から受け取ったAIアルゴリズム及び学習データ1102から疑似AI1101を作成する。テスト環境作成部101は、作成した疑似AI1101に対して、検索キーなどの入力データ1103を入力し、参照データ1104を参照し分析した結果1105を診断サーバ70に返す。なお、テスト環境作成部101は、学習データ110を取得せずに、学習パラメータを取得して擬似AI1101を作成してもよい。
【0029】
なお、テスト環境作成部101が疑似AI1101を作成する際にのみ、学習データ1102が用いられるため、セキュリティ評価部104が実際に評価を実行する際には学習データ1102が存在しない。また、過去の学習データからの分析結果のみを返す疑似AI1101が存在するため参照データ1104が存在しない可能性もある。
【0030】
図5は、リスク評価サーバ20による全体処理の概要例を示すシーケンス図である。テスト環境作成部101は、評価対象AIシステム60からAIのアルゴリズム及び学習データを受信し、さらに入出力装置400を介して攻撃耐性の閾値の入力を受け付け、当該アルゴリズムと当該学習データに基づいてテスト環境を構築する(S001)。
【0031】
また、テスト環境作成部101はセキュリティ評価スタートのトリガーの役割も担っており、テスト環境作成完了通知、閾値、及びAIシステムのCIA(C:機密性、I:完全性、A:可用性)重要度(テスト環境作成部101は、例えば、CIA重要度をユーザ入力によって予め取得する)を機能推定部103に送信する(S002)。また、テスト環境作成部101は、AIシステムが設置されている環境の診断依頼を診断部102に送信する(S003)。
【0032】
診断部102はセキュリティ評価の依頼があったシステムに対して、診断サーバ70にAIの診断を依頼する(S004)。診断部102は、診断サーバ70から評価対象AIシステム60の設置環境の推定結果を受信する(S005)。なお、診断部102が、ネットワークを介して評価対象AIシステム60を監視する等して、評価対象AIシステム60の設置環境を推定してもよい。診断部102は、推定設置環境をセキュリティ評価部104に送信する(S006)。
【0033】
機能推定部103は、テスト環境にアクセスし疑似AIのメイン機能(不審人物検知等)やデータ型(音声、画像、映像、テキスト等)を推定する(S007)。機能推定部103は、推定結果及び閾値をセキュリティ評価部104に送信する(S008)。
【0034】
セキュリティ評価部104は、業務仕様(設置環境とメイン機能とを含む概念)に基づき、評価軸を選定する(S009)。セキュリティ評価部104は、攻撃アルゴリズムデータ201を参照して評価軸及びデータ型に対応する評価アルゴリズム(攻撃アルゴリズム及び攻撃パターン)を取得し、攻撃によるセキュリティ耐性評価をする(S010)。
【0035】
セキュリティ評価部104は、セキュリティ耐性評価結果を対策選定部105に送信する(S011)。対策評価時に攻撃アルゴリズムが再度使用されるため、セキュリティ評価部104は、対策評価部106に攻撃アルゴリズムと閾値を送信する(S012)。
【0036】
対策選定部105は、対策データ202を参照して、業務仕様と評価結果に基づき対策を選定する(S013)。対策選定部105は、選定した対策を推奨対策として対策評価部106に送信する(S014)。
【0037】
対策評価部106は、攻撃アルゴリズムと閾値とに基づいて、対策導入時の精度を考慮して対策を再評価する(S015)。対策評価部106は、対策が閾値以上の攻撃耐性があるかを(S016)。対策評価部106は、対策が閾値以上の攻撃耐性があると判定した場合(S016:Yes)、推奨対策をテスト環境作成部101に通知する(S017)。
【0038】
対策評価部106は、対策が閾値以上の攻撃耐性がないと判定した場合(S016:No)、評価結果を対策選定部105に送信する(S018)。対策選定部105は、受信した評価結果に基づいて再度対策を選定し、推奨対策を対策評価部106に送信する(S020)。対策選定部105による対策の選定及び対策評価部106による対策の評価は、対策が閾値以上の攻撃耐性となるまで繰り返され、閾値以上になったら対策評価部106は推奨対策をテスト環境作成部101に送信する(S021)。
【0039】
図6は、テスト環境作成部101によるテスト環境作成処理一例を示すフローチャートである。テスト環境作成部101は、ユーザから、アルゴリズムを示すプログラムと、学習データと、の入力を受け付ける(S1001)。テスト環境作成部101は、入力されたプログラムと学習データとからテスト用の疑似AIを構築する(S1002)。
【0040】
テスト環境作成部101は、評価用の疑似AIを構築したことを機能推定部103に送信する(S1003)。テスト環境作成部101は、AIの設置環境の診断依頼を診断部102に送信する(S1004)。テスト環境作成部101は、対策選定部105から推奨対策を受信する(S1005)。テスト環境作成部101は、受信した推奨対策をユーザに通知する(S1006)。
【0041】
図7は、診断部102による診断処理の一例を示すフローチャートである。診断部102は、テスト環境作成部101から診断依頼を受信したら、評価対象AI60が設置されている企業システム50の診断サーバ70に診断を依頼する(S2001)。診断部102は、診断サーバ70から、評価対象AI60が設置されているシステムの環境(外部接続有無、外部システムとの連携有等)の推定結果を受信する(S2002)。
【0042】
診断部102は、推定結果を入出力装置400に表示し、推定結果が正しいかのユーザ入力を受け付け、推定結果が正しいとのユーザ入力を受け付けたか否かを判定する(S2003)。なお、診断部102は、推定結果を企業システム50に含まれる表示装置に表示して、企業システムのユーザから推定結果が正しいかのユーザ入力を受け付けてもよい。
【0043】
診断部102は、推定結果が正しいとのユーザ入力を受け付けたと判定した場合(S2003:Yes)、推定した設置環境の情報をセキュリティ評価部104に送信する(S2004)。診断部102は、推定結果が正しくないとのユーザ入力を受け付けたと判定した場合(S2003:No)、正しい設置環境の入力を、入出力装置400を介して受け付ける、又は企業システム50のユーザによる入力を受信し、推定結果を修正し(S2005)、ステップS2004へ遷移する。なお、上記した例では診断部102が診断サーバ70にシステムの環境の診断を依頼したが、ステップS2005の処理のみを行ってもよい。
【0044】
図8は、機能推定部103による機能推定処理の一例を示すフローチャートである。機能推定部103は、テスト環境作成部101からテスト環境作成完了通知を受信した後、テスト環境に基づいてAIのメイン機能及びデータ型を推定する(S3001)。機能推定部103は、推定結果を入出力装置400に表示し、推定結果が正しいかのユーザ入力を受け付け、推定結果が正しいとのユーザ入力を受け付けたか否かを判定する(S3002)。なお、機能推定部103は、推定結果を企業システム50に含まれる表示装置に表示して、企業システムのユーザから推定結果が正しいかのユーザ入力を受け付けてもよい。
【0045】
機能推定部103は、推定結果が正しいとのユーザ入力を受け付けたと判定した場合(S3002:Yes)、推定したAIのメイン機能(不審人物検知等)及びデータ型(音声、画像、映像、テキスト等)を、閾値と併せてセキュリティ評価部104に送信する(S3003)。
【0046】
機能推定部103は、推定結果が正しくないとのユーザ入力を受け付けたと判定した場合(S3002:No)、正しいメイン機能及びデータ型の入力を、入出力装置400を介して受け付ける、又は企業システム50のユーザによる入力を受信し、推定結果を修正し(S3004)、ステップS3003へ遷移する。なお、上記した例ではまず機能推定部103がメイン機能及びデータ型を推定したが、ステップS3004の処理のみを行ってもよい。
【0047】
図9は、セキュリティ評価部104によるセキュリティ評価処理の一例を示すフローチャートである。セキュリティ評価部104は、機能推定部103からメイン機能と閾値を受信し、診断部102から設置環境を受信したら、業務仕様(設置環境とメイン機能をあわせて業務仕様とする)に基づきリスク分析を行い、評価軸を選定する(S4001)。詳細なリスク分析結果の一例は
図10A及び
図10Bを用いて後述する。
【0048】
セキュリティ評価部104は、選定した評価軸を入出力装置400に表示し、評価軸に抜け漏れ及び削除の必要がないかのユーザ入力を受け付け、評価軸に抜け漏れ及び削除の必要がないとのユーザ入力を受け付けたか否かを判定する(S4002)。なお、セキュリティ評価部104は、選定した評価軸を企業システム50に含まれる表示装置に表示して、企業システム50のユーザから評価軸に抜け漏れ及び削除の必要がないかのユーザ入力を受け付けてもよい。
【0049】
セキュリティ評価部104は、評価軸に抜け漏れがないとのユーザ入力を受け付けたと判定した場合(S4002:Yes)、選定した評価軸及び業務仕様に基づき、テストシナリオおよびテストケースを生成する(S4003)。なお、詳細なテストシナリオとテストケースの生成の一例は
図11A及び
図11Bを用いて後述する。
【0050】
セキュリティ評価部104は、評価軸に抜け漏れがあるとのユーザ入力を受け付けたと判定した場合(S4002:No)、抜け漏れていた評価軸の入力を、入出力装置400を介して受け付ける、又は企業システム50のユーザによる入力を受信し、評価軸を修正し(S4004)、ステップS4003へ遷移する。
【0051】
セキュリティ評価部104は、攻撃アルゴリズムデータ201から取得した攻撃アルゴリズムを用いて疑似AIを実際に攻撃し、テストシナリオ及びテストケースを生成する(S4005)。セキュリティ評価部104は、攻撃結果に基づき疑似AIのセキュリティ耐性を評価する(S4006)。詳細な評価方法の一例は
図11A及び
図11Bを用いて後述する。セキュリティ評価部104は、評価結果を対策選定部105に送信する(S4007)。
【0052】
図10Aは、診断部102が推定したシステム構成の一例を示す説明図である。
図10Aの例では、疑似AI、参照データ、外部システム連携機能、参照データ生成機能、検索キー、及び結果が、推定されたシステム構成に含まれる。
【0053】
図10Bは、評価軸を選定するために実施されるリスク評価結果の一例を示す説明図である。資産欄3002には、推定されたシステム構成に含まれる資産候補が記載されている。なお、システム構成の全てが資産候補であってもよいし、システム構成のうち、予め定められた所定の構成が資産候補であってもよい。
【0054】
評価軸欄3003には、資産に対応する評価軸が記載されている。資産に対応する評価軸は予め定められている。例えば、参照データという資産に対しては、完全性を喪失される攻撃(データ汚染)等が評価軸として記載されている。影響度欄3004には、資産に対して評価軸欄3003が示す攻撃が行われた際の影響度が記載されている。つまり、疑似AIが参照するデータがある場合には、疑似AIに対応する評価軸と、参照データに対応する評価軸と、の2つの(複数の)評価軸が選定される。
【0055】
セキュリティ評価部104は、ユーザから与えれたAIシステムのCIA重要度から、影響度を評価する。なお、ユーザはAIシステムのCIA重要度を検討する際、AIのモデルの機密性が高いと判定すれば「機密性:大」、AIの出力が遅れるなど可用性が重視されないと判定すれば「可用性:小」というように、機密性、完全性、可用性の観点から影響度を評価する。具体的には、例えば、セキュリティ評価部104は、評価対象AIの概要(監視カメラの映像等のような評価対象AIへの入力データの種類等)からCIAの観点で評価する。
【0056】
AIの概要が監視カメラの場合の一例を挙げると、入力となる監視カメラからの映像には個人情報が含まれるため機密性は大、評価対象AIは正しい入力を受け付けないと正しく不審者を検出できないため完全性も大、評価対象AIがリアルタイムに不審者を発見できない場合に事故が発生する可能性があるため可用性も大、とユーザは評価し、セキュリティ評価部104は本受信結果に基づき評価する。また、例えば、AIの概要ごとに予め機密性、完全性、及び可用性の評価が予め定められていてもよい。なお、本実施例では大、中、小の三段階の評価結果を記載しているが、三段階評価でなくてもよい。
【0057】
発生確率欄3005には、資産に対して評価軸欄3003が示す攻撃が行われる確率が記載されている。セキュリティ評価部104は、例えば、推定されたシステムの構成と、既存のセキュリティ対策状況(例えばアクセス制御対策がされていて外部からのアクセスが困難である等)などに基づいて、当該確率を算出する。
【0058】
セキュリティ評価部104は、例えば、推定されたシステム構成において、AIの訓練データへのアクセス制御という対策がされてると判定すれば「発生確率は小」であると決定し、逆に訓練データへのアクセスが第三者でも可能であると判定すれば「発生確率は大」等のように、セキュリティ対策状況に基づく評価を行う。本実施例では攻撃が行われる確率が三段階で評価されて結果を記載しているが、三段階評価でなくてもよい。
【0059】
リスク度欄3006には、影響度と発生確率とに基づく対処優先度付けのためのリスク度が記載されている。例えば、影響度「大」×発生確率「大」=危険、影響度「大」×発生確率「中」=危険、影響度「中」×発生確率「大」=危険、影響度「中」×発生確率「中」=警告、影響度「中」×発生確率「小」=注意、等のように予め影響度と発生確率との組み合わせからリスク度をどのように評価するか定義されている。セキュリティ評価部104は、当該定義に従って、リスク度を三段階で評価する。なお、本実施例では「危険」、「警告」、「注意」の三段階でリスク度が評価されているが、三段階評価でなくてもよい。
【0060】
図11Aは、テストシナリオを示すリストの一例である。テストシナリオ欄4001には、業務仕様及び評価軸に基づき定義されたテストシナリオが格納されている。セキュリティ評価部104は、例えば、評価対象AI60の目的が不審者を検知するもの等と推測し、推測した目的に必要なテストシナリオ及びテストケースを推測する。具体的には、例えば、セキュリティ評価部104は、評価対象AIの概要(監視カメラ等)と、評価対象AIから得られる又はユーザによって入力される評価対象AIの判定結果群(不審者、スーツケース、発券機等)と、から評価対象AIの目的(不審者を発見すること)を推測する。
【0061】
なお、この推測に用いられるデータは予めAIシステムの目的とテストシナリオとが紐づけられているものであり、リスク評価サーバ20のメモリ300又は補助記憶装置200に格納されている。本実施例の場合だと、「概要:監視カメラ、判定結果群:不審者等、目的:不審者の発見」のように概要と、判定結果群と、目的と、の組み合わせを定義するテーブルが予めリスク評価サーバ20のメモリ300又は補助記憶装置200に格納されており、セキュリティ評価部104は、マッチするものを抽出する。セキュリティ評価部104は、新規のAIシステムに対しては、当該テーブルに記載のレコードで類似のものをユーザに提示するとともにユーザ側で確認又は設定する必要がある。
【0062】
セキュリティ評価部104は、この目的を考慮し、目的を達成するために必要な要件(「人物」を認識できること、「人物」以外を「人物」と誤認識しないこと)からテストシナリオを生成する。要件に紐づくテストシナリオ生成ルールを、リスク評価サーバ20のメモリ300又は補助記憶装置200は予め保持しており、例えば、「要件:「認識したいもの」を認識できること、「認識したいもの」以外を「認識したいもの」と誤認識しないこと」、テストシナリオ生成ルール:(1)「認識したいもの」と誤認識するような判定結果群(「認識したいもの」以外)の入力テスト、(2)「認識しないもの」以外を「認識したいもの」に誤認識するような判定結果群(「認識したいもの」以外)の入力テスト」というルールを保持している。
【0063】
セキュリティ評価部104は、このテストシナリオから、評価対象AIが判定結果群の組合せを生成することでテストケースを生成する。具体的に本実施例では、セキュリティ評価部104は、テストケース(1)として「「人」を「スーツケース」と誤認識するような入力を与える」、「「人」を「発券機」と誤認識するような入力を与える」テストケース(2)として「「スーツケース」を「人」と誤認識するような入力を与える」「「発券機」を「人」と誤認識するような入力を与える」というテストケースを生成する。
【0064】
セキュリティ評価部104は、推測したテストシナリオ及びテストケースを入出力装置400等に表示して、推測したテストシナリオ及びテストケースが正しいかユーザに確認してもよく、推測したテストシナリオ及びテストケースが正しくない場合、ユーザから正しいテストシナリオ及びテストケースの入力を受け付けてもよい。
【0065】
図11Bは、評価軸が示す攻撃によるセキュリティ耐性の評価結果の一例を示す説明図である。
図11Bの例では、入力データ汚染に関する評価結果を示す。テストシナリオNo.欄4002には、テストシナリオを識別する番号が格納されている。テストケースNo.欄4003には、テストシナリオごとにテストケースを識別する番号が格納されている。
【0066】
テストケース欄4004には、テストシナリオごとに作成されたテストケースを示す情報が格納されている。不審人物を検知するAIを評価する場合の例を示す。不審人物を検知するAIにとって、「人物を認識できること(テストシナリオ1)」が重要であり、セキュリティ評価部104は、不審人物の検知のために必要のないものは識別できなくても問題はないと判断できる。
【0067】
そこで、セキュリティ評価部104は、このテストシナリオに沿って、テストケースを作成する。セキュリティ評価部104は、例えば、本システムの場合には「人物を車椅子と誤認識」するような入力データを用意しテストする。
【0068】
攻撃パターン欄4005には、攻撃パターンが記載される。本例のようなデータ汚染の場合、セキュリティ評価部104は、ノイズのレベルを攻撃パターン欄4005に格納する。攻撃パターン欄4005に格納される値の種類は評価軸によって異なる。攻撃耐性欄4006には、テストケース欄4004の値と攻撃パターン欄2005の値に応じた攻撃を実際に行った結果が格納される。本例のようなデータ汚染の場合、誤認識されるかどうか評価される。
【0069】
図12は、対策選定部105による対策選定処理の一例を示すフローチャートである。対策選定部105は、セキュリティ評価部104から受信した評価結果に基づいて、対策データ202を参照して対策を選定する(S5001)。具体的には、対策選定部105は、対策データ202において評価軸とデータ型に対応する対策を選定する。対策選定部105は、選定した対策を対策評価部106に送信する(S5002)。
【0070】
図13は、対策評価部106による対策評価処理の一例を示すフローチャートである。対策評価部106は、選定した対策の導入効果を評価する(S5101)。対策評価部106が行う、対策の導入効果の具体的な評価については、
図14を用いて後述する。対策評価部106は、対策導入後の疑似AIが閾値以上のセキュリティ攻撃耐性を有するかを判定する(S5102)。
【0071】
対策評価部106は、対策導入後の疑似AIが閾値以上のセキュリティ攻撃耐性を有すると判定した場合(S5102:Yes)、当該対策及び対策評価結果を対策選定部105に送信し、さらに入出力装置400に表示する(S5103)。対策評価部106は、対策導入後の疑似AIが閾値以上のセキュリティ攻撃耐性を有しないと判定した場合(S5102:No)、対策選定部105に対策選定処理を再度依頼し、追加すべき対策を抽出する(S5104)。
【0072】
なお、2回目以降の対策評価処理においては、対策評価部106は、それまでに対策選定部105が選定した全ての対策を組み合わせる(全ての対策が同時に実行される)ものとして、ステップS5101~ステップS5104の処理を実行するとよい。
【0073】
図14は、推奨対策表示画面の一例を示す説明図である。
図14では、具体例として、データ汚染の対策に対する評価とモデル抽出に対する評価とが行われたものとする。なお、対策評価部106は、評価にあたってはセキュリティ評価部104で実施した攻撃をおこなうことで対策の効果を評価する。表示推奨対策表示画面は、データ汚染対策導入結果表示領域6001と、総合対策導入結果表示領域6002と、推奨対策表示領域6003と、を含む。
【0074】
データ汚染対策導入結果表示領域6001には、評価軸の一つであるデータ汚染に関する対策導入結果が表示されている。データ汚染の対策として、ノイズのあるデータを学習データに含めることで攻撃耐性が一般的には強化されることが知られている。しかし、ノイズのあるデータを学習データに含めると精度が下がることがある。
【0075】
対策レベル欄6101には、対策強度を示す対策レベルが表示されている。つまり、対策評価部106は、選定された対策に対して、複数段階のレベルそれぞれについて対策を行った場合の評価を行う。ノイズレベル欄6102には、対策レベルに応じたノイズの強度が記載されている。攻撃耐性欄6103には、ノイズレベル欄6102に示すノイズレベルで生成された汚染データに対する誤認識の割合が記載されている。本数値が高ければ高いほど攻撃対策が強い。本例では攻撃耐性が高(100-91%)、中(90-81%)、低(80%以下)の三段階で評価されている。
【0076】
精度欄6104には、セキュリティ対策を導入した場合の精度が表示されている。セキュリティ対策を導入した場合、精度が落ちる可能性があるため、セキュリティ以外の観点も考慮し評価した結果が表示されている。本例では、精度が高(100-91%)、中(90-81%)、低(80%以下)の三段階で評価されている。
【0077】
評価結果6105には、各対策レベルにおける攻撃耐性と精度の推移を示すグラフが表示されている。ユーザは評価結果6105を確認することにより、精度を考慮した上で攻撃耐性のレベルを選択しやすくなる。本例だと、ユーザは、攻撃耐性と精度のバランスを考慮するとパターン3、セキュリティを重視するとパターン4、5、精度を考慮するとパターン1、2等の用に、パターンを容易に選択できる。
【0078】
総合対策導入結果表示領域6002には、2つ以上の評価軸が存在する場合におけるすべての評価軸が考慮された評価結果が表示される。
図14では、評価軸としてデータ汚染とモデル抽出が存在する場合の例を説明する。また、
図14では、総合対策導入結果表示領域6002に、モデル抽出の評価結果が表示されているが、データ汚染の評価結果についてはデータ汚染対策導入結果表示領域6001に記載したため記載を省略する。
【0079】
対策レベル欄6201には、対策強度も考慮した対策パターンが表示される。許可クエリ数欄6202には、一度に許可するクエリ数を制限することでどれくらいモデル抽出されないか評価するためのクエリ数が表示されている。
【0080】
出力欄6203には、出力データの予測値が表示されている。情報が多ければ多いほど正確なモデル抽出が可能となるため、出力欄6203の値は、予測結果の数値を削減する効果を評価する際の基準ともいえる。攻撃耐性欄6204には、許可クエリ数と出力の組合せからなる対策レベルごとに評価された攻撃耐性が表示されている。なお、モデル抽出攻撃ではモデルをコピーされることが脅威であるため、攻撃耐性欄6204は、対策レベルによるコピーの精度を示す。
【0081】
推奨対策表示領域6003には、複数の対策を組み合わせた際の最適な対策選定結果が表示される。例えば、推奨対策表示領域6003においてデータ汚染(入力)の対策とモデル抽出の攻撃への対策の導入を推奨しており、データ汚染については攻撃耐性とAIの精度のバランスがいいレベル3を、モデル抽出の対策についてはレベルKを推奨している。なお、複数の対策を導入する際にモデルに影響があるような対策(例えば、ノイズデータを訓練データに含める等の所定の対策)を複数選択する場合、対策評価部106は複数の対策を導入した際の疑似AIの精度を再評価する必要がある。
【実施例2】
【0082】
実施例1のリスク評価サービスシステムの構成に加え、リスク評価サーバ20のCPU100が、フィードバック部をさらに有してもよい。フィードバック部は、対策実施後の効果及び評価対象システムの変化を検知する(例えば、診断サーバ70が当該効果及び当該変化を診断し、リスク評価サーバ20に送信することで、フィードバックが当該効果及び当該変化を受信する)。フィードバック部は、対策効果又はシステム変更を検知すると、テスト環境作成部101にステップS001の処理を開始するよう指示して、
図5の処理を開始させることにより、対策を再選定する。これにより、リスク評価サーバ20は、動的に脅威及びシステムの変化に対抗することが可能となる。
【0083】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0084】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0085】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0086】
10 リスク評価サービス基盤、20 リスク評価サーバ、30 DBサーバ、60 評価対象AIシステム、70 診断サーバ、100 CPU、101 テスト環境作成部、102 診断部、103 機能推定部、104 セキュリティ評価部、105 対策選定部、106 対策評価部、200 補助記憶装置、201 攻撃アルゴリズムデータ、202 対策データ、300 メモリ、400 入出力装置、500 NWインターフェース