分析和攻击私有协议中的密码学安全漏洞   刘慧 关于我 上海交通大学密码与计算机安全实验室   应用密码学研究   Lab of Cryptology and Computer Security  现实软件中密码系统的安全审计分析   软件安全小组GoSSIP   乌云白帽子/乌云专栏作者   Group of Software Security In Progress  Gossip  on  SSL  Security  by  GoSSIP_SJTU   私有协议中的密码学安全漏洞 什么是协议 网络通信协议,为进行数据交换而建立的规则、标准或约定的集合 它规定了通信时信息必须采用的格式和这些格式的意义 应用层:   0x00 0x26 0xe5 0x90 0x83 0xe4 0xba 0x86 … 0xbc 0x9f  标志位:采用何种压缩算法,字符编码方式,长度,… 网络层:  源端口,目的端口,… 传输层: 源IP,目的IP,… 网络接口层: MAC地址,… 吃了么? 私有协议中的密码学安全漏洞 我们关心的协议 与相应实体通信并完成特定功能的应用层协议。 HTTP、FTP、SMTP、… 也可以是更加应用相关的协议,例如    手机APP与发送推送信息的服务器间的通信协议      即时消息应用间及其与服务器的通信协议      网络摄像头与中心服务器的通信协议    …… 私有协议中的密码学安全漏洞 私有协议 Proprietary protocol    非标准协议              微信、QQ;自定义格式的数据交换              可能缺少公开的、详细的协议规范文档      协议逆向              抓包分析              二进制反汇编反编译   私有协议中的密码学安全漏洞 协议的关注点 对于网络摄像头      每帧画面是如何编码的,画面质量与清晰度的协商调整,…        每帧画面传输前是否有协商某些安全机制,传输的画面是否可能 被截获或修改   对于即时消息 消息的某几个字节对应系统内部维护的序列号 消息能否冒充、伪造 私有协议中的密码学安全漏洞 ref1   协议的关注点 对于推送协议    某个字段对应标题,某个字段对应推送消息点击后跳转的网页    服务器推送来的消息本身是否在传输过程中可能被修改 例如, 谷歌云消息服务,曾经因服务器没有检查客户端提交的请求中两个字段的一致性, 导致原本推送到客户端的消息会被攻击者收到Ref2。 这种协议中业务逻辑相关的安全问题不是我们讨论的范围 Ref 1:http://intown.biz/wp-content/uploads/2014/04/gcm_explained.png Ref2:Li, Tongxin, et al. "Mayhem in the push clouds: Understanding and mitigating security hazards in mobile push-messaging services." Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2014.   私有协议中的密码学安全漏洞 What we really focus on 信息传送的通道是否安全 吃了么? 在存在恶意中间人的情况下,通信的安全性    被动中间人:窃听    主动中间人:篡改、重放    身份冒充 吃了么? 我喜欢你 安全传输三⼤大愿望 真实性:来自真实的的发送方       Authenticity   机密性:未授权不能读                             Confidentiality 完整性:未授权不能修改                       Integrity 私有协议中的密码学安全漏洞 网络通信协议 Communications Protocol   数据安全传输 Secure Data Transmission   密码学误用 Cryptographic Misuse   分析私有协议中的密码学问题时我们要关注什么 我正在跟我想要的人讲话     讲话的内容不想让别人知道           讲话的内容别人不知道也不能乱改   身份   认证   密钥   协商   消息   认证   数据   加密   ⾝身份认证 确认通信对象身份   基于密码的身份认证     密码认证协议(PAP)   Password  Authentication  Protocol   基于密码的⾝身份认证 依托下层通道的安全性   HTTPS,  HTTPS  with  Pinning   基于密码的⾝身份认证 依托对密码的变换   简单编码(Base64/Base32)   简单哈希(MD5/SHA1/SHA256/…)   加盐、多次哈希   对称密码加密(AES/RC4/…)   非对称密码加密(RSA)   基于密码的⾝身份认证 单纯依赖对密码的变换无法保证用户身份认证的安全性   简单编码(Base64/Base32)   简单哈希(MD5/SHA1/SHA256/…)   多次哈希   对称加密(AES/RC4/…)   非对称加密(RSA)   ⾝身份认证 由可预测的数据生成   a.c = h.MD5("2989d4f8dcda393d1c1ca3c021f0cb10" + arg2.getPackageName().getBytes());   硬编码密钥   String  v0  =  "134e3265829ff82daf16e7b740a600b5";                  if(this.b  ==  null)  {                          byte[]  v1  =  v0.getBytes();                          byte[]  v2  =  new  byte[16];                        …                          this.b  =  new  SecretKeySpec(v2,  "AES");   ⾝身份认证 RSA/ECB/NoPadding   没有随机性   RSA/ECB/PKCS1Padding   除不能抵抗重放攻击外,安全性较⾼高   ⾝身份认证 Google  Play  100个APP   大陆安卓应用市场200个APP   密码发送通道分布情况   ⾝身份认证 密码变换种类的使用情况  

pdf文档 2016-《如何分析和攻击私有协议中的密码学安全漏洞》

安全研究库 > 网络论坛材料 > 2016乌云峰会-白帽场 > 文档预览
28 页 0 下载 39 浏览 0 评论 0 收藏 3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
2016-《如何分析和攻击私有协议中的密码学安全漏洞》 第 1 页 2016-《如何分析和攻击私有协议中的密码学安全漏洞》 第 2 页 2016-《如何分析和攻击私有协议中的密码学安全漏洞》 第 3 页 2016-《如何分析和攻击私有协议中的密码学安全漏洞》 第 4 页 2016-《如何分析和攻击私有协议中的密码学安全漏洞》 第 5 页
下载文档到电脑,方便使用
还有 23 页可预览,继续阅读
本文档由 张玉竹2022-04-08 09:08:37上传分享
给文档打分
您好可以输入 255 个字符
安信天行文库的中文名是什么?( 答案:安信天行 )
评论列表
  • 暂时还没有评论,期待您的金玉良言