界: API Abuse

API は、呼び出し元と呼び出し先の間のコントラクトです。最も一般的な API の不正使用の形態は、呼び出し元がこのコントラクトの終わりを守らないことによって発生します。たとえば、プログラムが chroot() を呼び出した後に chdir() を呼び出すのに失敗すると、アクティブなルート ディレクトリを安全に変更する方法を指定したコントラクトに違反することになります。ライブラリの悪用のもう 1 つの良い例は、呼び出し先が信頼できる DNS 情報を呼び出し元に返すことを期待することです。この場合、呼び出し元は、呼び出し先の API の動作 (戻り値が認証目的に使用できること) についてある種の仮定をすることで、呼び出し先の API を悪用します。また、相手側から、呼び出し元と呼び出し先のコントラクトを違反することもできます。例えば、コーダーが SecureRandom をサブクラス化し、ランダムではない値を返した場合、コントラクトに違反することになります。

System Field Overwrite

Abstract
システムフィールドを上書きすると、システムの通常の実行が不安定になることがあります。
Explanation
ABAP システム フィールドは常に ABAP プログラムで使用できます。実行環境で、プログラムを起動し、画面を送信し、内部モードを変更した後に、コンテキストに従って自動的に入力されます。これらのフィールドはシステムのステータスを照会するためにプログラムで使用できます。システム フィールドは変数ですが、常に定数のように扱い、読み取り専用にする必要があります。これらの値を変更すると、プログラムのフローに必要な、重要な情報が失われる可能性があります。制限された一部の情報のみが顧客の ABAP プログラム内で変更されます。


実行時に ABAP プログラムに固有の情報との通信を行うシステムフィールドの値を変更すると、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