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...
Main Authors: | , |
---|---|
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 |