Federated Learning: Attacks, Defenses, Opportunities, and Challenges