As traditional anti-virus software only relies on signature-based definitions or heuristics, there is always the risk that a zero-day threat will infect a system. To mitigate against this risk, application whitelisting can be used. This method protects computing devices by allowing only trusted applications to run. However, the administration of whitelisting controls can be resource intensive when operating systems or applications are patched. Whitelisting is also commonly used to prevent unauthorised storage devices from being used on end-point devices.