KbProcedureService Object Services | 13 | ![]() |
The KbProcedureService module is defined in the file named:
The KbProcedureService module provides a set of services for creating, manipulating, and destroying objects related to procedural activities.
It's version information is:
$Id: KbProcedureService.idl,v 1.39 1997-08-07 17:03:16-04 wlf Exp $
It is defined in the Java package named:
org.cert.KbProcedureService
module KbProcedureService
{
Forward declarations:
interface ExecutedTestProcedure;
interface ExecutedTraceProcedure;
interface ExistenceTestProcedure;
interface Procedure;
interface ProcedureAntecedent;
interface ProcedureConsequence;
interface ProcedureSemantic;
interface VulnerabilityExploitationProcedure;
Sequence declarations:
typedef sequence<ExecutedTestProcedure> SeqOfExecutedTestProcedure;
typedef sequence<ExecutedTraceProcedure> SeqOfExecutedTraceProcedure;
typedef sequence<ExistenceTestProcedure> SeqOfExistenceTestProcedure;
typedef sequence<Procedure> SeqOfProcedure;
typedef sequence<ProcedureAntecedent> SeqOfProcedureAntecedent;
typedef sequence<ProcedureConsequence> SeqOfProcedureConsequence;
typedef sequence<ProcedureSemantic> SeqOfProcedureSemantic;
typedef sequence<VulnerabilityExploitationProcedure> SeqOfVulnerabilityExploitationProcedure;
interface ProcedureConsequence {
The description attribute contains a natural language explanation of the consequence.
attribute string description;
The expression attribute contains a formal expression (in some as yet undetermined language) of all resulting consequences for a procedure.
attribute string expression;
};
interface ProcedureAntecedent {
The description attribute contains a natural language explanation of the precondition.
attribute string description;
The expression attribute contains a formal expression (in some as yet undetermined language) of all required preconditions for a procedure.
attribute string expression;
};
interface ProcedureSemantic {
The description attribute contains a natural language explanation of the semantic.
attribute string description;
The expression attribute contains a formal expression (in some as yet undetermined language) of the semantics of a procedure.
attribute string expression;
};
interface Procedure {
The name attribute contains a short natural language name for this Procedure object and is intended for use in GUI environments.
attribute string name;
The purpose attribute contains a natural language explanation of what the procedure is intended to accomplish.
attribute string purpose;
The description attribute contains a complete natural language explanation of the procedure.
attribute string description;
The effectiveness attribute contains a floating point number between 0.0 and 1.0 indicating the effectiveness of the procedure in achieving its purpose. 0.0 indicates total ineffectiveness and 1.0 indicates total efectiveness.
attribute float effectiveness;
The effectiveness_accuracy attribute contains a floating point number in the range 0.0 to 1.0. It is used as an uncertainty modifier for the effectiveness attribute.
attribute float effectiveness_accuracy;
The cost attribute contains a floating point number greater than 0.0 that represents the absolute cost of executing the procedure. It is a unitless value. The more expensive it is to execute the procedure, the higher this value should be.
This is clearly not good enough and we need to come up with some suggested units or the values of this attribute will skew with time and between analysts.
attribute float cost;
The cost_accuracy attribute contains a floating poit number greater than 0.0 that represents the uncertainty in the value specified in the cost attribute.
attribute float cost_accuracy;
The consequence association attribute contains one ProcedureConsequence object.
readonly attribute
ProcedureConsequence consequence;
The antecedent association attribute contains one ProcedureAntecedent object.
readonly attribute
ProcedureAntecedent antecedent;
The semantic association attribute contains one ProcedureSemantict object.
readonly attribute ProcedureSemantic semantic;
};
Such a procedure should yield a floating point number in the range 0.0 to 1.0 representing the probability that the exploitation procedure is on a system. The procedure may optionally yield a second floating point number in the range 0.0 to1.0 indicating the accuracy of the probability estimate.
interface ExistenceTestProcedure : Procedure {
};
Such a procedure should yield a floating point number in the range 0.0 to 1.0 representing the probability that the exploitation procedure has been run on a system. The procedure may optionally yield a second floating point number in the range 0.0 to1.0 indicating the accuracy of the probability estimate.
interface ExecutedTestProcedure : Procedure {
};
interface ExecutedTraceProcedure : Procedure {
};
interface VulnerabilityExploitationProcedure : Procedure {
The language attribute contains a specification of the language used in expressing the procedure in the expression attribute.
attribute string language;
The expression attribute contains the formal semantics of the procedure expressed in the language specified by the language attribute.
attribute string expression;
The executed_trace association attribute contains an ExecutedTraceProcedure object. This object is expected to explain how to determine who executed the VulnerabilityExploitationProcedure.
readonly attribute
ExecutedTraceProcedure executed_trace;
The executed_test association attribute contains an ExecutedTestProcedure object. This object is expected to explain how to determine whether or not the VulnerabilityExploitationProcedure has been executed on a system or not.
Such a procedure should yield a floating point number in the range 0.0 to 1.0 representing the probability that the exploitation procedure has been run on a system. The procedure may optionally yield a second floating point number in the range 0.0 to1.0 indicating the accuracy of the probability estimate.
readonly attribute
ExecutedTestProcedure executed_test;
The existance_test association attribute contains an ExistanceTestProcedure object. This object is expected to explain how to determine whether or not the VulnerabilityExploitationProcedure exists on a system.
Such a procedure should yield a floating point number in the range 0.0 to 1.0 representing the probability that the exploitation procedure is on a system. The procedure may optionally yield a second floating point number in the range 0.0 to1.0 indicating the accuracy of the probability estimate.
readonly attribute
ExistenceTestProcedure existance_test;
};
};