Security in graphs

Let G=(V,E) be a graph. A set S@?V is a defensive alliance if |N[x]@?S|>=|N[x]-S| for every x@?S. Thus, each vertex of a defensive alliance can, with the aid of its neighbors in S, be defended from attack by its neighbors outside of S. An entire set S is secure if any subset X@?S can be defended from an attack from outside of S, under an appropriate definition of what such a defense implies. Necessary and sufficient conditions for a set to be secure are determined.