<?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>Ranok&#039;s Ramblings &#187; General</title>
	<atom:link href="http://www.r4n0k.com/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.r4n0k.com</link>
	<description>A peek into my life, and the projects I never complete</description>
	<lastBuildDate>Mon, 14 Jun 2010 12:49:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Long Time No Post</title>
		<link>http://www.r4n0k.com/2010/04/23/long-time-no-post/</link>
		<comments>http://www.r4n0k.com/2010/04/23/long-time-no-post/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 13:56:33 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[ais]]></category>
		<category><![CDATA[Clarkson]]></category>
		<category><![CDATA[iceland]]></category>
		<category><![CDATA[osp]]></category>
		<category><![CDATA[school]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[shellcode]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=237</guid>
		<description><![CDATA[It&#8217;s been quite a while since I&#8217;ve posted here, and to my devout readers I apoligize. As many of you know, this has been my last semester of my undergraduate studies, so I have been very busy over the past few months. This post will hopefully act as a dump of what I&#8217;ve been up [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been quite a while since I&#8217;ve posted here, and to my devout readers I apoligize. As many of you know, this has been my last semester of my undergraduate studies, so I have been very busy over the past few months. This post will hopefully act as a dump of what I&#8217;ve been up to and what I will be doing until my next post.</p>
<p>Things I did:</p>
<ul>
<li>Developed a method for calling parts of functions to minimize/obfuscate programs</li>
<li>Worked with Ryan on <a href="http://github.com/ranok/open-server-platform">OSP</a> to get a web based cluster management system integrated into the cluster administration page</li>
<li>Played with return-to-libc attacks and got them working on the latest version of Ubuntu Linux</li>
</ul>
<p>Things on the horizon:</p>
<ul>
<li>Working full-time for AIS</li>
<li>Traveling to Iceland for 3 weeks</li>
<li>Working on a computer security textbook</li>
<li>Running a marathon in August</li>
</ul>
<p>It is very weird to me to think that today is the last day of classes for me as a traditional full-time student. I&#8217;ve been going to school since I was 5 and it is very weird to think that come August I will not be returning to the classroom as my primary past-time. I am excited to travel and get away from the normal swing of things for a while to reflect on the new changes in my life, and excited to begin working, especially due to the extra leisure time after work.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2010/04/23/long-time-no-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Mnesia I</title>
		<link>http://www.r4n0k.com/2009/10/14/introduction-to-mnesia-i/</link>
		<comments>http://www.r4n0k.com/2009/10/14/introduction-to-mnesia-i/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 18:56:31 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[dbms]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[mnesia]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=203</guid>
		<description><![CDATA[Today in my Advanced Concepts in Operating Systems class I led the discussion on the Mnesia paper from PADL&#8217;99, while this paper has numerous typos it does do an excellent job highlighting the features and advantages of Mnesia. For those of you who are unaware, Mnesia is a distributed, fault-tolerant object DBMS written in Erlang. [...]]]></description>
			<content:encoded><![CDATA[<p>Today in my Advanced Concepts in Operating Systems class I led the discussion on the <a href="http://www.erlang.se/publications/mnesia_overview.pdf">Mnesia paper</a> from PADL&#8217;99, while this paper has numerous typos it does do an excellent job highlighting the features and advantages of Mnesia. For those of you who are unaware, Mnesia is a distributed, fault-tolerant object DBMS written in Erlang. One thing about Mnesia that I have found to be lacking is a tutorial written for the lay person from the ground up, this gap I intend to try and fill. This multi-segment tutorial assumes you have knowledge of Erlang, and the basic  concepts of manipulating data with DBMSes, other than that, I hope to provide enough information and code to demystify a fairly complex system. However, I still am on the road to mastery, so if I make any errors, or you have any tips for improvement, I&#8217;d be happy to add them in.</p>
<p>To get started, start up the Erlang shell (erl) with a name, I will use -sname foo in the following examples. Below is a transcript of starting up and creating a disk-based</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">ranok@orion:~/Desktop$ erl -sname foo
Erlang R13B01 (erts-5.7.2) [source] [smp:2:2] [rq:2] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.2  (abort with ^G)
(foo@orion)1&gt; mnesia:create_schema([node()]).
ok
(foo@orion)2&gt; mnesia:start().
ok</span></pre>
</div>
</div>
<p>The most important call made here, create_schema, takes a list of nodes to replicate the schema table to on disk. You can add additional disk-based nodes or ram-based copies later (we&#8217;ll get to the details later). After you&#8217;ve created the schema (this will make a folder for all the Mnesia table data), you can start the application with the start function.</p>
<p>Now that we have the database running, we need at least one table to store the data in, we will start with a very simple record to just store simple key/value data. The nice thing about Mnesia, is that the data we store can be pretty much anything, from a simple atom to a function. We will start learning the basics from the mnesia_test module, which I have <a href="http://code.jitunleashed.com/mnesia/mnesia_test.erl">uploaded here</a>.</p>
<p>The first few lines of the module start off like any Erlang code, a module declaration, what functions to export, including the QLC (Query List Comprehensions) include file (you may need to find it for your system) and a record definition:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">-record(data, {key, value}).</span></pre>
</div>
</div>
<p>Which will define our record for the table also named data. In the function setup_and_start/0, we tie in what we already went over with the create_table function, which in our case looks like</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">mnesia:create_table(data, [{disc_copies, [node()]}, {attributes, record_info(fields, data)}])</span></pre>
</div>
</div>
<p>The <a href="http://erlang.org/doc/man/mnesia.html#create_table-2">create_table</a> function has a number of options, the most basic of which we will deal with at the moment: the name of the new table, where and how the table will be stored and what fields the table has (this code used the record_info() function to pull those out of the data record for us). Now that we have our table, we need a way to get the data in and out of it.</p>
<p>Many databases provide the ability for multiple queries to be joined into one transaction to be executed atomically. Mnesia is no different, but for the most part, all queries are executed through the transaction manager (there is a dirty interface which will be discussed later), this makes working in a distributed environment much easier. The way to perform a transaction in Mnesia is to pass a fun to the mnesia:transaction() function that will atomically run.</p>
<p>The actual function to enter data (both insert and update) is write(Record). We wrap this into the mnesia_test:insert(Key, Val) function displayed below:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">insert(Key, Val) -&gt;
Record = #data{key = Key, value = Val},
F = fun() -&gt;
mnesia:write(Record)
end,
mnesia:transaction(F).</span></pre>
</div>
</div>
<p>To now retrieve this data back from the database, the read function is now used, the read function takes two arguments: the table name (in this case, data) and the key to retrieve. The mnesia_test retrieve function wraps this nicely for us, and is shown below:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">retrieve(Key) -&gt;
F = fun() -&gt;
mnesia:read({data, Key})
end,
{atomic, Data} = mnesia:transaction(F),
Data.</span></pre>
</div>
</div>
<p>mnesia:transaction will either return {aborted, Reason} or {atomic, Rows}, where Rows is a list of all the retrieved data. If the key we tried to retrieve could not be found, then it will return an empty list.</p>
<p>Say however, we want to search the table for certain values that are not the index of the table. For that there is the matching functions, the simplest of them is the match_object whose usage can be seen here:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">search(Val) -&gt;
F = fun() -&gt;
mnesia:match_object(#data{key = '_', value = Val})
end,
{atomic, Data} = mnesia:transaction(F),
Data.</span></pre>
</div>
</div>
<p>As you can see, simply fill in all the values that are known and that you want to search for, and use the &#8216;_&#8217; unmatched value for all the other values. This transaction will return the same forms as the read transaction.</p>
<p>There is another method for filtering through Mnesia tables, which is very similar to the list comprehensions builtin to Erlang which is called QLC. The QLC version of the above function is below:</p>
<div class="hl-container">
<div class="hl-main">
<pre><span class="hl-code">search_qlc(Val) -&gt;
F = fun() -&gt;
qlc:eval(
qlc:q(
[X || X &lt;- mnesia:table(data), X#data.value == Val]
))
end,
{atomic, Data} = mnesia:transaction(F),
Data.</span></pre>
</div>
</div>
<p>What the query here is doing is is returning a list of Xs where every possible X comes from our data table, and X#data.value == Val. This should be very intuitive for those of you who are familiar with list comprehensions. What qlc:q() does is form a query handle (much like a function object) which gets evaluated by qlc:eval() inside of our transaction object. Again, this will return the same values from mnesia:transaction.</p>
<p>Well, that about covers the basics of Mnesia, you now should be able to setup Mnesia on your computer, create a table and insert/retrieve data from it. In the next installment, we will look at distributed Mnesia and the dirty interface, which provides faster queries by bypassing the transaction manager. After that we will put all of what we&#8217;ve learned into creating a system that will take advantage of Mnesia and give a pseudo real-world problem a fitting solution. Please check back soon for the next installment!</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/10/14/introduction-to-mnesia-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hurry Up and Slow Down</title>
		<link>http://www.r4n0k.com/2009/09/05/hurry-up-and-slow-down/</link>
		<comments>http://www.r4n0k.com/2009/09/05/hurry-up-and-slow-down/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 00:38:05 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Clarkson]]></category>
		<category><![CDATA[cosi]]></category>
		<category><![CDATA[ems]]></category>
		<category><![CDATA[emt]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=199</guid>
		<description><![CDATA[Now that I&#8217;ve had a chance to settle into my new apartment above Misty Hollow on Market Street, and I have all the needed utilities, I thoughts I take a break and reflect on my first two weeks of my senior year. My schedule this semester has me in class for 11 hours Monday and [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I&#8217;ve had a chance to settle into my new apartment above Misty Hollow on Market Street, and I have all the needed utilities, I thoughts I take a break and reflect on my first two weeks of my senior year. My schedule this semester has me in class for 11 hours Monday and Wednesday, and practically without class the other week days (I do have class every few Saturdays). This schedule is requiring some work to get used to, either I&#8217;m feeling rushed to make it to my next class and keep everything straight (philosophy to statistics) or I&#8217;m wondering what to do with all my spare time. I have however found a few things to keep myself occupied on my off days, I&#8217;m working for Clarkson as a campus photographer, shooting lots around the area for brochures, the website or mailings. This is a great way for me to practice and improve my photography skills and work with a professional! I will update <a href="http://www.flickr.com/photos/ranok/">my Flickr</a> when I have some great shots, so keep checking it out! Of course I&#8217;m also still the co-director of COSI, which has a large amount of interest this year, and I&#8217;m hoping for good things to turn up. naturally I&#8217;m still working on my baby, <a href="http://www.openserverplatform.com">OSP</a> (a post on that soon). Lastly, I&#8217;ve joined the Potsdam Rescue Squad, and am enrolled in the NY state EMT course, which I am enjoying, and excited to become a more useful member as my knowledge grows.</p>
<p>Well, I think that about covers all in my life for the time being.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/09/05/hurry-up-and-slow-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Journey North</title>
		<link>http://www.r4n0k.com/2009/06/08/my-journey-north/</link>
		<comments>http://www.r4n0k.com/2009/06/08/my-journey-north/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 18:56:04 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[canada]]></category>
		<category><![CDATA[canoe]]></category>
		<category><![CDATA[langskib]]></category>
		<category><![CDATA[northwaters]]></category>
		<category><![CDATA[seitan]]></category>
		<category><![CDATA[summer]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=194</guid>
		<description><![CDATA[As many of you know, I usually spend my summers in northern Ontario paddling the beautiful lakes and rivers. Since I will be leaving for Canada in a few days, I figured I should post an entry letting my many (ha!) readers know that I will be off until late August. This means that progress [...]]]></description>
			<content:encoded><![CDATA[<p>As many of you know, I usually spend my summers in northern Ontario paddling the beautiful lakes and rivers. Since I will be leaving for Canada in a few days, I figured I should post an entry letting my many (ha!) readers know that I will be off until late August. This means that progress on my projects will stall until I return and get situated, and any emails will not be responded to for a while.</p>
<p>I hope that everyone has a wonderful summer, and can find some time to relax and enjoy nature&#8217;s beauty when we are all surrounded by man made structures. I plan on taking many pictures during my summer sabbatical and am excited to swap stories in the fall.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
<p>P.S. Seitan tastes much better than it looks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/06/08/my-journey-north/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Git and Wiki Wide Web</title>
		<link>http://www.r4n0k.com/2009/03/24/git-and-wiki-wide-web/</link>
		<comments>http://www.r4n0k.com/2009/03/24/git-and-wiki-wide-web/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 02:50:32 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[wiki wide web]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=174</guid>
		<description><![CDATA[I admit it, I&#8217;ve finally jumped on the Git bandwagon. After toying with SVN and Darcs, I was convinced when I saw a screen-cast about branching and merging and how it makes the kind of random, skitzo programming that I do very easy and very maintainable. I started using it at work to keep track [...]]]></description>
			<content:encoded><![CDATA[<p>I admit it, I&#8217;ve finally jumped on the <a href="http://git-scm.com/">Git </a>bandwagon. After toying with SVN and Darcs, I was convinced when I saw a screen-cast about branching and merging and how it makes the kind of random, skitzo programming that I do very easy and very maintainable. I started using it at work to keep track of some files as a test and finally bit the bullet and signed up for a <a href="http://github.com/ranok">GitHub account</a>. Once I had gotten setup, I made a few repositories to upload some code I had made for my high school senior project, code that I haven&#8217;t looked at in years and probably never will again. Then I decided to share something a bit more exciting, <a href="http://wikiwideweb.net/">Wiki Wide Web</a>&#8217;s bleeding edge source code. After some quick review to ensure I cleared the code of any hard coded passwords, I committed the source.</p>
<p>One thing I like about putting your code on a site like GitHub is that it guilts you into cleaning it up. If you hope that people are going to see it, then you feel slightly pushed to make an effort to clean it up. That pressure lead me to add some installation instructions and a make file for the Firefox extension, and clean up some code.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/03/24/git-and-wiki-wide-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Black Hat DC Day 2</title>
		<link>http://www.r4n0k.com/2009/02/19/black-hat-dc-day-2/</link>
		<comments>http://www.r4n0k.com/2009/02/19/black-hat-dc-day-2/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 03:42:47 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[biometrics]]></category>
		<category><![CDATA[blackhat]]></category>
		<category><![CDATA[data mining]]></category>
		<category><![CDATA[dc]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[smartcards]]></category>
		<category><![CDATA[tor]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=168</guid>
		<description><![CDATA[Now that I knew what I was in for, the second day of Black Hat DC took quite a bit less adjusting to, I felt more okay to skip parts of a presentation to chat was presenters, which I did after the Tor presentation.
In the morning, Dan Kaminsky gave a brief review of the DNS [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I knew what I was in for, the second day of Black Hat DC took quite a bit less adjusting to, I felt more okay to skip parts of a presentation to chat was presenters, which I did after the Tor presentation.</p>
<p>In the morning, Dan Kaminsky gave a brief review of the DNS exploit he found last year, and the current status of the source port randomization patch. The estimate for patch coverage was about 60% of DNS servers, though the unpatched servers are being pretty actively exploited. He also clarified his stance on DNSSEC, that he&#8217;s neutral to the technology, but feels that it can provide end to end trust, something that DNSCurve cannot do, and has a higher chance of being accepted on the root since it doesn&#8217;t require pre-operation cryptography. A big implementation hurdle that he sees is for the deployment of DNSSEC servers to be turn-key and not require extra maintenance or knowledge to use.</p>
<p>The following presentation was an interesting one that provided a technical solution to a political problem, how to share data without compromising the data privacy, and without letting the data sharing knowing what is being searched for.</p>
<p>After that, a researcher from Vietnam showed how to break the facial recognition software built into laptops. Simply by taking a photo of the user, and editing it for proper lighting and tones. I got to be the lovely assistant in this presentation, enrolling my face into one of his laptops, then having him take my picture through a Skype chat, then using that picture to unlock the computer. This got the crowd laughing and very impressed with how this technology can actually sell.</p>
<p>The presentation on Tor did very little for me, the research was of marginal value, but the talk after with the presenter and the creator of Tor was eye opening. The most important thing I brought back from that talk was that <strong>Tor is not meant to protect you from big brother, but to keep you anonymous from the sites you are browsing, and your ISP</strong>. After I saw that shift, I was able to accept the many attacks that have come out of the woodwork over the past few years, and finally put Tor in the proper place in my cyber tool chest.</p>
<p>Finally, the memory snorting presentation was very slick, it seemed to be a very clever way to reuse the signature data already in existence, and be able to both analyze a saved memory dump, and also potentially find malicious code before it hits the wire.</p>
<p>Overall, the show was a blast, and I hope to have the privilege of attending sometime in the future.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/02/19/black-hat-dc-day-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Black Hat DC Day 1</title>
		<link>http://www.r4n0k.com/2009/02/18/black-hat-day-1/</link>
		<comments>http://www.r4n0k.com/2009/02/18/black-hat-day-1/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 03:34:47 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[blackhat]]></category>
		<category><![CDATA[dc]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[intel txt]]></category>
		<category><![CDATA[satellite]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=165</guid>
		<description><![CDATA[My first day at Black Hat was pretty neat, I learned quite a bit, and I had my expectations shifted around. Originally, I was expecting the presentations to be the core aspect of the conference, and everything else on the sidelines. I quickly learned that the presentations are just a small part of the greater [...]]]></description>
			<content:encoded><![CDATA[<p>My first day at Black Hat was pretty neat, I learned quite a bit, and I had my expectations shifted around. Originally, I was expecting the presentations to be the core aspect of the conference, and everything else on the sidelines. I quickly learned that the presentations are just a small part of the greater networking and information exchange going on.</p>
<p>The keynote was very interesting as it wasn&#8217;t technical in the least, but more a call for discourse about the tough questions that the country needs to ask about how the government and private sector need to work together to protect the country&#8217;s cyber resources. It also brought to light a question regarding cyber weapons, and who is responsible to clean up the online equivalent of a Katrina.</p>
<p>Moxie&#8217;s presentation on defeating HTTPS was interesting, but was more leveraging holes in other aspects of the network to gain control of an SSL tunnel. Why clever and very neat to see in action, it didn&#8217;t blow me away nor was it particularly ground breaking.</p>
<p>After Moxie&#8217;s talk, I spent a while chatting with <a href="http://www.doxpara.com/">Dan</a> about the advantages of DNSSEC versus DNSCurve and how take the strengths of each to find a happy medium. I hope to implement his suggestions into LadieBug (which he thought was a bad name to have &#8216;bug&#8217; in the name).</p>
<p>I left half way through the Mac OSX presentation since it was pretty useless. The presenter assumes you have access to a Mac and can run arbitrary code/modify binaries. From my perspective, one you&#8217;ve got that, the game is pretty much over.</p>
<p>After lunch I made my way to the packed room where the gang from the Invisible Things Lab talked about their TXT exploit. This was a highly anticipated talk, and I must say I personally was slightly disappointed. While their findings were interesting, due to their deal with Intel, they basically gave an overview of TXT and then talking about the Q35 hack in more detail, which is old news. Esentially, the summary of their findings were that TXT doesn&#8217;t check the SMM handler, and they disassembled the handler and found a number of bugs. The need for Dual Monitor Mode or an STM as they called it seems needed, but perhaps more eyes on the SMM handler code to help find bugs.</p>
<p>Hailing from AFIT, the speaker for the SecureQEMU project gave an overview of using emulation to encrypt and sign code that can&#8217;t be modified from the guest. While impressive that they managed to get it working on an unmodified OS, it was slow, and not a very complex concept.</p>
<p>Last, but not least was a just for fun talk on satellite hacking. This one had the room laughing for much of the hour while the speaker showed us a live demo of decoding a stream from a satellite over Africa. He then showed us how laughable the security in the RFID passports is, easily cloning and modifing his son&#8217;s passport to have Osama Bin Laden&#8217;s face, and doing a MitM attack using two $15 RFID readers/emulators.</p>
<p>That&#8217;s all for today, check back tomorrow for a review of the next set of briefings, and as always I&#8217;ll be updating regularly on <a href="http://twitter.com/ranok">Twitter</a>.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/02/18/black-hat-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Time Really Flies!</title>
		<link>http://www.r4n0k.com/2009/02/04/time-really-flies/</link>
		<comments>http://www.r4n0k.com/2009/02/04/time-really-flies/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 01:16:12 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[cosi]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=157</guid>
		<description><![CDATA[I just made the discovery the other day that I&#8217;ve been on co-op for over a month, and time shows no sign of slowing down! For those of you who haven&#8217;t had the delight of hearing me expound on how much I love my co-op, I have really found a place where I fit in, [...]]]></description>
			<content:encoded><![CDATA[<p>I just made the discovery the other day that I&#8217;ve been on co-op for over a month, and time shows no sign of slowing down! For those of you who haven&#8217;t had the delight of hearing me expound on how much I love my co-op, I have really found a place where I fit in, am challenged everyday, and don&#8217;t have to do any tedious work, just cutting edge security research!</p>
<p>Anyways, now that I&#8217;ve gotten that over with, I was up at Clarkson the other week for the career fair, and I went up the night before for the COSI meeting. That evening a <a href="http://robotgrrl.com/blog/">new member</a> introduced a new project to add easy to use AI libraries to the <a href="http://www.processing.org/">Processing</a> language. I thought that is might be a good idea to take a look at AI stuff before I take the class when I return, so I&#8217;m excited to dive in and learn what I can! Also, after learning how little I really know about virtualization, and seeing how popular it is, I thought I&#8217;d like to jump on the bandwagon and learn about it. Last night I bought Running Xen and its sister book The Definitive Guide to Xen and I proposed (through <a href="http://www.zjs.name/blog/">Zach</a>) that to learn more about it, I&#8217;d like to form a rag tag groups of hackers and write our own, open-source virtualization application, whatever that entails. I hope to post soon as I start learning what I&#8217;m in for.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/02/04/time-really-flies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surviving in the Desert</title>
		<link>http://www.r4n0k.com/2009/01/16/surviving-in-the-desert/</link>
		<comments>http://www.r4n0k.com/2009/01/16/surviving-in-the-desert/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 02:56:24 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[annoyance]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=147</guid>
		<description><![CDATA[Being in the wilderness as I have, as a canoe trip leader, helps you adapt to uncomfortable situations. Recently, I was put into a less than desirable situation, programming in Windows. I thought it would be a good idea to learn how to survive on the dark side. I started with a stock Windows XP [...]]]></description>
			<content:encoded><![CDATA[<p>Being in the wilderness as I have, as a canoe trip leader, helps you adapt to uncomfortable situations. Recently, I was put into a less than desirable situation, programming in Windows. I thought it would be a good idea to learn how to survive on the dark side. I started with a stock Windows XP install, with all the fancy development tools, Visual Studio, WinDDK, sample code for Win32 programming, and a (relatively) open mind. As I started using it, the following became major annoyances:</p>
<ul>
<li>The command line (cmd.exe) is horrible, not full screen, the history is bad, and it&#8217;s just plain ugly.</li>
<li>Visual Studio is a waste of space, it doesn&#8217;t even provide the ability to compile a file. That alone made me get rid of it.</li>
<li>The lack of multiple desktops make screen real estate very limited. Even with a sizable screen (27&#8243;) is makes looking up references a pain</li>
</ul>
<p>So, to fix some of these woes, I did away with Visual Studio, edited the console preferences to take up much of the screen, and installed emacs, I then wrote some batch scripts which I put in the PATH to enable me to just type emacs foo.c, and ls instead of dir.</p>
<p>Now, I finally have a system that I can work with, it&#8217;s not great, but I&#8217;ll survive. Unforntunatly, developing on Windows is much like trying to glue a dead weasel onto a balloon &#8212; non-sensical and smelly. From my short exposure to the Windows system, I&#8217;ve found the following lacking:</p>
<ul>
<li>The kernel memory layout</li>
<li>The poorly documented API</li>
<li>Lots of caps, and non-standard types, it&#8217;s like programming in old HTML.</li>
<li>The verbose and utterly convoluted device communications (IRPs?)</li>
<li>Complete lack of modularity (if my driver segmentation faults, I get a BSOD)</li>
</ul>
<p>To sum it up, while it&#8217;s been an informative foray into the world of Windows, I think I&#8217;ll stick to slightly more sane and open operating systems.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2009/01/16/surviving-in-the-desert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>End of Semester Wrap-Up</title>
		<link>http://www.r4n0k.com/2008/12/02/end-of-semester-wrap-up-2/</link>
		<comments>http://www.r4n0k.com/2008/12/02/end-of-semester-wrap-up-2/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 23:05:07 +0000</pubDate>
		<dc:creator>ranok</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Clarkson]]></category>
		<category><![CDATA[school]]></category>

		<guid isPermaLink="false">http://www.r4n0k.com/?p=126</guid>
		<description><![CDATA[With less than two weeks until I depart from Clarkson for winter break, it&#8217;s crunch time for my friends and I. Below is a list of the things I need to finish before I can pack my things and head home for some much deserved rest before my co-op:

Final paper for ANTH330 due Monday
CS350 final [...]]]></description>
			<content:encoded><![CDATA[<p>With less than two weeks until I depart from Clarkson for winter break, it&#8217;s crunch time for my friends and I. Below is a list of the things I need to finish before I can pack my things and head home for some much deserved rest before my co-op:</p>
<ul>
<li>Final paper for ANTH330 due Monday</li>
<li>CS350 final group project &amp; presentation due Thursday</li>
<li>Two CS456 assignments to polish up and turn in</li>
<li>Final paper for CS456 due next Friday</li>
</ul>
<p>After that is all taken care of, I have three finals next week to study for and take.</p>
<p>Peace and chow,</p>
<p>Ranok</p>
]]></content:encoded>
			<wfw:commentRss>http://www.r4n0k.com/2008/12/02/end-of-semester-wrap-up-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
