<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/MU" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Scripting and Security</title>
	<link>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/</link>
	<description>Within Don Parker's blog various computer network security issues are discussed. Find coverage on topics such as patch management techniques, reverse engineering, IDS and IPS evasion, anti-virus and firewall usage. Commentary on the top network security news stories and rumors in the blogsphere. Analysis of common security issues faced by Microsoft Windows users and information is shared to help train network security analysts.</description>
	<pubDate>Fri, 29 Aug 2008 02:28:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>

	<item>
		<title>by: Don Parker</title>
		<link>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-31278</link>
		<pubDate>Thu, 09 Aug 2007 14:32:19 +0000</pubDate>
		<guid>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-31278</guid>
					<description>I will have to take a look at the book on C that you referenced. Indeed if speed is a prime consideration then writing it in C or C++ is likely best. 

Salut!

Don</description>
		<content:encoded><![CDATA[<p>I will have to take a look at the book on C that you referenced. Indeed if speed is a prime consideration then writing it in C or C++ is likely best. </p>
<p>Salut!</p>
<p>Don
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: b0ne</title>
		<link>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-30334</link>
		<pubDate>Fri, 27 Jul 2007 15:43:52 +0000</pubDate>
		<guid>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-30334</guid>
					<description>I generally agree that it is a great asset to posses as a security professional, noting some dependency on the type of work you're doing.

As your utility gets more complicated to implement, the &quot;just get it done&quot; productivity gains of the dynamic languages like perl, python, and ruby can be a large boon.  

Also noteworthy, if your code is used on a daily basis or is iterated through thousands of times, the time saved implementing in dynamic code vs. waiting for it to finish executing can be substantial.

For a malware researcher / binary analyst though, it is highly beneficial to have a baseline understanding of such a fundamental and relatively simple language like C.  It greatly increases your understand of the more complicated aspects of operating systems and their security.

I recently read an excellent book on C.  It will help anyone who wants to develop a really thorough understanding of the core language. I recommend &quot;Beginning C: From Novice to Professional&quot; By Ivor Horton / Apress.

You can actually preview entire book here: http://books.google.com/books?q=beginning+c+from+novice+to+professional</description>
		<content:encoded><![CDATA[<p>I generally agree that it is a great asset to posses as a security professional, noting some dependency on the type of work you&#8217;re doing.</p>
<p>As your utility gets more complicated to implement, the &#8220;just get it done&#8221; productivity gains of the dynamic languages like perl, python, and ruby can be a large boon.  </p>
<p>Also noteworthy, if your code is used on a daily basis or is iterated through thousands of times, the time saved implementing in dynamic code vs. waiting for it to finish executing can be substantial.</p>
<p>For a malware researcher / binary analyst though, it is highly beneficial to have a baseline understanding of such a fundamental and relatively simple language like C.  It greatly increases your understand of the more complicated aspects of operating systems and their security.</p>
<p>I recently read an excellent book on C.  It will help anyone who wants to develop a really thorough understanding of the core language. I recommend &#8220;Beginning C: From Novice to Professional&#8221; By Ivor Horton / Apress.</p>
<p>You can actually preview entire book here: <a href='http://books.google.com/books?q=beginning+c+from+novice+to+professional' rel='nofollow'>http://books.google.com/books?q=beginning+c+from+n...sional</a>
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Don Parker</title>
		<link>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-30323</link>
		<pubDate>Fri, 27 Jul 2007 11:23:32 +0000</pubDate>
		<guid>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-30323</guid>
					<description>Hi b0ne,

I would agree with you that it is largely semantics in regards to the difference between programming and scripting. It has always been enjoyable the times that I have studied C in an effort to further my skills in it. At times an infuriating challenge, but that is what makes it fun :-) In my case I think I need to go to a brick and mortar school and take a formal class. Though it is pretty much impossible to find a course in C nowadays as everything is object oriented in the guise of Java and C++. 

All that said, I would say though that scripting is the more important skill to have for a network security professional. Would you agree? Reason being is that it is unlikely that one would have to write an app from scratch to perform a function that could likely also be mirrored in PERL or Python. Your thoughts? 

Thanks for taking the time to write,

Don</description>
		<content:encoded><![CDATA[<p>Hi b0ne,</p>
<p>I would agree with you that it is largely semantics in regards to the difference between programming and scripting. It has always been enjoyable the times that I have studied C in an effort to further my skills in it. At times an infuriating challenge, but that is what makes it fun <img src='http://blogs.windowsecurity.com/parker/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  In my case I think I need to go to a brick and mortar school and take a formal class. Though it is pretty much impossible to find a course in C nowadays as everything is object oriented in the guise of Java and C++. </p>
<p>All that said, I would say though that scripting is the more important skill to have for a network security professional. Would you agree? Reason being is that it is unlikely that one would have to write an app from scratch to perform a function that could likely also be mirrored in PERL or Python. Your thoughts? </p>
<p>Thanks for taking the time to write,</p>
<p>Don
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: b0ne</title>
		<link>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-30290</link>
		<pubDate>Fri, 27 Jul 2007 01:54:40 +0000</pubDate>
		<guid>http://blogs.windowsecurity.com/parker/2007/07/26/scripting-and-security/#comment-30290</guid>
					<description>I would disagree that you have given up on programming.

The difference between &quot;programming&quot; and scripting is really a semantic argument with respect to perl and python.  Perhaps if you were using a shell script I would agree.

To mirror the perl functionality in your nice article using the C &quot;programming&quot; language, I only needed to do one extra step; delcare variables.

 gcc.exe -o findIP.exe programming_example.c 

programming_example.c:

#include 
int main(int argc, char *argv[])
{
	FILE *in;
	FILE *out;
	char line[1024];
	char match[] = &quot;192.168.1.102&quot;;
	
	if ((in = fopen(argv[1],&quot;r&quot;)) == NULL) {
		printf(&quot;err - could not open input %s\n&quot;,argv[1]);
		return 1;
	}
	
	if ((out = fopen(&quot;articleoutput&quot;,&quot;w&quot;)) == NULL) {
		printf(&quot;err - could not open output file %s\ns&quot;,&quot;articleoutput&quot;);
		return 1;
	}	
	
	while (fgets(line, 1024, in) != NULL)  {
		if (strstr(line,match))
			fprintf(out,line,&quot;%s\n&quot;);
	}
	
	fclose(in);
	fclose(out);
	
	return 0;
}</description>
		<content:encoded><![CDATA[<p>I would disagree that you have given up on programming.</p>
<p>The difference between &#8220;programming&#8221; and scripting is really a semantic argument with respect to perl and python.  Perhaps if you were using a shell script I would agree.</p>
<p>To mirror the perl functionality in your nice article using the C &#8220;programming&#8221; language, I only needed to do one extra step; delcare variables.</p>
<p> gcc.exe -o findIP.exe programming_example.c </p>
<p>programming_example.c:</p>
<p>#include<br />
int main(int argc, char *argv[])<br />
{<br />
	FILE *in;<br />
	FILE *out;<br />
	char line[1024];<br />
	char match[] = &#8220;192.168.1.102&#8243;;</p>
<p>	if ((in = fopen(argv[1],&#8221;r&#8221;)) == NULL) {<br />
		printf(&#8221;err - could not open input %s\n&#8221;,argv[1]);<br />
		return 1;<br />
	}</p>
<p>	if ((out = fopen(&#8221;articleoutput&#8221;,&#8221;w&#8221;)) == NULL) {<br />
		printf(&#8221;err - could not open output file %s\ns&#8221;,&#8221;articleoutput&#8221;);<br />
		return 1;<br />
	}	</p>
<p>	while (fgets(line, 1024, in) != NULL)  {<br />
		if (strstr(line,match))<br />
			fprintf(out,line,&#8221;%s\n&#8221;);<br />
	}</p>
<p>	fclose(in);<br />
	fclose(out);</p>
<p>	return 0;<br />
}
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
