I’ve been thinking a lot about how to get to the next level in my field of information security, and I’ve come to a pretty interesting conclusion:
It’s not really possible to just study in this field — you have to implement each thing you’re trying to learn if you want to get the full benefit.
Now, yes…I realize this is true of just about every field, or even skills in general, but it’s especially important in fields such as information security that bcth focus on fairly complex concepts, but also on being familar with a myriad of specific technologies. In other words, in order to be good in information security, you can’t just know that RBAC does a certain thing. You also have to know how that plays out in the real world. Specifically, you have to know how to implement this concept in various operating systems and applications.
Again, this is fairly well accepted. Most good InfoSec practitioners have a fairly stout lab at home to play with. So I’m not just saying, “Build a lab and practice what you learn.” What I’m saying is that when you want to get to the next level, there’s a certain path you should follow.
Set a Project-Oriented Goal
When you want to learn how to do something, don’t set out to do it at all. That’s the tendency, and it’s a bad one. Don’t try to learn Python, for example; it’s not efficient for probably 80% of people to sit down with a book or do a series of example exercises. Instead, find a project you want to work on and use Python to do it.
Now this will inevitably lead to you doing some academic studying of the subject, to be sure, and that’s a good thing. In fact, I do strontly recommend learning concepts before diving in, but when you set out to truly understand something — to really feel it — you need to be using it to accomplish a real-world goal. It can’t be for the sake of it. Learning like that doesn’t burn in the same way as it does if you’re learning for a purpose.
- Instead of reading the Stevens book on protocols, enter a Honeynet Challenge and use the book.
- Don’t read three books in a row on Lisp. Take a program you’ve written in a previous language and redo it in Lisp. Use your three books as a reference.
- If you have a question about an OS vulnerability, start a VMWare session and run the exploit. Stop reading about it and do it. You can read about it as you’re waiting for the VMWare image to copy over.
- Use whitepapers as references, not as textbooks. If you try the latter, you’ll end up with information overload and little practical experience. Instead, start a project using said technology and keep the whitepaper by your side.
That’s a very short list, but hopefully you get the idea. Again, I’m not saying not to read; I have a book by my bed, my toilet, in my car, and anywhere else I might spend 15 seconds. I am big into learning underlying concepts and I don’t think that should ever suffer. The issue is that you can’t actually do so if you don’t implement.
The bottom line is that I think the human mind can be adversely affected by trying to cram information into the brain that lacks a foundation. The foundation being the implementation that you’re stacking this high-level knowledge on top of. It’s almost as if the brain takes in some sort of interesting concept, pauses, and then says, “Ok, show me.” And if you don’t show it, the brain then says, “Hmm…didn’t quite get that — must not have been too important.”
So imagine the concept phase of learning as being like making pottery. You have wet material being shaped into a form you’ve never seen before. It’s new, it’s fluid, and it expands the mind. When you’re done with this phase you have a new shape, but it’s fleeting.
If you want to keep said form, you have to put it into the oven at very high heat. That’s the part that hardens it into place and makes it solid. Well, that’s the implementation phase of learning. You have to lock it in. If you don’t, you’ll have a bunch of warped, wet goo sitting in your brain. And with every passing day each of these non-hardened pieces it will lose more of their form. Eventually you’ll have to re-make the pots (relearn the concepts) if you want to use them, i.e. you’ll have to study whatever it was all over again.: