1 / 160

平台安全( Platform Security )

平台安全( Platform Security ). 第一部分. 平台安全. 本讲介绍 信任模型 能力模型 数据保护 安全标识符,商家标识符和唯一标识符. 平台安全. 平台安全 经常写作 “ PlatSec ” 由 Symbian OS v9.0 引入 是保护手机数据安全和完整性的基础 运行在软件层面上的安全模型 检测和阻止应用程序对硬件、软件、系统或用户数据进行非授权的访问 这些操作可能 锁住电话 危机用户的机密文件 相反的影响其他软件或电话网络. 平台安全. 平台安全阻止运行在 Symbian OS 上的软件采取不可接受的动作 有意或者无意的

temira
Download Presentation

平台安全( Platform Security )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 平台安全(Platform Security) • 第一部分

  2. 平台安全 • 本讲介绍 • 信任模型 • 能力模型 • 数据保护 • 安全标识符,商家标识符和唯一标识符

  3. 平台安全 • 平台安全 • 经常写作“PlatSec” • 由Symbian OS v9.0 引入 • 是保护手机数据安全和完整性的基础 • 运行在软件层面上的安全模型 • 检测和阻止应用程序对硬件、软件、系统或用户数据进行非授权的访问 • 这些操作可能 • 锁住电话 • 危机用户的机密文件 • 相反的影响其他软件或电话网络

  4. 平台安全 • 平台安全阻止运行在Symbian OS上的软件采取不可接受的动作 • 有意或者无意的 • 这是一个系统范围的概念 • 它对每个Symbian OS开发者都有影响 • 无论他是编写应用程序、中间件还是设备驱动

  5. 安全模型 • 理解“进程是信任单元”这一格言的含义,以及Symbian OS是如何执行这一格言的 • 理解可信计算基础(Trusted Computing Base )的目标以及为什么重要的原因 • 了解许多OS APIs 在被使用之前不需要进行安全检查 • 知道不使用敏感的系统服务的自签名软件是“不可信的”,但可以安装手机上并进行运行,不过它是被有效得包在”沙箱“中(effectively “sandboxed”)

  6. 进程是信任的单元 • 平台安全中一个最进本的概念是 • 信任单元的定义 • Symbian OS 定义进程作为最小的信任单元 • 进程 (绝大多数情况下即, 应用程序或服务器) 代表用户运行在手机上 • 进程可以 • 由生产商构建到手机中 • 也可以在手机离开工厂以后安装到手机上

  7. 进程是信任的单元 • 平台安全控制一个进程能做什么 • 将它的活动限制在适当的权限中 • 操作系统不会满足一个服务请求,如果进程不能提供需要的权限 • 没有合适的权利 • 进程被认为是不足以信任的

  8. 进程是信任的单元 • 进程被认为是最小的信任单元 • 因为它是Symbian OS中内存保护的单元 • 手机硬件引发一个处理器错误 • 如果对进程进行访问的地址没有在该进程的虚拟地址空间中 • Symbian OS 相信 • 一个进程不能直接访问其他的虚拟地址空间 • 硬件会阻止这种事情发生!

  9. 进程是信任的单元 • 硬件辅助保护 • 提供了软件安全模型的基础 • 内核中转IPC • 通过进程间安全的共享数据

  10. 进程是信任的单元 • 对运行在Symbina OS中的进程上,应用有四个对应的信任层 • 范围从安全的可信到安全不可信 • 它们是: • 可信计算基础(The Trusted Computing Base ,TCB) • 可信计算环境(The Trusted Computing Environment ,TCE) • 其他信任(签名软件)(Other trusted (signed) software) • 平台其他(未签名,因此也不可信)

  11. 可信计算基础 (TCB) • TCB Symbian OS中最可信任的部分 • 它控制低级的安全机制 • 它有责任维护系统的完整性 • TCB中的代码 • 以Symbian OS的最高优先级运行

  12. 可信计算基础(TCB) • 为了能够进行TCB可信性的验证 • TCB 被保持得尽可能的小和简单 • Symbian OS TCB 已经被仔细的检查过 • 例如通过逐行的代码审查 • 以确保其中的代码能够正确运转, 能被认为是可信的

  13. 可信计算基础(TCB) • TCB 包含了操作系统的内核,后者负责照看每个进程的细节 • 包括赋予进程的权限集合 • 文件服务器也是TCB的一部分 • 因为它被用于将程序代码加载到进程中 • 代码的权限信息在内核加载进程时建立

  14. 可信计算基础(TCB) • 对于“封闭的(closed)”的Symbian OS 手机 • 它们是不支持本地扩展(add-on)软件安装的 • TCB 包括 • 内核 • 内核一侧设备驱动器 • 文件服务器

  15. 可信计算基础(TCB) • 绝大多数Symbian OS 手机是“开放的(open)” • 因此软件安装器 (SWInstaller) 也构成了TCB的一部分 • 当安全SIS包中的文件时,安装器T运行 • 它从安装包中提取文件,包括程序二进制代码 • SWInstall 具有重要的角色 • 将程序二进制要求的权限与安装包的数字签名进行确认

  16. 可信计算基础(TCB) • 严格的说 • 内存管理单元(MMU)和其他安全相关硬件都是TCB的一部分 • 它们不会在这里讨论,因为Symbian不提供手机硬件 • 绝大多数用户库不包含在TCB中 • 只有需要被文件服务器或者软件安装器使用的极少数属于... • ...例如,密码系统库在信任的最高等级

  17. 可信计算环境 (TCE) • TCE 包括移动电话中的可信软件 • 由Symbian提供的 • 或者由其他供应商提供的 • 例如UI平台提供商以及手机生产商 • TCE 代码被断定为可信的 • 但是它不是需要最高权限才能运行 • 并被赋予较少的特权 • 因此比运行在TCB中的代码可信度弱一些

  18. 可信计算环境(TCE) • 在TCE中 • 每个组件只拥有执行明确定义的一组服务所需要的权限 • 通过这样限制服务集合 • Symbian OS 限制了有服务器代码缺陷所带来的威胁 • 或者可能的威胁,如由代码破坏引发的危险

  19. 可信计算环境(TCE) • TCE 代码通常实现 • 服务器进程中的系统服务 • 通过要求选定的服务器具有特定的权限 • 可能对所有服务器限制访问敏感的低层操作 • 以及防止其他进程的误操作

  20. 可信计算环境(TCE) • 例如: 考虑TCE的两个组件 • 窗口服务器(window server)和电话服务器(telephony server) • 窗口服务器(WServ) • 被授权访问屏幕硬件 • 但是不需要访问手机网络 • 电话服务器 (ETEL) • 被授权访问通信设备驱动器 • 但需要访问屏幕硬件

  21. 可信计算环境(TCE) • TCE中的服务器提供 • 对底层服务的间接访问,通过为TCE外的软件提供 • 例如 • 一个电话应用程序不是TCE的一部分,所以没有和电话服务器或者窗口服务器相同的权限 • 它不需要直接和硬件通信 • 相反,它使用每个服务器提供的API来执行应用程序的操作

  22. 可信计算环境(TCE) • Symbian OS 服务器 • 构成了平台安全架构的基础 • 每个服务器都有责任节制(moderate)和保护它所拥有的底层资源的使用 • 同时,也为运行在可信度减低的进程中的客户端中转对资源的访问

  23. 签名软件(Signed Software) • 对一个“开放”的Symbian OS手机安装软件是可能的 • 绝大多数额外的软件都是位于TCE之外的 • 但是仍然需要特定的权限来使用TCE提供的服务

  24. 签名软件 • 例如 • 需要访问网络服务的软件必须打开一个网络套接字 • 套接字服务器 (ESOCK) • 是TCE的一部分 • 它处理网络接口的底层操作 • 一个应用程序 • 它希望打开网络套接字 • 请求套接字服务器代表它去这样做

  25. 签名软件 • 套接字服务器 • 将首先检查请求是来自一个已经被赋予适当信任等级的程序 • 它不会赋予所有希望访问网络套接的代码的访问权限 • 恶意代码可能会供给网路或者其他设备 • 这一点是非常重要的,任何请求一个服务的应用程序 • 在请求允许之前被认为是值得信任的 • 这种信任的一个度量就是软件已经被数字签名了

  26. 签名软件 • 当一个外部作者在决定是否签名一个应用程序 • 以允许它执行电话上的某些操作,如打开网络套接字... • ...该应用程序 • 没有项TCB和TCE中的代码那样经过严格的评估 • 源代码本身通常没有被逐行检查,虽然代码的功能被测试过 • 开发者的信任状 (身份)也将被检查 • 这构成了Symbian签名的基础 • 它在Symbian签名门户网站www.symbiansigned.com上公布了Symbian签名要求的测试

  27. 不可信软件(Untrusted Software) 软件的可信性不能确定 • 如果它没有被签名或者是”自签名(self-signed” ) • 自签名即虽然被签名了,但是不是Symbian信任权威( Symbian Trusted Authorities )签署的 • 这意味着 • 它必须被Symbian OS认为是不可信任的 • 但是这并不意味着软件是恶意的或者无价值的 • 有许多有用的操作 • 它不需要调用系统服务就能在手机上执行 • 调用系统服务器就意味着需要一定等级的权限

  28. 不可信软件 • Symbian OS • 只在需要时进行必要的安全检查 • 这些检查 • 大约包含了所有Symbian OS API中的40% • 例如 • 一个单人纸牌游戏不执行任何操作,它们需要访问 • 敏感的用户数据或者系统关键的数据或服务 • 不可信软件可以安装 • 和运行在手机上 • 但是它是沙箱中的(“sandboxed” ) • 它不能执行任何需要安全权限的动作

  29. 不可信软件 • 绝大多数手机生产商要求一个应用程序在安装之前需要签名 • TCB、TCE和Symbian OS平台其他部分之间的关系 • 在后续幻灯片中展示

  30. 可信计算环境: 以不同权限运行的大量系统服务器 可信计算基础: 具有修改文件系统的所有能力包含内核、F32和开放手机上的SWInstall 平台的这部分是较少信任的. 包含其他签名系统软件和应用程序 Messaging WServ SWInstall是守门员 Kernel, F32, SWInstall ETEL MMF ESOCK 平台其他部分是不可信的.包含未签名系统软件和应用程序,它们在沙箱中 信任的等级(Tiers of Trust)

  31. 信任的等级 • 上图 • 故意没有将TCB显示在环的中心 • 内核可能通常被认为占据该位置 • 它们的一些服务对所有进程都是可用的 • 其次,文件服务器 ——像其他服务器 • 既是内核的客户端,也是对所有进程可用的 • 软件安装组件 • 被显示成伸展到了周场外 • 因为它扮演了手机守门员的角色

  32. 能力模型(Capabilities Model) • 理解能力和TCB的关系 • 理解用户能力的概念以及它们与TCE的关系 • 理解TCB/TCE、能力分配、软件安装器(作为守门员)以及应用程序签名的角色之间的关系 • 认识能力的不同分组,并能够更广泛的理解被赋予的权限 • 了解如何在MMP文件中指定平台安全能力 • 理解能力规则

  33. 能力模型 • 进程是Symbian OS上的信任单元 • 每个进程被分配一个等级的权限,以指示它能够执行什么安全敏感的操作 • 权限有一个能力(capability)指派 • 能力是一个符号,它赋予持有者访问系统服务或资源的权限 • 拥有一个能力说明 • 进程被信任不用滥用权限关联的服务或者资源

  34. 能力模型 • Symbian OS 平台安全 • 的构建是利用能力来表现访问的权限 • 定义而许多能力,它们分别分配了特定的权限 • 内核 • 拥有一个针对每个运行进程的能力列表 • 一个进程 • 可以让内核检检查另一个进程的能力,在决定是否代表它执行一个服务之前

  35. 能力模型 • 对于可安装软件 • 软件安装器扮演了守门员的角色 • 它验证程序已经被授权使用它构建时所带有能力 • 拒绝安装没有正确授权的软件 • 数字签名 (或者 –对一些能力 –用户的许可)

  36. 能力模型 • 能力是离散和正交的 • 这意味着它们没有覆盖 • 它们不是访问令牌的层次化集合 • 每个增加一些权限,直到达到TCB的等级 • 相反 • 一个特定的受保护资源能被单个能力控制 • 任何要访问该资源的进程 • 包括TCB中的进程 • 必须具有权限才能成功访问 • 进程不需要具有其他能力

  37. 能力模型 • 不同操作 • 可能要求不同能力 • 即使那些操作用相同的API实现 • 例如 • 访问文件要求不同的能力 • 这取决于它在文件系统中的位置 • 有三个宽泛的能力类别: • TCB 能力 • System 能力 • User 能力

  38. 用户能力 • 用户能力 • 是一小组对手机用户意义深远的能力 • 这些能力关系到一些安全概念 • 用户能力理解它们,并对其做出选择 • 例如 • 一个用户可以是否安装软件 • 该软件有能力拨打电话(这将花费用户的钱) • 或者能够访问用户的个人数据

  39. 用户能力 • 一个用户不应 • 对影响到手机正常工作的能力进行决定 • 例如影响系统服务的能力 • 系统一级的能力是个单独集合

  40. 用户能力 • 可用的用户能力总结如下表所示:

  41. 用户能力 • 用户能力 • 典型的赋予那些软件 • 它们使用有TCE提供的服务 • TCE服务 • 检查和执行用户能力 • 并执行被请求的服务

  42. 用户能力 • 平台安全被设计成Platform security is designed • 可安装软件(它只需要用户可授权能力) • 不需要被一个可信任权威签名 • 该模型允许 • 用户为软件授予权限 • 当它被安装时 • 或者当它运行需要执行某个动作时 • 该动作需要一个特定的能力

  43. 用户能力 • 虽然用户能力 • 被设计成用户可理解的 • 但是它提供很多选择可能并不总是合适的 • 这决定于手机当前使用的环境 • 移动手机生产商会判断 • 用户能力是如何在他们的手机上配置的 • 即——他们是真正的用户可授权

  44. 系统能力 • 最大一组的能力 • 是系统能力 • 授予一个系统能力 • 允许进程访问敏感的操作 • 系统能力的误用将威胁手机的完整性 • 系统能力 • 对于用户并不是特别有意义 • 而是被设计成对用户隐藏 • 需要系统能力的可安装软件 • 在赋予它们能力之前,需要提交 • 到测试和认证机构(例如Symbina Signed)

  45. 系统能力 • 下表总结了可用的系统能力:

  46. 系统能力

  47. Tcb能力 • Tcb能力 • 只能由TCB的成员拥有 • 可信计算基础 • 内核The kernel • 设备驱动程序 • 文件系统 • 软件安装器——在开放的Symbian OS手机上

  48. Tcb能力 • TCB以最大的权限运行 • 任何TCB中运行的代码都会被赋予 • 所有的系统和用户能力 • 因为有些事情只有TCB代码能做 • 例如加载程序代码Such as loading program code • 有一种能力 • 只赋予TCB • 最关键的能力是Tcb

  49. 分配能力 • 当构建可执行代码时 • 为了Symbian OS的平台安全 • 需要在它的MMP文件中为其赋予一定的能力 • 使用关键字CAPABILITY • 所以能力 • 被Symbian工具链构建到了EXE或DLL中

  50. CAPABILITY ReadUserData WriteUserData SwEvent CAPABILITY All -Tcb -Drm -DiskAdmin 分配能力 • 能力可以在一个包含列表中指定 • 例如: • 作为替换 • 一大组的能力也可以用排除列表指定 • 例如: • 指定CAPABILITY Tcb • 并不等同于拥有所有能力 • 指定 CAPABILITY All • 并不意味着拥有Tcb 能力 • 像拥有其他能力一样

More Related