STIX 2.0
2020, Apr 10  
인텔리전스팀

본 글에서는 위협 인텔리전스 플랫폼과 서비스에서 인텔리전스 정보를 공유하는 데 기반이 되는 STIX를 자세히 살펴보고자 합니다.

위협 플랫폼에 대한 자세한 내용은 위협 인텔리전스 플랫폼 소개를 참고 합니다.

STIX 란 ?

미국의 국토안보부는 사이버 위협에 대응하기 위하여 효율적이고 안전한 정보공유 체계 구축의 필요성을 인지했으나, 사이버 위협 정보가 표준화되지 않아 일관성 있는 분석의 어려움을 느끼고 이를 극복하기 위해 12년부터 규격 개발에 착수하였습니다. 미국의 국토안보부는 MITRE를 통해 사이버 위협 전송 규격인 TAXII(Trusted Automated eXchange of Indicator Information) 와 사이버 위협 표현 규격인 STIX(Structed Threat Information eXpression) 을 발표했습니다. STIX를 이용해 CTI(Cyber Threat Intelligence)를 일관성 있고 자동화된 해석이 가능한 방식으로 공유하는 목적으로 2013년에 TAXII/STIX 1.0이 제작되었습니다. 아래 그림은 TAXII/STIX의 체계입니다.

그림

STIX 1.x 와 STIX 2.0 비교

STIX 1.x와 2017년 발표된 STIX 2.0 의 차이점은 다음과 같습니다.

  • 스키마 변경

    STIX 1.x 에서는 XML 스키마을 사용했지만, STIX 2.0에는 JSON 스키마를 사용합니다. JSON 스키마가 XML 스키마 보다 더 가볍고 CTI 정보를 더 잘 표현할 수 있다고 판단했기 때문에 변경했습니다.

  • 그래프 기반 모델

    STIX 2.0에서 SDO(STIX Domain Object)는 노드로 정의되고 SRO(STIX Relationship Object)는 선으로 정의되어 있습니다. 이 그래프 기반 언어는 CTI의 유연성, 모듈화, 구조화 및 일관된 표현을 잘 나타냅니다.

  • 관계 표현 (Relationship)

    STIX 1.x에서는 두 개의 서로 다른 SDO가 존재하면 관계를 표현할 수 없었으나, STIX 2.0에서는 Relationship이라는 타입으로 관계를 표현할 수 있습니다.

      {
         "type": "relationship",
         "id": "relationship--01",
         "created": "2017-02-09T11:13:27.431000Z",
         "modified": "2017-02-09T11:13:27.431000Z",
         "relationship_type": "uses",
         "source_ref": "attack-pattern--03",
         "target_ref": "tool--04"
      }
    

    출처: https://oasis-open.github.io/cti-documentation/stix/compare.html

  • Indicator의 Pattern 변경

    STIX 1.x에서 Indicator의 Pattern은 XML 구문을 사용하여 표현하였기에 단순한 Pattern을 제외한 모든 Pattern을 작성하기에도 어려울 뿐만 아니라 이해하기도 어려웠습니다. STIX 2에서는 STIX Pattern 언어로 제작되어 간결하고 읽기 쉬워졌습니다.

  • 표준 통합

    CybOX(Cyber ​​Observable eXpression)는 관제와 기업 보안에서 나오는 사이버 지표(파일 해시, IP 등)를 표현하기 위한 언어입니다. 이 CybOX는 STIX 1.x에서는 별개로 관리가 되었지만 STIX 2.0에서는 STIX Cyber Observable로 포함 되었습니다.

  • 간단하고 명확한 속성

    STIX 1.x에서는 거의 모든 속성이 선택 사항이였기 때문에 인텔리전스를 공유하기 어려웠지만, STIX 2에서는 속성들이 표준화되어 인텔리전스를 공유하기 쉬워졌습니다.

  • Data Marking 형식 변경

    Data Marking은 접근 제한, 사용 권한 및 데이터를 사용하고 공유할 수 있는 방법에 대한 취급 지침을 표시합니다. STIX 1.x에서는 이 Data Marking을 XPath 형식으로 정의가 되어 있지만, STIX 2에서는 marking-definition 속성을 사용해 지정합니다.


STIX 2.0 구성 요소 및 구조

STIX 2.0은 SDO(STIX Domain Object), SRO(STIX Relationship Object)로 구성되어 있으며, 12개 SDO와 2개 SRO로 구조화되어 있습니다. 각각 구성 객체는 다양한 세부적인 속성을 가지고 있습니다.

공격자를 표현할 수 있는 Threat Actor, Intrusion Set, Campaign이 있고, 공격자가 사용할 수 있는 TTP(Tactics, Techniques, Procedures)는 Attack Pattern, Malware, Tool이 있습니다. TTP의 타겟이 되는 Vulnerability와 Identity가 있고, Vulnerability를 해결하는 Course Of Action이 있습니다. 그리고 공격자와 TTP를 탐지하는 Indicator와 Observed Data가 있으며, 이를 탐지한 Sighting이 있습니다.

그림

그림 출처: https://freetaxii.github.io/


1. STIX 객체의 공통 속성

STIX 객체는 다음과 같은 공통 속성을 가집니다.

1.1 기본 속성 (Basic)

속성 형식 설명 예제
type (필수) string STIX 형식을 식별하기 위한 속성. Indicator, Observed Data, Relationship
id (필수) identifier 객체 식별자 identity–023d105b-752e-4e3c-941c-7d3f3cb15e9e

1.2 버전 속성 (Versioning)

속성 형식 설명 예제
created (필수) timestamp 객체 최초 생성 시간 2016-04-06T20:03:00.000Z
modified (필수) timestamp 마지막으로 버전이 수정된 시간 2016-04-06T20:03:00.000Z
created_by_ref (선택) identifier 객체의 출처 표현 identity–f431f809-377b-45e0-aa1c-6a4751cae5ff
revoked (선택) boolean 객체 사용 여부 false (true이면 더 이상 사용하지 않음)

1.3 메타데이터 속성 (Metadata)

속성 형식 설명 예제
labels(선택) string 형식의 list SDO의 형식을 지정하는 값 malicious-activity
external_references(선택) external_reference STIX 이외의 정보를 참조하는 값 “source_name”:”cve”

1.4 데이터 표현 속성 (Data Marking)

속성 형식 설명 예제
definition_type (필수) open-vocab Statement 또는 TLP TLP
definition (필수) marking object TLP 또는 Statement 설명 “tlp”: “green”


2.STIX Domain Obejct

SDO는 CTI에서 사용하는 Attack Pattern, Campaign 등 12개로 정의 되어 있습니다.

2.1. Attack Pattern

공격 방법을 설명하고, 공격 패턴을 일반화하여 공격이 이루어지는 방법에 대한 정보를 제공하기 위해 사용합니다.

{
   "type":"attack-pattern",
   "id":"attack-pattern--8ac90ff3-ecf8-4835-95b8-6aea6a623df5",
   "created":"2015-05-07T14:22:14.760Z",
   "modified":"2015-05-07T14:22:14.760Z",
   "name":"Phishing",
   "description":"Spear phishing used as a delivery mechanism for malware.",
   "external_references":[
      {
         "source_name":"capec",
         "description":"phishing",
         "url":"https://capec.mitre.org/data/definitions/98.html",
         "external_id":"CAPEC-98"
      }
   ],
   "kill_chain_phases":[
      {
         "kill_chain_name":"mandiant-attack-lifecycle-model",
         "phase_name":"initial-compromise"
      }
   ]
}

2.2. Campaign

사이버 공격 관련 개인 또는 그룹입니다.

{
   "type":"campaign",
   "id":"campaign--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:00.000Z",
   "modified":"2016-04-06T20:03:00.000Z",
   "name":"Green Group Attacks Against Finance",
   "description":"Campaign by Green Group against a series of targets in the financial services sector."
}

2.3. Course of Action

공격을 방어(직원 교육, 정책 변경 등)하거나 공격에 대응(패치 적용, 방화벽 적용 등)하는 내용을 공유하기 위한 것입니다.

{
   "type":"course-of-action",
   "id":"course-of-action--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:48.000Z",
   "modified":"2016-04-06T20:03:48.000Z",
   "name":"Add TCP port 80 Filter Rule to the existing Block UDP 1434 Filter",
   "description":"This is how to add a filter rule to block inbound access to TCP port 80 to the existing UDP 1434 filter ..."
}

2.4. Identity

실존하는 인물이나 개인, 조직 또는 그룹뿐만 아니라 기본적인 식별 정보, 연락처 정보 등으로 표현할 수 있는 객체입니다. Identity를 통해 공격 목표, 정보 출처, 위협 행위자 등의 정보를 확인할 수 있습니다.

{
   "type":"identity",
   "id":"identity--023d105b-752e-4e3c-941c-7d3f3cb15e9e",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:00.000Z",
   "modified":"2016-04-06T20:03:00.000Z",
   "name":"John Smith",
   "identity_class":"individual"
}

2.5. Indicator

의심스럽거나 악의적인 사이버 활동을 탐지하는데 STIX Pattern 언어를 이용하여 표현하는 객체입니다.

{
   "type":"indicator",
   "id":"indicator--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:48.000Z",
   "modified":"2016-04-06T20:03:48.000Z",
   "labels":[
      "malicious-activity"
   ],
   "name":"Poison Ivy Malware",
   "description":"This file is part of Poison Ivy",
   "pattern":"[ file:hashes.'SHA-256' = '4bac27393bdd9777ce02453256c5577cd02275510b2227f473d03f533924f877' ]",
   "valid_from":"2016-01-01T00:00:00Z"
}

2.6. Instrusion Set

악성 행위의 공통 속성을 가진 집합이나 캠페인 그룹입니다.

{
   "type":"intrusion-set",
   "id":"intrusion-set--4e78f46f-a023-4e5f-bc24-71b3ca22ec29",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:48.000Z",
   "modified":"2016-04-06T20:03:48.000Z",
   "name":"Bobcat Breakin",
   "description":"Incidents usually feature a shared TTP of a bobcat being released within the building containing network access, scaring users to leave their computers without locking them first. Still determining where the threat actors are getting the bobcats.",
   "aliases":[
      "Zookeeper"
   ],
   "goals":[
      "acquisition-theft",
      "harassment",
      "damage"
   ]
}

2.7. Malware

피해자의 데이터 또는 시스템의 기밀성, 무결성, 가용성을 손상 시키는 악성 코드 및 악의적인 소프트웨어를 표현하는 객체입니다.

{
   "type":"malware",
   "id":"malware--0c7b5b88-8ff7-4a4d-aa9d-feb398cd0061",
   "created":"2016-05-12T08:17:27.000Z",
   "modified":"2016-05-12T08:17:27.000Z",
   "name":"Cryptolocker",
   "description":"...",
   "labels":[
      "ransomware"
   ]
}

2.8. Observed Data

Cyber Observable로 표현되는 사이버 상에서 관측되는 데이터입니다.

{
   "type":"observed-data",
   "id":"observed-data--b67d30ff-02ac-498a-92f9-32f845f448cf",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T19:58:16.000Z",
   "modified":"2016-04-06T19:58:16.000Z",
   "first_observed":"2015-12-21T19:00:00Z",
   "last_observed":"2015-12-21T19:00:00Z",
   "number_observed":50,
   "objects":{
      "0":{
         "type":"file"
      }
   }
}

2.9. Report

Threat Actor, Malware와 관련된 세부 정보가 포함된 공격 기법에 대한 설명이 있는 분석 결과 보고서나 인텔리전스 정보입니다.

{
   "type":"report",
   "id":"report--84e4d88f-44ea-4bcd-bbf3-b2c1c320bcb3",
   "created_by_ref":"identity--a463ffb3-1bd9-4d94-b02d-74e4f1658283",
   "created":"2015-12-21T19:59:11.000Z",
   "modified":"2015-12-21T19:59:11.000Z",
   "name":"The Black Vine Cyberespionage Group",
   "description":"A simple report with an indicator and campaign",
   "published":"2016-01-20T17:00:00.000Z",
   "labels":[
      "campaign"
   ],
   "object_refs":[
      "indicator--26ffb872-1dd9-446e-b6f5-d58527e5b5d2",
      "campaign--83422c77-904c-4dc1-aff5-5c38f3a2c55c",
      "relationship--f82356ae-fe6c-437c-9c24-6b64314ae68a"
   ]
}

2.10. Threat Actor

악의적인 의도로 운영된다고 판단되는 개인, 그룹 또는 조직입니다.

{
   "type":"threat-actor",
   "id":"threat-actor--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:48.000Z",
   "modified":"2016-04-06T20:03:48.000Z",
   "labels":[
      "crime-syndicate"
   ],
   "name":"Evil Org",
   "description":"The Evil Org threat actor group",
   "aliases":[
      "Syndicate 1",
      "Evil Syndicate 99"
   ],
   "roles":"director",
   "goals":[
      "Steal bank money",
      "Steal credit cards"
   ],
   "sophistication":"advanced",
   "resource_level":"team",
   "primary_motivation":"organizational-gain"
}

2.11. Tool

공격에 사용된 합법적인 소프트웨어입니다.

{
   "type":"tool",
   "id":"tool--8e2e2d2b-17d4-4cbf-938f-98ee46b3cd3f",
   "created_by_ref":"identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
   "created":"2016-04-06T20:03:48.000Z",
   "modified":"2016-04-06T20:03:48.000Z",
   "labels":[
      "remote-access"
   ],
   "name":"VNC"
}

2.12. Vulnerability

취약점에 대한 CVE(Common Vulnerabilities and Exposures)나 CVE가 없는 Zero Day 취약점을 설명하기 위해 사용합니다.

{
   "type":"vulnerability",
   "id":"vulnerability--0c7b5b88-8ff7-4a4d-aa9d-feb398cd0061",
   "created":"2016-05-12T08:17:27.000Z",
   "modified":"2016-05-12T08:17:27.000Z",
   "name":"CVE-2016-1234",
   "external_references":[
      {
         "source_name":"cve",
         "external_id":"CVE-2016-1234"
      }
   ]
}

3. STIX Relationships Object

CTI를 설명하는데 관계의 형식을 표현하는 객체입니다. 일반 관계를 나타날 때는 Relation Object 을 사용하여 설명하고, 발견되는 정보를 표현할 때는 Sighting 객체를 사용해 설명합니다.

3.1 Relationships Object

서로 연관된 두 SDO를 연결하는데 사용됩니다. 예를 들어 위협 행위자 그룹(Threat Actor)의 이메일 정보(Identity)를 STIX 정보로 표기한다면, source_ref 필수 속성에 Threat Actor ID가 들어가고 target_ref 필수 속성에 Identity가 들어가게 됩니다. 그리고 이 두 SDO의 관계는 relationship_type 필수 속성에 입력합니다.

출처: https://docs.google.com/document/u/1/d/1IvkLxg_tCnICsatu2lyxKmWmh1gY2h8HUNssKIE-UIA/pub#h.e2e1szrqfoan

{
   "type":"bundle",
   "id":"bundle--c9567f73-3803-415c-b06e-2b0622830e5d",
   "spec_version":"2.0",
   "objects":[
      {
         "type":"relationship",
         "id":"relationship--966c5838-34d9-4fbf-949c-62aba7611837",
         "created":"2016-08-23T18:05:49.307Z",
         "modified":"2016-08-23T18:05:49.307Z",
         "relationship_type":"attributed-to",
         "source_ref":"threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
         "target_ref":"identity--733c5838-34d9-4fbf-949c-62aba761184c"
      },
      {
         "type":"threat-actor",
         "id":"threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
         "created":"2014-11-19T23:39:03.893Z",
         "modified":"2014-11-19T23:39:03.893Z",
         "name":"Disco Team Threat Actor Group",
         "description":"This organized threat actor group operates to create profit from all types of crime.",
         "labels":[
            "crime-syndicate"
         ],
         "aliases":[
            "Equipo del Discoteca"
         ],
         "roles":[
            "agent"
         ],
         "goals":[
            "Steal Credit Card information"
         ],
         "sophistication":"expert",
         "resource_level":"organization",
         "primary_motivation":"personal-gain"
      },
      {
         "type":"identity",
         "id":"identity--733c5838-34d9-4fbf-949c-62aba761184c",
         "created":"2016-08-23T18:05:49.307Z",
         "modified":"2016-08-23T18:05:49.307Z",
         "name":"Disco Team",
         "description":"Disco Team is the name of an organized threat actor crime-syndicate.",
         "identity_class":"organization",
         "contact_information":"disco-team@stealthemail.com"
      }

   ]
}

3.2 Sighting Object

CTI의 요소가 발견된 정보를 나타냅니다. 발견된 SDO는 sighting_of_ref 필수 속성을 통해 무엇이 발견 되었는지를 표현합니다. 예를 들어 보안 전문가(Identity)가 악성 URL(Indicator)을 발견했다고 가정하면 sighting_of_ref 필수 속성에 Indicator ID가 들어가게 됩니다. 이 Sighting SRO에 누가 발견했는지에 대한 정보를 추가하고 싶다면 where_sighted_refs 선택 속성에 Identity ID를 넣을 수 있습니다.

{
   "type":"bundle",
   "id":"bundle--c6a895f2-849c-4d1b-aba4-4b45c2800374",
   "spec_version":"2.0",
   "objects":[
      {
         "type":"sighting",
         "id":"sighting--8356e820-8080-4692-aa91-ecbe94006833",
         "created_by_ref":"identity--5206ba14-478f-4b0b-9a48-395f690c20a2",
         "created":"2017-02-28T19:37:11.213Z",
         "modified":"2017-02-28T19:37:11.213Z",
         "first_seen":"2017-02-27T21:37:11.213Z",
         "last_seen":"2017-02-27T21:37:11.213Z",
         "count":1,
         "sighting_of_ref":"indicator--9299f726-ce06-492e-8472-2b52ccb53191",
         "where_sighted_refs":[
            "identity--5206ba14-478f-4b0b-9a48-395f690c20a2"
         ]
      },
      {
         "type":"indicator",
         "id":"indicator--9299f726-ce06-492e-8472-2b52ccb53191",
         "created_by_ref":"identity--39012926-a052-44c4-ae48-caaf4a10ee6e",
         "created":"2017-02-27T13:57:10.515Z",
         "modified":"2017-02-27T13:57:10.515Z",
         "name":"Malicious URL",
         "description":"This URL is potentially associated with malicious activity and is listed on several blacklist sites.",
         "pattern":"[url:value = 'http://paypa1.banking.com']",
         "valid_from":"2015-06-29T09:10:15.915Z",
         "labels":[
            "malicious-activity"
         ]
      },
      {
         "type":"identity",
         "id":"identity--5206ba14-478f-4b0b-9a48-395f690c20a2",
         "created":"2017-02-26T17:55:10.442Z",
         "modified":"2017-02-26T17:55:10.442Z",
         "name":"Beta Cyber Intelligence Company",
         "identity_class":"organization",
         "labels":[
            "Cyber Security"
         ],
         "sectors":[
            "technology"
         ],
         "contact_information":"info@beta.com"
      }
   ]
}

4. Cyber Observable

하나 이상의 파일이나 실행 중인 프로세스 또는 두 IP 간에 네트워크 트래픽에 대한 정보를 설명합니다. Artifact Object, Directory Object, Domain Name Object 등 18가지 타입이 있습니다.

4.1. Artifact Object

base64 인코딩 문자열인 바이트 비트 배열을 포착하거나 파일 같은 페이로드에 연결할 수 있습니다. payload_bin 또는 url 중 하나를 제공 해야합니다. 타입 이름은 artifact입니다.

...
"0":{
   "type":"artifact",
   "mime_type":"image/jpeg",
   "payload_bin":"VBORw0KGgoAAAANSUhEUgAAADI== ..."
}
...

4.2. AS Obejct

AS(자율 시스템)의 속성을 표시합니다. 타입 이름은 utonomous-system입니다.

...
"0":{
   "type":"autonomous-system",
   "number":15139,
   "name":"Slime Industries",
   "rir":"ARIN"
}
...

4.3. Directory Object

파일 시스템 디렉터리에 공통인 속성을 표시합니다. 타입 이름은 directory입니다.

...
"0":{
   "type":"directory",
   "path":"C:\\Windows\\System32"
}
...

4.4. Domain Name Object

네트워크 도메인 이름의 속성을 표시합니다. 타입 이름은 domain-name입니다.

...
"0":{
   "type":"domain-name",
   "value":"example.com",
   "resolves_to_refs":[
      "1"
   ]
}
...

4.5. Email Address Object

단일 이메일 주소를 표시합니다. 타입 이름은 email-addr입니다.

...
"0":{
   "type":"email-addr",
   "value":"john@example.com",
   "display_name":"John Doe"
}
...

4.6. Email Message Object

인터넷 메세지 형식에 해당하는 이메일 메세지의 인스턴스를 표시합니다. 타입 이름은 email-message입니다.

4.7. File Object

파일의 속성을 표시한다 파일 객체는 hashes 또는 name 중 적어도 하나를 포함해야 합니다. 타입 이름은 file입니다.

...
"0":{
   "type":"file",
   "hashes":{
      "SHA-256":"fe90a7e910cb3a4739bed9180e807e93fa70c90f25a8915476f5e4bfbac681db"
   },
   "size":25536,
   "name":"foo.dll"
}
...

4.8. IPv4 Address Object

CIDR(Classless Inter-Domain Routing) 표기를 사용하여 표시된 하나 이상의 IPv4 주소를 표시합니다. 타입 이름은 ipv4-addr입니다.

...
"0":{
   "type":"ipv4-addr",
   "value":"198.51.100.3"
}
...

4.9. IPv6 Address Object

CIDR 표기를 사용하여 표시된 하나 이상의 IPv6 주소를 표시합니다. 타입 이름은 ipv6-addr입니다.

...
"0":{
   "type":"ipv6-addr",
   "value":"2001:0db8:85a3:0000:0000:8a2e:0370:7334"
}
...

4.10. MAC Address Object

단일 MAC 주소를 표시합니다. 타입 이름은 mac-addr입니다.

...
"0":{
   "type":"mac-addr",
   "value":"d2:fb:49:24:37:18"
}
...

4.11. Mutex Object

뮤텍스 객체의 속성을 표시합니다. 타입 이름은 mutex입니다.

...
"0":{
   "type":"mutex",
   "name":"__CLEANSWEEP__"
}
...

4.12. Network Traffic Object

Source에서 시작하여 Destination으로 지정되는 네트워크 트래픽을 표시합니다. 타입 이름은 network-traffic입니다.

...
"0":{
   "type":"domain-name",
   "value":"example.com"
},
"1":{
   "type":"network-traffic",
   "dst_ref":"0",
   "protocols":[
      "ipv4",
      "tcp",
      "http"
   ]
}
...

4.13. Process Object

운영 체제에서 실행될 때 컴퓨터 프로그램 인스턴스의 공통 속성을 표시합니다. 타입 이름은 process입니다.

...
"0":{
   "type":"file",
   "hashes":{
      " S H A - 2 5 6 ":"35a01331e9ad96f751278b891b6ea09699806faedfa237d40513d92ad1b7100fSHA"
   }
},
"1":{
   "type":"process",
   "pid":1221,
   "name":"gedit-bin",
   "created":"2016-01-20T14:11:25.55Z",
   "arguments":[
      "--new-window"
   ],
   "binary_ref":"0"
}
...

4.14. Software Object

소프트웨어의 고급 속성을 표시합니다. 타입 이름은 software입니다.

...
"0":{
   "type":"software",
   "name":"Word",
   "cpe":"cpe:2.3:a:microsoft:word:2000:*:*:*:*:*:*:*",
   "version":"2002",
   "vendor":"Microsoft"
}
...

4.15. URL Object

URL의 속성을 표시합니다. 타입 이름은 url입니다.

...
"0":{
   "type":"url",
   "value":"https://example.com/research/index.html"
}
...

4.16. User Account Object

운영 체제, 장치, 메세지 서비스 및 소셜 미디어 플랫폼 계정을 포함하되 이에 국한되지 않고, 임의 유형의 사용자 계정의 인스턴스를 표시합니다. 타입 이름은 user-account입니다.

...
"0":{
   "type":"user-account",
   "user_id":"DESKTOP-TJF5A1P"
}
...

4.17. Windows Registry Key Object

Windows 레지스트리 키의 속성을 표시합니다. 타입 이름은 windows-registry-key입니다.

...
"0":{
   "type":"windows-registry-key",
   "key":"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft"
}
...

4.18. X.509 Certificate Object

X.509에 정의된 X.509 인증서의 속성을 표시합니다.

...
"0":{
   "type":"x509-certificate",
   "issuer":"C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/emailAddress=server-certs@thawte.com",
   "validity_not_before":"2016-03-12T12:00:00Z",
   "validity_not_after":"2016-08-21T12:00:00Z",
   "subject":"C=US, ST=Maryland, L=Pasadena, O=Brent Baccala, OU=FreeSoft, CN=www.freesoft.org/emailAddress=baccala@freesoft.org"
}
...

5. STIX Pattern

네트워크 및 엔드 포인트에서 특정 위협을 탐지하고 대응하기 위해서 위협의 형태를 표현하기 위한 Pattern 언어입니다.

용어 정의 예제
whitespace WSpace 집합을 속성으로 가진 유니코드 문자(줄 바꿈, 탭, 공백)를 표시합니다.  
Observation 파일에 관한 정보나 실행 중인 프로세스 또는 네트워크 IP 등 특정 시점에 관측된 시스템 또는 네트워크에 관한 데이터를 표시합니다.  
Object Path Comparsion Expression의 일부로 평가해야하는 Cyber Observable Object의 속성을 정의합니다. IPv6-addr:value
Boolean Operators Observation Expression 내에서 Comparsion Expression을 결합하기 위해 사용됩니다. user-account:value=’Peter’ OR user-account:value=’Mary’
Qualifier Observation Expression을 대조하는데 유효하다고 여겨지는 관측에 대한 제한 사항을 제공합니다. [file:name = ‘foo.dll’] START ‘2016-06-01T00:00:00Z’ STOP ‘2016-07-01T00:00:00Z’
Pattern Expression Cyber Observable 패턴의 유효한 인스턴스를 표시합니다. [file:size = 25536]
Comparsion Operators 상수 또는 상수 집합을 기준으로 객체 경로를 비교하기 위해 Comparsion Expression에 사용됩니다. MATCHES
Comparsion Expression Observation Expression의 기본 구성 요소이며, 경로 및 Comparsion Operators에 의해 결합된 상수로 구성됩니다. user-account:value=’Peter’
Observation Operators 서로 다른 두 관측 데이터 인스턴스에 작용하는 두개의 Comparsion Expression을 단일 패턴으로 조합하기 위해 사용됩니다. [ipv4-addr:value=’198.51.100.5’ AND ipv4-addr:value=’198.51.100.10’]
Observation Expression Observation Expression은 Bool 연산자와 결합되고 대괄호로 둘러싸인 하나 이상의 비교식으로 구성됩니다.</br> Observation Expression이 Observation Operators로 결합된 Observation Expression 두 개로 구성될 수도 있습니다. 이러한 구성은 다수의 Observation Expression을 재귀적으로 단일 Observation Expression으로 조합하는 경우에 적용될 수 있습니다. </br> Observation Expression 다음에 결과 집합을 추가로 포함하고 있는 하나 이상의 한정자가 올 수도 있습니다. [ipv4-addr:value=’203.0.113.1’ OR ipv4-addr:value=’203.0.113.2’] </br>또는 (Comparsion Operators를 사용)</br> ([ipv4-addr:value=’198.51.100.5’] FOLLOWEDBY [ipv4-addr:value=’198.51.100.10’]) </br>또는 (Observation Operators와 한정자를 사용)</br>([ipv4-addr:value=’198.51.100.5’ AND ipv4-addr:value=’198.51.100.10’]) WITHIN 300 SECONDS


stix패턴

그림 출처: http://docs.oasis-open.org/cti/stix/v2.0/stix-v2.0-part5-stix-patterning.html