计算机工程与应用
計算機工程與應用
계산궤공정여응용
COMPUTER ENGINEERING AND APPLICATIONS
2015年
11期
190-195,211
,共7页
李文明%陈哲%李绪蓉%黄志球
李文明%陳哲%李緒蓉%黃誌毬
리문명%진철%리서용%황지구
数组越界%运行时验证%程序插桩
數組越界%運行時驗證%程序插樁
수조월계%운행시험증%정서삽장
array bounds overflow%runtime verification%program instrumentation
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。
緩存區溢齣能引起非常嚴重的安全問題,對網絡和分佈式繫統(如機群,網格,P2P繫統等)構成嚴重威脅。數組越界在緩存區溢齣中佔據重要位置,如何檢測數組越界錯誤是一箇重要且極具意義的課題。針對該課題,給齣一種對C語言數組越界進行運行時驗證的方法。分析瞭數組越界的錯誤類型,根據這些類型分彆研究瞭數組越界的運行時驗證的思想;設計瞭基于程序插樁進行數組越界動態檢測的算法,給齣瞭該方法基于開源編譯器Clang的具體實現;用實驗證明瞭該方法是切實可行併且有效的。
완존구일출능인기비상엄중적안전문제,대망락화분포식계통(여궤군,망격,P2P계통등)구성엄중위협。수조월계재완존구일출중점거중요위치,여하검측수조월계착오시일개중요차겁구의의적과제。침대해과제,급출일충대C어언수조월계진행운행시험증적방법。분석료수조월계적착오류형,근거저사류형분별연구료수조월계적운행시험증적사상;설계료기우정서삽장진행수조월계동태검측적산법,급출료해방법기우개원편역기Clang적구체실현;용실험증명료해방법시절실가행병차유효적。
Buffer overflow can cause very serious security problems and bring serious threats to networks and distributed systems such as clusters, Grids, P2P systems. Array bounds overflow is an important instance of buffer overflow. How to check array bounds overflow is an important and meaningful issue. In this paper, it presents a runtime verification method for checking array bounds overflow. It analyzes the various classes of array bounds overflow errors. Based on the classifi-cation, it investigates the various verification methods. It studies the algorithms for dynamic checking of array bounds overflow based on program instrumentation, implements the algorithms based on the open source compiler Clang. The experi-mental results show that this method is feasible and efficient.