Las taxonomías ahora tienen slug con la siguiente nomenclatura:
Taxonomías internas: pertenecientes a la organización (sin grupo) tienen el formato <taxonomy_slug>. Por ejemplo, para "Compromised Website" será compromised_website.
Taxonomías externas: no pertenecientes al grupo de taxonomías internas tienen el formato [<group_slug>-]<taxonomy_slug>. Por ejemplo, para "Compromised Website" de Csirt Example será csirt_example-compromised_website.
Comportamiento de las Taxonomías y Grupos de Taxonomías
Grupo de Taxonomías (TaxonomyGroup): agrupa un conjunto de árboles de taxonomías pertenecientes al mismo organismo.
Taxonomías internas: las taxonomías que no tienen un TaxonomyGroup se consideran internas de la propia organización.
Árboles de Taxonomías:
Las taxonomías definen la variable parent para crear árboles de taxonomías.
No se puede crear una taxonomía que sea su propio parent.
No se pueden formar ciclos utilizando parent.
Cada grupo de taxonomías puede tener múltiples árboles.
Al asignar un parent a una taxonomía, automáticamente se le asigna el grupo del parent, ya que todas las taxonomías del mismo árbol deben pertenecer al mismo grupo.
El grupo de una taxonomía no es modificable.
No se puede asignar un parent de otro grupo a una taxonomía existente, ya que cambiaría el parent y, por lo tanto, el grupo.
Alias:
Las taxonomías utilizan la variable alias_of para indicar que son un alias de otra taxonomía.
No se puede crear un alias de otro alias ni de sí mismo.
Solo se pueden crear alias de taxonomías internas (sin grupo).
Restricciones:
Las taxonomías internas no pueden tener parent y alias simultáneamente, mientras que las de organizaciones externas sí pueden.
Tanto los grupos como las taxonomías tienen un flag needs_review por defecto en true para indicar que la taxonomía requiere una revisión manual ya que por ejemplo pudo ser creada de forma automática. Para cunado es creada/editada por un operador manualmente puede asignarse false.
Comportamiento de los Eventos
Eventos con taxonomías que tienen alias: Al cargar un evento con taxonomia1 que tiene un alias a taxonomia2, automáticamente se asigna al evento taxonomia2.
Eventos creados con taxonomy_id
Se pueden crear eventos indicando la taxonomía del evento.
Si la taxonomía no tiene alias, se define automáticamente esa taxonomía.
Si la taxonomía tiene un alias, se usa esa taxonomía para crear el evento (en un campo extra del evento), pero luego se asigna al campo la taxonomía de la que es alias_of.
Eventos creados con taxonomy_slug
Si al crear un evento no se define una taxonomía directa sino un slug, se busca la taxonomía correspondiente:
Si el slug no existe, se crea una nueva taxonomía interna con ese slug. Por ejemplo, si se envía taxonomia_ejemplo1, se creará la taxonomía interna taxonomia_ejemplo1.
Si se envía shadowserver-phishing, se considera shadowserver como el slug del grupo y phishing como el slug de la taxonomía:
Si el grupo existe y la taxonomía tiene alias, se agrega el evento con la taxonomía del alias.
Si no tiene alias, se agrega con esa taxonomía.
Si el grupo existe pero no la taxonomía, se agrega una nueva taxonomía phishing al grupo shadowserver.
Si el grupo no existe, se crea el grupo shadowserver con su respectiva taxonomía phishing.
Nomenclatura de Slug de Taxonomías
Las taxonomías ahora tienen slug con la siguiente nomenclatura:
<taxonomy_slug>
. Por ejemplo, para "Compromised Website" serácompromised_website
.[<group_slug>-]<taxonomy_slug>
. Por ejemplo, para "Compromised Website" de Csirt Example serácsirt_example-compromised_website
.Comportamiento de las Taxonomías y Grupos de Taxonomías
TaxonomyGroup
se consideran internas de la propia organización.parent
para crear árboles de taxonomías.parent
.parent
.parent
a una taxonomía, automáticamente se le asigna el grupo delparent
, ya que todas las taxonomías del mismo árbol deben pertenecer al mismo grupo.parent
de otro grupo a una taxonomía existente, ya que cambiaría elparent
y, por lo tanto, el grupo.alias_of
para indicar que son un alias de otra taxonomía.parent
yalias
simultáneamente, mientras que las de organizaciones externas sí pueden.needs_review
por defecto entrue
para indicar que la taxonomía requiere una revisión manual ya que por ejemplo pudo ser creada de forma automática. Para cunado es creada/editada por un operador manualmente puede asignarsefalse
.Comportamiento de los Eventos
taxonomia1
que tiene un alias ataxonomia2
, automáticamente se asigna al eventotaxonomia2
.Eventos creados con
taxonomy_id
alias_of
.Eventos creados con
taxonomy_slug
slug
, se busca la taxonomía correspondiente:slug
no existe, se crea una nueva taxonomía interna con eseslug
. Por ejemplo, si se envíataxonomia_ejemplo1
, se creará la taxonomía internataxonomia_ejemplo1
.shadowserver-phishing
, se considerashadowserver
como elslug
del grupo yphishing
como elslug
de la taxonomía:phishing
al gruposhadowserver
.shadowserver
con su respectiva taxonomíaphishing
.