Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Attacks/Breaches

11/11/2010
10:35 AM
Connect Directly
Twitter
RSS
E-Mail
50%
50%

Making Web Users Botnet-Resistant

HackMiami researchers create 'botnet-resistant code' to thwart botnets from stealing valuable data

WASHINGTON, D.C. -- OWASP AppSec DC 2010 -- What if you could outfit visitors to your website with a coat of anti-botnet armor? A pair of researchers has come up with coding techniques they say ultimately renders infected user machines useless to botnet operators harvesting data.

Peter Greko and Fabian Rothschild, both members of the HackMiami hackerspace, here today showed how they studied samples of the Zeus and SpyEye Trojans, as well as just how the cybercrime underground uses this code for botnets. They then used that intelligence to write code for Web servers that mitigates these botnets. Their premise is that most client machines are infected, anyway. "What we've done is make it really hard for botmasters to use any information they collect from client machines," Rothschild said.

Their hope is to convert these methods into software modules for the OWASP Enterprise Security API (ESAPI), an open-source Web app security control library aimed at making secure code simpler to write. "We want to talk to the ESAPI project and see if we can come up with modules for them," Greko said.

The techniques they developed don't prevent a bot infection, but rather stymie the botmaster from ultimately gathering any useful information from the victim. Zeus, for instance, collects logins, passwords, cookies, VIEWSTATE parameters, and any other information passed via a POST request in HTTP. There are four different options, which range from obfuscating data to encrypting it. "What we've done is come up with ways to make it really hard for botmasters to use any information they collect from client machines," Rothschild says.

Zeus uses HTTP POST-logging to glean valuable data from Web sessions from the machines it infects, and then transports the information it grabs to its command and control servers. Greko and Rothschild devised ways to make that data either too unwieldy or unrecognizable to the botnet. Each has its trade-offs on the Web server back-end load, they said. "It all depends on how heavy you want it on your Web server. The more load on your Web server equals more money [invested]," Greko said.

In what they dubbed "basic" mitigation, their method basically bloats the code so the botnet either can't find it or can't use it because it's too large of a string. "We obfuscate variable names and add extraneous hidden POST parameters that tend to bloat code," for example, Greko said. "The botnet is looking for easily recognizable logs of information and we put hidden junk values [in it]."

In the "medium" mitigation, they mangle the data such that it's unreadable to the botnet. "We are prefixing data for POSTs via client-side JavaScript," Greko said. In the "hard" mitigation approach, they used Base64 encoding to hide valuable data coming from the client.

They offered up another method dubbed "Nightmare," where they deployed RC4 symmetrical encryption on the server side. "RC4 has had a bad rap because it can be brute-forced. But if you rotate the encryption key every session, for example, the botmaster isn't going to know the key," Greko said.

The researchers said they tested all of the techniques against Zeus, and they worked. But there is still no cure-all for bot infections. "These methods do not prevent [identity theft]. If someone wants your data, you can make a plug-in for SpyEye or Zeus and ... make it harder for them to get the data," Greko said. "This will mitigate most of the script kiddies and botmasters from harvesting your data."

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Kelly Jackson Higgins is the Executive Editor of Dark Reading. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
NSA Appoints Rob Joyce as Cyber Director
Dark Reading Staff 1/15/2021
Register for Dark Reading Newsletters
White Papers
Video
Cartoon Contest
Write a Caption, Win an Amazon Gift Card! Click Here
Latest Comment: I like the old version of Google assistant much better.
Current Issue
2020: The Year in Security
Download this Tech Digest for a look at the biggest security stories that - so far - have shaped a very strange and stressful year.
Flash Poll
Assessing Cybersecurity Risk in Today's Enterprises
Assessing Cybersecurity Risk in Today's Enterprises
COVID-19 has created a new IT paradigm in the enterprise -- and a new level of cybersecurity risk. This report offers a look at how enterprises are assessing and managing cyber-risk under the new normal.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-8567
PUBLISHED: 2021-01-21
Kubernetes Secrets Store CSI Driver Vault Plugin prior to v0.0.6, Azure Plugin prior to v0.0.10, and GCP Plugin prior to v0.2.0 allow an attacker who can create specially-crafted SecretProviderClass objects to write to arbitrary file paths on the host filesystem, including /var/lib/kubelet/pods.
CVE-2020-8568
PUBLISHED: 2021-01-21
Kubernetes Secrets Store CSI Driver versions v0.0.15 and v0.0.16 allow an attacker who can modify a SecretProviderClassPodStatus/Status resource the ability to write content to the host filesystem and sync file contents to Kubernetes Secrets. This includes paths under var/lib/kubelet/pods that conta...
CVE-2020-8569
PUBLISHED: 2021-01-21
Kubernetes CSI snapshot-controller prior to v2.1.3 and v3.0.2 could panic when processing a VolumeSnapshot custom resource when: - The VolumeSnapshot referenced a non-existing PersistentVolumeClaim and the VolumeSnapshot did not reference any VolumeSnapshotClass. - The snapshot-controller crashes, ...
CVE-2020-8570
PUBLISHED: 2021-01-21
Kubernetes Java client libraries in version 10.0.0 and versions prior to 9.0.1 allow writes to paths outside of the current directory when copying multiple files from a remote pod which sends a maliciously crafted archive. This can potentially overwrite any files on the system of the process executi...
CVE-2020-8554
PUBLISHED: 2021-01-21
Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.externalIPs field, to intercept traffic to that IP address. Additionally, an attacker who is able to patch the status (which is considered a privileged operation and should not typicall...