问答题
在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活,这种每隔固定时间发一次的数据包也称为心跳包。心跳包的内容没有什么特别的规定,一般都是很小的包。 某系统采用的请求和应答两种类型的心跳包格式如图所示。 心跳包类型占1个字节,主要是请求和响应两种类型; 心跳包数据长度字段占2个字节,表示后续数据或者负载的长度。 接收端收到该心跳包后的处理函数是process_heartbeat(),其中参数p指向心跳包的报文数据,s是对应客户端的socket网络通信套接字。
模糊测试技术能否测试出上述代码存在的安全漏洞?为什么?
模糊测试技术能够测试出上述存在的安全漏洞; 网络协议的模糊测试是通过特定的Socket形式将变异或者生成的含有错误信息的数据包发送给目标程序。 根据协议的格式、定义,准备大量的测试数据,从客户端发送给服务器端,从而试图找到一些安全漏洞,不需要程序的源代码即可发现问题。
问答题 模糊测试(Fuzzing)是一种非常重要的信息系统安全测评方法,它是一种基于缺陷注入的自动化测试技术。请问模糊测试属于黑盒测试还是白盒测试?其测试结果是否存在误报?
问答题 (1)上述接收代码存在什么样的安全漏洞? (2)该漏洞的危害是什么?
问答题 (1)心跳包数据长度字段的最大取值是多少? (2)心跳包中的数据长度字段给出的长度值是否必须和后续的数据字段的实际长度一致?