freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

某石油天然氣股份公司應用系統(tǒng)開發(fā)安全管理通則(編輯修改稿)

2025-06-26 21:07 本頁面
 

【文章內容簡介】 何用戶如果希望訪問應用系統(tǒng)中的某一個部分,則必須通過統(tǒng)一的且唯一的認證授權方式以及流程。 人員職責和權限的定義 由于不是所有的人員對于某一個應用系統(tǒng)都具有同樣的訪問或使用的權限,因此系統(tǒng)必須具有基于人員職責的用戶授權管理以確保每個用戶可以訪問到其權利范圍內的應用系統(tǒng)部分。同樣的,也要確保每個用戶無法訪問其權限范圍以外的應用系統(tǒng)部分。 確保敏感系統(tǒng)的安全性 通過將應用系統(tǒng)中敏感的信息保存在服務器端以進行集中的加密的安全管理,確保客戶端系統(tǒng)本身并不能存儲任何信息敏感的數據。 確保訪問層的安全性 應用系統(tǒng)不僅僅要確保系統(tǒng)模塊本身的安全性,同時也要考慮模塊與模塊之間的通訊的安全性。這種模塊與模塊之間的安全性不僅僅包括了應用系統(tǒng)內部模塊之間的安全,也包括了應用系統(tǒng)內部模塊和外部模塊之間的安全性,如主機和客戶端之間通訊的安全性。服務器和服務器間通訊的安全性,本地系統(tǒng)和異地系統(tǒng)之間通訊的安全性。 確保日志管理機制健全 要求建立可以根據情況自由設置的日志管理機制,也就是說日志紀錄的范圍和詳細程度可以根據需求自行定制,且可以實現(xiàn)在應用系統(tǒng)使用過程中進行日志的定制和記錄。 保留所有系統(tǒng)開發(fā)相關 的程序庫的更新審核紀錄。 新系統(tǒng)的容量規(guī)劃 容量規(guī)劃是指確定系統(tǒng)的總體規(guī)模,性能和系統(tǒng)彈性。 容量規(guī)劃的具體內容可能有所不同,但一般需要考慮以下方面: a) 系統(tǒng)的預期存儲容量和在給定的周期里面獲取生成和存儲的數據量。 b) 在線進程的數量和估計可能的占用資料 c) 對于系統(tǒng)和網絡的相應時間和性能,即端對端系統(tǒng) d) 系統(tǒng)彈性要求和設計使用率 峰值,槽值和平均值等 e) 安全措施例如加密解密數據對系統(tǒng)的影響。 f) 24x7 運作要求和可接受的系統(tǒng)宕機次數(維護或者設備更新導致的必須性宕機) 規(guī)劃容量的時候關于系統(tǒng)使用的信息了解得越多越好。近來 ,由于互聯(lián)網站得使用以指數形式增長,容量規(guī)劃變動效果不是非常顯著,有時甚至毫無用處。原因在于很難估計實際的負載。在容量估計的時候需要盡量將情況設想得復雜一些。 錯誤 !文檔中沒有指定樣式的文字。 14 系統(tǒng)開發(fā)階段安全規(guī)范 系統(tǒng)開發(fā)語言安全規(guī)范 程序員可以使用很多指導規(guī)范來防止應用程序中的普通的安全問題。其中許多可以應用于任何一個編程語言,但某些是針對特定的語言的。特定語言的指導規(guī)范主要集中在 Perl, Java 和 C/C++語言。大多數情況下,一般的錯誤可以通過下功夫或者對基本的問題有很好的理解來避免。這些本可以避免的錯誤常常會導致很多安全漏洞, 從而威脅信息的保密性、完整性和可用性。 通用規(guī)范 輸入驗證 在客戶機 /服務器環(huán)境下,進行服務端的驗證而不是客戶端的驗證(例如基于Javascript 的驗證)。通過在客戶端和服務器之間放置一個代理服務器,可以很容易繞過客戶端驗證。有了代理服務器,攻擊者可以在數據被客戶端“驗證”后修改數據(與“ maninthemiddle”攻擊類似)。 在實際的校驗中,輸入校驗首先定義一個有效(可接受)的字符集,然后檢查每個數據的字符是否在有效范圍內。如果輸入中包含無效的字符,應用程序應該返回錯誤頁面并說明輸入中包含無效 字符。這樣進行驗證的原因是定義無效的字符集比較困難,并且一些不應該有效的字符通常不會被指出。 另外,邊界檢查(例如字符串的最大長度)應該在字符有效性檢查以前進行。邊界分析可以防止大多數緩沖區(qū)溢出漏洞。 必須提到的是從環(huán)境變量獲得的數據也需要進行驗證。同時避免在環(huán)境變量中存放敏感數據(例如密碼)。某些 Unix 系統(tǒng)(例如 FreeBSD)包含 ps 命令,可以讓用戶看到任何當前進程的環(huán)境變量,這常常會暴露保密性信息。 SQL 語句 如果應用程序需要連接后端數據庫,使用存儲過程而不要在代碼中使用 SQL語句。使用程序以外的 嵌入在代碼中的 SQL 語句調用特別危險。難以防止攻擊者使用輸入域或者配置文件(由應用程序載入)來執(zhí)行嵌入式的 SQL 攻擊。當然,輸入驗證有助于緩解這種風險。 注釋代碼 (mented code) 當應用程序在實際環(huán)境中開始應用時,應該刪除所有的注釋代碼。注釋代碼是用來調試或者測試的,它們不是最終應用程序的一部分。無論如何應該在實際的環(huán)境中刪除它們來避免意外的執(zhí)行(一般注釋標識被刪除后就無法激活休眠的代碼,但還是存在可能性的,所以強烈建議執(zhí)行這項工作)。 錯誤消息 所有為用戶顯示的錯誤信息都不應該暴露任何關 于系統(tǒng)、網絡或應用程序的敏感信息。如果可能的話,最好使用包含編號的一般的錯誤信息,這種信息只有開發(fā)者和 /或支持小組才能理解。一般的錯誤信息的例子是“發(fā)生了錯誤(代碼 1234),請您與系統(tǒng)維護部門聯(lián)系?!? URL 內容 對于 web 應用,不要在 URL 上暴露任何重要信息,例如密碼、服務器名稱、 IP地址或者文件系統(tǒng)路徑(暴露了 web 服務器的目錄結構)。這些信息可以在攻擊時使用。例如下面就是一個不安全的 URL: PASSWORDamp。file=/home/USER/ 設置 PATH 變量 設置 PATH 為一個已知的值,而不是僅僅使用啟動時的缺省值。攻擊者可以在攻擊應用程序時使用 PATH 變量,例如試圖執(zhí)行一個任意的程序。這些也可以應用于大多數其他的語言。 Perl語言安 全規(guī)范 多年以來, Perl 已經成為用于系統(tǒng)管理和 Web CGI 開發(fā)的功能最強的編程語言之一(幾乎可以使用 Perl 做任何功能的程序)。但其擴展應用,即作為 Inter 上CGI 的開發(fā)工具,使得它經常成為 web 服務器上的攻擊目標。另外,大多數 CGI腳本有著比一般用戶更高的權限,導致它更容易受攻擊。下面列舉了一些開發(fā)者(特別是 CGI 程序員)可以使用的主動的預防性的措施來增強 Perl 代碼的整體安全性(請注意:這不是 web 服務器 CGI 腳本安全性的指導原則)。 Taint 驗證 Perl 版本 包含一個叫做 Taint Checking 的數據驗證措施。如果起用該功能,它就不允許通過用戶輸入(任何程序外的輸入)來操縱其他的外部程序(例如通過管道將數據導入另一個程序執(zhí)行))。一般而言,程序員不能信任輸入腳本和程序的數據(叫做 Tainted 數據 ),因為無法保證它不會產生危害(有意或者無意的)。 Taint 驗證可以通過在命令行參數加入“ T”來開啟。例如你可以在 Perl 腳本的第一行這樣加入“ T”: !usr/bin/perl5 T Tainted 數據包括命令行參數、環(huán)境變量和來自文件的數據。引用 tainted 數據的變量也成 為 tainted 數據。如果腳本試圖通過不安全的方式來使用 tainted 數據會產生一個致命錯誤(對這種情況稱為“不安全的依賴” (Insecure dependency)或者其他的說法)。啟用 tainted 驗證在有些情況下會導致腳本停止運行,常 錯誤 !文檔中沒有指定樣式的文字。 16 常是由于 Perl 解釋器要求所有腳本引用的外部程序的完全路徑必須在 PATH環(huán)境變量中列出,同時 PATH 中包含的每個目錄除了目錄的所有者及相應的所有者用戶組外無法修改。 Taint 驗證對于環(huán)境比較敏感,這就可能會導致大多數程序員不愿使用它,但是只要可能的話,應該使用 taint 驗 證,特別是代碼執(zhí)行其他程序功能時(例如在 CGI 腳本的情況下)。 安全模塊 如果不但輸入數據不可信而且實際的代碼也不可信會產生什么情況?例如用戶從網站上下載了一個 ActiveX 控件,而它實際是一個特洛伊木馬 (Trojan horse)。這種情況下 taint 驗證就不起作用。安全模塊讓程序員可以在 Perl 腳本中將不同的代碼模塊與安全對象聯(lián)系。每個安全對象對于運行的每塊代碼建立了一個限制的環(huán)境。這與 chroot 在一個進程中只能在整體目錄結構的一個子目錄中運行類似。而 saft 對象限制 perl 代碼只能在 perl 包結構的 某些特定包中運行。如何使用安全模式超出了本文的范圍,但是程序員應該在任何時候盡量使用這一功能。 警告參數 (w) 使用 w 參數可以在 Perl 解釋腳本時顯示所有的警告信息。警告可以對以下情況產生:只使用了一次的變量或者完全沒有使用過得變量,未定義的文件句柄,未關閉的文件句柄,或者將非數值變量傳遞到數據變量。該功能不是針對安全處理的,但是可以有助于調試直接或者間接對安全有危害的錯誤。一般推薦總是使用 w 參數??梢栽?taint 驗證時在第一行這樣使用 w 參數: !usr/bin/perl5 Tw Java 語言安全規(guī)范 自從 1995 年發(fā)布以來, Java 成為簡單或者復雜網絡應用的有效編程語言。它在設計時充分考慮了安全問題,因此它具有的限制特征有:收集不再使用的內存碎片的垃圾收集器,嚴格的“ sandbox”安全模型,以及在特定主機上限制應用程序的活動的安全管理器。下面的使用中相關的規(guī)范: 不要在標準輸出上打印消息 在實際的 Inter 系統(tǒng)中避免使用 ()或者 ()打印日志和錯誤消息,原因是當消息打印到標準輸出時,無法立即確定消息發(fā)生的地點。 而且它有可能將敏感信息透露給攻擊者。 封裝 Java 中,如果沒有使用訪問標識符 (access modifier(private、 protected 或者 public))來聲明類、方法和屬性,那么它的默認訪問范圍是包,并且同一包中的所有類都能訪問它。必須記住雖然包有封裝功能,但它只有在每部分加載到包的代碼都由授權用戶控制時才起作用。惡意的用戶可以加入他們自己的類,從而對于包中的所有類、方法和屬性都有完全的訪問權限。 Java 的政策文件支持兩種控制包訪問權限的前綴。 accessClassInPackage defineClassInPackage 所有標準庫中的類都默認是可以公共訪問的(除了由“ sun”開頭的類)。為了保證一個包的安全性,必須修改 ${JAVA HOME}/jre/lib/security 文件夾中的 文件。該文件中的重要行是: =sun. 雖然該方法有作用,但是也有問題。例如程序員在 文件中定義包的安全時必須十分小心。在 中的值是字符型的,“ sun.”將保護“ ”等包,但是不會對 “ sun”或者“ sunshine”等包進行保護。 另一個方法是使用 JAR 密封 (sealing) 。 JAR(Java ARchive)文件是一些類的打包壓縮格式的文件,與常用的 ZIP 格式類似。如果從一個密封 (sealing)的 JAR 文件中加載一個類時,隨后同一個包的類只能從該 JAR 文件加載。為了起用密封(sealing),必須在建立 JAR 文件時這樣設置密封 (seal)參數: Sealed: true 使用密封 (sealing)的 JAR 文件比權限 (permission) 設置更好,因為它不需要安裝安全管理器 (security manager)。 政策文件 Java 內建的安全管理器是對應用程序進行限制的一個方便的工具。很多情況下需要編制一個定制的安全管理器, 及以后的版本提供了 描述 設置的方法而不是 實施它們。 這是通過 Java 政策文件實現(xiàn)的。可以用政策文件以相對模塊化的方式控制文件系統(tǒng)和網絡的訪問。例如可以限制應用程序只能修改名字是foo 的文件。 推薦使用 Java 政策文件和安全管理器而不是重新創(chuàng)建一個類或者系統(tǒng)來限制對主機和網絡的訪問。 C/C++ 語言安全規(guī)范 C 本質上是不安全的編程語言。例如如果不謹慎 使用的話,其大多數標準的字符串庫函數有可能被用來進行緩沖區(qū)攻擊或者格式字符串攻擊。但是,由于其靈活性、快速和相對容易掌握,它是一個廣泛使用的編程語言。下面是針對開發(fā)安全的 C 語言程序的一些規(guī)范。 緩沖區(qū)溢出 避免使用不執(zhí)行邊界檢查的字符串函數,因為它們可能被用來進行緩沖區(qū)溢出攻擊。下面是應該避免使用的函數。同時,也列出了每個函數相應的比較安全的替換方式。 ? 不使用 strcpy(),使用 strncpy() 錯誤 !文檔中沒有指定樣式的文字。 18 ? 不使用 strcat(),使用 strncat() ? 不使用 sprintf(),使用 snprintf() ? 不使用 gets(),使用 fgets() 在上面的前三個中函數中,每個替代函數的“ n”表示了使用的緩沖區(qū)的大小。最后一個函數的“ f”,表示格式,它允許用戶指定期望的輸入的格式。這些替換方程強制程序員定義使用的緩沖區(qū)的尺寸以及確定輸入的類型。 格式化字符串攻擊( Format String Attack)
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1