Cybersecurity Techniques and Operations
Course Overview
Cybersecurity Techniques and Operations introduced the technical tools and methods used to analyze, secure, and defend computer systems and large networks. The course combined programming with hands-on cybersecurity labs to develop both theoretical understanding and practical skills used by cybersecurity professionals.
The first portion of the course focused on C programming, which is widely used in cybersecurity for understanding system-level operations, analyzing malware, and examining how software interacts with hardware and operating systems. Learning C helped me understand memory management, pointers, and low-level programming concepts that are essential for analyzing vulnerabilities and system behavior.
The second portion of the course focused on cybersecurity operations, including network traffic monitoring, vulnerability analysis, penetration testing, digital forensics, and firewall configuration. These labs provided practical experience with industry tools used to monitor networks, detect intrusions, and investigate security incidents.
Through programming assignments and hands-on labs, this course strengthened my technical problem-solving abilities and gave me a deeper understanding of how cyberattacks occur and how organizations defend against them.
C Programming Foundations
One of the primary objectives of this course was to develop a strong understanding of the C programming language. C is widely used in cybersecurity because many operating systems, network protocols, and security tools are written in C or C-based languages.
Throughout the programming assignments, I learned key programming concepts including:
-
Pointers and memory management
-
String manipulation
-
Function development
-
Command line program execution
-
Program debugging and testing
These assignments helped build the foundational programming skills necessary for analyzing security vulnerabilities and understanding how software operates at a low level.
Programming Assignment Examples
One assignment required writing a function htoi(s) that converts a string of hexadecimal digits into its equivalent integer value. This exercise required understanding how hexadecimal numbers are represented and how they can be processed programmatically.
Another assignment involved writing a function any(s1, s2) that returns the first location in one string where any character from another string appears. This assignment strengthened my understanding of string processing and logical comparison operations in C.
I also wrote a program using pointers to implement strcat(s, t), which copies one string to the end of another string. Working with pointers was particularly important because it demonstrated how memory is managed directly in C programs.
One of the more complex assignments required creating a command-line program called expr that evaluates reverse Polish expressions. This assignment involved parsing command line arguments and performing mathematical operations based on the structure of the input expression.
Another assignment required writing a program to compare two files and print the first line where they differ. This project demonstrated how programs interact with file systems and process input data.
These assignments helped me build programming skills that are valuable for cybersecurity tasks such as vulnerability analysis, exploit development, and malware research.
Network Traffic Monitoring and Analysis
The hands-on labs provided practical experience with tools used to monitor and analyze network activity. One of the key labs involved traffic tracing using Wireshark and TCPdump.
In this lab, I captured and analyzed network packets to observe how data moves across a network. By examining packet headers and protocol information, I learned how to identify communication patterns and detect suspicious activity.
This exercise demonstrated how cybersecurity analysts monitor networks to detect potential intrusions or abnormal behavior. Understanding packet analysis is essential for identifying malicious activity such as unauthorized access attempts or data exfiltration.
Artifacts included in my portfolio demonstrate packet capture results and the analysis performed during this lab.
Firewall Configuration and Network Security
Another important lab involved configuring a firewall using pfSense. In this assignment, I created firewall rules to control which types of traffic were allowed or blocked on the network.
This exercise demonstrated how firewalls enforce network security policies by filtering traffic based on criteria such as IP address, protocol, and port number.
Through this lab, I learned how network administrators implement security controls to protect internal systems from external threats. Firewall configuration is a critical skill for cybersecurity professionals responsible for maintaining secure network environments.
Penetration Testing and Vulnerability Analysis
The course also introduced several offensive security techniques used to identify vulnerabilities in computer systems.
One lab involved performing a penetration test on a Windows system, where I used security tools to identify weaknesses and attempt controlled exploitation. This exercise demonstrated how attackers gain access to systems and highlighted the importance of proper system hardening.
Another lab focused on password cracking techniques, where I explored how weak passwords can be exploited using automated tools. This assignment emphasized the importance of strong password policies and secure authentication mechanisms.
These exercises provided valuable insight into the mindset and techniques used by attackers, which helps cybersecurity professionals design stronger defenses.
Data Security and Information Hiding
Another lab focused on information hiding techniques, which are used to conceal data within other files or communication channels. This concept is related to steganography and secure data storage practices.
The lab demonstrated how sensitive information can be hidden and later extracted using specialized tools. Understanding these techniques is important for both cybersecurity defense and digital forensics investigations.
Through this exercise, I learned how hidden data can be detected and analyzed when investigating potential security incidents.
Application to Future Career
The knowledge and skills developed in this course are highly relevant to careers in cybersecurity operations, network security, and threat analysis.
Learning C programming strengthened my understanding of how software works at a low level, which is useful for analyzing vulnerabilities, malware behavior, and system exploits. These programming skills also support automation and tool development within cybersecurity environments.
The hands-on labs provided experience with tools used by security professionals to monitor networks, configure security controls, and investigate potential attacks. Skills such as packet analysis, firewall configuration, penetration testing, and password security are commonly required in cybersecurity job roles.
Overall, this course helped bridge the gap between programming knowledge and real-world cybersecurity operations. The combination of technical programming assignments and practical labs provided valuable experience that supports my continued development toward a career in cybersecurity.