Ransomware is a type of malware that encrypts a user's system and then demands a ransom (money) for the decryption key. Crypto ransomware, lockers, scareware, RaaS (Ransomware as a Service), doxware, leakware attacks, and other types of ransomware-related attacks have been increasing in recent years. RW detection and classification play an important role in securing data against various types of attacks. In this paper, ransomware and its different types are discussed in detail. Moreover, review of existing machine learning based mechanisms to detection and classification of ransomware-related attacks are discussed along with their comparative analysis.