INTRODUÇÃO: AS VULNERABILIDADES CONTINUAM A SER MAL COMPREENDIDAS
As vulnerabilidades de software são uma realidade para todos os utilizadores de tecnologia. Todos os meses, as empresas de software lançam correções para corrigir vulnerabilidades descobertas nos dispositivos que utilizamos todos os dias. Windows, MacOS, Linux, iOS e Android recebem regularmente correções após a descoberta de novas vulnerabilidades nos seus sistemas operativos. As vulnerabilidades não se limitam apenas aos sistemas operativos, mas as aplicações de software, as aplicações para dispositivos móveis e até mesmo os componentes de software também são propensos a erros de software, que podem dar aos agentes de ameaças uma base de apoio num sistema. Embora todos nós vivamos com o estado dinâmico do software ligado à Internet, as vulnerabilidades continuam a ser uma parte incompreendida das nossas vidas.
Para simplificar, este documento abordará três tipos básicos de software: sistemas operativos, aplicações/apps e componentes de software, e firmware. Todos eles são suscetíveis a vulnerabilidades e terão provavelmente correções lançadas pelo respetivo fornecedor de software, desde que o software seja suportado por esse fornecedor.
1. Sistema operativo: Software que gere o hardware e os recursos do computador. Exemplos: Windows, MacOS, Linux/UNIX, iOS, Android.
2. Aplicações/Apps: Software que é executado num sistema operativo e é utilizado para adicionar funcionalidades e executar tarefas específicas. Exemplos são o Excel, o Google Chrome, o Zoom, o Adobe Photoshop, o Instagram e o Spotify.
3. Componentes de software: Software que é utilizado para adicionar funcionalidades a outro software. Muitas vezes, os programadores de software utilizam componentes de software comprovados e bem testados para acrescentar funcionalidades ao seu software, em vez de escreverem algo de raiz. Por exemplo, os servidores Web tendem a utilizar o OpenSSL, o software que permite a ligação encriptada entre o browser e o servidor Web. Os exemplos são o Log4j e o OpenSSL.