界: API Abuse

API 就像是呼叫者與被呼叫者之間簽訂的規定。最常見的 API 濫用形式是由呼叫者這一當事方未能遵守此規定所造成的。例如,如果程式在呼叫 chroot() 後無法呼叫 chdir(),即違反規範如何以安全方式變更使用中根目錄的規定。程式庫濫用的另一個好例子是期待被呼叫者向呼叫者傳回值得信賴的 DNS 資訊。在這種情況下,呼叫者是透過對其行為做出某些假設 (傳回值可用於驗證目的) 來濫用被呼叫者 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