Clarification of an Initial Release

29 messages Options
Embed this post
Permalink
1 2
Wolfkiel, Joseph

Re: Clarification of an Initial Release

Reply Threaded More More options
Print post
Permalink
In reply to this post by Wolfkiel, Joseph

smime.p7m (20K) Download Attachment
Wolfkiel, Joseph

Re: Clarification of an Initial Release

Reply Threaded More More options
Print post
Permalink
 
Retransmitting for those of you who couldn't read this.


Lt Col Joseph L. Wolfkiel
Director, Computer Network Defense Research & Technology (CND R&T) Program
Management Office 9800 Savage Rd Ste 6767 Ft Meade, MD 20755-6767 Commercial
410-854-5401 DSN 244-5401 Fax 410-854-6700

-----Original Message-----
From: Wolfkiel, Joseph
Sent: Wednesday, November 26, 2008 8:18 AM
To: 'CPE Community Forum'
Subject: RE: [CPE-DISCUSSION-LIST] Clarification of an Initial Release

While I'm not fundamentally opposed to using "_nil_" in this way, it does
seem counter-intuitive.  My initial take on the "_nil_" identifier was that
it would be used to remedy a deficiency in the specification caused by the
decision to use blank component names to imply "match everything" versus
"blank."  In which case, we now have to choose a reserved word to take the
place of blank component names (i.e. in cases where the vendor either
doesn't use that component in their naming scheme, or didn't populate it for
a given software release).

With the new logic, we now have the case where "_nil_" = "", "_nil_"="ga",
"_nil_"="gold", and the indefinite case of nil="tbd" for any other vendor
label inserted to indicate an initial release.

One alternative, of course is to just use whatever label has been applied by
the vendor.  Another might be to choose another reserved word that means
"initial release" so that "_nil_" can continue to mean "blank" or
"unpopulated."

I'm also having some problems coming to grips with the use case that makes
the initial release significantly more important to uniquely identify than
any subsequent release.  Also some issues with the implied business logic.
Would "_nil_" only be used in the version field or only in the update field?
What would happen if "_nil_" appeared in the language field?  Would it imply
language general release?  What do we do with a vendor who has a product
with a "silver", "platinum", and "gold" ?...

That said, I'd like to have more feedback from the community on this.


Lt Col Joseph L. Wolfkiel
Director, Computer Network Defense Research & Technology (CND R&T) Program
Management Office 9800 Savage Rd Ste 6767 Ft Meade, MD 20755-6767 Commercial
410-854-5401 DSN 244-5401 Fax 410-854-6700

-----Original Message-----
From: David Waltermire [mailto:[hidden email]]
Sent: Tuesday, November 25, 2008 4:05 PM
To: [hidden email]
Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release

Please find my comments inline.  I would appreciate any feedback.

-----Original Message-----
From: Buttner, Drew [mailto:[hidden email]]
Sent: Thursday, November 20, 2008 1:36 PM
To: [hidden email]
Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release

All,

I have been asked to re-open this clarification for further discussion, and
set a defined review period before a final decision will be reached.  In the
rest of this email, I will try to outline the issues at hand and the
different views that exist.  The discussion will then be open for two weeks.
After two weeks, I will either post a new clarification if consensus has
been reached, or if consensus was not reached, then I will forward the
discussion to our Government sponsors for a decision.  Please note that in
the near future I will be formalizing this review process and documenting it
on the CPE web site.

The main issue is explained in the previous email (see the bottom of this
email).  It deals with which term to use when creating a CPE for an initial
release.  We often find cases where a given component does not apply to the
specific platform type we want to name.  We are trying to clarify which term
to use.

Some options that have been proposed in the past are:

ga
null
no_component
blank
_nil_

In addition, another aspect of this is whether to use a vendor specific term
if one exists, or to always use the term stated above.  There have been
arguments for using vendor terms when applicable as it makes the CPE Name
more understandable by a human user.  Having vendor terms can make searching
(within an application) for an appropriate CPE easier since one would search
with common terms.  E.g. a user might not know if Acme Red (IR) would be
cpe:/a:acme:red:ir or cpe:/a:acme:red:null.  It also makes the process of
creating names easier as one simply uses the known terms.  Two examples in
the current dictionary are:

cpe:/o:redhat:enterprise_linux:5:ga
cpe:/o:microsoft:windows_2003_server::gold

There have also been arguments against using vendor terms.  If a non-vendor
is creating new CPE Names then that individual will be forced to research
the different vendors to know if there is a vendor term or not.
Additionally, users that have access to the Official CPE Dictionary can
still search for a specific CPE Name by looking at the <title> field.

One additional point to consider is that the current CPE Specification
(version 2.1) does say in the UPDATE component section to use vendor terms.
This has lead to the creation of CPE Names that use vendor terms.  The
exclusion of vendor terms going forward would force us to either have CPE
Names that don't follow the spec (they would still be unique identifiers) or
to deprecate those existing names and replace them with new names.

Moving forward ... I would love to hear comments from the community on the
following two points:

1) What term should be used in a component when creating a new CPE Name in
instances where a platform doesn't specify that component (no current
edition) or when the platform being described is an initial release and the
component may be used to differentiate future releases (an unplanned service
pack)?

[DW: We need to use a single term consistently.  The use of _nil_ seems to
be a good candidate.  It should not occur in normal use when naming
products.]

2) Should vendor terms (e.g. 'ga' or 'gold') be used when appropriate or
should the term specified above be used in all cases regardless, even if a
different term is commonly used by the vendor?

[DW: It is our opinion that _nil_ should replace any vendor term used within
the CPE Name where the semantic meaning is the same (e.g. ga, gold, initial,
etc.)  This will greatly simplify the naming guidance and will result in
greater consistency in naming which is a win overall.  If this isn't done,
it makes naming much more complicated and time consuming than it needs to
be.  Given that there are thousands of vendors, researching the vendor term
for CPE Names that need to be created is not a trivial task.

Based on this analysis, I would recommend that we deprecate the old vendor
proprietary entries in the near future to keep everything consistent.  When
the _nil_ approach is used, human-readable titles can be based on the vendor
terminology.  In fact, this should be encouraged.]

Again, this discussion will be open until noon on Thursday December 4th,
2008.

Thanks
Drew




>-----Original Message-----
>From: Buttner, Drew [mailto:[hidden email]]
>Sent: Saturday, November 15, 2008 7:17 PM
>To: cpe-discussion-list CPE Community Forum
>Subject: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
>
>All,
>
>There has been a lot of talk about how to create CPE Names for initial
>releases.  This conversation is often had under the notion of a given
>platform that does not have a notion of a specific component.  For
>example, an application that does not support different languages, or
>an operating system that does not have updates.
>
>The issue is that there are some uses within the CPE Community that
>need to use CPE Names that do NOT leave that component blank.  Remember
>that a blank component is used in a CPE Name to identify a platform
>type regardless of the value for that component.  E.G. an application
>CPE Name with a blank edition would represent the platform type for the
>application regardless of the edition.  Unfortunately we often find
>within the industry that an initial release of a platform might not
>have editions, but future releases will.  Use of the CPE Name with a
>blank edition would match both the initial release and any future
>releases.  The question is how do we create the CPE Name for that
>initial release.
>
>The current CPE Specification (version 2.1) clarifies this point for
>the update component and directs us to use a vendor term like 'gold' or
>'ga'.  Unfortunately, the specification does not say how to handle the
>situation when there is no vendor term or for components other than
>update.  I have been asked to provide some official clarification for
>this.  Please note that this clarification will be added to any future
>version of the specification.
>
>-------------------------------------------------
>
>Clarification:
>
>If attempting to create a CPE Name for a given platform that does not
>have or define a certain component, and it is desired to enumerate a
>specific release guarding against future releases that may introduce
>the component (e.g. the release of a new edition), then the value
>'_nil_' should be used.  Note that some vendors do in fact define a
>term of an initial release but do not use this term in the marketing
>name. In these cases, that term should be used instead of '_nil_'.  An
>example of this is with the Microsoft Windows operating system where
>the initial release is known without a service pack.  In this case, the
>vendor does in fact have a term for this release (gold) and that vendor
>term should be used instead of '_nil_'.
>
>-------------------------------------------------
>
>I hope this clarifies the issue at hand.  Again, this clarification
>will be added to any future version of the CPE Specification.  Until
>that time, I hope this email serves as a reference to help create CPE
>Names under version 2.1.  I will make sure to post this clarification
>to the FAQ section of the CPE web site.
>
>Thanks
>Drew
>
>---------
>
>Andrew Buttner
>The MITRE Corporation
>[hidden email]
>781-271-3515


smime.p7s (6K) Download Attachment
Andrew Buttner

Re: Clarification of an Initial Release

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andrew Buttner
I just wanted to remind everyone that if you have thoughts on the initial release issue to please share them by noon on Thursday (Dec 4th) as we will be closing this discussion at that time.

Thank You
Drew



>-----Original Message-----
>From: Buttner, Drew [mailto:[hidden email]]
>Sent: Thursday, November 20, 2008 1:36 PM
>To: cpe-discussion-list CPE Community Forum
>Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
>
>All,
>
>I have been asked to re-open this clarification for further discussion,
>and set a defined review period before a final decision will be reached.
>In the rest of this email, I will try to outline the issues at hand and
>the different views that exist.  The discussion will then be open for
>two weeks.  After two weeks, I will either post a new clarification if
>consensus has been reached, or if consensus was not reached, then I will
>forward the discussion to our Government sponsors for a decision.
>Please note that in the near future I will be formalizing this review
>process and documenting it on the CPE web site.
>
>The main issue is explained in the previous email (see the bottom of
>this email).  It deals with which term to use when creating a CPE for an
>initial release.  We often find cases where a given component does not
>apply to the specific platform type we want to name.  We are trying to
>clarify which term to use.
>
>Some options that have been proposed in the past are:
>
>ga
>null
>no_component
>blank
>_nil_
>
>In addition, another aspect of this is whether to use a vendor specific
>term if one exists, or to always use the term stated above.  There have
>been arguments for using vendor terms when applicable as it makes the
>CPE Name more understandable by a human user.  Having vendor terms can
>make searching (within an application) for an appropriate CPE easier
>since one would search with common terms.  E.g. a user might not know if
>Acme Red (IR) would be cpe:/a:acme:red:ir or cpe:/a:acme:red:null.  It
>also makes the process of creating names easier as one simply uses the
>known terms.  Two examples in the current dictionary are:
>
>cpe:/o:redhat:enterprise_linux:5:ga
>cpe:/o:microsoft:windows_2003_server::gold
>
>There have also been arguments against using vendor terms.  If a non-
>vendor is creating new CPE Names then that individual will be forced to
>research the different vendors to know if there is a vendor term or not.
>Additionally, users that have access to the Official CPE Dictionary can
>still search for a specific CPE Name by looking at the <title> field.
>
>One additional point to consider is that the current CPE Specification
>(version 2.1) does say in the UPDATE component section to use vendor
>terms.  This has lead to the creation of CPE Names that use vendor
>terms.  The exclusion of vendor terms going forward would force us to
>either have CPE Names that don't follow the spec (they would still be
>unique identifiers) or to deprecate those existing names and replace
>them with new names.
>
>Moving forward ... I would love to hear comments from the community on
>the following two points:
>
>1) What term should be used in a component when creating a new CPE Name
>in instances where a platform doesn't specify that component (no current
>edition) or when the platform being described is an initial release and
>the component may be used to differentiate future releases (an unplanned
>service pack)?
>
>2) Should vendor terms (e.g. 'ga' or 'gold') be used when appropriate or
>should the term specified above be used in all cases regardless, even if
>a different term is commonly used by the vendor?
>
>Again, this discussion will be open until noon on Thursday December 4th,
>2008.
>
>Thanks
>Drew
>
>
>
>
>>-----Original Message-----
>>From: Buttner, Drew [mailto:[hidden email]]
>>Sent: Saturday, November 15, 2008 7:17 PM
>>To: cpe-discussion-list CPE Community Forum
>>Subject: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
>>
>>All,
>>
>>There has been a lot of talk about how to create CPE Names for initial
>>releases.  This conversation is often had under the notion of a given
>>platform that does not have a notion of a specific component.  For
>>example, an application that does not support different languages, or
>>an operating system that does not have updates.
>>
>>The issue is that there are some uses within the CPE Community that
>>need to use CPE Names that do NOT leave that component blank.  Remember
>>that a blank component is used in a CPE Name to identify a platform
>>type regardless of the value for that component.  E.G. an application
>>CPE Name with a blank edition would represent the platform type for the
>>application regardless of the edition.  Unfortunately we often find
>>within the industry that an initial release of a platform might not
>>have editions, but future releases will.  Use of the CPE Name with a
>>blank edition would match both the initial release and any future
>>releases.  The question is how do we create the CPE Name for that
>>initial release.
>>
>>The current CPE Specification (version 2.1) clarifies this point for
>>the update component and directs us to use a vendor term like 'gold' or
>>'ga'.  Unfortunately, the specification does not say how to handle the
>>situation when there is no vendor term or for components other than
>>update.  I have been asked to provide some official clarification for
>>this.  Please note that this clarification will be added to any future
>>version of the specification.
>>
>>-------------------------------------------------
>>
>>Clarification:
>>
>>If attempting to create a CPE Name for a given platform that does not
>>have or define a certain component, and it is desired to enumerate a
>>specific release guarding against future releases that may introduce
>>the component (e.g. the release of a new edition), then the value
>>'_nil_' should be used.  Note that some vendors do in fact define a
>>term of an initial release but do not use this term in the marketing
>>name. In these cases, that term should be used instead of '_nil_'.  An
>>example of this is with the Microsoft Windows operating system where
>>the initial release is known without a service pack.  In this case, the
>>vendor does in fact have a term for this release (gold) and that vendor
>>term should be used instead of '_nil_'.
>>
>>-------------------------------------------------
>>
>>I hope this clarifies the issue at hand.  Again, this clarification
>>will be added to any future version of the CPE Specification.  Until
>>that time, I hope this email serves as a reference to help create CPE
>>Names under version 2.1.  I will make sure to post this clarification
>>to the FAQ section of the CPE web site.
>>
>>Thanks
>>Drew
>>
>>---------
>>
>>Andrew Buttner
>>The MITRE Corporation
>>[hidden email]
>>781-271-3515
Gary Newman-2

Re: Clarification of an Initial Release

Reply Threaded More More options
Print post
Permalink
In reply to this post by Waltermire, David
1) When no component is specified, I favor the use of null over the other
choices.  I doubt we need to use _nil_ to avoid conflict with a vendor's
actually using 'null' as real product.  In addition, a common meaning of 'nil'
is zero, and that's decidedly not what we want this to mean.

2) The null term (or whatever is chosen for #1) should not be used to replace a
existing vendor term (e.g. gold for Microsoft).  This use would contradict the
commonly used meaning of null (e.g. in SQL) as "having none" or "unknown".

The goal here (#2) seems to be further unification of terms (gold, ga, etc),
and so the cpe spec should choose a specific term (e.g. 'ga' for the Update
Component) that is not the _nil_ term.

That brings up the question of what the correct Update Component is for Windows
Server 2008, as it's initial release was Service Pack 1.  If cpe specifies that
initial releases are 'ga', then we have here the unfortunate 'ga' == 'sp1'
condition.

If this is the first you've heard of Microsoft doing this (it was only a few
months ago), the rumors I've heard of why they did this are that:

i. Since Win2008 and Vista are built from the same source code, and Vista SP1
coincided with the Win2008 initial release, naming them both SP1 is logical.

ii. Microsoft marketing thought that labelling the Win2008 initial release as
SP1 would hasten it's deployment and underline its maturity.  Their hopes are
that this removes the usual IT department "wait for SP1" think, as that's
predicated on the thought that the major bugs are fixed in SP1.

Regardless of Microsoft's motivation, the cpe specification could work around
this by specifying that 'ga' only be used for an unnumbered initial release
(though that's a bit klunky).  I suspect that the widespread replacement of all
initial release update components with 'ga' (or '_nil_', as Dave suggests)
deserves more discussion.

        -Gary-

> To me it matters less what reserved word we use as a placeholder for the
> initial release as long as it is standardized.  What matters most is that
> whatever approach we decide on reduces, as much as possible, the content
> creation and maintenance burden of forming and moderating CPE Names.  Using
> the vendor term introduces some potential resource costs in these areas that
> using a common term would avoid.  This philosophy applies evenly to all
> components were efficiencies can be found in this way.
>
> I see _nil_ used for all components were the vendor product naming has no
> data.  So, yes, the _nil_ in the language component would mean a general,
> non-language specific release.  The same would apply to edition if no
> edition existed.  This is critical to forming fully-qualified, canonical CPE
> Names.
>
> Dave
>
> -----Original Message-----
> From: Vladimir Giszpenc [mailto:[hidden email]]
> Sent: Wednesday, November 26, 2008 8:31 AM
> To: [hidden email]
> Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
>
> At Developer Days, everyone seemed to have solved this problem by using
> version numbers.  They use a version or update of 0 for an initial
> release.  If there is no edition, so be it.
>
> Vladimir Giszpenc
> DSCI Contractor Supporting
> US Army CERDEC S&TCD IAD Tactical Network Protection Branch
> (732) 532-8959
>
> > Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
> >
> > While I'm not fundamentally opposed to using "_nil_" in this way, it
> > does
> > seem counter-intuitive.  My initial take on the "_nil_" identifier was
> > that
> > it would be used to remedy a deficiency in the specification caused by
> > the
> > decision to use blank component names to imply "match everything"
> > versus
> > "blank."  In which case, we now have to choose a reserved word to take
> > the
> > place of blank component names (i.e. in cases where the vendor either
> > doesn't use that component in their naming scheme, or didn't populate
> > it for
> > a given software release).
> >
> > With the new logic, we now have the case where "_nil_" = "",
> > "_nil_"="ga",
> > "_nil_"="gold", and the indefinite case of nil="tbd" for any other
> > vendor
> > label inserted to indicate an initial release.
> >
> > One alternative, of course is to just use whatever label has been
> > applied by
> > the vendor.  Another might be to choose another reserved word that
> > means
> > "initial release" so that "_nil_" can continue to mean "blank" or
> > "unpopulated."
> >
> > I'm also having some problems coming to grips with the use case that
> > makes
> > the initial release significantly more important to uniquely identify
> > than
> > any subsequent release.  Also some issues with the implied business
> > logic.
> > Would "_nil_" only be used in the version field or only in the update
> > field?
> > What would happen if "_nil_" appeared in the language field?  Would it
> > imply
> > language general release?  What do we do with a vendor who has a
> > product
> > with a "silver", "platinum", and "gold" ?...
> >
> > That said, I'd like to have more feedback from the community on this.
> >
> >
> > Lt Col Joseph L. Wolfkiel
> > Director, Computer Network Defense Research & Technology (CND R&T)
> > Program
> > Management Office
> > 9800 Savage Rd Ste 6767
> > Ft Meade, MD 20755-6767
> > Commercial 410-854-5401 DSN 244-5401
> > Fax 410-854-6700
> >
> > -----Original Message-----
> > From: David Waltermire [mailto:[hidden email]]
> > Sent: Tuesday, November 25, 2008 4:05 PM
> > To: [hidden email]
> > Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
> >
> > Please find my comments inline.  I would appreciate any feedback.
> >
> > -----Original Message-----
> > From: Buttner, Drew [mailto:[hidden email]]
> > Sent: Thursday, November 20, 2008 1:36 PM
> > To: [hidden email]
> > Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
> >
> > All,
> >
> > I have been asked to re-open this clarification for further
> discussion,
> > and
> > set a defined review period before a final decision will be reached.
> > In the
> > rest of this email, I will try to outline the issues at hand and the
> > different views that exist.  The discussion will then be open for two
> > weeks.
> > After two weeks, I will either post a new clarification if consensus
> > has
> > been reached, or if consensus was not reached, then I will forward the
> > discussion to our Government sponsors for a decision.  Please note
> that
> > in
> > the near future I will be formalizing this review process and
> > documenting it
> > on the CPE web site.
> >
> > The main issue is explained in the previous email (see the bottom of
> > this
> > email).  It deals with which term to use when creating a CPE for an
> > initial
> > release.  We often find cases where a given component does not apply
> to
> > the
> > specific platform type we want to name.  We are trying to clarify
> which
> > term
> > to use.
> >
> > Some options that have been proposed in the past are:
> >
> > ga
> > null
> > no_component
> > blank
> > _nil_
> >
> > In addition, another aspect of this is whether to use a vendor
> specific
> > term
> > if one exists, or to always use the term stated above.  There have
> been
> > arguments for using vendor terms when applicable as it makes the CPE
> > Name
> > more understandable by a human user.  Having vendor terms can make
> > searching
> > (within an application) for an appropriate CPE easier since one would
> > search
> > with common terms.  E.g. a user might not know if Acme Red (IR) would
> > be
> > cpe:/a:acme:red:ir or cpe:/a:acme:red:null.  It also makes the process
> > of
> > creating names easier as one simply uses the known terms.  Two
> examples
> > in
> > the current dictionary are:
> >
> > cpe:/o:redhat:enterprise_linux:5:ga
> > cpe:/o:microsoft:windows_2003_server::gold
> >
> > There have also been arguments against using vendor terms.  If a non-
> > vendor
> > is creating new CPE Names then that individual will be forced to
> > research
> > the different vendors to know if there is a vendor term or not.
> > Additionally, users that have access to the Official CPE Dictionary
> can
> > still search for a specific CPE Name by looking at the <title> field.
> >
> > One additional point to consider is that the current CPE Specification
> > (version 2.1) does say in the UPDATE component section to use vendor
> > terms.
> > This has lead to the creation of CPE Names that use vendor terms.  The
> > exclusion of vendor terms going forward would force us to either have
> > CPE
> > Names that don't follow the spec (they would still be unique
> > identifiers) or
> > to deprecate those existing names and replace them with new names.
> >
> > Moving forward ... I would love to hear comments from the community on
> > the
> > following two points:
> >
> > 1) What term should be used in a component when creating a new CPE
> Name
> > in
> > instances where a platform doesn't specify that component (no current
> > edition) or when the platform being described is an initial release
> and
> > the
> > component may be used to differentiate future releases (an unplanned
> > service
> > pack)?
> >
> > [DW: We need to use a single term consistently.  The use of _nil_
> seems
> > to
> > be a good candidate.  It should not occur in normal use when naming
> > products.]
> >
> > 2) Should vendor terms (e.g. 'ga' or 'gold') be used when appropriate
> > or
> > should the term specified above be used in all cases regardless, even
> > if a
> > different term is commonly used by the vendor?
> >
> > [DW: It is our opinion that _nil_ should replace any vendor term used
> > within
> > the CPE Name where the semantic meaning is the same (e.g. ga, gold,
> > initial,
> > etc.)  This will greatly simplify the naming guidance and will result
> > in
> > greater consistency in naming which is a win overall.  If this isn't
> > done,
> > it makes naming much more complicated and time consuming than it needs
> > to
> > be.  Given that there are thousands of vendors, researching the vendor
> > term
> > for CPE Names that need to be created is not a trivial task.
> >
> > Based on this analysis, I would recommend that we deprecate the old
> > vendor
> > proprietary entries in the near future to keep everything consistent.
> > When
> > the _nil_ approach is used, human-readable titles can be based on the
> > vendor
> > terminology.  In fact, this should be encouraged.]
> >
> > Again, this discussion will be open until noon on Thursday December
> > 4th,
> > 2008.
> >
> > Thanks
> > Drew
> >
> >
> >
> >
> > >-----Original Message-----
> > >From: Buttner, Drew [mailto:[hidden email]]
> > >Sent: Saturday, November 15, 2008 7:17 PM
> > >To: cpe-discussion-list CPE Community Forum
> > >Subject: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
> > >
> > >All,
> > >
> > >There has been a lot of talk about how to create CPE Names for
> initial
> > >releases.  This conversation is often had under the notion of a given
> > >platform that does not have a notion of a specific component.  For
> > >example, an application that does not support different languages, or
> > >an operating system that does not have updates.
> > >
> > >The issue is that there are some uses within the CPE Community that
> > >need to use CPE Names that do NOT leave that component blank.
> > Remember
> > >that a blank component is used in a CPE Name to identify a platform
> > >type regardless of the value for that component.  E.G. an application
> > >CPE Name with a blank edition would represent the platform type for
> > the
> > >application regardless of the edition.  Unfortunately we often find
> > >within the industry that an initial release of a platform might not
> > >have editions, but future releases will.  Use of the CPE Name with a
> > >blank edition would match both the initial release and any future
> > >releases.  The question is how do we create the CPE Name for that
> > >initial release.
> > >
> > >The current CPE Specification (version 2.1) clarifies this point for
> > >the update component and directs us to use a vendor term like 'gold'
> > or
> > >'ga'.  Unfortunately, the specification does not say how to handle
> the
> > >situation when there is no vendor term or for components other than
> > >update.  I have been asked to provide some official clarification for
> > >this.  Please note that this clarification will be added to any
> future
> > >version of the specification.
> > >
> > >-------------------------------------------------
> > >
> > >Clarification:
> > >
> > >If attempting to create a CPE Name for a given platform that does not
> > >have or define a certain component, and it is desired to enumerate a
> > >specific release guarding against future releases that may introduce
> > >the component (e.g. the release of a new edition), then the value
> > >'_nil_' should be used.  Note that some vendors do in fact define a
> > >term of an initial release but do not use this term in the marketing
> > >name. In these cases, that term should be used instead of '_nil_'.
> An
> > >example of this is with the Microsoft Windows operating system where
> > >the initial release is known without a service pack.  In this case,
> > the
> > >vendor does in fact have a term for this release (gold) and that
> > vendor
> > >term should be used instead of '_nil_'.
> > >
> > >-------------------------------------------------
> > >
> > >I hope this clarifies the issue at hand.  Again, this clarification
> > >will be added to any future version of the CPE Specification.  Until
> > >that time, I hope this email serves as a reference to help create CPE
> > >Names under version 2.1.  I will make sure to post this clarification
> > >to the FAQ section of the CPE web site.
> > >
> > >Thanks
> > >Drew
> > >
> > >---------
> > >
> > >Andrew Buttner
> > >The MITRE Corporation
> > >[hidden email]
> > >781-271-3515
>
>
>
Andrew Buttner

Re: Clarification of an Initial Release

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andrew Buttner
Thank you to all that weighed in on this issue.  I will be summarizing the different views and forwarding this summary on to our government sponsor for a decision.  Once a decision has been reached, I will make sure to pass this along to the community.  In addition I will forward on any decision on how to enact the decision (spec change, etc.).

Thanks
Drew


>-----Original Message-----
>From: Buttner, Drew [mailto:[hidden email]]
>Sent: Thursday, November 20, 2008 1:36 PM
>To: cpe-discussion-list CPE Community Forum
>Subject: Re: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
>
>All,
>
>I have been asked to re-open this clarification for further discussion,
>and set a defined review period before a final decision will be reached.
>In the rest of this email, I will try to outline the issues at hand and
>the different views that exist.  The discussion will then be open for
>two weeks.  After two weeks, I will either post a new clarification if
>consensus has been reached, or if consensus was not reached, then I will
>forward the discussion to our Government sponsors for a decision.
>Please note that in the near future I will be formalizing this review
>process and documenting it on the CPE web site.
>
>The main issue is explained in the previous email (see the bottom of
>this email).  It deals with which term to use when creating a CPE for an
>initial release.  We often find cases where a given component does not
>apply to the specific platform type we want to name.  We are trying to
>clarify which term to use.
>
>Some options that have been proposed in the past are:
>
>ga
>null
>no_component
>blank
>_nil_
>
>In addition, another aspect of this is whether to use a vendor specific
>term if one exists, or to always use the term stated above.  There have
>been arguments for using vendor terms when applicable as it makes the
>CPE Name more understandable by a human user.  Having vendor terms can
>make searching (within an application) for an appropriate CPE easier
>since one would search with common terms.  E.g. a user might not know if
>Acme Red (IR) would be cpe:/a:acme:red:ir or cpe:/a:acme:red:null.  It
>also makes the process of creating names easier as one simply uses the
>known terms.  Two examples in the current dictionary are:
>
>cpe:/o:redhat:enterprise_linux:5:ga
>cpe:/o:microsoft:windows_2003_server::gold
>
>There have also been arguments against using vendor terms.  If a non-
>vendor is creating new CPE Names then that individual will be forced to
>research the different vendors to know if there is a vendor term or not.
>Additionally, users that have access to the Official CPE Dictionary can
>still search for a specific CPE Name by looking at the <title> field.
>
>One additional point to consider is that the current CPE Specification
>(version 2.1) does say in the UPDATE component section to use vendor
>terms.  This has lead to the creation of CPE Names that use vendor
>terms.  The exclusion of vendor terms going forward would force us to
>either have CPE Names that don't follow the spec (they would still be
>unique identifiers) or to deprecate those existing names and replace
>them with new names.
>
>Moving forward ... I would love to hear comments from the community on
>the following two points:
>
>1) What term should be used in a component when creating a new CPE Name
>in instances where a platform doesn't specify that component (no current
>edition) or when the platform being described is an initial release and
>the component may be used to differentiate future releases (an unplanned
>service pack)?
>
>2) Should vendor terms (e.g. 'ga' or 'gold') be used when appropriate or
>should the term specified above be used in all cases regardless, even if
>a different term is commonly used by the vendor?
>
>Again, this discussion will be open until noon on Thursday December 4th,
>2008.
>
>Thanks
>Drew
>
>
>
>
>>-----Original Message-----
>>From: Buttner, Drew [mailto:[hidden email]]
>>Sent: Saturday, November 15, 2008 7:17 PM
>>To: cpe-discussion-list CPE Community Forum
>>Subject: [CPE-DISCUSSION-LIST] Clarification of an Initial Release
>>
>>All,
>>
>>There has been a lot of talk about how to create CPE Names for initial
>>releases.  This conversation is often had under the notion of a given
>>platform that does not have a notion of a specific component.  For
>>example, an application that does not support different languages, or
>>an operating system that does not have updates.
>>
>>The issue is that there are some uses within the CPE Community that
>>need to use CPE Names that do NOT leave that component blank.  Remember
>>that a blank component is used in a CPE Name to identify a platform
>>type regardless of the value for that component.  E.G. an application
>>CPE Name with a blank edition would represent the platform type for the
>>application regardless of the edition.  Unfortunately we often find
>>within the industry that an initial release of a platform might not
>>have editions, but future releases will.  Use of the CPE Name with a
>>blank edition would match both the initial release and any future
>>releases.  The question is how do we create the CPE Name for that
>>initial release.
>>
>>The current CPE Specification (version 2.1) clarifies this point for
>>the update component and directs us to use a vendor term like 'gold' or
>>'ga'.  Unfortunately, the specification does not say how to handle the
>>situation when there is no vendor term or for components other than
>>update.  I have been asked to provide some official clarification for
>>this.  Please note that this clarification will be added to any future
>>version of the specification.
>>
>>-------------------------------------------------
>>
>>Clarification:
>>
>>If attempting to create a CPE Name for a given platform that does not
>>have or define a certain component, and it is desired to enumerate a
>>specific release guarding against future releases that may introduce
>>the component (e.g. the release of a new edition), then the value
>>'_nil_' should be used.  Note that some vendors do in fact define a
>>term of an initial release but do not use this term in the marketing
>>name. In these cases, that term should be used instead of '_nil_'.  An
>>example of this is with the Microsoft Windows operating system where
>>the initial release is known without a service pack.  In this case, the
>>vendor does in fact have a term for this release (gold) and that vendor
>>term should be used instead of '_nil_'.
>>
>>-------------------------------------------------
>>
>>I hope this clarifies the issue at hand.  Again, this clarification
>>will be added to any future version of the CPE Specification.  Until
>>that time, I hope this email serves as a reference to help create CPE
>>Names under version 2.1.  I will make sure to post this clarification
>>to the FAQ section of the CPE web site.
>>
>>Thanks
>>Drew
>>
>>---------
>>
>>Andrew Buttner
>>The MITRE Corporation
>>[hidden email]
>>781-271-3515
Andrew Buttner

Re: Clarification of an Initial Release

Reply Threaded More More options
Print post
Permalink
Once again I would like to thank everyone who shared their opinion regarding the Initial Release issue.  The different views were forwarded along to our Government sponsor and a decision has been reached.  I'd like to share this decision with the community.  Please see the attached document for more information about how the decision was arrived at.

It was decided that a single hyphen (i.e. '-') should be used in any component of a CPE Name when the platform type being enumerated does not have a common value for that component (often found with an initial release), or when given component is not applicable to the platform being enumerated (an application with no editions).

For example, for an OS that typically releases updates after an initial release but doesn't give a specific term for that initial release would use '-' in the update component:

cpe:/o:vendor:product:1.0:-
cpe:/o:vendor:product:1.0:update1
cpe:/o:vendor:product:2.1:-:pro
cpe:/o:vendor:product:2.1:update1:pro

If a vendor does in fact have a common term for a given component related to an initial release, then the hyphen should not be used to create the CPE Name and the vendor term should be used.  We see this with the terms 'gold' for Microsoft and 'ga' for Red Hat.

cpe:/a:microsoft:data_access_components:2.5:gold
cpe:/o:redhat:enterprise_linux:5:ga

The use of a single hyphen was chosen over a term like 'nil' or 'null' since both of those terms imply meaning and could be a source of confusion within the CPE Community.  The use of this term is meant for places when no meaning exists (component isn't even applicable or no term is used by the vendor) so a non-word term made the most sense.

This clarification to the CPE Specification will be included in the next version (no date has been set).  Since this solution does not go against the current version 2.1 of the specification and rather just clarifies how to use the current specification, it should be followed from today forward.

Thank you,
Drew


initial_release_term.pdf (209K) Download Attachment
Wolfkiel, Joseph

Re: DoD DRAFT Assessment Results Format for comment -- Unsigned re-transmit of Friday Nov 21, 2008 e-mail

Reply Threaded More More options
Print post
Permalink
In reply to this post by Wolfkiel, Joseph
Some javascript/style in this post has been disabled (why?)
Just a reminder that comments on the draft ARF spec are requested by COB tomorrow.  With my apologies for how late they are in the process, here's the latest versions of the schemas for ARF.  Only two major changes were made (as a result of comments and ongoing dialogue). 
 
First, the CPE-Record now allows for multiple CPE names to be associated with each installed OS/Application with different confidence values for each.  This functionality allows unauthenticated scanners or passive sensors to list out the CPE IDs that may correctly describe an installed app or OS.  This is done in lieu of describing ranges or wildcards since those concepts aren't currently supported by CPE.
 
Second, an XML representation of X.509 certificates has been added as an element of the CPE Record so device and person identities installed on OSs or applications can be reported.  Specific elements of the X.509 certificates that can/must be assessed and reported are still TBD.
 
We plan to start comment adjudication on the 18th, so if you are submitting comments and won't be able to meet the 17th deadline, please contact me ASAP.
 
Thanks,
 
- Joe Wolfkiel

Lt Col Joseph L. Wolfkiel
Director, Computer Network Defense Research & Technology (CND R&T) Program Management Office
9800 Savage Rd Ste 6767
Ft Meade, MD 20755-6767
Commercial 410-854-5401 DSN 244-5401
Fax 410-854-6700

 



ARF Updates 2008-12-04.zip (139K) Download Attachment
smime.p7s (6K) Download Attachment
Eric Fredericksen

Re: DoD DRAFT Assessment Results Format for comment -- Unsigned re-transmit of Friday Nov 21, 2008 e-mail

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
I have several observations.
 
The specification, although broad and fairly comprehensive, looks like an externalization of an internal design document.
 
The proposal does not have enough flexibility to be generally useful to us. I suspect the same goes for most other vendors. By flexibility I mean that that there is no generic extensibility mechanism for inclusion of arbitrary data in the records. This problem could of course be remedied by adding
 
 <xsd:anyAttribute namespace="##other" processContents="lax" />
 
and
 
 <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other"  processContents="lax"/>
 
in the appropriate locations for each record type.
 
I understand the reasons for not doing so - avoiding consumption of potentially malicious data. However, the resulting specification is therefore not generally useful except as an export format. The implication is that although this proposal might become a government requirement it is not looking like a community standard.
 
If the proposal were modified sufficiently to become a community standard the web interface should be a separate requirement and not part of the data format specification.
 
Regards,
Eric
 

Eric Fredericksen, PhD
Solutions Architect
Risk and Compliance Business Unit
McAfee, Inc.

949.297.5600 Main
949.297.5574 Direct
949.466.5196 Mobile
949.297.5575 Fax
[hidden email]
www.mcafee.com

This email may contain confidential and privileged information for the sole use of the intended recipient. Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies of this message. Thank you.



From: Wolfkiel, Joseph [mailto:[hidden email]]
Sent: Tuesday, December 16, 2008 4:55 AM
To: [hidden email]
Subject: Re: [CPE-DISCUSSION-LIST] DoD DRAFT Assessment Results Format for comment -- Unsigned re-transmit of Friday Nov 21, 2008 e-mail

Just a reminder that comments on the draft ARF spec are requested by COB tomorrow.  With my apologies for how late they are in the process, here's the latest versions of the schemas for ARF.  Only two major changes were made (as a result of comments and ongoing dialogue). 
 
First, the CPE-Record now allows for multiple CPE names to be associated with each installed OS/Application with different confidence values for each.  This functionality allows unauthenticated scanners or passive sensors to list out the CPE IDs that may correctly describe an installed app or OS.  This is done in lieu of describing ranges or wildcards since those concepts aren't currently supported by CPE.
 
Second, an XML representation of X.509 certificates has been added as an element of the CPE Record so device and person identities installed on OSs or applications can be reported.  Specific elements of the X.509 certificates that can/must be assessed and reported are still TBD.
 
We plan to start comment adjudication on the 18th, so if you are submitting comments and won't be able to meet the 17th deadline, please contact me ASAP.
 
Thanks,
 
- Joe Wolfkiel

Lt Col Joseph L. Wolfkiel
Director, Computer Network Defense Research & Technology (CND R&T) Program Management Office
9800 Savage Rd Ste 6767
Ft Meade, MD 20755-6767
Commercial 410-854-5401 DSN 244-5401
Fax 410-854-6700

 
Wolfkiel, Joseph

Re: DoD DRAFT Assessment Results Format for comment -- Unsigned re-transmit of Friday Nov 21, 2008 e-mail

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
That's a legitimate argument.  We've been debating the value of adding the "any" tag to allow for extensibility.  We can, and probably will, add it to the schemas for the language, though in some DoD uses, anything appended against the "any" tag will be stripped off.  We did want to ensure the vast majority of required data for SCAP assessment reporting can be carried in well defined schemas, however we do acknowledge that there are expected to be cases in the future where users would want to add additional structured information.
 
I agree with your points about the web interface.  We will be developing multiple web interfaces against the ARF schemas and putting this one web service in the spec makes it appear that it is the only acceptable use.  That wasn't the intent.  We'll separate the two in the future.
 
To all the others on the list who submitted comments:  Thanks.  Please don't assume that a lack of immediate answer means we're ignoring your comments.  We have received a lot of comments and will be going through the process of documenting them and providing an issue-by-issue comment resolution table so we can track changes to the ARF schemas and web services back to the originator and comment that drove it.  I expect this process to take as long as a month (possibly a week or so more, given how near the holidays are).
 
As for the ARF spec reflecting an internal design spec, it does--or more accurately, it is an internal design spec that we are releasing to the public.  However the use case we have for SCAP assessment results exporting, on a per-device basis appears to be fairly common across the federal government, and (we think) across the private sector as well.  Our long-term intent is to work ARF as a DoD standard for the short term, mostly so that we can move quickly, then turn it over to NIST to be integrated with CRF once it is stable and robust enough to meet DoD reporting needs.
 

Lt Col Joseph L. Wolfkiel
Director, Computer Network Defense Research & Technology (CND R&T) Program Management Office
9800 Savage Rd Ste 6767
Ft Meade, MD 20755-6767
Commercial 410-854-5401 DSN 244-5401
Fax 410-854-6700

 


From: Eric Fredericksen [mailto:[hidden email]]
Sent: Wednesday, December 17, 2008 6:55 PM
To: [hidden email]
Subject: Re: [CPE-DISCUSSION-LIST] DoD DRAFT Assessment Results Format for comment -- Unsigned re-transmit of Friday Nov 21, 2008 e-mail

I have several observations.
 
The specification, although broad and fairly comprehensive, looks like an externalization of an internal design document.
 
The proposal does not have enough flexibility to be generally useful to us. I suspect the same goes for most other vendors. By flexibility I mean that that there is no generic extensibility mechanism for inclusion of arbitrary data in the records. This problem could of course be remedied by adding
 
 <xsd:anyAttribute namespace="##other" processContents="lax" />
 
and
 
 <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other"  processContents="lax"/>
 
in the appropriate locations for each record type.
 
I understand the reasons for not doing so - avoiding consumption of potentially malicious data. However, the resulting specification is therefore not generally useful except as an export format. The implication is that although this proposal might become a government requirement it is not looking like a community standard.
 
If the proposal were modified sufficiently to become a community standard the web interface should be a separate requirement and not part of the data format specification.
 
Regards,
Eric
 

Eric Fredericksen, PhD
Solutions Architect
Risk and Compliance Business Unit
McAfee, Inc.

949.297.5600 Main
949.297.5574 Direct
949.466.5196 Mobile
949.297.5575 Fax
[hidden email]
www.mcafee.com

This email may contain confidential and privileged information for the sole use of the intended recipient. Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies of this message. Thank you.



From: Wolfkiel, Joseph [mailto:[hidden email]]
Sent: Tuesday, December 16, 2008 4:55 AM
To: [hidden email]
Subject: Re: [CPE-DISCUSSION-LIST] DoD DRAFT Assessment Results Format for comment -- Unsigned re-transmit of Friday Nov 21, 2008 e-mail

Just a reminder that comments on the draft ARF spec are requested by COB tomorrow.  With my apologies for how late they are in the process, here's the latest versions of the schemas for ARF.  Only two major changes were made (as a result of comments and ongoing dialogue). 
 
First, the CPE-Record now allows for multiple CPE names to be associated with each installed OS/Application with different confidence values for each.  This functionality allows unauthenticated scanners or passive sensors to list out the CPE IDs that may correctly describe an installed app or OS.  This is done in lieu of describing ranges or wildcards since those concepts aren't currently supported by CPE.
 
Second, an XML representation of X.509 certificates has been added as an element of the CPE Record so device and person identities installed on OSs or applications can be reported.  Specific elements of the X.509 certificates that can/must be assessed and reported are still TBD.
 
We plan to start comment adjudication on the 18th, so if you are submitting comments and won't be able to meet the 17th deadline, please contact me ASAP.
 
Thanks,
 
- Joe Wolfkiel

Lt Col Joseph L. Wolfkiel
Director, Computer Network Defense Research & Technology (CND R&T) Program Management Office
9800 Savage Rd Ste 6767
Ft Meade, MD 20755-6767
Commercial 410-854-5401 DSN 244-5401
Fax 410-854-6700

 


smime.p7s (6K) Download Attachment
1 2