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

正文內(nèi)容

中國石油天然氣公司開發(fā)安全管理通則(編輯修改稿)

2025-05-12 13:48 本頁面
 

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