规则
1
:程序的
capabilities
由
exe
程序的
capabilities
决定,而不是它所调用的
DLL
规则
2
:
exe
程序不能加载
capabilities
小于它自身的
DLL
Capabilities
是
Symbian
平台安全性的一个重要特色,实在
S60 3rd
(
Symbian v9.1
)以后引进的。对于一项
Capability
,一个程序可以选择有或者没有(这些依据实际需要而定)。在一些
action
中,比如调用
Symbian
操作系统上的
server
,就要求程序具有某个
Capability
。一项
Capability
是否需要,依赖于被调用的
server
:每一个
server
都定义了它自己的策略。
同样的,每一个
DLL
库也具有
Capabilities
,但是这些能力与程序(
exe
文件)的所有不同。当调用
DLL
的时候,
Capability
说明了这个
DLL
代码的可信赖级别,当这个
DLL
加载到进程中时,代码执行的
Capabilities
具有这个进程,也就是
exe
程序的
Capabilities
决定,而不是
DLL
的。
DLL
的
Capabilities
只是表明这个
DLL
代码可信赖的范围(级别)。比方说,一个具有
TCP Capability
的
exe
程序不能加载不具有
TCP Capability
的
DLL
,因为这个
DLL
缺少
TCB Capability
表明这个
DLL
的代码在
TCB Capability
中执行是不值得信赖的。
S60 3rd
中
Capabilities
基本的
Capabilities –
可由终端用户赋予(也就是可以通过
self -signed
赋予)
Ø
LocalServices
访问本地服务,比如
bluetooth
,
USB
,红外等
这些连接通常不需要费用支出(不需要用户提供成本),用户也知道他们在使用什么服务,当需要使用红外,蓝牙,串口等服务进行数据传输时,需要使用到这个
Capability
这个
Capability
不能够提供网络或者打电话的方位权限。对于这些,请参见
NetworkServices
这项
Capability
能够用于
self-signed
程序
Ø
UserEnvironment
访问从用户物理环境读取数据的服务
这项
Capability
允许程序进行录音,使用相机等操作。但是它不提供对用户位置信息的访问权限,关于这一部分,请参考
Location
Ø
NetworkServices
授予对远程服务(比如拨号,发送短消息,
WLAN
,
GPRS
)的访问权限,这些可能导致用户费用的支出。
这项
Capability
允许访问任意的网络服务,而不关注传输介质是什么。比如,你能够连接到一个
IP
网络拨打语音电话。
这项
Capability
能够用于
self-signed
程序
Ø
ReadUserData
允许软件读取用户的机密数据,比如联系人信息。这项信息是否被机密由平台决定。
对于用户数据的写入,请参考
WriteUserData
注意:
ReadUserData
和
WriteUserData
并不总是成对出现的。没有必要通过他们对同一区域同时进行读写访问。
这项
Capability
能够用于
self-signed
程序
Ø
WriteUserData
允许软件对用户的机密数据进行写入操作,比如联系人信息。这项信息是否被机密由平台决定。
对于用户数据的读取,请参考
ReadUserData
注意:
ReadUserData
和
WriteUserData
并不总是成对出现的。没有必要通过他们对同一区域同时进行读写访问。
这项
Capability
能够用于
self-signed
程序
Ø
Location (
从
S60 3rd Edition, FP2
以后
)
允许软件获取手机的位置。这个能够通过外置或者内置的
GPS
实现,通过网络操作或者其他的安装模块。
注意:如果使用外置的蓝牙
GPS
设置,你就需要这项
Capability
了,而是使用
LocalServices
这项
Capability
只能够被具有证书和
symbian
签名的开发者赋予。
拓展的
Capabilities –
可通过
symbian signing
(
symbian
签名)赋予
Express Signed
Ø
Location
允许软件获取手机的位置。这个能够通过外置或者内置的
GPS
实现,通过网络操作或者其他的安装模块。
注意:如果使用外置的蓝牙
GPS
设置,你就需要这项
Capability
了,而是使用
LocalServices
这项
Capability
只能够被具有证书和
symbian
签名的开发者赋予。
Ø
SwEvent
这项
Capability
允许软件读取键盘,向其他程序发送消息等
这项
Capability
只能够被具有证书和
symbian
签名的开发者赋予。
Ø
SurroundingsDD
授予对
对手机环境提供输入信息的逻辑设备驱动的访问权限
Ø
ProtServ
授予一个
server
注册受保护名称的访问权限。受保护名称使用“
!
”作为开头,内核不允许不具有
ProServ Capability
的
server
使用这样的名称,也就是阻止受保护的
server
被模拟。
Ø
PowerMgmt
授予杀死任何系统进程或者切换机器状态(比如关机)的权限
Ø
ReadDeviceData
允许软件读取当前网络(比如
CellID
)和设备设置(安装程序)的信息
这项
Capability
只能够被具有证书和
symbian
签名的开发者赋予。
Ø
WriteDeviceData
授予访问系统敏感数据(控制设备行为的设置)的权限
Ø
TrustedUI
授予软件可信赖
UI
会话的权限,比如在安全的
UI
环境中显示一个对话框。
Certified Signed
Ø
NetworkControl
平台安全
Capability
,网络控制
修改或方位网络协议的控制的能力
典型的,一个行为改变几个现存的或即将的连接行为,这些应该收到
NetworkControl
的保护。例如,强制抛弃某个特定协议的所有存在的连接,或者改变某个调用的优先级。
Ø
MultimediaDD
平台安全
Capability
,多媒体设备驱动
访问一些严格受限的多媒体函数,比如直接访问关联的设备驱动,或者有限访问多媒体
API
。包括声音,相机,视频等
Ø
CommDD
平台安全
Capability
,通信设备驱动
直接访问所有的通信设备驱动
包括
Wi-Fi
,
USB
和串口设备驱动
Ø
DiskAdmin
平台安全
Capability
,磁盘管理
影响到多个文件或目录的磁盘管理操作(或者整个文件系统的完整和行为等)。包括挂载或者卸载驱动分区
厂家授权
Capabilities
Ø
AllFiles
平台安全
Capability
,所有文件
授予所有文件可见或者额外的私有文件写入访问权限。类似于
TCB
,这项权限控制的非常严格,不轻易赋予这项权限。不同于
TCB
,所有文件都允许私有读写
Ø
DRM
(
Digital Rights Management
)
平台安全
Capability
,
DRM
授予改变
DRM
包括内容的访问权限。回放这些内容不需要
DRM Capability
。
Ø
TCB
平台安全
Capability
,受信赖的计算基础
可执行和共享的只读资源的写入权限
TCB
允许对
/sys
和
/resource
目录进行写入,这项
Capability
非常关键,因为它允许对可执行程序进行写入操作,其中包括了该进程的
Capabilities
。