A superfície de ataque de software é o perfil completo de todas as funções em qualquer código em execução num determinado sistema que estão disponíveis para um utilizador não autenticado.
Quanta mais superfície houver, maior é a hipótese de um atacante ou um pedaço de malware poder usar várias explorações para obter acesso e executar código na máquina alvo. A superfície de ataque do software está particularmente em risco no caso de aplicações Web, que expõem a codificação à Internet.
Funções defeituosas podem levar ao comprometimento de toda uma rede ou outro sistema, permitindo que um usuário não verificado -- que pode ser um hacker ou um espião corporativo -- roube dados ou ganhe mais acesso, talvez elevando os privilégios para o nível de administrador. Funções individuais com falhas de segurança podem ser consideradas vetores de ataque; aquelas que podem ser exploradas para obter mais acesso podem ser vistas como vulnerabilidades.
Outra consideração na superfície de ataque por software são as ameaças internas. Usuários que se autenticam com credenciais válidas podem ser capazes de acessar dados desprotegidos além de seus níveis de autorização se os controles de acesso forem implementados vagamente.
Porque qualquer código em execução pode ter vulnerabilidades exploráveis, uma das maneiras mais simples de limitar a superfície de ataque do software é reduzir a quantidade de código sendo executado a qualquer momento. Se um programa não está sendo usado ou se outro software instalado pode executar a mesma tarefa, ele deve ser eliminado. Antivírus, firewalls de hardware e software podem ajudar a bloquear o acesso a vulnerabilidades existentes; atualizações de sistema operacional e aplicativos às vezes corrigem esses pontos fracos. No entanto, é melhor para a segurança geral minimizar o número de vulnerabilidades para começar. Para isso, os desenvolvedores estão cada vez mais considerando vetores de ataque em seu projeto de software.
Porque muitas abordagens de ataque exploram uma combinação de tipos de superfície de ataque para obter acesso aos recursos desejados, uma análise abrangente da superfície de ataque é crucial para uma configuração adequada de sistemas de detecção de violação (BDS), firewall, sistemas de prevenção de intrusão, política de dados e outras medidas de segurança. As ferramentas disponíveis para ajudar a orientar essa análise incluem WebInspect, analisador de superfície de ataque da Microsoft e CORE Impact.
>i>Ver também: superfície de ataque de rede, superfície de ataque físico, superfície de ataque de engenharia social