In the current age, keeping pace with the evolution of malware is becoming immensely challenging each day. In order to keep up with the unconventional trend in the development of malware, it is imperative to develop intelligent malware detection methods that accurately identify malicious files from real world data samples. The sheer complexity and volume of malware attacks on a day-to-day basis has given rise to the need of utilising machine learning techniques for dynamic analysis of files and data. In this paper, types of malware are described to understand the scope of the problem and the traditional techniques that are used for malware detection. Dynamic and behaviour-based detection methods coupled with machine learning techniques are considered to be at the core of future research and progress. Unfortunately, there are still a plethora of problems and challenges to overcome like polymorphic malware, black-box models of machine learning algorithms, reverse engineering, theoretical and practical research gaps that limit our progress and success. It is crucial to find solutions as malware experts are also exploring and exploiting the concepts of machine learning for advanced malware development and better elusive techniques. Additionally, it is required to bridge the gap between malware and machine learning experts. Their combined expertise can secure better results. In conclusion, future research direction in the field of malware detection is presented.