描述
扩展描述
IP地址很容易欺骗。攻击者可以建立发送的数据包的源IP地址,但响应数据包将返回到伪造IP地址。看到响应数据包,攻击者嗅受害者机器之间的交通和伪造IP地址。为了实现所需的嗅探,攻击者通常试图定位自己在同一子网的受害者的机器。攻击者可以绕过这个需求通过使用源路由,但源路由今天互联网的大部分地区是禁用的。总之,IP地址验证可以是一个有用的身份验证方案的一部分,但不应该把它所需的单因素身份验证。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
委员会:这个弱点是指一个不正确的设计与架构相关的安全策略。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制 不可抵赖性
|
恶意用户可以假身份验证信息,冒充任何IP地址。 |
|
利用的可能性
示范例子
示例1
这两个示例检查请求是否从一个值得信赖的地址之前回应请求。
sd =插座(AF_INET SOCK_DGRAM 0); serv.sin_family = AF_INET; serv.sin_addr。s_addr = htonl (INADDR_ANY); servr。sin_port = htons (1008); 绑定(sd (struct sockaddr *) &服务公司,sizeof(服务));
而(1){
memset(味精,0 x0, MAX_MSG); clilen = sizeof (cli); 如果(inet_ntoa (cli.sin_addr) = = getTrustedAddress ()) {
n = recvfrom (sd、味精、MAX_MSG 0 (struct sockaddr *) & cli &clilen); } }
而(真){
DatagramPacket rp = new DatagramPacket (rData rData.length); outSock.receive (rp); 字符串=新的字符串(p.getData (), 0, rp.getLength ()); InetAddress clientIPAddress = rp.getAddress (); int port = rp.getPort ();
如果(isTrustedAddress (clientIPAddress) & secretKey.equals () {
= secret.getBytes (); DatagramPacket sp = new DatagramPacket (,。长度、IPAddress港口);outSock.send (sp); }
}
只有验证地址的代码存储在请求数据包。攻击者可以恶搞这个地址,从而冒充一个可信的客户。
潜在的缓解措施
阶段:体系结构和设计
使用其他身份验证,不能简单地欺骗的手段。可能包括一个用户名/密码或证书。 |
弱点Ordinalities
Ordinality |
描述 |
合成 |
(缺点是通常与其他弱点的存在) |
分类法映射
映射分类名称 |
节点ID |
适合 |
映射节点名 |
扣 |
|
|
相信自我报告的IP地址 |
引用
|