Lably
Skip to content

Attack patterns

  • 7 min read
  • 2 chapters

Related on Lably

Through Computer science, Computer security and Software

Attack patterns are often used for testing purposes and are very important for ensuring that potential vulnerabilities are prevented. The attack patterns themselves can be used to highlight areas which need to be considered for security hardening in a software application. They also provide, either physically or in reference, the common solution pattern for preventing the attack. Such a practice can be termed defensive coding patterns.

Attack patterns define a series of repeatable steps that can be applied to simulate an attack against the security of a system.

Categories

There are several ways to categorize attack patterns.

General categories

Architectural attack patterns are used to attack flaws in the architectural design of the system. These are things like weaknesses in protocols, authentication strategies, and system modularization. These are more logic-based attacks than actual bit-manipulation attacks. Time-of-check vs time-of-use can be classified as architectural flaws.

Parsing and validation. SQL injection attacks and cross-site scripting fall into this category.

Memory safety. In memory-unsafe programming languages, lower-level issues such as buffer overflows and race conditions can be exploited to take partial or complete control of the software.

Spoofing and friends. Often targeting web domain names with attacks such as phishing, spoofing, and typosquatting.

GUI attacks. These attack graphical user interface (GUI) primitives: clickjacking, mousetrapping, HTML iframe overlay tricks.

Multipliers. Malvertising, "viral" attacks that spread via social media, "worm" pattern, preparing a list of vulnerable hosts before releasing a worm

By technology

Another way is to group them into general categories. Another way of categorizing attack patterns is to group them by a specific technology or type of technology (e.g. database attack patterns, web application attack patterns, network attack patterns, etc. or SQL Server attack patterns, Oracle Attack Patterns, .Net attack patterns, Java attack patterns, etc.)

Sign in to keep reading

One more chapter is free with a Lably account.

More in Computing and communication