Chapter 3: Attacks Using Malware Flashcards
Network connected hardware devices
Endpoints
Malicious software that enters a computer system without the user’s knowledge or consent and then performs an unwanted and harmful action
Malware
5 ways of classifying malware include …
- Imprison
- Launch
- Snoop
- Deceive
- Evade
A type of malware attack which attempts to take away the freedom of the user to do what they want on their computer
Imprison
A type of malware that prevents a user’s endpoint device from properly and fully functioning until a fee is paid
Ransomware
A type of malware that encrypts all the files on the device so that none of them can be opened until a ransom is paid
Cryptomalware
A type of malware attack that infects a computer to launch attacks on other computers
Launch
A type of malware attached to a file
File-based virus
A type of malware which takes advantage of native services and processes that are part of the OS to avoid detection and carry out its attacks
Fileless virus (Living-off-the-land binaries/LOLBins)
5 qualities of fileless viruses include …
- Easy to infect
- Extensive control
- Persistent
- Difficult to detect
- Difficult to defend
A type of malware which uses a computer network to replicate to other endpoints
Worm
A type of launch attack where an infected computer is placed under the remote control of an attacker for the purpose of launching attacks
Bot
A structure that sends instructions to infected bot computers
Command and control (C&C)
A type of malware that is deployed without the consent or control of the user
Spyware
Hardware or software that silently captures and stores each keystroke that a user types on a keyboard
Keylogger
Software that users do not want on their computer
Potentially unwanted program (PUP)
An executable program that masquerades as performing a benign activity but also does something malicious
Trojan
Malware that infects a computer like a Trojan but also gives the threat agent unauthorized access to the victim’s computer by using specially configured communication protocols
Remote Access Trojan (RAT)
Malware that gives access to a computer, program, or service that circumvents any normal security protections
Backdoor
Computer code that is typically added to a legitimate program but lies dormant and evades detection until a specific logical event triggers it
Logic bomb
Malware that can hide its presence and the presence of other malware on the computer
Rootkit
An attack that takes advantage of a website that accepts user input without sanitizing it
Cross-site scripting (XSS)
Attacks that introduce new input to exploit a vulnerability
Injections
An attack that inserts statements to manipulate a database server using Structures Query Language commands
SQL injection
A language used to view and manipulate data that is stored in a relational database
Structured Query Language (SQL)
An attack that inserts statements to manipulate a database server using eXtensible Markup Language (XML)
XML injection
A markup language designed to store information
eXtensible Markup Language (XML)
An attack that takes advantage of an authentication “token” that a website sends to a user’s web browser to imitate the identity and privileges of the victim
Cross-site request forgery (CSFR) or client-side request forgery
An attack that takes advantage of a trusting relationship between web servers
Server-side request forgery (SSRF)
An attack that copies data and then uses it for an attack
Replay attack
An attack that depletes parts of memory and interferes with the normal operation of the program in RAM to give an attacker access to the underlying OS
Resource exhaustion attacks
A situation that occurs when, due to a programming error, memory is not freed when the program has finished using it
Memory leak
An attack that occurs when a process attempts to store data in RAM beyond the boundaries of a fixed-length storage buffer
Buffer overflow attack
An attack that changes the value of a variable to something outside the range that the programmer had intended by using an integer overflow
Integer overflow attack
A programming error that does not filter or validate user input to prevent a malicious action
Improper input handling
A programming error that does not properly trap an error condition
Error handling
A flaw that results in a pointer given a NULL instead of valid value
Pointer/object dereference
A situation in software that occurs when two concurrent threads of execution access a shared resource simultaneously
Race condition
A software check of the state of a resource before using that resource
Time of check/time of use
An attack that targets vulnerabilities in an API
Application program interface (API) attack
An attack that alters a device driver from its normal function
Device driver manipulation
Transparently adding a small coding library that intercepts calls made by the device and changes the parameters passed between the device and device driver
Shimming
Changing the design of existing code
Refactoring
An attack that inserts code into a running process through a DLL to cause a program to function in a different way than intended
Dynamic link library (DLL) injection
Technology that imitates human abilities
Artificial intelligence
“Teaching” a technology device to “learn” through repeated experience by itself without the continual instructions of a computer programmer
Machine learning
Exploiting the risks associated with using AI and ML in cybersec
Adversarial artificial intelligence
A risk associated with the vulnerabilities in AI-powered cybersecurity applications and their devices
Security of the ML algorithm
A risk associated with attackers can attempt to alter the training data that is used by ML
Tainted training data for machine learning