- 说说内存管理,你只管把你知道的滔滔不绝地说,我不会打断你。
- 说说NSDictionary底层实现。
- 如果有一张非常大的图片,超过100M需要实现清晰的查看,你会怎么做。
- 说说锁相关的信息。
- https最容易受到攻击的是哪一部分。
参考资料
RFC 6520心跳扩展定义了一种测试TLS/DTLS安全通信链路的方法,允许连接一端的计算机发送“心跳请求”消息,消息包含有效载荷(通常是文本字符串),附带有效载荷的长度(用16位整数表示)。随后,接收方计算机必须发送完全相同的有效载荷以返回给发送方。
受影响的OpenSSL版本根据请求消息中的长度字段分配内存缓冲区,用于存储要返回的消息,而不考虑消息中有效载荷的实际长度。因为缺少边界检查,返回的消息不仅包括有效载荷,还可能含有其他恰巧在已分配缓冲区中的消息。
因此,通过构造出载荷短、长度字段中的数值却很大的请求,向存在缺陷的一方(通常是服务器)发送畸形心跳包,利用心脏出血漏洞,引起受害者的回应,这样,攻击者便可读取到受害者内存中至多64千字节的信息,而这块区域先前OpenSSL有可能已经使用过[61]。例如,正常的心跳请求可能会要求一方“返回4个字符的单词‘bird’”,那一方就返回“bird”;“心脏出血请求”(恶意的心跳请求)如“返回500个字符的单词‘bird’”会导致受害者返回“bird”,紧接着是恰储存在受害者活跃内存中的496个字符。这样,攻击者便可能会收到敏感数据,从而危及受害者其它安全通信的保密性。虽然攻击者能对返回的内存块大小有所控制,但却无法决定它的位置,因而不能指定要显示内容。