Symbian
Symbian OS Library

SYMBIAN OS V9.3

[Index] [Spacer] [Previous] [Next]



Platform Security Considerations For MTMs

The MTMs are implemented as DLL files. According to the Symbian OS platform security model a DLL can be loaded by a process only if the DLL has a capability set equal to or higher than the capability set of the process loading it, hence the MTMs should have the capabilities defined below so that they are available to the client processes.

The capability set is defined in the MMP files of the MTMs. The following lists the capability set required by Symbian OS for each type of MTM.

Server side MTM

The server side MTMs should have the following capability set assigned:

ReadDeviceData WriteDeviceData ProtServ NetworkControl NetworkServices LocalServices ReadUserData
 WriteUserData

Client side MTM, UI MTM and UI Data MTM

These MTMs are generally used by the modules both within and outside the messaging framework, hence it is desirable to have the maximum capability set assigned to them (ALL -TCB). They can be assigned a lower capability set such as ALL -TCB -DRM, but some processes may fail to load an MTM with a lower capability set. In this case refer to the PlatSec requirements of the process loading the MTM. Developers are advised to assign a capability set to the MTM equal to or higher than all the potential processes that may load the MTM. In general, to make the MTMs available to all clients, it is recommended that the capability set ALL -TCB be assigned.

The keyword ALL -TCB defines that the MTM has the maximum capabilities, other than the capabilities of the Trusted Computing Base (TCB).

Developers are advised that keywords such as ReadDeviceData are case sensitive, and hence care should be taken while specifying them in the MMP file. For example a server side MTM will have the capability set defined in the MMP file as follows:

CAPABILITY ReadDeviceData WriteDeviceData ProtServ NetworkControl NetworkServices LocalServices ReadUserData 
WriteUserData 
             

A client side MTM will have the following entry in the MMP file:

CAPABILITY ALL -TCB

Note: The client process does not gain the capabilities of the MTMs (DLLs) it loads but rather the reverse, the MTMs runs with the capabilities of the client process. For security reasons the MTM must have at least the same capabilities as the client process for the DLL to be loaded successfully.