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

正文內(nèi)容

應(yīng)用系統(tǒng)安全開發(fā)技術(shù)規(guī)范培訓(xùn)資料-全文預(yù)覽

2025-05-07 00:32 上一頁面

下一頁面
  

【正文】 輸和明文存儲(chǔ)。c) 應(yīng)捕捉所有未處理異常并將它們發(fā)送到一般錯(cuò)誤頁的頁級(jí)別或應(yīng)用程序級(jí)別上,創(chuàng)建全局錯(cuò)誤處理程序。如一般性錯(cuò)誤消息和自定義錯(cuò)誤日志 ID,隨后可以將這些信息映射到事件日志中的詳細(xì)消息。 異常管理1. 捕捉并處理異常:a) 應(yīng)使用結(jié)構(gòu)化異常處理機(jī)制,捕捉并處理異?,F(xiàn)象。(對于Java來說,SecureRandom 的默認(rèn)構(gòu)造方法可以正確的選種)。通常不需要設(shè)置種子數(shù)給SecureRandom, Java會(huì)自動(dòng)獲取一個(gè)信息熵比較平均的值。禁止將口令存儲(chǔ)在代碼中。6. 其他可能引起內(nèi)存溢出的情況。2. 對于數(shù)據(jù)庫查詢操作,如果查詢返回的結(jié)果較多時(shí),應(yīng)設(shè)計(jì)成分次提取。 這些控制信息應(yīng)加密后存放在配置文件中。b) 在 .NET 中,則需要使用關(guān)鍵字 using 引入 IDisposable 接口來進(jìn)行資源釋放,而不是直接關(guān)閉管理資源的對象。將所有臨時(shí)文件都存放在該文件夾中, 當(dāng)臨時(shí)文件使用完畢后應(yīng)及時(shí)清除臨時(shí)文件。這意味著文件只應(yīng)被指定的用戶訪問,而且該用戶應(yīng)該被限制為最小權(quán)限,例如對文件的讀寫權(quán)限都應(yīng)被限制到最低。 安全的使用文件名應(yīng)避免在傳遞的參數(shù)中直接使用真實(shí)的文件名,盡量使用索引值來映射實(shí)際的文件路徑。2. 上傳文件大小限制,限制文件的容量大小范圍。由于資源泄露會(huì)導(dǎo)致系統(tǒng)出錯(cuò)而且很難捕捉到,所以我們建議建立一個(gè)資源管理模塊并且完全按照規(guī)則進(jìn)行操作。通過 row 級(jí)別的訪問控制是防止用戶信息泄露的“最后的防線”了。 對數(shù)據(jù)庫操作的返回?cái)?shù)據(jù)進(jìn)行驗(yàn)證 不應(yīng)盲目信任來自數(shù)據(jù)庫的數(shù)據(jù),建議對來自數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行驗(yàn)證,確保其格式正確且能夠安全的使用:1. 檢查 SQL 請求的返回記錄數(shù), SQL 請求的預(yù)期結(jié)果為單值數(shù)據(jù),但存在多行結(jié)果時(shí),表明 SQL 請求中被可能被攻擊者插入了注入語句,此時(shí)應(yīng)中止后續(xù)處理并記錄日志。PreparedStatementstmt= (q)。 ResultSetresults=()。當(dāng)程序要執(zhí)行該語句的時(shí)候,它就會(huì)告知數(shù)據(jù)庫這些綁定參數(shù)的運(yùn)行值,這樣就避免了數(shù)據(jù)被認(rèn)為是命令語句而被執(zhí)行的錯(cuò)誤。在構(gòu)造 SQL 請求時(shí),開發(fā)者應(yīng)當(dāng)知道哪些應(yīng)該被翻譯為數(shù)據(jù)而哪些應(yīng)該被翻譯為命令的一部分。 避免為應(yīng)用程序分配過大或不必要的數(shù)據(jù)庫權(quán)限,禁止將數(shù)據(jù)庫 DBA 權(quán)限分配給應(yīng)用程序。 從服務(wù)器端提取關(guān)鍵參數(shù)需要獲取參數(shù)時(shí),應(yīng)當(dāng)從服務(wù)器端提取關(guān)鍵參數(shù),禁止從客戶端輸入,例如產(chǎn)品價(jià)格、用戶角色、鑒權(quán)標(biāo)志等,如果關(guān)鍵參數(shù)允許從客戶端輸入提供,攻擊者可通過偽造或篡改輸入數(shù)據(jù)造成程序關(guān)鍵邏輯錯(cuò)誤。 建立統(tǒng)一的輸入驗(yàn)證接口應(yīng)建立統(tǒng)一的輸入驗(yàn)證接口,為整個(gè)應(yīng)用系統(tǒng)提供一致的驗(yàn)證方法,這樣可以避免分散驗(yàn)證帶來的代碼管理混亂,并且可以減少遺漏。輸入驗(yàn)證本身就很復(fù)雜,如果和自動(dòng)錯(cuò)誤恢復(fù)的代碼混合在一起的話,將會(huì)造成更大的復(fù)雜性,自動(dòng)錯(cuò)誤恢復(fù)代碼很可能改變請求的含義或者截?cái)囹?yàn)證邏輯。5. 應(yīng)使用正則表達(dá)式進(jìn)行白名單檢查盡量避免使用黑名單法。4. 檢查數(shù)據(jù)是否包含特殊字符,如: 、 、 39。 對輸入內(nèi)容進(jìn)行規(guī)范化處理后再進(jìn)行驗(yàn)證當(dāng)輸入數(shù)據(jù)包含文件名、路徑名、URL 等數(shù)據(jù)時(shí),應(yīng)先對輸入內(nèi)容進(jìn)行規(guī)范化處理后再進(jìn)行驗(yàn)證,如文件路徑、URL 地址等數(shù)據(jù),需要規(guī)范化為標(biāo)準(zhǔn)的格式后再進(jìn)行驗(yàn)證。8. 系統(tǒng)性能參數(shù)。4. 從數(shù)據(jù)庫中檢索出的數(shù)據(jù)。 這樣在看一段代碼時(shí),就很容易識(shí)別數(shù)據(jù)是在可信邊界的哪一側(cè)。}由于開發(fā)者都知道用戶是不能直接訪問 session 對象的,所以很容易信任來自 session 的所有信息,但是如果在該 session 中混合存儲(chǔ)了可信和不可信的數(shù)據(jù), 就會(huì)違反完全可信邊界的原則,帶來安全隱患。當(dāng)程序混淆了可信和不可信數(shù)據(jù)的界限時(shí)會(huì)導(dǎo)致安全邊界發(fā)生問題,最容易導(dǎo)致這種錯(cuò)誤的情況是把可信和不可信數(shù)據(jù)混合在一個(gè)數(shù)據(jù)結(jié)構(gòu)里。例如,SSL協(xié)議可以驗(yàn)證參與通訊的一方或雙方使用的證書是否是由權(quán)威的受信任的數(shù)字證書認(rèn)證機(jī)構(gòu)頒發(fā),并且能執(zhí)行雙向身份認(rèn)證。在許多情況下這是很簡單的(例如,在一個(gè)未加密的WiFi 無線接入點(diǎn)的接受范圍內(nèi)的中間人攻擊者,可以將自己作為一個(gè)中間人插入這個(gè)網(wǎng)絡(luò))。2. 網(wǎng)絡(luò)帶寬出現(xiàn)反常:通過某些帶寬控制器,可以實(shí)時(shí)看到目前網(wǎng)絡(luò)帶寬的分布情況,如果某臺(tái)機(jī)器長時(shí)間的占用了較大的帶寬,這臺(tái)機(jī)器就有可能在監(jiān)聽。證明你的網(wǎng)絡(luò)有嗅探器有兩條經(jīng)驗(yàn):1. 網(wǎng)絡(luò)通訊丟包率非常高:通過一些網(wǎng)管軟件,可以看到信息包傳送情況,最簡單是ping命令。黑客通過將一個(gè)個(gè)“喪尸”或者稱為“肉雞”組成僵尸網(wǎng)絡(luò),就可以發(fā)動(dòng)大規(guī)模DDoS或SYN洪水網(wǎng)絡(luò)攻擊,或者將“喪尸”們組到一起進(jìn)行帶有利益的刷網(wǎng)站流量、Email垃圾郵件群發(fā),癱瘓預(yù)定目標(biāo)受雇攻擊競爭對手等商業(yè)活動(dòng)。可審計(jì)性對出現(xiàn)的安全問題提供調(diào)查的依據(jù)和手段。安全的幾個(gè)基本要素為機(jī)密性、完整性、可用性、可審計(jì)性、不可抵賴性等方面的安全要求。5. 程序編碼結(jié)束后,應(yīng)對代碼進(jìn)行優(yōu)化,提高應(yīng)用處理 SQL 的性能。 如果某個(gè)函數(shù)不能保證下標(biāo)所指向元素的有效性,或者根本不去檢查邊界時(shí),不要使用該函數(shù),應(yīng)該尋找一個(gè)安全的函數(shù),或者自己重新編寫一個(gè)或者封裝一個(gè)不安全的函數(shù),加上必要的判斷條件,使它安全。 文件操作的要求在需要進(jìn)行文件操作時(shí),應(yīng)預(yù)先設(shè)定目前工作路徑(全路徑名),使用全路徑名表示文件的位置。 提供備份機(jī)制為保證運(yùn)行數(shù)據(jù)的完整性和可用性,軟件開發(fā)應(yīng)設(shè)計(jì)有效的備份策略,根據(jù)業(yè)務(wù)和系統(tǒng)維護(hù)需要提供定期或不定期、自動(dòng)或手動(dòng)方式的備份機(jī)制。例如,在一些編程語言中signed 和 unsigned 的數(shù)據(jù)類型是視為不同的(如C或者C++語言)。特權(quán)用戶類型包括:1. 超級(jí)用戶。 關(guān)鍵數(shù)據(jù)傳輸保護(hù)1. 軟件在傳輸關(guān)鍵數(shù)據(jù)時(shí),使用加密算法保證數(shù)據(jù)在通信過程不被破譯,使用數(shù)字簽名保證數(shù)據(jù)在傳輸過程中的一致性和不可否認(rèn)性。使用結(jié)構(gòu)化的編程語言,盡量避免使用遞歸和 Goto 聲明。如果進(jìn)程之間需要交互,則這些交互操作應(yīng)同步。3. 將特權(quán)的有效時(shí)間或者可以有效的時(shí)間限制到絕對最小。4. 只有在上一個(gè)任務(wù)完成后才開始下一個(gè)任務(wù)。 最小化功能根據(jù)“沒有明確允許的就默認(rèn)禁止”的原則, 軟件應(yīng)只包含那些為達(dá)到某個(gè)目標(biāo)而確實(shí)需要的功能,不應(yīng)包含只是在將來某個(gè)時(shí)間需要但需求說明書中沒有的功能。 模塊劃分1. 軟件應(yīng)該按照安全性劃分模塊,審計(jì)和訪問控制模塊為安全可信模塊,其它模塊為不可信任模塊。為網(wǎng)景公司的前雇員Lou Montulli在1993年3月所發(fā)明。當(dāng)客戶端在多個(gè)服務(wù)器調(diào)取數(shù)據(jù)時(shí),保持會(huì)話狀態(tài)的一致性是需要注意的,客戶端需用同時(shí)保持和某一個(gè)主機(jī)的連接,或者多個(gè)服務(wù)器端需要共享一個(gè)儲(chǔ)存會(huì)話信息的文件系統(tǒng)或者數(shù)據(jù)庫。HTTPS不應(yīng)與在RFC 2660中定義的安全超文本傳輸協(xié)議(SHTTP)相混。IETF()將SSL作了標(biāo)準(zhǔn)化,即RFC2246,并將其稱為TLS(Transport Layer Security),其最新版本是RFC5246,?,F(xiàn)行Web瀏覽器亦普遍將HTTP和SSL相結(jié)合,從而實(shí)現(xiàn)安全通信。 SSL安全套接層(Secure Sockets Layer,SSL),一種安全協(xié)議,是網(wǎng)景公司(Netscape)在推出Web瀏覽器首版的同時(shí)提出的,目的是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性。 參數(shù)化查詢參數(shù)化查詢(Parameterized Query 或 Parameterized Statement)是指在設(shè)計(jì)與數(shù)據(jù)庫鏈接并訪問數(shù)據(jù)時(shí),在需要填入數(shù)值或數(shù)據(jù)的地方,使用參數(shù) (Parameter) 來給值,這個(gè)方法目前已被視為最有效可預(yù)防SQL注入攻擊 (SQL Injection) 的攻擊手法的防御方式。例如在 SQL 查詢中,單引號(hào)(‘)是危險(xiǎn)的字符;在文件系統(tǒng)路徑中兩個(gè)點(diǎn)號(hào)(..)是危險(xiǎn)的字符; 在命令 shell 中,分號(hào)(;)和雙 amp。 死鎖死鎖是操作系統(tǒng)或軟件運(yùn)行的一種狀態(tài):在多任務(wù)系統(tǒng)下,當(dāng)一個(gè)或多個(gè)進(jìn)程等待系統(tǒng)資源,而資源又被進(jìn)程本身或其它進(jìn)程占用時(shí),就形成了死鎖。 敏感信息系統(tǒng)的敏感信息包括用戶身份信息、認(rèn)證信息、授權(quán)信息、交易過程中的私密或隱私信息、其它的敏感信息。 脆弱性脆弱性指計(jì)算機(jī)系統(tǒng)安全方面的缺陷,使得系統(tǒng)或其應(yīng)用數(shù)據(jù)的保密性、完整性、可用性、訪問控制、監(jiān)測機(jī)制等面臨威脅。 WEB 開發(fā)規(guī)范部分則指導(dǎo)用戶在WEB 系統(tǒng)( B/S 架構(gòu)應(yīng)用)的研發(fā)方面時(shí)如何增加對應(yīng)用軟件的保護(hù)。使本組織能以標(biāo)準(zhǔn)的、規(guī)范的方式設(shè)計(jì)和編碼。黑客攻擊技術(shù)越來越成熟和大眾化,針對Web的攻擊和破壞不斷增長,Web安全風(fēng)險(xiǎn)達(dá)到了前所未有的高度。目錄1 背景與目標(biāo) 12 安全編程概念 1 安全編程 1 結(jié)構(gòu)化編程 2 脆弱性 2 可信計(jì)算 2 安全可信模塊 3 不可信任模塊 3 敏感信息 3 特權(quán) 3 信息隱藏 3 中間件 3 死鎖 4 可信邊界 4 元字符 4 參數(shù)化查詢 4 UNIX JAIL環(huán)境 4 臨時(shí)文件 4 信息熵 5 SSL 5 TLS 5 HTTPS 5 Http會(huì)話 5 Cookie 6 HttpOnly Cookie 63 安全編程原則 6 統(tǒng)一的安全規(guī)范 6 模塊劃分 6 最小化功能 7 最小化特權(quán) 7 對多任務(wù)、多進(jìn)程加以關(guān)注 7 界面輸出最小化 7 使代碼簡單、最小化和易于修改 8 避免高危的服務(wù)、協(xié)議 8 數(shù)據(jù)和代碼分離 8 關(guān)鍵數(shù)據(jù)傳輸保護(hù) 8 禁止賦予用戶進(jìn)程特權(quán) 8 使用適當(dāng)?shù)臄?shù)據(jù)類型 9 使用經(jīng)過驗(yàn)證的安全代碼 9 使用應(yīng)用中間件 9 設(shè)計(jì)錯(cuò)誤、 異常處理機(jī)制 9 提供備份機(jī)制 9 檢查傳遞變量的合法性 9 檢查所有函數(shù)返回代碼 9 修改面向用戶的操作的反饋缺省描述 9 文件操作的要求 10 其他編碼原則 104 應(yīng)用安全分析 11 安全需求 11 安全威脅 11 Web安全漏洞 11 拒絕服務(wù)攻擊 12 嗅探攻擊 12 中間人攻擊 12 安全約束 135 安全編程要求 13 輸入處理 13 建立可信邊界 13 驗(yàn)證各種來源的輸入 14 保證所有的輸入信息是被驗(yàn)證過的 14 對輸入內(nèi)容進(jìn)行規(guī)范化處理后再進(jìn)行驗(yàn)證 15 選擇合適的數(shù)據(jù)驗(yàn)證方式 15 防范元字符攻擊 15 拒絕驗(yàn)證失敗的數(shù)據(jù) 15 在服務(wù)端進(jìn)行驗(yàn)證 15 建立統(tǒng)一的輸入驗(yàn)證接口 16 控制寫入日志的信息 16 從服務(wù)器端提取關(guān)鍵參數(shù) 16 輸出處理 16 限制返回給客戶的信息 16 建立錯(cuò)誤信息保護(hù)機(jī)制 16 數(shù)據(jù)庫訪問 16 合理分配數(shù)據(jù)庫訪問權(quán)限 16 合理存放數(shù)據(jù)庫連接帳號(hào)和密碼信息 17 使用參數(shù)化請求方式 17 對 SQL 語句中來自于不可信區(qū)域的輸入?yún)?shù)進(jìn)行驗(yàn)證 18 對數(shù)據(jù)庫操作的返回?cái)?shù)據(jù)進(jìn)行驗(yàn)證 18 分次提取數(shù)據(jù) 18 通過 row(行)級(jí)別的訪問控制來使用數(shù)據(jù)庫 18 確保數(shù)據(jù)庫資源被釋放 18 文件操作 19 對上傳文件進(jìn)行限制 19 把文件名以及文件內(nèi)容作為不可信的輸入對待 19 安全的使用文件名 19 使用文件系統(tǒng)訪問控制 19 注意文件訪問競爭條件 19 安全使用臨時(shí)文件 20 確保文件系統(tǒng)資源被釋放 206 安全特征 20 關(guān)注應(yīng)用的對象重用 20 用戶訪問控制信息的機(jī)密性 20 不要在客戶端存放敏感數(shù)據(jù) 20 避免內(nèi)存溢出 21 可配置數(shù)據(jù)保護(hù) 21 禁止在源代碼中寫入口令 21 隨機(jī)數(shù) 21 使用可信的密碼算法 22 異常管理 227 應(yīng)用安全設(shè)計(jì)規(guī)范 23 應(yīng)用安全規(guī)劃 23 數(shù)據(jù)安全等級(jí)劃分 23 數(shù)據(jù)庫規(guī)劃 23 用戶權(quán)限 23 數(shù)據(jù)源設(shè)計(jì) 23 外部系統(tǒng)訪問 23 角色劃分 24 URL規(guī)劃 24 程序文件目錄規(guī)劃 24 數(shù)據(jù)及程序分離 24 靜態(tài)程序資源 24 程序文件分類 24 Cookie 24 文件安全 25 文件存儲(chǔ) 25 文件操作 25 文件類型 25 第三方組件安全 25 組件兼容性 25 組件安全及成熟度 25 組件配置 25 Web Service 25 RESTful Web Service 26 應(yīng)用安全關(guān)注點(diǎn) 27 應(yīng)用安全限制應(yīng)對方案 29 外網(wǎng)隔離 29 外網(wǎng)文件操作 29 正向和反向隔離裝置(國網(wǎng)系統(tǒng)) 298 應(yīng)用安全開發(fā)規(guī)范 30 Java及Web安全編程規(guī)范 30 不信任未知 30 數(shù)據(jù)層開發(fā) 30 會(huì)話管理 32 Cookie 33 輸入驗(yàn)證 33 輸入文件名的驗(yàn)證 34 輸出處理 34 敏感信息處理 36 異常信息處理 37 特殊頁面跳轉(zhuǎn) 37 文件操作 37 資源釋放 38 內(nèi)存控制 38 外部程序調(diào)用漏洞 38 整數(shù)溢出 39 C++安全編程規(guī)范 39 不信任未知 39 免緩存區(qū)溢出 40 免緩整數(shù)溢出 42 域名合法性檢查 45 檢查返回值 46 產(chǎn)生隨機(jī)數(shù) 47 驗(yàn)證輸入文件名 48 類設(shè)計(jì)注意事項(xiàng) 48 外部程序調(diào)用漏洞 50 臨時(shí)文件處理 501 背景與目標(biāo)在Internet大眾化及Web技術(shù)飛速演變的今天,Web安全所面臨的挑戰(zhàn)日益嚴(yán)峻。本規(guī)范為解決Web應(yīng)用系統(tǒng)安全問題,對主要的應(yīng)用安全問題進(jìn)行分析,并有針對性的從設(shè)計(jì)及開發(fā)規(guī)范、開發(fā)管理、安全組件框架、安全測試方面提供整體的安全解決方案。本規(guī)范對開發(fā)人員的編碼提出統(tǒng)一的安全要求, 主要涉及輸入處理、 輸出處理、 數(shù)據(jù)庫訪問、 文件操作、異常管理等方面,如下圖: 輸入處理部分能指導(dǎo)開發(fā)者避免用戶的不良輸入;輸出處理能指導(dǎo)開發(fā)者對輸出內(nèi)容進(jìn)行過濾; 數(shù)據(jù)庫訪問、 文件操作部分則能指導(dǎo)開發(fā)者進(jìn)行數(shù)據(jù)庫查詢, 寫入文件等
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1