{"id":10073,"date":"2022-06-22T03:12:10","date_gmt":"2022-06-21T21:42:10","guid":{"rendered":"https:\/\/blog.guvi.in\/?p=10073"},"modified":"2025-10-08T16:46:19","modified_gmt":"2025-10-08T11:16:19","slug":"coding-for-cybersecurity","status":"publish","type":"post","link":"https:\/\/www.guvi.in\/blog\/coding-for-cybersecurity\/","title":{"rendered":"Is coding required for cybersecurity? If yes, how crucial is coding for cybersecurity?"},"content":{"rendered":"\n<p>Many people ask how important is coding for cybersecurity, and the lawyerly answer is: Well, it depends on many facets.&nbsp;Because just starting off, many roles don\u2019t really require you to code and based on how advanced you want to get, programming may or may not be all that important for you.<\/p>\n\n\n\n<p>In this blog, we cover the relationships between cyber security tooling and expertise, and some on-the-job scenarios where it&#8217;s beneficial knowing how to code. and ending with some advice for all the non-programmers out there who are just starting out. So without further ado, Let\u2019s break it down!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How crucial is coding for Cybersecurity? <\/h2>\n\n\n\n<p>So how crucial is coding for cybersecurity? Think about it this way. Just about all the tools you use in cyber security are written in code, and programming lets you write tools. So the important questions to answer first are: what are tools? and what\u2019s the value in knowing how to build them? On a conceptual level, tools extend your ability to change the environment around you, whether in the physical or digital world. Combined with intent, they let you create action and change. So the more advanced your tools are the more leverage you have. And with this leverage, you can have a wider range of actions and change. Archimedes once said:<\/p>\n\n\n\n<figure class=\"wp-block-pullquote has-text-align-left has-background has-black-background-color is-style-solid-color has-white-color has-text-color\"><blockquote><p><em>\u201cGive me a lever long enough and a place to stand and I\u2019ll move the Earth.\u201d<\/em><\/p><cite>Archimedes<\/cite><\/blockquote><\/figure>\n\n\n\n<p>If he was standing in something more sophisticated like the Death Star, he\u2019d also have the ability to blow it up; only if he knew how to operate it. Similarly. In the cyber world, it\u2019s no different. Being able to get results in cyber depends on the types of software tooling at your disposal and your expertise in using them. So the first principle to keep in mind is that it\u2019s the combination of tools and skills that will determine your overall cyber abilities, whether for an individual or for a team. So to improve your overall effectiveness, it\u2019s important to make a balance between both.<\/p>\n\n\n\n<p>Additionally, if you want to begin with Ethical Hacking &amp; Cybersecurity through a self-paced course, try HCL\u00a0GUVI\u2019s <strong><a href=\"https:\/\/www.guvi.in\/courses\/network-and-security\/cyber-security-ethical-hacking-beginners\/?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=coding-for-cybersecurity\" target=\"_blank\" rel=\"noreferrer noopener\">Cyber Security and Ethical Hacking<\/a><\/strong> <strong><a href=\"https:\/\/www.guvi.in\/courses\/network-and-security\/cyber-security-ethical-hacking-beginners\/?utm_source=blog&amp;utm_medium=organic&amp;utm_campaign=coding-for-cybersecurity\">course<\/a><\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Three Catagories of Cybersecurity: Blackbox users, tool operators, &amp; developers.<\/h2>\n\n\n\n<p>Let&#8217;s deconstruct them one by one. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Blackbox Users<\/h3>\n\n\n\n<p>Most BlackBox users will usually only know the basics of using one or a few different software systems, and only in situations that they\u2019ve been trained in. These guys might even have a few certifications but aren\u2019t able to apply their training to solve problems independently in more complex scenarios without the help or mentorship of more experienced practitioners. Being able to modify tools or craft new ones is out of the question.<\/p>\n\n\n\n<p>The vast majority of people in cyber security would fall in this category. In General,  knowing how to code isn\u2019t all that important for them, because they\u2019ve yet to master many of the most common tools in the role, they\u2019re already in. Whether it\u2019s Wireshark, Metasploit, Autopsy, Burp Suite, Volatility, Cellebrite, Group Policy, et cetera. You\u2019ll be much better off first focusing on fundamental principles like understanding computer networking, operating system architecture, and solving technical problems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tool Operators <\/h3>\n\n\n\n<p>In the next category, we have tool operators who have years of experience in using a variety of software. And they can creatively chain them together in real-world scenarios. These guys are the backbone of companies\u2019 IT and security firms and are often the workhorses responsible.<\/p>\n\n\n\n<p>But for those without the ability to code, the downside is that when you\u2019re in a situation without an immediately apparent tool available, there\u2019s not much you can do about it.&nbsp;Taking the time to learn some programming can really amplify your ability at this stage. Since it lets you automate many of the tasks that you once performed manually.&nbsp;<\/p>\n\n\n\n<p>Now tool developers, especially those who are actively involved in operations, can understand the ins and outs of the tools they use. Knowing how to program lets you modify existing software or craft something more custom to solve specialized cyber security problems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Operator Developers <\/h3>\n\n\n\n<p>The operator-developer types tend to be some of the best cyber practitioners you\u2019ll meet in the field and are hard to come by, depending on the team you\u2019re on. In terms of overall ability, you\u2019ll find that people who can chain tools together or write custom-built code have increasing levels of expertise that are orders of magnitude higher. And those with programming backgrounds tend to progress faster and deeper in their learning journeys than those who don\u2019t.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Let&#8217;s dwell on a real case study<\/h2>\n\n\n\n<p>Here\u2019s a case study from someone with years in Cybersecurity in his own words<\/p>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-text-align-center\"><em>&#8220;When I was first starting off in the field, I worked as a security analyst in a three-man team with no certifications and a very basic understanding of code. We were monitoring for malicious activity on the network using software called Splunk, which lets you build advanced queries to search across large datasets like network logs.<\/em><\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>In many enterprise networks, the only traffic allowed to exit is common protocols like NTP, DNS, HTTP, and HTTPS, which is what you\u2019d expect from internal users browsing the web or servers fetching updates. These services typically get hosted on ports 123, 53, 80, and 443. Firewalls would drop any other type of traffic destined for other ports to limit the risk of data exfiltration. To bypass this, malware will often hide their communication traffic within these common protocols as covert channels to evade detection. I pushed the idea of monitoring DNS traffic for signs of malicious activity, after reading about the technique in some academic white papers.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The Process<\/h3>\n\n\n\n<p class=\"has-text-align-center\"><em>I wanted to develop a way to assign DNS queries in our logs weighted risk scores depending on the number of subdomains, the length, and the overall entropy of the query. Because I didn\u2019t know how to code, I had to chain together an incredibly massive Splunk query to calculate everything. Even though this method worked and discovered outbreaks on the network, it was pretty slow and bogged down the system.&nbsp;<\/em><\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>So I had to rely on one of the other more senior guys on the team to re-implement my solution as a <a href=\"https:\/\/www.guvi.in\/blog\/guide-for-essential-modules-in-python\/\" target=\"_blank\" rel=\"noreferrer noopener\">module in Python<\/a> to do the same thing, but more efficiently. <\/em><\/p>\n\n\n\n<p class=\"has-text-align-center\"><em>On one hand, my curiosity and persistence made me a valuable member of the team. But at the same time, had I learned the most basic programming skills, it would have given me the flexibility to describe the outcome of what I wanted to do using the language of code.&#8221;<\/em><\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong>This experience later prompted the cybersecurity expert to act and take coding more seriously to patch up his skill gap. <\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1200\" height=\"598\" src=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/06\/n22XLfd.jpeg\" alt=\"Scripting vs Programming\" class=\"wp-image-10111\" srcset=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/06\/n22XLfd.jpeg 1200w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/06\/n22XLfd-300x150.jpeg 300w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/06\/n22XLfd-768x383.jpeg 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" title=\"\"><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Who plays a larger role in Cybersecurity? Scripting or Programming Languages, and what should you learn? <\/h2>\n\n\n\n<p>One caveat we do want to make is that it&#8217;s important to draw the line between scripting and software development. However many people will use the word \u201cprogramming\u201d or \u201ccoding\u201d interchangeably to describe both of them. However, Scripting normally refers to writing short snippets of code in an interpreted language to automate tasks or glue the functionality of other tools together. Meanwhile, Software development is a broader term that covers scripting but also involves writing algorithms or libraries as part of a larger, more complex toolchain.<\/p>\n\n\n\n<p>People often consider Python or Bash as scripting languages. While compiled ones like C++ or Java are more geared towards software development. Yet generally, it depends on the complexity of the tool and your intent. Whether you are looking for something quick and dirty or something more robust and enduring.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Operator Vs Developer Axis<\/h3>\n\n\n\n<p>Now on the operator versus developer axis, you\u2019re going to see a lot more scripts closer to the operator side. Whereas more compiled languages on the developer side. This isn\u2019t true across the board, since people can bounce around the spectrum, but it\u2019s a decent rule of thumb.<\/p>\n\n\n\n<p>Since on the operator side of the spectrum, your focus is primarily on the pre-built tools with some degree of customized automation. In this case, it\u2019s not massively critical to have a coding background, most computer science programs are much more heavily focused on topics like applied math, programming theory, and software development at the academic level. We personally suggest it\u2019s better to start off learning scripting. As it&#8217;s quick to pick up and a bit more pragmatic for day-to-day technical tasks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Looking for the best resources for cybersecurity? <\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.guvi.in\/cyber-security\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1200\" height=\"486\" src=\"http:\/\/blog.guvi.in\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-1200x486.png\" alt=\"Tech Career \" class=\"wp-image-8885\" srcset=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-1200x486.png 1200w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-300x121.png 300w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-768x311.png 768w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-1536x622.png 1536w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-600x243.png 600w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses-945x382.png 945w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/Zen-Tech-Courses.png 1883w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" title=\"\"><\/a><\/figure>\n\n\n\n<p>Start learning&nbsp;<strong><a href=\"https:\/\/www.guvi.in\/courses\/network-and-security\/cyber-security-ethical-hacking-beginners\/?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=coding-for-cybersecurity\" target=\"_blank\" rel=\"noreferrer noopener\">Ethical Hacking &amp; Cybersecurity Course<\/a><\/strong>, designed especially for beginners.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.guvi.in\/blog\/reasons-why-you-should-learn-python\/\"><img decoding=\"async\" width=\"1200\" height=\"628\" src=\"http:\/\/blog.guvi.in\/wp-content\/uploads\/2022\/03\/reasons-why-you-should-learn-python-1200x628.png\" alt=\"Compelling Reasons Why You Should Learn Python\" class=\"wp-image-8938\" srcset=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/reasons-why-you-should-learn-python-1200x628.png 1200w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/reasons-why-you-should-learn-python-300x157.png 300w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/reasons-why-you-should-learn-python-768x402.png 768w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/reasons-why-you-should-learn-python-1536x804.png 1536w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/03\/reasons-why-you-should-learn-python-2048x1072.png 2048w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" title=\"\"><\/a><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many people ask how important is coding for cybersecurity, and the lawyerly answer is: Well, it depends on many facets.&nbsp;Because just starting off, many roles don\u2019t really require you to code and based on how advanced you want to get, programming may or may not be all that important for you. In this blog, we [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":10106,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[712],"tags":[],"views":"7669","authorinfo":{"name":"Tushar Vinocha","url":"https:\/\/www.guvi.in\/blog\/author\/tushar\/"},"thumbnailURL":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/06\/8bfd01c18be1b5059bc0d7770d9dabf1-300x152.gif","jetpack_featured_media_url":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2022\/06\/8bfd01c18be1b5059bc0d7770d9dabf1.gif","_links":{"self":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/10073"}],"collection":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/comments?post=10073"}],"version-history":[{"count":26,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/10073\/revisions"}],"predecessor-version":[{"id":89114,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/10073\/revisions\/89114"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media\/10106"}],"wp:attachment":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media?parent=10073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/categories?post=10073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/tags?post=10073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}