<div>Im not sure who said &quot;Input validation is the only security mechanisim&quot; but anyways I agree with Jeff here. </div>
<div>&nbsp;</div>
<div>The purpose of a code review guide reviewer is to perfrom an objective review of the technical content and suggest any improvements on structure or content, NOT to suggest theorethical &quot;what if&#39;s&quot; and other garbage. I am tired of the academic approach to subjects such as security and wish to guide to be pragmatic. </div>

<div><br>&nbsp;</div>
<div><span class="gmail_quote">On 23/06/2008, <b class="gmail_sendername">Jeff Williams</b> &lt;<a href="mailto:jeff.williams@owasp.org">jeff.williams@owasp.org</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">I really think this is a ridiculous hypothetical. Nobody cares about hello<br>world. And it&#39;s such a trivial program that it&#39;s unlikely (certainly not<br>
impossible) that there are exploitable vulnerabilities.<br><br>In the first place, human generated input is not the only source of attacks.<br>It&#39;s very easy these days to tunnel attacks through other &quot;trusted&quot; systems.<br>
You need to validate anything that isn&#39;t guaranteed to be safe.&nbsp;&nbsp;By<br>&quot;guaranteed&quot; I mean that someone else will compensate you for any loss<br>related to an attack in the data.<br><br>But more importantly, malicious input is not even close to the only way that<br>
an application can be attacked. An attacker could monitor the running<br>application (in memory or swap) and breach confidentiality. They could<br>change the underlying platform (keylogging, dll injection, virtualization).<br>
The attacker might bypass authentication or access controls. They might<br>replay They can deny service by exhausting resources or locking. The<br>application might not properly handle errors (not input related like out of<br>
memory, file not found, etc..) and it might disclose implementation details<br>or crash. The application might not log properly. It might have concurrency<br>problems that intermittently disclose sensitive information. And a million<br>
others.<br><br>The idea that input validation is the only security mechanism is absurd.<br><br>--Jeff<br><br>-----Original Message-----<br>From: <a href="mailto:owasp-codereview-bounces@lists.owasp.org">owasp-codereview-bounces@lists.owasp.org</a><br>
[mailto:<a href="mailto:owasp-codereview-bounces@lists.owasp.org">owasp-codereview-bounces@lists.owasp.org</a>] On Behalf Of Mario de Boer<br>Sent: Monday, June 23, 2008 9:32 AM<br>To: Nam Nguyen<br>Cc: <a href="mailto:Owasp-codereview@lists.owasp.org">Owasp-codereview@lists.owasp.org</a><br>
Subject: Re: [Owasp-codereview] No input paths still not 100% secure?<br><br>At least, &quot;heIIo world&quot; outputs something. This is interpreted by<br>something, in this case a human. The fact that I wrote two capital &quot;i&quot;<br>
instead of a lowercase &quot;l&quot; indicates that there might be a security<br>problem with this program in some applications. You can probably<br>conjure up more of these.<br>Moreover, the program uses library calls (or an interpreter), for<br>
example printf. In some hostile environments this may not be secure.<br>The only secure program is NOP (though this may be disputed by some).<br>Regards, Mario<br><br>On 6/23/08, Nam Nguyen &lt;<a href="mailto:namn@bluemoon.com.vn">namn@bluemoon.com.vn</a>&gt; wrote:<br>
&gt; Mark Roxberry, <a href="http://OWASP.ORG">OWASP.ORG</a> wrote:<br>&gt; &gt; Hello world is probably not my target.<br>&gt; &gt;<br>&gt; &gt; For a better example of an apparently input less application, say you<br>have a<br>
&gt; &gt; win32 service for file I/O.<br>&gt;<br>&gt; Doesn&#39;t &quot;file I/O&quot; spell out in full as &quot;file *Input*/Output&quot;?<br>&gt;<br>&gt; I know, I know. I&#39;m being annoying here...<br>&gt;<br>&gt; Nam<br>
&gt;<br>&gt; We may need this to give that service higher<br>&gt; &gt; privileged authority than direct user access to a file repository as<br>part of<br>&gt; &gt; a web application.&nbsp;&nbsp;In this case, I can deny the service access by<br>
changing<br>&gt; &gt; access control to a directory, also by changing the service account to<br>run<br>&gt; &gt; as another account.&nbsp;&nbsp;In day to day security configuration settings are<br>&gt; &gt; usually not considered as input (at least in my experience).&nbsp;&nbsp;So if you<br>
have<br>&gt; &gt; a configuration setting for a file location in my previous example, and<br>you<br>&gt; &gt; can change that, there&#39;s a vector that is not technically input.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: <a href="mailto:owasp-codereview-bounces@lists.owasp.org">owasp-codereview-bounces@lists.owasp.org</a><br>&gt; &gt; [mailto:<a href="mailto:owasp-codereview-bounces@lists.owasp.org">owasp-codereview-bounces@lists.owasp.org</a>] On Behalf Of Nam<br>
Nguyen<br>&gt; &gt; Sent: Monday, June 23, 2008 6:45 AM<br>&gt; &gt; To: Eoin<br>&gt; &gt; Cc: <a href="mailto:Owasp-codereview@lists.owasp.org">Owasp-codereview@lists.owasp.org</a><br>&gt; &gt; Subject: Re: [Owasp-codereview] No input paths still not 100% secure?<br>
&gt; &gt;<br>&gt; &gt; Eoin wrote:<br>&gt; &gt;&gt; I suppose all systems have some sort of data?<br>&gt; &gt;&gt; be it from a user or a B2B system or from a legacy database, or a batch<br>&gt; &gt; file<br>&gt; &gt;&gt; feed?<br>
&gt; &gt;<br>&gt; &gt;&gt; The data has to come from somewhere and such data must be validated and<br>&gt; &gt; the<br>&gt; &gt;&gt; transactions relating to the input of such data must be examined.<br>&gt; &gt;<br>&gt; &gt; Agreed.<br>
&gt; &gt;<br>&gt; &gt; However, the statement that we are discussing about assumes that such<br>&gt; &gt; system does not take in any data at all. In that sense, I could only<br>&gt; &gt; imagine &quot;hello world&quot;. And how could &quot;hello world&quot; not be 100% secure?<br>
&gt; &gt;<br>&gt; &gt; Maybe I&#39;m missing something here. By &quot;input mechanism&quot;, do you only<br>&gt; &gt; consider inputs entered by a human, not taken from other systems?<br>&gt; &gt;<br>&gt; &gt; Cheers<br>&gt; &gt; Nam<br>
&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt; On 23/06/2008, Nam Nguyen &lt;<a href="mailto:namn@bluemoon.com.vn">namn@bluemoon.com.vn</a>&gt; wrote:<br>&gt; &gt;&gt;&gt; Hi<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; I&#39;m reviewing the newly added chapter Transaction Analysis (or is it<br>
&gt; &gt;&gt;&gt; Transactional Analysis?).<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; This statement caught my eyes and I kept pondering how it could be<br>&gt; &gt;&gt;&gt; exemplified.<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; &quot;Would systems lacking an input mechanism be 100% secure? Probably<br>
not.&quot;<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; I mean, &quot;hello world&quot; is not 100% secure?<br>&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; Could someone share with me an example of such vulnerable system<br>please?<br>
&gt; &gt;&gt;&gt;<br>&gt; &gt;&gt;&gt; Thanks<br>&gt; &gt;&gt;&gt; Nam<br>&gt; &gt;<br>&gt; &gt; _______________________________________________<br>&gt; &gt; Owasp-codereview mailing list<br>&gt; &gt; <a href="mailto:Owasp-codereview@lists.owasp.org">Owasp-codereview@lists.owasp.org</a><br>
&gt; &gt; <a href="https://lists.owasp.org/mailman/listinfo/owasp-codereview">https://lists.owasp.org/mailman/listinfo/owasp-codereview</a><br>&gt; _______________________________________________<br>&gt; Owasp-codereview mailing list<br>
&gt; <a href="mailto:Owasp-codereview@lists.owasp.org">Owasp-codereview@lists.owasp.org</a><br>&gt; <a href="https://lists.owasp.org/mailman/listinfo/owasp-codereview">https://lists.owasp.org/mailman/listinfo/owasp-codereview</a><br>
&gt;<br>_______________________________________________<br>Owasp-codereview mailing list<br><a href="mailto:Owasp-codereview@lists.owasp.org">Owasp-codereview@lists.owasp.org</a><br><a href="https://lists.owasp.org/mailman/listinfo/owasp-codereview">https://lists.owasp.org/mailman/listinfo/owasp-codereview</a><br>
<br>_______________________________________________<br>Owasp-codereview mailing list<br><a href="mailto:Owasp-codereview@lists.owasp.org">Owasp-codereview@lists.owasp.org</a><br><a href="https://lists.owasp.org/mailman/listinfo/owasp-codereview">https://lists.owasp.org/mailman/listinfo/owasp-codereview</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Eoin Keary OWASP - Ireland<br><a href="http://www.owasp.org/local/ireland.html">http://www.owasp.org/local/ireland.html</a><br><a href="http://www.owasp.org/index.php/OWASP_Code_Review_Project">http://www.owasp.org/index.php/OWASP_Code_Review_Project</a>