Identifying and Mitigating Multiple Vulnerabilities in Network Time Protocol