Akamai has identified a sophisticated SEO campaign that uses SQL injection to attack targeted websites. Affected websites will distribute hidden HTML links that confuse search engine bots and erroneously impact page rankings.
Over the course of a two week period in Q3 2015, Akamai analyzed data and observed attacks on more than 3,800 websites and 348 unique IP addresses participating in the various campaigns, revealing the following key findings:
Evidence of mass defacement – when searching the Internet for the HTML links that were used as part of this campaign, Threat Research identified hundreds of web applications containing these malicious links.
Attacks manipulated search engine results – when searching for a combination of common words such as “cheat” and “story”, it was apparent that the “cheating stories” application appeared on the first page of the leading search engines.
Analytics showcased impact of attacks– Threat Research looked at Alexa analytics and the ranking of the “cheating stories” application dramatically increased during the three month span.
Search engines use specific algorithms to determine page rankings and indexing for sites on the web, and the number and reputation of links that redirect to the web application influence these rankings.
The SEO attackers created a chain of external links that direct to stories of cheating and infidelity on the web to mimic normal web content and impact search engine algorithms.
“The ability to manipulate page rankings is an enticing proposition and business for attackers,” said Stuart Scholly, Senior Vice President and General Manager, Security Business Unit, Akamai. “If successful, attacks can impact revenue and, most importantly, the reputation of many organizations and companies using the Internet.”
Attacks in the campaign have demonstrated a unique understanding of search engine operations, and accordingly, Threat Research recommends the following defense techniques:
For web application developers:
- Ensure that you have implemented proper input validation checks for all user-supplied data that will be used within a back-end database query.
- Only use prepared statements with parameterized queries when constructing SQL queries based on user-supplied data.
For web application defenders:
- Deploy a Web Application Firewall (WAF) that is configured in a blocking mode for SQL Injection attacks.
- Consider profiling and monitoring the HTML response body format to help identify if there are significant changes such as an increase in the number of web links.