Which of the following is the best way to prevent software and data integrity failures?
- Allowing users to update their software whenever they want
- Verifying software updates using digital signatures before applying them
- Using CAPTCHA to prevent bot attacks
- Only using open-source software without security checks