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

正文內容

c語言源代碼靜態(tài)檢測工具設計與實現(xiàn)畢業(yè)論文-文庫吧資料

2024-10-16 14:48本頁面
  

【正文】 器、集成對包括 Subversion 和 Mercurial 版本控制系統(tǒng)的支持。 通過圖形查看安全漏洞的分布情況,通過表格可以將安全漏洞分為幾類,分類查看。 這樣就提供了更加靈活的檢查方式,從 源頭上減少了靜態(tài)安全檢查工具中普遍存在的誤報和漏報問題。 檢測代碼工具參數(shù)設置需求 如果用戶選擇了自定義模式,就可以對安全檢查工具進行參數(shù)設定。 沈陽航空航天大學畢業(yè)設計(論文) 16 待檢測代碼列表管理需求 用戶可以手動讀取計算機中的 C 語言文件,也可以讀取帶有 C 語言文件的工程文件夾,并在控制窗口左側顯示加載進來的程序名稱。要能夠直觀觀察安全漏洞。根據(jù)強度可調節(jié)為簡易模式,自定義模式,命令行模式。 代碼檢查工具基本控制需求 要具有圖形界面,能夠方便用戶控制整個程序。并且直觀的顯示出來,返回 給用戶。 本文分成五 部分來概括用戶的基本需求。 所以 開發(fā)一款方便,易用,高效 靜態(tài)安全檢測的軟件 具有強大的實際意義 。傳統(tǒng)的黑盒測試,白盒測試均為動態(tài)測試,主要強調軟件應當做什么。所以有必要對代碼進行系統(tǒng)的, 全面的,嚴格的安全檢查。程序員在編碼的過程中十分有可能因為考慮不全面造成安全漏洞。 用戶需求 軟件的安全性是軟件開發(fā)質量的一個重要指標。所以 開發(fā)人員和用戶之間 在設計環(huán)節(jié)之前的需求分析環(huán)節(jié)在整個過程中非常重要。 沈陽航空航天大學畢業(yè)設計(論文) 15 2 需求分析 需求分析是軟件工程中最重要的一個環(huán)節(jié),它完成的質量會直接影響到軟件的后續(xù)開發(fā) 。 SQLite第一個 Alpha版本誕生于 2020 年 5 月。 SQLite 數(shù)據(jù)庫簡介 SQLite,是一款輕型的數(shù)據(jù)庫,是遵守 ACID 的關系型 數(shù)據(jù)庫管理系統(tǒng) ,它的設計目標是嵌入式的,而且 目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百 K 的內存就夠了。 PyQt 采用雙許可證,開發(fā)人員可以選擇 GPL 和商業(yè)許可。它有超過 300 類,將近 6000 個函數(shù)和方法。 PyQt 是由 Phil Thompson 開發(fā)。它是 Python 編程語言和 Qt 庫的成功融合。因此Python 語言及其眾多的擴展庫所構成的開發(fā)環(huán)境十分適合工程技術、科研人員處理實驗數(shù)據(jù)、制作圖表,甚至開發(fā)科學計算應用程序。 眾多開源的科學計算軟件包都提供了 Python 的調用 接口 ,例如著名的計算機視覺 OpenCV、三維可視化庫 VTK、醫(yī)學圖像處理庫 ITK。 2020 年 1 月,它被 TIOBE 編程語言排行榜評為 2020 年度語言。自從 20世紀 90 年代初 Python 語言誕生至今,它逐漸被廣泛應用于處理系統(tǒng)管理任務和 Web編程。基于 linux 操作系統(tǒng)下進行開發(fā)。應該檢查從file1定義到其引用的每條可能路徑,檢查 file1是否一定指向了合法的內存空間。一般情況下,這種拷貝不會有問題,但是當 file1沒有指向任何合法的靜態(tài)、局部或動態(tài)分配的空間時,程序運行出錯。 ? strcpy(file2,file1)。 Filecontent file1。從 C發(fā)展而來的 Java語言提供了非常強大的異常處理機制,強制程序員對“可檢測異?!边M行處理。 這個程序假設系統(tǒng)一定有“ /etc/password”這個系統(tǒng)文件,并且打開總能成功, 如果這個文件被惡意地刪除,或者程序運行的權限不夠,或者其他程序正在獨占使用該文件,致使打開不成功,那么,后續(xù)的讀操作將發(fā)生核心錯 (coredump)。 char buffer[128] fp=fopen(“ /etc/password” ,“ r” )。 異常處理 C語言沒有異常處理機制,所有的異常檢測和處理都必須由程序員主動完成,如果程序員沒有明確處理異常情況,那么異常發(fā)生時系統(tǒng)將出現(xiàn)不可預測的錯誤。因此,需要程序員選定一個安全的種 子。 沈陽航空航天大學畢業(yè)設計(論文) 12 隨機數(shù)濫用 C程序中涉及許多隨機數(shù)的選取,例如,創(chuàng)建一個臨時文件,用于存取一些臨時數(shù)據(jù),創(chuàng)建一個挑戰(zhàn)號、創(chuàng)建密鑰,出于安全性考慮,臨時文件名和挑戰(zhàn)號等使用由系統(tǒng)函數(shù) rand產(chǎn)生的隨機數(shù),以防攻擊者猜測。具體地 ,如果相鄰的兩個系統(tǒng)調用都使用路徑訪問同一個文件,那么可能存在競爭條件,如果一個使用路徑 ,一個使用文件描述符,那么,如果第一個系統(tǒng)調用是把文件描述符與路徑相關,則不會發(fā)生競爭條件,否則可能發(fā)生競爭條件。因為文件描述符是以進程為基礎的,其它進程不能改變文件描述符與目標的綁定。文件描述符是在每 個進程的基礎上,為每個文件賦予的一個標志,它直接與目標綁定,當訪問文件時,直接通過文件描述符,而不需要 通過文件系統(tǒng)一步一步查找,因此它的使用方式類似于直接指針。在系統(tǒng)內部,文件系統(tǒng)在概念上講是一棵樹,內部結點代表目錄,葉結點代表文件,路徑名指出了從樹根到要訪問的文件或目錄所經(jīng)過的各結點。這個例子說明,在多進程的環(huán)境里,創(chuàng)建 (create)和更改 (change) 必須是原子,其完整性不可破壞。 競爭條件 所有操作系統(tǒng)都有一些陷入 (trapdoor),允許特權用戶完全控制系統(tǒng),競爭條件是在多進程環(huán)境里,特權程序或與特權程序并發(fā)運行的程序中可能被利用的一類缺點。例如, strncpy(dst,src,10)指明,從 src向 dst拷貝不多于 10個字符。 緩沖區(qū)溢出可能造成兩個風險: 1)與該緩沖區(qū)相鄰的內存空間很容易被覆蓋,如果該空間存儲的信息非常關鍵,那么可能造成非常嚴重的安全隱患; 2)通過覆蓋運沈陽航空航天大學畢業(yè)設計(論文) 11 行棧中函數(shù)返回地址,攻擊者可以引誘程序執(zhí)行任意代碼,這類棧溢出是目前最常見的安全缺陷。因此,如果讀 入的文本長度超過給定的存儲區(qū)長度,那么,讀入的字符將覆蓋 str所代表的存儲區(qū)的后續(xù)空間。例如:程序執(zhí)行 gets(str)指令, str是內存一個連續(xù)的存儲區(qū)的首地址, gets從程序的標準輸入讀取文本,把第一個字符放在這個存儲區(qū)的首地址,后續(xù)的字符依次存放,直到從標準輸入讀到新行或文件結束符,在對應的存儲區(qū)放上空字符 /0。標準 C庫提供的許多字符串操作,如 gets、 strcpy、 strcat、 sprinf,它們本質上是不安全。在過去 10年里,盡管已經(jīng)意識到緩沖區(qū)溢出的危害,但緩沖區(qū)溢出攻擊仍在增長,據(jù)CERT/CC統(tǒng)計,在過去 10年里,在所有的脆弱性中緩沖區(qū)溢出漏洞占據(jù)了 50%,而且這個數(shù)據(jù)隨時間的流逝還在增長,作為一類內存訪問錯誤,由于它的重要性,因此在此進一步分析緩沖區(qū)溢出的根源。導致內存訪問錯誤的異常條件可能不能再現(xiàn),增加了差錯糾錯的困難; 內存訪問錯誤一般沒有 明顯癥狀,除非在異常的情況下。編譯器一般不能自動發(fā)現(xiàn)這些錯誤,通常是在程序運行時才能捕捉到。 這類故障也稱為時間訪問故障,即在其生存期之外訪問內存空間,一個典型的時間訪問故障是訪問一個已經(jīng)釋放的堆分配單元,由于釋放的單元歸還系統(tǒng)后可以重新分配,因此再次訪問時具有不確定的值。剛開始時系統(tǒng)的內存充足,你看不到錯誤,因而調試階段不能發(fā)現(xiàn)錯誤,當終于一天內存耗盡程序突然死掉,系統(tǒng)將提示:內存耗盡。所以經(jīng)?;赜胁话踩拇a致使許多內存空間泄露。 (4) 忘記了釋放內存,造成內存泄露。 C語言缺乏數(shù)組邊界檢查,數(shù)組下標越界是一種典型的空間訪問故障。 (3) 內存分配成功并且已經(jīng)初始化, 但操作越過了內存的邊界。如果變量的引用處和其定義處相隔比較遠,變量的初始化很容易被忘記。 (2) 內存空間雖然分配成功,但是使用前沒用進行初始化。 典型的情況就是在堆中動態(tài)的申請一部分內存空間,許多有安全漏洞的代碼總是假設內存是分配成功的,繼續(xù)其他操作。動態(tài)內存的生存期由程序決定,使用非常靈活,但問題也最多。 (3) 從堆上分配,亦稱動態(tài)內存分配。首先, 我們要 仔細分析 一下 C 語言程序能夠使用的內存是怎樣分配的: (1) 從靜態(tài)存儲區(qū)域分配,這塊內存在程序的整個運行期間都存在,例如全局變量、 static 變量。據(jù)統(tǒng)計 , 超過 50%的軟件安全漏洞都 是由指針和數(shù)組 訪問造成的。 內存訪問錯誤可能由數(shù)組、指針或內存管理造成。他們分別是內存訪問錯,緩沖區(qū)溢出,競爭條件,隨機數(shù)的濫用,異??刂疲罩羔樀氖褂?。他們是 網(wǎng)絡安全問題的罪魁禍首,我們應采取各種方法盡量避免他們的出現(xiàn)。 同時具有較強的可擴展性且 可適用于對大規(guī)模程序的分析 。同時也加入了數(shù)據(jù)流分析和控制流分析。 簡單語義分析 基于簡單語義分析的的檢查工具采用了類似于編譯器的設計原理。 例如 :一旦發(fā)現(xiàn) c 源程序中存在 strcpy, strcat 等 函數(shù)即認為 可能 存在緩沖區(qū)溢出這種安全性漏洞 。 然后使詞法符號流與預先設定好的安全漏洞字典相比對 。 在通過對源代碼的靜態(tài)的掃描過程中,找出可能存在的安全漏洞。 最后由代碼使用者確認這些代碼的安全性 。 首先 ,我們 為代碼定義一組 預先設定的 安全策略 。 根據(jù)檢測工具中的檢測模型的復雜程度,可以分析復雜的 語法 語義邏輯 , 從而精確的檢測出系統(tǒng) 中潛在的安全性漏洞 。 當前相關領域學者們提出的較為成熟的代碼靜態(tài)分析方法主要分為: 模型檢 驗 ,沈陽航空航天大學畢業(yè)設計(論文) 8 攜帶代碼驗證 , 詞法分析 , 簡單語義分析 , 基于信息流的安全性分析等 。 設計要求 C 語言程序進行檢查;可以檢查出跨越函數(shù)的錯誤;可以對程序內的循環(huán)和分支進行處理 2. 檢查的錯誤為緩沖區(qū)溢出錯誤,包括非用戶輸入造成的緩沖區(qū)溢出錯誤和用戶輸入造成的緩沖區(qū)溢出錯誤。 2. 靜態(tài)代碼分析工具研制:檢查 C、 C++程序潛在的安全 隱患 , 并 發(fā)現(xiàn)編譯器不能發(fā)現(xiàn)的事情。 設計目標 主要內容 靜態(tài)源代碼掃描 是近年被人提及較多的軟件應用安全解決方案之一,它是指在軟件工程中,程序員在寫好源代碼后,無需經(jīng)過編譯器編譯,而直接使用一些掃描工具對其進行掃描,找出代碼當中存在的一些安全漏洞的解決方案。 所以使用代碼的靜態(tài)安全檢查具有很大的現(xiàn)實意義。 靜態(tài)源代碼理論則應運而生,也是近些年來被研究與應用較多的的軟件安全解決方案之一。但是傳統(tǒng)的代碼安全檢查具有很大的不易操作性,很大 的難度 性。使用 C 語言 能編寫高性能程序,包括系統(tǒng)程序和應用程序, 尤其是在航空領 域,控制領域等對代碼性能要求很高的領域,更是占有很高的地位。 本 節(jié) 討 論 C 語言源代碼的靜態(tài)安全檢查 原理 ,首先對時下流行的安全漏洞做一個簡介,并調研一些成熟的靜態(tài)安全漏洞檢查方法 。 當前的 計算機軟件 系統(tǒng) 越來越復雜, 程序員 難免會 在設計時 產(chǎn)生一些 沒有意識到的安全漏洞, 這些漏洞 就 經(jīng)常被黑客 利用來繞過安全 防護策略 ,以達到自身的 不正當目的 。據(jù)權威機構統(tǒng)計,目前因特網(wǎng)上 20%的企業(yè)的防火墻、 80%的計算機網(wǎng)絡包含嚴重的安全缺陷。針對這種現(xiàn)狀 , 我們 在程序測試 的 過程中 ,使用 代碼 的靜態(tài) 安全檢查工具對 程序源代碼 進行安全檢查 成為了 一種 有效 并 且必要 的方 法。 軟件 安全 漏洞的頻繁出現(xiàn),一方面是一些程序員缺乏 編寫高質量代碼的意識,另一方面 , 編程語言 本身 在 設計上 的不安全性也增加 了 程序員 在無意中編寫出存在安全漏洞 的代碼 的幾率 。 static code analysis 沈陽航空航天大學畢業(yè)設計(論文) 3 目 錄 1 緒論 ................................................................................................................................... 6 研究背景 ..................................................................................................................... 6 設計目標 ..................................................................................................................... 7 主要內容 .............................................................................................................. 7 設計要求 .............................................................................................................. 7 國內外現(xiàn)狀 ................................................................................................................. 7 模型檢驗 .............................................................................................................. 8 攜帶源代碼 ..............................................
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1