イメージ

RPAを導入するすべての企業が、最も注意すべきなのはセキュリティ対策です。
RPAのソフトウェアロボットは、指定したこと以外実行できないためセキュリティが高まる印象があるのですが、人と同じような操作ができてしまうからこそ、乗っ取りや誤動作には厳重に注意が必要です。
従来のセキュリティ対策では、ネットワークの入口・出口で防御や制限をかけることが中心でしたが、特にロボットは、不正な動きをいち早く察知する必要があり、各種のログの管理が重要になります。



RPAを取り巻く脅威

 
pic-1
pic-1
pic-1

RPAのロボットは、業務作業を代行してくれる一人の「従業員」として、セキュリティポリシーに従って管理する必要があります。
但し、人間であれば入退出管理や、勤怠管理により仕事をしている時間帯の監視ができますが、基本的にソフトウェアロボットは常時PC上にいるため、そのロボットの実行ログや、PCの操作ログ、アクセス先のファイルサーバやデータベースなどのリソースのログを横断的に管理することで、いざという時のトレーサビリティの確保と、ITガバナンスの強化が可能になります。
よって、ロボットの乗っ取りや誤作動、不正使用などのリスク対策には、必要とする様々なログの取得が必須です。


ログの取得対象には、どんなものがあるか?

 
rpa-security-3-1 RPAツールの中でも特にRDA(Robotic Desktop Automation)タイプのツールでロボットを作成した場合などは、業務部門で比較的簡単に作成できるので、「野良ロボット」が発生してしまうリスクがあります。
作成者が異動した場合や、管理者が不在のまま放置されていたロボットは、「野良ロボット」と化し、正式に本番業務に組み込まれたロボットと同じような管理がされていないため、不正使用などのリスクが大きくなります。
RPAのロボットは通常、ロボット管理用のマネージャー機能にスケジュール登録して実行されますが、ツールによってはロボットが稼働しているPC側でマニュアル起動が可能です。
ロボットの管理マネージャーから起動していない場合、「野良ロボット」のように、ロボットの管理者がわからず、未承認で業務を行なったり、申請されていない時間に稼働したりすると、RPAツール側で持っているログの内容だけでは、ロボットの動きを把握できない場合もあります。


rpa-security-3-2 ロボットが乗っ取られたり、不正使用されていないかなどの挙動についても、業務で使用するデータベースやファイルサーバなどリソース側でも取得しているログにも異常がないかどうか、連携してチェックが必要です。
ロボット側では正常終了として記録されているログで安心していても、リソース側のログでは、通常では考えられないデータ量のアクセスがあったり、ロボットの誤作動でループして異常なほどのI/OによるCPU負荷がかかり、その業務のみならず他の業務にも影響を与えてしまうリスクもあります。
リソース側のサーバでのログで問題把握できればよいのですが、場合によっては使用する業務アプリで、記録されているログも有効です。
また、不正なWebアクセスなどのリスクも考えられるため、他のソフトウェアと同様にセキュリティ対策ソフトによる監視の対象にして、セキュリティソフトのログもチェック対象にしておくことは有効な手段です。
rpa-security-3-2

取得すべきログを見極めるために、RPAでロボットを導入する際に起こりえるリスクを想定し、それに関連するログをできるだけ多く洗い出し、取捨選択することが有効な手段です。
ロボットの誤作動や、乗っ取りのリスクなど、ロボットだからこそ通常のアプリとは違ったリスクも想定することがポイントです。RPA化する対象業務によって、取得すべきログが異なるのは当然ですが、たとえばWindowsのイベントログなど、どのロボットに対しても、管理すべきと思われるログも多く存在します。
その際、人であれば無意識に対処してしまっていた業務も、ロボットでは、事前準備が不足しているとアラームを見過ごしたり、突然止まってしまった場合に原因究明できない場合があります。
そのため、可能な限り、ロボット作成の時、ステップ毎に進捗ログを残すコーディングをしておくことも、重要なポイントです。


RPAの導入有無に関わらず、運用中のシステムを構成する各サーバでは、データベース・アカウント管理・アプリケーション等々それぞれの役割毎にログは出力されており、異常があった場合には、多くの企業でそれらのログをもとに調査されます。
RPAツールを導入したからロボットの管理はそのツールに任せると考えている場合でも、特にこの部分のログ取得は引き続き必要です。
もちろん運用中のシステムを操作する主体が、人間からロボットに代わりますので、このロボット側のログも必要です。ロボット側には、実行されるソフトウェアロボットの動きと、それをコントロールしている管理機能の部分についても、どのような動きをしているのかを記録しておくことが必要です。
rpa-security-3

つまり、従来よりあったシステム領域が「リソースサーバ・アプリケーションシステム側」、RPA導入により新しく出現した領域が「ロボット側」としてログを取得しておくべき対象となります。


RPAで管理すべきログには、どんなものがあるか?

 
ロボット側は、業務を行なっていた担当者の代行となるので、「操作する側」という見方ができます。一方、業務はアプリケーションを通じて、データベースやファイルサーバなどのリソースを利用して処理を行うため、「リソースサーバ・アプリケーションシステム側」は、取り扱う業務にもよりますが、ソフトウェアロボットからみればデータの入出力をされる側つまり「操作される側」になります。 この「操作する側」と「操作される側」両方についてのログをRPAでは管理すべきです。
このほかに、両方に関係しますが、業務に応じてネットワークのログや、セキュリティ監視などのログも、RPAセキュリティを保つ上で管理すべき対象となります。
rpa-security-4


<操作する側>

① ロボット管理マネージャ

security-3-1

RPAツールの多くは、サーバや別PCからでもロボットの動きを監視・管理できる機能を提供しています。ジョブのスケジュール機能に合わせて、実行時のタイムや終了後のコンディションコードなどのログが管理できます。
但し、RDAタイプのツールには、クライアントのみにツールがインストールされており、この管理用の機能がなく、Windowsのタスクスケジューラ等に登録して、定期実行している場合があります。その際は、一括に複数のロボットの情報を得る機能がない場合もあります。
ロボット管理マネージャのログにより、不正アクセスの有無や、ロボットへの実行指示が予定通り正しく実施されているか等の確認ができます。そのためには、誰がログインしたかなどを検証するためにもロボット管理マネージャの稼働するサーバやPCのOS側で取得するイベントログ等も必要です。


② ロボット動作クライアント

security-3-2

ソフトウェアロボットのアクティビティの詳細のログです。
RPAツールの種類によって、出力方法や出力内容は異なりますが、ツールの機能としてロボットのアクティビティの詳細が記録されます。
サーバ型のRPAツールの中には、仮想PCを使用したりするため、この部分もロボット管理マネージャ側で集中管理している場合があります。
ロボットが稼働するクライアントでもやはり、OSが取得するイベントログ等により、実際に指定されたプログラム通りにソフトウェアロボットが動いているかどうか、エラーとか異常がないかどうかなどが確認できます。
エラーハンドリング時など、ソフトウェアロボット内部で、個別に残すログも必要です。チェックポイントを設け、各ステップで、業務の状況を記録しておくことで、いざという時に迅速なリカバリーができます。そのために、中間データなどをいつ、どこに何を保存したかなどのログを、ロボットへの指示の中へコーディング追加しておくことが重要です。


「操作する側」のログは、RPAツールの機能だけに頼るのではなく、OSのイベントログ等も必要ですが、そうしたログを収集、分析し易くするセキュリティ対策ソフトを利用することも、かなり有効です。
OSの環境や業務の条件によって、最良のセキュリティ対策ソフトを選択すべきですが、ログを分析するためのツールは種類が豊富です。
業務の重要度にもよりますが、ロボットによって業務操作が正しく行われたか、または、正しく設定され正しい時刻に実行されたかを確実に調べるために、PC画面の動きを動画のように記録できるツールもあります。
また、プログラムや、設定内容が無断で変更されないように、ファイルの改ざん検知のソフトウェアのログなども取得できると安心です。


<操作される側>

③ 権限管理サーバ

security-3-3
Windows環境におけるActive Directoryなどで、ソフトウェアロボットが決められた権限でいつログオンして、どのコンピュータに接続したかなどが確認できます。
ソフトウェアロボットが、アクセス許可されているリソース条件などに沿って正しいアクセスをしているかがわかります。
また、ロボットに操作させるため、特権IDを与える場合など、認証サーバの情報なども必要になります。ロボットが、重要な業務を担うようになればなるほど、ロボットの権限を監視し、ログを取得しておくことはますます重要になります。


④ データベースサーバ

security-3-4
データベースのデータを使用しているアプリケーションを使った業務は、データベース側で取得しているログも必要です。
予定されているデータ以外のアクセスがないかとか、想定外の時間にアクセスがないかなど、リソース側の情報も確認します。
特に、アクセス権のあるソフトウェアロボットが、データを漏洩していないか、データを破壊していないかなどの確認を行うことは、機密情報であればなおさら重要です。


⑤ ファイルサーバ

security-3-5
データベースと同様ですが、用途として業務間をつなぐためのファイル共有などに使用されるなど、複数の人、あるいは複数のソフトウェアロボットがアクセスするため、いつどのIDでアクセスされたかを照合するのに必要です。
ファイル共有している場合がほとんどなので、中間ワークデータを残す場合などもあるため、履歴は重要です。セキュリティ対策ソフトも、いろいろと充実しています。


⑥ アプリケーションサーバ

security-3-6
業務で使用するアプリケーションのログは、業務が正常に終了したかどうかを知るのにとても重要です。
ロボット側で、正常終了したように見えても、実際アプリケーションとしては、いつもより多くのデータを処理してしまっていたとかもあるかもしれません。
アプリケーションサーバのログでは、データが正しくインプットされ、業務処理後に予定しているものが正常にアウトプットされているかを確かめることが、業務の品質管理においても必要です。
また、ロボットが予定していなかった時刻に、アプリケーションを使用してデータ操作が行われていないかなど、不正使用を確認するためにも必要です。

「操作される側」のログは、すでに取得されているログがほとんどだと思われますが、セキュリティ対策ソフトを利用している場合が多いので、作成したロボットもそのソフトの管理対象に加えてもらうことになります。業務によっては対象外もありますが、その企業のセキュリティポリシーに従い様々なセキュリティログの取得対象に追加し、不足が感じられる場合は、新たなセキュリティ対策ソフトの追加購入を検討することも必要かもしれません。


RPAのための統合ログ管理

 
ソフトウェアロボットは、人の代行をするため多くの場合、人と同じように各種のシステムへアクセスするためにIDを付与され稼働します。よって、基本は企業のセキュリティポリシーに従い、人と同じようにセキュリティについても、監視や管理されるべきです。
この時、加えてRPAのロボットはソフトウェアなので、重要な情報資産としてバージョン管理し、改ざん検知などのセキュリティ対策ソフトウェアの管理対象にもしなければいけません。
それゆえ、「操作する側」、「操作される側」のログだけでなく、各種セキュリティ対策ツールが取得している数多くの種類のログを管理することが必要となってきます。
rpa-security-5

取得した多くのログは、できれば1か所に集められ、タイムリーに分析され、必要に応じて対処されるべきです。
RPAツールの多くは、ロボットに関するアクテビティログが出力されますが、悪意のある第三者に狙われた場合、そのログさえ改ざんされる危険性もあります。また、ロボット側のログだけでは、アクセス先のデータがどのように取り扱われたか詳細がわかりません。よって、可能なかぎり関係するログはすべて取得し、一元管理されるべきです。
フォーマットがそれぞれ違うログを一元管理するためには。Logstorageのような統合ログ管理ソフトウェアを活用することが有効です。そうすれは、何か問題があった場合に、複数のログを横断して高速検索し、迅速に分析することが可能になります。
また、トラブル報告や、リカバリーのアクションなど、想定できる事象については、ROBOWAREなどの運用管理業務にも対応できるRPAツールによって、ロボットを使った監視や管理を行なうことも有効な手段です。

ログを取得する目的は、セキュリティだけではありません。業務が正常終了したかの確認だけではなく、業務で作成されたアウトプットの品質を確認するためや、キャパシティプランニングのために、データ量の増減の傾向分析や、パフォーマンス分析を行なったり、障害の予兆の分析や、障害が起こった時の原因分析、リカバリーのための情報などを記録したりと多岐にわたります。
この部分のログは、多くの場合その業務ごとに取得すべき内容が違ってきてしまうため、ロボット開発時に、適時ログを記録するようにコーディングしておく必要があります。そのため、すでにRPAツールで開発してしまったロボットにも詳細なログを残したい場合は、ROBOWAREのような開発型ツールを利用して、新たにログの部分を追加するために別のロボットを作成して、内部から既存のロボットを呼び出して連携する方法もあります。
これから、RPAツールを検討する企業の場合は、必要とされるログをロボット開発時に適切に取得できるコーディングができるかどうかも、効率的な投資をする上で重要な選択ポイントになります。
ロボットの開発にログ取得のためロジックを組み込むことは、時間がかかり、負荷も多いため、エラーハンドリングなどのコーディングをすることをあまり推奨していないRPAツールもありますが、業務のライフサイクルを考えれば、導入時から意識してログを管理することが一番効率的な方法だと理解することが重要です。



【関連プロダクト】

logstorage
logstorage図

RPAの統合ログ管理システムに最適

サーバ、ネットワーク機器など、あらゆるシステムの構成要素のログを統合して管理する統合ログ管理システムです。
Logstorageは、RPAに関連する全てのログを収集して、パソコンやサーバ、ネットワーク機器などが出力するすべてのログを機器の種類、アプリケーション、フォーマットを問わず統合的に一元管理できるため、ロボットの不正使用や、暴走を検知し、トラブルシューティングに役立ちます。

roboware

人の操作を完全に自動化 - 業務自動化の切り札

ROBOWARE図

人の作業を代行するソフトウェアロボットです。
主にPC操作のUI部分をアナライザーを使って、APIで簡単に自動化します。
ロボットへの指示は、Ruby、PHP、Java、C#で開発できるため、あらゆるアプリケーションやAI、IoTなどと連携が可能です。
RPA2.0の開発の要となるソフトウェアで、様々なアプリケーションやツールとの連携や、ロボット間の連携が可能です。
PC操作を自動化する操作記録型のQuickROBOオプションもあります。

mylogstar
deffesa

malion
idoperation_sc

tripwire
idoperation


fsecure



【RPA関連ページ】
RPA2.0 業務プロセス自働化
OCR連携RPAソリューション
RPAセキュリティ対策ソリューション
RPAセキュリティ-統合ログ管理ソリューション
2019.02.07RPAセミナー開催報告


RPA
RPA
ソフトウェアロボットの作り方
AI搭載を見据えたRPAの実装方法とは?
RPA2.0を加速するソフトウェアロボット開発
RPAの盲点ITガバナンスの重要性
無人運転を実現するRPAのシステム開発
RPA2.0 実現に必要な4つの要素
セキュリテイ強化したRPAのロボット開発
RPAが必要とするログ管理とは?


▼RPAに関するご相談は、お気軽にお問合せください お問合せ