By: Staford Titus S
August 26, 2020
Do You Need Programming for Cybersecurity?
By: Staford Titus S
August 26, 2020
You are almost about to call it a day when you hear the unusual, but equally recognizable noise made by the Security Analytics Dashboard when a critical alert is triggered. The warning displays that malware has surfaced abruptly on a system in the network, previously considered near-impenetrable. You take measures to isolate the malware within an island network. Upon initial analysis, it seemed so pythonish! Trying to read the code dawned on you that the malware was indeed a byproduct of someone adept in Julia. It was indeed a great disguise, making use of Julia that so closely resembled Python. All those sleepless weekends learning Julia have finally paid off. Reading through every function in the code, trying to understand the flow and the malware's fundamental task, led you to a rather shocking discovery. The malware was leaking a plethora of sensitive business information over https to a rogue external server. That was a pretty good tactic since the firewalls could never scan the https tunnel that was encrypted. It was the most frightening find of the year! Some would call it mere luck, but you knew that finding such a compromised entity, and identifying the mechanism it operated on, thus helping discover one of the most deceptive threats on the network, was in no way mere chance. John, your boss, completely satisfied by your find, promotes you to Senior Security Analyst.
Hackers are popularly envisioned as a breed of somber-hoodies, coding their lives away in front of Matrix-themed computers. Though in some cases, it may be true, it is not necessarily a widespread phenomenon. The group of hackers is not limited to the so-called black hat hackers who commit crimes, but also extend to the white hat hackers and cybersecurity specialists who are the first line of defense in this cyberized era. Though the ability to code complex programs can prove effective in creating customized tools or identifying vulnerabilities within the system architecture, that alone will not establish one as a specialist in cybersecurity. This article aims to segregate and analyze the effects of either the need to code or not as a cybersecurity professional.
What can you do without Programming?
Can security not be enforced with the utmost efficacy by those who cannot program? Can only programmers be at the top of the game? Not knowing how to program does not isolate a prospective cybersecurity professional, but rather enhances his/her avenue for diversity in thoughts and ideas. Now, getting to the most crucial question: "What can you do without being able to program as a cybersecurity enthusiast?" The answer to such a complex query cannot fit into a single sentence.
Cybersecurity is not a restricted domain. Its width of application extends far beyond our comprehension. Hence, several jobs within cybersecurity require you to have little to no programming knowledge. An example of this theory would be the role of a SOC Analyst, whose proclivity involves monitoring firewalls and IDS for intrusions, isolating the detected anomalies, and making crucial decisions regarding the organization's security architecture. Most of the activities performed as a cybersecurity professional do not require programming knowledge. An example would be scanning a network, where only Nmap commands or Nessus are almost always required to perform the activity successfully. Such is also the case when exploiting using Metasploit. Here again, one does not need programming skills, but only the knowledge of what commands to use.
Several capable tools have emerged, negating the unavoidable need to program solutions while also enabling simpler, faster, and more efficient problem-solving. People with demonstrated skills in these tools are sometimes even preferred over programmers with no tool-specific skills. Investing your time in learning these tools would surely add merit to your resume. Cybersecurity is also not restricted to technical roles. Several business roles require the expertise of cybersecurity personnel. Cybersecurity Managers need to monitor the overall operational stability of the security group. Cybersecurity auditors are required to circumscribe the canon within which the company must operate.
Gathering from the above points, having no programming knowledge in no way cripples your opportunity to get into the cybersecurity domain or become a professional for that matter. However, it does weaken your options when creating custom security solutions or exploiting and reverse-analyzing wild malware, which could have helped get you that promotion.
Does Programming even help?
A remaining question might be, "Do I even need to know to program, owing to the previous well-explicated section on why I do not need programming?". The simple answer to that is "Yes," and the driving factor corroborating that claim is the widespread availability of a versatile security workforce. Not everyone needs to be a jack-of-all-trades, but that does help in many situations. Specializing in several components can prove highly valuable within cybersecurity; as mentioned earlier, cybersecurity finds its application in a wide range of domains. Learning to code might seem irrational for a SOC Analyst role at first, but when that coding insight helps to identify what impact a single line of malicious code could have on a network or server, it proves to be of immense worth. The best part? It does not stop there!! You can help build the security architecture of your company. Better still, you could reverse engineer malware and viruses. You could identify why a program is not behaving as intended by just taking a look at its codebase.
An important idea to understand is that, after learning to build a house, one can identify the vulnerable points in its infrastructure. That knowledge aids in understanding how it could open up to avenues of destruction or what could go wrong, thereby enabling you to establish a better and more secure house. It is the same in the case of cybersecurity: if you know how to build something, breaking it would be a breeze.
"What does not kill you only makes you stronger!" Written by Friedrich Nietzsche in his book of aphorisms, Twilight of the Idols, this saying holds even in the field of cybersecurity, where anything you learn is only going to make you better. Learn as much as you can, especially programming, no matter if it seems illogical right now. Who knows? It may even help you land your dream job. This article ends here with the hope that it impacted your idea of whether or not you need to learn to code to be a better cybersecurity enthusiast or professional.
References Nietszche, Friedrich. (1990). Twilight of the Idols. Penguin Classics.