-
Notifications
You must be signed in to change notification settings - Fork 17
Proposal: Create a Domain_Object and Separate Domain from URI_Object
Ivan Kirillov edited this page Dec 18, 2013
·
3 revisions
Status: Closed
Comment Period Closes: 12/17/2013
Affects Backwards Compatibility: Yes
Relevant Issues:
https://github.com/CybOXProject/schemas/issues/27
####Background Information
This proposal concerns the creation of a Domain_Object. Currently, URIObjectType
enumerates a Domain Name
value, but a new object would allow for better specificity and flexibility.
####Proposal
Add a Domain_Object to characterize network domain identifiers. This change would remove Domain Name
from URI_Object and create a new Domain_Object.
A proposed draft of the Domain_Object schema follows:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:DomainObj="http://cybox.mitre.org/objects#DomainObject-1" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" targetNamespace="http://cybox.mitre.org/objects#DomainObject-1" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.0">
<xs:annotation>
<xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org. </xs:documentation>
<xs:appinfo>
<schema>Domain_Object</schema>
<version>1.0</version>
<date>05/24/2013 9:00:00 AM</date>
<short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML. </short_description>
<terms_of_use>Copyright (c) 2012-2013, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included. </terms_of_use>
</xs:appinfo>
</xs:annotation>
<xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="../cybox_common.xsd"/>
<xs:element name="Domain" type="DomainObj:DomainObjectType">
<xs:annotation>
<xs:documentation>The Domain object is intended to characterize network domain identifiers.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="DomainObjectType">
<xs:annotation>
<xs:documentation>The DomainObjectType type is intended to characterize network domain identifiers.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="cyboxCommon:ObjectPropertiesType">
<xs:sequence>
<xs:element name="Value" type="cyboxCommon:StringObjectPropertyType">
<xs:annotation>
<xs:documentation>The Value field specifies the value of the Domain identifier.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:attribute name="type" type="DomainObj:DomainTypeEnum">
<xs:annotation>
<xs:documentation>The type field specifies the type of Domain that is being defined. </xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="DomainTypeEnum">
<xs:annotation>
<xs:documentation>The DomainTypeEnum is an enumeration of types of Domains.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="General">
<xs:annotation>
<xs:documentation>Specifies a general domain identifer. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FQDN">
<xs:annotation>
<xs:documentation>Specifies a fully qualified domain name identifer. </xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Top-level Domain">
<xs:annotation>
<xs:documentation>Specifies a top-level domain identifer. </xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:schema>
####Impact
This change would result in Domain Name
no longer being enumerated in URIObj:URITypeEnum
, and this could affect compatibility.
####Requested Feedback
- Does creating this object negatively impact CybOX authors/consumers?
- Should we change any aspect of the Domain Object?