審計跟蹤

審計跟蹤

審計跟蹤(audit trail),是系統活動的流水記錄。該記錄按事件從始至終的途徑,順序檢查審計跟蹤記錄、審查和檢驗每個事件的環境及活動。審計跟蹤通過書面方式提供應負責任人員的活動證據以支持職能的實現。審計跟蹤記錄系統活動和用戶活動。系統活動包括操作系統和應用程序進程的活動;用戶活動包括用戶在操作系統中和應用程序中的活動。通過藉助適當的工具和規程,審計跟蹤可以發現違反安全策略的活動、影響運行效率的問題以及程序中的錯誤。

簡介


審計跟蹤可以做為對正常系統操作的一種支持。也可以做為一種保證策略或前兩者兼而有之。做為保證策略,所
審計跟蹤查詢
維護的審計跟蹤只在需要時使用,比如系統中斷。做為對操作的支持,審計跟蹤用於幫助系統管理員確保系統及其資源免遭黑客、內部使用者或技術故障的傷害。在很大程度上,信息的完整性和機密性取決於使用人的職能。也就是說,人們必須為他們的行為負責。這是一種探測和威懾機制。首先應該制定一系列行為標準,使用人必須認可這些行為標準;還要由較高級別的管理者對違反標準的人進行處罰。讓用戶知道自己的行為被監控也可以阻止潛在的破壞者對安全的侵害。用戶職能可以通過策略、授權方案、識別和鑒別機制、訪問控制、審計跟蹤和審計實現。

方法


審計跟蹤提供了實現多種安全相關目標的一種方法,這些目標包括個人職能、事件重建、入侵探測和故障分析。

個人職能

審計跟蹤架構個人職能(individual accountability)
審計跟蹤是管理人員用來維護個人職能的技術手段。通過告知用戶應該為自己的行為負責,通過審計跟蹤記錄用戶的活動,管理人員可以改善用戶的行為方式。如果用戶知道他們的行為被記錄在審計日誌中,他們就不太會違反安全策略和繞過安全控制措施。
例如在訪問控制中,審計跟蹤可以用於鑒別對數據的不恰當修改(如在資料庫中引入一條錯誤記錄)和提供與之相關的信息。審計跟蹤可以記錄改動前和改動后的記錄,以確定所作的實際改動。這可以幫助管理層確定錯誤到底是由用戶、操作系統、應用軟體還是由其它因素造成的。
邏輯訪問控制是用於限制對系統資源的訪問,允許用戶訪問特定資源意味著用戶通常要通過這種訪問完成他們的工作。當然,被授權的訪問也會被濫用,這種情況下審計跟蹤就能發揮作用。當無法阻止用戶通過其合法身份訪問資源時,審計跟蹤就可以用於檢查他們的活動。比方說人事部的某員工需要訪問他們所負責的員工的人事記錄,通過審計跟蹤發現該員工對人事記錄的超常列印,這也許意味著盜賣人事數據。再比方說某工程師需要通過使用計算機來設計新產品,通過審計跟蹤發現在該工程師在設計結束前通過數據機進行了可疑的對外通信,這可以用來協助調查公司的專利數據被非法泄漏給其它公司的事件。

事件重建

事件重建(reconstruction of events)
在故障發生后,審計跟蹤可以用於重建事件。通過審查系統活動的審計跟蹤可以比較容易地評估故障損失,確定故障發生的時間、原因和過程。通過對審計跟蹤的分析通常可以辨別故障是操作引起的還是系統引起的。例如,當系統失敗或文件的完整性受到質疑時,通過對審計跟蹤的分析就可以重建系統、用戶或應用程序的完整的操作步驟。在對諸如系統崩潰這樣的故障的發生條件有清晰認識的前提下,就能夠避免未來發生此類系統中斷的情況。而且,在發生技術故障(如數據文件損壞)時,審計跟蹤可以協助進行恢復(通過更改記錄可以重建文件)。

入侵探測

入侵探測(intrusion detection)
如果用審計跟蹤記錄適當的信息,也可以用來協助入侵探測工作。如果在審計記錄產生時就進行檢查(通過使用某種警告標誌或提示),就可以進行實時的入侵探測,不過事後檢查(定時檢查審計記錄)也是可行的。
實時入侵探測主要用於探測外部對系統的非法訪問。也可以用於探測系統性能指標的變化以發現病毒或蠕蟲攻擊。但是實時審計可能會降低系統性能。
事後鑒別可以標示出非法訪問的企圖(或事實)。這樣就可以提醒人們對損失進行評估或重新檢查受攻擊的控制方式。

故障分析

故障分析(problem analysis)
在線的審計跟蹤還可以用於鑒別入侵以外的故障。這常被稱為實時審計或監控。如果操作系統或應用系統對公司的業務非常重要,可以使用實時審計對這些進程進行監控。
系統可以同時維護多個審計跟蹤。有兩種典型的審計記錄(1)所有鍵盤敲擊的記錄,通常稱為擊鍵監控,和(2)面向事件的審計日誌。這些日誌通常包括描述系統事件、應用事件或用戶事件的記錄。
審計跟蹤應該包括足夠的信息,以確定事件的內容和引起事件的因素。通常,事件記錄應該列有事件發生的時間、和事件有關的用戶識別碼、啟動事件的程序或命令以及事件的結果。日期和時間戳可以幫助確定用戶到底是假冒的還是真實的。

擊鍵監控

擊鍵監控(keystroke monitoring)
擊鍵監控用於對計算機交互過程中的用戶鍵盤輸入和計算機的反應數據進行檢查或記錄。擊鍵監控通常被認為是審計跟蹤的一種特殊應用。擊鍵監控的例子包括檢查用戶敲入的字元,閱讀用戶的電子郵件以及檢查用戶敲入的其它信息。
有些系統維護功能會記錄用戶的擊鍵。如果這些記錄保存與之相關的用戶鑒別碼就可以協助管理員確定擊鍵人從而達到擊鍵監控的目的。擊鍵監控致力於保護系統和數據免遭非法入侵和合法用戶的濫用。入侵者的擊鍵記錄可以協助管理員評估和修復入侵造成的損失。

審計日誌

面向事件的審計日誌(event-oriented audit logs)
系統審計日誌一般用於監控和微調系統性能。應用審計跟蹤可以用於辨別應用程序中的錯誤和對安全策略的違背。用戶審計記錄通常用於將用戶的行為和職能聯繫起來。分析用戶審計記錄可以發現各種不安全的事件,如安裝木馬或獲取非法許可權。
系統本身都會有諸如文件和系統訪問的約束性的策略。對用於實施這些策略的系統配置文件更改的監控非常重要。如果特定的訪問(如安全管理員的訪問)用於修改配置文件,那麼系統應該在這種訪問發生時產生相應的審計記錄。
有時比系統審計跟蹤更詳細的記錄也是需要的。應用審計跟蹤就可以提供更詳細的記錄。如果應用是很關鍵的,那麼就不但要記錄應用的發起者,還要記錄每一個用戶的具體細節。例如電子郵件應用,可能要記錄發件人、收件人和信息長度。再比如資料庫應用,應該記錄資料庫的訪問者以及其具體讀取(或更改、刪除)哪個表的哪個行或列,而不是僅僅記錄資料庫程序的執行。
用戶審計跟蹤通過記錄用戶啟動的事件(如訪問文件、記錄和欄位;使用數據機)來監控和記錄系統或應用中該用戶的活動。
適應性是審計跟蹤的關鍵特性。理想(從安全形度看)的情況是系統管理員能夠監控所有的系統和用戶活動,又能有選擇地記錄系統和應用的特定功能。至於日誌記錄的數量和需要審查的數量取決於相關應用或數據敏感性,應該由職能部門經理或應用所有者在系統管理員和計算機安全管理人的指導下根據日誌的性價比確定。通常審計日誌包含隱私內容。用戶應該熟悉使用環境下和隱私相關的現行法律、法規和政策。
(A)系統級審計跟蹤
系統級審計要求審計跟蹤至少要能夠記錄登錄(成功和失敗)、登錄識別號、每次登錄嘗試的日期和時間、每次退出的日期和時間、所使用的設備、登錄后運行的內容(如用戶啟動應用的嘗試,無論成功或失敗)。典型的系統級日誌還包括和安全無關的信息,如系統操作、費用記帳和網路性能。
系統級審計跟蹤應該能夠鑒別登錄的成功和失敗,在系統不能限制失敗登錄的嘗試次數時尤其需要這樣。遺憾的是,有些系統級審計跟蹤無法探測登錄嘗試,所以無法進行記錄以便日後檢查。這樣的審計跟蹤只能監控和記錄成功的登錄及其登錄后的活動。記錄失敗的登錄嘗試對於有效的入侵探測是必須的。
(B)應用級審計跟蹤
系統級審計跟蹤可能無法跟蹤和記錄應用中的事件,也可能無法提供應用和數據擁有者需要的足夠的細節信息。通常,應用級審計跟蹤監控和記錄諸如打開和關閉數據文件,讀取、編輯和刪除記錄或欄位的特定操作以及列印報告之類的用戶活動。有些應用會對數據的可用性、機密性和完整性比較敏感,這些應用的審計跟蹤應該記錄數據修改前後的數據快照。
(C)用戶審計跟蹤
用戶審計跟蹤通常記錄(1)用戶直接啟動的所有命令,(2)所有的鑒別和認證嘗試,和(3)所訪問的文件和資源。
如果連同命令的選項和參數一同記錄將會更有用。因為知道用戶想要刪除日誌文件(以掩蓋非法訪問)比僅僅知道用戶使用了刪除命令更有價值。

實施


為了確保審計跟蹤數據的可用性和正確性,審計跟蹤數據需要受到保護,因為不正確的數據也是沒用的。而且,如果不對日誌數據進行及時審查,規劃和實施得再好的審計跟蹤也會失去價值。審計跟蹤應該根據需要(經常由安全事件觸發)定期審查、自動實時審查、或兩者兼而有之。系統管理人和系統管理員應該根據計算機安全管理的要求確定需要維護多長時間的審計跟蹤數據,其中包括系統內保存的和歸檔保存的數據。
與實施有關的問題包括(1)保護審計跟蹤數據,(2)審查審計跟蹤數據,和(3)用於審計跟蹤分析的工具。
(1)保護審計跟蹤數據
訪問在線審計日誌必須受到嚴格限制。計算機安全管理人員和系統管理員或職能部門經理出於檢查的目的可以訪問,但是維護邏輯訪問功能的安全和管理人員沒有必要訪問審計日誌。
防止非法修改以確保審計跟蹤數據的完整性尤其重要。使用數字簽名是實現這一目標的一種途徑。另一類方法是使用只讀設備。入侵者會試圖修改審計跟蹤記錄以掩蓋自己的蹤跡是審計跟蹤文件需要保護的原因之一。使用強訪問控制是保護審計跟蹤記錄免受非法訪問的有效措施。當牽涉到法律問題時,審計跟蹤信息的完整性尤為重要(這可能需要每天列印和簽署日誌)。此類法律問題應該直接諮詢相關法律顧問。
審計跟蹤信息的機密性也需要受到保護,例如審計跟蹤所記錄的用戶信息可能包含諸如交易記錄等不宜披露的個人信息。強訪問控制和加密在保護機密性方面非常有效。
(2)審查審計跟蹤數據
審計跟蹤的審查和分析可以分為在事後檢查、定期檢查或實時檢查。審查人員應該知道如何發現異常活動。他們應該知道怎麼算是正常活動。如果可以通過用戶識別碼、終端識別碼、應用程序名、日期時間或其它參數組來檢索審計跟蹤記錄並生成所需的報告,那麼審計跟蹤檢查就會比較容易。
事後檢查
當系統或應用軟體發生了故障、用戶違反了操作規範、或發現了系統或用戶的異常問題時,系統級或應用級的管理員就會檢查審計跟蹤。應用或數據的擁有者在檢查審計跟蹤數據後會生成一個獨立的報告以評估他們的資源是否遭受損失。
定期檢查
應用的擁有者、數據的擁有者、系統管理員、數據處理管理員和計算機安全管理員應該根據非法活動的嚴重程度確定檢查審計跟蹤的頻率。
實時檢查
通常,審計跟蹤分析是在批處理模式下定時執行的。審計記錄會定時歸檔用於以後的分析。審計分析工具可用於實時和准實時模式下。此類入侵探測工具基於審計數據精選、攻擊特徵識別、和差異分析技術。由於數據量過大,所以在大型多用戶系統中使用人工方式對審計數據進行實時檢查是不切實際的。但是,對於特定用戶和應用的審計記錄進行實時檢查還是可能的。這類似於擊鍵監控,不過這可能會涉及到法律是否允許的問題。
(3)跟蹤工具
許多工具是用於從大量粗糙原始的審計數據中精選出有用信息。尤其是在大系統中,審計跟蹤軟體產生的數據文件非常龐大,用人工方式分析非常困難。使用自動化工具就是從審計信息中將無用的信息剔除。其它工具還有差異探測工具和攻擊特徵探測工具。
審計精選工具(audit reduction tools)
此類工具用於從大量的數據中精選出有用的信息以協助人工檢查。在安全檢查前,此類工具可以剔除大量對安全影響不大的信息。這類工具通常可以剔除由特定類型事件產生的記錄,例如由夜間備份產生的記錄將被剔除。
趨勢/差別探測工具(trends/variance-detection tools)
此類工具用於發現系統或用戶的異常活動。可以建立較複雜的處理機制以監控系統使用趨勢和探測各種異常活動。例如,如果用戶通常在上午9點登錄,但卻有一天在凌晨4點半登錄,這可能是一件值得調查的安全事件。
攻擊特徵探測工具(attack signature-detection tools)
此類工具用於查找攻擊特徵,通常一系列特定的事件表明有可能發生了非法訪問嘗試。一個簡單的例子是反覆進行失敗的登錄嘗試。