Monday, October 2, 2023

Tech Topic Connection

 Tech Topic Connection


The topic of Network Security covers almost all aspects of IT fundamentals. Whether that's the security of a physical network using firewalls and intrusion detection devices, or the security of endpoints on a cloud based system, network security is vital to understanding IT. This post will dive deep into how network security relates to the history of computer s
cience, hardware involved in network security, how network security uses programming languages, how applications relate to network security, and how network architecture plays a role.


History of Network Security 

First let's dive into how the history of computers relates to network security. From the beginning network security has been connected to computer science. Back in 1971 the first documented computer virus was discovered. This virus went by the name of Elk Cloner. There was one virus created in a controlled environment before Elk Cloner but the first virus in the wild was Elk Cloner. Ever since this, computer science has had to have network security in mind. Many other historically significant network security incidents have happened in the past. When thinking about the most significant, the argument could be made for Stuxnet. According to Michael Holloway of Stanford University “ Over fifteen Iranian facilities were attacked and infiltrated by the Stuxnet worm. It is believed that this attack was initiated by a random worker's USB drive” ( Holloway 2015). This attack on Iranians nuclear computer network plays a major role in how network security is thought of today. Because of this many networks disable USB on their standardized images. The impact network security has had on computer science and IT has a whole can't be understated.


Hardware Components and Network Security

Hardware is often the first line of defense in network security. Some forms of hardware that relate to network security include Firewalls, VPN gateways, NSA type 1 encryptors, Intrusion Detection Systems (IDS), Intrusion prevention Systems (IPS), and specific servers such as Cisco ISE (Identity Service Engine). With how important network security is for the functionality of a company's system. It is vital the right hardware is put in place. At minimum, a firewall should be used to filter our layer 3 traffic or a Web application firewall to look for bad layer 7 traffic. Hardware with large computing capacity is required to do resource intensive work such as comp through packets to identify malicious connections. It is vital the firewalls and other network security devices are configured properly, have the resources needed, and are deployed properly within the network.


Programing Languages and Network Security

In today's ever evolving cybersecurity environment, it is important to have a basic understanding of at least some programming languages to understand network security. For example, shell scripting can be used to write malicious code or it can be used to easily script out automated tasks. Python is an easy to understand language to help automate network security related tasks such as configuring a large amount of access control lists on a router or deploying firewalls. Additionally many tools for network security are developed using Python. The tool Pytbull is a ids/ips tool written fully in python that allows users to generate alerts and have full visibility into the poking around of a computer network. 


Application Software and Network Security

If we were to dive deep into a never ending topic it would be this one. The number of applications that relate to network security is seemingly endless. Software such as Nessus for vulnerability scanning is massively important. Other software of note is trellix for endpoint security, Snort for IDS, aqua for cloud infrastructure security, okta for identity management and so on. The list goes on and on. According to marketsandmarkets.com, the cybersecurity market for applications was worth $173 billion in 2022. The market is ever growing for useful applications that help protect computer networks from attacks. 


Network Architecture and Management 

When a network engineer goes to build out a network, they must keep security in mind. The way that data flows through the network is important to the security of the network. Design concepts can be put in place such as a DMZ to mitigate the effect an attack has on a network. 

The main benefit of implementing a DMZ is to create a security buffer between the outside internet and sensitive information inside the network. Another concept that can be deployed is a hub and spoke design with the hub being a WAF and each spoke being a cloud resource group or subscription. By designing the network like this, all traffic is forced to take a default route to the firewall. This allows all traffic to be inspected. Another key concept in network security is that of network segmentation via VLANs. When designing a network it is best practice to separate departments from each other. This can be done with virtual local area networks aka VLANS. You can keep the finance department's traffic separate from the traffic in HR for example. 







Resources


Holloway, M. (2015, July 16). Stuxnet Worm Attack on Iranian Nuclear Facilities. Stuxnet worm attack on Iranian nuclear facilities. http://large.stanford.edu/courses/2015/ph241/holloway1/ 

Cyber Security Market Size & Revenue Forecast, global trends, growth opportunities. MarketsandMarkets. (n.d.). https://www.marketsandmarkets.com/Market-Reports/cyber-security-market-505.html#:~:text=The%20global%20Cyber%20Security%20Market,reach%20%24266.2%20billion%20by%202027. 

What is a DMZ network and why would you use it?. Fortinet. (n.d.). https://www.fortinet.com/resources/cyberglossary/what-is-dmz#:~:text=The%20main%20benefit%20of%20a,and%20the%20organization’s%20private%20network. 


Thursday, September 28, 2023

What app should I use?

 Applications play a major role in day-to-day life, especially in the life of a professional. The applications offer substantial functionality to varies people. Each application is used for a very specific purpose. The way the user wants the data to be presented is the driving factor for what application to use. After utilizing each application, an analysis can be made on when and why to use each application. Word processors such as Microsoft Word and Google chrome are used when there is a need to format text. These are used in place of simple text files or Notepad because “a text file only stores text without any formatting information, and typically has a filename extension like myfile.txt. Simple apps like Notepad (for Windows) or TextEdit (for Macs) can edit text files” (Vahid et al.). This can be helpful when writing a paper that requires a specific format such as an APA style essay. Being able to format text in various ways is a major advantage over the other applications. One disadvantage that the word processing applications have is the lack of capability to manipulate large amounts of data. This application was best used to journal about my day. 

Spreadsheets such as Microsoft Excel or Google sheets are extremely powerful tools for organizing, representing, and manipulating numerical data. This application was best used in my day in my life assignment to find percentages of time spent. It was easy to apply functions and find sums and percentages. One major drawback of a spreadsheet is the lack of a good way to represent text and the steep learning curve. 

Presentation software such as PowerPoint and google slides are best used like the name suggests, presenting an idea. A user is able to create colorful and interactive presentations that are a visual aid while presenting. The ability to add notes to assist the presenter is a great feature. Another great feature is the option to emphasize pictures or words. This was the perfect tool to summarize my day and show it to any interested party. 

Database applications are best used to organize and retrieve data for efficient use. Manny applications rely on other database management systems. A DBMS is “an app that creates, maintains, and accesses database systems. Popular DBMS' include MySQL, Oracle Database, and Microsoft Access.” (Vahid et al.). One way I see this done in real life is to catalog known positions of satellites in a database such as MongDB or MySQL. Then a very smart app developed by the military can use that and make predictions on future locations of those satellites. 

In conclusion, the choice of what application to use is directly related to the task supposed to be accomplished. Word processors are amazing for formatting large amounts of text, while spreadsheets work great numerical data management and manipulation. One might need to choose presentation software to paint a narrative. Overall, it really depends on the immediate need of the user. 















References:

Vahid, F., & Lysecky, S. (2019). Computing technology for all. zyBooks.

Computers in the Workplace.. Healthcare

 I have chosen to discuss the importance of computer literacy in the healthcare industry. AS technology advances, the many industries in our lives will adopt the changes to technology. Years ago healthcare records may have been kept in file cabinets, eventually they were probably migrated to a simple file system. Nowadays most hospitals are probably using a cloud environment for computing. It is the cheapest most efficient way to host large networks and have reliable data. Doctors and nurses update charts online, view test results, and view records all on the computers. It is important that these computer systems have the regulatory controls in place to be HIPPA compliant. It is extremely important for every user to know how to protect PII and HIPPA information. Because of these compliance rules, the security of the system might be more strict than that of a normal commercial operation. Another reason why every user must be computer literate and have a cybersecurity mindset is that threat actors will target hospitals with ransomware. The ransomware attacks can cost millions of dollars to recover from and also put lives at risk. Imagine you are on a newly advanced monitoring system that keeps you alive but the system that keeps the data of that tool has been compromised. This can lead to not knowing how much medicine to give a patient or worse. In 2019 a ransomware attack in Alabama caused disruptions that led to a newborn's death (zacharakos 2019). This is a clear example of how a cyber attack on a healthcare institution can cause problems. It shows that now only do workers need to focus on confidentiality of data but also awareness of cyber threats. 







Reference:


Zacharakos, A. (2023, May 3). Studies show ransomware has already caused patient deaths: TechTarget. Security. https://www.techtarget.com/searchsecurity/feature/Studies-show-ransomware-has-already-caused-patient-deaths#:~:text=There%20have%20already%20been%20notable,lawsuit%20filed%20against%20the%20hospital. 

Traveling Through a Network

The process of packets traversing the internet is truly intriguing. It's remarkable how I can employ ICMP, or the Internet Control Message Protocol, to check for connectivity to a website located anywhere in the world. By using the 'Ping' command, I can reach out to a domain like google.com and measure the latency of my connection. In the case of my recent ping to Google, I received a response time of just 14 milliseconds, which is quite speedy. This response time is influenced by various factors, including the quality of hardware and the speed of my internet service provider (ISP). My internet connection boasts a speed of 500 gigabits per second, which contributes to this swift response.


 


Additionally, the path taken by the data packets to reach their destination plays a pivotal role in determining response speed. The efficiency of routing protocols in use is critical; suboptimal routing can result in slower connections. Most of the internet relies on the Border Gateway Protocol (BGP), which divides the internet into numerous autonomous systems. Through complex calculations, BGP identifies the shortest path for data packets. When I performed a ping to a German website, I noticed a significantly slower response time of 169 milliseconds. This delay was due to the packet traveling through over 30 hops, including the transatlantic cable system, before reaching its intended destination.


 


It's important to note that commands like 'Ping' and 'Traceroute' can fail for various reasons. Failures may occur if the destination is turned off or if there are routing issues. There are countless reasons why a ping might fail, such as misconfigured default gateways or network routing loops causing substantial latency. This is why 'Ping' is the preferred method for testing basic connectivity. When configuring or installing network devices, the initial step is often to ping the distant end. The response received either confirms that the device has been configured correctly with the appropriate gateway, subnet mask, and IP address or indicates the need for further troubleshooting. In cases where issues persist, 'Traceroute' can be employed to pinpoint the exact location where data packets are being dropped.

Network Security

 Network Security is one of the most important and crucial aspects of our lives. Many examples of what can be called poor network security can be seen in the instances of large data leaks or the hacks of major companies such as MGM. There are many reasons why I want to choose network security as my tech topic but the main reasons are the impact network security has on our daily lives, the ever evolving threat landscape is fascinating, and the thrill of stopping threat actors. According to IBM, network security is the field inside cybersecurity that focuses on protecting networks from cyber threats (IBM).  Implementing things such as a zero trust architecture or utilizing tools such as a SIEM are some of the more intriguing parts of network security. I hope to get more involved and become a subject matter expert in this topic. I currently work as a Information System Security Engineer, my aspirations are to become an expert in this field and then go to SME at my company. I would love to be the go to guy when it comes to securing the network. Additionally I would like to get to the point where I can create my own whitepapers on network security related topics.


Application Critique

 Let's discuss Spotify! This is an app that I feel very passionate about. I have spent thousands of hours using this app as well as a great amount of time with others. I feel this makes me qualified to evaluate this app. I am sure I am not alone in how much time I spent with Spotify. 

 

Spotify's unique capability is creating curated playlists based off of your listening history. The algorithms that are in  place are usually a great way to find new music and mix things up. Overall the design and usability of Spotify are great. I have used many other music streaming applications such as Apple Music, Google Play music, and Youtube Music. Out of all of these I am still a fan of Google Play music, however google shut it down in favor of Youtube music. I believe this was a terrible mistake.

Usability:

Spotify is very easy to use. The playlists and homepage are easy to navigate and provide a great visual to get me to click on new music. The app is cross platform and my music spot carries over no matter if I'm listening on my phone or computer.

 

Functionality: 

Spotify is amazing at playlists. You can edit and manage playlists, or use the playlists created for you by the algorithm. The search page makes it easy to find new music or podcasts. You can cast to different devices, easily create playlists from songs, and like songs. A lot of songs have a section to view lyrics so you don't have to look them up. Another great aspect is the ability to find similar songs or artists based off of what you are currently listening to. 

Design: Spotify has a unique aesthetic that is easily recognizable. The green is a color that everyone can recognize. The app is easy to navigate, the bottom features a home icon, search icon, and your library icon.  The home page features recommendations, recently played, and curated playlists. The search tab allows you to search for artist/podcasts and sort by top 100 or top songs in a specific genre. The Library tab is hope to all the artists you follow, as well as your playlists and downloaded content.


Improvements:

 

I have some major gripes with Spotify.

When I am running or training for a run I tend to listen to random playlists of EDM music to help me run for long periods of time. The problem with this is that all the random EDM I listen to while running adds to the algorithm of what Spotify suggests to me. I do not listen to EDM unless I am running so it makes artist recommendations almost always useless for me. I also run for 2 hours at a time so the app thinks that is my favorite type of music. There needs to be a way to listen to music without it affecting your recommendations.

One thing Spotify is missing that others have is a shuffle all function. In Apple music, if I add music to my library I can shuffle all songs. In Spotify you are only able to play all/shuffle all songs in a specific playlist or by specific artist.

Lastly, I would add the feature to add custom media to Spotify. I have some audio that I would like to listen to in playlists but it is not easy to add my own downloads to Spotify. 

Programing Languages



During week 1 one this class, we were taught about a few different programing languages. We were instructed to create a program using scratch. After utilizing the scratch program and reading about more advanced programing languages I now understand the differences between programing some programing languages and understand when programing languages should be used and learned how to overcome some difficulties. 

I went into the scratch program wanting to make a game. I was able to create a pong game by using simple scratch programming if then block and adding variables to objects. I struggled to make my game work at first because I forgot to add a condition to the object that made the entire thing work. I had to add the condition of when the green flag is clicked to every module. I was able to use some trial and error and troubleshooting steps to identify this.  I was able to learn what would happen by using if as opposed to if then. I also was able to understand how applying conditions to objects changed out they interacted. My Pong game can be accesse
d here. https://scratch.mit.edu/projects/888362975/editor

After using scratch and reading in our text book, it can be determined that Python is the most popular language. According to our textbook “Python is a high-level programming language, increasing in popularity due in part to being easy to learn, to being freely available, and to having powerful high-level data-processing operations” (Vahid 2019).  As described, python is a high-level language that is easier to learn, thus making it popular.  One use for Python is in DevOps. According to Sravani, “Python is popular in DevOps due to its simplicity, flexibility, and extensive library support, making it an ideal tool for building and deploying applications quickly and efficiently” (Sravani et al., 2023). While speaking at a conference for DevSecOps, the topic of Python being used for its simplicity was brought up but the security issues with insecure code were highlighted. When completing the sections in our textbook, I found the python section easiest to understand. This might be because I have looked into python in that past, however I was still able to grasp it far easier than the assembly language. On the other hand, Java would be best used for developing large applications such as android apps. This is not to say other languages can't be used when programing android apps, rather Java is the most popular.
References

Sravani, D., Reddy, J. R., Viswas, P. S., Jyothi, N. M., & Chandukiran, P. (2023). Python Security in DevOps: Best Practices for Secure Coding, Configuration Management, and Continuous Testing and Monitoring. 2023 4th International Conference on Electronics and Sustainable Communication Systems (ICESC), Electronics and Sustainable Communication Systems (ICESC), 2023 4th International Conference On, 514–520. https://doi.org/10.1109/ICESC57686.2023.10193128

https://www.codemotion.com/magazine/frontend/mobile-dev/android-app-development-which-language-to-choose/#:~:text=Java%20has%20been%20the%20official,for%20scripting%20and%20rapid%20prototyping.