China syndromeCyber sleuth finds China's fingerprints on code used in Google attacks

Published 22 January 2010

SecureWorks’ Joe Stewart says he found Chinese fingerprints on the code used in the attacks on Google and other Western companies; the telltale sign is an error-checking algorithm in the software that installed the Hydraq backdoor on compromised PCs

A security researcher who reverse engineered code used to attack Google and other large companies has said he found what he believes are the fingerprints of Chinese hackers. The telltale sign, according to Joe Stewart, director of SecureWorks’ Counter Threat unit, is an error-checking algorithm in the software that installed the Hydraq backdoor on compromised PCs. The CRC, or cyclic redundancy check, used a table of only sixteen constants, a compact version of the more standard 256-value table (Stewart’s full report is here).

After searching online, Stewart located only one instance of source code that contained a matching structure that generated the same output from a given input: This paper published in simplified Chinese characters on optimizing CRC algorithms for use in microcontrollers.

This CRC-16 implementation seems to be virtually unknown outside of China, as shown by a Google search for one of the key variables, ‘crc_ta[16],’” Stewart wrote. “This indicates the Aurora codebase originated with someone who is comfortable reading simplified Chinese. Although source code itself is not restrained by any particular human language or nationality, most programmers reuse code documented in their native language.”

Dan Goodin writes that he is not convinced. Stewart readily admits the algorithm is a “clever optimization” that allows the CRC routine to be used in applications where memory is at a premium. “If it’s that good, it’s plausible that attackers not aligned with the People’s Republic of China might have heard of it,” Goodin writes.

What is more, Goodin notes, binary code used in Hydraq was either compiled on an English-language system or was edited after the fact to conceal its Chinese-language roots. Operation Aurora — rather some Chinese codename — came from strings put into the source code to indicate where debug file paths were located.

“So for the time being, we’ll continue to consider the evidence of Chinese involvement to be circumstantial rather than direct. Either way, Stewart’s detective work is impressive,’ Goodin concludes.