Tophography

All things Topher, and other stuff too.

Browsing Posts published in March, 2007

Okay, just one more post before I go to bed. Last Saturday I presented some non-research at my college’s annual research conference. I spoke about a project that I’ve been working on in the Internet Security Research Lab at Brigham Young University. (Am I just link-happy or what?) My work started with the idea that web login forms (like the one on BYU’s homepage) that are sent over an insecure connection can be altered using a man-in-the-middle attack, and instruct a browser to send a username and password directly to the attacker. I used ARP-spoofing to gain control over another machine’s network traffice, then I used a program that I wrote to watch for the user to request a certain web page, sent them back an altered form, and then waited for the user to send back their username and password.

It was a really fun project to work on. Hooray for C! I still have one question though. Why do machines process ARP replies that that didn’t request? It doesn’t seem like it would be difficult to keep track of requests, and only process matching replies. Anyway, I’m still looking into that, so hopefully I’ll find the answer and make another post. But I forgot what this post was supposed to be about. My PowerPoint slides and the accompanying script that is almost accurate as to what I said in my talk, and when I clicked the remote for the slide to change. My talk was also judged. My judge remarked that black on blue does not good contrast make (yes, I agree), but on a positive note, he was impressed with the manner in which I presented while the photographer was running around me snapping pictures.

Alright. I’m going to bed now.

I happened to be browsing through the ivtv driver source last night, trying to find out how closed captioning gets recorded. Anyway, I came across an operator that I had never seen before. The ellipses! It was something like this:


    switch (val)
    {
        case 0 ... 10 :
            printf("Between 0 and 10.n");
            break;
        case 11 ... 50 :
            printf("Somewhere from 11 to 50.n");
            break;
        case 51 ... 99999 :
            printf("Really big.n");
            break;
    }

Isn’t that just crazy? Apparently, it’s an extension that gcc supports. I found a nice Red Hat manual that has some great stuff on gcc. I never would have found it without the assistance of Lord Byron. I had to ask the PLUG mailing list about it because I couldn’t find anything about it with Google, because I was searching for “C ellipses operator.” Lord Byron told me that it was known as a “case range.” It’s amazing what using correct search terms can do for you.

Anyway, I recall reading somewhere that you should never blog while drunk. This isn’t a problem for me since I don’t drink, but I’ve been told that lack of sleep can have a similar effects on a person, so I’m going to put my laptop down and go to sleep now.

[Disclaimer] This post took me about 2 weeks to write. I started it two weeks ago, then realized that my version of WordPress was _horrible_ at formatting code. It was ignoring my <pre> tags! I decided to upgrade WordPress before I drove myself insane trying to fight against WordPress, but then I got distracted, and never got around to doing the upgrade until now.

I gave my first (and probably last) presentation to the BYU Unix Users Group tonight. I’m finally getting over whatever has made me sick (flu or something), so I was almost completely lucid. I started talking about hash functions, symmetric key encryption, and public-key encryption. I then talked about how those ideas are used in encrypted email, and certifcates. I then gave a very lame explanation of SSL/TLS. After that, we discussed some different attacks, and common security mistakes that people make. Overall, I think it was a good hour-long presentation.

Here’s the slides:
PDF Slides