blob: e64a50bcd5bab2beb27f2dac9cabe09c4af644e5 [file] [log] [blame]
<html devsite><head>
<title>组织和运营安全性</title>
<meta name="project_path" value="/_project.yaml"/>
<meta name="book_path" value="/_book.yaml"/>
</head>
<body>
<!--
Copyright 2017 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p>从您的组织内部开始为良好的安全做法奠定基础。</p>
<h3 id="create-a-team">组建安全与隐私权团队</h3>
<p>组建一个专门的安全和隐私权团队,并为该组织安排一位领导者。</p>
<ul>
<li><strong>组建安全团队。</strong>
<ul>
<li>确保至少有一名员工负责安全、隐私权和事件响应。</li>
<li>为这个团队指定任务和职责范围。</li>
<li>为以下人员制定组织结构图和职位描述:安全经理、安全工程师、事件管理员。</li>
<li>雇用员工或外部承包商来担任这些角色。</li>
</ul>
</li>
<li><strong>定义安全开发生命周期 (SDL)</strong>。您的 SDL 应涵盖以下方面:
<ul>
<li>产品的安全要求。</li>
<li>风险分析和威胁建模。</li>
<li>对应用和代码的<a href="/devices/tech/debug/fuzz-sanitize">静态和动态分析</a></li>
<li>产品的最终安全审核流程。</li>
<li>事件响应。</li>
</ul>
</li>
<li><strong>评估组织风险</strong>。创建风险评估并制定计划以消除或化解这些风险。</li>
</ul>
<h3 id="build-verification">创建验证流程</h3>
<p>评审现有内部构建验证和批准流程中的问题。</p>
<ul>
<li>指出当前构建验证流程中可能导致在构建中引入<a href="/security/reports/Google_Android_Security_PHA_classifications.pdf">潜在有害应用</a> (PHA) 的所有问题。</li>
<li>确保您制定了代码审核和批准流程,即使是对 <a href="https://android.googlesource.com/" class="external">AOSP</a> 的内部修补也是如此。</li>
<li>通过在以下方面实施控制来提高构建完整性:
<ul>
<li><strong>跟踪更改</strong>。跟踪软件工程师;保留更改日志。</li>
<li><strong>评估风险</strong>。评估应用使用的权限;需要对代码更改进行手动审核。</li>
<li><strong>监控</strong>。评估对特权代码所做的更改。</li>
</ul>
</li>
</ul>
<h3 id="source-code-change-tracking">源代码更改跟踪</h3>
<p>监控源代码或第三方应用/二进制文件/SDK 的意外修改行为。</p>
<ul>
<li><strong>评估合作伙伴关系</strong>。按照以下步骤评估与技术合作伙伴进行合作的风险:
<ul>
<li>针对如何评估与特定供应商合作的风险制定相关标准。</li>
<li>制作一个表单,询问供应商如何解决事件并管理安全性和隐私权。</li>
<li>通过定期审核验证他们的声明。</li>
</ul>
</li>
<li><strong>跟踪更改</strong>。记录哪些公司和员工修改了源代码并定期进行审核,以确保只进行适当的更改。</li>
<li><strong>保留记录</strong>。记录哪些公司将第三方二进制文件添加到您的版本中,并记录这些应用执行的功能及其收集的数据。</li>
<li><strong>计划更新</strong>。确保您的供应商按照要求在产品的整个生命周期内提供软件更新。不可预见的漏洞问题可能需要供应商提供支持才能解决。</li>
</ul>
<h3 id="validate-source-code">验证源代码完整性和起源</h3>
<p>检查并验证原始设备制造商 (ODM)、无线下载更新 (OTA) 或运营商提供的源代码。</p>
<ul>
<li><strong>管理签名证书</strong>
<ul>
<li>将密钥存储在硬件安全模块 (HSM) 或安全云服务中(不要共享它们)。</li>
<li>确保控制和审核对签名证书的访问权限。</li>
<li>要求在编译系统中完成所有代码签名。</li>
<li>撤消丢失的密钥。</li>
<li>使用最佳做法生成密钥。</li>
</ul>
</li>
<li><strong>分析新代码</strong>。使用安全代码分析工具测试新添加的代码,以检查是否引入了新漏洞。此外,还要分析整体功能以检测新漏洞的表现形式。</li>
<li><strong>在发布前进行审核</strong>。在将源代码和第三方应用推送到生产环境之前,查找其中的安全漏洞。例如:
<ul>
<li>要求应用使用安全通信。</li>
<li>遵循最小权限原则并授予应用运行所需的最小权限集。</li>
<li>确保通过安全通道存储和传输数据。</li>
<li>确保服务依赖项保持最新状态。</li>
<li>将安全补丁程序应用于 SDK 和开源库。</li>
</ul>
</li>
</ul>
<h2 id="incident-response">事件响应</h2>
<p>Android 相信可以借助强大的安全社区发现问题。您应该为外部各方创建并公布一种方法,方便相应人员可以就设备特有的安全问题与您联系。</p>
<ul>
<li><strong>建立联系</strong>。创建一个电子邮件地址(例如 security@<var>your-company</var>.com)或制作一个网站,并清晰地说明如何报告与您的产品相关的潜在安全问题(<a href="https://security.samsungmobile.com/securityReporting.smsb" class="external">示例</a>)。</li>
<li><strong>向上游贡献更改</strong>。如果您发现某个安全问题会影响 Android 平台或多个设备制造商的设备,请通过提交<a href="g.co/AndroidSecurityReport" class="external">安全错误报告</a>与 Android 安全团队联系。
</li>
<li><strong>宣传良好的安全做法</strong>。主动评估为您的设备提供服务、组件和/或代码的硬件和软件供应商的安全做法。让供应商负责维持良好的安全态势。</li>
</ul>
</body></html>