FreeBSD是开放源代码的操作系统,其中FreeBSD 4.5支持了SYN cache (syncache)和SYN cookies (syncookies)机制,提供对FLOOD拒绝服务攻击的保护功能。 当syncookie实现时syncache会触发两个漏洞,可以导致系统崩溃。 1)当通过syncookie接收到SYN信息包时,它使用未初始化的指针来为新的套接口查找TCP选项,这个指针可以为NULL指针,这就可以导致系统崩溃。 2)当SYN信息包到达一监听套接口的时候会建立一syncache条目,如果建立这个监听套接字的应用程序被杀掉或者重新启动,因此会使用一个不同的inpcb重新建立监听套接口,后来到达的ACK包或者重复的SYN包匹配已经存在的syncache条目时会导致引用旧的inpcb指针,根据指针内容不同,可以导致系统崩溃。
FreeBSD是开放源代码的操作系统,其中FreeBSD 4.5支持了SYN cache (syncache)和SYN cookies (syncookies)机制,提供对FLOOD拒绝服务攻击的保护功能。 当syncookie实现时syncache会触发两个漏洞,可以导致系统崩溃。 1)当通过syncookie接收到SYN信息包时,它使用未初始化的指针来为新的套接口查找TCP选项,这个指针可以为NULL指针,这就可以导致系统崩溃。 2)当SYN信息包到达一监听套接口的时候会建立一syncache条目,如果建立这个监听套接字的应用程序被杀掉或者重新启动,因此会使用一个不同的inpcb重新建立监听套接口,后来到达的ACK包或者重复的SYN包匹配已经存在的syncache条目时会导致引用旧的inpcb指针,根据指针内容不同,可以导致系统崩溃。