インジェクション攻撃
上述の解決策は主にウェブのHTMLやスクリプトからサーバサイドアプリケーションへのコードインジェクションについてのものである。 しかし、権限昇格攻撃を引き起こすような、計算機上におけるユーザのコードによるインジェクション攻撃を取り扱うには、別のアプローチが必要である。 管理されたあるいは管理されていないインジェクション攻撃を検知・隔離するためのアプローチには次のようなものがある。
ランタイムイメージのハッシュ検査 - メモリに読み込まれた実行可能イメージの全部または一部のハッシュを生成し、予め記憶済みの期待されるハッシュ値と比較する。
NXビット - 全てのユーザデータを実行ができないようにした特別な記憶領域に保存する。プロセッサにその領域には一切のコードが存在しないことを伝達し、その領域内のあらゆるデータの実行を拒否させる。
カナリア(英語版) - スタックにランダムに値を配置する。実行時、関数が値を返す際にカナリアの値が確認される。カナリアに変更が加えられれば、そのプログラムは実行を停止・終了する。これはスタックオーバーフロー時などに生じる。
(C言語における) Code Pointer Masking (CPM) - (変更が加えられる可能性のある)コードへのポインタをレジスタに読み込んだ後に、ポインタにマスクをすることで、ポインタが指し示すアドレスを効果的に隠すことが出来る。