JP2022506495A - セキュリティ監視処理のためのシステム及び方法 - Google Patents

セキュリティ監視処理のためのシステム及び方法 Download PDF

Info

Publication number
JP2022506495A
JP2022506495A JP2021523894A JP2021523894A JP2022506495A JP 2022506495 A JP2022506495 A JP 2022506495A JP 2021523894 A JP2021523894 A JP 2021523894A JP 2021523894 A JP2021523894 A JP 2021523894A JP 2022506495 A JP2022506495 A JP 2022506495A
Authority
JP
Japan
Prior art keywords
data
processors
audit
event
filter
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
JP2021523894A
Other languages
English (en)
Other versions
JPWO2020096962A5 (ja
Inventor
グリッグス,ダニエル
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.)
Jamf Software LLC
Original Assignee
Jamf Software LLC
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 Jamf Software LLC filed Critical Jamf Software LLC
Publication of JP2022506495A publication Critical patent/JP2022506495A/ja
Publication of JPWO2020096962A5 publication Critical patent/JPWO2020096962A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Abstract

コンピュータによって実行される方法はセキュリティイベントの監視のために使用することができる。前記方法は、第1のオペレーティングシステムのセキュリティモジュールからデータを受け取ることと、セキュリティイベント監視アプリケーションによる収集のための監査クラスデータフィルタを定義することとを含んでもよい。さらに前記方法は、前記データと前記監査クラスデータフィルタとを比較することと、前記データと一連のブラックリストに登録された値とを比較することとを含んでもよい。更に前記方法は、前記データの、前記監査クラスデータフィルタ及び前記ブラックリストに登録された値との比較に基づき、共通構造フォーマットのデータを出力することを含んでもよい。

Description

本開示の様々な実施形態は、概して、オペレーティングシステムにおいて行われる監視プロセスに関し、より具体的には、オペレーティングシステム環境においてセキュリティに関するアクションを行うことに関する。
ネットワーク攻撃及びサイバーセキュリティはセキュリティ面を気にする企業にとって重要な問題である。全ての市場における事業や規制環境において、そのネットワークに接続された全てのコンピュータに対して、信頼できる監査とログ記録対策を行うことが求められている。伝統的なセキュリティ上のソリューションでは企業に対し予防的なエンドポイント防御を提供することができ、その際、ソフトウェアはコンピューティングデバイスに入る新しいファイルに反応し、そのファイルが悪意のあるものと認められれば、自動的にそのファイルがそのデバイス内で実行されないようにする。しかしながら、このような防御を起動させることなくアタッカーはなおコンピューティングデバイスに侵入することができる。
現行のオペレーティングシステムは、コンピューティングデバイスで実行される処理の収集及び監視のための組み込み型のツールを含んでいることがある。例えば、Apple(商標)はmacOS(商標)が実行される全てのコンピュータにプレインストールされる形でOpenBSMの最新バージョンを出荷している。OpenBSMはサン・マイクロシステムズのベーシックセキュリティモジュール(BSM)監査API及びファイル形式のオープンソース実装である。OpenBSMは、ログインと監査のイベントをデフォルトの設定でのみ収集し、イベントは人間が読めるフォーマットでは保存されない。
しかしながら、既存のセキュリティソフトウェアツールは、オペレーティングシステムにあらかじめ組み込まれたOpenBSMのようなシステムを無視し、独自の収集方法と監視方法を構築し、多くの場合セキュリティ上の問題をオペレーティングシステムに持ち込む。したがって、既存のセキュリティソフトウェアを用いる企業は無意識のうちにそのコンピュータを危険にさらしていることがある。更に、ログ収集ツールは、OpenBSMのログを所定の間隔で変換するアプリケーションやスクリプトがなければOpenBSMによって生成されたログを取り込むことができない。ネイティブのOpenBSMログフォーマットはリアルタイムでの監査や収集用には設計されていない。
さらに、OpenBSMが生成するイベントを全て収集すると、既存のコンピュータシステムを著しくスローダウンさせて使用不能にする。例えば、全イベントの流れを観測すると、その観測の詳細を示すためのイベントが追加で生成されて無限ループが作成される。イベントが生成されるとコンピュータのスピードが落ちるため、この問題は時間が経てば必ず解消されるものではない。
特殊な条件下で、開発者のマシンでしか実行することができない概念実証コードを含む他の既存のツールもある。このツールは完全ではなく、スケールせず、遠隔管理するようには設計されていない。更に、このツールはOpenBSMを使用しない。OpenBSMはUnix(商標)標準を使用することから、ある態様においては重要な場合がある。OpenBSMは、非カーネルプログラムがセキュリティと監査の情報を収集するための唯一の方法である場合がある。他の収集方法にはベンダにカーネルレベルコードのインストールを求めるものもあり、これにより不安定さと新しいセキュリティ上の懸念が持ち込まれる。あるケースでは、第1のオペレーティングシステムでは特定のカーネル拡張しか実行できない場合があり、他のオペレーティングシステムに関するカーネル拡張が第1のオペレーティングシステムによって禁止される場合もある。
セキュリティイベントの監視、収集、ブロックのための独自のコードを優先し、macOSにネイティブなシステムが無視される他のツールもある。ノンネイティブなツールセットではmacOSのサブビルドごとに統合テストを行うことが要求される。ベンダのコードはシステムによって行われる全てのアクションを承認してからアクションを実行しなければならないことから、このベンダコードはシステム全体の不安定さとパフォーマンスの問題につながる。この従来のシステムではベンダのカーネル拡張(kexts)が求められる。kextsによってセキュリティ上の重大な脆弱性の可能性が持ち込まれる。kextsはオペレーティングシステムの最下層のレベルで実行され、バグやエラーがあればシステムが完全にクラッシュしてしまう。macOS 10.13.3+上では、kextsはホワイトリストに登録されるか、ユーザによって承認される必要がある。
ベンダがベンダ自身のツールをアップデートできるように、会社でmacOSのシステムアップデートを遅らせなければならなくなることがしばしば起こる。ベンダのツールをアップデートしないままmacOSをアップデートすると、ITからの専門的な支援を必要とするシステムが使用不能になることもよくある。macOSの正確なバージョンに対応する正確なバージョンを持続的に求めることはほぼ不可能である。これらのツールは、処理や脅威の分析のために、(ファイル全体を含む)データをベンダのクラウドにアップロードする。ツールの中には、ログ分析を行うクラウドサーバであって、ベンダがホストであるクラウドサーバに対して直接データを送信するものがある。人間が可読なログはデバイスやクラウドの中に残らない。たとえそれが正確に行われたとしても、多くの組織は会社のデータを会社以外のシステムに置くことを望んでいない。Windows OSは多くの会社において最も使用されているオペレーティングシステムであり、ほとんどのツールはまずWindows用に開発され、その後macOS用に開発される。
カーネル拡張は、macOS(例えば第1のオペレーティングシステム)上の最上位のパーミッションの下で実行されるコードであってもよく、また関連する操作のための実行チェーンに必要なリンクであってもよい。そのコードにエラーがあれば壊滅的なエラーを引き起こしかねない。アプリケーション実行と共に作動するカーネル拡張は、カーネルモジュールがその特定のアプリケーションと共に何かを行っているかどうかに関わらず、一つのアプリを実行するごとに必要とされるステップであってもよい。
既存のソリューションのための他の課題には、macOSに対するドキュメンテーションのレベルが低く、OracleのSunオペレーティングシステムからのドキュメンテーションが制限されている(時にはmacOSにとって不適切である)ことが含まれる。セキュリティアプリケーションのベンダの中には、報告されている脅威よりもむしろ潜在的な脅威をブロックすることに対してより焦点を当てているところもある。
macOS専用に開発されたセキュリティアプリケーションは極めて少ない。典型的には、macOSは二番目のプラットフォームであって第一の開発の焦点ではないことから、結果としてシステムのクラッシュにつながる。
本開示はこれら上述の課題のうちの1以上に対処することを目指す。本開示内の背景に関する記載は概して本開示の内容を提示する目的で記載されるものである。本開示において別段の指示がない限り、この項で述べる内容は、この項に取り入れることによって本願の特許請求の範囲に対する先行技術とするものではなく、また先行技術であることを認めるものでもなく、先行技術を示唆するものでもない。
本開示のある態様によれば、セキュリティイベントの監視を目的として、非一時的なコンピュータ可読媒体、システム、及び方法が開示される。本開示で開示される例はそれぞれ、他の開示された例のいずれかと関連付けて説明される1以上の特徴を含む。
ある例においては、コンピュータによって実行される方法はセキュリティイベントの監視のために使用することができる。上記方法は、1以上のプロセッサが、第1のオペレーティングシステムのセキュリティモジュールからデータを受け取ることと、上記1以上のプロセッサが、セキュリティイベント監視アプリケーションによる収集のための監査クラスデータフィルタを定義することと、上記1以上のプロセッサが、収集された監査クラスデータの量を定義する詳細度レベルとして、上記監査クラスデータフィルタの上記詳細度レベルを受け取ることと、上記1以上のプロセッサが、上記監査クラスデータフィルタの上記詳細度レベルに基づき上記データのフィルタリングを行うことと、上記1以上のプロセッサが、上記データと、上記監査クラスデータフィルタとを比較することと、上記データの、上記監査クラスデータフィルタとの比較に基づき、上記データが上記監査クラスデータと一致しないと判断された場合には上記1以上のプロセッサが上記データを削除することと、上記1以上のプロセッサが、上記データと、一連のブラックリストに登録された値とを比較することと、上記データの、上記一連のブラックリストに登録された値との比較に基づき、上記一連のブラックリストに登録された値の中の1以上のブラックリストに登録された値と上記データとが一致すると判断された場合には上記1以上のプロセッサが上記データを削除することと、上記監査クラスデータの一部であり、第1のコンピューティングデバイスによって行われるアクションに関する監査イベントデータを上記1以上のプロセッサが捕捉することと、上記1以上のプロセッサが、監査イベントの属性に関する少なくとも1つのトークンをトークン識別子に基づき決定することと、上記プロセッサが、上記少なくとも1つのトークンを共通構造フォーマットに構文解析することと、上記データの、上記監査クラスデータフィルタ及び上記ブラックリストに登録された値との比較に基づき、上記共通構造フォーマットのデータを上記1以上のプロセッサが出力することと、を含んでもよい。
本開示の別の態様によれば、セキュリティイベントの監視のための非一時的なコンピュータ可読媒体であって、上記非一時的なコンピュータ可読媒体は命令を格納し、上記命令は、1以上のプロセッサによって実行されると、上記1以上のプロセッサが、第1のオペレーティングシステムからデータを受け取り、上記1以上のプロセッサが、セキュリティイベント監視アプリケーションによる収集のための監査クラスデータフィルタを定義し、上記1以上のプロセッサが、上記データを上記監査クラスデータフィルタと比較し、上記1以上のプロセッサが、上記データと、一連のブラックリストに登録された値とを比較し、上記処理データの、上記監査クラスデータフィルタ及び上記ブラックリストに登録された値との比較に基づき、共通構造フォーマットのデータを上記1以上のプロセッサが出力する処理を行うように上記1以上のプロセッサを構成する命令である、非一時的なコンピュータ可読媒体が提供される。
本開示のさらに他の態様によれば、コンピュータによって実行される方法をセキュリティイベントの監視のために使用することができる。上記方法は、上記1以上のプロセッサが、第1のオペレーティングシステムからデータを受け取り、上記1以上のプロセッサが、(1)上記データと監査クラスデータフィルタとを比較すること、及び/又は(2)上記データと一連のブラックリストに登録された値とを比較すること、のうち少なくとも1つを行うことと、上記処理データの、上記監査クラスデータフィルタ及び上記ブラックリストに登録された値との比較に基づき、共通構造フォーマットのデータを上記1以上のプロセッサが出力することと、を含む。
開示された実施形態の追加の目的及び有利な点は、一部を以下の発明の詳細な説明において述べ、また一部は詳細な説明から明らかであるし、また開示された実施形態を実施することによって理解することもできる。
上記一般的な説明及び下記発明の詳細な説明は両方とも代表的かつ説明的なものでしかなく、特許請求の範囲に記載された内容のように、開示された実施形態に限定するものではないことを理解されたい。
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は様々な代表的実施形態を例示するものであり、明細書と共に、開示される実施形態の基本原則を説明するのに役立つものである。
本開示のシステム、方法、及び他の態様を実行することができる代表的な環境を示す。
本開示の一態様に係る、セキュリティイベント監視の代表的なフロー図を示す。
本開示の一態様に係る、フィルタを用いたセキュリティイベント監視の代表的なフロー図を示す。
本開示の一態様に係る、イベントトークン処理の代表的なフロー図を示す。
本開示の一態様に係る、セキュリティイベント監視の構成の代表的なフロー図を示す。
本開示の一態様に係る、相互参照制御の代表的なフロー図を示す。
本開示の一態様に係る、詳細な相互参照エンジンプロセスの代表的なフロー図を示す。
本開示の一態様に係る、セキュリティイベント監視ツールの構成の更新の代表的なフロー図を示す。
本開示の実施形態又はその一部が実行されてもよい代表的なコンピュータデバイス又はシステムを示す。
発明の詳細な説明
以下、添付の図面を参照しつつ本明細書の主題をより完全に述べる。図面は本願の一部であり、例示的手段により、特定の代表的実施形態を示す。「代表的(例示的)」として本開示で説明される実施形態や実装形態は、例えば、他の実施形態や実装形態を上回るような好ましい例や有利な例として解釈されるべきものではなく、むしろその実施形態が「例」としての実施形態であることを反映又は指示していることを意図している。主題は様々な異なる形態で具体化することができ、そのため請求項でカバーされ、請求項に記載された主題は、本開示で述べる代表的な実施形態に限定されないものと解釈されることを意図している。代表的な実施形態は、ただ例示としてのみ提示される。同様に、特許請求の範囲に記載され、特許請求の範囲によってカバーされる主題は合理的な広さの範囲を有していることを意図している。とりわけ、例えば、主題は方法、装置(デバイス)、部品、又はシステムとして具体化されてもよい。したがって、実施形態は、例えばハードウェア、ソフトウェア、ファームウェア、又はそれらのいずれかの組み合わせ(但しソフトウェアそれ自体を除く)の形態をとってもよい。したがって、下記の詳細な説明は限定的な意味に解釈されるものではないことを意図している。
明細書及び請求項を通して、用語は、明確に述べられた意味を超えて、文脈において示唆又は暗示されているようなニュアンスの意味を有していることもある。同様に、本開示で使用される「ある実施形態において」という句は必ずしも同一の実施形態のことを指すのではなく、本開示で使用される「別の実施形態において」という句は必ずしも別個の実施形態のことを指すのではない。例えば、特許請求の範囲に記載された主題は、代表的な実施形態の全体又は一部の組み合わせを含むことを意図している。
下記で用いる用語は、たとえそれが本開示のある特定の例の詳細な説明と関連付けて使用される場合であっても、最も広い合理的な意味に解釈されてもよい。実際、ある特定の用語は下記において強調されてもよい。しかしながら、何らかの限定的な意味に解釈されることを意図した用語は、この発明の詳細な説明の章においては、限定的であることが明白かつ具体的に定義される。上記一般的な説明及び下記発明の詳細な説明は両方とも代表的かつ説明的なものでしかなく、特許請求の範囲に記載された特徴のように限定的なものではない。
本開示において「に基づく」という語は「少なくとも部分的に基づく」の意味である。単数形「a」、「an」、及び「the」は、文脈上そうでないことが別途指示されない限り、複数の指示対象を含む。「代表的(例示的)」という語は「理想的」というよりも「例」の意味で使用される。「又は」という語は包括的であることを意味し、挙げられた項目のどちらか、いずれか、数種の、又は全てを意味する。「含む・含有する(comprises、comprising、includes、includingに相当)」やその変形は、列挙された要素を含むプロセス、方法、又は製品が必ずしもそれらの要素以外のものを含まないのではなく、明示的に列挙されてない他の要素や、それらのプロセス、方法、物品、又は装置が本来供えている要素をも含んでもよいように排他的包含(non-exclusive inclusion)をカバーすることを意図している。「実質的に」や「概して(一般的に)」などの相対的な語は、記載された値又は理解される値の±10%の起こりうる変動を示すのに使用される。
上述のように、ソフトウェアセキュリティソリューションは十分な保護を提供できないこともあり、コンピューティングデバイスにさらなる安定さを持ち込むこともある。したがって、開示されたシステムに対し、例えばコンピューティングシステム上の実行可能なアクションやアクティビティを検出し、実行可能なアクションやアクティビティがシステム上で起動されたことを示す警告を出し、実行可能なアクションやアクティビティの有効性を検証し、もし有効であればその実行可能なアクションやアクティビティを処理し、有効でなければ、そのアクションやアクティビティを、警告が付随した状態で進行させる応答を作成するか、あるいはそのアクションやアクティビティを止めるか減らすように構成された全自動インテリジェントプログラマブルシステム、及び/又はそのようなアクティビティやアクションを監視し記録することに対するニーズが存在する。
本開示の実施形態は、セキュリティ動作検出器の役割を1つ以上果たすことができるシステム又は方法に関する。例えば、本開示で開示するシステム及び方法は、例えばmacOS(商標)などの第1のオペレーティングシステムが実行されるコンピュータにおいて実行されるあらゆるもの(例えばソフトウェア)やそのコンピュータに認証されるあらゆるもの(例えばソフトウェア又は実在の人間)を検知してもよい。次にそのシステムは、検出したそのデータを取り出し、第2のオペレーティングシステム(例えばWindows(商標))内の同種のイベントと同じ又は十分に類似した名前がフィールドに対して付けられるようにフォーマットし、ログ収集ツールが容易にそれを収集できるような様式に特別にフォーマットされていてもよいログファイルに書き込む。本開示で使用するように、第1のオペレーティングシステムは、例えば、macOS(商標)シリーズ又はApple(商標)社から提供されるいずれかのオペレーティングシステムから選ばれる特定のオペレーティングシステムであってもよく、また第2のオペレーティングシステムはMicrosoft(商標)OS製品から選ばれるオペレーティングシステム(例えばWindows(商標))であってもよい。
本開示はキュレーションされたセキュリティイベントデータのリアルタイムストリーミングと、複数の異なるツールにより分析することができる共通データ構造のデータオブジェクトの生成のために設計されたシステム及び方法について述べる。例えば、動的な又は未知の長さの監査コンテンツのストリーミングデータを受け取り、そのコンテンツを、分析しやすい構造化フォーマットのコンテンツのラベル化ピースを含む、構造データフォーマットへと構造解析する。更に、本開示はコンピュータリソース(例えばCPUやメモリ等)やユーザエクスペリエンスへの影響が少ないように設計されていてもよい。
加えて、本開示は、例えばファイルシステムの変更と作成の監視;プロセス、認証、及び重要なシステム変更に関するイベントデータの収集;収集し検出したデータフィールドの、第2のオペレーションシステム(例えばWindows(商標))のフィールドスキームへの翻訳;フォーマットされた結果ストリームの、検出したデータからの相互参照情報によるエンリッチ化;事前に定義されたアクション又はイベントに応答して(例えばApple(商標)構成プロファイルがデバイスに配信されたことに応答して)、事前に定義されたデバイス管理サーバを除く全てのデータ接続をシャットダウンするデバイス検疫機能;及び/又はフォーマットされた結果データ(例えばJSON、csv、xml)全体の、1以上の設定によって定義されたサーバへの直接の出力、等の機能を有するエンドポイント検出応答(EDR)ツールについて述べる。
OpenBSM APlは使用するのが難しい場合があり、デフォルトのフィルタクラスが極端に広く、多くの無関係なデータを含むことから、補正されたaudit_eventのタイプを収集するのに必要な柔軟性(フレキシビリティ)を提供できない。本開示に係るシステム又は方法は、これらのAPIの課題を解決することができ、audit_eventフィルタの複数のレベルを実行して関係のあるデータのみを回収することができる。本開示の印刷エンジンはカスタマイズ可能であり、収集されたイベントデータを、人間や機械が容易に読み取ることができるJSONや他の構造化データフォーマットに出力することができる。
本開示に係るシステムは、OpenBSMから関係のあるaudit_eventsのみをストリーミングすることができ、既存の企業のセキュリティツールによって簡単に収集できるようにそのaudit_eventsをフォーマットしてもよい。ある実装形態においては、収集のためのaudit_eventsの特定のクラスを宣言してもよい。その際、ある実装形態においては、そのクラスから上記audit_eventsを更にフィルタリングして、関係があり且つ必要なデータのみを収集してもよい。次にこのフィルタリングされたaudit_eventsを、その中に特定の語や句があるaudit_eventsを削除することができるブラックリストフィルタと比較してもよい。両フィルタによるテストをパスしたaudit_eventsは、次にローカルコンピュータファイルシステムに出力するか、ネットワークを経由してログ収集サーバへと転送してもよい。
さて添付の図面を参照すると、図1は本開示のシステム、方法、及び他の態様を実行することができる代表的な環境100を示す。環境100は少なくとも1つの(すなわち1以上の)第1のコンピューティングデバイス105と、少なくとも1つの(すなわち1以上の)第2のコンピューティングデバイス106と、ネットワーク110と、少なくとも1つの(すなわち1以上の)記憶装置120とを含んでもよい。上記少なくとも1つの第1のコンピューティングデバイス105及び少なくとも1つの第2のコンピューティングデバイス106はネットワーク110に接続されている。ネットワーク110は好適なネットワークのいずれか又はネットワークのコンビネーションであってもよく、システム環境100内の様々なコンポーネントの間でのデータの通信に適した適切なプロトコルのいずれかに対応したものであってもよい。ネットワーク110はパブリックネットワーク(例えばインターネット)、プライベートネットワーク(例えば組織内のネットワーク)、又はパブリック及び/又はプライベートネットワークの組み合わせを含んでもよい。上記少なくとも1つの記憶装置120はローカルのハードドライブ、ネットワークサーバ、又はいずれかの他のユーザ定義の宛先リポジトリであってもよい。
上記少なくとも1つの第1のコンピューティングデバイス105及び少なくとも1つの第2のコンピューティングデバイス106は一人以上のユーザによって操作されてもよい。第1のコンピューティングデバイス105及び第2のコンピューティングデバイス106の例には、スマートフォン、ウェアラブルコンピューティングデバイス、タブレットコンピュータ、ラップトップコンピュータ、及びデスクトップコンピュータが含まれてもよい。第1のコンピューティングデバイス105は、そのコンピューティングデバイスにインストールされた様々なソフトウェア及び特定のオペレーティングシステム(第1のオペレーティングシステム)を有していてもよい。例えば、第1のオペレーティングシステムはmacOS(商標)であってもよく、又はApple(商標)社から提供されるいずれかのオペレーティングシステムであってもよい。第2のコンピューティングデバイス106は、そのコンピューティングデバイスにインストールされた様々なソフトウェア及び特定の第2のオペレーティングシステムを有していてもよい。例えば、第2のオペレーティングシステムは、第1のオペレーティングシステムとは異なるオペレーティングシステムであってもよく、例えばWindows(商標)、又はMicrosoft(商標)から提供されるいずれかのオペレーティングシステム、又はいずれかのオープンソースのオペレーティングシステムなどであってもよい。
環境100は、データを集め、処理し、送り、及び/又は受け取るように構成された1以上の第1及び第2コンピュータデバイスを含んでもよい。概して、環境100がデータを集め、処理し、送り、又は受け取る操作を行うものとして説明される場合は、その操作は、そのコンピュータシステムによって行うことができるものと解される。概して、コンピュータシステムは、下記図7に関連して示すような1以上のコンピューティングデバイスを含んでもよい。
図2は本開示の一態様に係る、セキュリティイベント監視の代表的なフロー方法200を示す。方法200は、基本セキュリティモジュール(BSM)によってデータを収集するステップ201から始まってもよい。BSMは、第1のコンピューティングデバイス105上の全ての処理に対する詳細な監査証跡を生成するソフトウェアモジュールであってもよい。BSMは、監査記録を管理するための一連のシステムコールとライブラリインタフェース、及び拡張可能で一般化された監査証跡処理を可能にするトークンストリームファイルフォーマットを記述することができる。BSMによって集められるデータは、第1のコンピューティングデバイス105上の実行プロセス(例えばソフトウェアの実行)、認証プロセス(例えばソフトウェアの認証やユーザの認証)、接続プロセス(例えばネットワーク接続、ハードウェア接続、又はケーブル接続)及び/又は他のプロセスに関するものであってもよい。BSMは第1のコンピューティングデバイス105にインストールされていてもよく、ある実施形態においてはOpenBSMであってもよい。BSMによる収集の後、収集されたデータはステップ202においてセキュリティイベント監視アプリケーションに対してストリーミングされてもよく、セキュリティイベント監視アプリケーションは収集のための監査クラスを宣言してもよい。監査クラスは論理カテゴリーにグループ化された監査イベントであってもよい。監査クラスの例は、ファイル生成に関する第1のコンピューティングデバイス105のCPU、ネットワーク、及びプロセスによって行われるアクションであってもよい。
ステップ203では、上記セキュリティイベント監視アプリケーションは監査クラスデータのストリームを解析して、所定の監査イベントを取得してもよい。監査イベントは第1のオペレーティングシステムを実行するコンピュータに対しCPUによって行われるアクションに応答してBSMによって生成されるアクションであってもよい。監査イベントはセキュリティ操作及び/又はアプリケーションの実行に関するアクションであってもよい。監査可能なイベントはそれぞれ識別名、イベント番号、一連の事前選択クラス、及び短い説明によってファイル内に定義される。監査イベントが所定の監査イベントと一致することが判明した場合、次にステップ204において収集されたデータのストリームから監査イベントを削除して、それによりフィルタリングされた監査イベントのストリームを生成してもよい。フィルタリングされた監査イベントのストリームは、次にステップ205においてブラックリストに登録されたストリングがないかチェックされるか、あるいは解析される。このステップでは、フィルタリングされた監査イベントのストリームを1以上のブラックリストフィルタと比較してもよい。いずれかの監査イベントが1以上のブラックリストフィルタと一致する場合、次にステップ206において、一致した監査イベントを監査イベントのストリームから削除してもよい。ステップ207において、所定の監査イベントには一致するが、一以上のブラックリストフィルタには一致しない監査イベントのストリームをローカルコンピュータファイルシステムに出力するか、又はネットワーク経由でログ収集サーバに転送されてもよい。ローカルコンピュータファイルシステム又はログ収集サーバは少なくとも1つの記憶装置120に相当してもよい。
図3は本開示の一態様に係る、フィルタを用いたセキュリティイベント監視の代表的な方法300を図示したものである。方法300は第1のコンピューティングデバイス105上で行うことができ、ステップ301から始めてもよい。ステップ301では、第1のコンピューティングデバイス105の第1のオペレーティングシステムのカーネルスペースに常駐するBSMカーネルモジュールが第1のコンピューティングデバイス105によって行われるアクティビティや第1のコンピューティングデバイス105が実行する方法に関するアクティビティや情報のログを記録してもよい。アクティビティと情報のログは、第1のオペレーティングシステム105上で起こる、又は第1のオペレーティングシステム105を介して起こる操作、障害、及び変更を記述するデータの1以上のストリームを含んでもよい。アクティビティと情報の収集は、auditpipe等の擬似デバイスに対する呼び出しを通じてステップ302でアクセスされてもよい。セキュリティイベント監視アプリケーションは、ステップ303で擬似デバイスを呼び出して、アクティビティや情報の収集のデータストリームを受け取ってもよい。セキュリティイベント監視アプリケーションはデーモンプロセスであってもよく、そのデーモンプロセスはカーネルスペースの外側の、第1のオペレーティングシステムのバックグラウンドで見えないように実行されるプロセスであってもよい。デーモンプロセスはシステム(例えばroot)パーミッションと共に実行されてもよく、特定のユーザのために実行されてもよい。セキュリティイベント監視アプリケーションの起動の際、監視され、擬似デバイスから収集される特定の監査クラスの構成をステップ304で定義してもよい。
ステップ305において、バイナリ形式にエンコードされた監査イベントは、セキュリティイベント監視アプリケーションに捕捉されてメモリ(例えば記憶装置120)に記憶されてもよい。ステップ306において、捕捉した監査イベントを属性化可能なイベントと属性化できないイベントとに分類することで分類プロセスを完結させてもよい。ステップ307において、収集された監査イベントと予め定義されたフィルタ内の監査イベントタイプとの比較を行ってもよく、収集された監査イベントが予め定義されたフィルタ内の監査イベントタイプと一致しない場合、次にステップ308において、収集した監査イベントをメモリ(例えば記憶装置120)から削除してもよい。収集した監査イベントが予め定義されたフィルタ内の監査イベントタイプと一致する場合、次にステップ309において、バイナリ形式にエンコードされた監査イベント内のトークン行ごとにループ処理を開始してもよい。トークンは一連の監査データであってもよく、バイナリ形式で保存されていてもよい。各トークンは、プロセス、パス、又は他のオブジェクトなどの監査イベントの属性を記述する/表すものであってもよい。各トークンは、トークンタイプ識別子とそれに伴うトークンに固有のデータを有していてもよい。ステップ310において、入力されたトークン行のタイプ用に構成されたフィルタがあるかどうかを決定してもよい。入力されたトークンタイプ用にフィルタが構成されている場合、次にステップ311において、トークン行を調べて、トークン行がブラックリスト基準を含んでいるかどうかを判断してもよい。トークン行がブラックリスト基準を含んでいると判断された場合、次にステップ312において、そのトークンが属する監査イベントをメモリから削除してもよい。ステップ310又はステップ311における判断が否定的である(例えば入力されたトークン行タイプ用に構成されたフィルタがない、又はトークン行がブラックリスト基準を含んでいない)場合、次にステップ313でそのトークン行は第2のオペレーティングシステム(例えばJSONテキストイベントフォーマット、又はcsv、xml等)によって認識可能な構造化データフォーマットに構造解析され、メモリ(例えば記憶装置120)に保存されてもよい。
ステップ314において、上記監査イベント内に処理すべき他のトークンがあるかどうかを判断する。上記監査イベント内に処理すべき他のトークンがない場合には、次にステップ315において、第3のフィルタが定義されているかどうかを判断する。第3のフィルタが定義されている場合、次にステップ316において、取集した監査イベントを、その第3のあらかじめ定義されたフィルタと比較してもよい。監査イベントが第3のあらかじめ定義されたフィルタと一致する場合、次にステップ317においてその監査イベントをメモリから削除してもよい。第3のフィルタが定義されていない場合、又は上記第3のあらかじめ定義されたフィルタと一致する監査イベントがない場合、次にステップ318において、完全な構造化データフォーマットのイベントを組み立て、ステップ319において、完全な構造化データフォーマットのイベントのログを記録して記憶装置120に保存してもよい。完全な構造化データフォーマットのイベントは、組み合わされることで構造化されたデータオブジェクト(例えばJSONオブジェクト)が作成されてもよい、複数の構造化データフォーマット(例えばJSONスタンザ)を含んでいてもよい。
図4は本開示の一態様に係る、イベントトークン処理の代表的な方法400を図示したものである。方法400は第1のコンピューティングデバイス105上で実行されてもよく、ステップ401から始まってもよい。ステップ401では、第1のコンピューティングデバイス105に常駐するセキュリティイベント監視アプリケーションにストリーミングされる、バイナリ形式の監査イベントを収集する。バイナリ形式の監査イベントは、それぞれ少なくとも1つのトークン(例えばトークン1~トークンN)を含んでいてもよい。ステップ402においては、監査イベント内の各トークンは、マッピング処理のためのセキュリティイベント監視アプリケーションの構造解析エンジンによって取得され、受け取られてもよい。ステップ403においては、上記トークンは、監査トークンタイプと一致していてもよく、ステップ404において、上記トークンは、上記監査トークンタイプ用の対応する構造化データフォーマットへとマッピングされてもよい。ある実施形態においては、JSONは構造化データフォーマット用に使用されてもよく、イベント行は、対応するJSONスタンザへとマッピングされてもよい。当然ながら、他のタイプの構造化データフォーマットを利用することも考えられる。ヘッダートークンマッピングの例は“EVENT-ID-LABEL “event-id” ”、“EVENT-NAME-LABEL “event-name””、“TIMESEC_LABEL “time_seconds_epoch””、“TIMEMS_LABEL “time-milliseconds-offset””、 “VERSION-LABEL “version””、“EVENT-MODIFIER “event-modifer””、“NA-OR-A-EVENT-LABEL “is-non-attributeable-event””、“FAILED_EVENT_LABEL “is_failed_audit_event””であってもよい。他のマッピングもまた使用することができ、第1のオペレーティングシステムのイベントの命名規則を、第2のオペレーティングシステムによって認識される命名規則へとマッピングしてもよい。マッピング処理が完了すると、ステップ405において、上記出力を、第1コンピューティングデバイス内のメモリ又は記憶装置120内の最終イベント記録に追加してもよい。ステップ406では、監査イベント内に更にトークンが存在するかどうかに関する判断を行ってもよい。判断の結果が肯定的な場合、方法400はステップ402に戻り、より多くのトークンが受け取られて構造解析される。監査イベント内のすべてのトークンが構造解析されて、対応する構造化データフォーマットへとマッピングされると、次にステップ407において、構造化データフォーマット(例えばJSON)にフォーマットされた最終イベントは、第1コンピューティングデバイス内のメモリ又は記憶装置120内に記憶されてもよく、ステップ408において、フォーマットされたイベントのログが第1のコンピュータ又は記憶装置120で記録され、結果として生じる構造化データ(例えばJSON)オブジェクトは、単一バイナリイベントからの全ての関連データを有していてもよい。
図5は、本開示の一態様に係る、セキュリティイベント監視の構成の図法500を図示している。方法500はステップS1から始めることができる。ステップS1では第1のオペレーティングシステム用にフォーマットされた特性リスト構成ファイルが、第1のコンピューティングデバイス105に常駐するセキュリティイベント監視アプリケーション502へとロードされてもよい。セキュリティイベント監視アプリケーション502は、ステップS2で特性リストファイル501を読み出して特性リストキーと特性リスト値の組み合わせを決定する。上記特性リストファイル501は、上記一連の収集フィルタの用の詳細度レベルを構成するのに使用されてもよい。詳細度には、監査対象のシステムの相対的なセキュリティリスクに対応し、情報の推奨レベルを収集する3つのレベルがあってもよい。ある実施形態において、上記詳細度レベルは、例えば、公開されているリスク管理の枠組み(例えば米国国立標準技術研究所のSP800-37)によって定義されるような、監査対象のシステムの相対的なセキュリティリスクに対応するものであってもよい。3つの詳細度レベルと、それに対応する収集情報の例は次のようなものであってもよい。「ログレベル1」(すなわち第1のログレベル)503:ログレベル1は最も低い詳細度レベル(最も低いリスク又は「最も低いリスクレベル」)を表していてもよく、i)アプリケーションの実行、ii)スクリプト及び対話型端末命令、iii)認証プロンプト及び認証結果(例えばログイン)の全て、及び/又はiv)認証プロンプト及び認証結果(例えば、ユーザXがイベントYを行うことを許可されているか)に関する情報を収集してもよい。「ログレベル2」(すなわち上記第1のログレベルとは異なる第2のログレベル)504:ログレベル2は、中程度の詳細度レベル(例えば第1のログレベルより高いリスクレベル又は「中位のリスクレベル」)を表していてもよく、i)レベル1のログ記録イベントの全て、ii)アプリケーションネットワーク接続の作成、iii)スクリプト及び対話型端末ネットワーク接続、並びにiv)ウェブブラウザ接続履歴(例えばブラウザログ)に関する情報を収集してもよい。「ログレベル3」(すなわち上記第1のログレベル及び上記第2のログレベルの両方と異なる第3のログレベル)505:ログレベル3は最も高い詳細度(例えば上記第2のログレベルよりも高いリスク又は「最も高いリスクレベル」)を表していてもよく、i)レベル1とレベル2のログ記録イベントの全て、ii)プロセス間通信イベント、及びiii)より低位のログ記録レベルにおいて収集されるイベントタイプに追加される詳細度に関する情報を収集してもよい。詳細度の3つのレベルがこの開示に記載されているが、詳細度レベルが多少異なっていても、それもまた本開示の範囲内である。
他の実施形態においては、「ログレベル1」、「ログレベル2」、「ログレベル3」は異なるリスクレベルに対応する。特に、ある実施形態においては、詳細度は、リスクレベルと直接的な関連性はない。例えば、最も低い詳細度レベルを表してもよい「ログレベル1」(すなわち第1のログレベル)503は「中程度のリスクレベル」又は「最も高いリスクレベル」のリスクレベルを有していてもよい。中程度の詳細度レベルを表してもよい「ログレベル2」(すなわち上記第1のログレベルとは異なる第2のログレベル)504は、「最も低いリスクレベル」又は「最も高いリスクレベル」のリスクレベルを有していてもよい。最も高い詳細度レベルを表してもよい「ログレベル3」(すなわち第1のログレベル及び第2のログレベルとは異なる第3のログレベル)505は、「最も低いリスクレベル」又は「中間のリスクレベル」のリスクレベルを有していてもよい。
ステップS2で特性リストキーと値の組み合わせが読み出されたあと、セキュリティイベント監視アプリケーションによって適切なログレベルが決定されてもよい。ログレベル1が望まれる場合、次にステップS3において、レベル1のクラスに関して収集されるべき所望のデータを擬似デバイスのauditpipe上で定義してもよく、そのレベルクラスに関するフィルタをステップS4で実行してもよい。収集されたデータは、次にステップS5においてセキュリティイベント監視アプリケーションフィルタエンジンへと送られて、構造解析されてもよい。ログレベル2が望まれる場合、次にステップS6において、レベル2のクラスに関して収集されるべき所望のデータを擬似デバイスのauditpipe上で定義してもよく、そのレベルクラスに関するフィルタをステップS7でアクティブにしてもよい。収集されたデータは、次にステップS8においてセキュリティイベント監視アプリケーションフィルタエンジンへと送られて、構造解析されてもよい。ログレベル3が望まれる場合、次にステップS9において、レベル3のクラスに関して収集されるべき所望のデータを擬似デバイスのauditpipe上で定義してもよく、そのレベルクラスに関するフィルタをステップS10でアクティブにしてもよい。収集されたデータは、次にステップS11においてセキュリティイベント監視アプリケーションフィルタエンジンへと送られて、構造解析されてもよい。様々なログレベルから収集されたデータがセキュリティイベント監視アプリケーションフィルタエンジンによって構造解析されると、次にステップS12において、セキュリティイベント監視アプリケーションはそのデータを、第2のオペレーティングシステムによって識別可能なフォーマットへと変換又は正規化し、そのデータを出力する。
図6は、本開示の一態様に係る、相互参照制御の代表的なフロー図600を示す。図6に示すように、セキュリティイベント監視アプリケーションは、第1コンピューティングデバイス上の複数の異なるソースから情報を収集してもよく、正確さを期して情報を相互参照(相互参照)してもよい。BSMから取得したイベントデータは、イベントの真の信頼できる記録とみなしてもよい。更に別の実施形態においては、イベントデータの他のソースもまたイベントの真の信頼できる記録とみなしてもよい。BSM記録の属性を他のソースにと照合して、関連するイベントを相互参照してもよい。相互参照のために使用されるソースには、BSMの記録、ネットワークインターフェースのログ(例えばトラフィック、成功した接続など)、ファイアウォールログ(例えばトラフィック、失敗した又は成功した接続)、ユーザセキュリティ及びプライバシー許可の変更、第1のオペレーティングシステムからのアプリケーション利用情報、ネットワークインターフェース構成及び属性データ、第1のオペレーティングシステムからのデバイス位置データ、ファイル変更イベント、構成変更イベント、BSMソケット通知、及び第1のオペレーティングシステム統合ログが含まれてもよい。相互参照に使用される属性には、プロセスID、auditToken、セッションID、ファイルパス又はプロセスパス、監査ユーザ、有効ユーザ、BSMソケット、unixファイルディスクリプタ、署名ID、又はタイムスタンプが含まれてもよい。信頼できないイベントが検出されると、データベースに記憶されたBSMデータに対してそのイベントが検証されてもよい。検証が成功した場合には、最も低い信頼イベントの信頼レベルを上げてもよく、より高い信頼レベルが割り当てられてもよい。信頼できないイベントのソース、信頼できるイベントと一致する属性の数、及び/又はイベントによって報告されたアクションのカテゴリー(例えばログイン、設定の変更、ネットワークアクティビティなど)に基づいて、入ってくる信頼できないイベントに対し信頼スコアを付与してもよい。一致するするBSMイベントからの信頼スコア及び情報を信頼できないイベントに付加してもよく、また顧客が定義した宛先に送ってもよい。顧客が定義した宛先に送ると共に、相互参照の目的でローカルデータベースに一時的にBSMイベントのキャッシュを残してもよい。キャッシュが残されたデータベースにBSMイベントが保存される期間はイベントのタイプによって変更してもよい。例えば、重要度の高いイベントを、重要度の低いイベントと比べてより長い期間保存してもよい。更に、その後複数の信頼レベルからの相互参照データを組み合わせて、起こったイベントやアクションに対してエンリッチ化された記録を作成してもよい。エンリッチ化されたその記録は、信頼のあるBSMデータに対して検証され、その信頼のあるBSMデータと組み合わせた、信頼されていないイベントであってもよい。BSMからの信頼されたデータを上記信頼されていないイベントに追加して、顧客が定義した宛先で後から分析するために追加のコンテキストと一貫性のあるデータフィールドを追加してもよい。
相互参照制御プロセスは、図6を参照して本開示にて説明することができる。フロー図600はステップ601で始めてもよい。ステップ601では、信頼できるイベント(A)に関するデータをセキュリティイベント監視アプリケーションに入力してもよい。信頼できるイベント(A)に関するデータはBSMから収集してもよく、また他の信頼できるソースから収集してもよい。相互参照される信頼できないイベントデータがない場合には、次にステップ602にて、上記信頼できるイベント(A)のデータをログ保存システム(記憶装置120等)に直接送ってもよい。相互参照のための信頼できないイベントデータが存在する場合、次にステップ603において、セキュリティイベント監視アプリケーションは、信頼できるイベント(A)のデータを、相互参照エンジンに渡してもよい。セキュリティイベント監視アプリケーション又は相互参照エンジンは、それぞれステップ604及びステップ605において、信頼できるイベント(A)のデータを保存できる一時的なイベントキャッシュに対しても信頼できるイベント(A)のデータを渡してもよい。ステップ606において、自動応答アクションの決定があるかどうかを判断するための判断が行われてもよい。自動応答アクションは、保護されたシステムの防御姿勢を高めたり低めたりする、システム上におけるセキュリティに関連する設定又はサービスの変更を含んでもよい。これらの設定又はサービスは、コンピューティングデバイス及び/又は企業データを潜在的なリスクに晒す可能性のあるローカルの、又は外部からの入力を拒絶するようにシステムの挙動を変更してもよい。判断の結果が肯定的な場合、次にステップ607において、とったアクションと結果の応答をログに記録し、ステップ608において、ログ保存システムに送ってもよい。ログ保存システムは記憶装置120であってもよい。
信頼できないイベント(B)に関するデータを取得する際、ステップ609において、その信頼できないイベント(B)のデータを相互参照エンジンに送ってもよい。信頼できるイベント(A)のデータと信頼できないイベント(B)のデータの両方を有する相互参照エンジンは、ステップ610において、検証された信頼できないイベント(B)のデータを信頼できるイベント(A)のデータに追加してもよい。ステップ611において、信頼できないイベント(B)のデータ及び信頼できるイベント(A)のデータの集計を複合エンリッチド(enriched)イベント(C)のデータに変換してもよく、またステップ612において、その複合エンリッチドイベント(C)のデータをログ保存システム(例えば記憶装置120)に送ってもよい。
図7は、本開示の一態様に係る、詳細な相互参照エンジンプロセスの代表的なフロー図700を示す。フロー図700はステップ701から始めてもよい。ステップ701では、信頼できるイベント(A)のデータを収集してもよい。信頼できるイベント(A)のデータは信頼できるログ記録システムから収集してもよく、「フィールド11」、「フィールド22」、及び「フィールド33」等の代表的な情報を含んでいてもよい。ステップ702において、信頼できないイベント(B)のデータを収集してもよい。信頼できないイベント(B)のデータは信頼できないログ記録システムから収集してもよく、また信頼できるイベント(A)のデータを有していない情報を含んでもよい。例えば、信頼できないベント(B)のデータは「フィールド1」、「フィールド2」、「フィールド3」、「フィールドAA」、「フィールドBB」、及び「フィールドCC」などの代表的な情報を含んでいてもよい。イベント(A)のデータ及びイベント(B)のデータは、既に生じた同一のアクションを報告する別のログ記録システムの結果であってもよい。ステップ703において、イベント(A)のデータフィールドは、セキュリティイベント監視アプリケーションの事前に定義されたマッピングに基づいてイベント(B)の命名フォーマットへとマッピングされてもよく、ローカルデータベース(例えば記憶装置120)内に保存されてもよい。ステップ704において、イベント(B)に関するデータを、イベント(A)のデータのデータベース内のイベント(B)のフィールドをルックアップするのに使用してもよい。ステップ705において、イベント(B)のデータフィールドのいずれかがイベント(A)のデータベース内のデータに一致するかどうかを判断するために判断を行ってもよい。判断の結果が否定的な場合、次にステップ706において、そのイベント(B)のデータを短期間一時的なキャッシュに保存してもよい。このとき、保存する期間はイベント(B)のタイプやカテゴリーに関連づけてもよい。ステップ707において、イベント(A)のデータのデータベース内の、イベント(B)のフィールドのルックアッププロセスを再試行してもよく、もし一致するものが見つからない場合、次にステップ708において、そのイベント(B)のデータをメモリ又は記憶装置から削除してもよい。もしステップ705又はステップ707において、ルックアッププロセスの結果として一致するものが見つかった場合、次にステップ709において、信頼できるイベント(A)のデータ及び信頼できないイベント(B)のデータを複合エンリッチドイベント(C)のデータへと変換してもよい。複合エンリッチドイベント(C)のデータは、「フィールド1」、「フィールド2」、「フィールド3」、「フィールド11」、「フィールド22」、及び「フィールド33」などの代表的な情報を含んでいてもよい。フィールドデータは、アクションがシステム上でどのように行われるか、及び/又はどのパーティー(人又はプロセス)によって行われるかを示してもよい。例えば、フィールドデータには、プロセスID、auditToken、セッションID、ファイル又はプロセスパス、監査ユーザ、有効ユーザ、BSMソケット、unixファイルディスクリプタ、署名ID、タイムスタンプ、又は関連データが含まれてもよい。ステップ710において、複合エンリッチドイベント(C)のデータはログ保存システム(例えば記憶装置120)に送られてもよい。
図8は、本開示の一態様に係る、構成の更新に対するセキュリティイベント監視ツールの応答の図法800を図示している。方法800はステップ801から始めてもよい。このステップでは、セキュリティイベント監視アプリケーションデーモンが、いずれかの設定ファイルの変更があったかをリッスンし、定期的にスキャンしてもよい。ステップ802において、アクション設定が設定され、第1のオペレーティングシステムの構成プロファイルを介した実施が検出された場合、次にステップ803において、セキュリティイベント監視アプリケーションが新しい設定キーと値のペアに対して割り当てられたセキュリティ応答アクションを行ってもよい。設定ファイルの変更が検出されない場合は、プロセスを終える。
図8に図示されたある実施形態において、上記新しい設定は、構成の更新を第1コンピューティングデバイスにプッシュした結果として、第1コンピューティングデバイス上の全てのネットワーク接続を無効にするためのものであってもよい。ステップ803aにおけるセキュリティイベント監視アプリケーションは、ホワイトリストに登録されたネットワーク接続が定義されているかどうかを判断してもよい。判断が否定的な場合、次にステップ803bにおいて、共通のモバイルデバイス管理(MOM)設定ファイルに、許可されたサーバのURLがないかをチェックしてもよい。許可されたサーバのURLが見つかった場合、ステップ603cにおいてMOMサーバのURLをネットワーク接続のホワイトリストに追加してもよい。ステップ803dにおいて、許可されたネットワーク接続のホワイトリスト、アプリケーションマーカー規則、及びIP(インターネットプロトコル)スペースと共に新しいファイアウォール構成を作成してもよい。ステップ803eにおいて、セキュリティイベント監視アプリケーションは生成した構成を適用してファイアウォールサービスがアクティブかどうかを検証し、ファイアウォールサービスがアクティブでない場合には、ステップ803fで新しいファイアウォール構成をアクティブにしてホワイトリストに登録されたネットワーク接続以外の全てのネットワーク接続をブロックしてもよい。ファイアウォール構成がアクティブな場合には、次にステップ803gにおいて、新しい構成が作成されるまでセキュリティイベント監視アプリケーションはその構成を維持してもよい。
図9は、例えばコンピュータ可読なコードのような、本開示の実施形態又はその一部が実行されてもよい代表的なコンピュータデバイス又はシステムのハイレベル機能ブロック図を示す。さらに、図1~8を参照して上で説明した代表的なコンピュータサーバ、データベース、ユーザインターフェース、モジュール、及び方法はそれぞれ、ハードウェア、ソフトウェア、ファームウェア、命令が保存された有形のコンピュータ可読媒体、又はその組み合わせを用いたデバイス900において実行することができ、1以上のコンピュータシステム又は他の処理システムにおいて実行されてもよい。ハードウェア、ソフトウェア、又はそれらの組み合わせは、図1~8を参照して上述したような代表的なシステム、ユーザインターフェース、及び方法のそれぞれを実行してもよい。
プログラマブルロジックを使用する場合、そのロジックは市販の処理プラットフォーム又は専用のデバイス上で実行することができる。開示された主題の実施形態が、マルチコア・マルチプロセッサ・システム、ミニコンピュータ、メインフレームコンピュータ、分散された機能によりリンクされた又はクラスター化されたコンピュータ、及び事実上どのようなデバイスにも組み込まれる可能性のある普及型コンピュータ又はミニチュアコンピュータ等の様々なコンピュータシステム構成を用いて実施することができることは当業者であれば認識できる。
例えば、少なくとも1つのプロセッサデバイス及びメモリを用いて上述の実施形態を実行してもよい。プロセッサデバイスは単一のプロセッサでも複数のプロセッサでもよく、その組み合わせでもよい。プロセッサデバイスは1以上のプロセッサ「コア」を有していてもよい。
本開示の様々な実施形態は、図1~8の例の中で上述したとおり、デバイス900を用いて実施することができる。この明細書を読んだ後、他のコンピュータシステム及び/又はコンピュータアーキテクチャを用いて本開示の実施形態をどのように実行するかは当業者にとって明らかになるであろう。操作は逐次プロセスとして記述することができるが、実際は、操作の一部を平行して行ったり、同時に行ったり、及び/又は分散環境において行うことができ、シングル又はマルチプロセッサマシンによってアクセスできるようにローカルで又は遠隔で保存されたプログラムコードを用いて行うことができる。さらに、ある実施形態において、開示された主題の趣旨から逸脱することなく操作の順番を再配列してもよい。
図9に示すように、デバイス900は中央処理装置(CPU)920を含んでもよい。CPU920は、例えば、いずれかのタイプの専用又は汎用のマイクロプロセッサデバイス等を含む、いずれかのタイプのプロセッサデバイスであってもよい。当業者によって認識されるように、CPU920もまた、単独で動作するシステムであるマルチ・コア/マルチプロセッサシステムにおけるシングルプロセッサであってもよく、クラスター又はサーバファームで作動するコンピューティングデバイスのクラスター内のシングルプロセッサであってもよい。CPU920は、例えばバス、メッセージキュー、ネットワーク、又はマルチ・コアメッセージ転送スキームなどのデータ通信インフラストラクチャ910に接続することができる。
さらにデバイス900は、メインメモリ940、例えばランダムアクセスメモリ(RAM)を含んでもよく、セカンダリメモリ930を含んでもよい。セカンダリメモリ930、例えば読み取り専用メモリ(ROM)は、例えばハードディスクドライブ又はリムーバブル記憶ドライブであってもよい。そのようなリムーバブル記憶ドライブは、例えばフロッピーディスクドライブ、磁気テープドライブ、光学ディスクドライブ、フラッシュメモリ等を含んでもよい。この例におけるリムーバブル記憶ドライブは、周知の方法で、リムーバブル記憶ユニットから読み込み、及び/又はリムーバブル記憶ユニットに書き込む。リムーバブル記憶ユニットはフロッピーディスク、磁気テープ、光学ディスク等を含んでもよく、リムーバブル記憶ドライブによってこれらは読み込まれるか、これらに対して書き込まれる。当業者によって認識されるように、そのようなリムーバブル記憶ユニットには一般的にコンピュータソフトウェア及び/又はデータが格納された、コンピュータで使用可能な記憶媒体が含まれる。
別の実装形態においては、セカンダリメモリ930は、コンピュータプログラム又は他の命令がデバイス900へとロードされるようにする他の類似の手段を含んでいてもよい。そのような手段の例には、プログラムカートリッジ及びカートリッジインターフェース(ビデオゲームデバイスにおいて見られるようなもの等)、リムーバブルメモリチップ(EPROM又はPROMなど)と関連のソケット、及びリムーバブル記憶ユニットからデバイス900へとソフトウェア又はデータを転送することを可能にする他のリムーバブル記憶ユニットやインターフェースなどが含まれてもよい。
デバイス900は通信用インターフェース(「COM」)960を更に含んでもよい。通信用インターフェース960によって、ソフトウェアやデータをデバイス900と外部装置の間で転送することができるようになる。通信用インターフェース960には、モデム、ネットワークインターフェース(イーサーネットカード等)、通信用ポート、PCMCIAスロットとカード等が含まれてもよい。通信用インターフェース960を介して転送されるソフトウェアやデータは信号の形式であってもよく、通信用インターフェース960によって受け取ることができる、電子的、電磁的、光学的、又は他の信号であってもよい。これらの信号は、デバイス900の通信用パスを介して通信用インターフェース960に供給されてもよく、デバイス900の通信用パスは例えば配線又はケーブル、光ファイバ、電話回線、携帯電話リンク、RFリンク、又は他の通信用チャネルを用いて実装されてもよい。
その装置のハードウェア要素、オペレーティングシステム、及びプログラミング言語は本質的に従来品であり、当業者であればそれらに十分に精通していると推測される。デバイス900はキーボード、マウス、タッチスクリーン、モニター、ディスプレイ等の入力・出力デバイスと接続するための入力・出力ポート950を更に含んでもよい。当然ながら、様々なサーバ機能をいくつかの類似のプラットフォームに分散させて実行させてもよく、それにより処理負荷を分散させてもよい。また、上記サーバは、コンピュータハードウェアプラットフォームの適切なプログラミングによって実行されてもよい。
詳細
上述した実施形態と矛盾することなく、本開示に従って、システム又は方法は、セキュリティ監視ツールによる収集と分析を容易にするために、第1のオペレーティングシステムが実行されるコンピュータからセキュリティイベントログを収集して、そのログを共通構造フォーマット(例えばJSON、csv、xml等)で1以上のハードドライブに保存してもよい。そのようなシステム又は方法は、セキュリティ又は安定性に関する問題を第1のオペレーティングシステムが実行されるコンピュータに持ち込むことなく実行されて、これらのステップを実施してもよい。
ある実装形態においては、本開示で開示するシステムによって提供される利点の例は以下に述べるようなものが含まれ得る。(1)ネイティブのmacOS(第1のオペレーティングシステム)サブシステム(例えばOpenBSM)と整合させて、どのmacOSコンピュータが何をして、どのように作動しているかについてのアクティビティや情報を収集する。(2)第1のオペレーティングシステムのより高位のアクセス許可コード(kexts)を活用して、第1のオペレーティングシステムによって提供されるAPIアクセスを介してこれらのより高位なアクセス許可を要求とすることなく、フォレンジックに健全な情報を収集し、収集するのに望ましいaudit_classesを宣言する。(3)長さ、トークン(行)タイプ、トークン行内のコンテンツが不明なバイナリOpenBSMイベントを収集して翻訳する。(4)各OpenBSMイベントのヘッダートークンで定義されているaudit_eventタイプに基づいて、audit_classesからイベントをフィルタリングし、アクティブな収集レベルで定義されていないaudit_eventタイプを削除する。(5)収集されたデータを正規化してWindowsベースの(第2のオペレーティングシステムをベースとする)ログ収集又はセキュリティツール命名規則(例えばmacログインイベントからwindowsログインイベントへ)に合わせる。(6)収集したデータを、既に企業で使用されているセキュリティ運用ツールにネイティブに取り込めるようにフォーマットする。(7)セキュリティ運用ツールによって収集するための監査されたシステム上のJSONログファイルにこれらの改名された又はフォーマットされたイベントを保存する;(8)顧客がホストであり、顧客が管理するセキュリティ監視サーバに完成した出力データを直接ストリーミングする;及び/又は(9)特定のkey=valueペアを有する特定の設定ファイルを設定するApple(商標)構成プロファイルに応じたアクションを行う(例えば設定されている設定ファイルに応じて、また構成プロファイルを介してオンザフライで全てのネットワークをオフにする)。
JSONは、データを(key=value)フィールドに分類する、人間が可読なフォーマットである。JSONはデータ送信のためのオープンウェブ標準であり、ほぼ全てのログ収集・セキュリティツールにおいて解析可能である。構成プロファイルは、第1のオペレーティングシステムに特有のデバイス管理ペイロードである。
本開示に係るシステム又は方法はベンダのカーネル拡張を必要としなくてもよい。一以上の実施形態において、システム又は方法は、第1のオペレーティングシステムと共に発送するOpenBSMカーネル拡張を活用してもよい。
第1のオペレーティングシステムは、オペレーティングシステムの将来のバージョンにおけるサードパーティーのkextsを引き続き許可してもよい。
一以上の実施形態において、上記システム又は方法は、macOS’/dev/auditpipe上で収集されるaudit_classesや収集パラメータを定義してもよい。
一以上の実施形態において、上記システム又は方法は/dev/auditpipeから収集された、バイナリコードのイベントをフィルタリングして、収集のために事前に定義されたaudit_eventsのみを保存してもよい。
本開示の実施形態は、Windowsツール(第2のオペレーティングシステム)へのイベントの正規化が含まれてもよい。例えば、AUE_user_login(例えば第1のオペレーティングシステム用のイベント命名規則)よりもむしろ、既存の第2のオペレーティングシステムツールが、第2のオペレーティングシステムのログインイベントと同じように(又は十分に似た方法で)第1のオペレーティングシステムのログインイベントを認識できるように、ログヘッダーが改名されてもよい。
正確性を高めるために、これらの正規化には、例えば、手動入力が含まれてもよい。
本開示の方法及びシステムは、第1のオペレーティングシステム内のコード移植性を含んでもよい。本開示に係るシステム及び方法は、例えばmacOS2012から、最新のベータ版までのmacOS上で、変更を行うことなく実行することができる。第1のオペレーティングシステム(macOS)のカーネルコードを利用することからこのケイパビリティとポータビリティを達成することができ、本開示で開示する実装形態は正常なシステムコンテキストにおいてのみ実行することができる。これは、例えば、独自のkextモジュールを実行する従来のセキュリティツールと対照的である。更に、本開示で開示する実装形態は、より古いシステム(2012以前)でも同様に実行することができる。kextsを活用するツールは、macOS(第1のオペレーティングシステム)の特定のバージョン上で、セキュリティアプリケーションの特定のバージョンに対してのみ実行されるようにして、システムの稼働を正常に保つようにしてもよい。
本開示の実施形態は、最新のセキュリティアプリケーションがどのように実行されるか、及びどのように第1のオペレーティングシステム上で構成されるべきかについての第1のオペレーティングシステムの厳しい仕様を満たすこともできる。例えば、最も低いパーミッションから最も高いパーミッションまでのコンテキストレベルの以下のリストにおいて、本開示で開示するシステム及び方法をシステム・コンテクストデーモン上で実行することができる。(1)ユーザ固有のアクション、(2)ユーザ固有のデーモン、(3)全ユーザデーモン、(4)システム・コンテクストデーモン、(5)第1のオペレーティングシステム専用のシステムデーモン、及び(6)カーネルコンテクスト。
アプリケーション設定は、第1のオペレーティングシステムのplistフォーマットファイルを介して構成されてもよい。これらのファイルはAppleの構成プロファイルを介して即座に適用され、実行することができる。構成プロファイルは、第1のオペレーティングシステムの構成管理において重要な場合がある。
一以上の実施形態において、本開示に係るシステム及び方法は、特別にキュレーションされたセキュリティイベントデータのリアルタイムのストリーミング用に、多くの異なるツールで解析可能な共通のデータ構造で設計されていてもよい。
1以上の実施形態においては、本開示はコンピュータリソース(例えばCPUやメモリ等)やユーザエクスペリエンスへの影響ができるだけ少なくなるように設計されていてもよい。このようにブロッキングプロセスの実行よりもユーザエクスペリエンス及び監視に注目することは、第1のオペレーティングシステムのセキュリティスペースに特有のものであってもよい。
1以上の実施形態は、設定ファイル実施の第1のオペレーティングシステムの構成プロファイルモバイルデバイス管理(MOM)の実施に対応できる1以上の能力を許容してもよい。これらの設定とアクションは全て、オペレーティングシステム又はMOMプロバイダによって提供される機能よりもむしろ、本開示で開示するシステム又は方法に関連する1以上のコードで作成されていてもよい。
例えば、“shouldKillNetword?”を“true”に設定する設定を有する構成プロファイルは、システムファイアウォールの設定を変更して、コンピュータ上の全てのネットワークトラフィックを無効にしてもよい。第2の設定“allowedNetworklocations”が、企業のMOMサーバや第1のオペレーティングシステムのサーバ等の特定のウェブサイトをホワイトリストに登録した場合、コンピュータは脅威を軽減するために遠隔で制御することができる。
本開示で開示するシステム又は方法は、グラフィカルユーザインターフェース又は視覚的要素を多用しなくてもよい。
ある実装形態においては、本開示で開示するシステム又は方法は、非常に軽いセキュリティツールであってもよい。他のセキュリティツールは最新で最速のmacでさえも定期的に減速させる。
全ての構成は、設定が遠隔で行えるように。第1のオペレーティングシステム(macOS)の構成プロファイルを用いてもよい。
本開示で開示するシステム又は方法はその独自の「クラウド」に呼び戻さなくてもよく、それよりも企業のログツールを用いてログが収集されるまでは、ログはローカルに保存される。
ある実施形態において、本開示のシステムは、セキュリティ又は運用上の価値があるログのみを収集する。
OpenBSMから全てのログを収集することは現実的ではないかもしれない。実際には、エンドポイントのリソース使用量(CPU及び記憶装置)によって、ラップトップやデスクトップを極端に遅くする場合がある。財務上、一日当たりコンピュータ毎に300MBを超える量を保存することはライセンス、ホスト型ストレージコスト、及びインターネット帯域幅の面で極端に高価である。
第1のaudit_eventフィルタのために誤ったaudit_classesを収集するとCPUに負荷がかかる。例えば、/dev/auditpipe上で誤ったaudit_classesを収集すると、一貫してCPU使用率が40%以上となることが観察された。
本開示の実施形態は、全ての関連のセキュリティイベントを確実に捕捉するのに役立つ。収集されたaudit_classはaudit_eventのタイプを含んでいてもよく、ネットワークイベント、ログインイベント、及びプロセス実行などのカテゴリーに分類されてもよい。全てのaudit_classes及びaudit_eventsは、macOSにデフォルトでインストールされるオペレーティングシステムのオリジナルの開発者によって構成されてもよい。否定的な結果である失敗の状態を検出する成功率は高い場合もある。システムへのログインなどのアクションごとに、例えば、3~10の異なるaudit_eventsを生成してもよい。これら、例えば3~10のaudit_eventsは、それぞれ異なる重要な情報を含んでいてもよい。
本開示で開示するシステム又は方法は、/dev/auditpipe上の監査カーネル成分から、収集のために望まれるaudit_classesを定義してもよい。そのaudit_classesから、本開示で開示する1以上の実施形態では更にデータストリームをフィルタリングして、関連する各audit_classからのaudit_eventsのみを保持するようにしてもよい。
本開示の実施形態はKextフリーアプリケーションデザインを含んでいてもよい。例えば、ある実施形態は、カーネルアクセスのために第1のオペレーティングシステムのコードを活用することができ、多くの安定性とセキュリティ上の利点を提供し得るが、改ざんに対する耐性のような運用上の課題をもたらすこともある。
本開示に係るシステム又は方法は、悪意のあるアプリケーション又は十分な権限を持っているユーザに対し、コンピュータシステムからツールを削除することについて警告することができる。
1以上の実施形態においては、システムは、「管理者」以上の権限を持つユーザ又はアプリに対してのみ脆弱である場合がある。
一以上の実施形態において、バイナリ及び構成ファイルは悪意のある改ざんから保護されていてもよい。
一以上の実施形態においては、これらの保護により、アタッカーは、本開示に記載のツールをコンピュータデバイスから削除するための複数のアクションを行うよう強いられるため、改ざんイベントをログに記録するのに十分な時間が提供される。
関連ファイルは、第1のオペレーティングシステムにネイティブな“uchg”フラグで保護されていてもよい。“uchg”は、ファイルを改変したり削除したりできる全てのユーザ及びアプリに対して、第2のコマンドである“nouchg”を要求することができる。この2ステップ構成への変更により、スキルの低いアタッカーを妨害し、高度なスキルを持ったアタッカーのログをとるのに十分な時間が提供される。全ての設定は、第1のオペレーティングシステムによってカーネルレベルで実施される構成プロファイルを使用して設定することができる。システム上の設定ファイルに悪意のある改変があっても、構成プロファイルが使用されていれば影響はない。一以上の実施形態において、アプリケーションが終了するか又は“killed”の場合、バックグラウンドで実行されるアプリケーションは自動的に再起動される。バックグラウンドプロセスファイルは、他のサポートされるファイルと同じ“uchg”フラグによって保護される。
アプリケーション出力をフォーマットするために、ある実装形態においてJSONスタンザは手入力されてもよく、これにより第1のオペレーティングシステムのイベント命名規則を第2のオペレーティングシステムのセキュリティツールの命名規則にマッピングする。各スタンザはOpenBSM監査トークンフォーマットへとマッピングされてもよい。各イベントは、最終的に組み合わされてそのイベントを表すJSONオブジェクトが作成される、複数のJSONスタンザを有していてもよい。フィルタリングされたイベントは、次にJSONオブジェクトに構造解析されてもよい。構文解析エンジンを通した単一のイベントのフローを以下に述べる。例えば、単一のバイナリaudit_eventが構造解析エンジンによって受け取られ、バイナリイベントはトークンごとにパーサに読み込まれ、イベント行は対応するJSONスタンザへとマッピングされ、単一のフィルタリングされたイベント由来のJSONスタンザは組み合わされてJSONオブジェクトとなる。結果的に得られるJSONオブジェクトは、単一のバイナリイベントからの全てのデータを有していてもよい。
本開示で開示するシステム及び方法が占める、バックグラウンドで利用可能なCPUの割合が大きくない場合もあり、その場合システムの速度が低下する。
大ボリュームのイベントが第1のaudit_eventマッチングフィルタによってフィルタリングされてもよく、この能力を達成するためには、コードが高度に最適化されていなければならない。
ある実施形態において、開示されるシステム又は方法は、検出した脅威をブロックしない。あるケースでは、脅威をブロックするために、アプリケーションは、カーネル内に独自のkextを必要とする場合があり、その場合は本開示で議論したような他の問題を引き起こしかねない。しかしながら、必要であれば、開示されるシステム及び方法は脅威をブロックできると考えられる。
本発明の代表的な実施形態の上記説明において、本開示を合理化し、様々な発明の態様のうち一以上の態様を理解する一助とすることを目的として、本発明の様々な特徴が時折単一の実施形態や、図や、その説明においてまとめられることは認識されるであろう。しかしながら、開示されるこの方法は、各請求項に明示的に記載されたものよりもより多くの特徴を必要とする、という意図を反映するものである、と解釈されるべきではない。むしろ、特許請求の範囲が表すように、発明の態様は、単一の、上で開示された実施形態の全ての特徴よりも少ないところにある。したがって、発明の詳細な説明に続く特許請求の範囲は、これにより、この発明の詳細な説明に明示的に組み込まれ、各請求項は、本発明の別個の実施形態として独立に成立するものである。
更に、本開示に記載の実施形態の中には、他の実施形態に含まれる一部の特徴は含むものの他の特徴は含まないものもあるが、当業者であれば理解できるように、異なる実施形態の特徴の組み合わせは本発明の範囲内であり、異なる実施形態を形成することを意味する。例えば、以下の特許請求の範囲において、特許請求の範囲に記載された実施形態はいずれもどのような組み合わせによって用いられてもよい。
したがって、ある特定の実施形態が述べられていても、本発明の趣旨を逸脱することなく他の、更に別の改変を加えてもよいことは当業者であれば認識できるであろうし、そのような変更や改変は全て本発明の範囲内のものであるとして権利要求することが意図されている。例えば、ブロック図に機能を追加しても、ブロック図から機能を削除してもよく、機能ブロックの間で操作を入れ替えてもよい。本発明の範囲内で、記載の方法に対してステップを追加しても削除してもよい。上で開示された主題は例示的なものであって限定的なものではないと考えられるべきであり、添付の特許請求の範囲は本開示の真の趣旨及び範囲に属する全ての改変、変更、拡張、及びその他の実装形態をカバーすることを意図している。したがって、法律によって認められる最大の範囲で、本開示の範囲は、特許請求の範囲及びその均等物の可能な限り広範な解釈によって決定され、上述の詳細な説明によって制限又は限定されるものではない。本開示の様々な実装形態を説明したが、当業者にとっては、本開示の範囲内で実施可能なより多くの実装形態があることは明らかであろう。したがって、本開示は添付のクレームとその均等物を除いて制限的なものではない。

Claims (20)

  1. コンピュータによって実行される、セキュリティイベントの監視のための方法であって、
    1以上のプロセッサが、第1のオペレーティングシステムのセキュリティモジュールからデータを受け取り、
    前記1以上のプロセッサが、セキュリティイベント監視アプリケーションによる収集のための監査クラスデータフィルタを定義し、
    前記1以上のプロセッサが、収集された監査クラスデータの量を定義する詳細度レベルとして、前記監査クラスデータフィルタの前記詳細度レベルを受け取り、
    前記1以上のプロセッサが、前記監査クラスデータフィルタの前記詳細度レベルに基づき前記データのフィルタリングを行い、
    前記1以上のプロセッサが、前記データと、前記監査クラスデータフィルタとを比較し、
    前記データの、前記監査クラスデータフィルタとの比較に基づき、前記データが前記監査クラスデータと一致しないと判断された場合には前記1以上のプロセッサが前記データを削除し、
    前記1以上のプロセッサが、前記データと、一連のブラックリストに登録された値とを比較し、
    前記データの、前記一連のブラックリストに登録された値との比較に基づき、前記一連のブラックリストに登録された値の中の1以上のブラックリストに登録された値と前記データとが一致すると判断された場合には前記1以上のプロセッサが前記データを削除し、
    前記監査クラスデータの一部であり、第1のコンピューティングデバイスによって行われるアクションに関する監査イベントデータを前記1以上のプロセッサが捕捉し、
    前記1以上のプロセッサが、監査イベントの属性に関する少なくとも1つのトークンをトークン識別子に基づき決定し、
    前記プロセッサが、前記少なくとも1つのトークンを共通構造フォーマットに構文解析し、
    前記データの、前記監査クラスデータフィルタ及び前記ブラックリストに登録された値との比較に基づき、前記共通構造フォーマットのデータを前記1以上のプロセッサが出力する、方法。
  2. 前記共通構造フォーマットは、JSON、csv、又はxmlのうち少なくとも1つである、請求項1に記載のコンピュータによって実行される方法。
  3. 前記1以上のプロセッサが、前記第1のオペレーティングシステムを実行する第1のコンピューティングデバイスのための設定ファイル変更を受け取ることと、
    前記1以上のプロセッサが、前記設定ファイル変更に基づき、前記セキュリティイベント監視アプリケーションによる応答アクションを行うことと、を更に含む、請求項1に記載のコンピュータによって実行される方法。
  4. セキュリティイベントの監視のための非一時的なコンピュータ可読媒体であって、前記非一時的なコンピュータ可読媒体は命令を格納し、前記命令は、1以上のプロセッサによって実行されると、
    前記1以上のプロセッサが、第1のオペレーティングシステムからデータを受け取り、
    前記1以上のプロセッサが、セキュリティイベント監視アプリケーションによる収集のための監査クラスデータフィルタを定義し、
    前記1以上のプロセッサが、前記データと、前記監査クラスデータフィルタとを比較し、
    前記1以上のプロセッサが、前記データと、一連のブラックリストに登録された値とを比較し、
    前記処理データの、前記監査クラスデータフィルタ及び前記ブラックリストに登録された値との比較に基づき、共通構造フォーマットのデータを前記1以上のプロセッサが出力する
    処理を行うように前記1以上のプロセッサを構成する命令である、非一時的なコンピュータ可読媒体。
  5. 前記データの、前記監査クラスデータフィルタとの比較に基づき、前記データが監査クラスデータと一致しないと判断された場合には前記1以上のプロセッサが前記データを削除することを更に含む、請求項4に記載の非一時的なコンピュータ可読媒体。
  6. 前記データの、前記一連のブラックリストに登録された値との比較に基づき、前記一連のブラックリストに登録された値の中の1以上のブラックリストに登録されたストリングと前記データとが一致すると判断された場合には前記1以上のプロセッサが前記データを削除することを更に含む、請求項4に記載の非一時的なコンピュータ可読媒体。
  7. 監査クラスのデータの一部であり、第1のコンピューティングデバイスによって行われるアクションに関する監査イベントデータを前記1以上のプロセッサが捕捉することを更に含む、請求項4に記載の非一時的なコンピュータ可読媒体。
  8. 前記1以上のプロセッサが、監査イベントの属性に関する少なくとも1つのトークンをトークン識別子に基づき決定することを更に含む、請求項7に記載の非一時的なコンピュータ可読媒体。
  9. 前記1以上のプロセッサが、前記少なくとも1つのトークンを前記共通構造フォーマットに構文解析することを更に含む、請求項8に記載の非一時的なコンピュータ可読媒体。
  10. 前記共通構造フォーマットは、JSON、csv、又はxmlのうち少なくとも1つである、請求項9に記載の非一時的なコンピュータ可読媒体。
  11. 前記1以上のプロセッサが、収集された監査クラスデータの量を定義する詳細度レベルとして、前記監査クラスフィルタの前記詳細度レベルを受け取ることを更に含む、請求項4に記載の非一時的なコンピュータ可読媒体。
  12. 前記1以上のプロセッサが、前記監査クラスフィルタの前記詳細度レベルに基づき前記データをフィルタリングすることを更に含む、請求項11に記載の非一時的なコンピュータ可読媒体。
  13. 前記1以上のプロセッサが、前記第1のオペレーティングシステムを実行する第1のコンピューティングデバイスのための設定ファイル変更を受け取ることと、
    前記1以上のプロセッサが、前記設定ファイル変更に基づき、前記セキュリティイベント監視アプリケーションによる応答アクションを行うことと、を更に含む、請求項11に記載の非一時的なコンピュータ可読媒体。
  14. コンピュータによって実行される、セキュリティイベントの監視のための方法であって、
    前記1以上のプロセッサが、第1のオペレーティングシステムからデータを受け取り、
    前記1以上のプロセッサが、(1)前記データと、監査クラスデータフィルタとを比較すること、及び/又は(2)前記データと、一連のブラックリストに登録された値とを比較すること、のうち少なくとも1つを行い、
    前記処理データと、前記監査クラスデータフィルタ及び/又は前記ブラックリストに登録された値との比較に基づき、共通構造フォーマットのデータを前記1以上のプロセッサが出力する、方法。
  15. 前記データの、前記監査クラスデータフィルタとの比較に基づき、前記データが前記監査クラスデータと一致しないと判断された場合には前記1以上のプロセッサが前記データを削除することを更に含む、請求項14に記載のコンピュータによって実行される方法。
  16. 前記データの、前記一連のブラックリストに登録された値との比較に基づき、前記一連のブラックリストに登録された値の中の1以上のブラックリストに登録された値と前記データとが一致すると判断された場合には前記1以上のプロセッサが前記データを削除することを更に含む、請求項14に記載のコンピュータによって実行される方法。
  17. 監査クラスのデータの一部であり、第1のコンピューティングデバイスによって行われるアクションに関する監査イベントデータを前記1以上のプロセッサが捕捉することを更に含む、請求項14に記載のコンピュータによって実行される方法。
  18. 前記1以上のプロセッサが、監査イベントの属性に関する少なくとも1つのトークンをトークン識別子に基づき決定することを更に含む、請求項17に記載のコンピュータによって実行される方法。
  19. 前記1以上のプロセッサが、前記少なくとも1つのトークンを前記共通構造フォーマットに構文解析することを更に含み、前記共通構造フォーマットは、JSON、csv、又はxmlのうち少なくとも1つである、請求項18に記載のコンピュータによって実行される方法。
  20. 前記1以上のプロセッサが、収集された監査クラスデータの量を定義する詳細度レベルとして、前記監査クラスデータフィルタの前記詳細度レベルを受け取ることと、
    前記1以上のプロセッサが、前記監査クラスデータフィルタの前記詳細度レベルに基づき前記データのフィルタリングを行うことと、を更に含む、請求項14に記載のコンピュータによって実行される方法。
JP2021523894A 2018-11-05 2019-11-04 セキュリティ監視処理のためのシステム及び方法 Pending JP2022506495A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862755875P 2018-11-05 2018-11-05
US62/755,875 2018-11-05
PCT/US2019/059667 WO2020096962A1 (en) 2018-11-05 2019-11-04 Systems and methods for security monitoring processing

Publications (2)

Publication Number Publication Date
JP2022506495A true JP2022506495A (ja) 2022-01-17
JPWO2020096962A5 JPWO2020096962A5 (ja) 2022-11-04

Family

ID=70458757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021523894A Pending JP2022506495A (ja) 2018-11-05 2019-11-04 セキュリティ監視処理のためのシステム及び方法

Country Status (5)

Country Link
US (1) US10715541B2 (ja)
EP (1) EP3877880A4 (ja)
JP (1) JP2022506495A (ja)
AU (1) AU2019377416A1 (ja)
WO (1) WO2020096962A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2569302B (en) * 2017-12-12 2022-05-25 F Secure Corp Probing and responding to computer network security breaches
US11190488B1 (en) * 2019-03-07 2021-11-30 NortonLifeLock Inc. Adaptive security filtering on a client device
US11695787B2 (en) * 2020-07-01 2023-07-04 Hawk Network Defense, Inc. Apparatus and methods for determining event information and intrusion detection at a host device
US11546355B2 (en) * 2020-07-28 2023-01-03 Bank Of America Corporation Supplemental attack surface scanner
CN115622970A (zh) * 2021-07-12 2023-01-17 深信服科技股份有限公司 电子邮件审计方法、装置、设备及存储介质
CN114338352A (zh) * 2021-12-31 2022-04-12 南通机敏软件科技有限公司 一种审计日志配置和解析方法、存储介质及处理器

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347374B1 (en) 1998-06-05 2002-02-12 Intrusion.Com, Inc. Event detection
JP3674351B2 (ja) 1999-01-08 2005-07-20 富士通株式会社 マスタサーバ
US7111075B2 (en) 2000-12-18 2006-09-19 Microsoft Corporation Method and system for processing data records having multiple formats
US7640245B1 (en) * 2004-06-08 2009-12-29 Microsoft Corporation System and method for auditing a network server configuration
US7461044B2 (en) * 2005-04-27 2008-12-02 International Business Machines Corporation It resource event situation classification and semantics
CA2957315C (en) * 2005-11-12 2021-10-12 Logrhythm, Inc. Log collection, structuring and processing
WO2007117298A2 (en) 2005-12-30 2007-10-18 Public Display, Inc. Event data translation system
US8095979B2 (en) * 2007-01-26 2012-01-10 Microsoft Corporation Analysis of event information to perform contextual audit
US20090085897A1 (en) 2007-09-28 2009-04-02 Olympus Medical Systems Corp. Image display apparatus
US8490171B2 (en) 2008-07-14 2013-07-16 Tufin Software Technologies Ltd. Method of configuring a security gateway and system thereof
US8312515B2 (en) 2008-10-30 2012-11-13 Hewlett-Packard Development Company, L.P. Method of role creation
US11145393B2 (en) 2008-12-16 2021-10-12 International Business Machines Corporation Controlling equipment in a patient care facility based on never-event cohorts from patient care data
US8060470B2 (en) 2008-12-23 2011-11-15 Apple Inc. Heterogeneous database management system
CN102081597A (zh) 2009-12-01 2011-06-01 鸿富锦精密工业(深圳)有限公司 失效分析报告生成系统及方法
US20150161277A1 (en) * 2011-03-14 2015-06-11 Browsium, Inc. Methods and systems for one browser version to use a rendering engine of another browser version for displaying information
AU2012236739A1 (en) 2011-03-28 2013-10-03 Mcafee, Inc. System and method for virtual machine monitor based anti-malware security
CN102750283A (zh) 2011-04-20 2012-10-24 阿里巴巴集团控股有限公司 海量数据同步系统及方法
US8589348B2 (en) 2011-07-26 2013-11-19 Salesforce.Com, Inc. System, method and computer program product for converting a format of report results
US8533022B2 (en) 2011-09-13 2013-09-10 Nandakumar Krishnan Nair Enterprise wide value chain management system (EVCM) for tracking, analyzing and improving organizational value chain performance and disruptions utilizing corrective actions
CA2853553C (en) 2011-10-28 2018-06-19 Blackberry Limited Systems and methods of using input events on electronic devices
US9367813B2 (en) 2011-10-28 2016-06-14 Xerox Corporation Methods and systems for identifying frequently occurring intradomain episodes and interdomain episodes in multiple service portals using average user session length
US9218068B2 (en) 2011-11-03 2015-12-22 Intel Corporation Sharing data inputs between multiple peripheral devices and host by converting inputs into operating system independent or specific format(s) based on input device
US9191266B2 (en) 2012-03-23 2015-11-17 Petrolink International System and method for storing and retrieving channel data
US9330198B1 (en) * 2012-11-16 2016-05-03 Amazon Technologies, Inc. Mapping stored client data to requested data using metadata
CN103823743B (zh) 2012-11-19 2017-03-01 北京百度网讯科技有限公司 软件系统的监控方法和设备
US20140181085A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Data storage system for analysis of data across heterogeneous information management systems
US11393035B2 (en) 2013-10-22 2022-07-19 Fiduciary Benchmarks Insights, Llc System and method for evaluating a service provider of a retirement Plan
WO2015065388A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Event log analysis
US9369478B2 (en) 2014-02-06 2016-06-14 Nicira, Inc. OWL-based intelligent security audit
US20150254740A1 (en) 2014-03-06 2015-09-10 International Business Machines Corporation Non-Intrusive Cloud Services Billing
US9876985B2 (en) * 2014-09-03 2018-01-23 Harman International Industies, Incorporated Providing a log of events to an isolated user
US20180027006A1 (en) * 2015-02-24 2018-01-25 Cloudlock, Inc. System and method for securing an enterprise computing environment
US10592521B2 (en) * 2015-04-03 2020-03-17 Oracle International Corporation Method and system for implementing target model configuration metadata for a log analytics system
US9654485B1 (en) * 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US10140447B2 (en) * 2015-12-11 2018-11-27 Sap Se Attack pattern framework for monitoring enterprise information systems
US10353880B2 (en) 2016-03-14 2019-07-16 Wipro Limited System and method for governing performances of multiple hardware devices
US10474642B2 (en) 2016-08-31 2019-11-12 Nec Corporation Multibyte heterogeneous log preprocessing
US10474381B2 (en) 2017-03-29 2019-11-12 The Travelers Indemnity Company Multi-server system resource manager
US10853494B2 (en) * 2018-07-23 2020-12-01 Vmware, Inc. Binding a trusted virtual machine to a trusted host computer

Also Published As

Publication number Publication date
US20200145439A1 (en) 2020-05-07
EP3877880A1 (en) 2021-09-15
US10715541B2 (en) 2020-07-14
EP3877880A4 (en) 2022-08-10
AU2019377416A1 (en) 2021-05-20
WO2020096962A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
US10447730B2 (en) Detection of SQL injection attacks
JP2022506495A (ja) セキュリティ監視処理のためのシステム及び方法
CN108780485B (zh) 基于模式匹配的数据集提取
KR102264288B1 (ko) 클라우드 기반 운영 체제 이벤트 및 데이터 액세스 감시를 위한 시스템 및 방법
US11714906B2 (en) Reducing threat detection processing by applying similarity measures to entropy measures of files
CN107409126B (zh) 用于保护企业计算环境安全的系统和方法
US20220294816A1 (en) Ingesting event data into a data warehouse
CN111191246A (zh) 一种基于Spring注解的安全开发校验方法
US20230060207A1 (en) Systems and methods using network artificial intelligence to manage control plane security in real-time
US11025656B2 (en) Automatic categorization of IDPS signatures from multiple different IDPS systems
US20230376587A1 (en) Online command injection attacks identification
Mostafa et al. Netdroid: Summarizing network behavior of android apps for network code maintenance
Noorani On the Detection of Malware on Virtual Assistants Based on Behavioral Anomalies
Bernardo Targeted Attack Detection by Means of Free and Open Source Solutions
RU2514139C1 (ru) Система и способ создания правил фильтрации незначительных событий для анализа протоколов событий
CN114208114B (zh) 每参与者的多视角安全上下文
Cardarelli Automated Deployment of a Security Operations Center
US20240143760A1 (en) Stacked Malware Detector For Mobile Platforms
Fediushyn et al. Honeypot Data Storage and Analysis Software to Prevent Intrusions
Ii TECHNICAL EVALUATION AND LEGAL OPINION OF WARDEN: A NETWORK FORENSICS TOOL
Turner et al. Discovering Cyber Indicators of Compromise on Windows OS 10 Clients Using PowerShell and the. Net Framework
Zheng Design and Implementation of MobiSaS: Mobile Security Analysis System
Ngwawe Near Real Time Machine Driven Signature Detection, Generation and Collection
Ang A multilevel secure constrained intrusion detection system prototype

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221026

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240311