Mitigating Multi-Stage Attacks in Software Defined Network-based Distributed Systems