<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>netifera&#039;s blog</title>
	<atom:link href="http://blog.netifera.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.netifera.com</link>
	<description>netifera news</description>
	<lastBuildDate>Wed, 08 Sep 2010 13:18:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Peludo &#8220;cachicamo&#8221; v1.0.0 Released</title>
		<link>http://blog.netifera.com/peludo-cachicamo-v1-0-0-released/</link>
		<comments>http://blog.netifera.com/peludo-cachicamo-v1-0-0-released/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 15:55:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=131</guid>
		<description><![CDATA[Peludo is a system to create and run platform independent, self-contained, network-transportable, injectable applications written in the C programming language.
It provides a cross-compilation environment and other tools needed to generate applications using a new binary format called PLD as well as a Runtime to launch these applications.
Peludo makes the Java virtual machine of the netifera [...]]]></description>
			<content:encoded><![CDATA[<p>Peludo is a system to create and run platform independent, self-contained, network-transportable, injectable applications written in the C programming language.<br />
It provides a cross-compilation environment and other tools needed to generate applications using a new binary format called PLD as well as a Runtime to launch these applications.<br />
Peludo makes the Java virtual machine of the netifera probe injectable and easier to port to new platforms.</p>
<p><strong>Source Code</strong>:<br />
<a href="http://netifera.com/download/peludo/peludo-cachicamo-v1.0.0/peludo-cachicamo-v1.0.0.tar.gz">peludo-cachicamo-v1.0.0.tar.gz</a><br />
SHA1: 819f70a7f026119b792db3ca29782feafb172a0c</p>
<p><strong>Binary Package for Linux/x86 host:</strong><br />
<a href="http://netifera.com/download/peludo/peludo-cachicamo-v1.0.0/peludo-cachicamo-v1.0.0-bin-linux-x86.tbz">peludo-cachicamo-v1.0.0-bin-linux-x86.tbz</a><br />
SHA1: da33da3898800855101f20f87471719377e4a49d</p>
<p>To install just enter:<br />
<code> $ sudo tar jxf peludo-cachicamo-v1.0.0-bin-linux-x86.tbz -C /</code></p>
<p><strong>Binary Package for FreeBSD/amd64 host:</strong><br />
<a href="http://netifera.com/download/peludo/peludo-cachicamo-v1.0.0/peludo-cachicamo-v1.0.0-bin-freebsd-amd64.tbz">peludo-cachicamo-v1.0.0-bin-freebsd-amd64.tbz</a><br />
SHA1: 80f700f8e38d05270273c6f69eee6635db5ae634</p>
<p>To install just enter:<br />
<code> $ sudo tar jxf peludo-cachicamo-v1.0.0-bin-freebsd-amd64.tbz -C /</code></p>
<p><strong>Running it:</strong><br />
Every time you want to use the Peludo toolchain you should set the environment:<br />
<code> $ . /usr/local/peludo/setenv</code></p>
<p>Do not forget to check the examples, in particular the <strong>injectable extensible shell server</strong>:<br />
<code>$ cd /usr/local/peludo/examples/esh</code></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/peludo-cachicamo-v1-0-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Peludo Beta 1.0 Released!</title>
		<link>http://blog.netifera.com/peludo-beta-1-0-released/</link>
		<comments>http://blog.netifera.com/peludo-beta-1-0-released/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 23:44:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=124</guid>
		<description><![CDATA[Peludo is a system to create and run platform independent, self-contained and injectable applications written in the C programming language. It provides a cross compiling environment with the tools to generate applications in Peludo&#8217;s new binary format (PLD). The system also provides the runtime to launch these programs as independent executable files or as position [...]]]></description>
			<content:encoded><![CDATA[<p>Peludo is a system to create and run platform independent, self-contained and injectable applications written in the C programming language. It provides a cross compiling environment with the tools to generate applications in Peludo&#8217;s new binary format (PLD). The system also provides the runtime to launch these programs as independent executable files or as position independent code that can be injected into a running process. Peludo makes the Java virtual machine of the netifera probe injectable and easier to port to new platforms.</p>
<p><a href="http://netifera.com/peludo" target="_blank">Download and try it!</a></p>
<p>The source code is fully documented and the package includes sample code and a detailed description of the system.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/peludo-beta-1-0-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video &#8211; The Java Virtual Machine As Shellcode</title>
		<link>http://blog.netifera.com/video-the-java-virtual-machine-as-shellcode/</link>
		<comments>http://blog.netifera.com/video-the-java-virtual-machine-as-shellcode/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 10:29:29 +0000</pubDate>
		<dc:creator>netifera</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[geolocalization]]></category>
		<category><![CDATA[netifera]]></category>
		<category><![CDATA[probe]]></category>
		<category><![CDATA[shellcode]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=109</guid>
		<description><![CDATA[In this screencast we&#8217;re going to look at some features we are working on for the next version of netifera.
The two main things we&#8217;re going to demonstrate are geographical visualization and the netifera probe  which is a deployable software agent that makes it possible to run all netifera platform tools remotely as easily as [...]]]></description>
			<content:encoded><![CDATA[<p>In this screencast we&#8217;re going to look at some features we are working on for the next version of netifera.</p>
<p>The two main things we&#8217;re going to demonstrate are geographical visualization and the netifera probe  which is a deployable software agent that makes it possible to run all netifera platform tools remotely as easily as running them locally.</p>
<p>We&#8217;re going to install the probe on the netifera.com webserver, and we&#8217;ll deploy it like shellcode by injecting it directly into memory over the network, using an exploit.</p>
<p><a href="http://netifera.com/video/netifera_java_virtual_machine_as_shellcode" target="_blank"><img style="8px;" src="http://netifera.com/imgs/videoth_probe01.png" alt="the java virtual machine as shellcode video" width="400" height="273" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/video-the-java-virtual-machine-as-shellcode/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Netifera Development Tutorial</title>
		<link>http://blog.netifera.com/netifera-development-tutorial/</link>
		<comments>http://blog.netifera.com/netifera-development-tutorial/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 13:51:25 +0000</pubDate>
		<dc:creator>netifera</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[netifera]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=91</guid>
		<description><![CDATA[We are working on a series of tutorials about how to create new tools, modules, and extensions for the netifera framework.  The first tutorial covers setting up a development environment with Eclipse as well as creating and exporting a simple module for the netifera sniffing service.  If you have any questions or problems with the [...]]]></description>
			<content:encoded><![CDATA[<p>We are working on a series of tutorials about how to create new tools, modules, and extensions for the netifera framework.  The <a href="http://netifera.com/doc/netifera_tutorial_sniffing_module_part1/" target="_blank">first tutorial</a> covers setting up a development environment with <a href="http://www.eclipse.org" target="_blank">Eclipse</a> as well as creating and exporting a simple module for the netifera sniffing service.  If you have any questions or problems with the tutorial please don&#8217;t hesitate to contact us by email at info@netifera.com or join us on IRC in channel #netifera on the <a href="http://freenode.net" target="_blank">freenode</a> IRC network.</p>
<p><a href="http://netifera.com/doc/netifera_tutorial_sniffing_module_part1/">http://netifera.com/doc/netifera_tutorial_sniffing_module_part1/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/netifera-development-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beta 2 Released</title>
		<link>http://blog.netifera.com/beta-2-released/</link>
		<comments>http://blog.netifera.com/beta-2-released/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 01:52:41 +0000</pubDate>
		<dc:creator>netifera</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[netifera]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=84</guid>
		<description><![CDATA[We have just published the second netifera beta on our download page.  It includes many bug fixes and improvements since the last beta.
If you have the first beta installed, you must delete the entire directory (or move it out of the way) before installing this version.

Change log

Improved the output of several tools
Web spider: fixed a [...]]]></description>
			<content:encoded><![CDATA[<p>We have just published the second netifera beta on our <a href="http://netifera.com/download">download page</a>.  It includes many bug fixes and improvements since the last beta.</p>
<p><b>If you have the first beta installed, you must delete the entire directory (or move it out of the way) before installing this version.<br />
</b></p>
<h4>Change log</h4>
<ul>
<li>Improved the output of several tools</li>
<li>Web spider: fixed a number of important bugs, improved detection of several web applications.</li>
<li>TCP connect scanner: better handling of the case of the server response arriving in two fragments separated by a small delay, don&#8217;t miss the last piece of data</li>
<li>Improved detection of FTP, SMTP, and other services. Fixed some service miss-detections</li>
<li>UDP scanner: added a delay between sending packets, improved to better use the asynchronous socket engine</li>
<li>Removed some actions from targets that don&#8217;t make sense, such as &#8220;geo-localize&#8221; for private addresses.</li>
<li>Better handling of host names with multiple addresses and addresses with multiple names.</li>
<li>Added an &#8220;architecture&#8221; attribute to host entities, in addition to the &#8220;os&#8221; attribute.</li>
<li>Improved service detection to set the architecture when it can be known, and also to detect Linux distributions</li>
<li>Distinguish multiple clients of the same service in a single host, for example represent Firefox and apt-get as two different HTTP clients that can simultaneously exist in a single host</li>
<li>Open all perspectives at startup, so that both sniffing and tools perspectives are easily switched with buttons that appear in the toolbar</li>
<li>Improved the sniffing API and documentation of the API</li>
<li>Added the memory monitor to the status bar to help debugging memory leaks</li>
<li>Added system information (os, architecture, etc) to services and clients, show OS icon decoration in services and clients too</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/beta-2-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XCon2008 netifera presentation</title>
		<link>http://blog.netifera.com/xcon2008-netifera-presentation/</link>
		<comments>http://blog.netifera.com/xcon2008-netifera-presentation/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 17:54:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=66</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><iframe src='http://docs.google.com/EmbedSlideshow?docid=dgrzxqxh_0dg7bq7g8' frameborder='0' width='410' height='342'></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/xcon2008-netifera-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About the backdoor in netifera</title>
		<link>http://blog.netifera.com/about-the-backdoor-in-netifera/</link>
		<comments>http://blog.netifera.com/about-the-backdoor-in-netifera/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 17:07:48 +0000</pubDate>
		<dc:creator>netifera</dc:creator>
				<category><![CDATA[Netifera Architecture]]></category>
		<category><![CDATA[backdoor]]></category>
		<category><![CDATA[netifera]]></category>
		<category><![CDATA[sniffing]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=23</guid>
		<description><![CDATA[Some of you might be wondering why the netifera distribution includes an executable called &#8216;backdoor&#8217;.
We deliberately chose that name to draw attention to the fact that if you install this feature correctly you will be creating a security vulnerability on your system: Anybody who can execute the backdoor binary will be able to capture and [...]]]></description>
			<content:encoded><![CDATA[<p>Some of you might be wondering why the <a href="http://netifera.com/downloads.php">netifera distribution</a> includes an executable called &#8216;backdoor&#8217;.</p>
<p>We deliberately chose that name to draw attention to the fact that if you install this feature correctly you will be creating a security vulnerability on your system: Anybody who can execute the backdoor binary will be able to capture and send raw network packets.  We think this risk is minor and acceptable considering that it makes netifera much simpler to launch and use, but it&#8217;s disabled by default and should not be enabled without understanding the implications.</p>
<p>We&#8217;ll explain all the details of why it exists and how it works, and how large of a security hole it creates so you can decide for yourself if you want to use it or not.</p>
<p><span id="more-23"></span></p>
<h3>Why do we need it?</h3>
<p>Netifera includes functionality which captures network traffic and parses it for interesting information.  On the platforms we currently support (Linux and Mac OS X), special privileges are required to open a network interface and capture packets.</p>
<p>On Linux to capture packets you need to open a <a href="http://www.kernel.org/doc/man-pages/online/pages/man7/packet.7.html">special type of socket</a> with the socket system call.  A regular user process cannot access these sockets without elevated privileges:</p>
<p><em> &#8216;Only processes with effective UID 0 or the CAP_NET_RAW capability may open packet sockets.&#8217;</em></p>
<p>Mac OS X provides <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man4/bpf.4.html">the standard BSD interface</a> for capturing packets through a set of devices in the /dev directory:</p>
<pre>$ ls -l /dev/bpf*
crw-------  1 root  wheel   23,   0 Nov 23 10:45 /dev/bpf0
crw-------  1 root  wheel   23,   1 Nov 23 11:14 /dev/bpf1
crw-------  1 root  wheel   23,   2 Nov 21 16:52 /dev/bpf2
crw-------  1 root  wheel   23,   3 Nov 21 16:52 /dev/bpf3</pre>
<p>Access to these devices is controlled with filesystem permissions and in a typical configuration only the superuser will have permission to open BPF devices.</p>
<p>On both Linux and OS X the problem is the same: We need to access a privileged operating system resource from a regular user process.</p>
<h3>How does it work?</h3>
<h4>Our pcap implementation</h4>
<p>When we started implementing sniffing in netifera we didn&#8217;t find a useful java library for capturing packets.  We decided to write our own by implementing libpcap in java.  Our version is somewhere between a port of libpcap into java, and a new implementation.  We copied the exact logic for opening capture devices because libpcap covers a lot of special cases and subtleties.  Since java does not directly provide access to the necessary system calls, we use a small (about 300 lines of C code) Java Native Interface library to invoke the raw system calls needed to implement the pcap library.</p>
<h4>Backdoor</h4>
<p>When netifera attempts to open a network interface for capture, it will fail unless netifera is running as root.  If the attempt fails because of a permission error, netifera will attempt to us the backdoor executable if it is available and installed as setuid root.</p>
<p>The native library executes and communicates with the backdoor binary.</p>
<p><a href="http://blog.netifera.com/wp/wp-content/uploads/2008/11/backdoor_architecture1.png"><img class="alignnone size-full wp-image-28" src="http://blog.netifera.com/wp/wp-content/uploads/2008/11/backdoor_architecture1.png" alt="" width="500" height="338" /></a></p>
<ol>
<li>The JNI library (libsystem.so) creates a pair of Unix domain sockets with socketpair() and executes the backdoor binary with one side of the socket pair bound to file descriptor 0.</li>
<li>The backdoor binary opens an instance of the privileged resource and obtains a file descriptor.</li>
<li>The backdoor passes the file descriptor to netifera using a Unix feature for passing file descriptors between processes over a local socket, and then exits.</li>
</ol>
<h3>What are the alternatives?</h3>
<h4>Always run netifera as root</h4>
<p>If netifera is executed as root, then there is no problem to solve since the root user can always open the sockets or devices needed for capturing packets.  We don&#8217;t think it&#8217;s reasonable to require our users to always run netifera as root, especially considering that we are expecting our users to be very security conscious.</p>
<p>If you prefer to not install the backdoor binary, this is an option that can be used to access sniffing functionality in netifera.</p>
<h4>Doesn&#8217;t the desktop environment already provide a solution to this problem?</h4>
<p>Linux has <a href="http://manpages.ubuntu.com/manpages/intrepid/man1/su-to-root.html">various graphical wrappers</a> for the sudo and su utilities and Mac OS X has something called <a href="http://developer.apple.com/documentation/Security/Conceptual/authorization_concepts/01introduction/chapter_1_section_1.html">Authorization Services</a>.  On both operating systems this can be used to launch an application with root privileges after prompting the user for a password.  So, this would be an easy way to have netifera always launched as the root user.  We are not going to install netifera this way and we don&#8217;t recommend that you do it either.  Typing your root password into an arbitrary UI dialog just because it popped up and asked for it makes us a little bit uncomfortable.</p>
<h4>An idea for the future</h4>
<p>Recently we&#8217;ve been discussing a new possible solution to authenticate requests to the backdoor binary.  The way it would work is that the user would choose a password when upon installation which would be hashed and stored in a file owned and readable only by root.  The netifera user interface would prompt the user for this password and send it in requests over the socket it shares with the backdoor utility.  The backdoor executable would use the setuid root privileges to read the password from the file and authenticate the request.</p>
<h3>Conclusion</h3>
<p>If you install the backdoor binary with setuid privileges you will be able to sniff packets in netifera without needing to run the entire application as root.  The downside is that anybody else who can execute the backdoor binary can also use it to open network devices for sniffing.</p>
<p>Please let us know if you have some idea for solving this problem that we have not thought of, and if it makes sense we&#8217;ll implement it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/about-the-backdoor-in-netifera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beijing 2008</title>
		<link>http://blog.netifera.com/beijing-2008/</link>
		<comments>http://blog.netifera.com/beijing-2008/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 03:14:42 +0000</pubDate>
		<dc:creator>netifera</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://blog.netifera.com/?p=16</guid>
		<description><![CDATA[Today we made our first public presentation about netifera at XCon2008, and in a couple of days the beta will be available for download at http://netifera.com/downloads
We&#8217;ve received good feedback from the attendees, encouragement and cool ideas. We are really enjoying our stay, thanks a lot to the organizers for their hard work!
Ok, bye, we&#8217;re going [...]]]></description>
			<content:encoded><![CDATA[<p>Today we made our first public presentation about netifera at <a href="http://xcon.xfocus.org/">XCon2008</a>, and in a couple of days the beta will be available for download at <a href="http://netifera.com/downloads">http://netifera.com/downloads</a></p>
<p>We&#8217;ve received good feedback from the attendees, encouragement and cool ideas. We are really enjoying our stay, thanks a lot to the organizers for their hard work!</p>
<p>Ok, bye, we&#8217;re going to karaoke.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netifera.com/beijing-2008/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

