[要約] RFC 4765は、侵入検知メッセージ交換形式(IDMEF)に関する規格であり、侵入検知システム間でのメッセージの標準化を目的としています。
Network Working Group H. Debar Request for Comments: 4765 France Telecom Category: Experimental D. Curry Guardian B. Feinstein SecureWorks, Inc. March 2007
The Intrusion Detection Message Exchange Format (IDMEF)
侵入検知メッセージ交換形式(IDMEF)
Status of This Memo
本文書の位置付け
This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.
このメモは、インターネットコミュニティの実験プロトコルを定義します。いかなる種類のインターネット標準を指定しません。改善のための議論と提案が要求されます。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The IETF Trust (2007).
著作権(c)The IETF Trust(2007)。
IESG Note
IESGノート
The content of this RFC was at one time considered by the IETF, but the working group concluded before this work was approved as a standards-track protocol. This RFC is not a candidate for any level of Internet Standard. The IETF disclaims any knowledge of the fitness of this RFC for any purpose and in particular notes that the decision to publish is not based on complete IETF review for such things as security, congestion control, or inappropriate interaction with deployed protocols. The IESG has chosen to publish this document in order to document the work as it was when the working group concluded and to encourage experimentation and development of the technology. Readers of this RFC should exercise caution in evaluating its value for implementation and deployment.
このRFCの内容は一度にIETFで検討されていましたが、ワーキンググループは、この作業が標準トラックプロトコルとして承認される前に結論付けました。このRFCは、インターネット標準のレベルの候補者ではありません。IETFは、あらゆる目的のためにこのRFCのフィットネスに関する知識を放棄します。特に、公開する決定は、セキュリティ、混雑制御、または展開プロトコルとの不適切な相互作用などの完全なIETFレビューに基づいていないことに注意しています。IESGは、ワーキンググループが終了したときのように作業を文書化し、テクノロジーの実験と開発を奨励するために、このドキュメントを公開することを選択しました。このRFCの読者は、実装と展開の価値を評価する際に注意する必要があります。
Abstract
概要
The purpose of the Intrusion Detection Message Exchange Format (IDMEF) is to define data formats and exchange procedures for sharing information of interest to intrusion detection and response systems and to the management systems that may need to interact with them.
侵入検出メッセージ交換形式(IDMEF)の目的は、侵入検知と応答システム、およびそれらと対話する必要がある可能性のある管理システムに関心のある情報を共有するためのデータ形式と交換手順を定義することです。
This document describes a data model to represent information exported by intrusion detection systems and explains the rationale for using this model. An implementation of the data model in the Extensible Markup Language (XML) is presented, an XML Document Type Definition is developed, and examples are provided.
このドキュメントでは、侵入検知システムによってエクスポートされる情報を表すデータモデルについて説明し、このモデルを使用する理由を説明します。拡張可能なマークアップ言語(XML)でのデータモデルの実装が提示され、XMLドキュメントタイプの定義が開発され、例が提供されます。
Table of Contents
目次
1. Introduction ....................................................4 1.1. About the IDMEF Data Model .................................4 1.1.1. Problems Addressed by the Data Model ................5 1.1.2. Data Model Design Goals .............................6 1.2. About the IDMEF XML Implementation .........................7 1.2.1. The Extensible Markup Language ......................7 1.2.2. Rationale for Implementing IDMEF in XML .............8 2. Notices and Conventions Used in This Document ..................10 3. Notational Conventions and Formatting Issues ...................10 3.1. IDMEF XML Documents .......................................10 3.1.1. The Document Prolog ................................10 3.1.2. Character Data Processing in IDMEF .................11 3.1.3. Languages in IDMEF .................................12 3.2. IDMEF Data Types ..........................................12 3.2.1. Integers ...........................................12 3.2.2. Real Numbers .......................................12 3.2.3. Characters and Strings .............................13 3.2.4. Bytes ..............................................14 3.2.5. Enumerated Types ...................................14 3.2.6. Date-Time Strings ..................................14 3.2.7. NTP Timestamps .....................................16 3.2.8. Port Lists .........................................16 3.2.9. Unique Identifiers .................................17 4. The IDMEF Data Model and DTD ...................................18 4.1. Data Model Overview .......................................18 4.2. The Message Classes .......................................20 4.2.1. The IDMEF-Message Class ............................20 4.2.2. The Alert Class ....................................20 4.2.3. The Heartbeat Class ................................27 4.2.4. The Core Classes ...................................29 4.2.5. The Time Classes ...................................41 4.2.6. The Assessment Classes .............................42 4.2.7. The Support Classes ................................47 5. Extending the IDMEF ............................................79 5.1. Extending the Data Model ..................................79 5.2. Extending the IDMEF DTD ...................................80 6. Special Considerations .........................................81 6.1. XML Validity and Well-Formedness ..........................81 6.2. Unrecognized XML Tags .....................................82 6.3. Analyzer-Manager Time Synchronization .....................82 6.4. NTP Timestamp Wrap-Around .................................84 6.5. Digital Signatures ........................................85 7. Examples .......................................................85 7.1. Denial-of-Service Attacks .................................86 7.1.1. The "teardrop" Attack ..............................86 7.1.2. The "ping of death" Attack .........................87
7.2. Port Scanning Attacks .....................................88 7.2.1. Connection to a Disallowed Service .................88 7.2.2. Simple Port Scanning ...............................89 7.3. Local Attacks .............................................90 7.3.1. The "loadmodule" Attack ............................90 7.3.2. The "phf" Attack ...................................93 7.3.3. File Modification ..................................94 7.4. System Policy Violation ...................................96 7.5. Correlated Alerts .........................................98 7.6. Analyzer Assessments ......................................99 7.7. Heartbeat ................................................100 7.8. XML Extension ............................................101 8. The IDMEF Document Type Definition (Normative) ................104 9. Security Considerations .......................................117 10. IANA Considerations ..........................................118 10.1. Adding Values to Existing Attributes ....................118 10.1.1. Attribute Registrations ..........................119 10.1.2. Registration Template ............................130 10.2. Adding New Attributes and Classes .......................131 11. References ...................................................131 11.1. Normative References ....................................131 11.2. Informative References ..................................132 Appendix A. Acknowledgements ....................................134 Appendix B. The IDMEF Schema Definition (Non-normative) .........135
The Intrusion Detection Message Exchange Format (IDMEF) [2] is intended to be a standard data format that automated intrusion detection systems can use to report alerts about events that they deem suspicious. The development of this standard format will enable interoperability among commercial, open source, and research systems, allowing users to mix-and-match the deployment of these systems according to their strong and weak points to obtain an optimal implementation.
侵入検出メッセージ交換形式(IDMEF)[2]は、自動化された侵入検知システムが疑わしいと思われるイベントに関するアラートを報告するために使用できる標準データ形式であることを目的としています。この標準形式の開発により、商業、オープンソース、および研究システム間の相互運用性が可能になり、ユーザーが強力なポイントと弱点に従ってこれらのシステムの展開を混合して、最適な実装を取得できます。
The most obvious place to implement the IDMEF is in the data channel between an intrusion detection analyzer (or "sensor") and the manager (or "console") to which it sends alarms. But there are other places where the IDMEF can be useful:
IDMEFを実装する最も明白な場所は、侵入検知アナライザー(または「センサー」)とアラームを送信するマネージャー(または「コンソール」)の間のデータチャネルにあります。しかし、IDMEFが役立つ他の場所があります。
o a single database system that could store the results from a variety of intrusion detection products would make it possible for data analysis and reporting activities to be performed on "the whole picture" instead of just a part of it;
o さまざまな侵入検知製品の結果を保存できる単一のデータベースシステムにより、データ分析とレポートアクティビティがその一部ではなく「全体像」で実行されることが可能になります。
o an event correlation system that could accept alerts from a variety of intrusion detection products would be capable of performing more sophisticated cross-correlation and cross-confirmation calculations than one that is limited to a single product;
o さまざまな侵入検知製品からのアラートを受け入れることができるイベント相関システムは、単一の製品に限定されたものよりも、より洗練された相互相関および相互確認計算を実行できます。
o a graphical user interface that could display alerts from a variety of intrusion detection products would enable the user to monitor all of the products from a single screen, and require him or her to learn only one interface, instead of several; and
o さまざまな侵入検知製品からアラートを表示できるグラフィカルユーザーインターフェイスにより、ユーザーは1つの画面からすべての製品を監視でき、複数ではなく1つのインターフェイスのみを学習する必要があります。と
o a common data exchange format would make it easier for different organizations (users, vendors, response teams, law enforcement) to not only exchange data, but also communicate about it.
o 一般的なデータ交換形式により、さまざまな組織(ユーザー、ベンダー、対応チーム、法執行機関)がデータを交換するだけでなく、それについても通信することが容易になります。
The diversity of uses for the IDMEF needs to be considered when selecting its method of implementation.
IDMEFの使用の多様性は、実装方法を選択する際に考慮する必要があります。
The IDMEF data model is an object-oriented representation of the alert data sent to intrusion detection managers by intrusion detection analyzers.
IDMEFデータモデルは、侵入検知アナライザーによって侵入検知マネージャーに送信されるアラートデータのオブジェクト指向の表現です。
The data model addresses several problems associated with representing intrusion detection alert data:
データモデルは、侵入検出アラートデータを表すことに関連するいくつかの問題に対処します。
o Alert information is inherently heterogeneous. Some alerts are defined with very little information, such as origin, destination, name, and time of the event. Other alerts provide much more information, such as ports or services, processes, user information, and so on. The data model that represents this information must be flexible to accommodate different needs.
o
An object-oriented model is naturally extensible via aggregation and subclassing. If an implementation of the data model extends it with new classes, either by aggregation or subclassing, an implementation that does not understand these extensions will still be able to understand the subset of information that is defined by the data model. Subclassing and aggregation provide extensibility while preserving the consistency of the model.
オブジェクト指向モデルは、集約とサブクラス化により自然に拡張可能です。データモデルの実装が、集約またはサブクラス化のいずれかで新しいクラスで拡張された場合、これらの拡張機能を理解していない実装は、データモデルによって定義される情報のサブセットをまだ理解することができます。サブクラスと集約は、モデルの一貫性を維持しながら、拡張性を提供します。
o Intrusion detection environments are different. Some analyzers detect attacks by analyzing network traffic; others use operating system logs or application audit trail information. Alerts for the same attack, sent by analyzers with different information sources, will not contain the same information.
o 侵入検知環境は異なります。一部のアナライザーは、ネットワークトラフィックを分析して攻撃を検出します。他の人は、オペレーティングシステムログまたはアプリケーション監査トレイル情報を使用します。異なる情報ソースを持つアナライザーによって送信される同じ攻撃のアラートは、同じ情報を含めません。
The data model defines support classes that accommodate the differences in data sources among analyzers. In particular, the notions of source and target for the alert are represented by the combination of Node, Process, Service, and User classes.
データモデルは、アナライザー間のデータソースの違いに対応するサポートクラスを定義します。特に、アラートのソースとターゲットの概念は、ノード、プロセス、サービス、およびユーザークラスの組み合わせによって表されます。
o Analyzer capabilities are different. Depending on the environment, one may install a lightweight analyzer that provides little information in its alerts, or a more complex analyzer that will have a greater impact on the running system but provide more detailed alert information. The data model must allow for conversion to formats used by tools other than intrusion detection analyzers, for the purpose of further processing the alert information.
o アナライザー機能は異なります。環境に応じて、アラートにほとんど情報を提供しない軽量アナライザー、またはランニングシステムに大きな影響を与えるが、より詳細なアラート情報を提供するより複雑なアナライザーをインストールできます。データモデルは、アラート情報をさらに処理する目的で、侵入検出アナライザー以外のツールで使用されるフォーマットへの変換を許可する必要があります。
The data model defines extensions to the basic Document Type Definition (DTD) that allow carrying both simple and complex alerts. Extensions are accomplished through subclassing or association of new classes.
データモデルは、単純なアラートと複雑なアラートの両方を運ぶことができる基本的なドキュメントタイプ定義(DTD)への拡張機能を定義します。拡張機能は、新しいクラスのサブクラスまたは関連付けによって達成されます。
o Operating environments are different. Depending on the kind of network or operating system used, attacks will be observed and reported with different characteristics. The data model should accommodate these differences.
o 動作環境は異なります。使用するネットワークまたはオペレーティングシステムの種類に応じて、攻撃が異なる特性で観察および報告されます。データモデルはこれらの違いに対応する必要があります。
Significant flexibility in reporting is provided by the Node and Service support classes. If additional information must be reported, subclasses may be defined that extend the data model with additional attributes.
レポートにおける大幅な柔軟性は、ノードおよびサービスサポートクラスによって提供されます。追加情報を報告する必要がある場合、追加の属性を使用してデータモデルを拡張するサブクラスを定義することができます。
o Commercial vendor objectives are different. For various reasons, vendors may wish to deliver more or less information about certain types of attacks.
o 商業ベンダーの目標は異なります。さまざまな理由で、ベンダーは、特定の種類の攻撃に関する多かれ少なかれ情報を提供したい場合があります。
The object-oriented approach allows this flexibility while the subclassing rules preserve the integrity of the model.
オブジェクト指向のアプローチにより、この柔軟性が可能になり、サブクラス化ルールがモデルの整合性を維持します。
The data model was designed to provide a standard representation of alerts in an unambiguous fashion, and to permit the relationship between simple and complex alerts to be described.
データモデルは、明確な方法でアラートの標準的な表現を提供し、単純なアラートと複雑なアラートの関係を説明できるように設計されています。
The goal of the data model is to provide a standard representation of the information that an intrusion detection analyzer reports when it detects an occurrence of some unusual event(s). These alerts may be simple or complex, depending on the capabilities of the analyzer that creates them.
データモデルの目標は、侵入検知アナライザーがいくつかの異常なイベントの発生を検出したときに報告する情報の標準的な表現を提供することです。これらのアラートは、それらを作成するアナライザーの機能に応じて、単純または複雑な場合があります。
The design of the data model is content-driven. This means that new objects are introduced to accommodate additional content, not semantic differences between alerts. This is an important goal, as the task of classifying and naming computer vulnerabilities is both extremely difficult and very subjective.
データモデルの設計はコンテンツ駆動型です。これは、アラート間のセマンティックな違いではなく、追加のコンテンツに対応するために新しいオブジェクトが導入されることを意味します。これは重要な目標です。コンピューターの脆弱性を分類および名前を付与するタスクは非常に困難で非常に主観的であるためです。
The data model must be unambiguous. This means that while we allow analyzers to be more or less precise than one another (i.e., one analyzer may report more information about an event than another), we do not allow them to produce contradictory information in two alerts describing the same event (i.e., the common subset of information reported by both analyzers must be identical and inserted in the same placeholders within the alert data structure). Of course, it is always possible to insert all "interesting" information about an event in extension fields of the alert instead of in the fields where it belongs; however, such practice reduces interoperability and should be avoided whenever possible.
データモデルは明確でなければなりません。つまり、アナライザーが互いに多かれ少なかれ正確にすることを許可しますが(つまり、あるアナライザーがイベントについて別のイベントよりも多くの情報を報告する場合があります)、同じイベントを説明する2つのアラートで矛盾した情報を作成することはできません(つまり、。、両方のアナライザーによって報告された情報の一般的なサブセットは、同一であり、アラートデータ構造内の同じプレースホルダーに挿入する必要があります)。もちろん、それが属するフィールドではなく、アラートの拡張フィールドでイベントに関するすべての「興味深い」情報を挿入することが常に可能です。ただし、このような実践により相互運用性が低下し、可能な限り避ける必要があります。
Intrusion detection alerts can be transmitted at several levels. This document applies to the entire range, from very simple alerts (e.g., those alerts that are the result of a single action or operation in the system, such as a failed login report) to very complex ones (e.g., the aggregation of several events causing an alert to be generated).
侵入検出アラートは、いくつかのレベルで送信できます。このドキュメントは、非常に単純なアラート(例えば、ログインの失敗など、システム内の単一のアクションまたは操作の結果であるアラート)から非常に複雑なもの(たとえば、いくつかのイベントの集約など、全範囲に適用されます。アラートが生成されます)。
As such, the data model must provide a way for complex alerts that aggregate several simple alerts to identify those simple alerts in the complex alert's content.
そのため、データモデルは、複数の単純なアラートを集約して、複雑なアラートのコンテンツにそれらの単純なアラートを識別する複雑なアラートの方法を提供する必要があります。
Two implementations of the IDMEF were originally proposed to the Intrusion Detection Working Group (IDWG): one using the Structure of Management Information (SMI) to describe a Simple Network Management Protocol (SNMP) MIB, and the other using a DTD to describe XML documents.
IDMEFの2つの実装は、もともと侵入検知ワーキンググループ(IDWG)に提案されました。1つは管理情報(SMI)の構造を使用して、単純なネットワーク管理プロトコル(SNMP)MIBを記述し、もう1つはXMLドキュメントを説明するDTDを使用しています。
These proposed implementations were reviewed by the IDWG at its September 1999 and February 2000 meetings; it was decided at the February meeting that the XML solution was best at fulfilling the IDWG requirements.
これらの提案された実装は、1999年9月と2000年2月の会議でIDWGによってレビューされました。2月の会議で、XMLソリューションがIDWG要件を満たすのに最適であることが決定されました。
The Extensible Markup Language (XML) [3] is a simplified version of the Standard Generalized Markup Language (SGML), a syntax for specifying text markup defined by the ISO 8879 standard. XML is gaining widespread attention as a language for representing and exchanging documents and data on the Internet, and as the solution to most of the problems inherent in HyperText Markup Language (HTML). XML was published as a recommendation by the World Wide Web Consortium (W3C) on February 10, 1998.
拡張可能なマークアップ言語(XML)[3]は、ISO 8879標準で定義されたテキストマークアップを指定するための構文である標準一般化マークアップ言語(SGML)の単純化されたバージョンです。XMLは、インターネット上のドキュメントとデータを表現および交換するための言語として、またハイパーテキストマークアップ言語(HTML)に固有の問題のほとんどの解決策として、広範囲にわたる注目を集めています。XMLは、1998年2月10日にWorld Wide Webコンソーシアム(W3C)からの勧告として公開されました。
XML is a metalanguage -- a language for describing other languages -- that enables an application to define its own markup. XML allows the definition of customized markup languages for different types of documents and different applications. This differs from HTML, in which there is a fixed set of identifiers with preset meanings that must be "adapted" for specialized uses. Both XML and HTML use elements (tags) (identifiers delimited by '<' and '>') and attributes (of the form "name='value'"). But where "<p>" always means "paragraph" in HTML, it may mean "paragraph", "person", "price", or "platypus" in XML, or it might have no meaning at all, depending on the particular application.
XMLは、他の言語を記述するための言語であるメタンナンゲージです。これにより、アプリケーションは独自のマークアップを定義できます。XMLは、さまざまな種類のドキュメントやさまざまなアプリケーションのカスタマイズされたマークアップ言語の定義を許可します。これはHTMLとは異なります。HTMLでは、特殊な用途に「適応」しなければならないプリセットの意味を持つ識別子の固定セットがあります。XMLとHTMLの両方は、要素(タグ)( '<'および '>'によって区切られた識別子)と(フォーム "name = 'value'")の属性を使用します。しかし、「<p>」は常にHTMLの「段落」を意味する場合、XMLの「段落」、「人」、「価格」、または「プラティナ」を意味する場合もあれば、特定に応じて、まったく意味がない場合もあります。応用。
NOTE: XML provides both a syntax for declaring document markup and structure (i.e., defining elements and attributes, specifying the order in which they appear, and so on) and a syntax for using that markup in documents. Because markup declarations look radically different from markup, many people are confused as to which syntax is called XML. The answer is that they both are, because they are actually both part of the same language.
For clarity in this document, we will use the terms "XML" and "XML documents" when speaking in the general case, and the term "IDMEF markup" when speaking specifically of the elements (tags) and attributes that describe IDMEF messages.
このドキュメントで明確にするために、一般的なケースで話すときに「XML」と「XMLドキュメント」という用語、特に要素(タグ)とIDMEFメッセージを記述する属性について「IDMEFマークアップ」という用語を使用します。
The publication of XML was followed by the publication of a second recommendation [4] by the World Wide Web Consortium, defining the use of namespaces in XML documents. An XML namespace is a collection of names, identified by a Uniform Resource Identifier (URI) [5]. When using namespaces, each tag is identified with the namespace it comes from, allowing tags from different namespaces with the same names to occur in the same document. For example, a single document could contain both "usa:football" and "europe:football" tags, each with different meanings.
XMLの公開に続いて、World Wide Webコンソーシアムによる2番目の推奨[4]の公開が行われ、XMLドキュメントでの名前空間の使用が定義されました。XML Namespaceは、均一なリソース識別子(URI)[5]によって識別される名前のコレクションです。名前空間を使用する場合、各タグは由来の名前空間で識別され、同じ名前の異なる名前空間からのタグが同じドキュメントで発生するようにします。たとえば、単一のドキュメントには、それぞれが異なる意味を持つ「米国:サッカー」と「ヨーロッパ:フットボール」タグの両方を含めることができます。
In anticipation of the widespread use of XML namespaces, this memo includes the definition of the URI to be used to identify the IDMEF namespace.
XMLネームスペースの広範な使用を見越して、このメモには、IDMEFネームスペースを識別するために使用されるURIの定義が含まれています。
XML-based applications are being used or developed for a wide variety of purposes, including electronic data interchange in a variety of fields, financial data interchange, electronic business cards, calendar and scheduling, enterprise software distribution, web "push" technology, and markup languages for chemistry, mathematics, music, molecular dynamics, astronomy, book and periodical publishing, web publishing, weather observations, real estate transactions, and many others.
XMLベースのアプリケーションは、さまざまな分野での電子データインターチェンジ、財務データインターチェンジ、電子名刺、カレンダーとスケジューリング、エンタープライズソフトウェア配信、Web「プッシュ」テクノロジー、マークアップなど、さまざまな目的で使用または開発されています。化学、数学、音楽、分子動力学、天文学、書籍と定期刊行物の出版、ウェブパブリッシング、気象観測、不動産取引などの言語。
XML's flexibility makes it a good choice for these applications; that same flexibility makes it a good choice for implementing the IDMEF as well. Other, more specific reasons for choosing XML to implement the IDMEF are: o XML allows a custom language to be developed specifically for the purpose of describing intrusion detection alerts. It also defines a standard way to extend this language, either for later revisions of this document ("standard" extensions) or for vendor-specific use ("non-standard" extensions).
XMLの柔軟性により、これらのアプリケーションに適した選択肢があります。同じ柔軟性により、IDMEFを実装するのにも適しています。XMLを選択するためにIDMEFを実装する他のより具体的な理由は次のとおりです。OXMLは、侵入検知アラートを記述するために特別にカスタム言語を開発できるようにします。また、この文書の後の改訂(「標準」拡張機能)またはベンダー固有の使用(「非標準」拡張機能)のいずれかのために、この言語を拡張する標準的な方法を定義します。
o Software tools for processing XML documents are widely available, in both commercial and open source forms. Numerous tools and APIs for parsing and/or validating XML are available in a variety of languages, including Java, C, C++, Tcl, Perl, Python, and GNU Emacs Lisp. Widespread access to tools will make adoption of the IDMEF by product developers easier, and hopefully, faster.
o XMLドキュメントを処理するためのソフトウェアツールは、商用フォームとオープンソースの両方のフォームで広く利用可能です。解析および/またはXMLの検証用の多数のツールとAPIは、Java、C、C、TCL、Perl、Python、GNU Emacs Lispなど、さまざまな言語で利用できます。ツールへの広範なアクセスにより、製品開発者によるIDMEFの採用が容易になり、できればより速くなります。
o XML meets IDMEF Requirement 5.1 [2], that message formats support full internationalization and localization. The XML standard requires support for both the UTF-8 and UTF-16 encodings of ISO/ IEC 10646 (Universal Multiple-Octet Coded Character Set, "UCS") and Unicode, making all XML applications (and therefore all IDMEF-compliant applications) compatible with these common character encodings.
o XMLは、IDMEF要件5.1 [2]を満たしています。メッセージフォーマットは、完全な国際化とローカリゼーションをサポートしています。XML標準では、ISO/ IEC 10646(ユニバーサルマルチオクテットコーディング文字セット、「UCS」)とUnicodeのUTF-8およびUTF-16エンコーディングの両方をサポートし、すべてのXMLアプリケーション(したがってすべてのIDMEFに準拠したアプリケーション)を作成します。これらの一般的な文字エンコーディングと互換性があります。
XML also provides support for specifying, on a per-element basis, the language in which the element's content is written, making IDMEF easy to adapt to "Natural Language Support" versions of a product.
XMLはまた、要素のコンテンツが書かれている言語を要素ごとに指定するためのサポートを提供し、IDMEFを製品の「自然言語サポート」バージョンに簡単に適応できます。
o XML meets IDMEF Requirement 5.2 [2], that message formats must support filtering and aggregation. XML's integration with XSL, a style language, allows messages to be combined, discarded, and rearranged.
o XMLは、IDMEF要件5.2 [2]を満たしています。メッセージフォーマットは、フィルタリングと集約をサポートする必要があります。スタイル言語であるXSLとのXMLの統合により、メッセージを組み合わせ、破棄、再配置できます。
o Ongoing XML development projects, in the W3C and elsewhere, will provide object-oriented extensions, database support, and other useful features. If implemented in XML, the IDMEF immediately gains these features as well.
o W3Cなどで進行中のXML開発プロジェクトは、オブジェクト指向の拡張機能、データベースサポート、およびその他の便利な機能を提供します。XMLに実装されている場合、IDMEFはすぐにこれらの機能も取得します。
o XML is free, with no license, no license fees, and no royalties.
o XMLは無料で、ライセンスもライセンス料も、ロイヤルティもありません。
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [1].
キーワードは「必要」、「必要」、「必須」、「shall」、「shall "、" sulld "、" nove "、" becommended "、" "、" optional "は、RFC 2119 [1]に記載されているように解釈されます。
An "IDMEF-compliant application" is a program or program component, such as an analyzer or manager, that reads and/or writes messages in the format specified by this memo.
「IDMEFに準拠したアプリケーション」は、このメモで指定された形式でメッセージを読み取りおよび/または書き込むアナライザーやマネージャーなどのプログラムまたはプログラムコンポーネントです。
An "IDMEF document" is a message that adheres to the requirements specified by this memo and that is exchanged by two or more IDMEF applications. "IDMEF message" is another term for an "IDMEF document".
「IDMEFドキュメント」は、このメモで指定された要件を順守し、2つ以上のIDMEFアプリケーションによって交換されるメッセージです。「IDMEFメッセージ」は、「IDMEFドキュメント」の別の用語です。
This document uses three notations: Unified Modeling Language to describe the data model [14], XML to describe the markup used in IDMEF documents, and IDMEF markup to represent the documents themselves.
このドキュメントでは、3つの表記法を使用しています。統一されたモデリング言語は、データモデル[14]、XMLを記述し、IDMEFドキュメントで使用されているマークアップを記述し、IDMEFマークアップでドキュメント自体を表します。
This section describes IDMEF XML document formatting rules. Most of these rules are "inherited" from the rules for formatting XML documents.
このセクションでは、IDMEF XMLドキュメントのフォーマットルールについて説明します。これらのルールのほとんどは、XMLドキュメントをフォーマットするためのルールから「継承」されています。
The format of an IDMEF XML document prolog is described in the following sections.
IDMEF XMLドキュメントプロログの形式については、次のセクションで説明します。
IDMEF documents being exchanged between IDMEF-compliant applications MUST begin with an XML declaration, and MUST specify the XML version in use. Specification of the encoding in use is RECOMMENDED.
IDMEFに準拠したアプリケーション間で交換されるIDMEFドキュメントは、XML宣言から開始する必要があり、使用中のXMLバージョンを指定する必要があります。使用中のエンコーディングの仕様をお勧めします。
An IDMEF message SHOULD therefore start with:
したがって、idmefメッセージは以下で始める必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"/>
IDMEF-compliant applications MAY choose to omit the XML declaration internally to conserve space, adding it only when the message is sent to another destination (e.g., a web browser). This practice is NOT RECOMMENDED unless it can be accomplished without loss of each message's version and encoding information.
IDMEFに準拠したアプリケーションは、XML宣言を内部的に省略してスペースを節約することを選択できます。これは、メッセージが別の宛先に送信された場合にのみ追加することができます(例:Webブラウザー)。このプラクティスは、各メッセージのバージョンやエンコード情報を失うことなく達成できない限り、推奨されません。
In order to be valid (see Section 6.1), an XML document must contain a document type definition. However, this represents significant overhead to an IDMEF-compliant application, both in the bandwidth it consumes as well as the requirements it places on the XML processor (not only to parse the declaration itself, but also to parse the DTD it references).
有効にするために(セクション6.1を参照)、XMLドキュメントにはドキュメントタイプ定義を含める必要があります。ただし、これは、消費する帯域幅の両方とXMLプロセッサに課せられる要件の両方で、IDMEFに準拠したアプリケーションの大幅なオーバーヘッドを表します(宣言自体を解析するだけでなく、IT参照を解析するためにも)。
Implementors MAY decide, therefore, to have analyzers and managers agree out-of-band on the particular document type definition they will be using to exchange messages (the standard one as defined here, or one with extensions), and then omit the document type definition from IDMEF messages. The method for negotiating this agreement is outside the scope of this document. Note that great care must be taken in negotiating any such agreements, as the manager may have to accept messages from many different analyzers, each using a DTD with a different set of extensions.
したがって、実装者は、アナライザーとマネージャーに、メッセージを交換するために使用する特定のドキュメントタイプ定義(ここで定義されている標準、または拡張機能のあるもの)に帯域外に同意することを決定し、ドキュメントタイプを省略することを決定する場合があります。IDMEFメッセージからの定義。この契約を交渉する方法は、この文書の範囲外です。マネージャーは、それぞれが異なる拡張機能セットを持つDTDを使用して、多くの異なる分析装置からのメッセージを受け入れる必要がある可能性があるため、そのような契約の交渉には細心の注意が必要であることに注意してください。
For portability reasons, IDMEF-compliant applications SHOULD NOT use, and IDMEF messages SHOULD NOT be encoded in, character encodings other than UTF-8 and UTF-16. Consistent with the XML standard, if no encoding is specified for an IDMEF message, UTF-8 is assumed.
移植性の理由から、IDMEFに準拠したアプリケーションは使用しないでください。IDMEFメッセージは、UTF-8およびUTF-16以外の文字エンコーディングでエンコードしないでください。XML標準と一致して、IDMEFメッセージにエンコードが指定されていない場合、UTF-8が想定されます。
NOTE: The ASCII character set is a subset of the UTF-8 encoding, and therefore may be used to encode IDMEF messages.
注:ASCII文字セットは、UTF-8エンコードのサブセットであるため、IDMEFメッセージをエンコードするために使用できます。
Per the XML standard, IDMEF documents encoded in UTF-16 MUST begin with the Byte Order Mark described by ISO/IEC 10646 Annex E and Unicode Appendix B (the "ZERO WIDTH NO-BREAK SPACE" character, #xFEFF).
XML標準ごとに、UTF-16でエンコードされたIDMEFドキュメントは、ISO/IEC 10646 Annex EおよびUnicode付録B(「ゼロ幅ノーブレイクスペース」文字#XFEFF)で記述されたバイトオーダーマークから開始する必要があります。
It is RECOMMENDED that IDMEF-compliant applications use the entity reference form (see Section 3.2.3.1) of the characters '&', ,'<', '>', '"', and ''' (single-quote) whenever writing these characters in data, to avoid any possibility of misinterpretation.
IDMEFに準拠したアプリケーションは、キャラクター '&'、 '<'、 '>'、 '"'、および '' '(single-quote)のキャラクター'& 'のエンティティ参照フォーム(セクション3.2.3.1を参照)を使用することをお勧めします。誤解の可能性を避けるために、これらの文字をデータに記述します。
All IDMEF elements MUST support the "xml:space" attribute.
すべてのIDMEF要素は、「XML:Space」属性をサポートする必要があります。
IDMEF-compliant applications MUST specify the language in which their contents are encoded; in general this can be done by specifying the "xml:lang" attribute for the top-level element and letting all other elements "inherit" that definition [10].
IDMEFに準拠したアプリケーションは、その内容がエンコードされる言語を指定する必要があります。一般に、これは、トップレベルの要素の「XML:Lang」属性を指定し、他のすべての要素をその定義[10]を「継承」することで実行できます。
Within an XML IDMEF message, all data will be expressed as "text" (as opposed to "binary"), since XML is a text formatting language. We provide typing information for the attributes of the classes in the data model, however, to convey to the reader the type of data that the model expects for each attribute.
XML IDMEFメッセージ内では、XMLはテキストフォーマット言語であるため、すべてのデータは「バイナリ」とは対照的に「テキスト」として表されます。ただし、データモデルのクラスの属性のタイピング情報を提供して、モデルが各属性に期待するデータのタイプを読者に伝えます。
Each data type in the model has specific formatting requirements in an XML IDMEF message; these requirements are set forth in this section.
モデル内の各データ型には、XML IDMEFメッセージに特定のフォーマット要件があります。これらの要件はこのセクションに記載されています。
Integer attributes are represented by the INTEGER data type. Integer data MUST be encoded in Base 10 or Base 16.
整数属性は、整数データ型で表されます。整数データは、ベース10またはベース16にエンコードする必要があります。
Base 10 integer encoding uses the digits '0' through '9' and an optional sign ('+' or '-'). For example, "123", "-456".
ベース10整数エンコーディングでは、桁 '0'〜 '9'を使用し、オプションのサイン( ''または ' - ')を使用します。たとえば、「123」、「-456」。
Base 16 integer encoding uses the digits '0' through '9' and 'a' through 'f' (or their uppercase equivalents), and is preceded by the characters "0x". For example, "0x1a2b".
ベース16の整数エンコーディングは、「9」から「9」と「a」を「f」(または大文字に相当する)を使用し、文字「0x」が先行します。たとえば、「0x1a2b」。
Real (floating-point) attributes are represented by the REAL data type. Real data MUST be encoded in Base 10.
リアル(フローティングポイント)属性は、実際のデータ型で表されます。実際のデータはベース10にエンコードする必要があります。
Real encoding is that of the POSIX 1003.1 "strtod" library function: an optional sign ('+' or '-') followed by a non-empty string of decimal digits, optionally containing a radix character, then an optional exponent part. An exponent part consists of an 'e' or 'E', followed by an optional sign, followed by one or more decimal digits. For example, "123.45e02", "-567,89e-03".
実際のエンコードは、POSIX 1003.1 "Strtod"ライブラリ関数のそれと、その後には薄い数字の数字の非空白の文字列が続くオプションの符号( ''または ' - ')のものです。指数パーツは、「e」または「e」で構成され、その後オプションのサインが続き、その後に1つ以上の小数桁が続きます。たとえば、「123.45E02」、「-567,89E-03」。
IDMEF-compliant applications MUST support both the '.' and ',' radix characters.
IDMEFに準拠したアプリケーションは、「。」の両方をサポートする必要があります。および '、' radix文字。
Single-character attributes are represented by the CHARACTER data type. Multi-character attributes of known length are represented by the STRING data type.
シングルキャラクター属性は、文字データ型で表されます。既知の長さのマルチキャラクター属性は、文字列データ型で表されます。
Character and string data have no special formatting requirements, other than the need to occasionally use character references (see Section 3.2.3.1 and Section 3.2.3.2) to represent special characters.
文字と文字列のデータには、特別な文字を表すために文字参照(セクション3.2.3.1およびセクション3.2.3.2を参照)を使用する必要があることを除いて、特別なフォーマット要件はありません。
Within XML documents, certain characters have special meanings in some contexts. To include the actual character itself in one of these contexts, a special escape sequence, called an entity reference, must be used.
XMLドキュメント内では、特定の文字がいくつかのコンテキストで特別な意味を持っています。これらのコンテキストのいずれかに実際のキャラクター自体を含めるには、エンティティリファレンスと呼ばれる特別なエスケープシーケンスを使用する必要があります。
The characters that sometimes need to be escaped, and their entity references, are:
時々逃げる必要があるキャラクターとそのエンティティリファレンスは次のとおりです。
+-----------+------------------+ | Character | Entity Reference | +-----------+------------------+ | & | & | | | | | < | < | | | | | > | > | | | | | " | " | | | | | ' | ' | +-----------+------------------+
Any character defined by the ISO/IEC 10646 and Unicode standards may be included in an XML document by the use of a character reference. A character reference is started with the characters '&' and '#', and ended with the character ';'. Between these characters, the character code for the character is inserted.
ISO/IEC 10646およびUnicode標準で定義されたキャラクターは、文字参照を使用してXMLドキュメントに含めることができます。文字参照は、キャラクターの& 'と「#」で開始され、キャラクター'; 'で終わります。これらの文字の間に、文字の文字コードが挿入されます。
If the character code is preceded by an 'x' it is interpreted in hexadecimal (base 16); otherwise, it is interpreted in decimal (base 10). For instance, the ampersand (&) is encoded as & or & and the less-than sign (<) is encoded as < or <.
文字コードの前に 'x'が先行する場合、16進数(ベース16)で解釈されます。それ以外の場合、10進数で解釈されます(ベース10)。たとえば、Ampersand(&)は&#38;としてエンコードされています。または&#x0026;そして、より少ない標識(<)は&#60;としてエンコードされています。または&#x003c;
Any one-, two-, or four-byte character specified in the ISO/IEC 10646 and Unicode standards can be included in a document using this technique.
ISO/IEC 10646およびUnicode標準で指定された1つ、2バイト、または4バイトの文字は、この手法を使用してドキュメントに含めることができます。
Binary data is represented by the BYTE (and BYTE[]) data type.
バイナリデータは、BYTE(およびBYTE [])データ型で表されます。
Binary data MUST be encoded in its entirety using base64.
Base64を使用して、バイナリデータ全体をエンコードする必要があります。
Enumerated types are represented by the ENUM data type, and consist of an ordered list of acceptable values.
列挙されたタイプは、列挙データ型で表され、許容値の順序付けられたリストで構成されています。
Date-time strings are represented by the DATETIME data type. Each date-time string identifies a particular instant in time; ranges are not supported.
日付の文字列は、DateTimeデータ型で表されます。各日付の文字列は、特定の瞬間を識別します。範囲はサポートされていません。
Date-time strings are formatted according to a subset of ISO 8601: 2000 [6], as show below. Section references in parentheses refer to sections of the ISO 8601:2000 standard [6].
日付の文字列は、以下に示すように、ISO 8601:2000 [6]のサブセットに従ってフォーマットされます。括弧内のセクション参照は、ISO 8601:2000標準[6]のセクションを参照しています。
1. Dates MUST be formatted as follows:
1. 日付は次のようにフォーマットする必要があります。
YYYY-MM-DD
yyyy-mm-dd
where YYYY is the four-digit year, MM is the two-digit month (01-12), and DD is the two-digit day (01-31). (Section 5.2.1.1, "Complete representation -- Extended format".)
Yyyyは4桁の年であり、MMは2桁の月(01-12)、DDは2桁の日(01-31)です。(セクション5.2.1.1、「完全な表現 - 拡張形式」。)
2. Times MUST be formatted as follows:
2. 時間は次のようにフォーマットする必要があります。
hh:mm:ss
HH:MM:SS
where hh is the two-digit hour (00-24), mm is the two-digit minute (00-59), and ss is the two-digit second (00-60). (Section 5.3.1.1, "Complete representation -- Extended format".)
HHは2桁の時間(00-24)、mmは2桁の分(00-59)、SSは2桁の秒(00-60)です。(セクション5.3.1.1、「完全な表現 - 拡張形式」。)
Note that midnight has two representations, 00:00:00 and 24:00:00. Both representations MUST be supported by IDMEF-compliant applications; however, the 00:00:00 representation SHOULD be used whenever possible.
真夜中には00:00:00と24:00:00の2つの表現があることに注意してください。両方の表現は、IDMEFに準拠したアプリケーションでサポートする必要があります。ただし、可能な限り00:00:00の表現を使用する必要があります。
Note also that this format accounts for leap seconds. Positive leap seconds are inserted between 23:59:59Z and 24:00:00Z and are represented as 23:59:60Z. Negative leap seconds are achieved by the omission of 23:59:59Z. IDMEF-compliant applications MUST support leap seconds.
また、このフォーマットは跳躍秒を考慮していることに注意してください。正の跳躍秒は23:59:59zから24:00:00zの間に挿入され、23:59:60zとして表されます。負の跳躍秒は、23:59:59zの省略によって達成されます。IDMEFに準拠したアプリケーションは、数秒をサポートする必要があります。
3. Times MAY be formatted to include a decimal fraction of seconds, as follows:
3. 次のように、時間をフォーマットして小数秒の秒数を含めることができます。
hh:mm:ss.ss or hh:mm:ss,ss
As many digits as necessary may follow the decimal sign (at least one digit must follow the decimal sign). Decimal fractions of hours and minutes are not supported. (Section 5.3.1.3, "Representation of decimal fractions".)
必要な数の数字では、小数符号に従うことがあります(少なくとも1桁は小数符号に従う必要があります)。時間と数分の小数の分数はサポートされていません。(セクション5.3.1.3、「10進数の表現」。)
IDMEF-compliant applications MUST support the use of both decimal signs ('.' and ',').
IDMEFに準拠したアプリケーションは、小数点以下の両方の符号( '。'および '、')の使用をサポートする必要があります。
Note that the number of digits in the fraction part does not imply anything about accuracy -- i.e., "00.100000", "00,1000", and "00.1" are all equivalent.
分数部分の数字数は、「00.100000」、「00,1000」、および「00.1」がすべて同等であるという精度(つまり、「00.100000」、「00,1000」に関するものではないことに注意してください。
4. Times MUST be formatted to include (a) an indication that the time is in Coordinated Universal Time (UTC) or (b) an indication of the difference between the specified time and Coordinated Universal Time.
4. 時間をフォーマットして、(a)時間が調整された普遍的時間(UTC)または(b)指定された時間と調整された普遍的時間の違いの兆候を含むことを含む必要があります。
* Times in UTC MUST be formatted by appending the letter 'Z' to the time string as follows:
* UTCの時間は、次のように時間文字列に文字「z」を追加してフォーマットする必要があります。
hh:mm:ssZ hh:mm:ss.ssZ hh:mm:ss,ssZ
(Section 5.3.3, "Coordinated Universal Time (UTC) -- Extended format".)
(セクション5.3.3、「調整されたユニバーサル時間(UTC) - 拡張形式」。)
* If the time is ahead of or equal to UTC, a '+' sign is appended to the time string; if the time is behind UTC, a '-' sign is appended. Following the sign, the number of hours and minutes representing the different from UTC is appended, as follows:
* 時間がUTCよりも先にある場合、 ''サインは時間文字列に追加されます。時間がUTCに遅れている場合、「 - 」サインが追加されます。サインに続いて、UTCとは異なるものを表す時間と分数が次のように追加されます。
hh:mm:ss+hh:mm hh:mm:ss-hh:mm hh:mm:ss.ss+hh:mm hh:mm:ss.ss-hh:mm hh:mm:ss,ss+hh:mm hh:mm:ss,ss-hh:mm
The difference from UTC MUST be specified in both hours and minutes, even if the minutes component is 0. A "difference" of "+00:00" is equivalent to UTC. (Section 5.3.4.2, "Local time and the difference with Coordinated Universal Time -- Extended Format".)
分割コンポーネントが0であっても、UTCとの差は、時間と時間の両方で指定する必要があります。「00:00」の「違い」はUTCに相当します。(セクション5.3.4.2、「現地時間と調整されたユニバーサル時間との違い - 拡張形式」。)
5. Date-time strings are created by joining the date and time strings with the letter 'T', as shown below:
5. 日付の文字列は、以下に示すように、文字「t」で日付と時刻の文字列を結合することによって作成されます。
YYYY-MM-DDThh:mm:ssZ YYYY-MM-DDThh:mm:ss.ssZ YYYY-MM-DDThh:mm:ss,ssZ YYYY-MM-DDThh:mm:ss+hh:mm YYYY-MM-DDThh:mm:ss-hh:mm YYYY-MM-DDThh:mm:ss.ss+hh:mm YYYY-MM-DDThh:mm:ss.ss-hh:mm YYYY-MM-DDThh:mm:ss,ss+hh:mm YYYY-MM-DDThh:mm:ss,ss-hh:mm
(Section 5.4.1, "Complete representation -- Extended format".)
In summary, IDMEF date-time strings MUST adhere to one of the nine templates identified in Paragraph 5, above.
要約すると、IDMEFの日付文字列は、上記のパラグラフ5で識別された9つのテンプレートのいずれかを接着する必要があります。
NTP timestamps are represented by the NTPSTAMP data type and are described in detail in [7] and [8]. An NTP timestamp is a 64-bit unsigned fixed-point number. The integer part is in the first 32 bits, and the fraction part is in the last 32 bits.
NTPタイムスタンプはNTPStampデータ型で表され、[7]および[8]で詳細に説明されています。NTPタイムスタンプは、64ビットの符号なしの固定点数です。整数部は最初の32ビットにあり、分数部分は最後の32ビットです。
Within IDMEF messages, NTP timestamps MUST be encoded as two 32-bit hexadecimal values, separated by a period ('.'). For example, "0x12345678.0x87654321".
IDMEFメッセージ内で、NTPタイムスタンプは、期間( ')で区切られた2つの32ビット16進値としてエンコードする必要があります。たとえば、「0x12345678.0x87654321」。
See also Section 6.4 for more information on NTP timestamps.
NTPタイムスタンプの詳細については、セクション6.4も参照してください。
Port lists are represented by the PORTLIST data type and consist of a comma-separated list of numbers (individual integers) and ranges (N-M means ports N through M, inclusive). Any combination of numbers and ranges may be used in a single list. For example, "5-25,37,42,43,53,69-119,123-514".
ポートリストはポートリストのデータ型で表され、数値のコンマ分離されたリスト(個々の整数)と範囲(N-MはポートNからM、包括的)で構成されています。数字と範囲の任意の組み合わせは、単一のリストで使用できます。たとえば、「5-25,37,42,43,69-119,123-514」。
There are two types of unique identifiers used in this specification. Both types are represented by STRING data types.
この仕様には、2種類の一意の識別子が使用されています。両方のタイプは、文字列データ型で表されます。
These identifiers are implemented as attributes on the relevant XML elements, and they must have unique values as follows:
これらの識別子は、関連するXML要素の属性として実装されており、次のように一意の値を持たなければなりません。
1. The Analyzer class' (Section 4.2.4.1) "analyzerid" attribute, if specified, MUST have a value that is unique across all analyzers in the intrusion detection environment.
1. アナライザークラス '(セクション4.2.4.1)「Analyzerid」属性は、指定されている場合、侵入検知環境のすべてのアナライザーにわたって一意の値を持たなければなりません。
The "analyzerid" attribute is not required to be globally unique, only unique within the intrusion detection environment of which the analyzer is a member. It is permissible for two analyzers, in different intrusion detection environments, to have the same value for "analyzerid".
「Analyzerid」属性はグローバルに一意である必要はなく、アナライザーがメンバーである侵入検知環境でのみ一意である必要はありません。異なる侵入検知環境にある2つのアナライザーが「Analyzerid」と同じ値を持つことは許可されています。
The default value is "0", which indicates that the analyzer cannot generate unique identifiers.
デフォルト値は「0」です。これは、アナライザーが一意の識別子を生成できないことを示しています。
2. The Alert and Heartbeat messages (Sections 4.2.2, 4.2.3) must be uniquely identified by the couple (analyzerid,messageid), if the analyzer supports the generation of message identifiers.
2. アラートとハートビートのメッセージ(セクション4.2.2、4.2.3)は、アナライザーがメッセージ識別子の生成をサポートする場合、カップル(Analyzerid、MessageID)によって一意に識別する必要があります。
3. The Classification, Source, Target, Node, User, Process, Service, File, Address, and UserId classes' (Sections 4.2.4.2, 4.2.4.3, 4.2.4.4, 4.2.7.2, 4.2.7.3, 4.2.7.4, 4.2.7.5, 4.2.7.6, 4.2.7.2.1, and 4.2.7.3.1) "ident" attribute, if specified, MUST have a value that is unique across all messages sent by the individual analyzer.
3. 分類、ソース、ターゲット、ノード、ユーザー、プロセス、サービス、ファイル、アドレス、およびユーザーIDクラス '(セクション4.2.4.2、4.2.4.3、4.2.4.4、4.2.7.2、4.2.7.3、4.2.7.4、4.2.7.5、4.2.7.6、4.2.7.2.1、および4.2.7.3.1)「識別」属性は、指定されている場合、個々のアナライザーから送信されたすべてのメッセージにわたって一意の値を持たなければなりません。
The "ident" attribute value MUST be unique for each particular combination of data identifying an object, not for each object. Objects may have more than one "ident" value associated with them. For example, an identification of a host by name would have one value, while an identification of that host by address would have another value, and an identification of that host by both name and address would have still another value. Furthermore, different analyzers may produce different values for the same information.
「識別」属性値は、オブジェクトごとではなく、オブジェクトを識別するデータの特定の組み合わせごとに一意でなければなりません。オブジェクトには、それらに関連付けられた複数の「識別」値がある場合があります。たとえば、名前によるホストの識別には1つの値がありますが、アドレスごとのホストの識別には別の値があり、名前とアドレスの両方でそのホストの識別にはさらに別の値があります。さらに、異なるアナライザーは、同じ情報に対して異なる値を生成する可能性があります。
The "ident" attribute by itself provides a unique identifier only among all the "ident" values sent by a particular analyzer. But when combined with the "analyzerid" value for the analyzer, a value that is unique across the intrusion detection environment is created. Again, there is no requirement for global uniqueness.
「識別」属性自体は、特定のアナライザーによって送信されたすべての「識別」値の間でのみ一意の識別子を提供します。しかし、アナライザーの「アナライザー」値と組み合わせると、侵入検知環境全体で一意の値が作成されます。繰り返しますが、グローバルな一意性の要件はありません。
The default value is "0", which indicates that the analyzer cannot generate unique identifiers.
デフォルト値は「0」です。これは、アナライザーが一意の識別子を生成できないことを示しています。
The specification of methods for creating the unique values contained in these attributes is outside the scope of this document.
これらの属性に含まれる一意の値を作成する方法の仕様は、このドキュメントの範囲外です。
In this section, the individual components of the IDMEF data model are explained in detail. Unified Modeling Language (UML) diagrams of the model are provided to show how the components are related to each other, and relevant sections of the IDMEF DTD are presented to show how the model is translated into XML.
このセクションでは、IDMEFデータモデルの個々のコンポーネントを詳細に説明します。モデルの統一モデリング言語(UML)図が提供されており、コンポーネントが互いにどのように関連しているかを示し、IDMEF DTDの関連セクションが表示され、モデルがXMLにどのように変換されるかを示します。
The relationship between the principal components of the data model is shown in Figure 1 (occurrence indicators and attributes are omitted).
データモデルの主成分間の関係を図1に示します(発生インジケータと属性は省略されています)。
The top-level class for all IDMEF messages is IDMEF-Message; each type of message is a subclass of this top-level class. There are presently two types of messages defined: Alerts and Heartbeats. Within each message, subclasses of the message class are used to provide the detailed information carried in the message.
すべてのIDMEFメッセージのトップレベルのクラスはIDMEFメッセージです。メッセージの各タイプは、このトップレベルのクラスのサブクラスです。現在、2種類のメッセージが定義されています。アラートとハートビートです。各メッセージ内で、メッセージクラスのサブクラスを使用して、メッセージに掲載された詳細情報を提供します。
It is important to note that the data model does not specify how an alert should be classified or identified. For example, a port scan may be identified by one analyzer as a single attack against multiple targets, while another analyzer might identify it as multiple attacks from a single source. However, once an analyzer has determined the type of alert it plans to send, the data model dictates how that alert should be formatted.
データモデルは、アラートを分類または識別する方法を指定していないことに注意することが重要です。たとえば、1つのアナライザーによって複数のターゲットに対する単一の攻撃としてポートスキャンが識別される場合がありますが、別のアナライザーは単一のソースからの複数の攻撃として識別する場合があります。ただし、アナライザーが送信する予定のアラートのタイプを決定すると、データモデルはそのアラートをどのようにフォーマットするかを決定します。
IDMEF-Message /_\ | +--------------------+-------------+ | | +-------+ +--------------+ +-----------+ +----------------+ | Alert |<>-| Analyzer | | Heartbeat |<>-| Analyzer | +-------+ +--------------+ +-----------+ +----------------+ | | +--------------+ | | +----------------+ | |<>-| CreateTime | | |<>-| CreateTime | | | +--------------+ | | +----------------+ | | +--------------+ | | +----------------+ | |<>-| DetectTime | | |<>-| AdditionalData | | | +--------------+ +-----------+ +----------------+ | | +--------------+ | |<>-| AnalyzerTime | | | +--------------+ | | +--------+ +----------+ | |<>-| Source |<>-| Node | | | +--------+ +----------+ | | | | +----------+ | | | |<>-| User | | | | | +----------+ | | | | +----------+ | | | |<>-| Process | | | | | +----------+ | | | | +----------+ | | | |<>-| Service | | | +--------+ +----------+ | | +--------+ +----------+ | |<>-| Target |<>-| Node | | | +--------+ +----------+ | | | | +----------+ | | | |<>-| User | | | | | +----------+ | | | | +----------+ | | | |<>-| Process | | | | | +----------+ | | | | +----------+ | | | |<>-| Service | +----------------+ | | | | +----------+ +----| Classification | | | | | +----------+ | +----------------+ | | | |<>-| File | | +----------------+ | | +--------+ +----------+ | +--| Assessment | | |<>----------------------------+ | +----------------+ | |<>------------------------------+ +----------------+ | |<>---------------------------------| AdditionalData | +-------+ +----------------+
Figure 1: Data Model Overview
図1:データモデルの概要
The individual classes are described in the following sections.
個々のクラスについては、次のセクションで説明します。
All IDMEF messages are instances of the IDMEF-Message class; it is the top-level class of the IDMEF data model, as well as the IDMEF DTD. There are currently two types (subclasses) of IDMEF-Message: Alert and Heartbeat.
すべてのIDMEFメッセージは、IDMEF-Messageクラスのインスタンスです。IDMEF DTDと同様に、IDMEFデータモデルのトップレベルクラスです。現在、idmef-messageには2つのタイプ(サブクラス)があります:アラートとハートビート。
The IDMEF-Message class has a single attribute:
idmef-messageクラスには単一の属性があります。
version
バージョン
The version of the IDMEF-Message specification (this document) this message conforms to. Applications specifying a value for this attribute MUST specify the value "1.0".
このメッセージが適合するIDMEF-MESSAGE仕様(このドキュメント)のバージョン。この属性の値を指定するアプリケーションでは、値「1.0」を指定する必要があります。
Generally, every time an analyzer detects an event that it has been configured to look for, it sends an Alert message to its manager(s). Depending on the analyzer, an Alert message may correspond to a single detected event or multiple detected events. Alerts occur asynchronously in response to outside events.
一般的に、アナライザーが探すように構成されているイベントを検出するたびに、マネージャーにアラートメッセージを送信します。アナライザーに応じて、アラートメッセージは、単一の検出されたイベントまたは複数の検出されたイベントに対応する場合があります。アラートは、外部のイベントに応じて非同期に発生します。
An Alert message is composed of several aggregate classes, as shown in Figure 2. The aggregate classes themselves are described in Section 4.2.4, Section 4.2.5, and Section 4.2.6.
アラートメッセージは、図2に示すように、いくつかの集計クラスで構成されています。集約クラス自体は、セクション4.2.4、セクション4.2.5、およびセクション4.2.6で説明されています。
+-------------------+ | Alert | +-------------------+ +------------------+ | STRING messageid |<>----------| Analyzer | | | +------------------+ | | +------------------+ | |<>----------| CreateTime | | | +------------------+ | | +------------------+ | |<>----------| Classification | | | +------------------+ | | 0..1 +------------------+ | |<>----------| DetectTime | | | +------------------+ | | 0..1 +------------------+ | |<>----------| AnalyzerTime | | | +------------------+ | | 0..* +------------------+ | |<>----------| Source | | | +------------------+ | | 0..* +------------------+ | |<>----------| Target | | | +------------------+ | | 0..1 +------------------+ | |<>----------| Assessment | | | +------------------+ | | 0..* +------------------+ | |<>----------| AdditionalData | | | +------------------+ +-------------------+ /_\ | +----+------------+-------------+ | | | +-------------------+ | +-------------------+ | ToolAlert | | | CorrelationAlert | +-------------------+ | +-------------------+ | +-------------------+ | OverflowAlert | +-------------------+
Figure 2: The Alert Class
図2:アラートクラス
The aggregate classes that make up Alert are:
アラートを構成する集約クラスは次のとおりです。
Analyzer
アナライザ
Exactly one. Identification information for the analyzer that originated the alert.
ちょうど1つ。アラートを発信したアナライザーの識別情報。
CreateTime
createTime
Exactly one. The time the alert was created. Of the three times that may be provided with an Alert, this is the only one that is required.
ちょうど1つ。アラートが作成された時。アラートを提供できる3回のうち、これが必要な唯一のものです。
Classification
分類
Exactly one. The "name" of the alert, or other information allowing the manager to determine what it is.
ちょうど1つ。アラートの「名前」、またはマネージャーがそれが何であるかを決定できる他の情報。
DetectTime
検出時間
Zero or one. The time the event(s) leading up to the alert was detected. In the case of more than one event, the time the first event was detected. In some circumstances, this may not be the same value as CreateTime.
ゼロまたは1。アラートに至るまでのイベントが検出されました。複数のイベントの場合、最初のイベントが検出されました。状況によっては、これはCreateTimeと同じ値ではない場合があります。
AnalyzerTime
Zero or one. The current time on the analyzer (see Section 6.3).
ゼロまたは1。アナライザーの現在の時刻(セクション6.3を参照)。
Source
ソース
Zero or more. The source(s) of the event(s) leading up to the alert.
ゼロ以上。アラートに至るまでのイベントのソース。
Target
目標
Zero or more. The target(s) of the event(s) leading up to the alert.
ゼロ以上。アラートに至るまでのイベントの目標。
Assessment
評価
Zero or one. Information about the impact of the event, actions taken by the analyzer in response to it, and the analyzer's confidence in its evaluation.
ゼロまたは1。イベントの影響、アナライザーがそれに応じて行ったアクション、およびその評価に対するアナライザーの信頼に関する情報。
AdditionalData
追加データ
Zero or more. Information included by the analyzer that does not fit into the data model. This may be an atomic piece of data, or a large amount of data provided through an extension to the IDMEF (see Section 5).
ゼロ以上。データモデルに適合しないアナライザーが含まれる情報。これは、Atomicのデータ、またはIDMEFへの拡張を介して提供される大量のデータである場合があります(セクション5を参照)。
Alert is represented in the IDMEF DTD as follows:
アラートは、次のようにIDMEF DTDで表されます。
<!ELEMENT Alert ( Analyzer, CreateTime, DetectTime?, AnalyzerTime?, Source*, Target*, Classification, Assessment?, (ToolAlert | OverflowAlert | CorrelationAlert)?, AdditionalData* )> <!ATTLIST Alert messageid CDATA '0' %attlist.global; >
<!要素アラート(Analyzer、CreateTime、DetectTime?、Analyzertime?、Source*、Target*、Classification、Assessment?、(Toolalert | anuverflowalert | Correlationalert)?、adthipdata*)> <!。グローバル;>
The Alert class has one attribute:
アラートクラスには1つの属性があります。
messageid
MessageId
Optional. A unique identifier for the alert; see Section 3.2.9.
オプション。アラートのための一意の識別子。セクション3.2.9を参照してください。
The ToolAlert class carries additional information related to the use of attack tools or malevolent programs such as Trojan horses and can be used by the analyzer when it is able to identify these tools. It is intended to group one or more previously-sent alerts together, to say "these alerts were all the result of someone using this tool".
ツールラートクラスは、攻撃ツールまたはトロイの木馬などの悪意のあるプログラムの使用に関連する追加情報を搭載しており、これらのツールを識別できるときにアナライザーが使用できます。「これらのアラートはすべて、このツールを使用している人の結果である」と言うために、1つ以上の前にセントアラートをグループ化することを目的としています。
The ToolAlert class is composed of three aggregate classes, as shown in Figure 3.
+------------------+ | Alert | +------------------+ /_\ | +------------------+ | ToolAlert | +------------------+ +-------------------+ | |<>----------| name | | | +-------------------+ | | 0..1 +-------------------+ | |<>----------| command | | | +-------------------+ | | 1..* +-------------------+ | |<>----------| alertident | | | +-------------------+ | | | STRING analyzerid | | | +-------------------+ +------------------+
Figure 3: The ToolAlert Class
図3:ツールラートクラス
The aggregate classes that make up ToolAlert are:
ツールアラートを構成する集約クラスは次のとおりです。
name
名前
Exactly one. STRING. The reason for grouping the alerts together, for example, the name of a particular tool.
ちょうど1つ。弦。アラートをグループ化する理由、たとえば特定のツールの名前。
command
指図
Zero or one. STRING. The command or operation that the tool was asked to perform, for example, a BackOrifice ping.
ゼロまたは1。弦。ツールが実行するように求められたコマンドまたは操作、たとえば後退pingなど。
alertident
警戒
One or more. STRING. The list of alert identifiers that are related to this alert. Because alert identifiers are only unique across the alerts sent by a single analyzer, the optional "analyzerid" attribute of "alertident" should be used to identify the analyzer that a particular alert came from. If the "analyzerid" is not provided, the alert is assumed to have come from the same analyzer that is sending the ToolAlert.
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT ToolAlert ( name, command?, alertident+ )> <!ATTLIST ToolAlert %attlist.global; >
The CorrelationAlert class carries additional information related to the correlation of alert information. It is intended to group one or more previously-sent alerts together, to say "these alerts are all related".
The CorrelationAlert class is composed of two aggregate classes, as shown in Figure 4.
Correlationalertクラスは、図4に示すように、2つの集計クラスで構成されています。
+------------------+ | Alert | +------------------+ /_\ | +------------------+ | CorrelationAlert | +------------------+ +-------------------+ | |<>----------| name | | | +-------------------+ | | 1..* +-------------------+ | |<>----------| alertident | | | +-------------------+ | | | STRING analyzerid | | | +-------------------+ +------------------+
Figure 4: The CorrelationAlert Class
図4:Correlationalertクラス
The aggregate classes that make up CorrelationAlert are:
Correlationalertを構成する集約クラスは次のとおりです。
name
Exactly one. STRING. The reason for grouping the alerts together, for example, a particular correlation method.
ちょうど1つ。弦。アラートをグループ化する理由、たとえば特定の相関方法。
alertident
警戒
One or more. STRING. The list of alert identifiers that are related to this alert. Because alert identifiers are only unique across the alerts sent by a single analyzer, the optional "analyzerid" attribute of "alertident" should be used to identify the analyzer that a particular alert came from. If the "analyzerid" is not provided, the alert is assumed to have come from the same analyzer that is sending the CorrelationAlert.
1つ以上。弦。このアラートに関連するアラート識別子のリスト。アラート識別子は単一のアナライザーから送信されるアラート全体でのみ一意であるため、「アラート型」のオプションの「アナライザー」属性を使用して、特定のアラートが生じたアナライザーを識別する必要があります。「Analyzerid」が提供されていない場合、アラートは、ComerlaTionalertを送信しているのと同じアナライザーから生じたと想定されています。
This is represented in the IDMEF DTD as follows.
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT CorrelationAlert ( name, alertident+ )> <!ATTLIST CorrelationAlert %attlist.global; >
The OverflowAlert carries additional information related to buffer overflow attacks. It is intended to enable an analyzer to provide the details of the overflow attack itself.
The OverflowAlert class is composed of three aggregate classes, as shown in Figure 5.
OverflowAlertクラスは、図5に示すように、3つの集計クラスで構成されています。
+------------------+ | Alert | +------------------+ /_\ | +------------------+ | OverflowAlert | +------------------+ +---------+ | |<>----------| program | | | +---------+ | | 0..1 +---------+ | |<>----------| size | | | +---------+ | | 0..1 +---------+ | |<>----------| buffer | | | +---------+ +------------------+
Figure 5: The OverflowAlert Class
図5:Overflowalertクラス
The aggregate classes that make up OverflowAlert are:
program
プログラム
Exactly one. STRING. The program that the overflow attack attempted to run (NOTE: this is not the program that was attacked).
ちょうど1つ。弦。オーバーフロー攻撃が実行しようとしたプログラム(注:これは攻撃されたプログラムではありません)。
size
サイズ
Zero or one. INTEGER. The size, in bytes, of the overflow (i.e., the number of bytes the attacker sent).
ゼロまたは1。整数。オーバーフローのサイズ、バイト単位(つまり、攻撃者が送信したバイト数)。
buffer
バッファ
Zero or one. BYTE[]. Some or all of the overflow data itself (dependent on how much the analyzer can capture).
ゼロまたは1。バイト[]。オーバーフローデータ自体の一部またはすべて(アナライザーがキャプチャできる金額に応じて)。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT OverflowAlert ( program, size?, buffer? )> <!ATTLIST OverflowAlert %attlist.global; >
<!要素OverflowAlert(プログラム、サイズ?、バッファー?)> <!ATTLIST OVERFLOWALERT%ATTLIST.GLOBAL;>
Analyzers use Heartbeat messages to indicate their current status to managers. Heartbeats are intended to be sent in a regular period, say, every ten minutes or every hour. The receipt of a Heartbeat message from an analyzer indicates to the manager that the analyzer is up and running; lack of a Heartbeat message (or more likely, lack of some number of consecutive Heartbeat messages) indicates that the analyzer or its network connection has failed.
アナライザーは、ハートビートメッセージを使用して、現在のステータスをマネージャーに示します。ハートビートは、たとえば10分または1時間ごとに、通常の期間に送信されることを目的としています。アナライザーからのハートビートメッセージの受信は、アナライザーが稼働していることをマネージャーに示します。ハートビートメッセージの欠如(または、多数の連続したハートビートメッセージの欠如)は、アナライザーまたはそのネットワーク接続が失敗したことを示しています。
All managers MUST support the receipt of Heartbeat messages; however, the use of these messages by analyzers is OPTIONAL. Developers of manager software SHOULD permit the software to be configured on a per-analyzer basis to use/not use Heartbeat messages.
すべてのマネージャーは、ハートビートメッセージの受信をサポートする必要があります。ただし、アナライザーによるこれらのメッセージの使用はオプションです。マネージャーソフトウェアの開発者は、ハートビートメッセージを使用/使用しないように、アナリーザーごとにソフトウェアを構成することを許可する必要があります。
A Heartbeat message is composed of several aggregate classes, as shown in Figure 6. The aggregate classes themselves are described in Sections 4.2.4 and 4.2.5.
ハートビートメッセージは、図6に示すように、いくつかの集計クラスで構成されています。集約クラス自体は、セクション4.2.4および4.2.5で説明されています。
+------------------+ | Heartbeat | +------------------+ +------------------+ | STRING messageid |<>----------| Analyzer | | | +------------------+ | | +------------------+ | |<>----------| CreateTime | | | +------------------+ | | 0..1 +------------------+ | |<>----------| HeartbeatInterval| | | +------------------+ | | 0..1 +------------------+ | |<>----------| AnalyzerTime | | | +------------------+ | | 0..* +------------------+ | |<>----------| AdditionalData | | | +------------------+ +------------------+
Figure 6: The Heartbeat Class
図6:ハートビートクラス
The aggregate classes that make up Heartbeat are:
Analyzer
Exactly one. Identification information for the analyzer that originated the heartbeat.
ちょうど1つ。ハートビートを発信したアナライザーの識別情報。
CreateTime
createTime
Exactly one. The time the heartbeat was created.
HeartbeatInterval
heartbeatinterval
Zero or one. The interval in seconds at which heartbeats are generated.
ゼロまたは1。ハートビートが生成される秒単位の間隔。
AnalyzerTime
Zero or one. The current time on the analyzer (see Section 6.3).
AdditionalData
Zero or more. Information included by the analyzer that does not fit into the data model. This may be an atomic piece of data or a large amount of data provided through an extension to the IDMEF (see Section 5).
This is represented in the IDMEF DTD as follows:
<!ELEMENT Heartbeat ( Analyzer, CreateTime, HeartbeatInterval?, AnalyzerTime?, AdditionalData* )> <!ATTLIST Heartbeat messageid CDATA '0' %attlist.global; >
<!Element HeartBeat(Analyzer、Createtime、HeartBeatInterval?、Analyzertime?、adstitionData*)> <!attlist heartbeat messageid cdata '0'%attlist.global;>
The Heartbeat class has one attribute:
ハートビートクラスには1つの属性があります。
messageid
MessageId
Optional. A unique identifier for the heartbeat; see Section 3.2.9.
オプション。ハートビートのユニークな識別子。セクション3.2.9を参照してください。
The core classes -- Analyzer, Source, Target, Classification, and AdditionalData -- are the main parts of Alerts and Heartbeats, as shown in Figure 7.
図7に示すように、アナライザー、ソース、ターゲット、分類、および追加のData - アラートとハートビートの主要部分です。
+-----------+ +----------------+ | Heartbeat | +-------| Analyzer | +-----------+ | +----------------+ | |<>---+--+ +-----------+ | | 0..* +----------------+ | +-------| AdditionalData | | +----------------+ +-----------+ | | Alert | | 0..* +----------------+ +-----------+ | +-------| Source | | |<>---+ | +----------------+ | | | 0..* +----------------+ | | +-------| Target | | | | +----------------+ | |<>------+ +-----------+ | +----------------+ +-------| Classification | +----------------+
Figure 7: The Core Classes
図7:コアクラス
The Analyzer class identifies the analyzer from which the Alert or Heartbeat message originates. Only one analyzer may be encoded for each alert or heartbeat, and that MUST be the analyzer at which the alert or heartbeat originated. Although the IDMEF data model does not prevent the use of hierarchical intrusion detection systems (where alerts get relayed up the tree), it does not provide any way to record the identity of the "relay" analyzers along the path from the originating analyzer to the manager that ultimately receives the alert.
アナライザークラスは、アラートまたはハートビートのメッセージが発生するアナライザーを識別します。アラートまたはハートビートごとに1つのアナライザーのみをエンコードできます。これは、アラートまたはハートビートが発生するアナライザーでなければなりません。IDMEFデータモデルは、階層侵入検出システム(アラートがツリーにリレーされる場合)の使用を妨げませんが、発信アナライザーからのパスに沿った「リレー」アナライザーのアイデンティティを記録する方法は提供されません。最終的にアラートを受け取るマネージャー。
The Analyzer class is composed of three aggregate classes, as shown in Figure 8.
アナライザークラスは、図8に示すように、3つの集計クラスで構成されています。
+---------------------+ | Analyzer | +---------------------+ 0..1 +----------+ | STRING analyzerid |<>----------| Node | | STRING name | +----------+ | STRING manufacturer | | STRING model | 0..1 +----------+ | STRING version |<>----------| Process | | STRING class | +----------+ | STRING ostype | 0..1 +----------+ | STRING osversion |<>----------| Analyzer | +---------------------+ +----------+
Figure 8: The Analyzer Class
図8:アナライザークラス
The aggregate classes that make up Analyzer are:
アナライザーを構成する集約クラスは次のとおりです。
Node
ノード
Zero or one. Information about the host or device on which the analyzer resides (network address, network name, etc.).
ゼロまたは1。アナライザーが存在するホストまたはデバイス(ネットワークアドレス、ネットワーク名など)に関する情報。
Process
プロセス
Zero or one. Information about the process in which the analyzer is executing.
ゼロまたは1。アナライザーが実行しているプロセスに関する情報。
Analyzer
アナライザ
Zero or one. Information about the analyzer from which the message may have gone through. The idea behind this mechanism is that when a manager receives an alert and wants to forward it to another analyzer, it needs to substitute the original analyzer information with its own. To preserve the original analyzer information, it may be included in the new analyzer definition. This will allow analyzer path tracking.
ゼロまたは1。メッセージが通過した可能性のあるアナライザーに関する情報。このメカニズムの背後にあるアイデアは、マネージャーがアラートを受け取り、それを別のアナライザーに転送したい場合、元のアナライザー情報を独自のものに置き換える必要があるということです。元のアナライザー情報を保存するために、新しいアナライザー定義に含まれる場合があります。これにより、アナライザーパストラッキングが可能になります。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Analyzer ( Node?, Process?, Analyzer? )> <!ATTLIST Analyzer analyzerid CDATA '0' name CDATA #IMPLIED manufacturer CDATA #IMPLIED model CDATA #IMPLIED version CDATA #IMPLIED class CDATA #IMPLIED ostype CDATA #IMPLIED osversion CDATA #IMPLIED %attlist.global; >
The Analyzer class has eight attributes:
アナライザークラスには8つの属性があります。
analyzerid
Optional (but see below). A unique identifier for the analyzer; see Section 3.2.9.
オプション(ただし、以下を参照)。アナライザーの一意の識別子。セクション3.2.9を参照してください。
This attribute is only "partially" optional. If the analyzer makes use of the "ident" attributes on other classes to provide unique identifiers for those objects, then it MUST also provide a valid "analyzerid" attribute. This requirement is dictated by the uniqueness requirements of the "ident" attribute (they are unique only within the context of a particular "analyzerid"). If the analyzer does not make use of the "ident" attributes, however, it may also omit the "analyzerid" attribute.
この属性は、「部分的に」オプションのみです。アナライザーが他のクラスで「識別」属性を使用してそれらのオブジェクトに一意の識別子を提供する場合、有効な「Analyzerid」属性も提供する必要があります。この要件は、「識別」属性の一意性要件によって決定されます(特定の「Analyzerid」のコンテキスト内でのみ一意です)。ただし、アナライザーが「識別」属性を使用していない場合、「Analyzerid」属性も省略する場合があります。
name
Optional. An explicit name for the analyzer that may be easier to understand than the analyzerid.
オプション。Analyzeridよりも理解しやすいかもしれないアナライザーの明示的な名前。
manufacturer
Optional. The manufacturer of the analyzer software and/or hardware.
オプション。アナライザーソフトウェアおよび/またはハードウェアのメーカー。
model
Optional. The model name/number of the analyzer software and/or hardware.
オプション。アナライザーソフトウェアおよび/またはハードウェアのモデル名/番号。
version
バージョン
Optional. The version number of the analyzer software and/or hardware.
オプション。アナライザーソフトウェアおよび/またはハードウェアのバージョン番号。
class
クラス
Optional. The class of analyzer software and/or hardware.
オプション。アナライザーソフトウェアおよび/またはハードウェアのクラス。
ostype
Ostype
Optional. Operating system name. On POSIX 1003.1 compliant systems, this is the value returned in utsname.sysname by the uname() system call, or the output of the "uname -s" command.
オプション。オペレーティングシステム名。POSIX 1003.1準拠システムでは、これはutsname.sysnameでuname()システムコールまたは「uname -s」コマンドの出力によって返される値です。
osversion
オッサーバージョン
Optional. Operating system version. On POSIX 1003.1 compliant systems, this is the value returned in utsname.release by the uname() system call, or the output of the "uname -r" command.
オプション。オペレーティングシステムバージョン。POSIX 1003.1準拠システムでは、これはUname()システムコールまたは「uname -r」コマンドの出力によってutsname.releaseで返された値です。
The "manufacturer", "model", "version", and "class" attributes' contents are vendor-specific, but may be used together to identify different types of analyzers (and perhaps make determinations about the contents to expect in other vendor-specific fields of IDMEF messages).
「メーカー」、「モデル」、「バージョン」、および「クラス」属性のコンテンツはベンダー固有ですが、さまざまなタイプのアナライザーを識別するために一緒に使用できます(おそらく、他のベンダーで予想される内容についての決定を行うことができます。IDMEFメッセージの特定のフィールド)。
The Classification class provides the "name" of an alert, or other information allowing the manager to determine what it is. This name is chosen by the alert provider.
分類クラスは、アラートまたはその他の情報の「名前」、またはマネージャーがそれが何であるかを決定できるようにします。この名前は、アラートプロバイダーによって選択されます。
The Classification class is composed of one aggregate class, as shown in Figure 9.
分類クラスは、図9に示すように、1つの集計クラスで構成されています。
+----------------+ | Classification | +----------------+ 0..* +-----------+ | STRING ident |<>----------| Reference | | STRING text | +-----------+ +----------------+
Figure 9: The Classification Class
図9:分類クラス
The aggregate class that makes up Classification is:
分類を構成する集約クラスは次のとおりです。
Reference
参照
Zero or more. Information about the message, pointing to external documentation sites, that will provide background information about the alert.
ゼロ以上。アラートに関する背景情報を提供する外部ドキュメンテーションサイトを指すメッセージに関する情報。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Classification ( Reference* )> <!ATTLIST Classification ident CDATA '0' text CDATA #REQUIRED >
The Classification class has two attributes:
分類クラスには2つの属性があります。
ident
Optional. A unique identifier for this classification; see Section 3.2.9.
オプション。この分類のための一意の識別子。セクション3.2.9を参照してください。
text
文章
Required. A vendor-provided string identifying the Alert message.
必要。アラートメッセージを識別するベンダーが提供する文字列。
The Source class contains information about the possible source(s) of the event(s) that generated an alert. An event may have more than one source (e.g., in a distributed denial-of-service attack).
ソースクラスには、アラートを生成したイベントの可能なソースに関する情報が含まれています。イベントには複数のソースがある場合があります(たとえば、分散型サービス拒否攻撃)。
The Source class is composed of four aggregate classes, as shown in Figure 10.
ソースクラスは、図10に示すように、4つの集計クラスで構成されています。
+------------------+ | Source | +------------------+ 0..1 +---------+ | STRING ident |<>----------| Node | | ENUM spoofed | +---------+ | STRING interface | 0..1 +---------+ | |<>----------| User | | | +---------+ | | 0..1 +---------+ | |<>----------| Process | | | +---------+ | | 0..1 +---------+ | |<>----------| Service | | | +---------+ +------------------+
Figure 10: The Source Class
The aggregate classes that make up Source are:
Node
ノード
Zero or one. Information about the host or device that appears to be causing the events (network address, network name, etc.).
ゼロまたは1。イベント(ネットワークアドレス、ネットワーク名など)を引き起こしていると思われるホストまたはデバイスに関する情報。
User
ユーザー
Zero or one. Information about the user that appears to be causing the event(s).
ゼロまたは1。イベントを引き起こしていると思われるユーザーに関する情報。
Process
プロセス
Zero or one. Information about the process that appears to be causing the event(s).
ゼロまたは1。イベントを引き起こしていると思われるプロセスに関する情報。
Service
サービス
Zero or one. Information about the network service involved in the event(s).
ゼロまたは1。イベントに関係するネットワークサービスに関する情報。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Source ( Node?, User?, Process?, Service? )> <!ATTLIST Source ident CDATA '0' spoofed %attvals.yesno; 'unknown' interface CDATA #IMPLIED %attlist.global; >
The Source class has three attributes:
ソースクラスには3つの属性があります。
ident
Optional. A unique identifier for this source; see Section 3.2.9.
オプション。このソースの一意の識別子。セクション3.2.9を参照してください。
spoofed
スプーフィング
Optional. An indication of whether the source is, as far as the analyzer can determine, a spoofed address used for hiding the real origin of the attack. The permitted values for this attribute are shown below. The default value is "unknown". (See also Section 10.)
オプション。ソースがアナライザーが決定できる限り、攻撃の実際の起源を隠すために使用されるスプーフィングされたアドレスであるかどうかを示しています。この属性の許可された値を以下に示します。デフォルト値は「不明」です。(セクション10も参照してください)
+------+---------+----------------------------------------+ | Rank | Keyword | Description | +------+---------+----------------------------------------+ | 0 | unknown | Accuracy of source information unknown | | | | | | 1 | yes | Source is believed to be a decoy | | | | | | 2 | no | Source is believed to be "real" | +------+---------+----------------------------------------+
interface
インターフェース
Optional. May be used by a network-based analyzer with multiple interfaces to indicate which interface this source was seen on.
オプション。複数のインターフェイスを備えたネットワークベースのアナライザーが使用して、このソースが見られたインターフェイスを示すことができます。
The Target class contains information about the possible target(s) of the event(s) that generated an alert. An event may have more than one target (e.g., in the case of a port sweep).
The Target class is composed of four aggregate classes, as shown in Figure 11.
ターゲットクラスは、図11に示すように、4つの集計クラスで構成されています。
+------------------+ | Target | +------------------+ 0..1 +----------+ | STRING ident |<>----------| Node | | ENUM decoy | +----------+ | STRING interface | 0..1 +----------+ | |<>----------| User | | | +----------+ | | 0..1 +----------+ | |<>----------| Process | | | +----------+ | | 0..1 +----------+ | |<>----------| Service | | | +----------+ | | 0..n +----------+ | |<>----------| File | | | +----------+ +------------------+
Figure 11: The Target Class
図11:ターゲットクラス
The aggregate classes that make up Target are:
ターゲットを構成する集約クラスは次のとおりです。
Node
ノード
Zero or one. Information about the host or device at which the event(s) (network address, network name, etc.) is being directed.
User
ユーザー
Zero or one. Information about the user at which the event(s) is being directed.
ゼロまたは1。イベントが指示されているユーザーに関する情報。
Process
プロセス
Zero or one. Information about the process at which the event(s) is being directed.
ゼロまたは1。イベントが指示されているプロセスに関する情報。
Service
サービス
Zero or one. Information about the network service involved in the event(s).
ゼロまたは1。イベントに関係するネットワークサービスに関する情報。
File
ファイル
Optional. Information about file(s) involved in the event(s).
オプション。イベントに関係するファイルに関する情報。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Target ( Node?, User?, Process?, Service?, File* )> <!ATTLIST Target ident CDATA '0' decoy %attvals.yesno; 'unknown' interface CDATA #IMPLIED %attlist.global; >
The Target class has three attributes:
ターゲットクラスには3つの属性があります。
ident
Optional. A unique identifier for this target, see Section 3.2.9.
decoy
Optional. An indication of whether the target is, as far as the analyzer can determine, a decoy. The permitted values for this attribute are shown below. The default value is "unknown". (See also Section 10.)
オプション。ターゲットがアナライザーが決定できる限り、デコイであるかどうかを示しています。この属性の許可された値を以下に示します。デフォルト値は「不明」です。(セクション10も参照してください)
+------+---------+----------------------------------------+ | Rank | Keyword | Description | +------+---------+----------------------------------------+ | 0 | unknown | Accuracy of target information unknown | | | | | | 1 | yes | Target is believed to be a decoy | | | | | | 2 | no | Target is believed to be "real" | +------+---------+----------------------------------------+
interface
インターフェース
Optional. May be used by a network-based analyzer with multiple interfaces to indicate which interface this target was seen on.
オプション。複数のインターフェイスを備えたネットワークベースのアナライザーが使用して、このターゲットが見られたインターフェイスを示すことができます。
The Assessment class is used to provide the analyzer's assessment of an event -- its impact, actions taken in response, and confidence.
評価クラスは、アナライザーのイベントの評価を提供するために使用されます - その影響、それに応じて行われたアクション、および自信。
The Assessment class is composed of three aggregate classes, as shown in Figure 12.
+------------------+ | Assessment | +------------------+ 0..1 +------------+ | |<>----------| Impact | | | +------------+ | | 0..* +------------+ | |<>----------| Action | | | +------------+ | | 0..1 +------------+ | |<>----------| Confidence | | | +------------+ +------------------+
Figure 12: The Assessment Class
図12:評価クラス
The aggregate classes that make up Assessment are:
評価を構成する集計クラスは次のとおりです。
Impact
影響
Zero or one. The analyzer's assessment of the impact of the event on the target(s).
ゼロまたは1。ターゲットに対するイベントの影響に関するアナライザーの評価。
Action
Zero or more. The action(s) taken by the analyzer in response to the event.
ゼロ以上。イベントに応じてアナライザーが採用したアクション。
Confidence
Zero or one. A measurement of the confidence the analyzer has in its evaluation of the event.
ゼロまたは1。アナライザーがイベントの評価において持っている信頼性の測定。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Assessment ( Impact?, Action*, Confidence? )> <!ATTLIST Assessment %attlist.global; >
The AdditionalData class is used to provide information that cannot be represented by the data model. AdditionalData can be used to provide atomic data (integers, strings, etc.) in cases where only small amounts of additional information need to be sent; it can also be used to extend the data model and the DTD to support the transmission of complex data (such as packet headers). Detailed instructions for extending the data model and the DTD are provided in Section 5.
+------+-------------+----------------------------------------------+ | Rank | Keyword | Description | +------+-------------+----------------------------------------------+ | 0 | boolean | The element contains a boolean value, i.e., | | | | the strings "true" or "false" | | | | | | 1 | byte | The element content is a single 8-bit byte | | | | (see Section 3.2.4) | | | | | | 2 | character | The element content is a single character | | | | (see Section 3.2.3) | | | | | | 3 | date-time | The element content is a date-time string | | | | (see Section 3.2.6) | | | | | | 4 | integer | The element content is an integer (see | | | | Section 3.2.1) | | | | | | 5 | ntpstamp | The element content is an NTP timestamp (see | | | | Section 3.2.7) | | | | | | 6 | portlist | The element content is a list of ports (see | | | | Section 3.2.8) | | | | | | 7 | real | The element content is a real number (see | | | | Section 3.2.2) | | | | | | 8 | string | The element content is a string (see | | | | Section 3.2.3) | | | | | | 9 | byte-string | The element is a byte[] (see Section 3.2.4) | | | | | | 10 | xmltext | The element content is XML-tagged data (see | | | | Section 5.2) | +------+-------------+----------------------------------------------+ The AdditionalData element is declared in the IDMEF DTD as follows:
<!ENTITY % attvals.adtype " ( boolean | byte | character | date-time | integer | ntpstamp | portlist | real | string | byte-string | xmltext ) ">
<!entity%attvals.adtype "(boolean | byte | character | date-time | integer | ntpstamp | portlist | real | string | byte-string | xmltext)">
<!ELEMENT AdditionalData ( (boolean | byte | character | date-time | integer | ntpstamp | portlist | real | string | byte-string | xmltext ) )>
<!ATTLIST AdditionalData type %attvals.adtype; 'string' meaning CDATA #IMPLIED %attlist.global; >
The AdditionalData class has one attribute:
追加のDataクラスには1つの属性があります。
meaning
意味
Optional. A string describing the meaning of the element content. These values will be vendor/implementation dependent; the method for ensuring that managers understand the strings sent by analyzers is outside the scope of this specification. A list of acceptable meaning keywords is not within the scope of the document, although later versions may undertake to establish such a list.
オプション。要素コンテンツの意味を説明する文字列。これらの値は、ベンダー/実装に依存します。マネージャーがアナライザーによって送信された文字列を理解できるようにする方法は、この仕様の範囲外です。許容可能な意味キーワードのリストは、ドキュメントの範囲内にありませんが、後のバージョンはそのようなリストを確立するために着手する可能性があります。
The data model provides three classes for representing time. These classes are elements of the Alert and Heartbeat classes.
The time classes are represented in the IDMEF DTD as follows:
時間クラスは、次のようにIDMEF DTDで表されます。
<!ELEMENT ntpstamp (#PCDATA) > <!ATTLIST ntpstamp %attlist.global; >
<!ELEMENT CreateTime (#PCDATA) > <!ATTLIST CreateTime ntpstamp CDATA #REQUIRED %attlist.global; >
<!ELEMENT DetectTime (#PCDATA) > <!ATTLIST DetectTime ntpstamp CDATA #REQUIRED %attlist.global; >
<!ELEMENT AnalyzerTime (#PCDATA) > <!ATTLIST AnalyzerTime ntpstamp CDATA #REQUIRED %attlist.global; >
The DATETIME format of the <CreateTime> element content is described in Section 3.2.6.
<createTime>要素コンテンツのデータタイム形式については、セクション3.2.6で説明しています。
If the date and time represented by the element content and the NTP timestamp differ (should "never" happen), the value in the NTP timestamp MUST be used.
要素コンテンツとNTPタイムスタンプで表される日付と時刻が異なる場合(「決して」、「決して」起こらないはずです)、NTPタイムスタンプの値を使用する必要があります。
The CreateTime class is used to indicate the date and time the alert or heartbeat was created by the analyzer.
CreateTimeクラスは、アラートまたはハートビートがアナライザーによって作成された日付と時刻を示すために使用されます。
The DetectTime class is used to indicate the date and time that the event(s) producing an alert was detected by the analyzer. In the case of more than one event, it is the time that the first event was detected. (This may or may not be the same time as CreateTime; analyzers are not required to send alerts immediately upon detection).
The AnalyzerTime class is used to indicate the current date and time on the analyzer. Its values should be filled in as late as possible in the message transmission process, ideally immediately before placing the message "on the wire".
The use of <AnalyzerTime> to perform rudimentary time synchronization between analyzers and managers is discussed in Section 6.3.
アナライザーとマネージャー間の基本的な時間同期を実行するための<分析型>の使用については、セクション6.3で説明します。
The data model provides three types of "assessments" that an analyzer can make about an event. These classes are aggregates of the Assessment class.
データモデルは、アナライザーがイベントについて作成できる3種類の「評価」を提供します。これらのクラスは、評価クラスの集合体です。
The Impact class is used to provide the analyzer's assessment of the impact of the event on the target(s). It is represented in the IDMEF DTD as follows:
インパクトクラスは、ターゲットに対するイベントの影響に関するアナライザーの評価を提供するために使用されます。IDMEF DTDで次のように表されています。
<!ENTITY % attvals.severity " ( info | low | medium | high ) "> <!ENTITY % attvals.completion " ( failed | succeeded ) "> <!ENTITY % attvals.impacttype " ( admin | dos | file | recon | user | other ) ">
<!entity%attvals.severity "(info | low | medium | high)"> <!entity%attvals.completion "(失敗|継続)"> <|ユーザー|その他) ">
<!ELEMENT Impact (#PCDATA) > <!ATTLIST Impact severity %attvals.severity; #IMPLIED completion %attvals.completion; #IMPLIED type %attvals.impacttype; 'other' %attlist.global; >
The Impact class has three attributes:
severity
重大度
An estimate of the relative severity of the event. The permitted values are shown below. There is no default value. (See also Section 10.)
イベントの相対的な重症度の推定。許可された値を以下に示します。デフォルト値はありません。(セクション10も参照してください)
+------+---------+-----------------------------------------+ | Rank | Keyword | Description | +------+---------+-----------------------------------------+ | 0 | info | Alert represents informational activity | | | | | | 1 | low | Low severity | | | | | | 2 | medium | Medium severity | | | | | | 3 | high | High severity | +------+---------+-----------------------------------------+
completion
完了
An indication of whether the analyzer believes the attempt that the event describes was successful or not. The permitted values are shown below. There is no default value. (See also Section 10.)
アナライザーがイベントが説明する試みが成功したかどうかを考えているかどうかを示しています。許可された値を以下に示します。デフォルト値はありません。(セクション10も参照してください)
+------+-----------+--------------------------------+ | Rank | Keyword | Description | +------+-----------+--------------------------------+ | 0 | failed | The attempt was not successful | | | | | | 1 | succeeded | The attempt succeeded | +------+-----------+--------------------------------+
type
タイプ
The type of attempt represented by this event, in relatively broad categories. The permitted values are shown below. The default value is "other". (See also Section 10.)
比較的広いカテゴリで、このイベントで表される試みのタイプ。許可された値を以下に示します。デフォルト値は「その他」です。(セクション10も参照してください)
+------+---------+--------------------------------------------------+ | Rank | Keyword | Description | +------+---------+--------------------------------------------------+ | 0 | admin | Administrative privileges were attempted or | | | | obtained | | | | | | 1 | dos | A denial of service was attempted or completed | | | | | | 2 | file | An action on a file was attempted or completed | | | | | | 3 | recon | A reconnaissance probe was attempted or | | | | completed | | | | | | 4 | user | User privileges were attempted or obtained | | | | | | 5 | other | Anything not in one of the above categories | +------+---------+--------------------------------------------------+
All three attributes are optional. The element itself may be empty, or may contain a textual description of the impact, if the analyzer is able to provide additional details.
3つの属性はすべてオプションです。アナライザーが追加の詳細を提供できる場合、要素自体が空になっている場合もあれば、インパクトのテキストの説明が含まれている場合があります。
The Action class is used to describe any actions taken by the analyzer in response to the event. Is is represented in the IDMEF DTD as follows:
<!ENTITY % attvals.actioncat " ( block-installed | notification-sent | taken-offline | other ) ">
<!entity%attvals.actioncat "(block-installed | notification-sent | take-offline | other)">
<!ELEMENT Action (#PCDATA) > <!ATTLIST Action category %attvals.actioncat; 'other' %attlist.global; >
Action has one attribute:
アクションには1つの属性があります。
category
カテゴリー
The type of action taken. The permitted values are shown below. The default value is "other". (See also Section 10.)
取られたアクションの種類。許可された値を以下に示します。デフォルト値は「その他」です。(セクション10も参照してください)
+------+-------------------+----------------------------------------+ | Rank | Keyword | Description | +------+-------------------+----------------------------------------+ | 0 | block-installed | A block of some sort was installed to | | | | prevent an attack from reaching its | | | | destination. The block could be a | | | | port block, address block, etc., or | | | | disabling a user account. | | | | | | 1 | notification-sent | A notification message of some sort | | | | was sent out-of-band (via pager, | | | | e-mail, etc.). Does not include the | | | | transmission of this alert. | | | | | | 2 | taken-offline | A system, computer, or user was taken | | | | offline, as when the computer is shut | | | | down or a user is logged off. | | | | | | 3 | other | Anything not in one of the above | | | | categories. | +------+-------------------+----------------------------------------+
The element itself may be empty, or may contain a textual description of the action, if the analyzer is able to provide additional details.
アナライザーが追加の詳細を提供できる場合、要素自体が空になっている場合もあれば、アクションのテキストの説明を含める場合もあります。
The Confidence class is used to represent the analyzer's best estimate of the validity of its analysis. It is represented in the IDMEF DTD as follows:
信頼クラスは、分析の妥当性に関するアナライザーの最良の推定値を表すために使用されます。IDMEF DTDで次のように表されています。
<!ENTITY % attvals.rating " ( low | medium | high | numeric ) ">
<!entity%attvals.rating "(low | medium | high | numeric)">
<!ELEMENT Confidence (#PCDATA) > <!ATTLIST Confidence rating %attvals.rating; 'numeric' %attlist.global; >
The Confidence class has one attribute:
自信クラスには1つの属性があります。
rating
The analyzer's rating of its analytical validity. The permitted values are shown below. The default value is "numeric". (See also Section 10.)
分析的妥当性のアナライザーの評価。許可された値を以下に示します。デフォルト値は「数値」です。(セクション10も参照してください)
+------+---------+--------------------------------------------------+ | Rank | Keyword | Description | +------+---------+--------------------------------------------------+ | 0 | low | The analyzer has little confidence in its | | | | validity | | | | | | 1 | medium | The analyzer has average confidence in its | | | | validity | | | | | | 2 | high | The analyzer has high confidence in its validity | | | | | | 3 | numeric | The analyzer has provided a posterior | | | | probability value indicating its confidence in | | | | its validity | +------+---------+--------------------------------------------------+
This element should be used only when the analyzer can produce meaningful information. Systems that can output only a rough heuristic should use "low", "medium", or "high" as the rating value. In this case, the element content should be omitted.
この要素は、アナライザーが意味のある情報を作成できる場合にのみ使用する必要があります。大まかなヒューリスティックのみを出力できるシステムは、「低」、「中」、または「高」を評価値として使用する必要があります。この場合、要素コンテンツを省略する必要があります。
Systems capable of producing reasonable probability estimates should use "numeric" as the rating value and include a numeric confidence value in the element content. This numeric value should reflect a posterior probability (the probability that an attack has occurred given the data seen by the detection system and the model used by the system). It is a floating point number between 0.0 and 1.0, inclusive. The number of digits should be limited to those representable by a single precision floating point value, and may be represented as described in Section 3.2.2.
合理的な確率推定値を生成できるシステムは、「数値」を評価値として使用し、要素コンテンツに数値信頼値を含める必要があります。この数値値は、事後確率(検出システムで見られるデータとシステムで使用されるモデルを考慮して攻撃が発生した確率)を反映する必要があります。0.0から1.0の間の浮動小数点数です。数字の数は、単一の精度の浮動小数点値で表されるものに限定され、セクション3.2.2で説明されているように表現できます。
NOTE: It should be noted that different types of analyzers may compute confidence values in different ways and that in many cases, confidence values from different analyzers should not be compared (for example, if the analyzers use different methods of computing or representing confidence, or are of different types or configurations). Care should be taken when implementing systems that process confidence values (such as event correlators) not to make comparisons or assumptions that cannot be supported by the system's knowledge of the environment in which it is working.
注:さまざまなタイプのアナライザーがさまざまな方法で信頼値を計算し、多くの場合、異なるアナライザーの信頼値を比較すべきではないことに注意してください(たとえば、アナライザーが異なる計算または信頼を表す方法、または信頼性を表す場合、または異なるタイプまたは構成があります)。信頼値(イベント相関器など)を処理するシステムを実装する場合は、機能している環境に関するシステムの知識ではサポートできない比較や仮定を行わないように注意する必要があります。
The support classes make up the major parts of the core classes, and are shared between them.
サポートクラスは、コアクラスの主要な部分を構成し、それらの間で共有されます。
The Reference class provides the "name" of an alert, or other information allowing the manager to determine what it is.
The Reference class is composed of two aggregate classes, as shown in Figure 13.
参照クラスは、図13に示すように、2つの集計クラスで構成されています。
+----------------+ | Reference | +----------------+ +------+ | STRING origin |<>----------| name | | STRING meaning | +------+ | | +------+ | |<>----------| url | | | +------+ +----------------+
Figure 13: The Reference Class
図13:参照クラス
The aggregate classes that make up Reference are:
参照を構成する集計クラスは次のとおりです。
name
Exactly one. STRING. The name of the alert, from one of the origins listed below.
ちょうど1つ。弦。以下にリストされている起源の1つから、アラートの名前。
url
URL
Exactly one. STRING. A URL at which the manager (or the human operator of the manager) can find additional information about the alert. The document pointed to by the URL may include an in-depth description of the attack, appropriate countermeasures, or other information deemed relevant by the vendor.
ちょうど1つ。弦。マネージャー(またはマネージャーの人間オペレーター)がアラートに関する追加情報を見つけることができるURL。URLが指摘する文書には、攻撃の詳細な説明、適切な対策、またはベンダーが関連するとみなされるその他の情報が含まれる場合があります。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.origin " ( unknown | vendor-specific | user-specific | bugtraqid | cve | osvdb ) ">
<!entity%attvals.origin "(不明|ベンダー固有|ユーザー固有| bugtraqid | cve | osvdb)">
<!ELEMENT Reference ( name, url )> <!ATTLIST Reference origin %attvals.origin; 'unknown' meaning CDATA #IMPLIED >
<!要素リファレンス(name、url)> <!attlist reference rigin%attvals.origin;cdata #implied>を意味する「不明」を意味します
The Reference class has two attributes:
参照クラスには2つの属性があります。
origin
元
Required. The source from which the name of the alert originates. The permitted values for this attribute are shown below. The default value is "unknown". (See also Section 10.)
必要。アラートの名前が発生するソース。この属性の許可された値を以下に示します。デフォルト値は「不明」です。(セクション10も参照してください)
+------+-----------------+------------------------------------------+ | Rank | Keyword | Description | +------+-----------------+------------------------------------------+ | 0 | unknown | Origin of the name is not known | | | | | | 1 | vendor-specific | A vendor-specific name (and hence, URL); | | | | this can be used to provide | | | | product-specific information | | | | | | 2 | user-specific | A user-specific name (and hence, URL); | | | | this can be used to provide | | | | installation-specific information | | | | | | 3 | bugtraqid | The SecurityFocus ("Bugtraq") | | | | vulnerability database identifier | | | | (http://www.securityfocus.com/bid) | | | | | | 4 | cve | The Common Vulnerabilities and Exposures | | | | (CVE) name (http://www.cve.mitre.org/) | | | | | | 5 | osvdb | The Open Source Vulnerability Database | | | | (http://www.osvdb.org) | +------+-----------------+------------------------------------------+ meaning
Optional. The meaning of the reference, as understood by the alert provider. This field is only valid if the value of the <origin> attribute is set to "vendor-specific" or "user-specific".
オプション。アラートプロバイダーが理解しているように、参照の意味。このフィールドは、<Origin>属性の値が「ベンダー固有」または「ユーザー固有」に設定されている場合にのみ有効です。
The Node class is used to identify hosts and other network devices (routers, switches, etc.).
ノードクラスは、ホストやその他のネットワークデバイス(ルーター、スイッチなど)を識別するために使用されます。
The Node class is composed of three aggregate classes, as shown in Figure 14.
ノードクラスは、図14に示すように、3つの集計クラスで構成されています。
+---------------+ | Node | +---------------+ 0..1 +----------+ | STRING ident |<>----------| location | | ENUM category | +----------+ | | 0..1 +----------+ | |<>----------| name | | | +----------+ | | 0..* +----------+ | |<>----------| Address | | | +----------+ +---------------+
Figure 14: The Node Class
図14:ノードクラス
The aggregate classes that make up Node are:
ノードを構成する集約クラスは次のとおりです。
location
位置
Zero or one. STRING. The location of the equipment.
ゼロまたは1。弦。機器の場所。
name
名前
Zero or one. STRING. The name of the equipment. This information MUST be provided if no Address information is given.
ゼロまたは1。弦。機器の名前。アドレス情報が提供されない場合は、この情報を提供する必要があります。
Address
住所
Zero or more. The network or hardware address of the equipment. Unless a name (above) is provided, at least one address must be specified.
ゼロ以上。機器のネットワークまたはハードウェアアドレス。名前(上記)が提供されていない限り、少なくとも1つのアドレスを指定する必要があります。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.nodecat " ( unknown | ads | afs | coda | dfs | dns | hosts | kerberos | nds | nis | nisplus | nt | wfw ) ">
<!entity%attvals.nodecat "(不明| ads | afs | coda | dfs | dns | hosts | kerberos | nds | nis | nisplus | nt | wfw)">
<!ELEMENT Node ( location?, (name | Address), Address* )> <!ATTLIST Node ident CDATA '0' category %attvals.nodecat; 'unknown' %attlist.global; >
<!要素ノード(location?、(name | address)、address*)> <!attlistノード識別cdata '0' category%attvals.nodecat;「不明」%attlist.global;>
The Node class has two attributes:
ノードクラスには2つの属性があります。
ident
識別
Optional. A unique identifier for the node; see Section 3.2.9.
category
カテゴリー
Optional. The "domain" from which the name information was obtained, if relevant. The permitted values for this attribute are shown in the table below. The default value is "unknown". (See also Section 10 for extensions to the table.)
+------+----------+------------------------------------------+ | Rank | Keyword | Description | +------+----------+------------------------------------------+ | 0 | unknown | Domain unknown or not relevant | | | | | | 1 | ads | Windows 2000 Advanced Directory Services | | | | | | 2 | afs | Andrew File System (Transarc) | | | | | | 3 | coda | Coda Distributed File System | | | | | | 4 | dfs | Distributed File System (IBM) | | | | | | 5 | dns | Domain Name System | | | | | | 6 | hosts | Local hosts file | | | | | | 7 | kerberos | Kerberos realm | | | | | | 8 | nds | Novell Directory Services | | | | | | 9 | nis | Network Information Services (Sun) | | | | | | 10 | nisplus | Network Information Services Plus (Sun) | | | | | | 11 | nt | Windows NT domain | | | | | | 12 | wfw | Windows for Workgroups | +------+----------+------------------------------------------+
The Address class is used to represent network, hardware, and application addresses.
アドレスクラスは、ネットワーク、ハードウェア、およびアプリケーションアドレスを表すために使用されます。
The Address class is composed of two aggregate classes, as shown in Figure 15.
アドレスクラスは、図15に示すように、2つの集計クラスで構成されています。
+------------------+ | Address | +------------------+ +---------+ | STRING ident |<>----------| address | | ENUM category | +---------+ | STRING vlan-name | 0..1 +---------+ | INTEGER vlan-num |<>----------| netmask | | | +---------+ +------------------+
Figure 15: The Address Class
図15:アドレスクラス
The aggregate classes that make up Address are:
アドレスを構成する集約クラスは次のとおりです。
address
住所
Exactly one. STRING. The address information. The format of this data is governed by the category attribute.
ちょうど1つ。弦。アドレス情報。このデータの形式は、カテゴリ属性によって管理されます。
netmask
ネットマスク
Zero or one. STRING. The network mask for the address, if appropriate.
ゼロまたは1。弦。必要に応じて、アドレスのネットワークマスク。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.addrcat " ( unknown | atm | e-mail | lotus-notes | mac | sna | vm | ipv4-addr | ipv4-addr-hex | ipv4-net | ipv4-net-mask | ipv6-addr | ipv6-addr-hex | ipv6-net | ipv6-net-mask ) ">
<!entity%attvals.addrcat "(不明| atm | e-mail | lotus-notes | mac | sna | vm | ipv4-addr | ipv4-addr-hex | ipv4-net | ipv4-net-mask | ipv6-addr| ipv6-addr-hex | ipv6-net | ipv6-net-mask) ">
<!ELEMENT Address ( address, netmask? )> <!ATTLIST Address ident CDATA '0' category %attvals.addrcat; 'unknown' vlan-name CDATA #IMPLIED vlan-num CDATA #IMPLIED %attlist.global; >
The Address class has four attributes:
アドレスクラスには4つの属性があります。
ident
識別
Optional. A unique identifier for the address; see Section 3.2.9.
オプション。アドレスの一意の識別子。セクション3.2.9を参照してください。
category
カテゴリー
Optional. The type of address represented. The permitted values for this attribute are shown below. The default value is "unknown". (See also Section 10.)
オプション。表されるアドレスのタイプ。この属性の許可された値を以下に示します。デフォルト値は「不明」です。(セクション10も参照してください)
+------+---------------+--------------------------------------------+ | Rank | Keyword | Description | +------+---------------+--------------------------------------------+ | 0 | unknown | Address type unknown | | | | | | 1 | atm | Asynchronous Transfer Mode network address | | | | | | 2 | e-mail | Electronic mail address (RFC 2822 [12]) | | | | | | 3 | lotus-notes | Lotus Notes e-mail address | | | | | | 4 | mac | Media Access Control (MAC) address | | | | | | 5 | sna | IBM Shared Network Architecture (SNA) | | | | address | | | | | | 6 | vm | IBM VM ("PROFS") e-mail address | | | | | | 7 | ipv4-addr | IPv4 host address in dotted-decimal | | | | notation (a.b.c.d) | | | | | | 8 | ipv4-addr-hex | IPv4 host address in hexadecimal notation | | | | | | 9 | ipv4-net | IPv4 network address in dotted-decimal | | | | notation, slash, significant bits | | | | (a.b.c.d/nn) | | | | | | 10 | ipv4-net-mask | IPv4 network address in dotted-decimal | | | | notation, slash, network mask in | | | | dotted-decimal notation (a.b.c.d/w.x.y.z) | | | | | | 11 | ipv6-addr | IPv6 host address | | | | | | 12 | ipv6-addr-hex | IPv6 host address in hexadecimal notation | | | | | | 13 | ipv6-net | IPv6 network address, slash, significant | | | | bits | | | | | | 14 | ipv6-net-mask | IPv6 network address, slash, network mask | +------+---------------+--------------------------------------------+
vlan-name
vlan-name
Optional. The name of the Virtual LAN to which the address belongs.
オプション。アドレスが属する仮想LANの名前。
vlan-num
Optional. The number of the Virtual LAN to which the address belongs.
オプション。アドレスが属する仮想LANの数。
The User class is used to describe users. It is primarily used as a "container" class for the UserId aggregate class, as shown in Figure 16.
ユーザークラスは、ユーザーを説明するために使用されます。図16に示すように、主にuserid集約クラスの「コンテナ」クラスとして使用されます。
+---------------+ | User | +---------------+ 1..* +--------+ | STRING ident |<>----------| UserId | | ENUM category | +--------+ +---------------+
Figure 16: The User Class
図16:ユーザークラス
The aggregate class contained in User is:
ユーザーに含まれる集約クラスは次のとおりです。
UserId
ユーザーID
One or more. Identification of a user, as indicated by its type attribute (see Section 4.2.7.3.1).
1つ以上。タイプ属性で示されるように、ユーザーの識別(セクション4.2.7.3.1を参照)。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.usercat " ( unknown | application | os-device ) ">
<!entity%attvals.usercat "(不明|アプリケーション| os-device)">
<!ELEMENT User ( UserId+ )> <!ATTLIST User ident CDATA '0' category %attvals.usercat; 'unknown' %attlist.global; >
<!要素ユーザー(userid)> <!attlistユーザー識別cdata '0' category%attvals.usercat;「不明」%attlist.global;>
The User class has two attributes:
ユーザークラスには2つの属性があります。
ident
識別
Optional. A unique identifier for the user; see Section 3.2.9.
オプション。ユーザーの一意の識別子。セクション3.2.9を参照してください。
category
カテゴリー
Optional. The type of user represented. The permitted values for this attribute are shown below. The default value is "unknown". (See also Section 10.)
オプション。表現されるユーザーのタイプ。この属性の許可された値を以下に示します。デフォルト値は「不明」です。(セクション10も参照してください)
+------+-------------+------------------------------------+ | Rank | Keyword | Description | +------+-------------+------------------------------------+ | 0 | unknown | User type unknown | | | | | | 1 | application | An application user | | | | | | 2 | os-device | An operating system or device user | +------+-------------+------------------------------------+
The UserId class provides specific information about a user. More than one UserId can be used within the User class to indicate attempts to transition from one user to another, or to provide complete information about a user's (or process') privileges.
UserIDクラスは、ユーザーに関する特定の情報を提供します。ユーザークラス内で複数のユーザーIDを使用して、あるユーザーから別のユーザーへの移行の試みを示したり、ユーザー(またはプロセス ')の特権に関する完全な情報を提供したりできます。
The UserId class is composed of two aggregate classes, as shown in Figure 17.
UserIDクラスは、図17に示すように、2つの集計クラスで構成されています。
+--------------+ | UserId | +--------------+ 0..1 +--------+ | STRING ident |<>----------| name | | ENUM type | +--------+ | STRING tty | 0..1 +--------+ | |<>----------| number | | | +--------+ +--------------+
Figure 17: The UserId Class
図17:useridクラス
The aggregate classes that make up UserId are:
name
名前
Zero or one. STRING. A user or group name.
ゼロまたは1。弦。ユーザーまたはグループ名。
number
Zero or one. INTEGER. A user or group number.
ゼロまたは1。整数。ユーザーまたはグループ番号。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.idtype " ( current-user | original-user | target-user | user-privs | current-group | group-privs | other-privs ) ">
<!entity%attvals.idtype "(current-user | original-user | target-user | user-privs | current-group | group-privs | other-privs">
<!ELEMENT UserId ( (name, number?) | (number, name?) )> <!ATTLIST UserId ident CDATA '0' type %attvals.idtype; 'original-user' tty CDATA #IMPLIED %attlist.global; >
The UserId class has three attributes:
UserIDクラスには3つの属性があります。
ident
識別
Optional. A unique identifier for the user id, see Section 3.2.9.
type
タイプ
Optional. The type of user information represented. The permitted values for this attribute are shown below. The default value is "original-user". (See also Section 10.)
オプション。表現されるユーザー情報のタイプ。この属性の許可された値を以下に示します。デフォルト値は「Original-User」です。(セクション10も参照してください)
+------+---------------+--------------------------------------------+ | Rank | Keyword | Description | +------+---------------+--------------------------------------------+ | 0 | current-user | The current user id being used by the user | | | | or process. On Unix systems, this would | | | | be the "real" user id, in general. | | | | | | 1 | original-user | The actual identity of the user or process | | | | being reported on. On those systems that | | | | (a) do some type of auditing and (b) | | | | support extracting a user id from the | | | | "audit id" token, that value should be | | | | used. On those systems that do not | | | | support this, and where the user has | | | | logged into the system, the "login id" | | | | should be used. | | | | | | 2 | target-user | The user id the user or process is | | | | attempting to become. This would apply, | | | | on Unix systems for example, when the user | | | | attempts to use "su", "rlogin", "telnet", | | | | etc. | | | | | | 3 | user-privs | Another user id the user or process has | | | | the ability to use, or a user id | | | | associated with a file permission. On | | | | Unix systems, this would be the | | | | "effective" user id in a user or process | | | | context, and the owner permissions in a | | | | file context. Multiple UserId elements of | | | | this type may be used to specify a list of | | | | privileges. | | | | | | 4 | current-group | The current group id (if applicable) being | | | | used by the user or process. On Unix | | | | systems, this would be the "real" group | | | | id, in general. | | | | | | 5 | group-privs | Another group id the group or process has | | | | the ability to use, or a group id | | | | associated with a file permission. On | | | | Unix systems, this would be the | | | | "effective" group id in a group or process | | | | context, and the group permissions in a | | | | file context. On BSD-derived Unix | | | | systems, multiple UserId elements of this | | | | type would be used to include all the | | | | group ids on the "group list". |
| 6 | other-privs | Not used in a user, group, or process | | | | context, only used in the file context. | | | | The file permissions assigned to users who | | | | do not match either the user or group | | | | permissions on the file. On Unix systems, | | | | this would be the "world" permissions. | +------+---------------+--------------------------------------------+
tty
Optional. STRING. The tty the user is using.
オプション。弦。ユーザーが使用しているtty。
The Process class is used to describe processes being executed on sources, targets, and analyzers.
プロセスクラスは、ソース、ターゲット、およびアナライザーで実行されているプロセスを記述するために使用されます。
The Process class is composed of five aggregate classes, as shown in Figure 18.
プロセスクラスは、図18に示すように、5つの集計クラスで構成されています。
+--------------+ | Process | +--------------+ +------+ | STRING ident |<>----------| name | | | +------+ | | 0..1 +------+ | |<>----------| pid | | | +------+ | | 0..1 +------+ | |<>----------| path | | | +------+ | | 0..* +------+ | |<>----------| arg | | | +------+ | | 0..* +------+ | |<>----------| env | | | +------+ +--------------+
Figure 18: The Process Class
図18:プロセスクラス
The aggregate classes that make up Process are:
name
名前
Exactly one. STRING. The name of the program being executed. This is a short name; path and argument information are provided elsewhere.
ちょうど1つ。弦。実行されているプログラムの名前。これは短い名前です。パスと引数情報は他の場所に提供されます。
pid
pid
Zero or one. INTEGER. The process identifier of the process.
path
道
Zero or one. STRING. The full path of the program being executed.
ゼロまたは1。弦。実行中のプログラムのフルパス。
arg
arg
Zero or more. STRING. A command-line argument to the program. Multiple arguments may be specified (they are assumed to have occurred in the same order they are provided) with multiple uses of arg.
ゼロ以上。弦。プログラムに対するコマンドラインの引数。複数の引数が指定されている場合があります(提供されているのと同じ順序で発生したと想定されています)。
env
env
Zero or more. STRING. An environment string associated with the process; generally of the format "VARIABLE=value". Multiple environment strings may be specified with multiple uses of env.
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Process ( name, pid?, path?, arg*, env* )> <!ATTLIST Process ident CDATA '0' %attlist.global; >
The Process class has one attribute:
プロセスクラスには1つの属性があります。
ident
識別
Optional. A unique identifier for the process; see Section 3.2.9.
オプション。プロセスの一意の識別子。セクション3.2.9を参照してください。
The Service class describes network services on sources and targets. It can identify services by name, port, and protocol. When Service occurs as an aggregate class of Source, it is understood that the service is one from which activity of interest is originating; and that the service is "attached" to the Node, Process, and User information also contained in Source. Likewise, when Service occurs as an aggregate class of Target, it is understood that the service is one to which activity of interest is being directed; and that the service is "attached" to the Node, Process, and User information also contained in Target. If Service occurs in both Source and Target, then information in both locations should be the same. If information is the same in both locations and implementers wish to carry it in only one location, they should specify it as an aggregate of the Target class.
サービスクラスでは、ソースとターゲットに関するネットワークサービスについて説明します。名前、ポート、およびプロトコルでサービスを識別できます。サービスがソースの総クラスとして発生する場合、サービスは関心のある活動が発生しているサービスであることが理解されます。また、サービスがソースに含まれるノード、プロセス、およびユーザー情報に「添付」されていること。同様に、サービスがターゲットの集約クラスとして発生する場合、サービスは関心のある活動が指示されているものであることが理解されます。また、サービスがターゲットに含まれるノード、プロセス、およびユーザー情報に「添付」されていること。ソースとターゲットの両方でサービスが発生した場合、両方の場所の情報は同じでなければなりません。情報が両方の場所で同じであり、実装者が1つの場所のみでそれを携帯したい場合、ターゲットクラスの集合体として指定する必要があります。
The Service class is composed of four aggregate classes, as shown in Figure 19.
サービスクラスは、図19に示すように、4つの集計クラスで構成されています。
+-----------------------------+ | Service | +-----------------------------+ 0..1 +----------+ | STRING ident |<>----------| name | | INTEGER ip_version | +----------+ | INTEGER iana_protocol_number| 0..1 +----------+ | STRING iana_protocol_name |<>----------| port | | | +----------+ | | 0..1 +----------+ | |<>----------| portlist | | | +----------+ | | 0..1 +----------+ | |<>----------| protocol | | | +----------+ +-----------------------------+ /_\ | +---------+--------+ | | +-------------+ +-------------+ | SNMPService | | WebService | +-------------+ +-------------+
Figure 19: The Service Class
図19:サービスクラス
The aggregate classes that make up Service are:
サービスを構成する集約クラスは次のとおりです。
name
名前
Zero or one. STRING. The name of the service. Whenever possible, the name from the IANA list of well-known ports SHOULD be used.
ゼロまたは1。弦。サービスの名前。可能な限り、有名なポートのIANAリストの名前を使用する必要があります。
port
ポート
Zero or one. INTEGER. The port number being used.
ゼロまたは1。整数。使用されているポート番号。
portlist
ポートリスト
Zero or one. PORTLIST. A list of port numbers being used; see Section 3.2.8 for formatting rules. If a portlist is given, the iana_protocol_number and iana_protocol_name MUST apply to all the elements of the list.
ゼロまたは1。ポートリスト。使用されているポート番号のリスト。フォーマットルールについては、セクション3.2.8を参照してください。ポートリストが指定されている場合、IANA_PROTOCOL_NUMBERとIANA_Protocol_Nameは、リストのすべての要素に適用する必要があります。
protocol
プロトコル
Zero or one. STRING. Additional information about the protocol being used. The intent of the protocol field is to carry additional information related to the protocol being used when the <Service> attributes iana_protocol_number or/and iana_protocol_name are filed.
ゼロまたは1。弦。使用されているプロトコルに関する追加情報。プロトコルフィールドの目的は、<Service>属性IANA_PROTOCOL_NUMBERまたは/およびIANA_PROTOCOL_NAMEが提出されたときに使用されるプロトコルに関連する追加情報を携帯することです。
A Service MUST be specified as either (a) a name or a port or (b) a portlist. The protocol is optional in all cases, but no other combinations are permitted.
サービスは、(a)名前またはポート、または(b)ポートリストのいずれかとして指定する必要があります。プロトコルはすべての場合にオプションですが、他の組み合わせは許可されていません。
Service is represented in the IDMEF DTD as follows:
サービスは、次のようにIDMEF DTDで表されます。
<!ELEMENT Service ( (((name, port?) | (port, name?)) | portlist), protocol?, SNMPService?, WebService? )> <!ATTLIST Service ident CDATA '0' ip_version CDATA #IMPLIED iana_protocol_number CDATA #IMPLIED iana_protocol_name CDATA #IMPLIED %attlist.global; >
The Service class has four attributes:
ident
識別
Optional. A unique identifier for the service; see Section 3.2.9.
オプション。サービスのユニークな識別子。セクション3.2.9を参照してください。
ip_version
ip_version
Optional. INTEGER. The IP version number.
オプション。整数。IPバージョン番号。
iana_protocol_number
iana_protocol_number
Optional. INTEGER. The IANA protocol number.
オプション。整数。IANAプロトコル番号。
iana_protocol_name
iana_protocol_name
Optional. STRING. The IANA protocol name.
オプション。弦。IANAプロトコル名。
The WebService class carries additional information related to web traffic.
WebServiceクラスには、Webトラフィックに関連する追加情報が含まれています。
The WebService class is composed of four aggregate classes, as shown in Figure 20.
WebServiceクラスは、図20に示すように、4つの集計クラスで構成されています。
+-------------+ | Service | +-------------+ /_\ | +-------------+ | WebService | +-------------+ +-------------+ | |<>----------| url | | | +-------------+ | | 0..1 +-------------+ | |<>----------| cgi | | | +-------------+ | | 0..1 +-------------+ | |<>----------| http-method | | | +-------------+ | | 0..* +-------------+ | |<>----------| arg | | | +-------------+ +-------------+
Figure 20: The WebService Class
図20:ウェブサービスクラス
The aggregate classes that make up WebService are:
Webサービスを構成する集約クラスは次のとおりです。
url
URL
Exactly one. STRING. The URL in the request.
ちょうど1つ。弦。リクエストのURL。
cgi
CGI
Zero or one. STRING. The CGI script in the request, without arguments.
ゼロまたは1。弦。リクエスト内のCGIスクリプト、引数なし。
http-method
http-method
Zero or one. STRING. The HTTP method (PUT, GET) used in the request.
arg
arg
Zero or more. STRING. The arguments to the CGI script.
ゼロ以上。弦。CGIスクリプトの引数。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT WebService ( url, cgi?, http-method?, arg* )> <!ATTLIST WebService %attlist.global; >
The SNMPService class carries additional information related to SNMP traffic. The aggregate classes composing SNMPService must be interpreted as described in RFC 3411 [15] and RFC 3584 [16].
The SNMPService class is composed of eight aggregate classes, as shown in Figure 21.
Snmpserviceクラスは、図21に示すように、8つの集計クラスで構成されています。
+-------------+ | Service | +-------------+ /_\ | +-------------+ | SNMPService | +-------------+ 0..1 +----------------------+ | |<>----------| oid | | | +----------------------+ | | 0..1 +----------------------+ | |<>----------|messageProcessingModel| | | +----------------------+ | | 0..1 +----------------------+ | |<>----------| securityModel | | | +----------------------+ | | 0..1 +----------------------+ | |<>----------| securityName | | | +----------------------+ | | 0..1 +----------------------+ | |<>----------| securityLevel | | | +----------------------+ | | 0..1 +----------------------+ | |<>----------| contextName | | | +----------------------+ | | 0..1 +----------------------+ | |<>----------| contextEngineID | | | +----------------------+ | | 0..1 +----------------------+ | |<>----------| command | | | +----------------------+ +-------------+
Figure 21: The SNMPService Class
図21:Snmpserviceクラス
The aggregate classes that make up SNMPService are:
oid
Zero or one. STRING. The object identifier in the request.
ゼロまたは1。弦。リクエスト内のオブジェクト識別子。
messageProcessingModel
MessageProcessingModel
Zero or one. INTEGER. The SNMP version, typically 0 for SNMPv1, 1 for SNMPv2c, 2 for SNMPv2u and SNMPv2*, and 3 for SNMPv3; see RFC 3411 [15] Section 5 for appropriate values.
ゼロまたは1。整数。SNMPバージョン、通常はSNMPV1の場合は0、SNMPV2Cの場合は1、SNMPV2UおよびSNMPV2*の場合は2、SNMPV3の場合は3。適切な値については、RFC 3411 [15]セクション5を参照してください。
securityModel
SecurityModel
Zero or one. INTEGER. The identification of the security model in use, typically 0 for any, 1 for SNMPv1, 2 for SNMPv2c, and 3 for USM; see RFC 3411 [15] Section 5 for appropriate values.
ゼロまたは1。整数。使用中のセキュリティモデルの識別、通常は任意の場合は0、snmpv1の場合は1、snmpv2cの場合は2、USMで3。適切な値については、RFC 3411 [15]セクション5を参照してください。
securityName
Zero or one. STRING. The object's security name; see RFC 3411 [15] Section 3.2.2.
ゼロまたは1。弦。オブジェクトのセキュリティ名。RFC 3411 [15]セクション3.2.2を参照してください。
securityLevel
Zero or one. INTEGER. The security level of the SNMP request; see RFC 3411 [15] Section 3.4.3.
ゼロまたは1。整数。SNMP要求のセキュリティレベル。RFC 3411 [15]セクション3.4.3を参照してください。
contextName
コンテキスト名
Zero or one. STRING. The object's context name; see RFC 3411 [15] Section 3.3.3.
ゼロまたは1。弦。オブジェクトのコンテキスト名。RFC 3411 [15]セクション3.3.3を参照してください。
contextEngineID
ContextEngineID
Zero or one. STRING. The object's context engine identifier; see RFC 3411 [15] Section 3.3.2.
ゼロまたは1。弦。オブジェクトのコンテキストエンジン識別子。RFC 3411 [15]セクション3.3.2を参照してください。
command
指図
Zero or one. STRING. The command sent to the SNMP server (GET, SET, etc.).
ゼロまたは1。弦。コマンドはSNMPサーバーに送信されました(Get、Setなど)。
If other fields of an SNMP message are available and should be incorporated in the IDMEF alert, they must be located in the additionaldata structure with the meaning being an object definition defined in RFC 3411 [15] Section 5 and the value located within the additionaldata payload.
SNMPメッセージの他のフィールドが利用可能であり、IDMEFアラートに組み込む必要がある場合、それらは追加のDATA構造に配置する必要があります。意味は、RFC 3411 [15]セクション5で定義されているオブジェクト定義と追加のDataペイロード内にある値です。。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT SNMPService ( oid?, messageProcessingModel?, securityModel?, securityName?, securityLevel?, contextName?, contextEngineID?, command? )> <!ATTLIST SNMPService %attlist.global; >
<!要素snmpservice(oid?、messageprocessingmodel?、securitymodel?、securityname?、securitylevel?、contextname?、contextengineid?、command?)> <!attlist snmpservice%attlist.global;>
The File class provides specific information about a file or other file-like object that has been created, deleted, or modified on the target. The description can provide either the file settings prior to the event or the file settings at the time of the event, as specified using the "category" attribute.
ファイルクラスは、ターゲットに作成、削除、または変更されたファイルまたはその他のファイルのようなオブジェクトに関する特定の情報を提供します。この説明は、「カテゴリ」属性を使用して指定されているように、イベント前のファイル設定またはイベント時のファイル設定を提供できます。
The File class is composed of eleven aggregate classes, as shown in Figure 22. +--------------+ | File | +--------------+ +-------------+ | |<>----------| name | | | +-------------+ | | +-------------+ | |<>----------| path | | | +-------------+ | | 0..1 +-------------+ | |<>----------| create-time | | | +-------------+ | | 0..1 +-------------+ | |<>----------| modify-time | | | +-------------+ | | 0..1 +-------------+ | |<>----------| access-time | | | +-------------+ | | 0..1 +-------------+ | |<>----------| data-size | | | +-------------+ | | 0..1 +-------------+ | |<>----------| disk-size | | | +-------------+ | | 0..* +-------------+ | |<>----------| FileAccess | | | +-------------+ | | 0..* +-------------+ | |<>----------| Linkage | | | +-------------+ | | 0..1 +-------------+ | |<>----------| Inode | | | +-------------+ | | 0..* +-------------+ | |<>----------| Checksum | | | +-------------+ +--------------+
Figure 22: The File Class
図22:ファイルクラス
The aggregate classes that make up File are:
ファイルを構成する集約クラスは次のとおりです。
name
名前
Exactly one. STRING. The name of the file to which the alert applies, not including the path to the file.
ちょうど1つ。弦。アラートが適用されるファイルの名前は、ファイルへのパスを含めません。
path
道
Exactly one. STRING. The full path to the file, including the name. The path name should be represented in as "universal" a manner as possible, to facilitate processing of the alert.
ちょうど1つ。弦。名前を含むファイルへのフルパス。パス名は、アラートの処理を容易にするために、可能な限り「普遍的」として表現する必要があります。
For Windows systems, the path should be specified using the Universal Naming Convention (UNC) for remote files, and using a drive letter for local files (e.g., "C:\boot.ini"). For Unix systems, paths on network file systems should use the name of the mounted resource instead of the local mount point (e.g., "fileserver:/usr/local/bin/foo"). The mount point can be provided using the <Linkage> element.
Windowsシステムの場合、パスは、リモートファイルのユニバーサルネーミングコンベンション(UNC)を使用し、ローカルファイルにドライブレターを使用して指定する必要があります(例: "c:\ boot.ini")。UNIXシステムの場合、ネットワークファイルシステム上のパスは、ローカルマウントポイントの代わりにマウントされたリソースの名前を使用する必要があります(例:「fileserver:/usr/local/bin/foo」)。マウントポイントは、<linkage>要素を使用して提供できます。
create-time
Zero or one. DATETIME. Time the file was created. Note that this is *not* the Unix "st_ctime" file attribute (which is not file creation time). The Unix "st_ctime" attribute is contained in the "Inode" class.
ゼロまたは1。日付時刻。ファイルが作成された時間。これは、UNIX「ST_CTIME」ファイル属性(ファイルの作成時間ではない)ではないことに注意してください。UNIX「ST_CTIME」属性は、「INODE」クラスに含まれています。
modify-time
時間を変更します
Zero or one. DATETIME. Time the file was last modified.
ゼロまたは1。日付時刻。ファイルが最後に変更された時間。
access-time
アクセス時間
Zero or one. DATETIME. Time the file was last accessed.
ゼロまたは1。日付時刻。ファイルが最後にアクセスされた時間。
data-size
データサイズ
Zero or one. INTEGER. The size of the data, in bytes. Typically what is meant when referring to file size. On Unix UFS file systems, this value corresponds to stat.st_size. On Windows NTFS, this value corresponds to Valid Data Length (VDL).
ゼロまたは1。整数。データのサイズ、バイト。通常、ファイルサイズを参照する場合の意味。UNIX UFSファイルシステムでは、この値はstat.st_sizeに対応しています。Windows NTFSでは、この値は有効なデータ長(VDL)に対応しています。
disk-size
ディスクサイズ
Zero or one. INTEGER. The physical space on disk consumed by the file, in bytes. On Unix UFS file systems, this value corresponds to 512 * stat.st_blocks. On Windows NTFS, this value corresponds to End of File (EOF).
ゼロまたは1。整数。ファイルによって消費されるディスク上の物理スペース、バイト。UNIX UFSファイルシステムでは、この値は512 * stat.st_blocksに対応しています。Windows NTFSでは、この値はファイルの終了(EOF)に対応しています。
FileAccess
fileaccess
Zero or more. Access permissions on the file.
ゼロ以上。ファイルのアクセス許可。
Linkage
リンケージ
Zero or more. File system objects to which this file is linked (other references for the file).
Inode
inode
Zero or one. Inode information for this file (relevant to Unix).
ゼロまたは1。このファイルのイノード情報(unixに関連する)。
Checksum
チェックサム
Zero or more. Checksum information for this file.
ゼロ以上。このファイルのチェックサム情報。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.filecat " ( current | original ) ">
<!entity%attvals.filecat "(current | original)">
<!ELEMENT File ( name, path, create-time?, modify-time?, access-time?, data-size?, disk-size?, FileAccess*, Linkage*, Inode?, Checksum* )> <!ATTLIST File ident CDATA '0' category %attvals.filecat; #REQUIRED fstype CDATA #IMPLIED file-type CDATA #IMPLIED %attlist.global; >
The File class has four attributes (one required and three optional):
ファイルクラスには4つの属性があります(1つは必要1つ、3つのオプション):
ident
識別
Optional. A unique identifier for this file; see Section 3.2.9.
オプション。このファイルの一意の識別子。セクション3.2.9を参照してください。
category
カテゴリー
Required. The context for the information being provided. The permitted values are shown below. There is no default value. (See also Section 10.)
必要。提供される情報のコンテキスト。許可された値を以下に示します。デフォルト値はありません。(セクション10も参照してください)
+------+----------+-------------------------------------------------+ | Rank | Keyword | Description | +------+----------+-------------------------------------------------+ | 0 | current | The file information is from after the reported | | | | change | | | | | | 1 | original | The file information is from before the | | | | reported change | +------+----------+-------------------------------------------------+
fstype
Optional. The type of file system the file resides on. This attribute governs how path names and other attributes are interpreted.
オプション。ファイルが存在するファイルシステムのタイプ。この属性は、パス名とその他の属性がどのように解釈されるかを支配します。
+------+---------+-------------------------------------+ | Rank | Keyword | Description | +------+---------+-------------------------------------+ | 0 | ufs | Berkeley Unix Fast File System | | 1 | efs | Linux "efs" file system | | 2 | nfs | Network File System | | 3 | afs | Andrew File System | | 4 | ntfs | Windows NT File System | | 5 | fat16 | 16-bit Windows FAT File System | | 6 | fat32 | 32-bit Windows FAT File System | | 7 | pcfs | "PC" (MS-DOS) file system on CD-ROM | | 8 | joliet | Joliet CD-ROM file system | | 9 | iso9660 | ISO 9660 CD-ROM file system | +------+---------+-------------------------------------+
file-type
ファイルの種類
Optional. The type of file, as a mime-type.
オプション。MIMEタイプとしてのファイルのタイプ。
The FileAccess class represents the access permissions on a file. The representation is intended to be useful across operating systems.
FileAccessクラスは、ファイル上のアクセス許可を表します。表現は、オペレーティングシステム全体で役立つことを目的としています。
The FileAccess class is composed of two aggregate classes, as shown in Figure 23.
FileAccessクラスは、図23に示すように、2つの集計クラスで構成されています。
+--------------+ | FileAccess | +--------------+ +------------+ | |<>----------| UserId | | | +------------+ | | 1..* +------------+ | |<>----------| Permission | | | +------------+ +--------------+
Figure 23: The FileAccess Class
図23:FileAccessクラス
The aggregate classes that make up FileAccess are:
FileAccessを構成する集約クラスは次のとおりです。
UserId
ユーザーID
Exactly one. The user (or group) to which these permissions apply. The value of the "type" attribute must be "user-privs", "group-privs", or "other-privs" as appropriate. Other values for "type" MUST NOT be used in this context.
Permission
許可
One or more. ENUM. Level of access allowed. The permitted values are shown below. There is no default value. (See also Section 10.)
1つ以上。列挙。許可されているアクセスレベル。許可された値を以下に示します。デフォルト値はありません。(セクション10も参照してください)
+------+-------------------+----------------------------------------+ | Rank | Keyword | Description | +------+-------------------+----------------------------------------+ | 0 | noAccess | No access at all is allowed for this | | | | user | | | | | | 1 | read | This user has read access to the file | | | | | | 2 | write | This user has write access to the file | | | | | | 3 | execute | This user has the ability to execute | | | | the file | | | | | | 4 | search | This user has the ability to search | | | | this file (applies to "execute" | | | | permission on directories in Unix) | | | | | | 5 | delete | This user has the ability to delete | | | | this file | | | | | | 6 | executeAs | This user has the ability to execute | | | | this file as another user | | | | | | 7 | changePermissions | This user has the ability to change | | | | the access permissions on this file | | | | | | 8 | takeOwnership | This user has the ability to take | | | | ownership of this file | +------+-------------------+----------------------------------------+
The "changePermissions" and "takeOwnership" strings represent those concepts in Windows. On Unix, the owner of the file always has "changePermissions" access, even if no other access is allowed for that user. "Full Control" in Windows is represented by enumerating the permissions it contains. The "executeAs" string represents the set-user-id and set-group-id features in Unix.
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ELEMENT Permission EMPTY > <!ATTLIST Permission perms %attvals.fileperm; #REQUIRED %attlist.global; >
<!ENTITY % attvals.fileperm "( noAccess | read | write | execute | search | delete | executeAs | changePermissions | takeOwnership)" >
The Linkage class represents file system connections between the file described in the <File> element and other objects in the file system. For example, if the <File> element is a symbolic link or shortcut, then the <Linkage> element should contain the name of the object the link points to. Further information can be provided about the object in the <Linkage> element with another <File> element, if appropriate.
リンケージクラスは、<ファイル>要素で説明されているファイルとファイルシステム内の他のオブジェクト間のファイルシステム接続を表します。たとえば、<file>要素がシンボリックリンクまたはショートカットである場合、<linkage>要素には、リンクが指すオブジェクトの名前を含める必要があります。必要に応じて、別の<ファイル>要素を使用して、<linkage>要素のオブジェクトに関する詳細情報を提供できます。
The Linkage class is composed of three aggregate classes, as shown in Figure 24.
リンケージクラスは、図24に示すように、3つの集計クラスで構成されています。
+--------------+ | Linkage | +--------------+ +------+ | |<>----------| name | | | +------+ | | +------+ | |<>----------| path | | | +------+ | | +------+ | |<>----------| File | | | +------+ +--------------+
Figure 24: The Linkage Class
図24:リンケージクラス
The aggregate classes that make up Linkage are:
name
名前
Exactly one. STRING. The name of the file system object, not including the path.
ちょうど1つ。弦。パスを含まないファイルシステムオブジェクトの名前。
path
Exactly one. STRING. The full path to the file system object, including the name. The path name should be represented in as "universal" a manner as possible, to facilitate processing of the alert.
ちょうど1つ。弦。名前を含むファイルシステムオブジェクトへのフルパス。パス名は、アラートの処理を容易にするために、可能な限り「普遍的」として表現する必要があります。
File
ファイル
Exactly one. A <File> element may be used in place of the <name> and <path> elements if additional information about the file is to be included.
ちょうど1つ。ファイルに関する追加情報を含める場合は、<ファイル>要素を<name>および<ath>要素の代わりに使用できます。
This is represented in the IDMEF DTD as follows:
<!ENTITY % attvals.linkcat " ( hard-link | mount-point | reparse-point | shortcut | stream | symbolic-link ) ">
<!entity%attvals.linkcat "(hard-link | mount-opint | reparse-point |ショートカット| stream | symbolic-link)">
<!ELEMENT Linkage ( (name, path) | File )> <!ATTLIST Linkage category %attvals.linkcat; #REQUIRED %attlist.global; >
The Linkage class has one attribute:
リンケージクラスには1つの属性があります。
category
カテゴリー
The type of object that the link describes. The permitted values are shown below. There is no default value. (See also Section 10.)
リンクが説明するオブジェクトのタイプ。許可された値を以下に示します。デフォルト値はありません。(セクション10も参照してください)
+------+---------------+--------------------------------------------+ | Rank | Keyword | Description | +------+---------------+--------------------------------------------+ | 0 | hard-link | The <name> element represents another name | | | | for this file. This information may be | | | | more easily obtainable on NTFS file | | | | systems than others. | | | | | | 1 | mount-point | An alias for the directory specified by | | | | the parent's <name> and <path> elements. | | | | | | 2 | reparse-point | Applies only to Windows; excludes symbolic | | | | links and mount points, which are specific | | | | types of reparse points. | | | | | | 3 | shortcut | The file represented by a Windows | | | | "shortcut". A shortcut is distinguished | | | | from a symbolic link because of the | | | | difference in their contents, which may be | | | | of importance to the manager. | | | | | | 4 | stream | An Alternate Data Stream (ADS) in Windows; | | | | a fork on MacOS. Separate file system | | | | entity that is considered an extension of | | | | the main <File>. | | 5 | symbolic-link | The <name> element represents the file to | | | | which the link points. | +------+---------------+--------------------------------------------+
The Inode class is used to represent the additional information contained in a Unix file system i-node.
INODEクラスは、UNIXファイルシステムIノードに含まれる追加情報を表すために使用されます。
The Inode class is composed of six aggregate classes, as shown in Figure 25.
+--------------+ | Inode | +--------------+ +----------------+ | |<>----------| change-time | | | +----------------+ | | +----------------+ | |<>----------| number | | | +----------------+ | | +----------------+ | |<>----------| major-device | | | +----------------+ | | +----------------+ | |<>----------| minor-device | | | +----------------+ | | +----------------+ | |<>----------| c-major-device | | | +----------------+ | | +----------------+ | |<>----------| c-minor-device | | | +----------------+ +--------------+
Figure 25: The Inode Class
図25:イノードクラス
The aggregate classes that make up Inode are:
INODEを構成する集約クラスは次のとおりです。
change-time
変更時間
Zero or one. DATETIME. The time of the last inode change, given by the st_ctime element of "struct stat".
ゼロまたは1。日付時刻。「strut stat」のst_ctime要素によって与えられる最後のイノード変更の時間。
number
番号
Zero or one. INTEGER. The inode number.
ゼロまたは1。整数。イノード数。
major-device
大規模なデバイス
Zero or one. INTEGER. The major device number of the device the file resides on.
minor-device
マイナーデバイス
Zero or one. INTEGER. The minor device number of the device the file resides on.
ゼロまたは1。整数。ファイルが存在するデバイスのマイナーデバイス番号。
c-major-device
c-major-device
Zero or one. INTEGER. The major device of the file itself, if it is a character special device.
c-minor-device
C-Minor-Device
Zero or one. INTEGER. The minor device of the file itself, if it is a character special device.
ゼロまたは1。整数。キャラクター特別なデバイスの場合、ファイル自体のマイナーなデバイス。
Note that <number>, <major-device>, and <minor-device> must be given together, and the <c-major-device> and <c-minor-device> must be given together.
<number>、<major-device>、および<minar-device>を一緒に指定する必要があり、<c-major-device>と<c-minor-device>を一緒に指定する必要があることに注意してください。
This is represented in the IDMEF DTD as follows:
<!ELEMENT Inode ( change-time?, (number, major-device, minor-device)?, (c-major-device, c-minor-device)? )> <!ATTLIST Inode %attlist.global; >
<!要素inode(変更時間?、(数、メジャーデバイス、マイナーデバイス)?、(c-major-device、c-minor-device)?)> <!attlist inode%attlist.global;>
The Checksum class represents checksum information associated with the file. This checksum information can be provided by file integrity checkers, among others.
チェックサムクラスは、ファイルに関連付けられたチェックサム情報を表します。このチェックサム情報は、特にファイルの整合性チェッカーによって提供できます。
The checksum class is composed of two aggregate classes, as shown in Figure 26.
チェックサムクラスは、図26に示すように、2つの集計クラスで構成されています。
+--------------+ | Checksum | +--------------+ +-------+ | algorithm |<>----------| value | | | +-------+ | | 0..1+-------+ | |<>----------| key | | | +-------+ +--------------+
Figure 26: The Checksum Class
図26:チェックサムクラス
The aggregate classes that make up Checksum are:
チェックサムを構成する集計クラスは次のとおりです。
value
価値
Exactly one. STRING. The value of the checksum.
key
鍵
Zero or one. STRING. The key to the checksum, if appropriate.
ゼロまたは1。弦。必要に応じて、チェックサムの鍵。
This is represented in the IDMEF DTD as follows:
これは、次のようにIDMEF DTDで表されます。
<!ENTITY % attvals.checksumalgos " ( MD4 | MD5 | SHA1 | SHA2-256 | SHA2-384 | SHA2-512 | CRC-32 | Haval | Tiger | Gost ) ">
<!entity%attvals.checksumalgos "(md4 | md5 | sha1 | sha2-256 | sha2-384 | sha2-512 | crc-32 | haval | tiger | gost)">
<!ELEMENT Checksum ( value, key? )> <!ATTLIST Checksum algorithm %attvals.checksumalgos; #REQUIRED %attlist.global; >
The Checksum class has one attribute:
チェックサムクラスには1つの属性があります。
algorithm
アルゴリズム
The cryptographic algorithm used for the computation of the checksum. The permitted values are shown below. There is no default value. (See also Section 10.)
チェックサムの計算に使用される暗号化アルゴリズム。許可された値を以下に示します。デフォルト値はありません。(セクション10も参照してください)
+------+----------+------------------------------------------+ | Rank | Keyword | Description | +------+----------+------------------------------------------+ | 0 | MD4 | The MD4 algorithm. | | | | | | 1 | MD5 | The MD5 algorithm. | | | | | | 2 | SHA1 | The SHA1 algorithm. | | | | | | 3 | SHA2-256 | The SHA2 algorithm with 256 bits length. | | | | | | 4 | SHA2-384 | The SHA2 algorithm with 384 bits length. | | | | | | 5 | SHA2-512 | The SHA2 algorithm with 512 bits length. | | | | | | 6 | CRC-32 | The CRC algorithm with 32 bits length. | | | | | | 7 | Haval | The Haval algorithm. | | | | | | 8 | Tiger | The Tiger algorithm. | | | | | | 9 | Gost | The Gost algorithm. | +------+----------+------------------------------------------+
As intrusion detection systems evolve, the IDMEF data model and DTD will have to evolve along with them. To allow new features to be added as they are developed, both the data model and the DTD can be extended as described in this section. As these extensions mature, they can then be incorporated into future versions of the specification.
侵入検知システムが進化するにつれて、IDMEFデータモデルとDTDはそれらとともに進化する必要があります。開発時に新しい機能を追加できるようにするために、このセクションで説明されているように、データモデルとDTDの両方を拡張できます。これらの拡張機能が成熟すると、仕様の将来のバージョンに組み込むことができます。
There are two mechanisms for extending the IDMEF data model, inheritance and aggregation:
IDMEFデータモデル、継承と集約を拡張するための2つのメカニズムがあります。
o Inheritance denotes a superclass/subclass type of relationship where the subclass inherits all the attributes, operations, and relationships of the superclass. This type of relationship is also called a "is-a" or "kind-of" relationship. Subclasses may have additional attributes or operations that apply only to the subclass and not to the superclass.
o
o Aggregation is a form of association in which the whole is related to its parts. This type of relationship is also referred to as a "part-of" relationship. In this case, the aggregate class contains all of its own attributes and as many of the attributes associated with its parts as required and specified by occurrence indicators.
o 集約は、全体がその部分に関連する関連付けの一形態です。このタイプの関係は、「一部」の関係とも呼ばれます。この場合、集約クラスには、必要に応じてその部分に関連付けられ、発生インジケーターによって指定されたすべての属性と、その部分に関連する属性の多くが含まれています。
Of the two mechanisms, inheritance is preferred, because it preserves the existing data model structure and also preserves the operations (methods) executed on the classes of the structure.
Note that the rules for extending the IDMEF DTD (see below) set limits on the places where extensions to the data model may be made.
IDMEF DTDを拡張するためのルール(以下を参照)は、データモデルへの拡張が行われる可能性のある場所に制限を設定することに注意してください。
There are two ways to extend the IDMEF DTD:
1. The AdditionalData class (see Section 4.2.4.6) allows implementors to include arbitrary "atomic" data items (integers, strings, etc.) in an Alert or Heartbeat message. This approach SHOULD be used whenever possible. See Section 7.4 and Section 7.5.
1.
2. The AdditionalData class allows implementors to extend the IDMEF DTD with additional DTD "modules" that describe arbitrarily complex data types and relationships. The remainder of this section describes this extension method.
2. 追加のDATAクラスにより、実装者は、任意に複雑なデータ型と関係を記述する追加のDTD「モジュール」でIDMEF DTDを拡張できます。このセクションの残りの部分では、この拡張方法について説明します。
To extend the IDMEF DTD with a new DTD "module", the following steps MUST be followed:
新しいDTD「モジュール」を使用してIDMEF DTDを拡張するには、次の手順に従う必要があります。
1. The document declaration MUST define a DTD location that defines the namespace and contains the location of the extension DTD, and then reference that namespace.
1. ドキュメント宣言は、名前空間を定義し、拡張機能DTDの場所を含むDTDの場所を定義し、その名前空間を参照する必要があります。
2. Multiple extensions may be included by defining multiple namespaces and DTD locations, and referencing them.
2.
3. Extension DTDs MUST declare all of their elements and attributes in a separate XML namespace. Extension DTDs MUST NOT declare any elements or attributes in the "idmef" or default namespaces.
3. 拡張DTDは、すべての要素と属性を別のXMLネームスペースで宣言する必要があります。拡張DTDは、「IDMEF」またはデフォルトの名前空間で要素または属性を宣言してはなりません。
4. Extensions MUST only be included in IDMEF Alert and Heartbeat messages under an <AdditionalData> element whose "type" attribute contains the value "xml". For example:
4.
In this example, the "vendorco" namespace is defined and then referenced, causing the DTD for the extension to be read by the XML parser.
この例では、「Vendorco」の名前空間が定義されてから参照され、拡張機能のDTDがXMLパーサーによって読み取られます。
<idmef:IDMEF-Message version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:idmef="http://iana.org/idmef" xmlns:vendorco="http://vendor.com/idmef" xsi:schemaLocation="http://vendor.com/idmef http://v.com/vidmef.xsd">
<idmef:Alert messageid="..."> ... <idmef:AdditionalData type="xml" meaning="VendorExtension"> <idmef:xml> <vendorco:TestVendor a="attribute of example" xmlns:vendorco="http://vendor.com/idmef" xsi:schemaLocation="http://vendor.com/idmef http://v.com/vidmef.xsd"> <vendorco:content>content element of example</vendorco:content> </vendorco:TestVendor> </idmef:xml> </idmef:AdditionalData> </idmef:Alert> </idmef:IDMEF-Message>
See Section 7.8 for another example of extending the IDMEF DTD.
IDMEF DTDを拡張する別の例については、セクション7.8を参照してください。
This section discusses some of the special considerations that must be taken into account by implementors of the IDMEF.
It is expected that IDMEF-compliant applications will not normally include the IDMEF DTD itself in their communications. Instead, the DTD will be referenced in the document type definition in the IDMEF message. Such IDMEF documents will be well-formed and valid as defined in [3].
Other IDMEF documents will be specified that do not include the document prolog (e.g., entries in an IDMEF-format database). Such IDMEF documents will be well-formed but not valid.
ドキュメントプロログ(IDMEF-Formatデータベースのエントリなど)を含まない他のIDMEFドキュメントが指定されます。このようなIDMEFドキュメントは、適切に形成されますが、有効ではありません。
Generally, well-formedness implies that a document has a single element that contains everything else (e.g., "<Book>") and that all the other elements nest nicely within each other without any overlapping (e.g., a "chapter" does not start in the middle of another "chapter").
一般的に、整形式とは、ドキュメントには他のすべてを含む単一の要素(「<book>」など)があり、他のすべての要素が重複することなく互いにうまくネストすることを意味します(例えば、「章」は開始しません。別の「章」の真ん中に)。
Validity further implies that not only is the document well-formed, but it also follows specific rules (contained in the Document Type Definition) about which elements are "legal" in the document, how those elements nest within other elements, and so on (e.g., a "chapter" does not begin in the middle of a "title"). A document cannot be valid unless it references a DTD.
妥当性はさらに、ドキュメントがよく形成されているだけでなく、ドキュメント内のどの要素が「合法」であるか、他の要素内にそれらの要素がどのように巣を作るかなど、特定のルール(ドキュメントタイプ定義に含まれる)にも従うことを意味します(ドキュメントタイプの定義)たとえば、「章」は「タイトル」の途中で始まりません)。ドキュメントは、DTDを参照しない限り、有効にすることはできません。
XML processors are required to be able to parse any well-formed document, valid or not. The purpose of validation is to make the processing of that document (what's done with the data after it's parsed) easier. Without validation, a document may contain elements in nonsense order, elements "invented" by the author that the processing application doesn't understand, and so forth.
IDMEF documents MUST be well-formed. IDMEF documents SHOULD be valid whenever both possible and practical.
IDMEFドキュメントは、適切に形成されている必要があります。IDMEFドキュメントは、可能な限り実用的な場合はいつでも有効である必要があります。
On occasion, an IDMEF-compliant application may receive a well-formed, or even well-formed and valid, IDMEF message containing tags that it does not understand. The tags may be either:
場合によっては、IDMEFに準拠したアプリケーションが、理解できないタグを含む、よく形成された、または整形式の有効なIDMEFメッセージを受信する場合があります。タグは次のとおりです。
o Recognized as "legitimate" (a valid document), but the application does not know the semantic meaning of the element's content; or
o 「正当な」(有効なドキュメント)として認識されていますが、アプリケーションは要素のコンテンツの意味的な意味を知りません。また
o Not recognized at all.
o まったく認識されていません。
IDMEF-compliant applications MUST continue to process IDMEF messages that contain unknown tags, provided that such messages meet the well-formedness requirement of Section 6.1. It is up to the individual application to decide how to process (or ignore) any content from the unknown elements(s).
IDMEFに準拠したアプリケーションは、そのようなメッセージがセクション6.1の整形式要件を満たしている場合、未知のタグを含むIDMEFメッセージを引き続き処理する必要があります。未知の要素からコンテンツを処理(または無視する)方法を決定するのは、個々のアプリケーション次第です。
Synchronization of time-of-day clocks between analyzers and managers is outside the scope of this document. However, the following comments and suggestions are offered: 1. Whenever possible, all analyzers and managers should have their time-of-day clocks synchronized to an external source such as NTP [7] or SNTP [8] Global Positioning System (GPS), Geosynchronous Operational Environmental Satellite (GOES), NIST radio station WWV clocks, or some other reliable time standard.
2. When external time synchronization is not possible, the IDMEF provides the <AnalyzerTime> element, which may be used to perform rudimentary time synchronization (see below).
2. 外部時間同期が不可能な場合、IDMEFは<分析>要素を提供します。これは、初歩的な時間同期を実行するために使用できます(以下を参照)。
3. IDMEF-compliant applications SHOULD permit the user to enable/ disable the <AnalyzerTime> method of time synchronization as a configuration option.
3.
A number of caveats apply to the use of <AnalyzerTime> for time synchronization:
時間同期のために<分析>の使用には多くの警告が適用されます。
1. <AnalyzerTime> works best in a "flat" environment where analyzers report up to a single level of managers. When a tree topology of high-level managers, intermediate relays, and analyzers is used, the problem becomes more complex.
1. <分析>アナライザーが最大レベルのマネージャーを報告する「フラットな」環境で最適です。高レベルのマネージャー、中間リレー、およびアナライザーのツリートポロジーを使用すると、問題がより複雑になります。
2. When intermediate message relays (managers or otherwise) are involved, two scenarios are possible:
2.
* The intermediaries may forward entire IDMEF messages, or may perform aggregation or correlation, but MUST NOT inject delay. In this case, time synchronization is end-to-end between the analyzer and the highest-level manager.
* 仲介者は、IDMEFメッセージ全体を転送するか、集約または相関を実行する場合がありますが、遅延を注入してはなりません。この場合、時間同期は、アナライザーと最高レベルのマネージャーの間でエンドツーエンドです。
* The intermediaries may inject delay, due to storage or additional processing. In this case, time synchronization MUST be performed at each hop. This means each intermediary must decompose the IDMEF message, adjust all time values, and then reconstruct the message before sending it on.
*
3. When the environment is mixed, with some analyzers and managers using external time synchronization and some not, all managers and intermediaries must perform <AnalyzerTime> synchronization. This is because determining whether or not compensation is actually needed between two parties rapidly becomes very complex, and requires knowledge of other parts of the topology.
3.
4. If an alert can take alternate paths, or be stored in multiple locations, the recorded times may be different depending on the path taken.
4. アラートが代替パスを取ることができる場合、または複数の場所に保存できる場合、録音された時間は、実行されるパスによって異なる場合があります。
The above being said, <AnalyzerTime> synchronization is probably still better than nothing in many environments. To implement this type of synchronization, the following procedure is suggested:
上記の言われていると、<分析>同期は、おそらく多くの環境では何もないよりもまだ優れています。このタイプの同期を実装するには、次の手順を提案します。
1. When an analyzer or manager sends an IDMEF message, it should place the current value of its time-of-day clock in an <AnalyzerTime> element. This should occur as late as possible in the message transmission process, ideally right before the message is "put on the wire".
1. アナライザーまたはマネージャーがIDMEFメッセージを送信すると、時刻の時計の現在の値を<分析>要素に配置する必要があります。これは、メッセージ送信プロセスで可能な限り遅れて、理想的にはメッセージが「ワイヤーに置かれる」直前に発生するはずです。
2. When a manager receives an IDMEF message, it should compute the difference between its own time-of-day clock and the time in the <AnalyzerTime> element of the message. This difference should then be used to adjust the times in the <CreateTime> and <DetectTime> elements (NTP timestamps should also be adjusted).
2.
3. If the manager is an intermediary and sends the IDMEF message on to a higher-level manager, and hop-by-hop synchronization is in effect, it should regenerate the <AnalyzerTime> value to contain the value of its own time-of-day clock.
3. マネージャーが仲介者であり、IDMEFメッセージを高レベルのマネージャーに送信し、ホップバイホップの同期が有効である場合、<分析>値を再生して、独自の時間の値を含める必要があります。時計。
From [8]:
Note that, since some time in 1968 (second 2,147,483,648) the most significant bit (bit 0 of the integer part) has been set and that the 64-bit field will overflow some time in 2036 (second 4,294,967,296). Should NTP or SNTP be in use in 2036, some external means will be necessary to qualify time relative to 1900 and time relative to 2036 (and other multiples of 136 years). There will exist a 200-picosecond interval, henceforth ignored, every 136 years when the 64-bit field will be 0, which by convention is interpreted as an invalid or unavailable timestamp.
1968年のしばらくしてから(2,147,483,648秒)、最も重要なビット(整数部分のビット0)が設定されており、64ビットフィールドは2036年(2番目の4,294,967,296)にある程度あふれていることに注意してください。NTPまたはSNTPが2036年に使用されている場合、1900年と2036年(および136年のその他の倍数)に比べて時間を修飾するために、いくつかの外部手段が必要になります。64ビットフィールドが0になる136年ごとに、200ポンド秒間隔が存在し、今後は無視されます。
IDMEF-compliant applications MUST NOT send a zero-valued NTP timestamp unless they mean to indicate that it is invalid or unavailable. If an IDMEF-compliant application must send an IDMEF message at the time of rollover, the application should wait for 200 picoseconds until the timestamp will have a non-zero value.
Also from [8]:
また[8]から:
As the NTP timestamp format has been in use for the last 17 years, it remains a possibility that it will be in use 40 years from now when the seconds field overflows. As it is probably inappropriate to archive NTP timestamps before bit 0 was set in 1968, a convenient way to extend the useful life of NTP timestamps is the following convention:
NTPタイムスタンプ形式は過去17年間使用されてきたため、秒フィールドがオーバーフローしてから40年後に使用される可能性が残っています。1968年にビット0が設定される前にNTPタイムスタンプをアーカイブすることはおそらく不適切であるため、NTPタイムスタンプの耐用年数を延長する便利な方法は次の条約です。
If bit 0 is set, the UTC time is in the range 1968-2036 and UTC time is reckoned from 0h 0m 0s UTC on 1 January 1900.
ビット0が設定されている場合、UTC時間は1968年から2036年の範囲で、UTC時間は1900年1月1日の0H 0m 0S UTCから計算されます。
If bit 0 is not set, the time is in the range 2036-2104 and UTC time is reckoned from 6h 28m 16s UTC on 7 February 2036.
Note that when calculating the correspondence, 2000 is not a leap year. Note also that leap seconds are not counted in the reckoning.
通信を計算する場合、2000年は跳躍年ではないことに注意してください。また、跳躍秒は計算ではカウントされないことに注意してください。
IDMEF-compliant applications in use after 2036-02-07T06:28:16Z MUST adhere to the above convention.
2036-02-07T06:28:16Z以降に使用されているIDMEFに準拠したアプリケーションは、上記の条約を順守する必要があります。
Standard XML digital signature processing rules and syntax are specified in [13]. XML Signatures provide integrity, message authentication, and/or signer authentication services for data of any type, whether located within the XML that includes the signature or elsewhere.
標準のXMLデジタル署名処理ルールと構文は[13]で指定されています。XML署名は、署名または他の場所を含むXML内にあるかどうかにかかわらず、あらゆるタイプのデータの整合性、メッセージ認証、および/または署名者認証サービスを提供します。
The IDMEF requirements document [2] assigns responsibility for message integrity and authentication to the communications protocol, not the message format. However, in situations where IDMEF messages are exchanged over other, less secure protocols, or in cases where the digital signatures must be archived for later use, the inclusion of digital signatures within an IDMEF message itself may be desirable.
Specifications for the use of digital signatures within IDMEF messages are outside the scope of this document. However, if such functionality is needed, use of the XML Signature standard is RECOMMENDED.
The examples shown in this section demonstrate how the IDMEF is used to encode alert data. These examples are for illustrative purposes only, and do not necessarily represent the only (or even the "best") way to encode these particular alerts. These examples should not be taken as guidelines on how alerts should be classified.
このセクションに示す例は、AlertデータをエンコードするためにIDMEFを使用する方法を示しています。これらの例は、説明のみを目的としており、これらの特定のアラートをエンコードする唯一の(または「最良の」)方法を必ずしも表しているわけではありません。これらの例は、アラートの分類方法に関するガイドラインとして取られるべきではありません。
The following examples show how some common denial-of-service attacks could be represented in the IDMEF.
次の例は、IDMEFでいくつかの一般的なサービス拒否攻撃をどのように表現できるかを示しています。
Network-based detection of the "teardrop" attack. This shows the basic format of an alert.
「Teardrop」攻撃のネットワークベースの検出。これは、アラートの基本形式を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message xmlns:idmef="http://iana.org/idmef" version="1.0"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="hq-dmz-analyzer01"> <idmef:Node category="dns"> <idmef:location>Headquarters DMZ Network</idmef:location> <idmef:name>analyzer01.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc723b45.0xef449129"> 2000-03-09T10:01:25.93464-05:00 </idmef:CreateTime> <idmef:Source ident="a1b2c3d4"> <idmef:Node ident="a1b2c3d4-001" category="dns"> <idmef:name>badguy.example.net</idmef:name> <idmef:Address ident="a1b2c3d4-002" category="ipv4-net-mask"> <idmef:address>192.0.2.50</idmef:address> <idmef:netmask>255.255.255.255</idmef:netmask> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target ident="d1c2b3a4"> <idmef:Node ident="d1c2b3a4-001" category="dns"> <idmef:Address category="ipv4-addr-hex"> <idmef:address>0xde796f70</idmef:address> </idmef:Address> </idmef:Node> </idmef:Target> <idmef:Classification text="Teardrop detected"> <idmef:Reference origin="bugtraqid"> <idmef:name>124</idmef:name> <idmef:url>http://www.securityfocus.com/bid/124</idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert>
</idmef:IDMEF-Message>
Network-based detection of the "ping of death" attack. Note the identification of multiple targets, and the identification of the source as a spoofed address.
NOTE: The URL has been cut to fit the IETF formating requirements.
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="bc-sensor01"> <idmef:Node category="dns"> <idmef:name>sensor.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc71f4f5.0xef449129"> 2000-03-09T10:01:25.93464Z </idmef:CreateTime> <idmef:Source ident="a1a2" spoofed="yes"> <idmef:Node ident="a1a2-1"> <idmef:Address ident="a1a2-2" category="ipv4-addr"> <idmef:address>192.0.2.200</idmef:address> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target ident="b3b4"> <idmef:Node> <idmef:Address ident="b3b4-1" category="ipv4-addr"> <idmef:address>192.0.2.50</idmef:address> </idmef:Address> </idmef:Node> </idmef:Target> <idmef:Target ident="c5c6"> <idmef:Node ident="c5c6-1" category="nisplus"> <idmef:name>lollipop</idmef:name> </idmef:Node> </idmef:Target> <idmef:Target ident="d7d8"> <idmef:Node ident="d7d8-1"> <idmef:location>Cabinet B10</idmef:location> <idmef:name>Cisco.router.b10</idmef:name> </idmef:Node> </idmef:Target>
<idmef:Classification text="Ping-of-death detected"> <idmef:Reference origin="cve"> <idmef:name>CVE-1999-128</idmef:name> <idmef:url>http://www.cve.mitre.org/cgi-bin/ cvename.cgi?name=CVE-1999-128</idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message>
The following examples show how some common port scanning attacks could be represented in the IDMEF.
Host-based detection of a policy violation (attempt to obtain information via "finger"). Note the identification of the target service, as well as the originating user (obtained, e.g., through RFC 1413 [11]).
ポリシー違反のホストベースの検出(「指」を介して情報を取得しようとする試み)。ターゲットサービスの識別と発信元のユーザー(たとえば、RFC 1413 [11]を介して取得)に注意してください。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="bc-sensor01"> <idmef:Node category="dns"> <idmef:name>sensor.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc72541d.0x00000000"> 2000-03-09T18:47:25+02:00 </idmef:CreateTime> <idmef:Source ident="a123"> <idmef:Node ident="a123-01"> <idmef:Address ident="a123-02" category="ipv4-addr"> <idmef:address>192.0.2.200</idmef:address> </idmef:Address> </idmef:Node> <idmef:User ident="q987-03" category="os-device"> <idmef:UserId ident="q987-04" type="target-user"> <idmef:name>badguy</idmef:name> </idmef:UserId> </idmef:User> <idmef:Service ident="a123-03"> <idmef:port>31532</idmef:port>
</idmef:Service> </idmef:Source> <idmef:Target ident="z456"> <idmef:Node ident="z456-01" category="nis"> <idmef:name>myhost</idmef:name> <idmef:Address ident="z456-02" category="ipv4-addr"> <idmef:address>192.0.2.50</idmef:address> </idmef:Address> </idmef:Node> <idmef:Service ident="z456-03"> <idmef:name>finger</idmef:name> <idmef:port>79</idmef:port> </idmef:Service> </idmef:Target> <idmef:Classification text="Portscan"> <idmef:Reference origin="vendor-specific"> <idmef:name>finger</idmef:name> <idmef:url>http://www.vendor.com/finger</idmef:url> </idmef:Reference> <idmef:Reference origin="vendor-specific" meaning="general documentation"> <idmef:name>Distributed attack</idmef:name> <idmef:url>http://www.vendor.com/distributed</idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message>
Network-based detection of a port scan. This shows detection by a single analyzer; see Section 7.5 for the same attack as detected by a correlation engine. Note the use of <portlist> to show the ports that were scanned.
ポートスキャンのネットワークベースの検出。これは、単一のアナライザーによる検出を示しています。相関エンジンで検出されたのと同じ攻撃については、セクション7.5を参照してください。<portlist>の使用に注意して、スキャンされたポートを表示します。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="hq-dmz-analyzer62"> <idmef:Node category="dns"> <idmef:location>Headquarters Web Server</idmef:location> <idmef:name>analyzer62.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc72b2b4.0x00000000"> 2000-03-09T15:31:00-08:00
</idmef:CreateTime> <idmef:Source ident="abc01"> <idmef:Node ident="abc01-01"> <idmef:Address ident="abc01-02" category="ipv4-addr"> <idmef:address>192.0.2.200</idmef:address> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target ident="def01"> <idmef:Node ident="def01-01" category="dns"> <idmef:name>www.example.com</idmef:name> <idmef:Address ident="def01-02" category="ipv4-addr"> <idmef:address>192.0.2.50</idmef:address> </idmef:Address> </idmef:Node> <idmef:Service ident="def01-03"> <idmef:portlist>5-25,37,42,43,53,69-119,123-514 </idmef:portlist> </idmef:Service> </idmef:Target> <idmef:Classification text="simple portscan"> <idmef:Reference origin="vendor-specific"> <idmef:name>portscan</idmef:name> <idmef:url>http://www.vendor.com/portscan</idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message>
The following examples show how some common local host attacks could be represented in the IDMEF.
Host-based detection of the "loadmodule" exploit. This attack involves tricking the "loadmodule" program into running another program; since "loadmodule" is set-user-id "root", the executed program runs with super-user privileges. Note the use of <User> and <Process> to identify the user attempting the exploit and how he's doing it.
「ロードモジュール」エクスプロイトのホストベースの検出。この攻撃では、「LoadModule」プログラムをトリックして別のプログラムを実行します。「LoadModule」はセットユーザーID「ルート」であるため、実行されたプログラムはスーパーユーザーの特権で実行されます。<ユーザー>と<process>の使用に注意して、エクスプロイトを試みているユーザーと彼のやり方を識別します。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789">
<idmef:Analyzer analyzerid="bc-fs-sensor13"> <idmef:Node category="dns"> <idmef:name>fileserver.example.com</idmef:name> </idmef:Node> <idmef:Process> <idmef:name>monitor</idmef:name> <idmef:pid>8956</idmef:pid> <idmef:arg>monitor</idmef:arg> <idmef:arg>-d</idmef:arg> <idmef:arg>-m</idmef:arg> <idmef:arg>idmanager.example.com</idmef:arg> <idmef:arg>-l</idmef:arg> <idmef:arg>/var/logs/idlog</idmef:arg> </idmef:Process> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc7221c0.0x4ccccccc"> 2000-03-09T08:12:32.3-05:00 </idmef:CreateTime> <idmef:Source ident="a1a2"> <idmef:User ident="a1a2-01" category="os-device"> <idmef:UserId ident="a1a2-02" type="original-user"> <idmef:name>joe</idmef:name> <idmef:number>13243</idmef:number> </idmef:UserId> </idmef:User> <idmef:Process ident="a1a2-03"> <idmef:name>loadmodule</idmef:name> <idmef:path>/usr/openwin/bin</idmef:path> </idmef:Process> </idmef:Source> <idmef:Target ident="z3z4"> <idmef:Node ident="z3z4-01" category="dns"> <idmef:name>fileserver.example.com</idmef:name> </idmef:Node> </idmef:Target> <idmef:Classification text="Loadmodule attack" ident="loadmodule"> <idmef:Reference origin="bugtraqid"> <idmef:name>33</idmef:name> <idmef:url>http://www.securityfocus.com</idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message> The Intrusion Detection System (IDS) could also indicate that the target user is the "root" user, and show the attempted command; the alert might then look like:
<IDMEF:Analyzer AnalyzerID = "BC-FS-SENSOR13"> <idmef:node category = "dns"> <idmef:name> fileserver.example.com </idmef:name> </idmef:node> <idmef:Process> <idmef:name> monitor </idmef:name> <idmef:pid> 8956 </idmef:pid> <idmef:arg> monitor </argmef:arg> <idmef:arg> -d </idmef:arg><idmef:arg> -m </idmef:arg> <idmef:arg> idmanager.example.com </idmef:arg> <idmef:arg> -l </idmef:arg> <idmef:arg>/var//logs/idlog </idmef:arg> </idmef:process> </idmef:aNalyzer> <idmef:createTime ntpstamp = "0xbc7221c0.0x4cccccc"> 2000-03-09t08:12:32.3-05:00 </idmef:00 </idmef:createTime> <idmef:source識別= "a1a2"> <idmef:user識別= "a1a2-01" category = "os-device"> <idmef:userid識別= "a1a2-02" type = "original-user"><idmef:name> joe </idmef:name> <idmef:number> 13243 </idmef:number> </idmef:userid> </idmef:user> <idmef:process識別= "a1a2-03"> <idmef:name> loadModule </idmef:name> <idmef:path>/usr/openwin/bin </idmef:path> </idmef:process> </idmef:source> <idmef:ターゲット識別= "z3z4"> <idmef:node識別= "z3z4-01" category = "dns"> <idmef:name> fileserver.example.com </idmef:name> </idmef:node> </idmef:ターゲット> <idmef:分類テキスト="LoadModule Attack" Ident = "loadModule"> <idmef:参照Origin = "bugtraqid"> <idmef:name> 33 </idmef:name> <idmef:url> http://www.securityfocus.com </idmef:url> </idmef:参照> </idmef:classification> </idmef:alert> </idmef:idmef-message>侵入検知システム(IDS)は、ターゲットユーザーが「ルート」ユーザーであることを示し、試行されたコマンドを表示します。アラートは次のように見えるかもしれません:
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="bc-fs-sensor13"> <idmef:Node category="dns"> <idmef:name>fileserver.example.com</idmef:name> </idmef:Node> <idmef:Process> <idmef:name>monitor</idmef:name> <idmef:pid>8956</idmef:pid> <idmef:arg>monitor</idmef:arg> <idmef:arg>-d</idmef:arg> <idmef:arg>-m</idmef:arg> <idmef:arg>idmanager.example.com</idmef:arg> <idmef:arg>-l</idmef:arg> <idmef:arg>/var/logs/idlog</idmef:arg> </idmef:Process> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc7221c0.0x4ccccccc"> 2000-03-09T08:12:32.3-05:00 </idmef:CreateTime> <idmef:Source ident="a1a2"> <idmef:User ident="a1a2-01" category="os-device"> <idmef:UserId ident="a1a2-02" type="original-user"> <idmef:name>joe</idmef:name> <idmef:number>13243</idmef:number> </idmef:UserId> </idmef:User> <idmef:Process ident="a1a2-03"> <idmef:name>loadmodule</idmef:name> <idmef:path>/usr/openwin/bin</idmef:path> </idmef:Process> </idmef:Source> <idmef:Target ident="z3z4"> <idmef:Node ident="z3z4-01" category="dns"> <idmef:name>fileserver.example.com</idmef:name> </idmef:Node> <idmef:User ident="z3z4-02" category="os-device"> <idmef:UserId ident="z3z4-03" type="target-user"> <idmef:name>root</idmef:name> <idmef:number>0</idmef:number> </idmef:UserId>
</idmef:User> <idmef:Process ident="z3z4-04"> <idmef:name>sh</idmef:name> <idmef:pid>25134</idmef:pid> <idmef:path>/bin/sh</idmef:path> </idmef:Process> </idmef:Target> <idmef:Classification text="Loadmodule attack" ident="loadmodule"> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message>
Note that the identification of the classification is used.
分類の識別が使用されることに注意してください。
Network-based detection of the "phf" attack. Note the use of the <WebService> element to provide more details about this particular attack.
「PHF」攻撃のネットワークベースの検出。この特定の攻撃に関する詳細を提供するために、<webservice>要素の使用に注意してください。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="bc-sensor01"> <idmef:Node category="dns"> <idmef:name>sensor.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc71e980.0x00000000"> 2000-03-09T08:12:32-01:00 </idmef:CreateTime> <idmef:Source ident="abc123"> <idmef:Node ident="abc123-001"> <idmef:Address ident="abc123-002" category="ipv4-addr"> <idmef:address>192.0.2.200</idmef:address> </idmef:Address> </idmef:Node> <idmef:Service ident="abc123-003"> <idmef:port>21534</idmef:port> </idmef:Service> </idmef:Source> <idmef:Target ident="xyz789"> <idmef:Node ident="xyz789-001" category="dns"> <idmef:name>www.example.com</idmef:name>
<idmef:Address ident="xyz789-002" category="ipv4-addr"> <idmef:address>192.0.2.100</idmef:address> </idmef:Address> </idmef:Node> <idmef:Service> <idmef:port>8080</idmef:port> <idmef:WebService> <idmef:url> http://www.example.com/cgi-bin/phf?/etc/group </idmef:url> <idmef:cgi>/cgi-bin/phf</idmef:cgi> <idmef:http-method>GET</idmef:http-method> </idmef:WebService> </idmef:Service> </idmef:Target> <idmef:Classification text="phf attack"> <idmef:Reference origin="bugtraqid"> <idmef:name>629</idmef:name> <idmef:url> http://www.securityfocus.com/bid/629 </idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message>
Host-based detection of a race condition attack. Note the use of the <File> to provide information about the files that are used to perform the attack.
人種攻撃のホストベースの検出。<file>の使用に注意して、攻撃の実行に使用されるファイルに関する情報を提供します。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert> <idmef:Analyzer analyzerid="bids-192.0.2.1" ostype="Linux" osversion="2.2.16-3"> <idmef:Node category="hosts"> <idmef:name>etude</idmef:name> <idmef:Address category="ipv4-addr"> <idmef:address>192.0.2.1</idmef:address> </idmef:Address> </idmef:Node> </idmef:Analyzer>
<idmef:CreateTime ntpstamp="0xbc71e980.0x00000000"> 2000-03-09T08:12:32-01:00 </idmef:CreateTime> <idmef:Source spoofed="no"> <idmef:Node> <idmef:location>console</idmef:location> <idmef:Address category="ipv4-addr"> <idmef:address>192.0.2.1</idmef:address> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target decoy="no"> <idmef:Node> <idmef:location>local</idmef:location> <idmef:Address category="ipv4-addr"> <idmef:address>192.0.2.1</idmef:address> </idmef:Address> </idmef:Node> <idmef:User category="os-device"> <idmef:UserId type="original-user"> <idmef:number>456</idmef:number> </idmef:UserId> <idmef:UserId type="current-user"> <idmef:name>fred</idmef:name> <idmef:number>456</idmef:number> </idmef:UserId> <idmef:UserId type="user-privs"> <idmef:number>456</idmef:number> </idmef:UserId> </idmef:User> <idmef:File category="current" fstype="tmpfs"> <idmef:name>xxx000238483</idmef:name> <idmef:path>/tmp/xxx000238483</idmef:path> <idmef:FileAccess> <idmef:UserId type="user-privs"> <idmef:name>alice</idmef:name> <idmef:number>777</idmef:number> </idmef:UserId> <idmef:permission perms="read" /> <idmef:permission perms="write" /> <idmef:permission perms="delete" /> <idmef:permission perms="changePermissions" /> </idmef:FileAccess> <idmef:FileAccess> <idmef:UserId type="group-privs"> <idmef:name>user</idmef:name> <idmef:number>42</idmef:number> </idmef:UserId>
<idmef:permission perms="read" /> <idmef:permission perms="write" /> <idmef:permission perms="delete" /> </idmef:FileAccess> <idmef:FileAccess> <idmef:UserId type="other-privs"> <idmef:name>world</idmef:name> </idmef:UserId> <idmef:permission perms="noAccess" /> </idmef:FileAccess> <idmef:Linkage category="symbolic-link"> <idmef:name>passwd</idmef:name> <idmef:path>/etc/passwd</idmef:path> </idmef:Linkage> </idmef:File> </idmef:Target> <idmef:Classification text="DOM race condition"> <idmef:Reference origin="vendor-specific"> <idmef:name>DOM race condition</idmef:name> <idmef:url>file://attack-info/race.html </idmef:url> </idmef:Reference> </idmef:Classification> </idmef:Alert> </idmef:IDMEF-Message>
In this example, logins are restricted to daytime hours. The alert reports a violation of this policy that occurs when a user logs in a little after 10:00 pm. Note the use of <AdditionalData> to provide information about the policy being violated.
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="bc-ds-01"> <idmef:Node category="dns"> <idmef:name>dialserver.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc72e7ef.0x00000000"> 2000-03-09T22:18:07-05:00 </idmef:CreateTime> <idmef:Source ident="s01"> <idmef:Node ident="s01-1">
<idmef:Address category="ipv4-addr"> <idmef:address>127.0.0.1</idmef:address> </idmef:Address> </idmef:Node> <idmef:Service ident="s01-2"> <idmef:port>4325</idmef:port> </idmef:Service> </idmef:Source> <idmef:Target ident="t01"> <idmef:Node ident="t01-1" category="dns"> <idmef:name>mainframe.example.com</idmef:name> </idmef:Node> <idmef:User ident="t01-2" category="os-device"> <idmef:UserId ident="t01-3" type="current-user"> <idmef:name>louis</idmef:name> <idmef:number>501</idmef:number> </idmef:UserId> </idmef:User> <idmef:Service ident="t01-4"> <idmef:name>login</idmef:name> <idmef:port>23</idmef:port> </idmef:Service> </idmef:Target> <idmef:Classification text="Login policy violation"> <idmef:Reference origin="user-specific"> <idmef:name>out-of-hours activity</idmef:name> <idmef:url>http://my.company.com/policies </idmef:url> </idmef:Reference> </idmef:Classification> <idmef:AdditionalData type="date-time" meaning="start-time"> <idmef:date-time>2000-03-09T07:00:00-05:00</idmef:date-time> </idmef:AdditionalData> <idmef:AdditionalData type="date-time" meaning="stop-time"> <idmef:date-time>2000-03-09T19:30:00-05:00</idmef:date-time> </idmef:AdditionalData> </idmef:Alert> </idmef:IDMEF-Message>
The following example shows how the port scan alert from Section 7.2.2 could be represented if it had been detected and sent from a correlation engine, instead of a single analyzer.
次の例は、単一のアナライザーではなく、相関エンジンから検出および送信された場合、セクション7.2.2からのポートスキャンアラートをどのように表現できるかを示しています。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="bc-corr-01"> <idmef:Node category="dns"> <idmef:name>correlator01.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc72423b.0x00000000"> 2000-03-09T15:31:07Z </idmef:CreateTime> <idmef:Source ident="a1"> <idmef:Node ident="a1-1"> <idmef:Address ident="a1-2" category="ipv4-addr"> <idmef:address>192.0.2.200</idmef:address> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target ident="a2"> <idmef:Node ident="a2-1" category="dns"> <idmef:name>www.example.com</idmef:name> <idmef:Address ident="a2-2" category="ipv4-addr"> <idmef:address>192.0.2.50</idmef:address> </idmef:Address> </idmef:Node> <idmef:Service ident="a2-3"> <idmef:portlist>5-25,37,42,43,53,69-119,123-514 </idmef:portlist> </idmef:Service> </idmef:Target> <idmef:Classification text="Portscan"> <idmef:Reference origin="vendor-specific"> <idmef:name>portscan</idmef:name> <idmef:url>http://www.vendor.com/portscan</idmef:url> </idmef:Reference> </idmef:Classification> <idmef:CorrelationAlert> <idmef:name>multiple ports in short time</idmef:name> <idmef:alertident>123456781</idmef:alertident> <idmef:alertident>123456782</idmef:alertident>
<idmef:alertident>123456783</idmef:alertident> <idmef:alertident>123456784</idmef:alertident> <idmef:alertident>123456785</idmef:alertident> <idmef:alertident>123456786</idmef:alertident> <idmef:alertident analyzerid="a1b2c3d4">987654321 </idmef:alertident> <idmef:alertident analyzerid="a1b2c3d4">987654322 </idmef:alertident> </idmef:CorrelationAlert> </idmef:Alert> </idmef:IDMEF-Message>
Host-based detection of a successful unauthorized acquisition of root access through the eject buffer overflow. Note the use of <Assessment> to provide information about the analyzer's evaluation of and reaction to the attack.
排出バッファーオーバーフローを介したルートアクセスの不正な獲得の成功のホストベースの検出。<評価>の使用に注意して、アナライザーの攻撃の評価と反応に関する情報を提供します。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Alert> <idmef:Analyzer analyzerid="bids-192.0.2.1"> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc71e980.0x00000000"> 2000-03-09T08:12:32-01:00 </idmef:CreateTime> <idmef:Source spoofed="no"> <idmef:Node> <idmef:location>console</idmef:location> <idmef:Address category="ipv4-addr"> <idmef:address>192.0.2.1</idmef:address> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target decoy="no"> <idmef:Node> <idmef:location>local</idmef:location> <idmef:Address category="ipv4-addr"> <idmef:address>192.0.2.1</idmef:address> </idmef:Address> </idmef:Node> <idmef:User category="os-device"> <idmef:UserId type="original-user"> <idmef:number>456</idmef:number> </idmef:UserId>
<idmef:UserId type="current-user"> <idmef:name>root</idmef:name> <idmef:number>0</idmef:number> </idmef:UserId> <idmef:UserId type="user-privs"> <idmef:number>0</idmef:number> </idmef:UserId> </idmef:User> <idmef:Process> <idmef:name>eject</idmef:name> <idmef:pid>32451</idmef:pid> <idmef:path>/usr/bin/eject</idmef:path> <idmef:arg>\x90\x80\x3f\xff...\x08/bin/sh</idmef:arg> </idmef:Process> </idmef:Target> <idmef:Classification text="Unauthorized administrative access"> <idmef:Reference origin="vendor-specific"> <idmef:name>Unauthorized user to superuser</idmef:name> <idmef:url>file://attack-info/u2s.html</idmef:url> </idmef:Reference> </idmef:Classification> <idmef:Assessment> <idmef:Impact severity="high" completion="succeeded" type="admin"/> <idmef:Action category="notification-sent"> page </idmef:Action> <idmef:Action category="block-installed"> disabled user (fred) </idmef:Action> <idmef:Action category="taken-offline"> logout user (fred) </idmef:Action> <idmef:Confidence rating="high"/> </idmef:Assessment> </idmef:Alert> </idmef:IDMEF-Message>
This example shows a Heartbeat message that provides "I'm alive and working" information to the manager. Note the use of <AdditionalData> elements, with "meaning" attributes, to provide some additional information.
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:idmef="http://iana.org/idmef"> <idmef:Heartbeat messageid="abc123456789"> <idmef:Analyzer analyzerid="hq-dmz-analyzer01"> <idmef:Node category="dns"> <idmef:location>Headquarters DMZ Network</idmef:location> <idmef:name>analyzer01.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc722ebe.0x00000000"> 2000-03-09T14:07:58Z </idmef:CreateTime> <idmef:AdditionalData type="real" meaning="%memused"> <idmef:real>62.5</idmef:real> </idmef:AdditionalData> <idmef:AdditionalData type="real" meaning="%diskused"> <idmef:real>87.1</idmef:real> </idmef:AdditionalData> </idmef:Heartbeat> </idmef:IDMEF-Message>
The following example shows how to extend the IDMEF DTD. In the example, the VendorCo company has decided it wants to add geographic information to the Node class. To do this, VendorCo creates a Document Type Definition or DTD that defines how their class will be formatted:
次の例は、IDMEF DTDを拡張する方法を示しています。この例では、Vendorco Companyは、Nodeクラスに地理情報を追加したいと考えています。これを行うために、Vendorcoは、クラスのフォーマットを定義するドキュメントタイプ定義またはDTDを作成します。
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:vendorco="http://vendor.com/idmef" targetNamespace="http://vendor.com/idmef" elementFormDefault="qualified" >
<xsd:annotation> <xsd:documentation> Intrusion Detection Message Exchange Format (IDMEF) Extension for geographic information </xsd:documentation> </xsd:annotation>
<xsd:complexType name="NodeGeoType"> <xsd:sequence> <xsd:element name="latitude" type="xsd:string" /> <xsd:element name="longitude"
type="xsd:string" />
<xsd:element name="elevation" type="xsd:string" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="node-ident" type="xsd:integer" use="required"/> </xsd:complexType>
<xsd:element name="NodeGeography" type="vendorco:NodeGeoType" />
</xsd:schema>
The VendorCo:NodeGeography class will contain the geographic data in three aggregate classes, VendorCo:latitude, VendorCo:longitude, and VendorCo:elevation. To associate the information in this class with a particular node, the "VendorCo:node-ident" attribute is provided; it must contain the same value as the "ident" attribute on the relevant Node element.
Vendorco:Nodegeographyクラスには、3つの集計クラス、Vendorco:Latitude、Vendorco:経度、およびVendorco:Elevationの地理的データが含まれます。このクラスの情報を特定のノードに関連付けるために、「ベンドルコ:ノード識別」属性が提供されます。関連するノード要素の「識別」属性と同じ値を含める必要があります。
To make use of this DTD now, VendorCo follows the rules in Section 5.2 and defines a parameter entity called "x-vendorco" within the Document Type Definition, and then references this entity. In the alert, the VendorCo elements are included under the AdditionalData element, with a "type" attribute of "xml", as shown below.
今すぐこのDTDを利用するために、Vendorcoはセクション5.2のルールに従い、ドキュメントタイプ定義内の「X-Vendorco」と呼ばれるパラメーターエンティティを定義し、このエンティティを参照します。アラートでは、以下に示すように、「XML」の「タイプ」属性を備えた追加のDATA要素の下にベンドルコ要素が含まれています。
<?xml version="1.0" encoding="UTF-8"?>
<idmef:IDMEF-Message version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:idmef="http://iana.org/idmef" xmlns:vendorco="http://v.com/idmef" xsi:schemaLocation="http://v.com/idmef http://v.com/geo.xsd">
<idmef:Alert messageid="abc123456789"> <idmef:Analyzer analyzerid="hq-dmz-analyzer01"> <idmef:Node category="dns"> <idmef:location>Headquarters DMZ Network</idmef:location> <idmef:name>analyzer01.example.com</idmef:name> </idmef:Node> </idmef:Analyzer> <idmef:CreateTime ntpstamp="0xbc723b45.0xef449129"> 2000-03-09T10:01:25.93464-05:00 </idmef:CreateTime>
<idmef:Source ident="a1b2c3d4"> <idmef:Node ident="a1b2c3d4-001" category="dns"> <idmef:name>badguy.example.net</idmef:name> <idmef:Address ident="a1b2c3d4-002" category="ipv4-net-mask"> <idmef:address>192.0.2.50</idmef:address> <idmef:netmask>255.255.255.255</idmef:netmask> </idmef:Address> </idmef:Node> </idmef:Source> <idmef:Target ident="d1c2b3a4"> <idmef:Node ident="d1c2b3a4-001" category="dns"> <idmef:Address category="ipv4-addr-hex"> <idmef:address>0xde796f70</idmef:address> </idmef:Address> </idmef:Node> </idmef:Target> <idmef:Classification text="Teardrop"> <idmef:Reference origin="bugtraqid"> <idmef:name>124</idmef:name> <idmef:url>http://www.securityfocus.com/bid/124</idmef:url> </idmef:Reference> </idmef:Classification> <idmef:AdditionalData type="xml" meaning="node geo info"> <idmef:xml> <vendorco:NodeGeography xmlns:vendorco="http://vendor.com/idmef" xsi:schemaLocation="http://v.com/idmef http://v.com/geo.xsd" vendorco:node-ident="a1b2c3d4-001"> <vendorco:latitude>38.89</vendorco:latitude> <vendorco:longitude>-77.02</vendorco:longitude> </vendorco:NodeGeography> </idmef:xml> </idmef:AdditionalData> </idmef:Alert> </idmef:IDMEF-Message>
<?xml version="1.0" encoding="UTF-8"?>
<!-- *************************************************************** ******************************************************************* *** Intrusion Detection Message Exchange Format (IDMEF) XML DTD *** *** Version 1.0, 07 March 2006 *** *** *** *** The use and extension of the IDMEF XML DTD are described in *** *** RFC 4765, "The Intrusion Detection Message Exchange *** *** Format", H. Debar, D. Curry, B. Feinstein. *** ******************************************************************* *************************************************************** -->
<!-- =============================================================== =================================================================== === SECTION 1. Attribute list declarations. =================================================================== =============================================================== -->
<!-- | Attributes of the IDMEF element. In general, the fixed values of | these attributes will change each time a new version of the DTD | is released. -->
<!ENTITY % attlist.idmef " version CDATA #FIXED '1.0' ">
<!entity%attlist.idmef "バージョンcdata #fixed '1.0'">
<!-- | Attributes of all elements. These are the "XML" attributes that | every element should have. Space handling, language, and name | space. --> <!ENTITY % attlist.global " xmlns:idmef CDATA #FIXED 'http://iana.org/idmef' xmlns CDATA #FIXED 'http://iana.org/idmef' xml:space (default | preserve) 'default' xml:lang NMTOKEN #IMPLIED ">
<!-- =============================================================== =================================================================== === SECTION 2. Attribute value declarations. Enumerated values for === many of the element-specific attribute lists. =================================================================== =============================================================== -->
<!-- | Values for the Action.category attribute. --> <!ENTITY % attvals.actioncat " ( block-installed | notification-sent | taken-offline | other ) ">
<! - |Action.Category属性の値。 - > <!entity%attvals.actioncat "(block-installed | notification-sent |削除|その他)">
<!-- | Values for the Address.category attribute. --> <!ENTITY % attvals.addrcat " ( unknown | atm | e-mail | lotus-notes | mac | sna | vm | ipv4-addr | ipv4-addr-hex | ipv4-net | ipv4-net-mask | ipv6-addr | ipv6-addr-hex | ipv6-net | ipv6-net-mask ) ">
<! - |address.category属性の値。 - > <!entity%attvals.addrcat "(不明| atm | e-mail | lotus-notes | mac | sna | vm | ipv4-addr | ipv4-addr-hex | ipv4-net | ipv4-net-mask |ipv6-addr | ipv6-addr-hex | ipv6-net | ipv6-net-mask) ">
<!-- | Values for the AdditionalData.type attribute. --> <!ENTITY % attvals.adtype " ( boolean | byte | character | date-time | integer | ntpstamp | portlist | real | string | byte-string | xmltext ) ">
<! - |追加のData.Type属性の値。 - > <!entity%attvals.adtype "(boolean | byte | character | date-time | integer | ntpstamp | portlist | real | string | byte-string | xmltext)">
<!-- | Values for the Impact.completion attribute. --> <!ENTITY % attvals.completion " ( failed | succeeded ) "> <!-- | Values for the File.category attribute. --> <!ENTITY % attvals.filecat " ( current | original ) ">
<!ENTITY % attvals.fileperm "( noAccess | read | write | execute | search | delete | executeAs | changePermissions | takeOwnership)" >
<!entity%attvals.fileperm "(noaccess | read | write | execute | execute | delete | executeas | changepermissions | takeownship)">
<!-- | Values for the UserId.type attribute. --> <!ENTITY % attvals.idtype " ( current-user | original-user | target-user | user-privs | current-group | group-privs | other-privs ) ">
<! - |userid.type属性の値。 - > <!entity%attvals.idtype "(current-user | original-user | target-user | user-privs | current-group | group-privs | other-privs">
<!-- | Values for the Impact.type attribute. --> <!ENTITY % attvals.impacttype " ( admin | dos | file | recon | user | other ) ">
<! - |Impact.Type属性の値。 - > <!entity%attvals.impacttype "(admin | dos | file | recon | user | other)">
<!-- | Values for the Linkage.category attribute. --> <!ENTITY % attvals.linkcat " ( hard-link | mount-point | reparse-point | shortcut | stream | symbolic-link ) ">
<!-- | Values for the Checksum.algorithm attribute --> <!ENTITY % attvals.checksumalgos " ( MD4 | MD5 | SHA1 | SHA2-256 | SHA2-384 | SHA2-512 | CRC-32 | Haval | Tiger | Gost ) ">
<! - |checksum.algorithm属性の値 - > <!entity%attvals.checksumalgos "(md4 | md5 | sha1 | sha2-256 | sha2-384 | sha2-512 | crc-32 | haval | tiger | gost)">
<!-- | Values for the Node.category attribute. --> <!ENTITY % attvals.nodecat " ( unknown | ads | afs | coda | dfs | dns | hosts | kerberos | nds | nis | nisplus | nt | wfw ) ">
<! - |node.category属性の値。 - > <!entity%attvals.nodecat "(unknown | ads | afs | coda | dfs | dns | hosts | kerberos | nds | nis | nisplus | nt | wfw)">
<!-- | Values for the Reference.origin attribute. --> <!ENTITY % attvals.origin " ( unknown | vendor-specific | user-specific | bugtraqid | cve | osvdb ) ">
<!--
<! -
| Values for the Confidence.rating attribute. --> <!ENTITY % attvals.rating " ( low | medium | high | numeric ) ">
|信頼性の値。評価属性。 - > <!entity%attvals.rating "(low | medium | high | numeric)">
<!-- | Values for the Impact.severity attribute. --> <!ENTITY % attvals.severity " ( info | low | medium | high ) ">
<! - |Impact.Severity属性の値。 - > <!entity%attvals.severity "(info | low | medium | high)">
<!-- | Values for the User.category attribute. --> <!ENTITY % attvals.usercat " ( unknown | application | os-device ) ">
<!-- | Values for yes/no attributes such as Source.spoofed and | Target.decoy. --> <!ENTITY % attvals.yesno " ( unknown | yes | no ) ">
<! - |source.spoofedや|などのyes/no属性の値Target.Decoy。 - > <!entity%attvals.yesno "(不明|はい|いいえ)">
<!-- =============================================================== =================================================================== === SECTION 3. Top-level element declarations. The IDMEF-Message === element and the types of messages it can include. =================================================================== =============================================================== -->
<!ELEMENT IDMEF-Message ( (Alert | Heartbeat)* )> <!ATTLIST IDMEF-Message %attlist.global; %attlist.idmef; >
<!ELEMENT Alert ( Analyzer, CreateTime, DetectTime?, AnalyzerTime?, Source*, Target*, Classification, Assessment?, (ToolAlert | OverflowAlert | CorrelationAlert)?, AdditionalData* )>
<!要素アラート(Analyzer、createTime、DetectTime?、Analyzertime?、Source*、ターゲット*、分類、評価?、(ToolAlert | anuverflowAlert | correlationalert)?、adstitionData*)>
<!ATTLIST Alert messageid CDATA '0' %attlist.global; >
<!Attlist Alert MessageId CData '0'%attlist.global;>
<!ELEMENT Heartbeat ( Analyzer, CreateTime, HeartbeatInterval?, AnalyzerTime?, AdditionalData* )> <!ATTLIST Heartbeat messageid CDATA '0' %attlist.global; >
<!Element HeartBeat(Analyzer、Createtime、HeartBeatInterval?、Analyzertime?、adstitionData*)> <!attlist heartbeat messageid cdata '0'%attlist.global;>
<!-- =============================================================== =================================================================== === SECTION 4. Subclasses of the Alert element that provide more === data for specific types of alerts. =================================================================== =============================================================== -->
<!ELEMENT CorrelationAlert ( name, alertident+ )> <!ATTLIST CorrelationAlert %attlist.global; >
<!ELEMENT OverflowAlert ( program, size?, buffer? )> <!ATTLIST OverflowAlert %attlist.global; >
<!要素OverflowAlert(プログラム、サイズ?、バッファー?)> <!ATTLIST OVERFLOWALERT%ATTLIST.GLOBAL;>
<!ELEMENT ToolAlert ( name, command?, alertident+ )> <!ATTLIST ToolAlert %attlist.global; >
<!-- =============================================================== =================================================================== === SECTION 5. The AdditionalData element. This element allows an === alert to include additional information that cannot === be encoded elsewhere in the data model. ===================================================================
=============================================================== -->
<!ELEMENT AdditionalData ( (boolean | byte | character | date-time | integer | ntpstamp | portlist | real | string | byte-string | xmltext ) )>
<!element adthipleData((boolean | byte | character | date-time | integer | ntpstamp |ポートリスト| real | string | byte-string | xmltext)>
<!ATTLIST AdditionalData type %attvals.adtype; 'string' meaning CDATA #IMPLIED %attlist.global; >
<!attlist adthipdata type%attvals.adtype;cdata #implied%attlist.global;>
<!-- =============================================================== =================================================================== === SECTION 6. Elements related to identifying entities - analyzers === (the senders of these messages), sources (of === attacks), and targets (of attacks). =================================================================== =============================================================== -->
<!ELEMENT Analyzer ( Node?, Process?, Analyzer? )> <!ATTLIST Analyzer analyzerid CDATA '0' name CDATA #IMPLIED manufacturer CDATA #IMPLIED model CDATA #IMPLIED version CDATA #IMPLIED class CDATA #IMPLIED ostype CDATA #IMPLIED osversion CDATA #IMPLIED %attlist.global; >
<!ELEMENT Classification ( Reference* )> <!ATTLIST Classification ident CDATA '0' text CDATA #REQUIRED >
<!ELEMENT Source ( Node?, User?, Process?, Service?
<!要素ソース(ノード?、ユーザー?、プロセス?、サービス?
)> <!ATTLIST Source ident CDATA '0' spoofed %attvals.yesno; 'unknown' interface CDATA #IMPLIED %attlist.global; >
<!ELEMENT Target ( Node?, User?, Process?, Service?, File* )> <!ATTLIST Target ident CDATA '0' decoy %attvals.yesno; 'unknown' interface CDATA #IMPLIED %attlist.global; >
<!ELEMENT Assessment ( Impact?, Action*, Confidence? )> <!ATTLIST Assessment %attlist.global; >
<!-- =============================================================== =================================================================== === SECTION 7. Support elements used for providing detailed info === about entities - addresses, names, etc. =================================================================== =============================================================== -->
<!ELEMENT Reference ( name, url )> <!ATTLIST Reference origin %attvals.origin; 'unknown' meaning CDATA #IMPLIED >
<!要素リファレンス(name、url)> <!attlist reference rigin%attvals.origin;cdata #implied>を意味する「不明」を意味します
<!ELEMENT Node ( location?, (name | Address), Address* )> <!ATTLIST Node ident CDATA '0' category %attvals.nodecat; 'unknown' %attlist.global; >
<!要素ノード(location?、(name | address)、address*)> <!attlistノード識別cdata '0' category%attvals.nodecat;「不明」%attlist.global;>
<!ELEMENT Address ( address, netmask? )> <!ATTLIST Address ident CDATA '0' category %attvals.addrcat; 'unknown' vlan-name CDATA #IMPLIED vlan-num CDATA #IMPLIED %attlist.global; >
<!ELEMENT File ( name, path, create-time?, modify-time?, access-time?, data-size?, disk-size?, FileAccess*, Linkage*, Inode?, Checksum* )> <!ATTLIST File ident CDATA '0' category %attvals.filecat; #REQUIRED fstype CDATA #IMPLIED file-type CDATA #IMPLIED %attlist.global; >
<!ELEMENT Permission EMPTY > <!ATTLIST Permission perms %attvals.fileperm; #REQUIRED %attlist.global; >
<!ELEMENT FileAccess ( UserId, Permission+ )> <!ATTLIST FileAccess %attlist.global; >
<!ELEMENT Inode ( change-time?, (number, major-device, minor-device)?, (c-major-device, c-minor-device)? )> <!ATTLIST Inode %attlist.global; >
<!要素inode(変更時間?、(数、メジャーデバイス、マイナーデバイス)?、(c-major-device、c-minor-device)?)> <!attlist inode%attlist.global;>
<!ELEMENT Linkage ( (name, path) | File )>
<!要素リンケージ((名前、パス)|ファイル)>
<!ATTLIST Linkage category %attvals.linkcat; #REQUIRED %attlist.global; >
<!ELEMENT Checksum ( value, key? )> <!ATTLIST Checksum algorithm %attvals.checksumalgos; #REQUIRED %attlist.global; >
<!ELEMENT Process ( name, pid?, path?, arg*, env* )> <!ATTLIST Process ident CDATA '0' %attlist.global; >
<!ELEMENT Service ( (((name, port?) | (port, name?)) | portlist), protocol?, SNMPService?, WebService? )> <!ATTLIST Service ident CDATA '0' ip_version CDATA #IMPLIED iana_protocol_number CDATA #IMPLIED iana_protocol_name CDATA #IMPLIED %attlist.global; >
<!ELEMENT SNMPService ( oid?, messageProcessingModel?, securityModel?, securityName?, securityLevel?, contextName?, contextEngineID?, command? )> <!ATTLIST SNMPService %attlist.global; >
<!要素snmpservice(oid?、messageprocessingmodel?、securitymodel?、securityname?、securitylevel?、contextname?、contextengineid?、command?)> <!attlist snmpservice%attlist.global;>
<!ELEMENT User ( UserId+ )> <!ATTLIST User ident CDATA '0' category %attvals.usercat; 'unknown' %attlist.global;
<!要素ユーザー(userid)> <!attlistユーザー識別cdata '0' category%attvals.usercat;「不明」%attlist.global;
>
>
<!ELEMENT UserId ( (name, number?) | (number, name?) )> <!ATTLIST UserId ident CDATA '0' type %attvals.idtype; 'original-user' tty CDATA #IMPLIED %attlist.global; >
<!ELEMENT WebService ( url, cgi?, http-method?, arg* )> <!ATTLIST WebService %attlist.global; >
<!-- =============================================================== =================================================================== === SECTION 8. Simple elements with sub-elements or attributes of a === special nature. =================================================================== =============================================================== -->
<!ELEMENT Action (#PCDATA) > <!ATTLIST Action category %attvals.actioncat; 'other' %attlist.global; >
<!ELEMENT CreateTime (#PCDATA) > <!ATTLIST CreateTime ntpstamp CDATA #REQUIRED %attlist.global; >
<!ELEMENT DetectTime (#PCDATA) > <!ATTLIST DetectTime ntpstamp CDATA #REQUIRED %attlist.global;
>
>
<!ELEMENT AnalyzerTime (#PCDATA) > <!ATTLIST AnalyzerTime ntpstamp CDATA #REQUIRED
%attlist.global; >
%attlist.global;>
<!ELEMENT Confidence (#PCDATA) > <!ATTLIST Confidence rating %attvals.rating; 'numeric' %attlist.global; >
<!ELEMENT Impact (#PCDATA) > <!ATTLIST Impact severity %attvals.severity; #IMPLIED completion %attvals.completion; #IMPLIED type %attvals.impacttype; 'other' %attlist.global; >
<!ELEMENT alertident (#PCDATA) > <!ATTLIST alertident analyzerid CDATA #IMPLIED %attlist.global; >
<!-- =============================================================== =================================================================== === SECTION 9. Simple elements with no sub-elements and no special === attributes. =================================================================== =============================================================== -->
<!ELEMENT boolean (#PCDATA) > <!ATTLIST boolean %attlist.global; >
<!ELEMENT byte (#PCDATA) > <!ATTLIST byte %attlist.global; >
<!ELEMENT character (#PCDATA) > <!ATTLIST character %attlist.global; >
<!ELEMENT date-time (#PCDATA) > <!ATTLIST date-time %attlist.global; >
<!ELEMENT integer (#PCDATA) > <!ATTLIST integer %attlist.global; >
<!ELEMENT ntpstamp (#PCDATA) > <!ATTLIST ntpstamp %attlist.global; >
<!ELEMENT real (#PCDATA) > <!ATTLIST real %attlist.global; >
<!ELEMENT string (#PCDATA) > <!ATTLIST string %attlist.global; >
<!ELEMENT byte-string (#PCDATA) > <!ATTLIST byte-string %attlist.global; >
<!ELEMENT xmltext ANY > <!ATTLIST xmltext %attlist.global; >
<!ELEMENT access-time (#PCDATA) > <!ATTLIST access-time %attlist.global; >
<!ELEMENT address (#PCDATA) > <!ATTLIST address %attlist.global; >
<!ELEMENT arg (#PCDATA) > <!ATTLIST arg %attlist.global; >
<!ELEMENT buffer (#PCDATA) > <!ATTLIST buffer %attlist.global; >
<!ELEMENT c-major-device (#PCDATA) > <!ATTLIST c-major-device %attlist.global; >
<!ELEMENT c-minor-device (#PCDATA) > <!ATTLIST c-minor-device %attlist.global; >
<!ELEMENT cgi (#PCDATA) > <!ATTLIST cgi %attlist.global; >
<!ELEMENT change-time (#PCDATA) > <!ATTLIST change-time %attlist.global; >
<!ELEMENT command (#PCDATA) > <!ATTLIST command %attlist.global; >
<!ELEMENT create-time (#PCDATA) > <!ATTLIST create-time %attlist.global; >
<!ELEMENT data-size (#PCDATA) > <!ATTLIST data-size %attlist.global; >
<!ELEMENT disk-size (#PCDATA) > <!ATTLIST disk-size %attlist.global; >
<!ELEMENT env (#PCDATA) > <!ATTLIST env %attlist.global; >
<!ELEMENT http-method (#PCDATA) > <!ATTLIST http-method %attlist.global; >
<!ELEMENT location (#PCDATA) > <!ATTLIST location %attlist.global; >
<!ELEMENT major-device (#PCDATA) > <!ATTLIST major-device %attlist.global; >
<!ELEMENT minor-device (#PCDATA) > <!ATTLIST minor-device %attlist.global; >
<!ELEMENT modify-time (#PCDATA) > <!ATTLIST modify-time %attlist.global; >
<!ELEMENT name (#PCDATA) > <!ATTLIST name %attlist.global; >
<!ELEMENT netmask (#PCDATA) > <!ATTLIST netmask %attlist.global; >
<!ELEMENT number (#PCDATA) > <!ATTLIST number %attlist.global; >
<!ELEMENT oid (#PCDATA) > <!ATTLIST oid %attlist.global; >
<!ELEMENT path (#PCDATA) > <!ATTLIST path %attlist.global; >
<!ELEMENT permission (#PCDATA) > <!ATTLIST permission %attlist.global; >
<!ELEMENT pid (#PCDATA) > <!ATTLIST pid %attlist.global; >
<!ELEMENT port (#PCDATA) > <!ATTLIST port %attlist.global; >
<!ELEMENT portlist (#PCDATA) > <!ATTLIST portlist %attlist.global; >
<!ELEMENT program (#PCDATA) > <!ATTLIST program %attlist.global; >
<!ELEMENT protocol (#PCDATA) > <!ATTLIST protocol %attlist.global; >
<!ELEMENT size (#PCDATA) > <!ATTLIST size %attlist.global; >
<!ELEMENT url (#PCDATA) > <!ATTLIST url %attlist.global; >
<!ELEMENT HeartbeatInterval (#PCDATA) > <!ATTLIST HeartbeatInterval %attlist.global; >
<!ELEMENT messageProcessingModel (#PCDATA) > <!ATTLIST messageProcessingModel %attlist.global;>
<!ELEMENT securityModel (#PCDATA) > <!ATTLIST securityModel %attlist.global; >
<!ELEMENT securityName (#PCDATA) > <!ATTLIST securityName %attlist.global; >
<!ELEMENT securityLevel (#PCDATA) > <!ATTLIST securityLevel %attlist.global; >
<!ELEMENT contextName (#PCDATA) > <!ATTLIST contextName %attlist.global; >
<!ELEMENT contextEngineID (#PCDATA) > <!ATTLIST contextEngineID %attlist.global; >
<!ELEMENT value (#PCDATA) > <!ATTLIST value %attlist.global; >
<!ELEMENT key (#PCDATA) > <!ATTLIST key %attlist.global; >
<!-- End of IDMEF DTD -->
This document describes a data representation for exchanging security-related information between intrusion detection system implementations. Although there are no security concerns directly applicable to the format of this data, the data itself may contain security-sensitive information whose confidentiality, integrity, and/or availability may need to be protected.
このドキュメントでは、侵入検知システムの実装間でセキュリティ関連の情報を交換するためのデータ表現について説明します。このデータの形式に直接適用されるセキュリティの懸念はありませんが、データ自体には、機密性、完全性、および/または可用性を保護する必要があるセキュリティに敏感な情報が含まれている場合があります。
This suggests that the systems used to collect, transmit, process, and store this data should be protected against unauthorized use and that the data itself should be protected against unauthorized access. The means for achieving this protection are outside the scope of this document.
これは、このデータを収集、送信、処理、および保存するために使用されるシステムは、不正使用から保護されるべきであり、データ自体が不正アクセスから保護されるべきであることを示唆しています。この保護を達成するための手段は、このドキュメントの範囲外です。
Section 5 of [2] describes the required and recommended security characteristics of the transmission protocol that will be used to deliver IDMEF data from analyzers to managers. These requirements include message confidentiality, message integrity, non-repudiation, and avoidance of duplicate messages. Both standard and proposed protocols exist that provide these features.
[2]のセクション5では、アナライザーからマネージャーにIDMEFデータを配信するために使用される伝送プロトコルの必要なセキュリティ特性と推奨セキュリティ特性について説明します。これらの要件には、メッセージの機密性、メッセージの整合性、非繰り返し、および複製メッセージの回避が含まれます。これらの機能を提供する標準および提案されたプロトコルの両方が存在します。
Where a protocol that does not meet the requirements of Section 5 of [2] is used to exchange IDMEF messages, it may be desirable to use digital signatures to certify the integrity of these messages; this is discussed in Section 6.5 of this document.
[2]のセクション5の要件を満たさないプロトコルを使用してIDMEFメッセージを交換する場合、これらのメッセージの整合性を証明するためにデジタル署名を使用することが望ましい場合があります。これについては、このドキュメントのセクション6.5で説明します。
Section 5 describes how to use the AdditionalData class to include arbitrary "atomic" data items in an IDMEF message, as well as how AdditionalData may be used to extend the DTD itself by adding new classes and attributes.
セクション5では、追加のDataクラスを使用してIDMEFメッセージに任意の「アトミック」データ項目を含める方法と、新しいクラスと属性を追加してDTD自体を拡張するために追加のDATAを使用する方法について説明します。
From time to time, it may be desirable to move an extension from its private or local use status (as all extensions made via the above mechanism are) to "standard" status that should be supported by all implementations.
時々、拡張機能をプライベートまたはローカルの使用ステータスから(上記のメカニズムを介して作成されたすべての拡張機能がそうであるように)、すべての実装でサポートされる「標準」ステータスに移動することが望ましい場合があります。
This may be accomplished as described in this section.
これは、このセクションで説明されているように達成できます。
Several of the attributes specified in this document have lists of permissible values that they may contain. To allow the addition of new values to these lists, the IANA created a repository for attribute values called "Intrusion Detection Message Exchange Format (IDMEF) Attribute Values".
Following the policies outlined in [9], this repository is "Specification Required" by RFC. Section 10.1.1 describes the initial values for this repository.
[9]で概説されているポリシーに続いて、このリポジトリはRFCによって「必要な仕様」です。セクション10.1.1では、このリポジトリの初期値について説明します。
To create a new attribute, you MUST publish an RFC to document the type. In the RFC, include a copy of the registration template found in Section 10.1.2 of this document. Put the template in your IANA Considerations section, filling in the appropriate fields. You MUST describe any interoperability and security issues in your document.
When adding a new attribute value to the repository, the IANA shall assign the next rank number in numerical sequence for the value.
IDMEF Class Name: Reference
IDMEFクラス名:リファレンス
IDMEF Attribute Name: origin
IDMEF属性名:Origin
Registered Values:
登録値:
+------+-----------------+------------------------------------------+ | Rank | Keyword | Description | +------+-----------------+------------------------------------------+ | 0 | unknown | Origin of the name is not known | | 1 | vendor-specific | A vendor-specific name (and hence, URL); | | | | this can be used to provide | | | | product-specific information | | 2 | user-specific | A user-specific name (and hence, URL); | | | | this can be used to provide | | | | installation-specific information | | 3 | bugtraqid | The SecurityFocus ("Bugtraq") | | | | vulnerability database identifier | | | | (http://www.securityfocus.com/bid) | | 4 | cve | The Common Vulnerabilities and Exposures | | | | (CVE) name (http://cve.mitre.org/) | | 5 | osvdb | The Open Source Vulnerability Database | | | | (http://www.osvdb.org) | +------+-----------------+------------------------------------------+ IDMEF Class Name: Source
IDMEF Attribute Name: spoofed
idmef属性名:スプーフィング
Registered Values:
+------+---------+----------------------------------------+ | Rank | Keyword | Description | +------+---------+----------------------------------------+ | 0 | unknown | Accuracy of source information unknown | | 1 | yes | Source is believed to be a decoy | | 2 | no | Source is believed to be "real" | +------+---------+----------------------------------------+
IDMEF Class Name: Target
IDMEFクラス名:ターゲット
IDMEF Attribute Name: decoy
idmef属性名:デコイ
Registered Values:
登録値:
+------+---------+----------------------------------------+ | Rank | Keyword | Description | +------+---------+----------------------------------------+ | 0 | unknown | Accuracy of target information unknown | | 1 | yes | Target is believed to be a decoy | | 2 | no | Target is believed to be "real" | +------+---------+----------------------------------------+
IDMEF Class Name: AdditionalData
IDMEF Attribute Name: type
idmef属性名:タイプ
Registered Values:
登録値:
+------+-------------+----------------------------------------------+ | Rank | Keyword | Description | +------+-------------+----------------------------------------------+ | 0 | boolean | The element contains a boolean value, i.e., | | | | the strings "true" or "false" | | 1 | byte | The element content is a single 8-bit byte | | | | (see Section 3.2.4) | | 2 | character | The element content is a single character | | | | (see Section 3.2.3) | | 3 | date-time | The element content is a date-time string | | | | (see Section 3.2.6) | | 4 | integer | The element content is an integer (see | | | | Section 3.2.1) | | 5 | ntpstamp | The element content is an NTP timestamp (see | | | | Section 3.2.7) | | 6 | portlist | The element content is a list of ports (see | | | | Section 3.2.8) | | 7 | real | The element content is a real number (see | | | | Section 3.2.2) | | 8 | string | The element content is a string (see | | | | Section 3.2.3) | | 9 | byte-string | The element content is a byte[] (see | | | | Section 3.2.4) | | 10 | xmltext | The element content is XML-tagged data (see | | | | Section 5.2) | +------+-------------+----------------------------------------------+ IDMEF Class Name: Impact
IDMEF Attribute Name: severity
IDMEF属性名:重大度
Registered Values:
登録値:
+------+---------+-----------------------------------------+ | Rank | Keyword | Description | +------+---------+-----------------------------------------+ | 0 | info | Alert represents informational activity | | | | | | 1 | low | Low severity | | | | | | 2 | medium | Medium severity | | | | | | 3 | high | High severity | +------+---------+-----------------------------------------+
IDMEF Class Name: Impact
IDMEFクラス名:インパクト
IDMEF Attribute Name: completion
idmef属性名:完了
Registered Values:
+------+-----------+--------------------------------+ | Rank | Keyword | Description | +------+-----------+--------------------------------+ | 0 | failed | The attempt was not successful | | 1 | succeeded | The attempt succeeded | +------+-----------+--------------------------------+
IDMEF Class Name: Impact
IDMEFクラス名:インパクト
IDMEF Attribute Name: type
idmef属性名:タイプ
Registered Values:
登録値:
+------+---------+--------------------------------------------------+ | Rank | Keyword | Description | +------+---------+--------------------------------------------------+ | 0 | admin | Administrative privileges were attempted or | | | | obtained | | 1 | dos | A denial of service was attempted or completed | | 2 | file | An action on a file was attempted or completed | | 3 | recon | A reconnaissance probe was attempted or | | | | completed | | 4 | user | User privileges were attempted or obtained | | 5 | other | Anything not in one of the above categories | +------+---------+--------------------------------------------------+
IDMEF Class Name: Action
idmefクラス名:アクション
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+-------------------+----------------------------------------+ | Rank | Keyword | Description | +------+-------------------+----------------------------------------+ | 0 | block-installed | A block of some sort was installed to | | | | prevent an attack from reaching its | | | | destination. The block could be a | | | | port block, address block, etc., or | | | | disabling a user account. | | 1 | notification-sent | A notification message of some sort | | | | was sent out-of-band (via pager, | | | | e-mail, etc.). Does not include the | | | | transmission of this alert. | | 2 | taken-offline | A system, computer, or user was taken | | | | offline, as when the computer is shut | | | | down or a user is logged off. | | 3 | other | Anything not in one of the above | | | | categories. | +------+-------------------+----------------------------------------+ IDMEF Class Name: Confidence
IDMEF Attribute Name: rating
IDMEF属性名:評価
Registered Values:
登録値:
+------+---------+--------------------------------------------------+ | Rank | Keyword | Description | +------+---------+--------------------------------------------------+ | 0 | low | The analyzer has little confidence in its | | | | validity | | 1 | medium | The analyzer has average confidence in its | | | | validity | | 2 | high | The analyzer has high confidence in its validity | | 3 | numeric | The analyzer has provided a posterior | | | | probability value indicating its confidence in | | | | its validity | +------+---------+--------------------------------------------------+
IDMEF Class Name: Node
idmefクラス名:ノード
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+----------+------------------------------------------+ | Rank | Keyword | Description | +------+----------+------------------------------------------+ | 0 | unknown | Domain unknown or not relevant | | 1 | ads | Windows 2000 Advanced Directory Services | | 2 | afs | Andrew File System (Transarc) | | 3 | coda | Coda Distributed File System | | 4 | dfs | Distributed File System (IBM) | | 5 | dns | Domain Name System | | 6 | hosts | Local hosts file | | 7 | kerberos | Kerberos realm | | 8 | nds | Novell Directory Services | | 9 | nis | Network Information Services (Sun) | | 10 | nisplus | Network Information Services Plus (Sun) | | 11 | nt | Windows NT domain | | 12 | wfw | Windows for Workgroups | +------+----------+------------------------------------------+
IDMEF Class Name: Address
idmefクラス名:アドレス
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+---------------+--------------------------------------------+ | Rank | Keyword | Description | +------+---------------+--------------------------------------------+ | 0 | unknown | Address type unknown | | 1 | atm | Asynchronous Transfer Mode network address | | 2 | e-mail | Electronic mail address (RFC 822) | | 3 | lotus-notes | Lotus Notes e-mail address | | 4 | mac | Media Access Control (MAC) address | | 5 | sna | IBM Shared Network Architecture (SNA) | | | | address | | 6 | vm | IBM VM ("PROFS") e-mail address | | 7 | ipv4-addr | IPv4 host address in dotted-decimal | | | | notation (a.b.c.d) | | 8 | ipv4-addr-hex | IPv4 host address in hexadecimal notation | | 9 | ipv4-net | IPv4 network address in dotted-decimal | | | | notation, slash, significant bits | | | | (a.b.c.d/nn) | | 10 | ipv4-net-mask | IPv4 network address in dotted-decimal | | | | notation, slash, network mask in | | | | dotted-decimal notation (a.b.c.d/w.x.y.z) | | 11 | ipv6-addr | IPv6 host address | | 12 | ipv6-addr-hex | IPv6 host address in hexadecimal notation | | 13 | ipv6-net | IPv6 network address, slash, significant | | | | bits | | 14 | ipv6-net-mask | IPv6 network address, slash, network mask | +------+---------------+--------------------------------------------+ IDMEF Class Name: User
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+-------------+------------------------------------+ | Rank | Keyword | Description | +------+-------------+------------------------------------+ | 0 | unknown | User type unknown | | 1 | application | An application user | | 2 | os-device | An operating system or device user | +------+-------------+------------------------------------+
IDMEF Class Name: UserId
idmefクラス名:userid
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+---------------+--------------------------------------------+ | Rank | Keyword | Description | +------+---------------+--------------------------------------------+ | 0 | current-user | The current user id being used by the user | | | | or process. On Unix systems, this would | | | | be the "real" user id, in general. | | 1 | original-user | The actual identity of the user or process | | | | being reported on. On those systems that | | | | (a) do some type of auditing and (b) | | | | support extracting a user id from the | | | | "audit id" token, that value should be | | | | used. On those systems that do not | | | | support this, and where the user has | | | | logged into the system, the "login id" | | | | should be used. | | 2 | target-user | The user id the user or process is | | | | attempting to become. This would apply, | | | | on Unix systems for example, when the user | | | | attempts to use "su", "rlogin", "telnet", | | | | etc. |
| 3 | user-privs | Another user id the user or process has | | | | the ability to use, or a user id | | | | associated with a file permission. On | | | | Unix systems, this would be the | | | | "effective" user id in a user or process | | | | context, and the owner permissions in a | | | | file context. Multiple UserId elements of | | | | this type may be used to specify a list of | | | | privileges. | | 4 | current-group | The current group id (if applicable) being | | | | used by the user or process. On Unix | | | | systems, this would be the "real" group | | | | id, in general. | | 5 | group-privs | Another group id the group or process has | | | | the ability to use, or a group id | | | | associated with a file permission. On | | | | Unix systems, this would be the | | | | "effective" group id in a group or process | | | | context, and the group permissions in a | | | | file context. On BSD-derived Unix | | | | systems, multiple UserId elements of this | | | | type would be used to include all the | | | | group ids on the "group list". | | 6 | other-privs | Not used in a user, group, or process | | | | context, only used in the file context. | | | | The file permissions assigned to users who | | | | do not match either the user or group | | | | permissions on the file. On Unix systems, | | | | this would be the "world" permissions. | +------+---------------+--------------------------------------------+
IDMEF Class Name: File
idmefクラス名:ファイル
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+----------+-------------------------------------------------+ | Rank | Keyword | Description | +------+----------+-------------------------------------------------+ | 0 | current | The file information is from after the reported | | | | change | | 1 | original | The file information is from before the | | | | reported change | +------+----------+-------------------------------------------------+ IDMEF Class Name: File
IDMEF Attribute Name: fstype
idmef属性名:fstype
Registered Values:
登録値:
+------+---------+-------------------------------------+ | Rank | Keyword | Description | +------+---------+-------------------------------------+ | 0 | ufs | Berkeley Unix Fast File System | | 1 | efs | Linux "efs" file system | | 2 | nfs | Network File System | | 3 | afs | Andrew File System | | 4 | ntfs | Windows NT File System | | 5 | fat16 | 16-bit Windows FAT File System | | 6 | fat32 | 32-bit Windows FAT File System | | 7 | pcfs | "PC" (MS-DOS) file system on CD-ROM | | 8 | joliet | Joliet CD-ROM file system | | 9 | iso9660 | ISO 9660 CD-ROM file system | +------+---------+-------------------------------------+
IDMEF Class Name: FileAccess
IDMEFクラス名:FileAccess
IDMEF Attribute Name: permission
idmef属性名:許可
Registered Values:
登録値:
+------+-------------------+----------------------------------------+ | Rank | Keyword | Description | +------+-------------------+----------------------------------------+ | 0 | noAccess | No access at all is allowed for this | | | | user | | 1 | read | This user has read access to the file | | 2 | write | This user has write access to the file | | 3 | execute | This user has the ability to execute | | | | the file | | 4 | search | This user has the ability to search | | | | this file (applies to "execute" | | | | permission on directories in Unix) | | 5 | delete | This user has the ability to delete | | | | this file | | 6 | executeAs | This user has the ability to execute | | | | this file as another user | | 7 | changePermissions | This user has the ability to change | | | | the access permissions on this file | | 8 | takeOwnership | This user has the ability to take | | | | ownership of this file | +------+-------------------+----------------------------------------+ IDMEF Class Name: Linkage
IDMEF Attribute Name: category
idmef属性名:カテゴリ
Registered Values:
登録値:
+------+---------------+--------------------------------------------+ | Rank | Keyword | Description | +------+---------------+--------------------------------------------+ | 0 | hard-link | The <name> element represents another name | | | | for this file. This information may be | | | | more easily obtainable on NTFS file | | | | systems than others. | | 1 | mount-point | An alias for the directory specified by | | | | the parent's <name> and <path> elements. | | 2 | reparse-point | Applies only to Windows; excludes symbolic | | | | links and mount points, which are specific | | | | types of reparse points. | | 3 | shortcut | The file represented by a Windows | | | | "shortcut". A shortcut is distinguished | | | | from a symbolic link because of the | | | | difference in their contents, which may be | | | | of importance to the manager. | | 4 | stream | An Alternate Data Stream (ADS) in Windows; | | | | a fork on MacOS. Separate file system | | | | entity that is considered an extension of | | | | the main <File>. | | 5 | symbolic-link | The <name> element represents the file to | | | | which the link points. | +------+---------------+--------------------------------------------+ IDMEF Class Name: Checksum
IDMEF Attribute Name: algorithm
idmef属性名:アルゴリズム
Registered Values:
登録値:
+------+----------+------------------------------------------+ | Rank | Keyword | Description | +------+----------+------------------------------------------+ | 0 | MD4 | The MD4 algorithm. | | 1 | MD5 | The MD5 algorithm. | | 2 | SHA1 | The SHA1 algorithm. | | 3 | SHA2-256 | The SHA2 algorithm with 256 bits length. | | 4 | SHA2-384 | The SHA2 algorithm with 384 bits length. | | 5 | SHA2-512 | The SHA2 algorithm with 512 bits length. | | 6 | CRC-32 | The CRC algorithm with 32 bits length. | | 7 | Haval | The Haval algorithm. | | 8 | Tiger | The Tiger algorithm. | | 9 | Gost | The Gost algorithm. | +------+----------+------------------------------------------+
IDMEF Class Name:
idmefクラス名:
<provide the name of the class that contains the attribute to which you want to add a new value, e.g., "Address">
<新しい値を追加する属性を含むクラスの名前を提供します。たとえば、「アドレス」>
IDMEF Attribute Name:
<provide the name of the attribute to which you want to add a new value, e.g., "category">
<新しい値を追加する属性の名前を提供します。たとえば、「カテゴリ」>
New Attribute Value to Be Defined:
定義される新しい属性値:
<provide the name of the new attribute value that you want to add, e.g., "sneaker-net">
<追加したい新しい属性値の名前を提供します。たとえば、 "Sneaker-net">
Meaning of New Attribute Value:
新しい属性値の意味:
<describe in detail what the attribute value means -- i.e., if an analyzer sends this value, what is it telling the receiver of the information?>
<属性値の意味を詳細に説明してください。つまり、アナライザーがこの値を送信した場合、情報の受信者に何を伝えていますか?>
Contact Person and E-Mail Address:
連絡先と電子メールアドレス:
<your name and e-mail address>
To the extent possible, the IDMEF classes and attributes specified in this document have been designed to accommodate all current and near-future needs. Although it is recognized that the addition of new classes, as well as the addition of new attributes to existing classes, will be necessary in the future, these actions should not be taken lightly.
可能な限り、このドキュメントで指定されているIDMEFクラスと属性は、現在のすべてのおよび近距離のニーズに対応するように設計されています。新しいクラスの追加と既存のクラスへの新しい属性の追加が将来必要であることが認識されていますが、これらのアクションを軽視すべきではありません。
Any addition of new attributes or classes should only be undertaken when the current classes and attributes simply cannot be used to represent the information in a "clean" way -- and such additions should only be made to represent generally-useful types of data. Vendor-specific information, obscure information provided by only a particular type of analyzer or used only by a particular type of manager, "pet" attributes, and the like are not good reasons to make class and attribute additions.
新しい属性またはクラスの追加は、現在のクラスと属性を単純に使用して「クリーン」な方法で情報を表すことができない場合にのみ実施する必要があります。そのような追加は、一般的に有用なタイプのデータを表すためにのみ行う必要があります。ベンダー固有の情報、特定のタイプのアナライザーのみが提供するか、特定のタイプのマネージャー「PET」属性のみが使用する不明瞭な情報などは、クラスと属性の追加を作成する正当な理由ではありません。
At the time this RFC was written, the first anticipated case for which new classes and attributes will need to be added is to handle host-based intrusion detection systems. However, such additions should not be made until some level of consensus has been reached about the set of data that will be provided by these systems.
このRFCが書かれた時点で、新しいクラスと属性を追加する必要がある最初の予想されるケースは、ホストベースの侵入検知システムを処理することです。ただし、これらのシステムが提供するデータのセットについて、ある程度のコンセンサスに達するまで、このような追加を行うべきではありません。
Following the policies outlined in [9], the addition of new classes and attributes to the IDMEF requires "IETF Consensus".
[9]で概説されているポリシーに従って、IDMEFに新しいクラスと属性を追加するには、「IETFコンセンサス」が必要です。
To add new attributes or classes, you MUST publish an RFC to document them, and get that RFC approved by the IESG. Typically, the IESG will seek input on prospective additions from appropriate persons (e.g., a relevant working group if one exists). You MUST describe any interoperability and security issues in your document.
新しい属性またはクラスを追加するには、RFCを公開してそれらを文書化し、IESGによってRFCを承認する必要があります。通常、IESGは、適切な人物からの将来の追加に関するインプットを求めます(たとえば、存在する場合は関連するワーキンググループなど)。ドキュメントの相互運用性とセキュリティの問題を説明する必要があります。
[1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[1] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。
[2] Wood, M. and M. Erlinger, "Intrusion Detection Mesage Exchange Requirements", RFC 4766, March 2007.
[2] Wood、M。およびM. Erlinger、「侵入検知メセージ交換要件」、RFC 4766、2007年3月。
[3] Sperberg-McQueen, C., Paoli, J., Maler, E., and T. Bray, "Extensible Markup Language (XML) 1.0 (Second Edition)", World Wide Web Consortium FirstEdition http://www.w3.org/TR/2000/REC-xml-20001006, October 2000.
[3] Sperberg-McQueen、C.、Paoli、J.、Maler、E。、およびT. Bray、「拡張可能なマークアップ言語(XML)1.0(第2版)」、World Wide Web Consortium Firstedition http://www.w3.org/TR/2000/REC-XML-20001006、2000年10月。
[4] Bray, T., Hollander, D., and A. Layman, "Namespaces in XML", World Wide Web Consortium Recommendation http://www.w3.org/TR/1999/ REC-xml-names-19990114, January 1999.
[4] Bray、T.、Hollander、D。、およびA. layman、「XMLの名前空間」、World Wide Web Consortiumの推奨http://www.w3.org/tr/1999/ rec-xml-names-19990114、1999年1月。
[5] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005.
[5] Berners-Lee、T.、Fielding、R。、およびL. Masinter、「ユニフォームリソース識別子(URI):Generic Syntax」、STD 66、RFC 3986、2005年1月。
[6] International Organization for Standardization, "Data elements and interchange formats - Information interchange - Representation of dates and times", ISO Standard 8601, Second Edition, December 2000.
[6] 国際標準化機関、「データ要素と交換形式 - 情報交換 - 日付と時間の表現」、ISO Standard 8601、第2版、2000年12月。
[7] Mills, D., "Network Time Protocol (Version 3) Specification, Implementation", RFC 1305, March 1992.
[7] Mills、D。、「ネットワークタイムプロトコル(バージョン3)仕様、実装」、RFC 1305、1992年3月。
[8] Mills, D., "Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI", RFC 4330, January 2006.
[8] Mills、D。、「IPv4、IPv6およびOSI用のSimple Network Time Protocol(SNTP)バージョン4」、RFC 4330、2006年1月。
[9] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
[9] Narten、T。およびH. Alvestrand、「RFCSでIANA考慮事項セクションを書くためのガイドライン」、BCP 26、RFC 2434、1998年10月。
[10] Phillips, A. and M. Davis, "Tags for Identifying Languages", BCP 47, RFC 4646, September 2006.
[10] Phillips、A。およびM. Davis、「言語を識別するためのタグ」、BCP 47、RFC 4646、2006年9月。
[11] St. Johns, M., "Identification Protocol", RFC 1413, February 1993.
[11] セントジョンズ、M。、「識別プロトコル」、RFC 1413、1993年2月。
[12] Resnick, P., "Internet Message Format", RFC 2822, April 2001.
[12] Resnick、P。、「インターネットメッセージフォーマット」、RFC 2822、2001年4月。
[13] Eastlake, D., Reagle, J., and D. Solo, "(Extensible Markup Language) XML-Signature Syntax and Processing", RFC 3275, March 2002.
[13] Eastlake、D.、Reagle、J。、およびD. Solo、「(拡張可能なマークアップ言語)XML-Signature構文と処理」、RFC 3275、2002年3月。
[14] Rumbaugh, J., Jacobson, I., and G. Booch, "The Unified Modeling Language Reference Model", ISBN 020130998X, 1998.
[14] Rumbaugh、J.、Jacobson、I。、およびG. Booch、「統一されたモデリング言語参照モデル」、ISBN 020130998X、1998。
[15] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", STD 62, RFC 3411, December 2002.
[15] Harrington、D.、Presuhn、R。、およびB. Wijnen、「単純なネットワーク管理プロトコル(SNMP)管理フレームワークを説明するためのアーキテクチャ」、STD 62、RFC 3411、2002年12月。
[16] Frye, R., Levi, D., Routhier, S., and B. Wijnen, "Coexistence between Version 1, Version 2, and Version 3 of the Internet-standard Network Management Framework", BCP 74, RFC 3584, August 2003.
[16] Frye、R.、Levi、D.、Routhier、S。、およびB. Wijnen、「インターネット標準ネットワーク管理フレームワークのバージョン1、バージョン2、およびバージョン3の共存」、BCP 74、RFC 3584、2003年8月。
The following individuals contributed substantially to this document and should be recognized for their efforts. This document would not exist without their help:
次の個人はこの文書に大いに貢献し、彼らの努力のために認識されるべきです。このドキュメントは彼らの助けなしでは存在しません:
Dominique Alessandri, IBM Corporation Spencer Allain, Teknowledge Corporation James L. Burden, California Independent Systems Operator Marc Dacier, IBM Corporation Oliver Dain, MIT Lincoln Laboratory Nicolas Delon, Prelude Hybrid IDS project David J. Donahoo, AFIWC Michael Erlinger, Harvey Mudd College Reinhard Handwerker, Internet Security Systems, Inc. Ming-Yuh Huang, The Boeing Company Glenn Mansfield, Cyber Solutions, Inc. Joe McAlerney, Silicon Defense Cynthia McLain, MIT Lincoln Laboratory Paul Osterwald, Intrusion.com Jean-Philippe Pouzol James Riordan, IBM Corporation Paul Sangree, Cisco Systems Stephane Schitter, IBM Corporation Michael J. Slifcak, Trusted Network Technologies, Inc. Steven R. Snapp, CyberSafe Corporation Stuart Staniford-Chen, Silicon Defense Michael Steiner, University of Saarland Maureen Stillman, Nokia IP Telephony Vimal Vaidya, AXENT Yoann Vandoorselaere, Prelude Hybrid IDS project Andy Walther, Harvey Mudd College Andreas Wespi, IBM Corporation John C. C. White, MITRE Eric D. Williams, Information Brokers, Inc. S. Felix Wu, University of California Davis
ドミニク・アレッサンドリ、IBMコーポレーションスペンサーアレイン、テークレッジコーポレーションジェームズL.バーデン、カリフォルニア独立システムオペレーター、マークデイヤー、IBMコーポレーションオリバーデイン、MITリンカーン研究所ニコラスドロン、プレリュードハイブリッドIDSプロジェクトデビッドJ.ドナフー、アフィックマイケルエルリングHandwerker、Internet Security Systems、Inc。Ming-Yuh Huang、ボーイング会社Glenn Mansfield、Cyber Solutions、Inc。Joe McAlerney、Silicon Defense Cynthia McLain、Mit Lincoln Laboratory Paul Osterwald、Intrusion.com Jean-Philippe Pouzol James Riordanポール・サングリー、シスコ・システムのステファン・シッター、IBMコーポレーションマイケル・J・スリフカック、信頼性ネットワーク・テクノロジーズ、インク、スティーブン・R・スナップ、サイバーアフェ・コーポレーション・スチュアート・スタニフォード・チェン、シリコン・ディフェンス・マイケル・シュタイナー、サーランド大学モーリーン・スティルマン、ノキア・イプ・テレフォニー・バイマイア、Axent Yoann Vandoorselaere、プレリュードハイブリッドIDプロジェクトAndy Walther、Harvey Mudd College Andreas Wespi、IBM Corporation John C. C. White、Miter Eric D. Williams、Information Brokers、Inc。S. Felix Wu、カリフォルニア大学デイビス校
Appendix B. The IDMEF Schema Definition (Non-normative)
付録B. IDMEFスキーマ定義(非規範的)
<?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:idmef="http://iana.org/idmef" targetNamespace="http://iana.org/idmef" elementFormDefault="qualified" >
<xsd:annotation> <xsd:documentation> Intrusion Detection Message Exchange Format (IDMEF) Version 1.0 </xsd:documentation> </xsd:annotation>
<!-- Section 1 --> <!-- Omitted. This section did namespace magic and is not needed with XSD validation. -->
<!-- Section 2 -->
<!-- Values for the Action.category attribute. --> <xsd:simpleType name="action-category"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="block-installed" /> <xsd:enumeration value="notification-sent" /> <xsd:enumeration value="taken-offline" /> <xsd:enumeration value="other" /> </xsd:restriction> </xsd:simpleType>
<!-- Values for the Address.category attribute. --> <xsd:simpleType name="address-category"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="unknown" /> <xsd:enumeration value="atm" /> <xsd:enumeration value="e-mail" /> <xsd:enumeration value="lotus-notes" /> <xsd:enumeration value="mac" /> <xsd:enumeration value="sna" /> <xsd:enumeration value="vm" /> <xsd:enumeration value="ipv4-addr" /> <xsd:enumeration value="ipv4-addr-hex" /> <xsd:enumeration value="ipv4-net" /> <xsd:enumeration value="ipv4-net-mask" />
<xsd:enumeration value="ipv6-addr" /> <xsd:enumeration value="ipv6-addr-hex" /> <xsd:enumeration value="ipv6-net" /> <xsd:enumeration value="ipv6-net-mask" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the Impact.severity attribute. --> <xsd:simpleType name="impact-severity"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="info" /> <xsd:enumeration value="low" /> <xsd:enumeration value="medium" /> <xsd:enumeration value="high" /> </xsd:restriction> </xsd:simpleType>
<!-- Values for the Impact.completion attribute. --> <xsd:simpleType name="impact-completion"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="failed" /> <xsd:enumeration value="succeeded" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the Impact.type attribute. --> <xsd:simpleType name="impact-type"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="admin" /> <xsd:enumeration value="dos" /> <xsd:enumeration value="file" /> <xsd:enumeration value="recon" /> <xsd:enumeration value="user" /> <xsd:enumeration value="other" /> </xsd:restriction> </xsd:simpleType>
<!-- Values for the File.category attribute. --> <xsd:simpleType name="file-category"> <xsd:restriction base="xsd:token">
<xsd:enumeration value="current" /> <xsd:enumeration value="original" /> </xsd:restriction> </xsd:simpleType>
<!-- Values for the FileAccess.Permissions attribute --> <xsd:simpleType name="file-permission"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="noAccess"/> <xsd:enumeration value="read"/> <xsd:enumeration value="write"/> <xsd:enumeration value="execute"/> <xsd:enumeration value="search" /> <xsd:enumeration value="delete" /> <xsd:enumeration value="executeAs" /> <xsd:enumeration value="changePermissions" /> <xsd:enumeration value="takeOwnership" /> </xsd:restriction> </xsd:simpleType>
<!-- Values for the Id.type attribute. --> <xsd:simpleType name="id-type"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="current-user" /> <xsd:enumeration value="original-user" /> <xsd:enumeration value="target-user" /> <xsd:enumeration value="user-privs" /> <xsd:enumeration value="current-group" /> <xsd:enumeration value="group-privs" /> <xsd:enumeration value="other-privs" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the Linkage.category attribute. --> <xsd:simpleType name="linkage-category"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="hard-link" /> <xsd:enumeration value="mount-point" /> <xsd:enumeration value="reparse-point" /> <xsd:enumeration value="shortcut" /> <xsd:enumeration value="stream" /> <xsd:enumeration value="symbolic-link" />
</xsd:restriction> </xsd:simpleType>
<!-- | Values for the Checksum.algorithm attribute --> <xsd:simpleType name="checksum-algorithm"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="MD4" /> <xsd:enumeration value="MD5" /> <xsd:enumeration value="SHA1" /> <xsd:enumeration value="SHA2-256" /> <xsd:enumeration value="SHA2-384" /> <xsd:enumeration value="SHA2-512" /> <xsd:enumeration value="CRC-32" /> <xsd:enumeration value="Haval" /> <xsd:enumeration value="Tiger" /> <xsd:enumeration value="Gost" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the Node.category attribute. --> <xsd:simpleType name="node-category"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="unknown" /> <xsd:enumeration value="ads" /> <xsd:enumeration value="afs" /> <xsd:enumeration value="coda" /> <xsd:enumeration value="dfs" /> <xsd:enumeration value="dns" /> <xsd:enumeration value="hosts" /> <xsd:enumeration value="kerberos" /> <xsd:enumeration value="nds" /> <xsd:enumeration value="nis" /> <xsd:enumeration value="nisplus" /> <xsd:enumeration value="nt" /> <xsd:enumeration value="wfw" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the reference.origin attribute. --> <xsd:simpleType name="reference-origin"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="unknown" />
<xsd:enumeration value="vendor-specific" /> <xsd:enumeration value="user-specific" /> <xsd:enumeration value="bugtraqid" /> <xsd:enumeration value="cve" /> <xsd:enumeration value="osvdb" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the Confidence.rating attribute. --> <xsd:simpleType name="confidence-rating"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="low" /> <xsd:enumeration value="medium" /> <xsd:enumeration value="high" /> <xsd:enumeration value="numeric" /> </xsd:restriction> </xsd:simpleType>
<!-- | Values for the User.category attribute. --> <xsd:simpleType name="user-category"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="unknown" /> <xsd:enumeration value="application" /> <xsd:enumeration value="os-device" /> </xsd:restriction> </xsd:simpleType>
<!-- / Values for the additionaldata.type attribute. --> <xsd:simpleType name="additionaldata-type"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="boolean" /> <xsd:enumeration value="byte" /> <xsd:enumeration value="character" /> <xsd:enumeration value="date-time" /> <xsd:enumeration value="integer" /> <xsd:enumeration value="ntpstamp" /> <xsd:enumeration value="portlist" /> <xsd:enumeration value="real" /> <xsd:enumeration value="string" /> <xsd:enumeration value="byte-string" /> <xsd:enumeration value="xml" /> </xsd:restriction>
</xsd:simpleType>
<!-- | Values for yes/no attributes such as Source.spoofed and | Target.decoy. --> <xsd:simpleType name="yes-no-type"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="unknown" /> <xsd:enumeration value="yes" /> <xsd:enumeration value="no" /> </xsd:restriction> </xsd:simpleType>
<xsd:simpleType name="port-range"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[0-9]{1,5}(\-[0-9]{1,5})?"/> </xsd:restriction> </xsd:simpleType>
<xsd:simpleType name="port-list"> <xsd:list itemType="idmef:port-range" /> </xsd:simpleType>
<xsd:simpleType name="ntpstamp"> <xsd:restriction base="xsd:string"> <xsd:pattern value="0x[A-Fa-f0-9]{8}.0x[A-Fa-f0-9]{8}"/> </xsd:restriction> </xsd:simpleType>
<xsd:simpleType name="mime-type"> <xsd:restriction base="xsd:string"> </xsd:restriction> </xsd:simpleType>
<!-- Section 3: Top-level element declarations. The IDMEF-Message element and the types of messages it can include. -->
<xsd:complexType name="IDMEF-Message" > <xsd:choice minOccurs="1" maxOccurs="unbounded"> <xsd:element ref="idmef:Alert" /> <xsd:element ref="idmef:Heartbeat" /> </xsd:choice> <xsd:attribute name="version" type="xsd:decimal" fixed="1.0" /> </xsd:complexType>
<xsd:element name="IDMEF-Message" type="idmef:IDMEF-Message" />
<xsd:complexType name="Alert"> <xsd:sequence> <xsd:element name="Analyzer" type="idmef:Analyzer" /> <xsd:element name="CreateTime" type="idmef:TimeWithNtpstamp" /> <xsd:element name="DetectTime" type="idmef:TimeWithNtpstamp" minOccurs="0" maxOccurs="1" /> <xsd:element name="AnalyzerTime" type="idmef:TimeWithNtpstamp" minOccurs="0" maxOccurs="1" /> <xsd:element name="Source" type="idmef:Source" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Target" type="idmef:Target" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Classification" type="idmef:Classification" /> <xsd:element name="Assessment" type="idmef:Assessment" minOccurs="0" maxOccurs="1" /> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="ToolAlert" type="idmef:ToolAlert" /> <xsd:element name="OverflowAlert" type="idmef:OverflowAlert" /> <xsd:element name="CorrelationAlert" type="idmef:CorrelationAlert" /> </xsd:choice> <xsd:element name="AdditionalData" type="idmef:AdditionalData" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="messageid" type="xsd:string" default="0" /> </xsd:complexType>
<xsd:element name="Alert" type="idmef:Alert" />
<xsd:complexType name="Heartbeat"> <xsd:sequence> <xsd:element name="Analyzer" type="idmef:Analyzer" /> <xsd:element name="CreateTime" type="idmef:TimeWithNtpstamp" /> <xsd:element name="HeartbeatInterval" type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="AnalyzerTime" type="idmef:TimeWithNtpstamp" minOccurs="0" maxOccurs="1" /> <xsd:element name="AdditionalData" type="idmef:AdditionalData" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="messageid" type="xsd:string" default="0" /> </xsd:complexType>
<xsd:element name="Heartbeat" type="idmef:Heartbeat" />
<!-- Section 4: Subclasses of the Alert class that provide more data for specific types of alerts. -->
<xsd:complexType name="CorrelationAlert"> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="alertident" type="idmef:Alertident" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="OverflowAlert"> <xsd:sequence> <xsd:element name="program" type="xsd:string" /> <xsd:element name="size" type="xsd:string" />
<xsd:element name="buffer" type="xsd:hexBinary" /> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="ToolAlert"> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="command" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="alertident" type="idmef:Alertident" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType>
<!-- Section 5: The AdditionalData element. This element allows an alert to include additional information that cannot be encoded elsewhere in the data model. -->
<xsd:complexType name="AdditionalData"> <xsd:choice> <xsd:element name="boolean" type="xsd:boolean" /> <xsd:element name="byte" type="xsd:byte" /> <xsd:element name="character"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:minLength value="1"/> <xsd:maxLength value="1"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="date-time" type="xsd:dateTime" /> <xsd:element name="integer" type="xsd:integer" /> <xsd:element name="ntpstamp" type="idmef:ntpstamp" /> <xsd:element name="portlist" type="idmef:port-list" /> <xsd:element name="real" type="xsd:decimal" />
<xsd:element name="string" type="xsd:string" /> <xsd:element name="byte-string" type="xsd:hexBinary" /> <xsd:element name="xml" type="idmef:xmltext" /> </xsd:choice> <xsd:attribute name="type" type="idmef:additionaldata-type" /> <xsd:attribute name="meaning" type="xsd:string" /> </xsd:complexType>
<!-- Section 6: Elements related to identifying entities - analyzers (the senders of these messages), sources (of attacks), and targets (of attacks). -->
<xsd:complexType name="Analyzer"> <xsd:sequence> <xsd:element name="Node" type="idmef:Node" minOccurs="0" maxOccurs="1" /> <xsd:element name="Process" type="idmef:Process" minOccurs="0" maxOccurs="1" /> <xsd:element name="Analyzer" type="idmef:Analyzer" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="analyzerid" type="xsd:string" default="0" /> <xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="manufacturer" type="xsd:string" /> <xsd:attribute name="model" type="xsd:string" /> <xsd:attribute name="version" type="xsd:string" /> <xsd:attribute name="class" type="xsd:string" /> <xsd:attribute name="ostype" type="xsd:string" /> <xsd:attribute name="osversion"
type="xsd:string" /> </xsd:complexType>
<xsd:complexType name="Source"> <xsd:sequence> <xsd:element name="Node" type="idmef:Node" minOccurs="0" maxOccurs="1" /> <xsd:element name="User" type="idmef:User" minOccurs="0" maxOccurs="1" /> <xsd:element name="Process" type="idmef:Process" minOccurs="0" maxOccurs="1" /> <xsd:element name="Service" type="idmef:Service" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="spoofed" type="idmef:yes-no-type" default="unknown" /> <xsd:attribute name="interface" type="xsd:string" /> </xsd:complexType>
<xsd:complexType name="Target"> <xsd:sequence> <xsd:element name="Node" type="idmef:Node" minOccurs="0" maxOccurs="1" /> <xsd:element name="User" type="idmef:User" minOccurs="0" maxOccurs="1" /> <xsd:element name="Process" type="idmef:Process" minOccurs="0" maxOccurs="1" /> <xsd:element name="Service" type="idmef:Service" minOccurs="0" maxOccurs="1" /> <xsd:element name="File" type="idmef:File" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="decoy" type="idmef:yes-no-type" default="unknown" /> <xsd:attribute name="interface" type="xsd:string" /> </xsd:complexType>
<!-- Section 7: Support elements used for providing detailed info about entities - addresses, names, etc. -->
<xsd:complexType name="Address"> <xsd:sequence> <xsd:element name="address" type="xsd:string" /> <xsd:element name="netmask" type="xsd:string" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="category" type="idmef:address-category" default="unknown" /> <xsd:attribute name="vlan-name" type="xsd:string" /> <xsd:attribute name="vlan-num" type="xsd:string" /> </xsd:complexType>
<xsd:complexType name="Assessment"> <xsd:sequence> <xsd:element name="Impact" type="idmef:Impact" minOccurs="0" maxOccurs="1" /> <xsd:element name="Action"
type="idmef:Action" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Confidence" type="idmef:Confidence" minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Reference"> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="url" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="origin" type="idmef:reference-origin" default="unknown" /> <xsd:attribute name="meaning" type="xsd:string" /> </xsd:complexType>
<xsd:complexType name="Classification"> <xsd:sequence> <xsd:element name="Reference" type="idmef:Reference" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="text" type="xsd:string" use="required" /> </xsd:complexType>
<xsd:complexType name="File"> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="path" type="xsd:string" /> <xsd:element name="create-time" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
<xsd:element name="modify-time" type="xsd:dateTime" minOccurs="0" maxOccurs="1" /> <xsd:element name="access-time" type="xsd:dateTime" minOccurs="0" maxOccurs="1" /> <xsd:element name="data-size" type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="disk-size" type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="FileAccess" type="idmef:FileAccess" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Linkage" type="idmef:Linkage" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="Inode" type="idmef:Inode" minOccurs="0" maxOccurs="1" /> <xsd:element name="Checksum" type="idmef:Checksum" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="category" type="idmef:file-category" use="required" /> <xsd:attribute name="fstype" type="xsd:string" use="required" /> <xsd:attribute name="file-type" type="idmef:mime-type" /> </xsd:complexType>
<xsd:complexType name="Permission"> <xsd:attribute name="perms"
type="idmef:file-permission" use="required" /> </xsd:complexType>
<xsd:complexType name="FileAccess"> <xsd:sequence> <xsd:element name="UserId" type="idmef:UserId" /> <xsd:element name="permission" type="idmef:Permission" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="Inode"> <xsd:sequence> <xsd:element name="change-time" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:sequence minOccurs="0" maxOccurs="1"> <xsd:element name="number" type="xsd:string" /> <xsd:element name="major-device" type="xsd:string" /> <xsd:element name="minor-device" type="xsd:string" /> </xsd:sequence> <xsd:sequence minOccurs="0" maxOccurs="1"> <xsd:element name="c-major-device" type="xsd:string" /> <xsd:element name="c-minor-device" type="xsd:string" /> </xsd:sequence> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="Linkage"> <xsd:choice> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="path" type="xsd:string" /> </xsd:sequence> <xsd:element name="File" type="idmef:File" /> </xsd:choice> <xsd:attribute name="category" type="idmef:linkage-category" use="required" /> </xsd:complexType>
<xsd:complexType name="Checksum"> <xsd:sequence> <xsd:element name="value" type="xsd:string" /> <xsd:element name="key" type="xsd:string" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="algorithm" type="idmef:checksum-algorithm" use="required" /> </xsd:complexType>
<xsd:complexType name="Node"> <xsd:sequence> <xsd:element name="location" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:choice> <xsd:element name="name" type="xsd:string" /> <xsd:element name="Address" type="idmef:Address" /> </xsd:choice> <xsd:element name="Address" type="idmef:Address" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="category" type="idmef:node-category" default="unknown" /> </xsd:complexType>
<xsd:complexType name="Process"> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="pid" type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="path" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="arg" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="env" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> </xsd:complexType>
<xsd:complexType name="Service"> <xsd:sequence> <xsd:choice> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="port" type="xsd:integer" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:sequence> <xsd:element name="port" type="xsd:integer" /> <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:element name="portlist" type="idmef:port-list" /> </xsd:choice> <xsd:element name="protocol" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="SNMPService" type="idmef:SNMPService" minOccurs="0" maxOccurs="1" /> <xsd:element name="WebService" type="idmef:WebService" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="ip_version" type="xsd:integer" /> <xsd:attribute name="iana_protocol_number" type="xsd:integer" /> <xsd:attribute name="iana_protocol_name" type="xsd:string" /> </xsd:complexType>
<xsd:complexType name="WebService"> <xsd:sequence> <xsd:element name="url" type="xsd:anyURI" /> <xsd:element name="cgi" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="http-method" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="arg" type="xsd:string" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="SNMPService"> <xsd:sequence> <xsd:element name="oid" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="messageProcessingModel" type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="securityModel"
type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="securityName" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="securityLevel" type="xsd:integer" minOccurs="0" maxOccurs="1" /> <xsd:element name="contextName" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="contextEngineID" type="xsd:string" minOccurs="0" maxOccurs="1" /> <xsd:element name="command" type="xsd:string" minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType>
<xsd:complexType name="User"> <xsd:sequence> <xsd:element name="UserId" type="idmef:UserId" minOccurs="1" maxOccurs="unbounded" /> </xsd:sequence> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="category" type="idmef:user-category" default="unknown" /> </xsd:complexType>
<xsd:complexType name="UserId" > <xsd:choice> <xsd:sequence> <xsd:element name="name" type="xsd:string" /> <xsd:element name="number" type="xsd:integer" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:sequence> <xsd:element name="number" type="xsd:integer" /> <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:choice> <xsd:attribute name="ident" type="xsd:string" default="0" /> <xsd:attribute name="type" type="idmef:id-type" default="original-user" /> <xsd:attribute name="tty" type="xsd:string" /> </xsd:complexType>
<!-- Section 8: Simple elements with sub-elements or attributes of a special nature. -->
<xsd:complexType name="Action"> <xsd:simpleContent> <xsd:extension base="xsd:string" > <xsd:attribute name="category" type="idmef:action-category" default="other" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
<xsd:complexType name="Confidence"> <xsd:simpleContent> <xsd:extension base="xsd:string" > <xsd:attribute name="rating" type="idmef:confidence-rating" use="required" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
<xsd:complexType name="TimeWithNtpstamp"> <xsd:simpleContent> <xsd:extension base="xsd:dateTime">
<xsd:attribute name="ntpstamp" type="idmef:ntpstamp" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
<xsd:complexType name="Impact"> <xsd:simpleContent> <xsd:extension base="xsd:string" > <xsd:attribute name="severity" type="idmef:impact-severity" /> <xsd:attribute name="completion" type="idmef:impact-completion" /> <xsd:attribute name="type" type="idmef:impact-type" default="other" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
<xsd:complexType name="Alertident"> <xsd:simpleContent> <xsd:extension base="xsd:string" > <xsd:attribute name="analyzerid" type="xsd:string" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType>
<xsd:complexType name="xmltext"> <xsd:complexContent mixed="true"> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType>
</xsd:schema>
Authors' Addresses
著者のアドレス
Herve Debar France Telecom R & D 42 Rue des Coutures Caen 14000 FR
Herve Debar France Telecom R&D 42 Rue des Coutures Caen 14000 fr
Phone: +33 2 31 75 92 61 EMail: herve.debar@orange-ftgroup.com URI: http://www.francetelecom.fr/
David A. Curry Guardian Life Insurance Company of America 7 Hanover Square, 24th Floor New York, NY 10004 US
David A. Curry Guardian Life Insurance Company of America 7ハノーバースクエア、24階ニューヨーク、ニューヨーク10004米国
Phone: +1 212 919-3086 EMail: david_a_curry@glic.com URI: http://www.glic.com/
Benjamin S. Feinstein SecureWorks, Inc. PO Box 95007 Atlanta, GA 30347 US
Benjamin S. Feinstein Secureworks、Inc。PO Box 95007 Atlanta、GA 30347 US
Phone: +1 404 327-6339 Email: bfeinstein@acm.org URI: http://www.secureworks.com/
Full Copyright Statement
完全な著作権声明
Copyright (C) The IETF Trust (2007).
著作権(c)The IETF Trust(2007)。
This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
この文書は、BCP 78に含まれる権利、ライセンス、および制限の対象となり、そこに記載されている場合を除き、著者はすべての権利を保持しています。
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
このドキュメントとここに含まれる情報は、「現状のまま」に基づいて提供され、貢献者、彼/彼女が代表する組織(もしあれば)、インターネット協会、IETFトラスト、インターネットエンジニアリングタスクフォースがすべてを否認します。明示的または黙示的な保証。ここでの情報の使用は、特定の目的に対する商品性または適合性の権利または暗黙の保証を侵害しないという保証を含むがこれらに限定されない。
Intellectual Property
知的財産
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
IETFは、知的財産権またはその他の権利の有効性または範囲に関して、この文書に記載されている技術の実装または使用、またはそのような権利に基づくライセンスがどの程度であるかについての使用に関連すると主張する可能性があるという立場はありません。利用可能になります。また、そのような権利を特定するために独立した努力をしたことも表明していません。RFCドキュメントの権利に関する手順に関する情報は、BCP 78およびBCP 79に記載されています。
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
IETF事務局に行われたIPR開示のコピーと、利用可能にするライセンスの保証、またはこの仕様の実装者またはユーザーによるそのような独自の権利の使用のための一般的なライセンスまたは許可を取得するための試みの結果を取得できます。http://www.ietf.org/iprのIETFオンラインIPRリポジトリから。
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.
IETFは、関心のある当事者に、著作権、特許、または特許出願、またはこの基準を実装するために必要な技術をカバーする可能性のあるその他の独自の権利を注意深く招待するよう招待しています。ietf-ipr@ietf.orgのIETFへの情報をお問い合わせください。
Acknowledgement
謝辞
Funding for the RFC Editor function is currently provided by the Internet Society.
RFCエディター機能の資金は現在、インターネット協会によって提供されています。