A survey of cyber security threats and solutions for UAV communications and flying ad-hoc networks