An Improved Static Analyzer for Verifying PHP Web Application Security

碩士 === 國立臺灣大學 === 資訊管理學研究所 === 98 === The importance of Web applications has increased continually in recent years. As more and more services are delivered through Web applications, they have become a major target of security attacks. In addition, Web applications are often implemented by progra...

Full description

Bibliographic Details
Main Authors: Rui-Yuan Yeh, 葉睿元
Other Authors: 蔡益坤
Format: Others
Language:en_US
Published: 2010
Online Access:http://ndltd.ncl.edu.tw/handle/25749957781549624952
id ndltd-TW-098NTU05396052
record_format oai_dc
spelling ndltd-TW-098NTU053960522015-11-02T04:04:02Z http://ndltd.ncl.edu.tw/handle/25749957781549624952 An Improved Static Analyzer for Verifying PHP Web Application Security 一個進階的PHP網頁應用程式安全驗證之靜態分析工具 Rui-Yuan Yeh 葉睿元 碩士 國立臺灣大學 資訊管理學研究所 98 The importance of Web applications has increased continually in recent years. As more and more services are delivered through Web applications, they have become a major target of security attacks. In addition, Web applications are often implemented by programmers with time-to-market pressure and limited security skills. These situations result in an increasing security threat that may lead to the compromise of sensitive information. Due to the fact that security vulnerabilities are often rather intricate, especially when the relevant code spans many different functions and source files,finding all potential vulnerabilities without the assistance of an automated tool is impractical. PHP is one of the most popular languages for Web application development. To detect security vulnerabilities in PHP Web applications, many program analysis techniques, in particular by static analysis approaches, have been developed. In this thesis, we design and implement a static code analysis tool for PHP that improves over an existing analyzer. Our tool translates a PHP program into a CIL program and applies taint analysis on the CIL representation. We support most PHP5 features and preserve the semantics of the source program in our translation. The new object-oriented features in PHP5 bring new vulnerable points in programs. We also design and implement interprocedural analysis and alias analysis algorithms which provide support for object-oriented features of PHP. Our interprocedural analysis allows taint analysis to cross function boundaries and provide more precise and complete analysis results. Alias analysis can discover the relationship between variables that are mapped to the same memory location in program. Finally, we demonstrate the effectiveness of our approach by detecting XSS vulnerabilities that cross object and alias relationships. We also confirm these vulnerabilities by executing our CIL representation as well as the original PHP source programs. 蔡益坤 2010 學位論文 ; thesis 80 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立臺灣大學 === 資訊管理學研究所 === 98 === The importance of Web applications has increased continually in recent years. As more and more services are delivered through Web applications, they have become a major target of security attacks. In addition, Web applications are often implemented by programmers with time-to-market pressure and limited security skills. These situations result in an increasing security threat that may lead to the compromise of sensitive information. Due to the fact that security vulnerabilities are often rather intricate, especially when the relevant code spans many different functions and source files,finding all potential vulnerabilities without the assistance of an automated tool is impractical. PHP is one of the most popular languages for Web application development. To detect security vulnerabilities in PHP Web applications, many program analysis techniques, in particular by static analysis approaches, have been developed. In this thesis, we design and implement a static code analysis tool for PHP that improves over an existing analyzer. Our tool translates a PHP program into a CIL program and applies taint analysis on the CIL representation. We support most PHP5 features and preserve the semantics of the source program in our translation. The new object-oriented features in PHP5 bring new vulnerable points in programs. We also design and implement interprocedural analysis and alias analysis algorithms which provide support for object-oriented features of PHP. Our interprocedural analysis allows taint analysis to cross function boundaries and provide more precise and complete analysis results. Alias analysis can discover the relationship between variables that are mapped to the same memory location in program. Finally, we demonstrate the effectiveness of our approach by detecting XSS vulnerabilities that cross object and alias relationships. We also confirm these vulnerabilities by executing our CIL representation as well as the original PHP source programs.
author2 蔡益坤
author_facet 蔡益坤
Rui-Yuan Yeh
葉睿元
author Rui-Yuan Yeh
葉睿元
spellingShingle Rui-Yuan Yeh
葉睿元
An Improved Static Analyzer for Verifying PHP Web Application Security
author_sort Rui-Yuan Yeh
title An Improved Static Analyzer for Verifying PHP Web Application Security
title_short An Improved Static Analyzer for Verifying PHP Web Application Security
title_full An Improved Static Analyzer for Verifying PHP Web Application Security
title_fullStr An Improved Static Analyzer for Verifying PHP Web Application Security
title_full_unstemmed An Improved Static Analyzer for Verifying PHP Web Application Security
title_sort improved static analyzer for verifying php web application security
publishDate 2010
url http://ndltd.ncl.edu.tw/handle/25749957781549624952
work_keys_str_mv AT ruiyuanyeh animprovedstaticanalyzerforverifyingphpwebapplicationsecurity
AT yèruìyuán animprovedstaticanalyzerforverifyingphpwebapplicationsecurity
AT ruiyuanyeh yīgèjìnjiēdephpwǎngyèyīngyòngchéngshìānquányànzhèngzhījìngtàifēnxīgōngjù
AT yèruìyuán yīgèjìnjiēdephpwǎngyèyīngyòngchéngshìānquányànzhèngzhījìngtàifēnxīgōngjù
AT ruiyuanyeh improvedstaticanalyzerforverifyingphpwebapplicationsecurity
AT yèruìyuán improvedstaticanalyzerforverifyingphpwebapplicationsecurity
_version_ 1718119937112801280