一级a性色生活片久久无,国产91在线播放,中国性猛交XXXX富婆,亚洲夜夜性夜综合久久

給需要關心安全的技術人員的一些建議

2019年11月21日

隨著網絡的發展,特別是移動互聯網的發展,網絡服務與我們個人生活聯系得越來越緊密;辦理金融業務,生活繳費,獲取資訊等等,都從線下搬到了線上。一個新的時代必將到來或者已經到來,那就是萬物互聯的時代。與此同時,網絡安全事件頻發,安全事故的危害越來越大,互聯網從業者需要越來越注重安全問題。這里分享一些心得給剛剛接觸網絡安全的開發者們。

b2ee3f42b6926e0928fcf1298576d260.jpg-wh_651x-s_1725954742.jpg

一、“安全”是什么

對于沒有接觸過安全的開發人員來講,一個常見的問題是:如何寫出安全的代碼或做出安全的系統。為了找到答案,我們就必須對安全的定義有所了解。“安全”是一個很寬泛的概念,那這里給出一個很寬泛的定義:被保護的對象不被破壞、篡改、泄漏,系統功能可以正常運行。是不是一頭霧水?“安全”定義的關鍵問題是,什么是需要保護的對象,保護的需求是什么;沒有明確的安全的需求,我們就無法談論安全。比如常見的安全問題有,通信協議是否安全,數據存儲是否安全等等;此外還有運行環境是否安全,代碼是否安全。所以當我們想要寫安全的代碼或者實現一個安全的系統之前,我們可以先問問自己,我想要保護的對象是什么。不同的安全的需求,需要做出的安全的防護方式也是不同的。如果不知道你想要的是什么,那么你就不會得到它。

明白了安全的定義,下一個問題是:如何知道實施的安全措施是否足夠安全。安全防御和安全攻擊是一個動態博弈的過程,就像抗生素和細菌一樣,防御和攻擊的技術都在進行不斷升級。所以我們說沒有絕對的安全,安全問題是成本問題。通常我們需要尋找的是如何以最低成本來滿足我們安全需求的最佳實踐。

二、如何入門“安全”

孫子云“知彼知己,百戰不殆”,所以讀幾本黑客如何攻擊和防御的書是一個不錯的選擇。這些書的內容可能會涉及到一些計算機的基礎知識,所以這些知識也是不可少的,否則只能做到知其然而不知其所以然。由黑客攻擊和防御的引子,又會引出計算機系統、網絡、計算機體系結構、編譯原理、虛擬機等等一些基礎的知識。

黑客如何攻擊和防御是理論基礎,有了理論基礎我們可以看看這個真實的世界存在哪些比較流行的安全問題;CWE是通用缺陷,里面列舉了很多通用的安全缺陷,我們可以先從最流行的25個問題看起,可以幫助我們在編碼的時候避免許多安全問題。如果開發的系統是Web系統,那么OWASP是不容錯過的一個資料庫;OWASP包含Web常見的問題和最佳實踐,可以了解一下OWASP最流行的10個問題。比如SQL注入,這種常見的高發的已經有了幾十年歷史的問題,在這兩個榜單中都有提及。

接下來我們可以看看業界比較好的安全實踐。SEI CERT Coding Standards是一個安全編碼標準,分門別類得列出了C、Java等語言常見的安全問題,并且對安全問題做出解釋,給我們提供了不安全的代碼樣例和安全的代碼樣例。這個規范是一個很好的切入點,幫助我們快速了解安全問題,實踐安全編碼。

三、對“安全”問題的宏觀分類

安全問題五花八門,令人眼花繚亂,那么這些安全問題是否有共性呢?答案是有的。我們嘗試將安全問題分入以下幾個宏觀類別之中。

1. 不受信的輸入、輸出

壁立千仞,無欲則剛;如果一個系統沒有與不受信的環境進行的交互,那么這個系統的安全問題是比較小的。大多數系統,特別是Web系統,需要和不受信的環境進行交互;在交互過程中,我們需要特別注意的問題有兩點:輸入是否合法,輸出數據是否包含敏感信息。

輸入數據包括并不限于用戶輸入的參數,傳入的文件,讀取的環境變量,依賴的運行庫等等。如果用戶輸入的數據超出程序處理的范疇,那么可能造成意想不到的結果。對于這些不受信的數據,我們通常可以限制輸入范圍,只接受我們可以處理的輸入,比如網站注冊時對密碼的符號有一些限制,就是這種解決方案;我們還可以將輸入的數據進行清洗,去除不支持的內容。

對于輸出數據我們需要關心輸出的內容是否包含敏感信息,比如程序路徑、用戶名、密碼、IP地址等等。如果我們泄漏了服務器的用戶名和密碼,那么服務器上的所有信息都有泄漏的風險。這需要我們在程序發布之前,仔細檢查輸出內容。

2. 程序本身有錯誤

如果程序本身有錯誤,那么就會給攻擊者可乘之機;一旦程序觸發到錯誤邏輯,程序有可能偏離正常的運行流程,比如運行了攻擊者提供的程序。

對于C語言來講,常見的程序錯誤有空指針引用、內存沒有釋放、多次釋放內存、數組引用越界、返回棧上地址、整數溢出等等。這需要代碼編寫者提高代碼編寫質量,盡量減少程序錯誤。

對于Java語言來講,不存在C語言中的內存管理類似的問題,但一樣存在整數溢出、數組引用越界、引用空對象等問題,此外,Java語言還存在錯誤調用運行時庫函數、類型定義錯誤、序列化和反序列化錯誤等等Java語言特有的問題。

3. 其它錯誤問題

我們將其它安全問題歸入單獨分類,這些安全問題包括并不限于以下幾點:

四、一些安全實踐的建議

安全問題不是紙上談兵,而是真刀**實踐出來的,只有在實踐中才能出真知,安全性才能得到提升,這里給大家一些小的建議。

第一個建議是重視安全問題,針對安全問題進行設計和實現,并且針對安全問題進行測試。西方哲人講“解決問題的第一步是承認問題”,老子講“知不知”,都是此意。

第二個建議是發現和利用工具幫助解決安問題。業界已經存在許多工具可以在各個階段幫助我們檢測安全問題。

安全問題不是某一個單點問題,它是系統問題,這里沒有銀彈,沒有包治百病的特效藥。我們能做的是,在安全問題發生以前,充分了解、模擬、預警問題,并作出有效的防范。我們做的防護越多,攻擊者的攻擊面就越窄,攻擊成本就越高,我們的系統發生安全問題的概率就越低。千里之行,始于足下;現在就開始了解、重視安全問題,正當其時。

關于作者

Sage Lee 是鑒釋軟件研發工程師,鑒釋成立于2018年,致力于通過使用高級靜態分析技術幫助客戶降低成本,提高生產力,并確保其軟件開發人員具備相應的能力以開發更好、更可靠的軟件。Sage專注于軟件安全領域超過五年時間;2014年畢業于北京航空航天大學,獲得學士學位;在2014-2018年間就職于梆梆安全,負責研發了源代碼混淆、加密算法混淆等多個創新型安全軟件,取得多項發明型專利。他在技術研發、團隊管理、產品化方面,均有一定的經驗。

江蘇國駿為您提供全面可信的信息安全服務

http://www.jewellerybykaren.com/

免費咨詢熱線400-6776-989 

長按二維碼關注我們


公眾號 (2).png

江蘇國駿信息科技有限公司 蘇ICP備17037372號-2 電話:400-6776-989; 0516-83887908 郵箱:manager@jsgjxx.com