Return-oriented programming
G-Freeは、Kaan Onarlioglu、Leyla Bilge、Andrea Lanzi、Davide Balzarotti、Engin Kirdaが考案した手法であり、あらゆる形態のReturn-oriented programmingに対する実用的な防御法である。G-Freeは、実行可能バイナリ内の分岐命令(攻撃者が制御フローを変更するのに利用可能なreturn命令やcall命令)をすべて除去し、分岐命令が攻撃者に利用されるのを防ぐ。G-Freeがreturnアドレスを保護する仕組みは、StackGuardのRandom XORカナリアと類似している。また、バリデーションブロックを追加して関数呼び出しの真正性を確認し、予期される値が見つからない場合はアプリケーションをクラッシュさせる。