Zhi-Li Zhang, a professor at the University of Minnesota, is looking at new methods for detecting botnets that try to hide behind alternating domain names in what's called DNS domain-fluxing -- also known as domain generation algorithm (DGA). In domain-fluxing, the bot queries a series of domain names, but the domain owner registers just one. The Conficker, Kraken, and Torpig botnets all use this method of evasion.
To get to the C&C for these types of botnets, researchers typically have to reverse-engineer the bot malware and then figure out the domains that are generated regularly in order to register them as a way to infiltrate the botnet. But that process is time-consuming and resource-intensive, researchers say.
Zhang recently came up with a way to graph failed DNS queries in order to root out these types of botnets. "The basic idea of our approach is to observe and analyze DNS failures to identify and pinpoint domain-flux botnets, which tend to generate a large amount of failed DNS queries," Zhang says. He and his research team basically map all of the failed DNS queries and then extract the most dominant subgraphs, he says.
But there are some challenges to this approach. "The key challenges here are that there might be a variety of reasons that DNS queries may fail, so how can we identify failures that are likely caused by bots? And there may exist multiple botnets, [so] is it possible for us to identify bots that belong to each botnet or similar class of botnets?" Zhang says.
The next phase of his research, which is currently in its preliminary stages, is to be able to detect botnets in near real-time by using machine learning and before signatures are developed for characterizing the botnets. Zhang will be using his method of mapping DNS query failures, coupled with an existing method of DNS fast-flux detection that looks at the pattern and distribution of alphabetic characters in a domain name to determine whether it's malicious or legitimate: This allows them to spot botnets' algorithmically generated (rather than generated by humans) domain names. Given that most domain names are already taken, botnet operators have to go with gibberish-looking names like Conficker does: joftvvtvmx.org, gcvwknnxz.biz, and vddxnvzqjks.ws, which their bots generate.
The hope is that a combination of these two methods of spotting irregular DNS traffic for gathering botnet clues will provide even more powerful detection capabilities. Then DNS could be used to peek at relevant HTTP traffic, for instance. DNS is often the first step for bots to find their C&C server -- once they do, they use HTTP to communicate with it, according to Zhang. First inspecting the DNS traffic flows for botnet activity saves a lot of time and effort because HTTP traffic overall is so prolific and parsing it is so unwieldy, he says.
A copy of Zhang's work on DNS failure graphing is available here (PDF).
Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message.