本發(fā)明涉及注冊表規(guī)則技術(shù)領(lǐng)域,具體涉及一種基于強制訪問控制的Windows系統(tǒng)注冊表防護方法。
背景技術(shù):
浪潮主機安全增強系統(tǒng)(簡稱SSR)是基于先進的ROST(Reinforcement Operating System Technique)技術(shù)理論從系統(tǒng)底層對操作系統(tǒng)進行加固的安全解決方案。其主要原理是通過對文件、目錄、進程、注冊表和服務的強制訪問控制,有效的制約和分散了原有系統(tǒng)管理員的權(quán)限,綜合了對文件和服務的完整性檢測、和防緩沖區(qū)溢出等功能,能夠把普通的操作系統(tǒng)從體系上升級,使其符合國家信息安全等級保護服務器操作系統(tǒng)安全的三級標準。此產(chǎn)品是完全獨立自主開發(fā),具有自主知識產(chǎn)權(quán)的專門針對系統(tǒng)層安全防護的安全產(chǎn)品。
隨著網(wǎng)絡(luò)的普及和應用,各類網(wǎng)絡(luò)應用層出不窮。網(wǎng)絡(luò)在給企業(yè)帶來收益的同時也存在著各種安全風險,網(wǎng)絡(luò)服務的漏洞一旦被發(fā)現(xiàn)并利用,整個主機和存儲的數(shù)據(jù)信息將完全暴露在攻擊者面前,從而造成嚴重的損失。如何保證網(wǎng)絡(luò)服務主機的安全引起了大家越來越多的關(guān)注。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是:本發(fā)明針對以上問題,提供一種基于強制訪問控制的Windows系統(tǒng)注冊表防護方法。
通過分析,當前Windows主機環(huán)境下被攻擊率較高的注冊表項主要有以下幾個模塊:打開方式防護、賬戶防護、右鍵菜單防護、組件防護、系統(tǒng)啟動項防護、組策略防護、環(huán)境變量防護、網(wǎng)絡(luò)配置防護。
本發(fā)明所采用的技術(shù)方案為:
一種基于強制訪問控制的Windows系統(tǒng)注冊表防護方法,所述方法通過分析得到的系統(tǒng)中的關(guān)鍵注冊表項,結(jié)合浪潮主機安全增強系統(tǒng)的注冊表強制訪問控制功能,針對系統(tǒng)中的關(guān)鍵注冊表項,制定注冊表防護策略。
所述關(guān)鍵注冊表項為當前Windows主機環(huán)境下被攻擊率較高的注冊表項,主要有以下幾個模塊:打開方式防護、賬戶防護、右鍵菜單防護、組件防護、系統(tǒng)啟動項防護、組策略防護、環(huán)境變量防護、網(wǎng)絡(luò)配置防護,將以上若干注冊表項的規(guī)則,做成基于浪潮主機安全增強系統(tǒng)的注冊表規(guī)則模版,根據(jù)實際場景修改模板中注冊表規(guī)則項,然后將模板導入,從而按照規(guī)則對系統(tǒng)中的關(guān)鍵注冊表項進行內(nèi)核級的強制訪問控制。
針對打開方式防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKCR\EXEFILE\SHELL\OPEN\COMMAND
HKLM\SOFTWARE\CLASSES\.EXE
HKCR\FOLDER\SHELL\OPEN\COMMAND
HKCR\HTMLFILE\SHELL\OPEN\COMMAND
HKCR\TXTFILE\SHELL\OPEN\COMMAND
對于所有進程只有讀取權(quán)限。
針對賬戶防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SAM\SAM\DOMAINS\ACCOUNT\USERS對所有進程只有讀權(quán)限。
針對右鍵菜單防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SOFTWARE\CLASSES\*\SHELLEX
HKLM\SOFTWARE\CLASSES\DRIVE
HKLM\SOFTWARE\CLASSES\ALLFILESYSTEMOBJECTS\SHELLEX
HKLM\SOFTWARE\CLASSES\DIRECTORY
HKLM\SOFTWARE\CLASSES\FOLDER
對所有進程只有讀權(quán)限。
針對組件防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\ACTIVE SETUP\INSTALLED COMPONENTS對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\COMMAND PROCESSOR對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\CTF\LANGBARADDIN對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\IMAGE FILE EXECUTION OPTIONS對所有進程只有讀權(quán)限。
針對系統(tǒng)啟動項防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINDOWS對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHAREDTASKSCHEDULER
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELLEXECUTEHOOKS
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELLICONOVERLAYIDENTIFIERS
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCE
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCEEX
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNSERVICE
HKLM\SOFTWARE\POLICIES\MICROSOFT\WINDOWS\SYSTEM\SCRIPTS
對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SHELL EXTENSIONS\APPROVED對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SHELLSERVICEOBJECTDELAYLOAD對所有進程只有讀權(quán)限。
針對組策略防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\GROUP POLICY\SCRIPTS對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER對所有進程只有讀權(quán)限;
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\SYSTEM對所有進程只有讀權(quán)限。
針對環(huán)境變量防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SYSTEM\CONTROLSET001\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CONTROLSET002\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CONTROLSET003\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限。
針對網(wǎng)絡(luò)配置防護模塊中的注冊表項,制定注冊表防護策略如下,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\BOOTVERIFICATIONPROGRAM對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\NETWORKPROVIDER對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\PRINT\MONITORS對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\SECURITYPROVIDERS對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\TERMINAL SERVER對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES\WINSOCK2\PARAMETERS\NAMESPACE_CATALOG5\CATALOG_ENTRIES對所有進程只有讀權(quán)限;
HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES\WINSOCK2\PARAMETERS\PROTOCOL_CATALOG9\CATALOG_ENTRIES對所有進程只有讀權(quán)限。
本發(fā)明的有益效果為:
傳統(tǒng)主機防護策略主要基于應用層、網(wǎng)絡(luò)層,并基于黑名單的規(guī)則匹配來實現(xiàn),本發(fā)明基于白名單,與其他黑名單形式的防護手段形成了互補,且實現(xiàn)于內(nèi)核層,作為主機防護體系中的最后一道防線,保證了主機的安全、穩(wěn)定運行。
本發(fā)明對當前Windows系統(tǒng)主機環(huán)境下被攻擊率較高的若干注冊表項制定防護策略模版,通過浪潮主機安全增強系統(tǒng)(簡稱SSR)的注冊表強制訪問控制功能進行策略規(guī)則的下發(fā)和防護,從操作系統(tǒng)的底層對系統(tǒng)中的關(guān)鍵注冊表項進行安全加固,使得即使惡意攻擊者獲取了操作系統(tǒng)權(quán)限,仍無法對系統(tǒng)中的關(guān)鍵注冊表項造成進一步實質(zhì)性的破壞。
附圖說明
圖1為本發(fā)明系統(tǒng)網(wǎng)絡(luò)拓撲圖;
圖2為本發(fā)明方法系統(tǒng)關(guān)鍵注冊表項防護方案流程圖。
具體實施方式
下面結(jié)合說明書附圖,根據(jù)具體實施方式對本發(fā)明進一步說明:
實施例1:
如圖1所示,一種基于強制訪問控制的Windows系統(tǒng)注冊表防護方法,所述方法通過分析得到的系統(tǒng)中的關(guān)鍵注冊表項,結(jié)合浪潮主機安全增強系統(tǒng)(簡稱SSR)的注冊表強制訪問控制功能,針對系統(tǒng)中的關(guān)鍵注冊表項,制定注冊表防護策略,進行最后一層防護,從最根本上防止惡意上傳和破壞,保證網(wǎng)絡(luò)服務主機的安全和穩(wěn)定。
實施例2
如圖2所示,在實施例1的基礎(chǔ)上,本實施例所述關(guān)鍵注冊表項為當前Windows主機環(huán)境下被攻擊率較高的注冊表項,主要有以下幾個模塊:打開方式防護、賬戶防護、右鍵菜單防護、組件防護、系統(tǒng)啟動項防護、組策略防護、環(huán)境變量防護、網(wǎng)絡(luò)配置防護,將以上若干注冊表項的規(guī)則,做成基于浪潮主機安全增強系統(tǒng)(簡稱SSR)的注冊表規(guī)則模版,根據(jù)實際場景修改模板中注冊表規(guī)則項(如主機上的某個應用有系統(tǒng)賬戶管理功能,則將賬戶管理相關(guān)的注冊表項規(guī)則去除),然后將模板導入,從而按照規(guī)則對系統(tǒng)中的關(guān)鍵注冊表項進行內(nèi)核級的強制訪問控制。
此時,即使攻擊者突破了防火墻、IPS、WAF、殺毒軟件等防護設(shè)備,獲取了系統(tǒng)的管理員權(quán)限,上傳了木馬,木馬運行過程中要修改、破壞系統(tǒng)中的關(guān)鍵注冊表項時,基于內(nèi)核層強制訪問控制的注冊表防護策略會阻止其惡意行為,從而使主機環(huán)境不受破壞,同時贏得寶貴的漏洞修復和攻擊溯源時間。
實施例3
在實施例2的基礎(chǔ)上,本實施例針對打開方式防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防止文件(.exe、文件夾、.html、.txt)的默認打開方式被修改,設(shè)置:
HKCR\EXEFILE\SHELL\OPEN\COMMAND
HKLM\SOFTWARE\CLASSES\.EXE
HKCR\FOLDER\SHELL\OPEN\COMMAND
HKCR\HTMLFILE\SHELL\OPEN\COMMAND
HKCR\TXTFILE\SHELL\OPEN\COMMAND
對于所有進程只有讀取權(quán)限。
實施例4
在實施例2的基礎(chǔ)上,本實施例針對賬戶防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防止添加新賬戶和修改密碼操作,設(shè)置:
HKLM\SAM\SAM\DOMAINS\ACCOUNT\USERS對所有進程只有讀權(quán)限。
實施例5
在實施例2的基礎(chǔ)上,本實施例針對右鍵菜單防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防止右鍵菜單(文件、磁盤、文件系統(tǒng)、目錄、文件夾的右鍵防護)被篡改,設(shè)置:
HKLM\SOFTWARE\CLASSES\*\SHELLEX
HKLM\SOFTWARE\CLASSES\DRIVE
HKLM\SOFTWARE\CLASSES\ALLFILESYSTEMOBJECTS\SHELLEX
HKLM\SOFTWARE\CLASSES\DIRECTORY
HKLM\SOFTWARE\CLASSES\FOLDER
對所有進程只有讀權(quán)限。
實施例6
在實施例2的基礎(chǔ)上,本實施例針對組件防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防護默認組件被修改,設(shè)置 :
HKLM\SOFTWARE\MICROSOFT\ACTIVE SETUP\INSTALLED COMPONENTS對所有進程只有讀權(quán)限;
為了防止病毒修改COMMAND PROCESSOR位置自啟動,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\COMMAND PROCESSOR對所有進程只有讀權(quán)限;
為了防止病毒掛載dll等,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\CTF\LANGBARADDIN對所有進程只有讀權(quán)限;
為了防止病毒利用IMAGE FILE EXECUTION OPTIONS位置感染系統(tǒng),設(shè)置:HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\IMAGE FILE EXECUTION OPTIONS對所有進程只有讀權(quán)限。
實施例7
在實施例2的基礎(chǔ)上,本實施例針對系統(tǒng)啟動項防護模塊中的注冊表項,制定注冊表防護策略如下:
為了保護早期windows運行程序的配置信息,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINDOWS對所有進程只有讀權(quán)限;
為了防止windows交互式服務信息被破壞,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\WINLOGON對所有進程只有讀權(quán)限;
為了防止惡意程序?qū)崿F(xiàn)自啟動,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHAREDTASKSCHEDULER
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELLEXECUTEHOOKS
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\EXPLORER\SHELLICONOVERLAYIDENTIFIERS
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCE
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNONCEEX
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUNSERVICE
HKLM\SOFTWARE\POLICIES\MICROSOFT\WINDOWS\SYSTEM\SCRIPTS
對所有進程只有讀權(quán)限;
為了保護外殼擴展功能允許加載的模塊,防止濫竽充數(shù),設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SHELL EXTENSIONS\APPROVED對所有進程只有讀權(quán)限;
為了防止病毒冒充系統(tǒng)托盤程序,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\SHELLSERVICEOBJECTDELAYLOAD對所有進程只有讀權(quán)限。
實施例8
在實施例2的基礎(chǔ)上,本實施例針對組策略防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防止通過創(chuàng)建組策略腳本實現(xiàn)系統(tǒng)啟動時加載,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\GROUP POLICY\SCRIPTS對所有進程只有讀權(quán)限;
為了防止開始菜單、任務欄、控制面板等的組策略被修改,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER對所有進程只有讀權(quán)限;
為了保護系統(tǒng)基本組件的組策略配置,設(shè)置:
HKLM\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\SYSTEM對所有進程只有讀權(quán)限。
實施例9
在實施例2的基礎(chǔ)上,本實施例針對環(huán)境變量防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防止真實配置信息被篡改,設(shè)置:
HKLM\SYSTEM\CONTROLSET001\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限;
為了防止最近一次啟動信息被篡改,設(shè)置:
HKLM\SYSTEM\CONTROLSET002\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限;
為了防止成功啟動的配置信息被篡改,設(shè)置:
HKLM\SYSTEM\CONTROLSET003\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限;
為了防止運行時的配置信息不被篡改,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\SESSION MANAGER對所有進程只有讀權(quán)限。
實施例10
在實施例2的基礎(chǔ)上,本實施例針對網(wǎng)絡(luò)配置防護模塊中的注冊表項,制定注冊表防護策略如下:
為了防止系統(tǒng)啟動配置被修改,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\BOOTVERIFICATIONPROGRAM對所有進程只有讀權(quán)限;
為了防止建立空鏈接,匿名登錄,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA對所有進程只有讀權(quán)限;
為了防止網(wǎng)絡(luò)連接被修改,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\NETWORKPROVIDER對所有進程只有讀權(quán)限;
為了防止打印機的啟動被篡改,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\PRINT\MONITORS對所有進程只有讀權(quán)限;
為了防止病毒掛載dll等,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\SECURITYPROVIDERS對所有進程只有讀權(quán)限;
為了防止遠程桌面端口被修改,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\CONTROL\TERMINAL SERVER對所有進程只有讀權(quán)限;
為了防止LSP瀏覽器劫持等,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES\WINSOCK2\PARAMETERS\NAMESPACE_CATALOG5\CATALOG_ENTRIES對所有進程只有讀權(quán)限;
為了防止Sock函數(shù)對應的DLL被篡改,設(shè)置:
HKLM\SYSTEM\CURRENTCONTROLSET\SERVICES\WINSOCK2\PARAMETERS\PROTOCOL_CATALOG9\CATALOG_ENTRIES對所有進程只有讀權(quán)限。
實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權(quán)利要求限定。