Reino: API Abuse

Un API es un contrato entre un autor de llamada y un receptor de llamada. Las formas de abuso de API más comunes los produce el autor de llamada cuando no consigue atender su fin de este contrato. Por ejemplo, si un programa no consigue llamar chdir() después de llamar chroot(), se viola el contrato que especifica cómo cambiar el directorio de origen activo de una forma segura. Otro buen ejemplo de un abuso de manual es esperar que el receptor devuelva una información de DNS de confianza al autor de llamada. En este caso, el autor de llamada abusa el API del receptor haciendo determinadas suposiciones sobre su comportamiento (que el valor de retorno se puede usar con fines de autenticación). También se puede violar el contrato entre el autor de llamada y el receptor desde el otro lado. Por ejemplo, si un codificador envía SecureRandom y devuelve un valor no aleatorio, se viola el contrato.

System Field Overwrite

Abstract
Sobrescribir campos del sistema puede provocar desestabilizar el funcionamiento normal del sistema.
Explanation
Los campos del sistema ABAP siempre están disponibles en los programas ABAP. El sistema de tiempo de ejecución los rellena según el contexto después de iniciar un programa, después de enviar una pantalla y después de cambiar el modo interno. Entonces pueden usarse en programas para consultar el estado del sistema. Los campos del sistema son variables pero siempre deben tratarse como si fueran constantes y de solo lectura. Cambiar sus valores puede provocar la pérdida de información importante necesaria para que el programa fluya. Solo algunas de ellas están para que se cambien en los programas ABAP de los clientes.


Cambiar valores de los campos del sistema que comunican información específica en tiempo de ejecución al programa ABAP podría provocar una interrupción o un comportamiento inesperado del programa ABAP.
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