界: API Abuse
API は、呼び出し元と呼び出し先の間のコントラクトです。最も一般的な API の不正使用の形態は、呼び出し元がこのコントラクトの終わりを守らないことによって発生します。たとえば、プログラムが chroot() を呼び出した後に chdir() を呼び出すのに失敗すると、アクティブなルート ディレクトリを安全に変更する方法を指定したコントラクトに違反することになります。ライブラリの悪用のもう 1 つの良い例は、呼び出し先が信頼できる DNS 情報を呼び出し元に返すことを期待することです。この場合、呼び出し元は、呼び出し先の API の動作 (戻り値が認証目的に使用できること) についてある種の仮定をすることで、呼び出し先の API を悪用します。また、相手側から、呼び出し元と呼び出し先のコントラクトを違反することもできます。例えば、コーダーが SecureRandom をサブクラス化し、ランダムではない値を返した場合、コントラクトに違反することになります。
User or System Dependent Program Flow
Abstract
ユーザーまたはシステムに依存するプログラム フローは、好ましくないプログラミングの方法で、バックドアが存在する可能性があります。
Explanation
SAP システムには、広範な承認構成とアクセス管理が用意されています。システム レベルの構成では、システム ロールに基づいて権限を制限することもできます。こうした機能をまとめて利用すれば、ユーザーまたはシステムに依存するプログラミングが重要でなくなります。つまり、安全に構成された顧客の生産的なシステムでは、プログラムの機能がプログラムを実行するユーザーやプログラムが実行されるシステムに依存するといったことがありません。したがって、ユーザーやシステムの詳細をクエリしてプログラム フローに影響を与える方法は好ましくない方法であり、バックドアが存在する可能性があります。
References
[1] Standards Mapping - Common Weakness Enumeration CWE ID 264
[2] Standards Mapping - DISA Control Correlation Identifier Version 2 CCI-002235
[3] Standards Mapping - General Data Protection Regulation (GDPR) Access Violation
[4] Standards Mapping - NIST Special Publication 800-53 Revision 4 AC-6 Least Privilege (P1)
[5] Standards Mapping - NIST Special Publication 800-53 Revision 5 AC-6 Least Privilege
[6] Standards Mapping - Security Technical Implementation Guide Version 5.2 APSC-DV-000500 CAT II
[7] Standards Mapping - Security Technical Implementation Guide Version 5.3 APSC-DV-000500 CAT II
[8] Standards Mapping - Security Technical Implementation Guide Version 6.1 APSC-DV-000500 CAT II
desc.structural.abap.user_system_dependent_flow