提高安全程式設計方面的內容比較多,需要有耐心讀下去哈,先來個前言簡述
Bug包括兩大類,功能性的缺陷,另外一種是安全方面的問題
從過去的經驗來看,要做好安全工作對經驗積累或改造是需要比較多的時間,開發過程中要注意到不同階段的要求,前期不宜採用過高的安全策略影響系統上線進度,也不過於輕視大意。
一般來說,硬體故障我們尚可以透過高可用及備份負載機制,達到減少受影響面。
但程式中的功能錯誤及安全方面的問題的修改短則半小時,長至幾天或半個月來修復的。
A1:分享安全問題的危害性及FIX經驗
定期統一組織課程,給開發人員講解安全執行漏洞修補及安全細節,防止了那些問題的發生,防止開發人員及其專案領導將安全控制視為開發過程中的障礙,將安全防止程式設計做到日常開發中。
A2:架構師或高階程式設計師培訓程式設計師對安全方面的意識
例如架構師中的一些安全設計工作內容舉例經驗分享,將安全性納入到設計過程中的好處體現在五個方面:
1、可以精心協調風險評估分析過程和可重用的風險評估模型。
.2、可以在早期階段確定由架構環境或部署環境所帶來的風險。
.3、可重用的誤用案例可以節省測試階段的時間。
.4、減少特定的設計漏洞。
.5、如果有必要,可以調整或變更帶來風險的架構限制,
如果無法完全清除風險,也可以用補償性控制來定義減輕風險的策略。
用來教育應用開發人員加強編碼做法的安全性。
1:據需要撐握一兩個漏洞掃描程式工具的使用
2: Web安全的三個攻防姿
3 使用簡訊註冊賬戶或接收密碼,重置密碼
注意ip,手機號碼等條件下規定時間內的次數限制
4:瞭解資料庫安全知識
4.1資料庫防護工作了解是否到位,特別要關注資料洩露最為緊要及致命的據實際情況進行某個級別的網路防問隔離策略,資料庫備份資訊,防丟失。保護網際網路安全上面,駭客很容易操縱資料庫中的網路介面的。
4.2程式上要注意SQL注入,金鑰管理不當
4.3違法操作檢查,開發人員可以利用追蹤資訊/日誌文字來查詢和解決此類問題。
5:將隱私資料明文儲存在外部儲存
6:將系統資料明文儲存在外部儲存
7:軟體執行時依賴的資料儲存在外部儲存
8:APP要注意內部敏感檔案被root許可權軟體讀寫
9:不加密地明文傳輸敏感資料,token失效機制應用
10:網路通訊方面, HTTP SSL證書有效性檢查
11:APP使用IMEI或IMSI作為唯一認證憑據,也有可能導致假冒使用者的攻擊。
分析客戶端與伺服器的通訊協議,直接模擬客戶端的網路行為。
12:中介軟體或開源元件補丁
常用的中介軟體如:Redis,mogodb,casandra...,注意關注官方訊息,這類程式樹大招風,容易爆出Oday,一有釋出補丁,就要第一時間打上;
13.其他方面的一些關鍵詞(方便搜尋深入瞭解)
13.1作業系統一些漏洞,windows,linux,centos
OpenSSL在linux (Debian、Ubuntu、CentOS、Fedora、OpenBSD、FreeBSD及NetBSD):
13.2 瀏覽器安全(IE,firefox,chrome)等
13.3使用者日常軟體(如PDF,FLASH)的安全關注
13.4開發框架安全(JAVA Spring mvc)
C1:有專門的安全人員(或指定特定開發人員)使用軟體定期檢查漏洞
定期掃描系統生成安全報告,讓開發人員據檢測報告在業務及人力許可的範圍內處理
C2:團隊定期的程式碼Review,發現安全漏洞
研發主管或核心開發人員對於難點及潛在風險問題,需要安排到後續開發計劃中,防止業務上線後觸發,以老帶新,培養安全意識,與運維團隊一起,進行部署之後的安全維護和故障排除
提高安全程式設計方面的內容比較多,需要有耐心讀下去哈,先來個前言簡述
前言簡述:Bug包括兩大類,功能性的缺陷,另外一種是安全方面的問題
從過去的經驗來看,要做好安全工作對經驗積累或改造是需要比較多的時間,開發過程中要注意到不同階段的要求,前期不宜採用過高的安全策略影響系統上線進度,也不過於輕視大意。
一般來說,硬體故障我們尚可以透過高可用及備份負載機制,達到減少受影響面。
但程式中的功能錯誤及安全方面的問題的修改短則半小時,長至幾天或半個月來修復的。
A怎樣提升程式設計師的安全程式設計A1:分享安全問題的危害性及FIX經驗
定期統一組織課程,給開發人員講解安全執行漏洞修補及安全細節,防止了那些問題的發生,防止開發人員及其專案領導將安全控制視為開發過程中的障礙,將安全防止程式設計做到日常開發中。
A2:架構師或高階程式設計師培訓程式設計師對安全方面的意識
例如架構師中的一些安全設計工作內容舉例經驗分享,將安全性納入到設計過程中的好處體現在五個方面:
1、可以精心協調風險評估分析過程和可重用的風險評估模型。
.2、可以在早期階段確定由架構環境或部署環境所帶來的風險。
.3、可重用的誤用案例可以節省測試階段的時間。
.4、減少特定的設計漏洞。
.5、如果有必要,可以調整或變更帶來風險的架構限制,
如果無法完全清除風險,也可以用補償性控制來定義減輕風險的策略。
B:程式設計師開發中一些與安全相關的工作要求及案例用來教育應用開發人員加強編碼做法的安全性。
1:據需要撐握一兩個漏洞掃描程式工具的使用
2: Web安全的三個攻防姿
3 使用簡訊註冊賬戶或接收密碼,重置密碼
注意ip,手機號碼等條件下規定時間內的次數限制
4:瞭解資料庫安全知識
4.1資料庫防護工作了解是否到位,特別要關注資料洩露最為緊要及致命的據實際情況進行某個級別的網路防問隔離策略,資料庫備份資訊,防丟失。保護網際網路安全上面,駭客很容易操縱資料庫中的網路介面的。
4.2程式上要注意SQL注入,金鑰管理不當
4.3違法操作檢查,開發人員可以利用追蹤資訊/日誌文字來查詢和解決此類問題。
5:將隱私資料明文儲存在外部儲存
6:將系統資料明文儲存在外部儲存
7:軟體執行時依賴的資料儲存在外部儲存
8:APP要注意內部敏感檔案被root許可權軟體讀寫
9:不加密地明文傳輸敏感資料,token失效機制應用
10:網路通訊方面, HTTP SSL證書有效性檢查
11:APP使用IMEI或IMSI作為唯一認證憑據,也有可能導致假冒使用者的攻擊。
分析客戶端與伺服器的通訊協議,直接模擬客戶端的網路行為。
12:中介軟體或開源元件補丁
常用的中介軟體如:Redis,mogodb,casandra...,注意關注官方訊息,這類程式樹大招風,容易爆出Oday,一有釋出補丁,就要第一時間打上;
13.其他方面的一些關鍵詞(方便搜尋深入瞭解)
13.1作業系統一些漏洞,windows,linux,centos
OpenSSL在linux (Debian、Ubuntu、CentOS、Fedora、OpenBSD、FreeBSD及NetBSD):
13.2 瀏覽器安全(IE,firefox,chrome)等
13.3使用者日常軟體(如PDF,FLASH)的安全關注
13.4開發框架安全(JAVA Spring mvc)
C:開發團隊配合安全方面開展的常規性工作C1:有專門的安全人員(或指定特定開發人員)使用軟體定期檢查漏洞
定期掃描系統生成安全報告,讓開發人員據檢測報告在業務及人力許可的範圍內處理
C2:團隊定期的程式碼Review,發現安全漏洞
研發主管或核心開發人員對於難點及潛在風險問題,需要安排到後續開發計劃中,防止業務上線後觸發,以老帶新,培養安全意識,與運維團隊一起,進行部署之後的安全維護和故障排除