Wednesday, July 7, 2010

Logical Foundations

Even though I want to dive right in to posting Deontic proofs and proposing dialogues on the differences between s4, s5, and M logical systems, I figured I should lay some groundwork. I didn't want to direct you to just a Wikipedia article to lay the groundwork as the articles tend to go off on tangents at a rapid pace, although I will occasionally reference some articles for odd bits.

Below is a set of operators:
v - Disjunction (or)
& - Conjunction (and)
¬ or ~ - Negation (not)
- Conditional (implication)
↔ - Bi-conditional (Equivalence)
Some less common operators:
↓ - Pierce Arrow - A↓B = ~(AvB)
↑ or | - Sheffer Stroke - A↑B = ~(A&B)
Parenthesis are used where order of precedence in applying operators may need to be modified for the current statement, or in cases where the author of the statement may just want to make their case more clear. Precedence will be discussed later.

A common way to discuss the validity of certain statements is with a truth table. Below is an example of such a table.

While I believe that truth tables are useful in demonstrating the differences between tautologies and contingent truths to intro students, I feel it is best to breeze straight past them and on to Semantic Tableaux in the next issue.

Scope Creep

After much deliberation, I have decided to expand the topics covered in this blog to include Security, Networking, Culinary Creations, and Logical Proofs. The reason for the scope creep is that there is already a veritable morass of avenues to get the latest news on Security, however I figure I can blog about all of my interests and not feel like I am merely regurgitating ideas that are already out there.

Thursday, February 18, 2010

Hogger

I just put up my new FOSS, Hogger, on google code. While it's still in beta, I think the functionality lent itself to distribution before I finished the intended feature set. Last week while I was at Snort IDS/IPS + Rules Writing class from Sourcefire, I found out that pretty much the best way to make a giant leap towards tuning a Snort installation is tuning the pre-processors (namely frag3 and stream5); since natively an IDS doesn't know how each host will reassemble fragmented packets or reassemble streams, they usually are set to some default -- not that good if you want reliable results. The long way of tuning this is adding an entry for each host or group of hosts in your config file -- not really appealing to me -- the other option was write an XML file detailing the attributes of all of your hosts -- also not that appealing, as who likes writing XML?

So, with a little inspiration from the instructor I set out to write Hogger, which currently takes the output file from an nmap scan and parses it for host information, and then creates a Host Attribute Table in XML format for Snort to read.

Now to be able to use the Host Attribute table, you need to have Snort compiled with –enable-targetbased. Once that is done, just add the line attribute_table filename /path/to/file to your snort.conf file.
Word of caution here, is that filename actually has to be present, do not substitute this for the name of your file.

And if you don't believe me that the Host Attribute Table will completely rock your socks off, check out Joel Esler's post at Computer World.