Countering code injection attacks: A unified approach

Dimitris Mitropoulos, Vassilios Karakoidas, Panagiotis Louridas, Diomidis Spinellis

Research output: Contribution to journalArticleScientificpeer-review

8 Citations (Scopus)


Purpose - The purpose of this paper is to propose a generic approach that prevents a specific class of code injection attacks (CIAs) in a novel way. Design/methodology/approach - To defend against CIAs this approach involves detecting attacks by using location-specific signatures to validate code statements. The signatures are unique identifiers that represent specific characteristics of a statement's execution. The key property that differentiates the scheme presented in this paper is that these characteristics do not depend entirely on the code statement, but also take into account elements from its execution context. Findings - The approach was applied successfully to defend against attacks targeting structured query language (SQL), XML Path Language and JavaScript with positive results. Originality/value - Despite many countermeasures that have been proposed the number of CIAs has been increasing. Malicious users seem to find new ways to introduce compromised embedded executable code to applications by using a variety of languages and techniques. Hence, a generic approach that defends against such attacks would be a useful countermeasure. This approach can defend attacks that involve both domain-specific languages (e.g. SQL) and general purpose languages (e.g. JavaScript) and can be used both against client-side and server-side attacks.

Original languageEnglish
Pages (from-to)177-194
Number of pages18
JournalInformation Management and Computer Security
Issue number3
Publication statusPublished - 1 Aug 2011
Externally publishedYes


  • Computer crime
  • Computer security
  • Data security
  • Information security
  • Internet security
  • Security


Dive into the research topics of 'Countering code injection attacks: A unified approach'. Together they form a unique fingerprint.

Cite this