亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于aop與注解信息系統(tǒng)的安全審計方法

文檔序號:6515238閱讀:200來源:國知局
一種基于aop與注解信息系統(tǒng)的安全審計方法
【專利摘要】一種基于AOP與注解信息系統(tǒng)的安全審計方法,包括如下步驟:根據(jù)審計需求,設(shè)計審計注解類;在業(yè)務(wù)類中加入審計注解;通過AOP攔截業(yè)務(wù)操作;通過HTTP協(xié)議將審計日志提交到審計平臺。本發(fā)明提供一種使用AOP結(jié)合注解技術(shù),解決安全審計與業(yè)務(wù)的解耦,可提供人性化的安全審計信息。
【專利說明】—種基于AOP與注解信息系統(tǒng)的安全審計方法【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及計算機軟件【技術(shù)領(lǐng)域】,具體涉及ー種基于AOP與注解信息系統(tǒng)的安全審計方法?!颈尘凹寄尽?br> [0002]計算機信息安全的認(rèn)識是要保證計算機信息系統(tǒng)中信息的機密性、完整性、可控性、可用性和不可否認(rèn)性(抗抵賴),簡稱“五性”。安全審計是這“五性”的重要保障之一,它對計算機信息系統(tǒng)中的所有網(wǎng)絡(luò)資源(包括數(shù)據(jù)庫、主機、操作系統(tǒng)、安全設(shè)備等)進行安全審計,記錄所有發(fā)生的事件,提供給系統(tǒng)管理員作為系統(tǒng)維護以及安全防范的依據(jù)。一旦有突發(fā)事件可以快速的查閱進出記錄和行為記錄,確定問題所在,以便采取相應(yīng)的處理措施。
[0003]隨著涉密系統(tǒng)規(guī)模不斷擴大,每個系統(tǒng)都帶有自己的審計模塊。審計模塊與具體業(yè)務(wù)并無關(guān)聯(lián),但基于面向?qū)ο蟮脑O(shè)計,往往在業(yè)務(wù)邏輯中嵌入審計代碼,耦合度較高,邏輯負(fù)責(zé),代碼混亂。再者,不同系統(tǒng)的審計模塊,審計內(nèi)容基本相同,在各自系統(tǒng)中重復(fù)建設(shè)審計系統(tǒng),造成資源浪費,另外審計數(shù)據(jù)格式不統(tǒng)一、審計分析規(guī)則無法統(tǒng)一,給安全審計的業(yè)務(wù)部門造成工作困擾。
[0004]AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程(也叫面向方面),可以通過預(yù)編譯方式和運行期動態(tài)代理實現(xiàn)在不修改源代碼的情況下給程序動態(tài)統(tǒng)一添加功能的ー種技木。Annotation (注解)是JDK5.0及以后版本引入的。它可以用于創(chuàng)建文檔,跟蹤代碼中的依賴性,甚至執(zhí)行基本編譯時檢查。它們都不會直接影響到程序的語義,只是作為注解(標(biāo)識)存在,可以通過反射機制編程實現(xiàn)對這些元數(shù)據(jù)(用來描述數(shù)據(jù)的數(shù)據(jù))的訪問。
[0005]中國發(fā)明專利201110418958.9公開了一種基于Hadoop的分布式日志分析系統(tǒng),解決了海量日志分析中實效,存儲,計算的瓶頸。但是未解決審計日志與業(yè)務(wù)邏輯混亂,耦合度高的問題。
[0006]中國發(fā)明專利201110144104.6公開了ー種日志寫入方法和日志系統(tǒng),將日志信息寫入內(nèi)存,在數(shù)據(jù)達(dá)到預(yù)置數(shù)量時,在存儲到磁盤中,減少了 I/O操作,減少寫入時間,提供并發(fā)能力。此方法如果系統(tǒng)異常,容易造成,日志丟失,在安全審計業(yè)務(wù)中不可取。
[0007]中國發(fā)明專利201110124967.7公開了ー種ERP系統(tǒng)中基于規(guī)則配置的數(shù)據(jù)安全審計方法,屬于ERP系統(tǒng)安全審計領(lǐng)域。將安全審計功能封裝,后在業(yè)務(wù)中調(diào)用安全審計變成接ロ,在具體需求中進行審計數(shù)據(jù)項,審計主體等配置,審計方法靈活,快速滿足不同的審計需求。但是在業(yè)務(wù)邏輯中調(diào)用安全審計接ロ,業(yè)務(wù)邏輯與安全審計無法脫離,耦合度聞。
[0008]中國發(fā)明專利201110143035.7公開了ー種記錄日志的方法,通過提出一個基于AOP進行攔截,應(yīng)用于設(shè)計通用審計日志再在AOP中進行日志信息組織并處理,將導(dǎo)致這種處理非常復(fù)雜,且業(yè)務(wù)類中不標(biāo)識審計的業(yè)務(wù)信息,不夠人性化,代碼可讀性大大降低。
[0009]中國發(fā)明專利201110321921.4公開了ー種基于AOP技術(shù)進行攔截來處理業(yè)務(wù)通用邏輯的方法,此方法可以應(yīng)用于設(shè)計通用審計日志,但是審計日志的業(yè)務(wù)屬性如果只提供ー個屬性標(biāo)識,再在AOP進行處理,將導(dǎo)致這種處理非常復(fù)雜,且業(yè)務(wù)類中的標(biāo)識不夠人性化,代碼可讀性大大降低。
[0010]不管是以上何種方案都無法同時解決耦合度與統(tǒng)一安全審計的需求,使用內(nèi)存緩存日志或者h(yuǎn)adoop進行分布式分析都未解決業(yè)務(wù)與代碼解耦問題,單純使用AOP方式只解決了耦合度高的問題,但是在AOP中無法根據(jù)具體的業(yè)務(wù)獲得業(yè)務(wù)相關(guān)的審計信息,導(dǎo)致審計信息技術(shù)性太強,人性化不足,對審計管理員的技術(shù)要求太高。
[0011]有鑒于此,本發(fā)明人針對現(xiàn)有技術(shù)的缺陷深入研究,遂有本案產(chǎn)生。

【發(fā)明內(nèi)容】

[0012]本發(fā)明所要解決的技術(shù)問題在于提供ー種使用AOP結(jié)合注解技術(shù),解決安全審計與業(yè)務(wù)的解耦,可提供人性化的安全審計信息。
[0013]本發(fā)明是這樣實現(xiàn)的:
[0014]一種基于AOP與注解信息系統(tǒng)的安全審計方法,包括如下步驟:
[0015]第一步驟:根據(jù)審計需求,設(shè)計審計注解類:
[0016]具體包括:
[0017]根據(jù)企業(yè)審計日志的需求,設(shè)計好審計所需信息項,分析并將審計信息項拆分為公共運行信息與具體業(yè)務(wù)信息;根據(jù)企業(yè)審計業(yè)務(wù)信息,設(shè)計審計注解類,要求注解類字段要完全覆蓋審計業(yè)務(wù)信息;
[0018]第二步驟:在業(yè)務(wù)類中加入審計注解:
[0019]具體包括:
[0020]在具體業(yè)務(wù)類中加入審計注解類,根據(jù)不同業(yè)務(wù)操作類傳入相對應(yīng)的審計需要的業(yè)務(wù)信息,包括系統(tǒng)名、模塊名、操作類型、操作名、操作描述;
[0021 ] 第三步驟:通過AOP攔截業(yè)務(wù)操作:
[0022]具體包括:
[0023]根據(jù)注解類進行AOP攔截配置,攔截所有配置了審計注解的方法;攔截了方法后,在方法開始前記錄方法開始時間,方法參數(shù),方法名字,并獲得方法的注解類,通過注解類獲得該業(yè)務(wù)類的的審計業(yè)務(wù)信息;在方法執(zhí)行后獲得方法執(zhí)行后返回的參數(shù),執(zhí)行結(jié)束時間,方法執(zhí)行過程是否拋出異常,拋出的異常信息;
[0024]第四步驟:通過HTTP協(xié)議將審計日志提交到審計平臺:
[0025]具體包括:
[0026]將第三步驟中獲取的各種信息,整理成完整的審計信息通過http協(xié)議提交到審計平臺;通過統(tǒng)ー審計日志平臺,對外提供HTTP協(xié)議的審計日志服務(wù),包括審計寫入與讀取服務(wù),收集企業(yè)各業(yè)務(wù)系統(tǒng)的審計日志信息;并在審計日志平臺提供統(tǒng)ー的審計日志查詢與下載功能。
[0027]進ー步地,所述第一步驟中,注解類中定義各種審計項,包括系統(tǒng)名、模塊名、業(yè)務(wù)操作類型、業(yè)務(wù)操作描述、業(yè)務(wù)操作名,并且支持可注解類,與注解方法,并且可繼承?,方法注解信息覆蓋類注解;安全審計信息,直接在業(yè)務(wù)類中通過注解直接標(biāo)識與類中。
[0028]進ー步地,所述第三步驟還包括:[0029]通過session或者線程變量將操作人信息,包括操作人姓名、操作人ID、IP,傳遞到AOP切面中,在AOP直接獲得操作人相關(guān)信息;
[0030]通過注解類傳遞用戶的操作描述,
[0031]獲得切面對象類:invokeClass=joinPoint.getTarget ()? getClass ();
[0032]獲得切面類的方法:methods[] =invokeClass.getMethods ();
[0033]獲得注解類對象:auditClass=invokeClass.getAnnotation (Audit, class);
[0034]獲得方法名methodName=joinPoint.getSignature ().getName ();
[0035]循環(huán)類的所有方法,與methodName比對,可以獲得當(dāng)前方法對象method
[0036]獲得方法注解對象:auditMethod=method.getAnnotation (Audit, class);
[0037]獲得系統(tǒng):auditClass.system()
[0038]獲得模塊:auditClass.moudle ()
[0039]同理獲得其他注解信息;
[0040]通過反射機制獲得業(yè)務(wù)操作產(chǎn)生的影響:通過審計的注解類做為切面的切入點,在切面進行邏輯處理,獲得包括注解類傳遞的信息與運行時參數(shù)包括,操作是否成功,操作耗時,運行類與方法名,系統(tǒng)參數(shù),操作返回對象。
[0041]本發(fā)明的優(yōu)點在干:本發(fā)明實現(xiàn)了ー種統(tǒng)ー的信息系統(tǒng)安全審計方法,通過建立統(tǒng)ー的安全審計平臺,提供標(biāo)準(zhǔn)的安全審計服務(wù),可以為單位(公司)的不同應(yīng)用系統(tǒng)提供ー個統(tǒng)ー審計服務(wù)(中間件)。統(tǒng)ー了不同應(yīng)用系統(tǒng)的審計日志格式,并將審計日志統(tǒng)一存儲起來,降低了単位審計管理員的工作量,同時還避免信息系統(tǒng)重復(fù)建設(shè)安全審計模塊,縮短系統(tǒng)建設(shè)周期。為后期建設(shè)單位統(tǒng)ー審計日志分析系統(tǒng)提供數(shù)據(jù)保障。本發(fā)明在審計日志服務(wù)端通過兼容關(guān)系型數(shù)據(jù)庫與mongodb,解決傳統(tǒng)安全審計模塊在審計日志數(shù)據(jù)量隨著時間增加而速度降低的問題。
【【專利附圖】

【附圖說明】】
[0042]下面參照附圖結(jié)合實施例對本發(fā)明作進ー步的描述。
[0043]圖1是本發(fā)明系統(tǒng)框架示意圖。
[0044]圖2是本發(fā)明中審計日志攔截裝置示意圖。
[0045]圖3是本發(fā)明中主要流程示意圖。
[0046]圖4是本發(fā)明中通過AOP處理審計日志的信息流程示意圖。
[0047]圖5是本發(fā)明中提交審計信息到審計平臺流程示意圖。
【【具體實施方式】】
[0048]本發(fā)明中,所有的應(yīng)用系統(tǒng)都將其安全審計信息統(tǒng)一存儲到安全審計平臺,如圖1所示。業(yè)務(wù)系統(tǒng)(如:協(xié)同辦公、質(zhì)量體系等)不再繼續(xù)存儲安全審計日志;安全審計日志平臺對外提供安全審計日志服務(wù)(只提供添加與查詢接ロ),同時安全審計日志平臺也提供面向用戶的安全審計日志查詢服務(wù)(即可以通過安全審計日志平臺提供的查詢界面直接查詢安全審計日志)。由于安全審計日志集中的管理,所以需要對審計日志進行分系統(tǒng)管理,如協(xié)同辦公的審計管理員,無法檢索到質(zhì)量體系或其他應(yīng)用系統(tǒng)的審計日志。各應(yīng)用系統(tǒng)不必建設(shè)安全審計模塊,只需引入安全審計攔截裝置,在業(yè)務(wù)類中通過注解方式,傳入安全審計日志的關(guān)鍵業(yè)務(wù)信息。通過切面類組織審計內(nèi)容,并調(diào)用安全審計客戶端提交審計日志到統(tǒng)一安全審計平臺,完成審計功能。
[0049]審計日志攔截裝置包括:自定義注解類,切面類,安全審計提交客戶端。如圖2所
/Jn o
[0050]本發(fā)明具體實施步驟,如圖3所示。
[0051]第一步驟:根據(jù)審計需求,設(shè)計審計注解類:
[0052]具體包括:
[0053]根據(jù)企業(yè)審計日志的需求,設(shè)計好審計所需信息項,分析并將審計信息項拆分為公共運行信息與具體業(yè)務(wù)信息;根據(jù)企業(yè)審計業(yè)務(wù)信息,設(shè)計審計注解類,要求注解類字段要完全覆蓋審計業(yè)務(wù)信息;
[0054]注解類中定義各種審計項,包括系統(tǒng)名、模塊名、業(yè)務(wù)操作類型、業(yè)務(wù)操作描述、業(yè)務(wù)操作名。并且支持可注解類,與注解方法,并且可繼承。
[0055]方法注解信息覆蓋類注解,比如類中注解了 systenumodule,而在方法的注解也添加了 system、module的注解信息則以方法的注解為準(zhǔn)。
[0056]安全審計信息,直接在業(yè)務(wù)類中通過注解直接標(biāo)識與類中,即通俗易懂,又實現(xiàn)了安全審計與正常業(yè)務(wù)邏輯的解耦。
[0057]第二步驟:在業(yè)務(wù)類中加入審計注解:
[0058]具體包括:
[0059]在具體業(yè)務(wù)類中加入審計注解類,根據(jù)不同業(yè)務(wù)操作類傳入相對應(yīng)的審計需要的業(yè)務(wù)信息,包括系統(tǒng)名、模塊名、操作類型、操作名、操作描述;
[0060]第三步驟:通過AOP攔截業(yè)務(wù)操作:
[0061]具體包括:
[0062]根據(jù)注解類進行AOP攔截配置,攔截所有配置了審計注解的方法;攔截了方法后,在方法開始前記錄方法開始時間,方法參數(shù),方法名字,并獲得方法的注解類,通過注解類獲得該業(yè)務(wù)類的的審計業(yè)務(wù)信息;在方法執(zhí)行后獲得方法執(zhí)行后返回的參數(shù),執(zhí)行結(jié)束時間,方法執(zhí)行過程是否拋出異常,拋出的異常信息;
[0063]通過AOP (切面編程)處理審計日志的信息,如圖4所示。
[0064]審計日志要記錄誰在什么時間做了什么,產(chǎn)生了什么影響。
[0065]1、通過session或者線程變量將操作人信息(操作人姓名,操作人ID,IP)傳遞到AOP切面中,在AOP直接獲得操作人相關(guān)信息。
[0066]2、通過注解類傳遞用戶的操作描述(操作名,操作模塊,操作的系統(tǒng),操作描述,操作類型)
[0067]獲得切面對象類:invokeClass=joinPoint.getTarget ()? getClass ();
[0068]獲得切面類的方法:methods[] =invokeClass.getMethods ();
[0069]獲得注解類對象:auditClass=invokeClass.getAnnotation (Audit, class);
[0070]獲得方法名methodName=joinPoint.getSignature ().getName ();
[0071]循環(huán)類的所有方法,與methodName比對,可以獲得當(dāng)前方法對象method
[0072]獲得方法注解對象:auditMethod=method.getAnnotation (Audit, class);
[0073]獲得系統(tǒng):auditClass.system()[0074]獲得模塊:auditClass.moudle ()
[0075]同理獲得其他注解信息
[0076]3、通過反射機制獲得業(yè)務(wù)操作產(chǎn)生的影響
[0077]通過審計的注解類做為切面的切入點,在切面進行邏輯處理,獲得包括注解類傳遞的信息與運行時參數(shù)包括,操作是否成功,操作耗時,運行類與方法名,系統(tǒng)參數(shù),操作返回對象等。
[0078]第四步驟:通過HTTP協(xié)議將審計日志提交到審計平臺,如圖5所示。
[0079]具體包括:
[0080]將第三步驟中獲取的各種信息,整理成完整的審計信息通過http協(xié)議提交到審計平臺;通過統(tǒng)ー審計日志平臺,對外提供HTTP協(xié)議的審計日志服務(wù),包括審計寫入與讀取服務(wù),收集企業(yè)各業(yè)務(wù)系統(tǒng)的審計日志信息;并在審計日志平臺提供統(tǒng)ー的審計日志查詢與下載功能。
[0081]通過httpclient 編寫一個 restfullclient 負(fù)責(zé)構(gòu)造符合 http restfull 規(guī)范的的審計日志提交客戶端,客戶端負(fù)責(zé)調(diào)用審計日志添加接ロ并獲得結(jié)果。
[0082]服務(wù)端采用springmvc開放標(biāo)準(zhǔn)http restfull接ロ,使用hibernate作為持久化框架,支持普通關(guān)系型數(shù)據(jù)庫與MongoDB,依據(jù)預(yù)估的安全審計日志記錄數(shù)選擇關(guān)系型數(shù)據(jù)庫或者MongoDB,而調(diào)用結(jié)果統(tǒng)一封裝為標(biāo)準(zhǔn)的json對象。大概格式如下:
[0083]


{
【權(quán)利要求】
1.一種基于AOP與注解信息系統(tǒng)的安全審計方法,其特征在于:包括如下步驟: 第一步驟:根據(jù)審計需求,設(shè)計審計注解類: 具體包括: 根據(jù)企業(yè)審計日志的需求,設(shè)計好審計所需信息項,分析并將審計信息項拆分為公共運行信息與具體業(yè)務(wù)信息;根據(jù)企業(yè)審計業(yè)務(wù)信息,設(shè)計審計注解類,要求注解類字段要完全覆蓋審計業(yè)務(wù)信息; 第二步驟:在業(yè)務(wù)類中加入審計注解: 具體包括: 在具體業(yè)務(wù)類中加入審計注解類,根據(jù)不同業(yè)務(wù)操作類傳入相對應(yīng)的審計需要的業(yè)務(wù)信息,包括系統(tǒng)名、模塊名、操作類型、操作名、操作描述; 第三步驟:通過AOP攔截業(yè)務(wù)操作: 具體包括: 根據(jù)注解類進行AOP攔截配置,攔截所有配置了審計注解的方法;攔截了方法后,在方法開始前記錄方法開始時間,方法參數(shù),方法名字,并獲得方法的注解類,通過注解類獲得該業(yè)務(wù)類的的審計業(yè)務(wù)信息;在方法執(zhí)行后獲得方法執(zhí)行后返回的參數(shù),執(zhí)行結(jié)束時間,方法執(zhí)行過程是否拋出異常,拋出的異常信息; 第四步驟:通過HTTP協(xié)議將審計日志提交到審計平臺: 具體包括: 將第三步驟中獲取的各種信息,整理成完整的審計信息通過http協(xié)議提交到審計平臺;通過統(tǒng)ー審計日志平臺,對外提供HTTP協(xié)議的審計日志服務(wù),包括審計寫入與讀取服務(wù),收集企業(yè)各業(yè)務(wù)系統(tǒng)的審計日志信息;并在審計日志平臺提供統(tǒng)ー的審計日志查詢與下載功能。
2.如權(quán)利要求1所述的ー種基于AOP與注解信息系統(tǒng)的安全審計方法,其特征在于:所述第一步驟中,注解類中定義各種審計項,包括系統(tǒng)名、模塊名、業(yè)務(wù)操作類型、業(yè)務(wù)操作描述、業(yè)務(wù)操作名,并且支持可注解類,與注解方法,并且可繼承;方法注解信息覆蓋類注解;安全審計信息,直接在業(yè)務(wù)類中通過注解直接標(biāo)識與類中。
3.如權(quán)利要求1所述的ー種基于AOP與注解信息系統(tǒng)的安全審計方法,其特征在于:所述第三步驟還包括: 通過session或者線程變量將操作人信息,包括操作人姓名、操作人ID、IP,傳遞到AOP切面中,在AOP直接獲得操作人相關(guān)信息; 通過注解類傳遞用戶的操作描述,
獲得切面對象類:invokeClass=joinPoint.getTarget ().getClass (); 獲得切面類的方法:methods [] =invokeClass.getMethods (); 獲得注解類對象:auditClass=invokeClass.getAnnotation (Audit, class);
犾得刀法名 methodName=joinPoint.getSignature ().getName (); 循環(huán)類的所 有方法,與methodName比對,可以獲得當(dāng)前方法對象method 獲得方法注解對象:auditMethod=method.getAnnotation (Audit, class); 獲得系統(tǒng):auditClass.system () 獲得模塊:auditClass.moudle ()同理獲得其他注解信息; 通過反射機制獲得業(yè)務(wù)操作產(chǎn)生的影響:通過審計的注解類做為切面的切入點,在切面進行邏輯處理,獲得包括注解類傳遞的信息與運行時參數(shù)包括,操作是否成功,操作耗吋,運行類與方法名 ,系統(tǒng)參數(shù),操作返回對象。
【文檔編號】G06F11/34GK103559118SQ201310476118
【公開日】2014年2月5日 申請日期:2013年10月12日 優(yōu)先權(quán)日:2013年10月12日
【發(fā)明者】倪時龍, 蘇江文, 洪順淋 申請人:福建億榕信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1