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

正文內容

應用開發(fā)安全的指南-資料下載頁

2025-04-06 03:06本頁面
  

【正文】 , sizeof(buffer), emacs %s, filename)。system(buffer)。在以上的例子中,可以通過使用分號利用文件名變量在sehll 中插入額外的命令(例如文件名可以是/etc/hosts。 rm *,這將在顯示/etc/hosts 目錄文件的同時,刪除目錄中的所有文件)。而exec()函數(shù)只保證第一個參數(shù)被執(zhí)行:execl(usr/bin/emacs, usr/bin/emacs, filename, NULL)。上面的例子保證文件名僅僅作為一個參數(shù)輸入Emacs 工具,同樣它在Emacs 命令中使用完全的路徑而不是使用可以被攻擊者利用的PATH 環(huán)境變量。進程需要訪問資源時(無論是磁盤、內存或是文件)通常需要執(zhí)行兩個步驟:首先測試資源是否空閑可用;如果可用,就訪問該資源,否則它等到資源不再使用為止再去訪問它。當另一個進程在步驟1 和2 之間想要訪問同一個資源時就出現(xiàn)問題了。這會導致不可預測的結果。進程可能會被鎖定,或者一個進程劫持獲得了另一個進程的較大的權限而導致安全問題。攻擊主要集中在有較大權限的程序上(稱為setuid程序)。競爭條件攻擊通常利用程序執(zhí)行時可以訪問到的資源。另外權限低的程序也存在安全風險,因為攻擊者可能會等待有較高權限的用戶執(zhí)行那個程序(例如root),然后進行攻擊。下面的建議有助于緩解競爭條件(race condition)攻擊:在進行文件操作時,利用那些使用文件描述符的函數(shù)而不能使用那些使用文件路徑的函數(shù)(例如使用fdopen()而不能使用fopen())。文件描述符使得惡意的用戶在文件打開時或是在原始的進程對文件進行操作前,無法使用文件連接(符號式的或是物理的)來改變文件。在寫文件甚至在讀文件時使用ftl()和flock()函數(shù)來對文件加鎖,這樣它們就不能被其他進程訪問。它幾乎可以建立原子級的操作。謹慎操縱臨時文件,因為它往往會導致競爭條件。檢驗有效的返回值非常重要。一個例子是舊的/bin/login 的實現(xiàn)中不檢驗錯誤的返回值,導致當它找不到/etc/passwd 文件時返回root 的訪問權限。如果該文件損壞了,那么這種情況是合理的,但如果該文件存在只是無法訪問,那么這就是一個大問題。. Perl 安全開發(fā)要求多年以來,Perl 已經成為用于系統(tǒng)管理和Web CGI 開發(fā)的功能最強的編程語言之一(幾乎可以使用Perl 做任何功能的程序)。但其擴展應用,即作為Internet 上CGI 的開發(fā)工具,使得它經常成為Web 服務器上的攻擊目標。另外,大多數(shù)CGI 腳本有著比一般用戶更高的權限,導致它更容易受攻擊。下面列舉了一些開發(fā)者(特別是CGI 程序員)可以使用的主動的預防性的措施來增強Perl 代碼的整體安全性(請注意:這不是Web 服務器CGI 腳本安全性的指導原則)。 驗證Perl 包含一個叫做Taint Checking 的數(shù)據(jù)驗證措施。如果起用該功能,將不允許通過用戶輸入(任何程序外的輸入)來操縱其他的外部程序(例如通過管道將數(shù)據(jù)導入另一個程序執(zhí)行))。一般而言,程序員不能信任輸入腳本和程序的數(shù)據(jù)(叫做Tainted 數(shù)據(jù)),因為無法保證它不會產生危害(有意或者無意的)。Taint 驗證可以通過在命令行參數(shù)加入“T”來開啟。例如你可以在Perl 腳本的第一行這樣加入“T”:!usr/bin/perl5 TTainted 數(shù)據(jù)包括命令行參數(shù)、環(huán)境變量和來自文件的數(shù)據(jù)。引用tainted數(shù)據(jù)的變量也稱為tainted 數(shù)據(jù)。如果腳本試圖通過不安全的方式來使用tainted 數(shù)據(jù)會產生一個致命錯誤(對這種情況稱為“不安全的依賴”(Insecuredependency)或者其他的說法)。啟用tainted 驗證在有些情況下會導致腳本停止運行,常常是由于Perl 解釋器要求所有腳本引用的外部程序的完全路徑必須在PATH 環(huán)境變量中列出,同時PATH 中包含的每個目錄除了目錄的所有者及相應的所有者用戶組外無法修改。Taint 驗證對于環(huán)境比較敏感,但是只要可能的話,應該使用taint 驗證,特別是代碼執(zhí)行其他程序功能時(例如在CGI 腳本的情況下)。如果不但輸入數(shù)據(jù)不可信而且實際的代碼也不可信,例如用戶從網站上下載了一個ActiveX 控件,而它實際是一個特洛伊木馬(Trojan horse)。這種情況下taint 驗證就不起作用。安全模塊讓程序員可以在Perl 腳本中將不同的代碼模塊與安全對象聯(lián)系。每個安全對象對于運行的每塊代碼建立了一個限制的環(huán)境。這與chroot 在一個進程中只能在整體目錄結構的一個子目錄中運行類似。而saft 對象限制perl 代碼只能在perl 包結構的某些特定包中運行。如何使用安全模式超出了本文的范圍,但是程序員應該在任何時候盡量使用這一功能。使用w 參數(shù)可以在Perl 解釋腳本時顯示所有的警告信息。警告可以在以下情況產生:只使用了一次的變量或者完全沒有使用過得變量,未定義的文件句柄,未關閉的文件句柄,或者將非數(shù)值變量傳遞到數(shù)據(jù)變量。該功能不是針對安全處理的,但是可以有助于調試直接或者間接對安全有危害的錯誤。一般推薦總是使用w 參數(shù)??梢栽趖aint 驗證時在第一行這樣使用w 參數(shù):!usr/bin/perl5 Tw4. 應用系統(tǒng)測試安全應用系統(tǒng)在正式上線前應對安全性進行測試,驗證應用系統(tǒng)的安全性是否符合安全設計及安全需求,應用系統(tǒng)的安全測試包括以下內容:測試之前,首先要確定測試大綱,在測試大綱中應當明確應用安全方面的測試內容、手段及方案(即測試用例)。包括:l安全性測試的環(huán)境要求;l安全性測試軟件、測試設備要求;l安全性測試人員要求;l安全性測試的時間要求;l安全性測試的內容;l安全性測試的輸入數(shù)據(jù);l安全性測試的預期結果;l安全性測試的詳細過程;l安全性測試的風險和風險規(guī)避方案。測試大綱中安全性方面的描述是進行安全性測試的一個重要依據(jù)。大綱內容的編寫應當依據(jù)應用系統(tǒng)需求說明書及應用系統(tǒng)設計說明書中,有關安全方面的內容來編寫相應的測試用例。應根據(jù)應用系統(tǒng)的具體情況,設計安全性測試的具體方法和內容,通常主要的測試方法和內容分為功能性測試、壓力測試、滲透性測試、審核性測試。功能性測試要求:對應用系統(tǒng)的安全功能點進行測試,確保安全功能的有效性、正確性。l 這些功能點應全部包含在測試大綱中,在大綱的測試用例中體現(xiàn)具體的測試方法。測試大綱中的這些內容應當覆蓋了需求說明書中安全功能部分的要求。l 測試的具體內容主要涉及以下幾個方面:n 安全審計n 通信安全n 數(shù)據(jù)保護n 身份認證n 容錯及資源分配方面的要求壓力測試:對應用系統(tǒng)的安全功能進行壓力測試,確保安全功能可以滿足設計的需要。l 壓力測試的具體應全部包含在測試大綱中,在大綱的測試用例中體現(xiàn)具體的測試方法。l 測試大綱中的這些要求應當參照設計說明書中所描述的設計目標進行測試用例的設計,包括但不限于:n 應用系統(tǒng)服務器端和單個終端進行安全數(shù)據(jù)傳輸?shù)淖畲笕萘?。n 應用系統(tǒng)服務器端能夠與多少終端同時進行安全數(shù)據(jù)傳輸。n 服務器承受的最大并發(fā)連接數(shù)。滲透性測試:模擬攻擊手段,對應用系統(tǒng)抵抗攻擊的能力進行測試。主要測試應用程序及應用系統(tǒng)配置上的安全漏洞。l 滲透測試的具體應全部包含在測試大綱中,在大綱的測試用例中體現(xiàn)具體的測試方法。l 測試大綱中滲透測試方法的選擇需要依據(jù)設計說明書中描述的應用系統(tǒng)采用的開發(fā)工具及應用系統(tǒng)安裝所需要的基礎應用平臺,如iis、apached等,來設計不同的測試方法,包括但不限于:n 對web server的滲透攻擊測試或者工具掃描性測試。n SQL 注入、跨棧攻擊。審核性測試:l 代碼審核。這不是必需的測試手段,如果條件允許,可以針對容易出現(xiàn)代碼漏洞的程序,特別是關于身份認證等方面的部分代碼進行審核。l 可以采用開發(fā)相關的專用掃描工具,或者編制相應的腳本程序,檢查代碼中的不安全函數(shù)的使用,如:strcpy(),strcat()等。測試過程中,應詳細記錄測試過程發(fā)生的每一件事情,列出測試過程中發(fā)現(xiàn)的問題。這些信息包括:發(fā)現(xiàn)了什么,在哪里發(fā)現(xiàn)的,當時的環(huán)境這些問題是否可重現(xiàn)。應根據(jù)測試的過程和測試結果,提出被測試系統(tǒng)、測試過程等方面的改進說明。應確保測試用例、測試內容和測試結果的保密性。1. 測試環(huán)境的物理、硬軟件環(huán)境要求應當可以模擬真實環(huán)境。2. 為確保測試環(huán)境的安全,應將測試環(huán)境與開發(fā)環(huán)境、生產環(huán)境相隔離,避免測試工作對業(yè)務的影響。3. 測試數(shù)據(jù)如果選擇是真實數(shù)據(jù),應限定使用該數(shù)據(jù)的測試人員的數(shù)量,并在測試完成后全部刪除。4. 系統(tǒng)測試和驗收通常需要大量的(真實數(shù)據(jù))盡可能靠近實際運行數(shù)據(jù)的測試數(shù)據(jù)。應避免使用含有個人信息的業(yè)務數(shù)據(jù)庫。如果要使用其中信息,在用之前應使其失去個性化。當把運行數(shù)據(jù)用于測試目的時,應采取以下措施保護運行數(shù)據(jù)。n 如果該數(shù)據(jù)由測試人員使用,則需要相關授權業(yè)務人員參與,或者監(jiān)督。n 每次把運行信息復制到測試應用系統(tǒng)都應有單獨的授權。n 應記錄運行信息的復制和使用,以提供一種檢查追蹤。5. 在與其他系統(tǒng)的互操作性測試中,應充分考慮對其他系統(tǒng)的影響,選擇適當?shù)臅r間、方法。測試完成后,在正式上線前,應進行安全檢查,消除測試用的一切后門、用戶名及口令等,包括但不限于:測試用的測試數(shù)據(jù),即測試過程中的臨時數(shù)據(jù),特別注意要刪除授權訪問的那些重要測試數(shù)據(jù)。測試用的賬號、口令,特別是有高級權限的賬號。測試用時臨時開通的系統(tǒng)服務、防火墻端口及策略。與外系統(tǒng)測試時,要求外系統(tǒng)上臨時開啟的服務、賬號等。1. 若不給自己設限,則人生中就沒有限制你發(fā)揮的藩籬。2. 若不是心寬似海,哪有人生風平浪靜。在紛雜的塵世里,為自己留下一片純靜的心靈空間,不管是潮起潮落,也不管是陰晴圓缺,你都可以免去浮躁,義無反顧,勇往直前,輕松自如地走好人生路上的每一步3. 花一些時間,總會看清一些事。用一些事情,總會看清一些人。有時候覺得自己像個神經病。既糾結了自己,又打擾了別人。努力過后,才知道許多事情,堅持堅持,就過來了。4. 歲月是無情的,假如你丟給它的是一片空白,它還給你的也是一片空白。歲月是有情的,假如你奉獻給她的是一些色彩,它奉獻給你的也是一些色彩。你必須努力,當有一天驀然回首時,你的回憶里才會多一些色彩斑斕,少一些蒼白無力。只有你自己才能把歲月描畫成一幅難以忘懷的人生畫卷。
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1