Wednesday, June 19, 2013

Different ways of setting up a repo on github

Its often the case that we would have worked on different projects and never really uploaded our work to github. There are 2 different scenarios that I often found myself in. 

  1. .git repo present locally that is not yet added to github 
  2. code that is not yet added to github

Effectively I am going to talk about solving 1 only. I will point out a way in which scenario 2 can be reduced to scenario 1 and therefore the solution applies for both the cases. 

Scenario 1: .git repo present locally

Firstly we need the repo to have a github remote. To list the remote destinations for a git repo,
$> git remote -v
[Remember to type this command from within the git repo directory - as git command looks up .git folder in the current directory for its operations]

Secondly, create and initialize an empty repo in github and get the Clone URL for the repo. Here I will talk only about HTTP clone URL, for simplicity. [Note that it is actually https:// URL]

Thirdly, do the following:
$> git remote add <remote name> HTTP clone URL
$> git push <remote name> master  #for pushing master branch on to the remote

We are all set. We have uploaded our git repo onto github. 

Scenario 2: code (without local git repo) that is not yet added to github

To create a git repo locally, we can do the following:

$> git init
$> git add required files
$> git commit -m"sample message"
Now, we have reduced scenario 2 to scenario 1 and we will be able to upload our code to github.

References:


Thursday, June 6, 2013

Formalism in Network Security and a note on WEP's limitations

Initially I had not chosen Network Security as one of my courses; but I had to pick this course because the other course turned out to be uninteresting, to say the least. There I was in the Network Security class and I had to deal with different perspectives given by people about how difficult the course can be and how difficult it is to follow the instructor's lectures.

I thoroughly enjoyed this course and the lectures turned out to be really interesting; true that it was different from the courses instructed in a conventional way - All lectures involved a lot of discussion and the instructor took great care in explaining the required aspects within the scope of the course, very clearly.

One of the interesting topics I liked to read in this course was the Indistinguishability test introduced in formalizing the definition of security. It draws parallel from the Turing test and talks about distinguishability between truly Random world and the real world. The idea behing Shannon's perfect secrecy (One-Time-Pad), transitivity of Indistinguishability, building an Attacker for a given system (Proof by contra-positive argument), Rabin Miller primality test (Randomized algorithms - Monte-carlo algorithm for Primality test), Fermat's little theorem, Modular arithmetic ... the course when I look back looks very impressive and I will highly recommend this course for anyone, just to listen to the instructors lectures. [To give credit and to avoid confusion for those who would read it at a later point of time - the instructor during Spring 13 was Prof. Rob Johnson]

All the topics that I listed in the previous paragraph was merely the first section of the course; the second section was when the course became even more interesting with Protocols, PKI, DNSSEC, Secure-BGP, SSL, XSS, XSRF, HTML 5 POST message, Same Origin Policy - and the icing on the cake was the final exam. It was a short paper and it required us to apply all that we learnt during the semester, aptly, to devise best-possible solutions in a practical scenario. Not to forget the cool project that we got to work on - building an apache module that would add CSP1.1 script-nonce support as part of apache itself. source

And now I move on to the second part of the post:

WEP : I have come across many house-hold routers making use of WEP, still. There is even a documented demo about how aircrack-ng can be used to break a network using WEP.

For those interested in theory behind how WEP is insecure, I referenced a post written here
- Well written, brief and to the point.

The bottom line is we should never configure WEP in our wireless router setup. And I think by default all the routers are using WPA or WPA2 by default to secure the wireless network. I wanted to throw a word of caution about WEP! - RIP to WEP!

GT