0% found this document useful (0 votes)
4 views8 pages

Developing A Secure Web Application Using OWASP Guidelines: Computer and Information Science October 2009

The document discusses the development of a secure web application using OWASP guidelines, emphasizing the importance of security in web applications. It evaluates the effectiveness of these guidelines through testing, revealing that they significantly contribute to reducing vulnerabilities. The study concludes that integrating security measures early in the development process enhances the overall trustworthiness of web applications.

Uploaded by

faiyazahmed.2k2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views8 pages

Developing A Secure Web Application Using OWASP Guidelines: Computer and Information Science October 2009

The document discusses the development of a secure web application using OWASP guidelines, emphasizing the importance of security in web applications. It evaluates the effectiveness of these guidelines through testing, revealing that they significantly contribute to reducing vulnerabilities. The study concludes that integrating security measures early in the development process enhances the overall trustworthiness of web applications.

Uploaded by

faiyazahmed.2k2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/42385691

Developing a Secure Web Application Using OWASP Guidelines

Article in Computer and Information Science · October 2009


DOI: 10.5539/cis.v2n4p137 · Source: DOAJ

CITATIONS READS

10 13,224

4 authors:

Khairul Anwar Sedek Osman Norlis


MARA University of Technology MARA University of Technology
20 PUBLICATIONS 133 CITATIONS 6 PUBLICATIONS 95 CITATIONS

SEE PROFILE SEE PROFILE

Mohd NIZAM Osman Kamaruzaman Jusoff


MARA University of Technology University of Malaya
25 PUBLICATIONS 81 CITATIONS 524 PUBLICATIONS 11,367 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Mohd NIZAM Osman on 04 June 2014.

The user has requested enhancement of the downloaded file.


Computer and Information Science November, 2009

Developing a Secure Web Application Using OWASP Guidelines


Khairul Anwar Sedek
Faculty of Computer Science and Mathematics, Universiti Teknologi MARA (UiTM)
Kampus Arau, 02600 Arau, Perlis, Malaysia
Tel: 60-19-474-6960 E-mail: khairulanwar@perlis.uitm.edu.my

Norlis Osman
Faculty of Computer Science and Mathematics, Universiti Teknologi MARA (UiTM)
Kampus Arau, 02600 Arau, Perlis, Malaysia
Tel: 60-19-477-2808 E-mail: norlis@perlis.uitm.edu.my

Mohd Nizam Osman


Faculty of Computer Science and Mathematics, Universiti Teknologi MARA (UiTM)
Kampus Arau, 02600 Arau, Perlis, Malaysia
Tel: 60-19-413-5362 E-mail: nizamos@perlis.uitm.edu.my

Hj. Kamaruzaman Jusoff (Corresponding author)


Faculty of Forestry, Universiti Putra Malaysia, 43400 Serdang, Selangor, Malaysia
Tel: 60-3-8946-7176 E-mail: kjusoff@yahoo.com

The research is financed by Research Management Institute (RMI) of UiTM.

Abstract
Developing a secure Web application is very difficult task. Therefore developers need a guideline to help them to
develop a secure Web application. Guideline can be used as a checklist for developer to achieve minimum standard of
secure Web application. This study evaluates how good is OWASP guideline in helping developer to build secure Web
application. The developed system is then tested using code auditing and penetration testing to identify the achievement
of the system security for the application. After applying the testing techniques from Open Source Security Testing
Methodology (OSSTMM) on the Top Ten Critical vulnerabilities as defined by OWASP, a standard measure score are
calculated. The score is used to decide on the level of security of the developed web application. A high percentage
score would indicate that the guideline helps in building a secured web application. Hence, the result proved that
OWASP guideline is effective in ensuring the trustworthiness of the system and can be used as referral by other web
developer especially in developing applications for a university.
Keywords: Web Application, Security
1. Introduction
In the age of Internet and World Wide Web, system security has become an important issue in any global web based
information systems. This can be seen from the strong commitments of system security professionals, the research
community, and major application software vendors. Recently web technology has developed rapidly and affected
people in many aspects of lives and working. Many daily activities, which required face-to-face interaction, can now be
conducted over the World Wide Web. Web applications are crucial components of our life. They cover critical activities
such as economic transactions, e-commerce, e-government, e-business, e-procurement, e-education and many more.

137
Vol. 2, No. 4 Computer and Information Science

The processes of building a secure web application need one or more guidelines to make it a secure system. Without
guideline, it is impossible to develop a secure system. Gritzales & Spinelis (1997) provide the best practice for
addressing security issues and threats, which can be prevented using security services. Stuart et al. (2001) has been
addressing a very comprehensive guideline including system, network, and software security. Ed (2002) provided a
step-by-step guide to computer attacks and effective defences including web application. Darothy (1998) assert that the
best defence against security breaches is to make use of the tools and knowledge of good software engineering practice
to prevent security attacks by developing and evolving secure system. This means that the requirements related to
security issues must be identified and included early in the development and evolution of systems. Care must be taken
to ensure that the security requirements are correct and complete.
The first OWASP (2003) issued the top 10 most critical web application security vulnerabilities to be considered in
building secure web application with an update on the latest vulnerabilities in 2004. OWASP issued the latest Top 10
vulnerabilities (2007) which show that A1-Cross Site Scripting (XSS) has moved to the top of the list from 4th place and
A2-Injection Flaws from 6th place to 2nd place. While A7-Broken Authentication and Session Management vulnerability
has moved down from 3rd place in the list to the 7th placement. Several new vulnerabilities have been identified in the
Top 10 2007 list such as A3-Malicious File Execution, A4-Insecure Direct Object Reference, A5-Cross Site Request
Forgery (CSRF) and A9-Insecure Communications. Some vulnerability evolved from the old vulnerability into its own
vulnerability definition, for example A10-Failure to Restrict URL Access is redefined from the previous A2
2004-Broken Access Control and A8-Insecure Cryptographic Storage is redefined from A8 2004 Insecure Storage.
Meanwhile vulnerabilities such as unvalidated input, buffer overflow and denial of service have been taken out from the
top 10 2004 list.
Mark et al. (2002) provided an open source document of guideline to building secure web application. These documents
are intended to help developer to design, building and maintain a secure web application.
In the article “Buzzing About Security“, Sandra (2002) explained why developer should have a framework as guideline
to building secure web application. She recommends OWASP because it is an open source document where everybody
can use it for developing, building, and testing secure system.
Pete (2002) produced an Open-Source Security Testing Methodology (OSTMM). It created an accepted method for
performing a thorough security test including Internet presence points, information security, social engineering,
networking, and physical security. Mark Curphey (2007) has produced a draft of OWASP Web Security Certification
Criteria document to be used to test and certify the security of Web application. It can be a framework of Web
application security certification. OSTMM has more comprehensive testing methodology to measure the result of
security testing.
Andrew et al. (2003) have evaluated security features of Microsoft Windows Server 2003 with .Net Framework and
IBM WebSphere. The study evaluated the level of effort required for developers and administrator to create and deploy
secure web application. Both platforms provide infrastructure and effective tools for building secure application but
the .Net platform scored higher than WebSphere.
Most of the studies discussed about security tools and how to build secure web application and also on current web
threats. However, there is no evidence that the security tools or recommended security practice is adequate to build a
secure web application. To conclude, there is no study on evaluation of security guideline or standard that can be
followed by a developer in building a secure web application.
In this study, we evaluate how effective is OWASP guideline to help developer to develop secure Web application. To
evaluate, OWASP guideline is used to develop secure Web application.
For this purpose, the required activities are integrated tightly into the development process. The security measures are
carried out during the entire process, as early as possible when they become relevant. This ensures that security problem
are discovered when they are still easy to counter. The process we used improves the quality (by its requirement on
design, implementation and testing) and trustworthiness of the system and reduces evaluation time and cost.
2. Methodology
OWASP guideline is applied throughout the software development life cycle (SDLC) phases in application
development which are system planning, system analysis, system design, implementation, and testing as shown in
Figure 1. Security requirement defined in the OWASP such as authentication and authorization, input validation, and
session handling is applied to ensure the system being developed is secure from security risks.
To have a standard measurement, score value for the vulnerabilities mentioned above is defined in Table 1 below. The
table has been modified from the simplified web application framework to evaluate the guideline.

138
Computer and Information Science November, 2009

At the end of testing, all score will be summed up and the percentage will be calculated. This percentage will be
analysed to determine whether the web application is secure or not. The following Table 2 represent the meaning of
percentage in order to get the result or conclusion of the research for the guideline provided by OWASP.
3. Results and discussion
The study has successfully done 35 securities testing in the area of re-engineering, authentication, session
management, input manipulation, output manipulation and information leakage testing. The test found 8 possible
vulnerabilities out of thirty five possible testing (22.86%). The testing result is shown inTable 3.
The study has successfully done 35 securities testing in the area of re-engineering, authentication, session management,
input manipulation, output manipulation and information leakage testing. The test found 8 possible vulnerabilities out of
35 possible testing (22.86%).
Based on the testing that we have done, for the area of re-engineering and information leakage security testing, with a
result of 100%, we found that the guidelines helps immensely in building a secured web based application at least from
the top 10 most critical vulnerabilities. Meanwhile testing the security in the area of authentication and session
management, with a result of 78% and 76% respectively, shown the usage of guideline in this area gave adequate
contribution to building a secured application. While in the area of input manipulation and output manipulation security,
the above 85% result proved the guidelines to be considerable help in building a secured web application at least from
the top 10 most critical vulnerabilities. Overall, the results of the security testing on ITMS yield the average security
percentage of 86.27%.
Our study has demonstrated how we evaluated a Web application by using OWASP Guideline to building a secured
Web Application. The guideline was evaluated using OSSTMM proposed by Pete Herzog, with the development for
Industrial Training Management System (ITMS) Web application as a case study. This study has successfully applied
the OWASP guideline to ITMS Web application. The result of all criteria that was evaluated indicated that OWASP
contributed significantly in developing a secured Web application at least in reducing the number of security
vulnerabilities especially for Web based university application.
4. Conclusion
The guideline was evaluated using OSSTMM proposed by Pete Herzog, with the development for Industrial Training
Management System (ITMS) Web application as a case study. This study has successfully applied the OWASP
guideline to ITMS Web application. The result of all criteria that was evaluated indicated that OWASP contributed
significantly in developing a secured Web application at least in reducing the number of security vulnerabilities
especially for Web based university application.
Overall, taking into account security does not make web design more complicated; it should be one of many natural
elements of web design nowadays. It is not hard to consider if it is included into the process of web design right from
the beginning.
Incomplete development processes leave the applications at risk, no matter how structured the company’s development
process may be. To achieve a greater level of application security, mature development practices that focus specifically
on Web application security need to be implemented.
References
Andrew Jaquith, Frank Heidt, & Chris Wysopal, (2003). Security Evaluation: Microsoft Windows Server 2003
with .NET Framework and IBM WebSphere. Retrieved from
http://www.atstake.com/research/reports/eval_ms_ibm/acrobat/atstake_eval_ms_ibm.pdf.
Andrew Jaquith. (2002). The Security of Appplications: Not All Are Created Equal. Retrieved from
http://www.atstake.com/research/reports/acrobat/atstake_app_unequal.pdf.
Boiler. (2003). Hacking Techniques: Issue#2 – Boucing Atttacks. Retrieved from
http://www.governmentsecurity.org/articles /HackingTechniquesIssue2-BouncingAttacks.php.
David Endler, Brute-Force Exploitation of Web Application Session IDs. Retrieved from http://www.cgisecurity.com
/lib/SessionIDs.pdf
Dorothy E. Denning. (1998). Cyberspace Attacks and countermeasures”. In Internet Besieged Countering Cyber
Scofflaws, ACM Press, New York, N.Y.
Ed Skoudis. (2002). Counter Hack: A Step-by-Step Guide to Computer Attacks and Effective Defenses. Upper Sadle
River, NJ: Prentice Hall PTR.

139
Vol. 2, No. 4 Computer and Information Science

Grizalis, Stefanos & Spinellis, Diomidis. (1997). Addressing Threats and Security Issues in World Wide Web
Technology. In Proceeding CMS ’97 3rd IFIP TC6/TC11 ,33-46. IFIP, Chapman & Hall. Retrieved from
http://www.dmst.aueb.gr/dds/pubs/conf/1997-CMS-WebSec/html/w3sec.html.
Mark Curphey. (2004). The OWASP Testing Project, (2004, December). Retrieved from http://www.
owasp.org/index.php/OWASP_Testing_Project
Mark Curphey. (2004). The Ten Most Critical Web Application Security Vulnerabilities. Retrieved from
http://www.owasp.org.
Mark Curphey. (2007). SpoC 007 - The OWASP Web Security Certification Framework. Retrieved from
http://www.owasp.org/index.php/SpoC_007_-_The_OWASP_Web_Security_Certification_Framework.
OWASP Top Ten Web Application Vulnerabilities Version 1.0. (2003). Retrieved from
http://prdownloads.sourceforge.net/OWASP/OWASPWebApplicationSecurityTopTen-Version1.pdf?download.
OWASP Top 10 2004. (2004). Retrieved from http://www.owasp.org/index.php/Top_10_2004.
OWASP Top 10 2007 (2007). Retrieved from http://www.owasp.org/index.php/Top_10_2007.
Pete Herzog. (2002), Open Source Security Testing Methodology Manual (OSSTMM). Retrieved from
http://isecom.securenetltd.com/osstmm.en.2.1.pdf.
Sandra Kay Miller. (2002, January). Buzzing About Security. InfoSecurity. Retrieved from
http://infosecuritymag.techtarget.com/2002/jan/departments_news.shtml.
Scott Berinato. (n.d.). The Bugs Stop Here. Retrieved from http://cio.idg.com.au/index.php?id=597539172.
Shynlie Simmons, Hacking Techniques: Web Application Security. (2005, November) East Caroline University.
Retrieved from http://www.infosecwriters.com/text_resources/pdf/HackingTechniques_WebApplicationSecurity.pdf.
Stuart McClure, Joel Scambray, & George Kurtz, (2001). Hacking Exposed: Network Security Secrets and Solutions,
Third Edition (3). : Osborn/McGraw Hill.

Table 1. Score value for the guideline evaluation


Score Value Score Meaning
1 Not secure
2 Partly not secure
3 Fully secure.

Table 2. The definition of the security percentage calculated


Total Score Definition
Less 25% The guideline failed to help building a secure web application
26% - 50% The guideline help eliminate some vulnerabilities but not enough to have
secure application
51% - 79% The usage of the guideline is adequate to build secure application
80% - 100% The guideline helps building secure web application at least from the top 10
most critical vulnerabilities.

Table 3. Security Testing Result

No. Items Score (1-3)

Re-Engineering

140
Computer and Information Science November, 2009

1 Decompose or deconstruct the binary codes, if accessible 3

2 Determines the protocol specification of the server/client application 3

3 Guess program logic from the error/debug messages in the application output 3
program behaviours/performance

TOTAL 9/9

Authentication

4 Find possible brute force password guessing access points in the application 3

5 Find a valid login credentials with password grinding, if possible 1

6 By pass authentication system with spoofed tokens 3

7 By pass authentication system with replay authentication information. 1

8 Determine the application logic to maintain the authentication session – number of 3


(consecutive) failure logins allowed, login timeout etc.

9 Determine the limitations of access control in the application – access permissions, 3


login session duration, idle duration

TOTAL 14/18

Session Management

10 Determine the session management information – number of concurrent session, 1


IP-based, authentication, role-based authentication, identity based authentication,
cookies usage, session ID in URL encoding string, session ID in hidden field
variables, etc

11 Guess the session ID sequence and format 3

12 Determine the session ID is maintained with IP address information; check if the 1


same session information can be retried & reused in another machine

13 Determine the session management limitations – bandwidth usages, file 3


download/upload limitations, transaction limitation, etc

14 Gather excessive information with direct URL, direct instruction, action sequence 3
jumping and/or pages skipping

15 Gather sensitive information with Man-in-the-Middle attacks 1

141
Vol. 2, No. 4 Computer and Information Science

16 Inject excess/bogus information with Session-Hijacking techniques 3

17 Replay gathered information to fool the applications. 1

TOTAL 16/21

Input Manipulation

18 Find the limitations of the defined variables and protocol payload – data length, data 3
type, construct format, etc.

19 Use exceptionally long character-strings to find buffer overflow vulnerability in the 3


applications

20 Concatenate commands in the input strings of the applications 2

21 Inject SQL language in the input strings of database-tired web applications 3

22 Examine “Cross-Site Scripting” in the web applications of the system 1

23 Examine unauthorized directory/file access with path/directory traversal in the input 3


strings of the applications

24 Use specific URL-encoded string and/or Unicode-encode strings to bypass input 3


validation mechanism of the applications

25 Execute remote commands through “Server Side Include” 3

26 Manipulate the session/persistent cookies to fool or modify the logic in the 2


server-side web application.

27 Manipulate the (hidden) field variable in the HTML forms to fool or modify the logic 3
in the server-side web application

28 Manipulate the “Referrer”. “Host”, etc. HTTP Protocol variables to fool or modify 3
the logic in the server-side web applications.

29 Use illogical/illegal input to test the application error-handling routines and to find 3
useful debug/error message from the applications.

TOTAL 32/36

Output Manipulation

30 Retrieve valuable information stored in the cookies 2

31 Retrieve valuable information from the client application cache 3

142
Computer and Information Science November, 2009

32 Retrieve valuable information stored in the serialized objects. 3

33 Retrieve valuable information stored in the temporary files and objects 3

TOTAL 11/12

Information Leakage

34 Find useful information in hidden field variables of the HTML forms and comments 3
in the HTML documents

35 Examine the information contained in the application banners, usage instructions, 3


welcome messages, farewell messages, application help messages, debug/error
message, etc.

TOTAL 6/6

Table 4. Summary of the Result Security Testing


Security Testing Category Marks Percentage (%)
Re-engineering 9/9 100%
Authentication 14/18 78%
Session Management 16/21 76%
Input Manipulation 32/36 89%
Output Manipulation 11/12 92%
Information Leakage 6/6 100%

Figure 1. Security in Software Development Life Cycle

143

View publication stats

You might also like