In 2012, two servers run by the U.S. Navy rolled back their clocks 12 years, deciding it was the year 2000.
The servers were very important: they’re part of a worldwide network that helps computers keep the right time using the Network Time Protocol (NTP).
Computers that checked in with the Navy’s servers and adjusted their clocks accordingly had a variety of problems with their phones systems, routers and authentication systems.
The incident underscored the serious problems that can occur when using NTP, one of the oldest Internet protocols published in 1985.
The protocol is fairly robust, but researchers from Boston University said on Wednesday they’ve found several flaws in NTP that could undermine encrypted communications and even jam up bitcoin transactions.
One of the problems they found is that it’s possible for an attacker to cause an organization’s servers to stopping checking the time altogether.
NTP has a rate-limiting mechanism, nicknamed the “Kiss O’ Death” packet, that will stop a computer from repeatedly querying the time in case of a technical problem. When that packet is sent, systems may stop querying the time for days or years, according to a summary of the research.
They found a big issue: it’s possible for an attacker to spoof a Kiss O’Death packet, making it appear to have come from a system experiencing trouble when it’s actually fine.
The researchers didn’t discover the Kiss O’Death packet by hunting through code, said Sharon Goldberg, an associate professor at Boston University’s computer science department.
“We discovered the KOD vulnerability by just reading the specifications of the [NTP] protocol,” she said in a phone interview on Wednesday. “We just saw this packet, and we were like ‘Really? What can you do with this thing’?”
With just one computer, the researchers suspect such a spoofing attack could be conducted on a large scale across NTP clients found using network scanners such as nmap and zmap.
The spoofing is possible in part because most NTP servers don’t use encryption when talking to their clients.
The connections are unencrypted because NTP doesn’t have a key exchange protocol as refined as SSL/TLS (Secure Socket Layer/Transport Layer Security), Goldberg said. The encryption keys have to manually programmed into NTP devices, which most organizations don’t bother to do, she said.
When a computer’s clock goes out of sync, it can have wide-ranging effects.
If a computer’s clock is rolled back, it could mean an expired SSL/TLS certificate could be accepted as valid for which the attacker has the decryption key, according to their technical paper.
With the virtual currency bitcoin, an inaccurate clock could cause the bitcoin client software to reject what is a legitimate transaction, wasting computational time, they wrote.
Two other flaws were also found. In a type of denial-of-service attack, an attacker could spoof Kiss O’Death packets to look like they’re coming from an NTP client. The time server then tries to slow down those queries, sending a response that causes the NTP client to stop updating its clock.
The third flaw could allow an attacker who interfering with unencrypted NTP traffic to shift a computer’s clock forward or backwards on reboot.
Software fixes for the problems are available now, as the researchers privately disclosed their findings in August to the Network Time Foundation, and vendors including Red Hat and Cisco, which have patched their NTP implementations.
The latest version of NTP released on Tuesday is ntp-4.2.8p4, and administrators are advised to patch as soon as possible.
Goldberg said because NTP is viewed as robust, it hardly gets much attention these days. Their research showed that one of the most widely used versions of NPT is 4.1.1, which is more than a decade old.
“What that means is you’ve have these old clients, just sitting there,” she said.
The research paper was co-authored by Aanchal Malhotra, Isaac E. Cohen and Erik Brakke, all of Boston University.