I am considering going into Cybersecurity. I was wondering what is important in a program for getting a bachelor's? The one I am looking at doesn't have any software development in it, which I thought knowing how to program was important to software security the same as knowing about securing systems is. What do you think?
closed as off-topic by Steffen Ullrich, Tobi Nary, schroeder♦ Jan 31 at 11:07
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "This question does not appear to be about Information security within the scope defined in the help center." – Steffen Ullrich, Tobi Nary, schroeder
Infosec consultant here. In theory the cybersecurity programs being offered at colleges will prepare you for a career in information security. In practice I've not found that to be true.
My recommended knowledge to have under your belt before starting in infosec:
- Have a hardcore grounding in computer science. This means algorithms and data structures, OS architecture and design, and even electrical engineering of the underlying systems if possible.
- Be able to program in one language really well. This well help you acclimate to other languages, to perform code review and to write tools needed for engagements.
- Understand the core fundamentals of computer security. By this I mean having a grasp on access control models, basic cryptography, basic networking and security practices involved in web applications. Also crucial is understanding how to break them. Historical research in this area is very helpful as new technologies tend to resurrect old vulnerability paradigms.
(Note that this is not an exhaustive list, leaving out things like the Security Development Lifecycle and Threat Modeling, but I feel those are intuitive things that can be learned on the job.)
With all this said, I would be very skeptical of a cybersecurity program which does not include programming. Many I am familiar with focus on the business side of computer security. If your interest is in making and breaking security mechanisms I would stay away from those. If no viable cybersecurity program is available to you, I would advise investigating a compsci degree and to experiment with writing your own code, participating in crackmes, utilizing vulnerable VMs to test exploitation and participating in bug bounties or CTFs. Honestly, while it is in many ways more work, you're much more likely to gain a heavy duty understanding of real world computer security this way.