A control flow integrity system (10, 200) comprising: at least one protection module, each of said at least one protection module associated and comprising an allowable flow model for a respective ELF or shared object file which calls said at least one protection module; and at least one process protection manager, the system configured to load (2000, 2010), if the respective ELF or shared object is loaded into at least one of a plurality of portions of a process and exhibits a predetermined indication, said at least one protection module and a process protection manager of the at least one process protection manager respective to the protection module into the process, the at least one of the plurality of portions of the process comprising a control flow instruction to enter said associated protection module, said associated protection module comprising an instruction to enter the respective one of said at least one process protection manager, wherein said associated protection module is configured, responsive to the control flow instruction to send predetermined information to said respective one of said at least one process protection manager, said predetermined information comprising parameters of the allowable flow model comprised in said associated protection module, wherein said respective one of said at least one process protection manager is arranged, responsive to said sent predetermined information, to: compare one or more parameters of the control flow instruction to the parameters of said allowable flow model comprised in said associated protection module; and responsive to an outcome of said comparison indicating that said compared one or more parameters does not meet a respective parameter of said respective allowable flow model, generate a predetermined signal, wherein each of said at least one protection module is implemented as a shared object, wherein each of said at least one process protection manager is implemented as a shared object. at least one protection module, each of said at least one protection module associated and comprising an allowable flow model for a respective ELF or shared object file which calls said at least one protection module; and at least one process protection manager, the system configured to load (2000, 2010), if the respective ELF or shared object is loaded into at least one of a plurality of portions of a process and exhibits a predetermined indication, said at least one protection module and a process protection manager of the at least one process protection manager respective to the protection module into the process, the at least one of the plurality of portions of the process comprising a control flow instruction to enter said associated protection module, said associated protection module comprising an instruction to enter the respective one of said at least one process protection manager, wherein said associated protection module is configured, responsive to the control flow instruction to send predetermined information to said respective one of said at least one process protection manager, said predetermined information comprising parameters of the allowable flow model comprised in said associated protection module, wherein said respective one of said at least one process protection manager is arranged, responsive to said sent predetermined information, to: compare one or more parameters of the control flow instruction to the parameters of said allowable flow model comprised in said associated protection module; and responsive to an outcome of said comparison indicating that said compared one or more parameters does not meet a respective parameter of said respective allowable flow model, generate a predetermined signal, compare one or more parameters of the control flow instruction to the parameters of said allowable flow model comprised in said associated protection module; and responsive to an outcome of said comparison indicating that said compared one or more parameters does not meet a respective parameter of said respective allowable flow model, generate a predetermined signal, wherein each of said at least one protection module is implemented as a shared object, wherein each of said at least one process protection manager is implemented as a shared object.