VTech Holdings is now admitting to at least one of the root causes behind the breach that exposed information on millions of children and parents. In an update to the Frequently Asked Questions (FAQ) about the breach on Dec. 1, VTech now admits that its database security was lacking.
"Regretfully our Learning Lodge, Kid Connect and PlanetVTech databases were not as secure as they should have been," VTech stated. "Upon discovering the breach, we immediately conducted a comprehensive check of the affected site and have taken thorough actions against future attacks. All other VTech online systems have not been affected."
The database weakness is related to a class of security vulnerability known as SQL injection. SQL injection is not a new class of vulnerability as it was first publicly discussed back in 1998 by security researcher Jeff Forristal. In a 2013 video interview, Forristal said he wasn't surprised that SQL injection is still a common vulnerability that is widely exploited.
"It is not surprising that this [VTech] breach would occur through SQL injection as this is among the most common and threatening Web flaws," Craig Young, cyber-security researcher at Tripwire, told eWEEK.
Young explained that SQL injection is one of the most prevalent Web security flaws, in which the attacker is able to alter the meaning of commands relayed to a database server. This is possible when data from a Web request is directly used to construct the database (SQL) query without replacing unsafe characters. He noted that sophisticated tools exist to automate the process of finding and exploiting SQL injection flaws, including a tool known as SQLmap, which enables even unskilled attackers to gain extensive access into a system.
Since SQL injection vulnerabilities often give direct access to a back-end database via a front-end Website, it's not surprising that a SQL injection flaw was the root cause in the VTech breach, said Tod Beardsley, research manager at Rapid7.
"The data stolen was likely stored in a database that had a straight-line relationship with a front-end Website," Beardsley told eWEEK. "Of course, the attacker could have used SQL injection to go back to databases that aren't directly connected to the Internet, but it doesn't seem to be the case in this instance."
Beardsley added that the risk of a data leak exponentially increases when photographs, chat logs or any type of data is accessible via the front end of a Website.
"Organizations can start protecting themselves and their customers by only collecting the data that is actually needed, and making it easy for customers to review and delete stored data routinely," Beardsley said.
It's also a good idea for organizations to limit the risk of SQL injection in the first place. Programmers only need to use parametrized queries to thwart SQL injection attempts entirely, according to Young.
"This technique allows the database engine to know precisely how the input was intended to be used such that there is virtually no risk of it being misinterpreted," he said.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.