Complex systems involve the interaction between many processes that may or may not have causal relations to each other. In such systems, discovering causal relations can provide significant insights into the internals of the system and facilitate fault discovery and recovery procedures. In this paper, we provide a novel causality detection algorithm based on robust singular spectrum transform that combines features of autoregressive modeling and perturbation analysis. The proposed approach was evaluated using both synthetic and real data and was shown to provide superior performance to the standard linear Granger-causality test. It also provides a natural way to detect common causes that may give false positives in other causality tests.