CWE-782: Exposed IOCTL with Insufficient Access Control(對IOCTL功能的訪問控制不充分)

 ID: 782

類型:變量
結構:簡單

狀態:草稿

描述

軟件實現了應該限制使用的IOCTL,但是卻沒有恰當的強化對IOCTL的訪問。

擴展描述

當ioctl包含特權功能並且不必要地暴露時,攻擊者可以通過調用ioctl來訪問此功能。即使功能是良性的,如果程序員假定IOCTL只能由受信任的進程訪問,那麼可能很少或根本沒有對傳入數據的驗證,從而暴露出如果攻擊者不能直接調用IOCTL就無法訪問的弱點。

IOCTL的實現在操作系統類型和版本上會有所不同,因此攻擊和預防的方法可能會有很大的不同。

相關視圖

 "研究概念"視圖 (CWE-1000)

Nature

Type

ID

Name

ChildOf

749

暴露危險方法或函數

CanPrecede

781

使用METHOD_NEITHER I/O控制代碼的IOCTL中的的不當地址驗證

 "體系結構概念"視圖 (CWE-1008)

Nature

Type

ID

Name

MemberOf

1011

驗證角色

 "開發概念"視圖 (CWE-699)

Nature

Type

ID

Name

ChildOf

284

不當的訪問控制

ChildOf

     

引入模式

階段

說明

架構與設計

 

實現

實現:這個弱點是在實現架構安全策略的過程中造成的。

應用平臺

 

語言

C (經常出現)

C++ (經常出現)

操作系統

Class: Unix (出現的可能性不確定)

Class: Windows (出現的可能性不確定)

後果

範圍

衝擊

可能性

完整性
可利用性
保密性

技術衝擊:

攻擊者可以調用ioctl提供的任何功能。根據功能的不同,後果可能包括代碼執行、拒絕服務和數據盜竊。

 

應對措施

階段: 架構與設計

在Windows環境中,對關聯的設備或設備命名空間使用適當的訪問控制。參閱參考文獻。

說明

應用平臺

由於ioctl功能通常執行低級操作,並與操作系統緊密交互,因此這種弱點可能只出現在用低級語言編寫的代碼中。

關聯弱點

當程序員假定IOCTL只能由受信任方訪問時,這可能是許多其他弱點的主要原因。例如,在windows環境中, 程序或驅動程序可能無法驗證方法中的通過METHOD_NEITHER IOCTL傳入的地址。這可能導致緩衝區溢出和類似的攻擊,即使攻擊者根本無法訪問ioctl。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章