互联网公司安全运营注意事项解析

 提示:点击图片可以放大

互联网公司安全运营

## 互联网业务安全

### 产品需要什么样的安全

- 互联网产品对安全的需求

 - 安全是产品的一个特性
 - 一个成熟的产品几乎都会在安全方面存在竞争

  - 搜索内容安全过滤
  - 反垃圾邮件的安全

- 什么是好的安全方案

 - 条件

  - 良好的用户体验
  - 优秀的性能

 - 认证选择

  - 用户名和密码

   - 双因素认证,如U盾、动态短信、客户证书等

 - 复杂密码安全吗?

  - 设置复杂密码的初衷

   - 防止暴力破解
   - 密码有关联性,如手机号码、生日等

  - 提高密码复杂度的本质

   - 如何对抗暴力破解
   - 如何防止密码中包含个人信息

 - 产品潜移默化地培养用户的安全习惯

### 业务逻辑安全

- 永远改不掉的密码

 - 业务逻辑问题是一种设计缺陷
 - 案例

  - 谁是大赢家,在线竞价,账号登录失败多次被锁定,导致他人无法竞价
  - 瞒天过海

   - 电视广告信息,用户弹窗。审核通过后,用户可再次编辑,并且不会被二次审核

- 关于密码取回流程

 - 常规做法

  - 用户设定的安全问题
  - 用户注册时留下的安全邮箱
  - 给用户发送手机短信验证码

 - 用户基因

  - 使用用户曾经在网站留下的私有信息

### 账号是怎么被盗的

- 账号被盗途径

 - 暴力破解、钓鱼网站、网络嗅探、存在XSS、存在SQL注入漏洞

- 分析账号被盗的原因

 - 客服是最重要和直接的渠道
 - 打入敌人内部,探听最新动态

### 互联网的垃圾

- 垃圾的危害

 - 垃圾注册几乎成为一切业务安全问题的源头

- 垃圾的处理

 - 步骤

  - 识别
  - 拦截

   - 冻结账户、删除账户

 - 垃圾识别算法

  - 基于内容的规则
  - 基于行为的规则
  - 基于客户端识别的规则

### 关于网络钓鱼

- 钓鱼网站简介

 - 骗取用户的密码

- 邮件钓鱼

 - SMTP协议可以让用户伪造发件人邮箱
 - 识别发件人的邮箱安全技术

  - SPF(Sender Policy Framework)、Yahoo的DomainKeys、微软的SenderID

- 钓鱼网站的防控

 - 统一战线
 - 运营商关停站点
 - 浏览器拦截钓鱼网站
 - 用户教育
 - 自动识别钓鱼网站

- 网购流程钓鱼

 - 伪造类似的网站购物页面、流程,最终支付成功
 - 解决:找到唯一的客户端信息,确保订单是由本人创建的

### 用户隐私保护

- 互联网的用户隐私挑战

 - Subtopic 1

- 如何保护用户隐私

 - 用户的知情权和选择权
 - 禁止用于其他用用途

- do not track

## 安全开发流程SDL

### SDL介绍

- 试图从安全漏洞产生的根源上解决问题
- 步骤

 - 培训:核心安全培训
 - 要求:确定安全要求,创建质量门/错误标尺,安全和隐私风险评估
 - 设计: 确定设计要求,分析攻击面,威胁建模
 - 实施:使用批准的工具,弃用不安全的函数,静态分析
 - 验证:动态分析,模糊测试,攻击面评析
 - 发布:事件响应计划,最终安全评析,发布存档
 - 响应:执行事件,响应计划

- [OWASP SAMM ,适合域自主开发软件的使用者](http://www.opensamm.org/)

 -

### 敏捷SDL

- 一次性要求

### SDL实战经验

- 准则一、与项目经理进行充分沟通,排出足够时间
- 准则二、规范公司的立项流程,确保所有项目都能通知到安全团队,避免遗漏
- 准则三、树立安全部门的权威,项目必须由安全部门审核完成后才能发布
- 准则四、将技术方案写入开发、测试的工作手册中
- 准则五、给工程师培训安全方案
- 准则六、记录所有的安全 bug,激励程序员编写安全的代码

### 需求分析与设计阶段

- 对接项目经理、产品经理、架构师进行访谈,了解产品背景和技术,给出相应的建议

### 开发阶段

- 提供安全的函数

 - OWASP 的开源项目 OWASP ESAPI 为安全模块的实现提供了参考

- 代码安全审计工具

 - ① 函数调用是个复杂的过程,当审计工具找到敏感函数时,回溯函数的调用路径常常会遇到困难
 - ② 如果程序使用了复杂框架,代码审计工具往往由于缺乏对框架的支持,从而造成误报或漏报。

### 测试阶段

- 安全测试应该独立于代码审计
- 自动化测试可以通过 web 安全扫描器对项目或产品进行漏洞扫描
- 常规漏洞:XSS、SQL  Injection、Open Redirect、PHP File Include;CSRF、越权访问、文件上传等漏洞
- 由于涉及系统逻辑或业务逻辑,有时需要人机交互参与页面流程,因此需要依靠手动的方式完成测试。

## 安全运营

### 把安全运营起来

- SOC

 - 各种安全日志、安全事件关联起来

- 安全修复

 - 例行的扫描任务,发现漏洞,及时修补
 - 安全事件发生时或者0 day 漏洞被公布时,进行紧急漏洞响应

### 漏洞修补流程

- 建立类似bugtracker的漏洞跟踪机制,并为漏洞的紧急程度选择优先级
- 建立漏洞分析机制,并与程序员一起制定修补方案,同时review补丁的代码实现
- 对曾经出现的漏洞进行归档,并定期统计漏洞修补情况

### 安全监控

### 入侵检测

- ModSecurity WAF
- WAF PHPids

### 紧急响应流程

- 报警方式

 - 邮件报警
 - IM报警
 - 短信报警

- 建立紧急响应流程

 - 紧急响应小组

  - 技术、产品、公关

 - 需要保护安全事件的现场
 - 以最快速度处理完问题