Reino: API Abuse

Uma API é um contrato entre quem chama e o que se chama. As formas mais comuns de abuso de API ocorrem quando o responsável pela chamada não respeita sua parte do contrato. Por exemplo, se um programa não chama chdir() após chamar chroot(), ele viola o contrato que especifica como alterar o diretório raiz ativo de forma segura. Outro bom exemplo de abuso de biblioteca é esperar que o elemento chamado retorne informações confiáveis de DNS ao responsável pela chamada. Nesse caso, o responsável pela chamada abusa a API do elemento chamado ao fazer certas suposições sobre seu comportamento (isto é, que o valor de retorno pode ser usado para fins de autenticação). A outra parte também pode violar o contrato entre quem chama e o que se chama. Por exemplo, se um programador definir SecureRandom como subclasse e retornar um valor não aleatório, o contrato será violado.

System Field Overwrite

Abstract
A substituição de campos do sistema pode desestabilizar a execução normal do sistema.
Explanation
Os campos do sistema ABAP estão sempre disponíveis em programas ABAP. O sistema de tempo de execução os preenche de acordo com o contexto depois de iniciar um programa, enviar uma tela e alterar o modo interno. Eles podem então ser usados em programas para consultar o status do sistema. Os campos do sistema são variáveis, mas sempre devem ser somente leitura e tratados como se fossem constantes. Alterar seus valores pode provocar a perda de informações importantes que são necessárias para o fluxo do programa. Apenas alguns deles podem ser modificados dentro de programas ABAP do cliente.


Alterar valores de campos do sistema que comunicam informações específicas de tempo de execução ao programa ABAP pode causar interrupções ou comportamentos inesperados nesse programa.
References
[1] ABAP System Fields SAP
[2] Standards Mapping - Common Weakness Enumeration CWE ID 642
[3] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-001094
[4] Standards Mapping - General Data Protection Regulation (GDPR) Indirect Access to Sensitive Data
[5] Standards Mapping - NIST Special Publication 800-53 Revision 4 SC-5 Denial of Service Protection (P1)
[6] Standards Mapping - NIST Special Publication 800-53 Revision 5 SC-5 Denial of Service Protection
[7] Standards Mapping - OWASP Top 10 2021 A04 Insecure Design
[8] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-002400 CAT II
[9] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-002400 CAT II
[10] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-002400 CAT II
desc.structural.abap.system_field_overwrite