As hacking-for-profit has evolved during the past few years, criminals have learned that SMBs are not only great victims of fraud -- they're also perfect partners in crime. Not to their knowledge, of course.
"One of the things hackers want to do is have more bots in their network to use those PCs for their needs," says David Koretz, CEO of Mykonos Software. "But it takes a long time to infect computers one by one. It's a lot faster if you can take over someone's website that gets a bunch of traffic and use that as a tool to distribute malware. So a lot of e-commerce companies and small businesses are becoming malware distribution points unknowingly."
These small business sites -- unknowingly moonlighting as malware distributors -- are usually infected through SQL injection attacks, says Wisiniewski.
"[SQL injection is] a method of injecting database instructions into your website and finding a flaw that allows it to talk to your database directly -- and either extract the data that is in there or inject malicious code into the data so that if people visit your site, they get infected," Wisniewski says. "Both of those things are typically caused by not having the software patched on the server."
Patching is important no matter what kind of Web software or server equipment you have and no matter who's administering it, experts say. Too often, SMBs are left vulnerable because they think someone else is taking care of their software updates.
"Make sure, if you're not running your own server, that your ISP or whomever is scanning that server regularly looking to see if you've been compromised -- patching, looking for malware, and otherwise making sure you're not hosting bad stuff," Wisniewski recommends. "And if you run servers in-house, don't just hire a local IT consultant one time to set it and forget it. You should have them come in once a month -- or whatever you can afford -- to make sure it is patched and up to date and is not hosting content that could harm your customers."
Don't let hubris get in the way of taking proper precautions when you're working with Linux-based machines, Wisniewski warns.
"The Linux guys tend to think, 'Ha! We're immune!,'" he observes. "But the problem is that, since these guys aren't running antivirus software, they don't know they've got Windows viruses stored on their Web server -- and every customer visiting them is getting hosted up."
3. Business Logic Flaws
While Web code vulnerabilities can help crooks infect an SMB site, flaws in Web applications meant for commerce can give criminals a way to steal products.
According to Koretz, such attacks happen all the time. In some cases, Mykonos has discovered flaws in the way customers' Web applications accept orders that would allow hackers to send tens of thousands of dollars' worth of orders without ever paying for them.
"If I were a small business, the priority I would be most concerned about is thinking about what happens when I unknowingly didn't secure my website -- and my e-commerce site is leaking out revenue," Koretz says. "By the time I realize it, I'm out of business." In today's business environment, SMBs might experience compromises before ever realizing it because so many online retailers depend on partners to do their order fulfillment.
"Assume for a second that you've got an e-commerce site where you manage fulfillment -- if you see a huge order come in and you don't validate the payment, you don't ship it," Koretz explains. "But all of a sudden, if you take away that variable where you're no longer controlling the shipping, you could ship out a quarter of a million dollars before you know it."
Such so-called business logic flaws are a difficult nut to crack because, unlike the standard Web vulnerabilities, there aren't any automated ways to test for them. That's why tests need to be thorough and creative, experts say. A good source to start with for advice is The Open Web Application Security Project (OWASP), which has written considerably about these issues during the past few years.
"Testing for business logic flaws in a multifunctional dynamic Web application requires thinking in unconventional ways," says the OWASP testing guide. "If an application's authentication mechanism is developed with the intention of performing steps 1,2,3 in order to authenticate, what happens if you go from step 1 straight to step 3?
"In this simplistic example, does the application provide access by failing open, deny access, or just error out with a 500 message?" the testing guide asks. "There are many examples that can be made, but the one constant lesson is 'think outside of conventional wisdom.'"
Have a comment on this story? Please click "Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message.