KasperskyOS Community Edition 1.3

pal_tests example

This example demonstrates use of the Policy Assertion Language (PAL) when writing tests for a KasperskyOS-based solution security policy. These tests in PAL let you check the solution security policy even before starting development of the software code based on the formal specifications of solution components. For more details about PAL, see Creating and performing tests for a KasperskyOS-based solution security policy.

Example directory in the SDK

The code of the example and build scripts are available at the following path:

/opt/KasperskyOS-Community-Edition-<version>/examples/pal_tests

List of programs

The tests check the security events of the following programs:

  • WebServer – application that provides the user with access to the Service program via the web interface.
  • Service – application that handles user requests and returns the results of request completion.
  • UserManager – application that implements user account management and user authorization.

Initialization description

The init.yaml file is generated automatically in the example build directory and is not important for understanding this example.

Security policy description

The security policy description files for a KasperskyOS-based solution are located at the path ./einit/src.

The security.psl file contains description of the solution security policy. Through the use declaration, this top-level file includes the following parts of a solution security policy description provided by PSL files: core.psl, user_mngr.psl, service.psl, vfs_net.psl, and vfs_sdcard.psl.

The pal_tests.psl file contains sets of tests and is also included in the top-level security.psl file through the use declaration.

Resources

The ./resources/edl and ./resources/idl directories contain the EDL and IDL descriptions for the WebServer, Service and UserManager programs.

Operating scenario

The sets of tests described in the pal_tests.psl file are executed to check whether each program from the list complies with the defined security policies. The results of tests are displayed in standard output.

Building and running the example

See Creating and performing tests for a KasperskyOS-based solution security policy.