Assume attackers have source code

Revision as of 06:07, 26 May 2009 by Deleted user (Talk | contribs)

Jump to: navigation, search

[ automobile part and accessory ] [ autodisconnect ] [ african food and music ] [ african american barbie party supplies ] [ african american business directory ] [ artichoke asiago dip ] [ japanese car imports australia ] http [ asia carrera foto ] [ asian paysite ] [ how to disable avg antivirus ] [ west african kingdoms ghana ] [ plunkett homes australia ] [ mcafee antivirus 2005 keygen ] [ cricket south africa score ] [ kangroo island australia ] [ australia estate real redlynch sale ] [ car audio forum australia ] [ how to completely remove norton antivirus 2004 ] [ norton corporate antivirus 9 ] [ business name search australia ] [ auto warranty group ] [ columbia auto insurance ] [ telangiectasia definition ] [ asia carrera movie list ] [ australasian institute of credit union directors ] [ automotive electrical connector suppliers in telford ] [ euthanasia methods humans ] [ asian spas georgia ] [ south africa tourist board ] [ autorama cleveland ] [ african american bestseller book ] [ contemporary african music ] african american ghana immigration [ africas land ] [ australias funniest home video shows ] [ african american television actors ] [ australian greeting card association inc ] [ bmw automobiles in state of washington ] [ avg antivirus 7.0.306 serial number ] [ african side necked turtle ] index [ australian wine closure test ] [ top 50 charts australia ] [ asian cumbath ] [ avast antivirus pro serial ] [ norton antivirus 2005 keygen by tmg ] [ antivirus software free trials ] [ auto mag trigger ] [ antivirus for macintosh ]

This page has been recommended for deletion.
You can help OWASP by improving it or discussing it on its Talk page. See FixME
Comment: Tagged via Template:Delete

This is a principle or a set of principles. To view all principles, please see the Principle Category page.


Secrecy of source code and other implementation details is a very weak approach to security. In fact, the secrecy of your source code is probably not nearly as good as you think. So build your applications considering that an attacker has a copy of the source code. There is no reason that having the source code makes a secure system impossible.

In most organizations, the source code for applications is stored in a Source Code Control System designed for integrity, not secrecy.

Think who has access to the code and where it might have been stored. There's likely to be a full copy of the source code on every developer's machine. They may have made backup copies in home directories or other storage. They may have taken a copy to work on at home (or possibly to reuse on other projects). The code is also probably stored on backup tapes.

The source code is also probably stored on compile servers and machines that are a part of the build process. The code (in compiled form) is also likely to have found its way to test machines, developer machines, staging servers, and also production. Compiled code is easy to reverse engineer, especially with bytecode-type languages like Java and .NET.

To say that many of these places are not as well protected as production environments is a serious understatement. So consider the threat (in your actual environment, not the way the standards say it is supposed to be) of an attacker being able to get a copy of the source code.

The good news is that having the source code shouldn't provide much of an advantage to an attacker, if you've build it with that in mind. The cryptographic community has followed this principle for decades, but many organizations cling to the notion that the secrecy of the code is critical to the security of their application.

NOTE: Some source code contains intellectual property, such as trade secret algorithms and other business processes. The secrecy of the source code is an important part of protecting this IP.


Short example name

A short example description, small picture, or sample code with links

Related Vulnerabilities

Related Controls


This article is a stub. You can help OWASP by expanding it or discussing it on its Talk page.