Para ilustrar ataques típicos e problemas de arquitetura, forneceremos exemplos da solução SAP ERP, pois é a mais difundida instalada em 85% das empresas da Fortune 2000.

Os riscos da configuração insegura dos sistemas ERP e outros aplicativos de negócios são os seguintes.
1. Ataques através de serviços vulneráveis
A maioria dos sistemas ERP possui dezenas e até centenas de serviços instalados por padrão. Eles incluem serviços típicos e baseados na Web. Alguns deles são responsáveis por diferentes funções administrativas. Por exemplo, o SAP Management Console, ou SAPControl, permite um controle remoto sobre os sistemas SAP. Suas principais funções são inicialização e parada remotas, para executar qual delas é necessário saber o nome de usuário e a senha.
No entanto, existem algumas funções que podem ser usadas remotamente sem autenticação. A maioria deles permite a leitura de diferentes registros e rastreios e, às vezes, parâmetros do sistema.
2. Escalada de privilégios por insiders
Quando os usuários se conectam ao servidor por meio de um aplicativo cliente, como o SAP GUI, eles podem executar funções diferentes. Se eles desejam executar alguma funcionalidade, por exemplo, criar ordem de pagamento ou um novo usuário ou preencher qualquer formulário, eles precisam inserir o nome da transação específica no menu SAP. O sistema abrirá uma janela de diálogo onde um usuário pode especificar parâmetros diferentes. Por exemplo, se os usuários executarem a transação SU01 para criar novos usuários no sistema, eles verão uma tela na qual precisam preencher todos os detalhes sobre o usuário recém-criado e, em seguida, clique no botão "Criar". Se os dados estiverem corretos, o novo usuário será criado no sistema.
No entanto, a conexão via GUI do SAP e a execução de transações não são a única maneira de executar a funcionalidade do SAP. Os sistemas SAP são complexos e uma ação pode ser executada de várias maneiras. Por exemplo, as outras maneiras de executar a funcionalidade no sistema SAP incluem:
- execução de trabalho em segundo plano usando RFC (como RPC no Windows);
- chamando a mesma função através de uma interface SOAP - uma interface baseada na Web para executar programas RFC remotamente;
- executando o aplicativo dynpro da web. O Web Dynpro é um front-end baseado na Web para o sistema SAP que pode ser usado se os trabalhadores não tiverem um aplicativo cliente e tiverem apenas um navegador da web.
Como você pode ver, todos esses métodos exigem uma abordagem diferente para proteção.
3. Desenvolvedores maliciosos
Os programas escritos na linguagem ABAP (linguagem proprietária da SAP destinada a estender a funcionalidade dos sistemas SAP) podem ter vulnerabilidades e, o que é mais importante, essa linguagem também pode ser usada para gravar backdoors que podem fornecer funcionalidade maliciosa, como o envio de detalhes de todas as transações para uma empresa. Terceiros via e-mail ou mesmo publicando-os no Twitter.
Infelizmente, o desenvolvimento dentro da empresa é quase descontrolado. Você pode monitorar a ocorrência de novos programas no sistema e, potencialmente, encontrar um desenvolvedor, mas não pode detectar o que exatamente todo novo programa está fazendo, a menos que você leia todas as sequências do código-fonte. Portanto, sem usar soluções adicionais, ninguém sabe exatamente o que os desenvolvedores executam no sistema. Não há medidas de controle, elas podem desenvolver códigos inseguros, deixar de adicionar verificações de controle de acesso ao programa, enviar dinheiro para suas contas bancárias e ninguém poderá descobrir isso, a menos que se verifique o código-fonte. Assim, a falta de controle sobre os desenvolvedores os torna uma espécie de deus do SAP, e suas ações devem ser analisadas.
4. Conexões inseguras
Você precisa conectar aplicativos diferentes para automatizar os processos de negócios. Por exemplo, se você deseja gerar uma fatura automaticamente no sistema SAP e enviar dinheiro para uma conta bancária específica por meio do sistema bancário, é necessário conectar o ERP e o sistema bancário. Os Sistemas de Aplicativos de Negócios estão conectados entre si como uma teia de aranha. Na realidade, existem dezenas de conexões semelhantes e todas elas podem ser críticas em termos de segurança. Por exemplo, essas conexões podem armazenar nomes de usuário e senhas. Além disso, os sistemas estão entrelaçados não apenas dentro da rede corporativa, mas também com redes de parceiros via Internet ou com outros provedores, como bancos ou seguradoras. Alguns dos sistemas são conectados diretamente à rede ICS / SCADA por meio de sistemas SAP específicos, como SAP xMII (Manufacturing Integration and Intelligence) ou SAP PCo (SAP Plant Connectivity).
Tecnicamente, esse processo é gerenciado pelo RFC (Remote Function Call) e outras conexões entre os sistemas SAP, que geralmente armazenam credenciais para acessar um sistema de satélite. As conexões RFC são desenvolvidas pela SAP para transferir dados entre dois sistemas SAP. A pesquisa do ERPScan revelou que o número médio de conexões em um sistema SAP típico é de cerca de 50, e 30% delas geralmente armazenam credenciais. Quando os invasores entram no módulo SAP mais fraco, eles podem facilmente acessar os sistemas conectados, deles a outros. Portanto, revisar todos os tipos de conexões entre sistemas SAP é muito importante. Por exemplo, é possível obter acesso à infraestrutura de OT de uma empresa de Óleo e Gás e roubar petróleo usando uma cadeia de vulnerabilidades e conexões entre sistemas que exploram uma vulnerabilidade do SAP como ponto de partida.
No próximo artigo, focaremos na proteção de sistemas ERP.