過去有許多研究提出的防禦方法皆能偵測到緩衝區溢位的情形發生 並即時終止程式,本篇論文提出不同的作法,藉由靜態分析程式中介 碼,針對常造成緩衝區溢位的輸入函式做檢查與修補,直接防堵程式在 執行時發生緩衝區溢位,能正常且順利執行下去。本研究將系統實作為 LLVM Pass 的形式,讓使用者能自由選擇使用或融入編譯鏈結過程中的 一部分。;Buffer overflow attacks have been one of the most common approaches of software attacks. This kind of vulnerabilities may occur if the programmer does not write code carefully. Although fixing the vulnerability itself is simple, buffer overflow attacks appear frequently and continuously. In addition, since it can control the important data structures, the damage it caused is quite severe. As a result, it is one of the thorny issues that have to be solved without a doubt.
In the past, there are many research whose defense methods can detect the occurrence of buffer overflow and terminate the process immediately. This paper presents a different way: by statically analyzing the intermediate representation code, we can automatically check and patch the input functions which often cause buffer overflow, so that the program can run safely and correctly. Furthermore, we implement the system as a LLVM Pass; therefore, users can use it depending on their requirements.