DESIGN PRINCIPLES
August 16, 2017
Joe Brule
Co-chair, OpenC2
OpenC2 Roster
2
OpenC2 ‘Philosophy’
3
Interoperability is Paramount
OpenC2 Assumptions
4
OpenC2 Design Principles
5
OpenC2 ‘Approach’
6
Conceptual Syntax
ACTION = <ACTION_TYPE>,
TARGET (
type = <datamodel:TARGET_TYPE>,
<target-specifier>
<target-options>
),
ACTUATOR (
type = <ACTUATOR_TYPE>,
<actuator-specifier>
<actuator-options>
),
MODIFIERS (
<list-of-modifiers>
)
7
Optional: Defined in separate specification (Actuator Profile)
Optional: Defined in Language Specification.
Required: Defined in Language Specification.
High Level Command (Block outgoing FTP)
{"action": "deny",
"target": {
"type": “openc2:five-tuple",
"specifiers": {
"Layer4Protocol":
"ip-address-src”:
"ip-address-dst”:
"src-port": 21
“dst-port”:
}
}
8
More details �(Firewalls block at perimeter, send host unreachable and ack)
{"action": "deny",
"target": {
"type": “openc2:five-tuple",
"specifiers": {
"Layer4Protocol":
"ip-address-src”:
"ip-address-dst”:
"src-port": 21
“dst-port”:
}
"actuator": {
"type": "firewall",
"specifiers": {perimeter},
“options”:{reject},
"modifiers": {
{“id”:”UUID=123e4567-e89b-12d3-a456-426655440000”}
{response=TRUE}
}
9
Identifies functional actuator profile
Documented in the ‘firewall profile specification”
Documentation Approach
10
Way Forward
11