Guide to High School Computer Science
  • 💻Introduction
    • windows & Python Development
    • macOS & Python Development
    • Visual Studio Code Settings
    • Set up Github
    • Author Page
  • 🧠Prerequisite Skills
    • Keyboard Typing
    • Files & Directories
    • Use of Command Line
    • Git & GitHub
    • Markdown
    • Starting Your Python Project
  • 🐍Python Programming
    • 🍎Python Basics
      • What is Python?
      • Procedural Programming & Programming Paradigms
      • String Formatting
      • Data Types
      • Input & Output to Console
      • Working with Numbers
      • Useful Built-in Functions
      • Math & Random Module
      • Boolean Data Object
      • Comparison, Logical, and Membership Operators
      • If Statements
      • Binary Decisions
      • Multiple Decisions
      • Nested Conditions
      • [EXTRA] Bitwise Operators
      • [EXTRA] Python Style Guide
    • ⏮️Iterations
      • Introduction to While Loops
      • Infinite Loop
      • Controlling Your While Loops
      • Introduction to For Loops
      • For Loops w/ Numeric Sequences
      • For Loops w/ Strings & Lists
      • Iterable Functions w/ For Loops
    • 📦Collections
      • Strings
        • String Basics
        • String Indexing
        • String Slicing
        • String Operators & Functions
        • Basic String Methods
        • String Methods Extended
        • String Methods Document
      • Tuples & Lists
        • Tuples
        • List Basics
        • List are Mutable
        • Adding Items to a List
        • Removing Items from a List
        • Search & Reverse a List
        • List Comprehension
        • List Methods Document
      • Sets
      • Dictionary
      • How to Store Multiple Data Items
    • 💡Defining Functions
      • Functions
      • print() vs return
      • Pre-determined Arguments
      • Nested Functions
      • Map & Filter
      • [Extra] Dynamic Arguments
    • 💾File I/O
      • How to Save Text to an External File
      • Reading CSV in Python
      • Reading JSON in Python
    • 🔨Basic Python Projects
      • Basic Calculator
        • Improving the calculator
        • Exercise Set 1
        • Exercise Set 2
        • 💎Streamlit Application #1
      • Basic Password Generator
        • Exercise Set 3
        • Exercises Related to Math
        • 💎Streamlit Application #2
      • A To-Do Task List
    • ⏳Introduction to Algorithmic Thinking
      • Big-O Notation
      • Basic Algorithms
        • Linear Search
        • Binary Search
        • Basic Sorting Algorithms
      • Recursion
      • Brute Force Algorithms
      • Greedy Algorithm
        • Time on Task (CCC 2013 J4)
        • Dijkstra’s Algorithm
      • Divide and Conquer
        • Merge Sort
      • Dynamic Programming
    • 🤯Object Oriented Programming
      • Class & Objects (Definitions)
      • OOP in Python
      • Encapsulation
      • Polymorphism
      • Inheritance & Overriding
      • Override Magic Methods
      • Case Study: 2D Vectors
      • Case Study: Deck of Cards
      • Exercise
      • Abstract Data Types
      • Case Study: Static 1D Array From Java
    • Competitive Programming
      • Is This Sum Possible?
        • Is the dataset sorted?
        • Searching for a value
        • Determine if the difference between an integer from the array and the target value exists
        • Sorting Algorithms
        • Using Two Pointers
      • Two Sum - LeetCode
        • Generate all possible pairs of values
        • Subtract each value from the target, see if the difference exists in the list
      • Longest Common Prefix - LeetCode
        • Compare all possible prefixes
        • Create the longest common prefix with the direct neighbour
      • Length of Last Word - LeetCode
        • Compare all possible prefixes
      • Where can I go from one point to another?
      • Sample Outline
    • IB Recipe Book
  • 💾Python & Databases
    • Intro to Databases & Data Modeling
      • Common Data Types in SQL
      • Introduction to ERDs
      • Primary Keys and Foreign Keys
      • Database Normalization
    • What is SQL?
      • Getting Started
      • SELECT Queries
        • Selection with Conditions
        • Selection with Fuzziness
        • Selection and Sorting in Order
        • Selection without Duplicates
        • Selection with Limited Number of Outputs
      • AGGREGATE Queries
        • Counting Rows
        • Sum, Average, Min/Max Queries
        • Working with Aggregate Queries
        • Power of using Groups
        • Exercise
      • Interacting with Multiple Table
      • Inserting Data
      • External Resource
  • ☕Java Essentials
    • Basics
      • Starting Java
      • Data & Variables
      • Handling User Inputs & Type Conversion
      • Arithmetic
      • IPO Model
      • Basic Built-in Methods
      • Exercise Questions
    • Conditionals
      • Boolean Operators
      • Compare Strings
      • If Statements
      • If Else Statements
      • Making Multiple Decisions
      • Using Switch
      • Flowchart Symbols
      • Exercise Questions
    • Iterations
      • While Loops
      • For Loop
      • Exercises
    • Java Type Casting
    • Strings
      • Common String Practices
      • String Formatting
      • Java Special Characters
    • Collection
      • Arrays
      • For Each Loop
      • ArrayList
      • Exercise Questions
    • Static Methods
      • (Aside) Clearing your Console
    • Randomness in Java
    • Delayed Output in Java
    • Java Output Formatting
    • Java Style Guide
  • 🛠️JavaScript Programming
    • Our Programming Editor & Workflow
      • Hello, world!
      • Commenting & Variables
      • Data in JavaScript
      • Operators
      • String Formatting
      • Getting User Input
    • JavaScript Exercise Set 1
    • Making Decisions
      • Comparing Values
      • Combining Boolean Comparisons
      • Creating Branches
    • JavaScript Exercise Set 2
    • While Loops
      • Infinite While Loop
      • While Loops and Numbers
      • While Loops and Flags
      • While loops w/ Strings
    • JavaScript Exercise Set 3
    • Subprograms & Functions
      • Creating a Function in JavaScript
      • Function with Input and Assignable Output
    • JavaScript Exercise Set 4
  • 💾Topics in CS
    • Computer Environments & Systems
      • Computer Components
        • In-depth Explanations
      • File Maintenance
      • Computer & Safety
      • Software Development
      • Bits & Binary
    • Careers related to Computer Science
    • Postsecondary Opportunities
Powered by GitBook
On this page
  • Malware --> Software designed for illicit purposes
  • How to Protect Your PC
  • Phising
  1. Topics in CS
  2. Computer Environments & Systems

Computer & Safety

PreviousFile MaintenanceNextSoftware Development

Last updated 1 year ago

Malware --> Software designed for illicit purposes

Malware, short for "malicious software," refers to a broad category of software programs intentionally designed to harm, compromise, or gain unauthorized access to computer systems and networks.

Malware can infect computers and devices through various means, such as malicious email attachments, compromised websites, or software downloads. Its effects can range from data theft and system disruption to financial loss and privacy breaches.

A computer virus is a malicious software program that attaches itself to legitimate files or programs with the intent of replicating and spreading to other files or systems. Once activated, it can execute harmful actions, such as corrupting data, stealing information, or damaging the host computer's functionality. Effective antivirus software and regular system updates are essential for preventing and mitigating virus infections.

A Trojan horse, often referred to as a "Trojan," is a type of malicious software that disguises itself as a legitimate program or file to deceive users into downloading and executing it. Once activated, a Trojan horse can give attackers unauthorized access to the infected computer or network, allowing them to steal data, control the system, or deliver other malware. Unlike viruses or worms, Trojans do not replicate themselves but rely on social engineering tactics to trick users into running them.

A worm attack is a type of cyberattack that involves self-replicating malware known as "worms." These worms can spread independently to other computers and networks, exploiting vulnerabilities to infect as many systems as possible. They often carry out malicious actions, such as data theft, damage, or establishing a botnet for further attacks. Unlike viruses, worms do not need a host program to attach to and are capable of spreading without user interaction.

On the other hand, a Distributed Denial of Service (DDoS) attack aims to overwhelm a target server or network with a flood of traffic, rendering it inaccessible to legitimate users. DDoS attacks involve a network of compromised devices, often called a botnet, to generate the massive volume of traffic needed to disrupt services. While worms focus on infiltrating and compromising systems, DDoS attacks primarily seek to disrupt and paralyze the targeted resource, rather than steal or manipulate data.asd

Adware is a type of software that displays unwanted advertisements to computer users, often in the form of pop-up ads or banners, while they are browsing the internet or using applications. These advertisements are typically designed to generate revenue for the developers by promoting products or services, and they can be intrusive and disruptive to the user experience. Adware is considered potentially unwanted software (PUP) and can sometimes be bundled with legitimate software installations without the user's full consent.

How to Protect Your PC

  1. Use of a Firewall

A firewall is a network security device or software that acts as a barrier between a trusted network and an untrusted network, such as the internet. It monitors and controls incoming and outgoing network traffic based on predefined security rules. Firewalls are essential for protecting networks and computers by filtering potentially harmful traffic and preventing unauthorized access or cyberattacks.

  1. Anti-Malware Software

Anti-malware software helps protect computers and networks from various forms of malicious software, or malware. It does so by scanning files, programs, and data for known malware signatures and behavioral patterns. When it detects malware, it can quarantine or remove the malicious code, preventing it from causing harm to the system. Additionally, anti-malware software often includes real-time monitoring features that actively detect and block suspicious activities, such as unauthorized access or suspicious network behavior, enhancing overall cybersecurity. Regular updates to the software's database of malware signatures ensure that it can effectively combat new and emerging threats.

  1. Avoid Social Engineering Pitfalls

Avoiding social engineering pitfalls significantly enhances personal safety and cybersecurity. Social engineering techniques manipulate human psychology to trick individuals into divulging confidential information, clicking on malicious links, or taking harmful actions. By recognizing and resisting these tactics, individuals can protect their sensitive data and privacy, reducing the risk of identity theft, financial fraud, or data breaches. Being cautious about unsolicited requests for personal information, verifying the identity of online contacts, and staying informed about common social engineering tactics empowers individuals to make informed decisions and stay safer in the digital age.

  1. Use of VPN

  1. Use Strong Passwords with Two-Factor Authentications

Using strong passwords and two-factor authentication (2FA) significantly enhances your online safety. Strong passwords are harder for attackers to guess, reducing the risk of unauthorized access to your accounts. 2FA adds an extra layer of security by requiring something you know (your password) and something you have (like a smartphone or security token), making it much more difficult for hackers to gain access even if they manage to steal your password. Together, these measures greatly improve your protection against account breaches and data theft.

Phising

Phishing is a deceptive cyberattack technique where malicious actors impersonate legitimate entities, typically through emails, messages, or websites, to trick individuals into revealing sensitive information like passwords, credit card details, or personal data.

It is dangerous because it preys on human psychology and trust, often luring victims with convincing messages that appear genuine. Phishing attacks can lead to identity theft, financial loss, data breaches, and compromised accounts.

They are increasingly popular due to their relative ease of execution, the potential for high returns for cybercriminals, and the ever-growing reliance on digital communication and online services, which provide a vast pool of potential targets.

Example: Virus

Example: ransomeware/trojan

Example: worm attack

Example: Adware attack

Using a encrypts your internet traffic, which adds a layer of privacy and security, making it harder for others to monitor your online activities. It can also help you access restricted content and mask your IP address. However, a VPN does not provide complete protection, as it won't safeguard you against malware or phishing attacks, and its effectiveness depends on the trustworthiness of the VPN provider.

💾
ILOVEYOU
Cryptolocker
Mydoom
Fireball
Virtual Private Network (VPN)