The Simple Service Discovery Protocol (SSDP) can be abused to launch a new type of distributed denial of service (DDoS) attacks where devices respond with a non-standard port, NETSCOUT Arbor reports.
The technique, referred to as SSDP diffraction, results in UDP packets with ephemeral source and destination ports. This makes mitigation more difficult, as packet content would require inspection to filter the flood of SSDP replies and non-initial fragments.
The issue, NETSCOUT Arbor says, is that a large number of CPE (customer-provided equipment) devices use the open source library libupnp. What’s more, attackers appear aware of said behavior and “may choose a pool of these misbehaving victims based on the efficacy of their attack.”
Most of the roughly 5 million SSDP servers reachable via the Internet would respond from an ephemeral source port and, with SSDP diffraction attacks using such ephemeral ports able to defeat naïve port filtering mitigations, DDoS protection faces a problem, the researchers suggest in a report (PDF).
SSDP, which was designed for service discovery over a local network, uses text-based HTTP messages over UDP (also known as HTTPU) on port 1900. It would respond to both packets with multicast addresses as source or destination (which only work on local network) and with unicast addresses (which are routed via the Internet).
SSDP-based reflection/amplification attacks became popular several years ago, but mitigation is straightforward, as the attack packets originate from a specific source port and contain an HTTPU response, while also having an ephemeral destination port from the original spoofed request.
“Almost all uses of SSDP occur on the local network, and most large organizations don’t rely on the protocol for mission-critical applications, so packets with a UDP/1900 source port can generally be filtered at network boundaries during a crisis,” NETSCOUT Arbor explains.
However, the DDoS protection firm also observed attacks able to bypass mitigations by leveraging SSDP diffraction: they would use high-numbered ports as the source and destination instead of relying solely on UDP/1900 source port HTTPU packets.
“Clearly either the attacker, or the author of the attack tool, was aware of the difference in efficacy of both the normal attack and the diffraction attack,” the researchers say.
After scanning the Internet for SSDP devices, the researchers discovered that over half of them would respond with UDP packets with a source port other than 1900.
China emerged as the country with most responding devices, both behaving (responding with a source port of 1900) and misbehaving (responding with other source ports). Russia, Vietnam, South Korea, and Venezuela are also top sources of misbehaving devices.
Further investigation revealed that libupnp (Portable SDK for UPnP Devices) might be responsible for the bad behavior: not only does it create “a new socket for responses, resulting in a new ephemeral port,” but also uses by default the unique Server HTTPU header and the X-User-Agent: redsonic HTTPU header, both of which appear representative for the misbehaving set of devices.
“Attacks will always incrementally evolve just enough evade defenses. In this case we identified an effective new twist on an old, well-understood attack type. This revelation reminds us that defenders must constantly be aware of evolving attack methods and be as adaptable as the attackers. This specific attack highlights two trends we see time again: old code containing bugs being re-used in new consumer products, and subsequent exposure of those vulnerable populations,” NETSCOUT Arbor concludes.