Policy-Governed Information Exchange
A policy is something a human wrote in words. VIStology compiles the words — structured English in, executable rules out — and enforces them on every message in a federated system, with a machine-readable explanation behind each decision.
The Challenge: There Is Nowhere to Put the Guard
Why the incumbent answer does not hold
In defense, information-exchange policies have a name: “In the military and intelligence community, information exchange policies are labeled ‘Cross Domain Solutions’”. The incumbent mechanism at the time was the XML Data Flow Configuration File — a comprehensive, hand-built specification of what may cross. The paper’s criticism of it is the clearest statement of our position anywhere in the corpus, and we quote it with its own comma splice intact:
“Such comprehensive policies are difficult to set up, are likely to become obsolete as the contents of the endpoint systems change, and are not flexible. Finally, they are not reconciled, across all endpoints because one system cannot impose any limitations on another system, only on itself.”
Read the last clause slowly, because it is the fact that organizes everything below. One system cannot impose any limitation on another system, only on itself. Therefore enforcement must happen at every server. And therefore, if two servers are to agree on what may pass between them, their policies must be reconciled — by parties who never coordinated, and who, in the hardest case, do not even share a vocabulary.
What “semantic” means here, and why it is not a slogan
The word does one job in this work, and the papers define it the same way twice:
“By a semantic representation, we mean a representation in which inferences can be made on the basis of a policy instance using a domain-generic inference engine.”
The foil is a Windows Group Policy object. It has a perfectly clear meaning — to a human. But “no generic reasoning engine can draw inferences from Windows Group Policy instances in their native format. The representation has no meaning to those engines. Instead, procedures need to be written to interpret the policies.” The meaning lives in the program that reads it, so every change to what a policy can say is a change to software. That is the trap, and it is the same trap our cognitive-radio work escapes in a different domain: a policy change must be a data change, not a software change.
And one precondition, which the papers state as a requirement rather than a feature — it is the reason the architecture looks the way it does: “For reconciliation to be possible there should be an explicit separation of policies and mechanisms that use the policies, and the policies should be first-class objects within the security system.”
Our Approach: Compile the Sentence
The system is called PolVISor, and its abstract is the cleanest one-sentence description of it we have: “We report on a technology we have developed, called PolVISor, in which we express information exchange policies in a natural language formalism (SBVR SE), automatically translate these policies into an executable rule language (BaseVISor rule language) and enforce and reconcile disparate policies among XMPP servers, each with its own policies, using semantic technologies.” Four stages: author, serialize, translate, execute. Nothing in the chain is a paraphrase.
Stage 1 — a human writes the policy, in something close to English
Policies are authored in SBVR Structured English, the controlled-English notation of the Object Management Group’s Semantics of Business Vocabulary and Business Rules standard. It is near-natural English with four marked-up token types — term (a noun concept), Name (an individual), verb (part of a fact type), and reserved keywords such as it is obligatory that, every, at most one. A security officer can read it. That is the whole point of choosing it.
To be exact about what is ours and what is not: SBVR is the OMG’s standard, not VIStology’s. We did not write it, we did not contribute to it, and we support a subset of the Structured English notation. We built the translator. Here is an illustration in that notation — our sentence, written to show the shape, not a quotation, because the paper describes the pipeline but never prints an XMPP policy in SBVR SE and we will not manufacture one and attribute it to them:
It is prohibited that a user sends a message that has_classification Secret to a user that has_clearance Confidential.
And the reason it cannot stop there, in the paper’s own words: “SBVR is meant to be a high level language and is not executable, so SBVR is most useful when translated into a lower level executable language like BaseVISor Rule Language (BVR), as we have done.”
Stages 2 and 3 — the sentence is compiled, not re-typed
The translation is a model-to-model transformation, not a hand-written parser that someone has to maintain in step with the vocabulary:
“Translation of SBVR SE into BVR makes use of metamodels for both languages. First, SBVR SE expressions of policies are saved as XMI, then a proprietary metamodel-to-metamodel mapping is used to translate the SBVR XMI into a corresponding BVR rule, preserving its semantics.”
The companion CogSIMA paper names the mechanism outright — “For the automatic translation from SBVR to BaseVISor, we use ATL (Atlas Transformation Language)” — and describes the metamodels behind it: “We have created a metamodel for BaseVISor and modified the SBVR metamodel used in a UML-to-SBVR effort…. We then wrote ATL rules to map from SBVR rules expressed in Structured English to BaseVISor rules.” ATL is the Eclipse community’s transformation language; the metamodel for BVR is ours.
One honest note, because a reviewer will ask. The paper claims the mapping is semantics-preserving. It offers no proof, no test suite and no coverage statement for that claim, and we will not upgrade “preserving its semantics” into “provably correct translation.”
Stage 4 — execution, and the awkward fact that RDF has no “must”
The engine is BaseVISor, ours: “The BaseVISor engine implements OWL 2 RL inference rules in BVR and supports XML Schema Data Types.” But a policy language needs to say may, must and must not, and the engine’s substrate cannot express them:
“In our inference engine, BaseVISor, propositions are expressed as triples (subject, predicate, object). BaseVISor does not allow for modal operators over triples.”
You cannot write Obligatory(p) in RDF. Modal logic wants operators over propositions; RDF gives you triples and nothing else. The move that resolves it is the most distinctive piece of engineering in this cluster — reify the modality as a class hierarchy over actions, and let a stock OWL 2 RL reasoner do the work: “we treat Actions as a class that can be subdivided into Permissible (may), Omissible (may not), Optional (may and may not), Obligatory (must) and Prohibited (must not) subclasses.”
Obligatory actions are a subclass of Permissible (if you must, you may); Prohibited is a subclass of Omissible (if you must not, it is not the case that you may); Optional is the intersection of Permissible and Omissible. And two disjointness axioms carry the actual logic: Obligatory and Omissible are disjoint, Prohibited and Permissible are disjoint. Which buys the thing you actually want from a formal policy system — a contradiction that announces itself rather than failing silently: “We can infer a contradiction if an action is asserted to be both obligatory and omissible, however.”
Necessity and possibility are handled structurally in the same ontology — necessity as a subclass relation, possibility as the deliberate absence of a disjointness axiom. Which is worth pausing on, because it is the argument for doing any of this in OWL at all: “Ontologies, after all, express constraints on how the world can be.”
The ontologies underneath are not invented from nothing. The Upper Security Policy ontology — “It was derived by starting with the Naval Research Laboratory’s (NRL) Security Ontology…” — has a Policy made of Rules with a SecurityPurpose, governing Operations that are aligned owl:sameAs with UCore-SL Acts, the OWL rendering of the messaging format adopted for information sharing across the defense and intelligence communities. Security markings come from a third party’s ISM ontology of the Intelligence Community’s own IC-ISM markings; what we added were the ordering axioms it lacked, so that a clearance actually dominates the ones below it.
Enforcement: a reasoner in the message path
Because there is nowhere central to put the guard, the guard goes at every server — as a plugin: “we developed an Openfire plugin that intercepts incoming and outgoing XMPP stanzas.” What happens next is worth stating mechanically, because it is the part that makes the thesis operational:
“The Openfire plugin plays the role of the context handler here. It invokes an XSLT script to translate the XMPP stanzas to RDF and passes the RDF version of the stanza to PolVISor.”
“PolVISor analyzes the stanza and returns to the plugin a decision to allow or deny the stanza. We chose to implement a deny-overrides approach, where if any applicable rule denies the stanza, the stanza is denied.” It is a whitelist: everything not explicitly allowed is denied. And the disposition of a violating message is blunt — “If the stanza is denied, the plugin drops the stanza and the server does not see it.” Dropped, silently, before the server ever processes it. The paper notes the plugin could be changed to log instead. It was not, and we do not claim an audit trail we did not build.
Before XMPP: one policy, one closed world
The machinery that makes multi-policy reasoning possible at all predates the XMPP system by three years, and it is a small, precise piece of engineering that is easy to overstate — so here it is exactly. At IEEE POLICY 2008 we presented an extended BaseVISor: “To use BaseVISor for policy reasoning we extended it with three procedural attachments that implement the log:semantics, log:includes and log:notIncludes elements of N3 rules…”
Those are Berners-Lee’s N3 builtins, implemented as BaseVISor procedural attachments. log:semantics takes a document URI, loads it into its own Rete network, runs it to closure, and hands the resulting graph back bound to a rule variable; log:includes and log:notIncludes then test containment between whole graphs. The consequence:
“Through these constructs BaseVISor is able to reason over multiple policies, each represented within its own context (i.e., a fact base) that can be queried against.”
One policy is one closed world. “The closed world defined by a set of facts can be thought of as a ‘context’ in which reasoning is to occur” — and reconciling policies means reasoning across several closed worlds at once, which is precisely what the three builtins make possible.
Now the fence around that paper, because it is a trap and we would rather trip it ourselves than have a reviewer do it. It is a three-page demonstration abstract, written in the future tense — “This demonstration will show the practical application of a formal reasoning engine for both policy invocation and policy reconciliation.” Will show. The paper never reports that the demonstration ran. So: the engineering is past tense and citable — we extended the engine, and the source policies “have been translated… via a Python script” (MIT’s REIN policies; the Ismene policies were translated by hand, because they are not Horn clauses). The work was presented at IEEE POLICY 2008. It was not proven there. Three further facts a reader deserves: the extension is not deontic logic (the words deontic, obligation, permission and prohibition appear zero times in it); the paper contains no conflict detection — the word conflict never occurs; and the policy ontology it uses is MIT’s REIN, which we adopted and extended, along with two demonstration scenarios borrowed from other people’s papers. What is ours in it is the engine, the three attachments, the ontology extensions and the translations.
Why Formal Semantics, for Security Specifically
The argument above is easy to wave away as a preference for one notation over another. It is not, and the place we made the case at book length is a peer-reviewed chapter in a cyber-defense volume — the most-cited work behind this page. Read what it is before you read what it says: it is not a policy paper. It contains no policy engine, no authorization model, no access-control mechanism, and we cite it for exactly one thing — why a security system needs a language a machine can interpret.
The premise is that cyber loops are too fast for people, so inference has to be machine work, and machine inference needs formal semantics. The chapter’s indictment of the standards that actually carry security information is unusually direct:
“A vocabulary without a formalized semantics has at most a syntax: rules constraining what combination or strings of words in that vocabulary are part of that language. This is the case with most of the languages or protocols for exchange of information about the states of networks currently. They are purely syntactic.”
And, on MITRE’s XML schemas by name: “XML schemas merely mandate how information should be structured in conveying a pre-specified set of XML elements from one agent to another” — so “the various XML schemas used to communicate cyber situations currently provide a set of concept names, with distinct URIs, and syntax (message format) but no formal semantics. Hence, they fall short of being ontology and cannot be subject to automatic inference.” The obvious rebuttal — but OWL is XML too — is pre-answered: “While it may seem that OWL is just another XML language, because it can be expressed in XML, it is important to note that XML is just one of the syntaxes, while OWL has a formal semantics.”
What formal semantics buys is not elegance. It is three capabilities a syntax cannot have — a machine can decide when a statement is true, what follows from a set of statements, and when statements cannot jointly be true:
“So the power of formal languages lies in the fact that they are equipped with a formal semantics, which guarantees that inference is sound, possibly complete, and in the case of OWL, tractable.”
The third one is the security-relevant one
Consistency is not a nicety in a security system; it is the mechanism. “A knowledge base must be consistent at all times, since anything can be inferred from an inconsistency.” And the chapter’s single access-control-adjacent passage shows what that means at the point of a violation:
“For example, if only users of a certain class are allowed to access certain data, and a particular user is asserted as belonging to a class disjoint with the permitted class, yet there is an assertion that this user accessed that data, then an inconsistency will be detected in the ontology, and OWL inference will halt.”
An access that violated a declared constraint does not have to be looked for by a detector somebody remembered to write. It shows up as a logical inconsistency in a model that already knew the constraint. That is the same shape as the deontic contradiction above, arrived at from the other end of the field — and it is why a policy expressed as axioms is worth more than a policy expressed as a branch.
What that chapter is, exactly
Precision, because the volume is prestigious and a careless reader will over-read it:
- It is a chapter in Cyber Defense and Situational Awareness (Springer, 2014), a volume edited by Alexander Kott, Cliff Wang and Robert Erbacher. Kott was then Chief Scientist of the U.S. Army Research Laboratory. That is a statement about the editors of the book. It is not a statement about who funded this chapter — because nobody did. The chapter carries no acknowledgment, no grant, no contract and no sponsor, and we will not let an ARL-edited volume be read as Army money.
- It reports no evaluation. There was a test network and there were real attacks — “Testing was done on a test network with actual attacks” — and not one number is reported about what happened on it. Its only quantitative content is the size of the ontology the team hand-built (527 axioms, 67 classes, 83 object properties). That is an artifact, not a result, and we present it as one.
- Its case study lifted STIX 0.3, an XML-era version of the standard, into OWL. Current STIX is 2.x and JSON. The argument has aged well; the artifact has not, and we date it rather than implying we track today’s STIX.
The line we would actually put in a proposal is the chapter’s own, and it is about exchange, not about cyber:
“The lack of OWL ontologies corresponding to the MITRE standards and other cyber situational standards hinder interoperability and situational awareness because the XML schemas do not have a formal semantics. Thus, information in those standards cannot be combined and used to infer new knowledge.”
Or, in fourteen words, the whole company position — build it “so that machines can share not only common vocabularies, but common meanings…”
Policies About What You May Believe
An access-control policy asks may this be sent? There is a second kind of rule, older than any of this and written in doctrine rather than in a security manual, that asks a different question: may this be believed? A source-evaluation rubric is a policy. It was authored by humans, in words, and it is applied by humans, inconsistently, at a scale that no longer works.
The framing is ours. Say that plainly, because the paper this section rests on never defines an “epistemic policy” — the phrase occurs exactly once in it, in the title. What the paper actually does is the same move as everything above, applied to doctrine instead of authorization: take NATO STANAG 2022, the A–F source-reliability by 1–6 information-credibility rubric that intelligence reporting has used for decades, and make a machine execute it.
“We reason with rules over the resulting RDF graph using BaseVISor, a semantic web inference engine, to annotate reports with STANAG 2022 metrics.”
The interesting part is where the rubric breaks. STANAG grades a source on its track record — “The STANAG 2022 standard for evaluating reliability is based on past accuracy: a source is considered reliable to the extent that its past statements have been true” — and it assigns F: reliability cannot be judged to a source it has never seen. On an open network, essentially every source has never been seen. The rubric, applied literally, grades everything F and tells you nothing. So the paper attacks the doctrine itself:
“The STANAG 2022 standard requires that novel information sources be given an unknown reliability rating (F), but that seems unreasonable.”
“The STANAG 2022 rubric treats all novel information sources as equally suspicious, when in fact most users are comfortable with indirect estimates of unknown data reliability.” The remedy proposed is a computable proxy for what the rubric was reaching at — a network-centrality measure, mapped onto the doctrinal letter grades, so that a source with no history still gets a defensible grade instead of a shrug. That is the same discipline as compiling a policy sentence: keep the human rubric, make the machine execute something faithful to it, and be explicit about the step where fidelity was bought with an assumption.
And the limit, which the authors state better than we could
“In general, the accuracy of what a source reports via a tweet cannot be determined by formal reasoning. It requires external verification. Therefore, we make no attempt to modify a Twitter user’s reliability based on what they say.”
Formal reasoning does not tell you whether a report is true. It tells you what follows from what you have, under rules you can read. The one rule the paper writes down is a structural fraud check — a user who forges the provenance of a retweet is downgraded to E: Unreliable — and even that is introduced hypothetically: “A rule can be asserted, in a semantic web rule language such as BaseVISor rule language…” Can be asserted. So we say sketched, not “implemented a rule base.”
The rest of the fence, in one breath. The work is a position paper — its title starts with “Toward” and the authors honor that: “We illustrated our approach with example tweets about a tragic incident in Libya.” The illustration is 20 hand-picked messages. There is no evaluation, no ground truth, no baseline, no accuracy figure. The paper names no sponsor and we claim none for it. And the pieces it stands on — the tweet-to-RDF conversion service, the centrality metric, the text-similarity measure — are other people’s work, reused with credit. What is ours is the mapping of a computable metric onto a doctrinal ladder, the rule pipeline that applies it, and the critique of the doctrine.
What We Did Not Measure
There is a question every engineer asks about this page within thirty seconds, and it is the right question. You put a reasoner in the message path of an instant-messaging system. What did it cost?
We do not know. Not one paper in this cluster reports an evaluation of any kind. No reasoning time. No end-to-end stanza latency. No throughput. No scale. No accuracy. No baseline. No benchmark. The cost of the reasoner in the path is never stated, in any of the five publications behind this page. We could soften that. We are not going to, because a technical evaluator will open the PDFs, and the papers will say it for us.
Here is the size of the thing that was actually built, so that nobody has to guess:
- Two XMPP servers. Openfire, with our plugin on each, and off-the-shelf Spark clients. Four scenarios, carrying roughly a dozen hand-written rules between them. Not two hundred servers. Two.
- No correctness proof of the SBVR-to-BVR translation, no test suite for it, and no coverage statement. The claim is that the mapping preserves semantics. The evidence is that it was built and the scenarios ran.
- No audit trail. Denied stanzas are dropped, silently. Logging was possible; it was not built.
- An open-world caveat the authors volunteer: “OWL-based systems, like the one we describe here, adopt the open world assumption. In a policy context, this means that the engine might not know everything relevant to determining whether a policy is violated or not.”
So what is the claim? Exactly the one the authors make, in the words they chose: “We demonstrated the necessity, feasibility and flexibility of PolVISor to constrain information sharing in an XMPP (Extensible Messaging and Presence Protocol) environment.” Necessity, feasibility, flexibility. Not performance. Not scale. Not maturity. A demonstration is not a benchmark, and PolVISor is a research prototype — an Army SBIR Phase II that ended in May 2011. It is not a product, it is not deployed, it is not fielded, and it holds no certification or approval of any kind.
And the argument still holds, for a reason that has nothing to do with speed. The thing being claimed here is architectural: that a policy can be authored by the person accountable for it, compiled without being paraphrased, executed by a generic engine, enforced at every server in a federation, and reconciled with somebody else’s — and that when it changes, nothing is recompiled. That claim is settled by construction, not by a stopwatch. What a stopwatch would tell you is whether this particular 2011 prototype is fast enough for your traffic. It would not tell you the design is wrong, and it is the question we would want to answer first on any real program. If your evaluation needs that number, ask us for it — and then let us go and measure it, rather than quoting you one we never took.
Proof Points
English In, Executable Logic Out
Policies authored in SBVR Structured English — the OMG’s controlled-English notation — serialized to XMI, transformed metamodel-to-metamodel into BVR and OWL 2 RL, and executed by BaseVISor. The authors’ conclusion: “Policies authored in a restricted natural language format (SBVR Structured English) can be automatically converted to an executable formalism (BaseVISor rule language and OWL 2 RL) effectively.” The procurement consequence is the CogSIMA paper’s: “mechanisms can be accredited and then policies can be added dynamically.” Boundaries: we support a subset of SBVR SE; the standard is the OMG’s and VIStology did not contribute to it; and the semantics-preservation claim carries no proof or test suite.
May, Must and Must-Not, as OWL Classes
Because “BaseVISor does not allow for modal operators over triples”, modality is reified: actions are subdivided into Permissible, Omissible, Optional, Obligatory and Prohibited classes, with disjointness axioms doing the deontic work — so a stock OWL 2 RL reasoner decides permissions and prohibitions, and a contradiction becomes a detectable inference rather than a silent failure: “We can infer a contradiction if an action is asserted to be both obligatory and omissible.” No modal-logic prover, no bespoke policy VM. The ontologies are grounded in real prior art — the Naval Research Laboratory’s Security Ontology, UCore-SL, and the Intelligence Community’s own IC-ISM markings.
It Ran Inside a Real XMPP Server
An Openfire plugin intercepts every incoming and outgoing stanza, lifts it to RDF via XSLT, asks PolVISor, and drops anything denied — deny-overrides, default-deny — before the server ever sees it. Clearance-aware message flow was demonstrated on the IC’s own security markings, reasoning over clearance dominance so that a Top Secret holder receives Secret and below. Boundaries: the demonstration was two servers, four scenarios, about a dozen hand-written rules; labels were set by the user typing them into the message body; denied stanzas are dropped silently — there is no audit log; and no latency, throughput or scale was ever measured.
Selected Publications
Semantic Policy Enforcement and Reconciliation for Information Exchange in XMPP
Proceedings of the Sixth International Conference on Semantic Technologies for Intelligence, Defense, and Security (STIDS 2011), CEUR-WS Vol-808, pp. 22-29
View PDFA Demonstration of Formal Policy Reasoning Using an Extended Version of BaseVISor
2008 IEEE Workshop on Policies for Distributed Systems and Networks (POLICY 2008), pp. 225-227
View PublicationInference and Ontologies
In A. Kott, C. Wang & R.F. Erbacher (Eds.), Cyber Defense and Situational Awareness, Advances in Information Security 62, Springer, pp. 167-199 (2014)
View PublicationToward Formal Reasoning with Epistemic Policies about Information Quality in the Twittersphere
Proceedings of the 14th International Conference on Information Fusion (FUSION 2011), Chicago, IL, pp. 1271-1278, ISIF
View PublicationRelated
Enforce the Policy as Written
If your policy lives in a binder while your enforcement lives in code, we can help you compile the one into the other — and keep the explanation.
Get in Touch