Intelligent Techniques for Detecting Network Attacks: Review and Research Directions