dca_interface
6.3.4
|
The WAC Package.
The WAC (Web Application Classification) module analyzes HTTP input data, and returns whether or not the data originated from a web application, and whether or not a user has peformed a particular action in the application. The classification result consists of an application id and/or an action id.
The results can be used to block unwanted web content with a fine granularity.
A web application is associated with a particular category, for example "web mail", "instant messaging" etc. An application is also associated with predefined characteristics, called tags, which define certain properties the applicaton possesses. Examples of tags would be "risk level 1", "supports file transfers" etc. An application also supports predefined actions. The actions define what a user can carry out in the application, for example "upload file".
The WAC package contains functions to enumerate over the supported applications, tags and actions.
Since WAC results are related to Web-Communication, the WAC is based on the URL classification. The URL classification returns the categories of a given URL (object). One aspect of the returned URL classification result is WAC availability. The URL classification results, made available via the dca::UrlClassificationResults object, contains return an important WAC-related value:
wacDetailsAvailable can be used to determine whether or not a subsequent WAC classification may provide useful WAC information. This can be used to optimize the performance of your system. A call on dca_wac::WacClassifier::classify() is not necessary if WacDetailsAvailable returns false, as the WAC classification will not return information about a specific Web Application.
WAC Classification Workflow
An instance of the package must first be created using dca_wac::WacClassification::create().
(HTTP) Input data can be classified using the dca_wac::WacClassifier class.
A dca_wac::WacInputData object must first be created and initialized using a given dca::Url class and/or HTTP request/response data.
The WacClassifier analyzes the provided data and returns a classification as a dca_wac::WacClassificationResult object.
An instance of a WacClassifier can be created using dca_wac::WacClassification::createClassifier().
dca_wac::WacClassification requires a connection to a WAC signature database.
To enumerate over the supported WAC applications, actions and tags a dca_wac::WacCategoriesInfo class can be used. It can be obtained from a WacClassification instance using dca_wac::WacClassification::getCategoriesInfo().
Classes | |
class | dca_wac::WacAction |
The WacAction class represents a given action of an application e.g. UPLOAD FILE, ADD ATTACHMENT, DOWNLOAD FILE etc. More... | |
class | dca_wac::WacActions |
Definition of a container class for WacAction objects. More... | |
class | dca_wac::WacApplication |
The WacApplication class represents a given application e.g. HOTMAIL, GMAIL etc. More... | |
class | dca_wac::WacApplications |
Definition of a container class for WacApplication objects. More... | |
class | dca_wac::WacCategoriesInfo |
Container class for all WAC enumeration objects. More... | |
struct | dca_wac::WacClassifierOptions |
Sets up options for the WAC classification. More... | |
class | dca_wac::WacClassification |
Defintion of the WacClassification class. More... | |
class | dca_wac::WacClassificationResult |
Definition of the WacClassificationResult class. More... | |
class | dca_wac::WacClassifier |
Defintion of the WacClassifier class. More... | |
class | dca_wac::WacInputData |
Definition of the WacInputData class. More... | |
class | dca_wac::WacTag |
The WacTag class represents a given tag that is associated with an application e.g. HIGH BANDWIDTH, RISKLEVEL_1 etc. More... | |
Files | |
file | dca_wac_classification.h |
Package header file for the WAC (Web Application Classification) Package. | |
file | wac_action.h |
Definition of the WacAction class. | |
file | wac_actions.h |
Container class for WacAction objects. | |
file | wac_application.h |
Definition of the WacApplication class. | |
file | wac_applications.h |
Container class for WacApplication objects. | |
file | wac_base.h |
Contains type definitions used in the WAC package. | |
file | wac_categoriesinfo.h |
Container class for all WAC enumeration objects. | |
file | wac_classification.h |
Defintion of the WacClassification class. | |
file | wac_classification_result.h |
Definition of the WacClassificationResult class. | |
file | wac_classifier.h |
Defintion of the WacClassifier class. | |
file | wac_inputdata.h |
Definition of the WacInputData class. | |
file | wac_tag.h |
Definition of the WacTag class. | |
file | wac_tags.h |
Container class for WacTag objects. | |
Variables | |
WacAction | dca_wac::NullWacAction |
Defines a constant unassigned WacAction you can use for checks. if( myWacAction == NullWacAction ) --> myAction is not assigned yet! | |
WacApplication | dca_wac::NullWacApplication |
Defines a constant unassigned WacApplication you can use for checks. if( myWacApplication == NullWacApplication ) --> myApplication is not assigned yet! | |
const DbType | dca_wac::DBT_Wac |
Used for dca::DbConnection classes for Web Application Classification databases. | |
const WacClassificationResult | dca_wac::NullWacClassificationResult |
Defines a constant unassigned WacClassificationResult you can use for checks. if ( myWacClassificationResult == NullWacClassificationResult ) --> myWacClassificationResult is not assigned yet! | |
WacTag | dca_wac::NullWacTag |
Defines a constant unassigned WacTag you can use for checks. if( myWacTag == NullWacTag ) --> WacTag is not assigned yet! | |