Domain 5. Chapter 14 Flashcards

1
Q
  1. Access Control Models
    A subject is an active entity that accesses a passive object, and an object is a passive entity that provides information to active subjects. For example, when a user accesses a file, the user is the subject, and the file is the object.

Permissions In general, permissions refer to the access granted for an object and determine what you can do with it. If you have read permission for a file, you’ll be able to open it and read it. You can grant user permissions to create, read, edit, or delete a file on a file server. Similarly, you can grant a user access rights to a file, so in this context, access rights and permissions are synonymous. For example, you may be granted read and execute permissions for an application file, which gives you the right to run the application. Additionally, you may be granted data rights within a database, allowing you to retrieve or update information in the database.

Rights A right primarily refers to the ability to take an action on an object. For example, a user might have the right to modify the system time on a computer or the right to restore backed-up data. This is a subtle distinction and not always stressed. However, you’ll rarely see the right to take action on a system referred to as a permission.

Privileges Privileges are a combination of rights and permissions. For example, an administrator for a computer will have full privileges, granting the administrator full rights and permissions on the computer. The administrator will be able to perform any actions and access any data on the computer.

A

Субъект — это активная сущность, которая обращается к пассивному объекту, а объект — это пассивная сущность, предоставляющая информацию активным субъектам. Например, когда пользователь обращается к файлу, пользователь является субъектом, а файл — объектом.

Разрешения Как правило, разрешения относятся к доступу, предоставленному объекту, и определяют, что вы можете с ним делать. Если у вас есть разрешение на чтение файла, вы сможете открыть его и прочитать. Вы можете предоставить пользователям разрешения на создание, чтение, редактирование или удаление файла на файловом сервере. Аналогичным образом вы можете предоставить пользователю права доступа к файлу, поэтому в этом контексте права доступа и разрешения являются синонимами. Например, вам могут быть предоставлены разрешения на чтение и выполнение файла приложения, что дает вам право запускать приложение. Кроме того, вам могут быть предоставлены права на данные в базе данных, что позволит вам извлекать или обновлять информацию в базе данных.

Права Право в первую очередь относится к возможности совершать действия над объектом. Например, пользователь может иметь право изменять системное время на компьютере или право восстанавливать данные из резервной копии. Это тонкое различие, и оно не всегда подчеркивается. Однако вы редко увидите право на действие в системе, называемое разрешением.

Привилегии Привилегии — это сочетание прав и разрешений. Например, администратор компьютера будет иметь полные права, предоставляя ему полные права и разрешения на компьютере. Администратор сможет совершать любые действия и получать доступ к любым данным на компьютере.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

1.1 Authorization Mechanisms
Implicit Deny A fundamental principle of access control is implicit deny, and most authorization mechanisms use it. The implicit deny principle ensures that access to an object is denied unless access has been explicitly granted to a subject. You can also think of this as deny by default.

Access Control Matrix In short, an access control matrix is a table that includes subjects, objects, and assigned privileges. When a subject attempts an action, the system checks the access control matrix to determine if the subject has the appropriate privileges to perform the action. For example, an access control matrix can include a group of files as the objects and a group of users as the subjects. It will show the exact permissions authorized for each user for each file. Note that this covers much more than a single access control list (ACL). In this example, each file listed within the matrix has a separate ACL that lists the authorized users and their assigned permissions.

Capability Tables Capability tables are another way to identify privileges assigned to subjects. They are different from ACLs in that a capability table is focused on subjects (such as users, groups, or roles). For example, a capability table created for the accounting role will include a list of all objects that the accounting role can access as well as the specific privileges assigned to the accounting role for these objects. In contrast, ACLs are focused on objects. An ACL for a file would list all the users and/or groups that have authorized access to the file and the specific access granted to each.

A

Неявное запрещение Основным принципом контроля доступа является неявное запрещение, и его использует большинство механизмов авторизации. Принцип неявного запрета гарантирует, что доступ к объекту запрещен, если доступ не был явно предоставлен субъекту. Вы также можете думать об этом как об отказе по умолчанию.

Матрица контроля доступа Короче говоря, матрица управления доступом — это таблица, которая включает субъектов, объекты и назначенные привилегии. Когда субъект пытается выполнить действие, система проверяет матрицу контроля доступа, чтобы определить, имеет ли субъект соответствующие привилегии для выполнения действия. Например, матрица контроля доступа может включать группу файлов в качестве объектов и группу пользователей в качестве субъектов. Он покажет точные разрешения, разрешенные каждому пользователю для каждого файла. Обратите внимание, что это охватывает гораздо больше, чем просто один список управления доступом (ACL). В этом примере каждый файл, указанный в матрице, имеет отдельный список управления доступом, в котором перечислены авторизованные пользователи и назначенные им разрешения.
Таблицы возможностей Таблицы возможностей — это еще один способ определить привилегии, назначенные субъектам. Они отличаются от списков ACL тем, что таблица возможностей ориентирована на субъекты (такие как пользователи, группы или роли). Например, таблица возможностей, созданная для роли учета, будет включать список всех объектов, к которым может получить доступ роль учета, а также конкретные привилегии, назначенные роли учета для этих объектов. Напротив, списки ACL ориентированы на объекты. В списке ACL для файла будут перечислены все пользователи и/или группы, имеющие авторизованный доступ к файлу, а также конкретный доступ, предоставленный каждому.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

1.1 Authorization Mechanisms
Constrained Interface Applications use constrained interfaces or restricted interfaces to restrict what users can do or see based on their privileges. Users with full privileges have access to all the capabilities of the application. Users with restricted privileges have limited access. The Clark–Wilson model discusses the technical details of how it implements a constrained interface.

Content-Dependent Control Content-dependent access controls restrict access to data based on the content within an object. A database view is a content-dependent control. A view retrieves specific columns from one or more tables, creating a virtual table.

Context-Dependent Control Context-dependent access controls require specific activity before granting users access. The system denies access to the download page if users don’t go through the purchase process first. It’s also possible to use date and time controls as context-dependent controls. If users attempt to access the resource outside the allowed time, the system denies them access.

Need to Know This principle ensures that subjects are granted access only to what they need to know for their work tasks and job functions. Subjects may have clearance to access classified or restricted data but are not granted authorization to the data unless they actually need it to perform a job.

Least Privilege The principle of least privilege ensures that subjects are granted only the privileges they need to perform their work tasks and job functions. This is sometimes lumped together with need to know. The only difference is that least privilege will also include rights to take action on a system.

Separation of Duties and Responsibilities The separation of duties and responsibilities principle ensures that sensitive functions are split into tasks performed by two or more employees. It helps prevent fraud and errors by creating a system of checks and balances.

A

Ограниченный интерфейс Приложения используют ограниченные или ограниченные интерфейсы, чтобы ограничить то, что пользователи могут делать или видеть, в зависимости от их привилегий. Пользователи с полными правами имеют доступ ко всем возможностям приложения. Пользователи с ограниченными привилегиями имеют ограниченный доступ. В модели Кларка–Уилсона ( обсуждаются технические детали реализации ограниченного интерфейса.

Управление, зависящее от содержимого Управление доступом, зависящее от содержимого, ограничивает доступ к данным на основе содержимого внутри объекта. Представление базы данных — это элемент управления, зависящий от содержимого. Представление извлекает определенные столбцы из одной или нескольких таблиц, создавая виртуальную таблицу.

Контекстно-зависимый контроль Контекстно-зависимый контроль доступа требует выполнения определенных действий, прежде чем предоставлять пользователям доступ. Система отказывает в доступе к странице загрузки, если пользователи сначала не проходят процесс покупки. Также можно использовать элементы управления датой и временем в качестве контекстно-зависимых элементов управления. Если пользователи попытаются получить доступ к ресурсу вне разрешенного времени, система откажет им в доступе.

Необходимость знать Этот принцип гарантирует, что субъектам предоставляется доступ только к тому, что им необходимо знать для выполнения своих рабочих задач и должностных функций. Субъекты могут иметь разрешение на доступ к секретным или ограниченным данным, но им не предоставляется разрешение на доступ к данным, если они действительно не нужны им для выполнения работы. Наименьшие привилегии

Принцип наименьших привилегий гарантирует, что субъектам предоставляются только те привилегии, которые им необходимы для выполнения своих рабочих задач и должностных функций. Иногда это смешивают с необходимостью знать. Единственное отличие состоит в том, что минимальные привилегии также включают права на выполнение действий в системе.

Разделение обязанностей и ответственности Принцип разделения обязанностей и ответственности обеспечивает разделение важных функций на задачи, выполняемые двумя или более сотрудниками. Это помогает предотвратить мошенничество и ошибки, создавая систему сдержек и противовесов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  1. Defining Requirements with a Security Policy
    A security policy is a document that defines the security requirements for an organization. It identifies assets that need protection and the extent to which security solutions should go to protect them.
    Policies are an important element of access control because they help personnel within the organization understand what security requirements are important.
    However, a security policy usually does not go into details about how to fulfill the security needs or how to implement the policy. For example, it may state the need to implement and enforce separation of duties and least privilege principles but not state how to do so. Professionals within the organization use the security policies as a guide to implement security requirements.
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q
  1. Access Control Models
    3.1 Discretionary Access Control
    3.2 Role-Based Access Control
    3.3 Rule-Based Access Control
    3.4 Attribute-Based Access Control
    3.5 Mandatory Access Control
    3.6 Risk-Based Access Control
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

3.4 Attribute-Based Access Control
Attribute-Based Access Control A key characteristic of the Attribute-Based Access Control (ABAC) model is its use of rules that can include multiple attributes. This allows it to be much more flexible than a rule-based access control model that applies the rules to all subjects equally. Many software-defined networks (SDNs) use the ABAC model. Additionally, ABAC allows administrators to create rules within a policy using plain language statements such as “Allow Managers to access the WAN using a mobile device.”

However, an advanced implementation of a rule-based access control is an Attribute-Based Access Control (ABAC) model. ABAC models use policies that include multiple attributes for rules.

Attributes can be almost any characteristic of users, the network, and devices on the network. For example, user attributes can include group membership, the department where they work, and devices they use such as desktop PCs or mobile devices. The network can be the local internal network, a wireless network, an intranet, or a wide area network (WAN). Devices can include firewalls, proxy servers, web servers, database servers, and more.
Mobile device management (MDM) systems, discussed in can use attributes to identify mobile devices. Attributes: some attribute examples such as somewhere you are, somewhere you aren’t, and context-aware authentication.

A

Управление доступом на основе атрибутов Ключевой характеристикой модели управления доступом на основе атрибутов (ABAC) является использование правил, которые могут включать несколько атрибутов. Это позволяет ей быть гораздо более гибкой, чем модель управления доступом на основе правил, которая одинаково применяет правила ко всем субъектам. Многие программно-определяемые сети (SDN) используют модель ABAC. Кроме того, ABAC позволяет администраторам создавать правила в политике, используя простые формулировки, такие как «Разрешить менеджерам доступ к глобальной сети с помощью мобильного устройства».

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

3.5 Mandatory Access Control
Mandatory Access Control A key characteristic of the Mandatory Access Control (MAC) model is the use of labels applied to both subjects and objects. For example, if a user has a label of top secret, the user can be granted access to a top-secret document. In this example, both the subject and the object have matching labels. When documented in a table, the MAC model sometimes resembles a lattice (such as one used for a climbing rosebush), so it is referred to as a lattice-based model.

Each classification label represents a security domain, or a realm of security. A security domain is a collection of subjects and objects that share a common security policy. For example, a security domain could have the label Secret, and the MAC model would protect all objects with the Secret label in the same manner.
Users have labels assigned to them based on their clearance level, which is a form of privilege.

Using compartmentalization with the MAC model enforces the need to know principle. Users with the Confidential label are not automatically granted access to compartments within the Confidential section.
The MAC model is prohibitive rather than permissive, and it uses an implicit deny philosophy. The MAC model is more secure than the DAC model, but it isn’t as flexible or scalable.

Classifications within a MAC model use one of the following three types of environment:
- Hierarchical Environment A hierarchical environment relates various classification labels in an ordered structure from low security to medium security to high security, such as Confidential, Secret, and Top Secret, respectively. Each level or classification label in the structure is related. Clearance in one level grants the subject access to objects in that level as well as to all objects in lower levels but prohibits access to all objects in higher levels.
- Compartmentalized Environment In a compartmentalized environment, there is no relationship between one security domain and another. Each domain represents a separate isolated compartment. To gain access to an object, the subject must have specific clearance for the object’s security domain.
- Hybrid Environment A hybrid environment combines both hierarchical and compartmentalized concepts so that each hierarchical level may contain numerous subdivisions that are isolated from the rest of the security domain. A subject must have the correct clearance and the need to know data within a specific compartment to gain access to the compartmentalized object. A hybrid MAC environment provides granular control over access but becomes increasingly difficult to manage as it grows.

A

Мандатный контроль доступа Ключевой характеристикой модели обязательного контроля доступа (MAC) является использование меток, наносимых как на субъекты, так и на объекты. Например, если у пользователя есть гриф «Совершенно секретно», ему может быть предоставлен доступ к совершенно секретному документу. В этом примере и субъект, и объект имеют совпадающие метки. В таблице модель MAC иногда напоминает решетку (например, ту, которая используется для вьющегося розового куста), поэтому ее называют моделью на основе решетки.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

3.6 Risk-Based Access Control
Risk-Based Access Control A risk-based access control model grants access after evaluating risk. It evaluates the environment and the situation and makes risk-based decisions using policies embedded within software code. It uses machine learning to make predictive conclusions about current activity based on past activity.

Risk-based access control is relatively new, and the implementation can be quite complex. The model attempts to evaluate risk by considering several different elements, such as:
The environment
The situation
Security policies
In this context, a security policy is software code that makes risk-based decisions based on available data. An organization would modify the choices within the software to support their needs.

Two other things can be checked or required before the policy grants access:

Multifactor Authentication The system will deny access to users logging on with just one factor of authentication.
Compliant Mobile Devices The policy may require that smartphones and tablets meet specific security requirements, such as an up-to-date operating system and device encryption.

A risk-based access control model that examines mobile devices for compliance may interact with an existing mobile device management (MDM) system.

A

Контроль доступа на основе рисков Модель управления доступом на основе рисков предоставляет доступ после оценки риска. Он оценивает окружающую среду и ситуацию и принимает решения с учетом рисков, используя политики, встроенные в программный код. Он использует машинное обучение, чтобы делать прогнозные выводы о текущей деятельности на основе прошлой деятельности.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

3.1 Discretionary Access Control
Discretionary Access Control A key characteristic of the Discretionary Access Control (DAC) model is that every object has an owner and the owner can grant or deny access to any other subjects. For example, if you create a file, you are the owner and can grant permissions to any other user to access the file. The New Technology File System (NTFS), used on Microsoft Windows operating systems, uses the DAC model.
Within the DAC model, every object has an owner (or data custodian), and owners have full control over the objects they own. Permissions (such as read and modify for files) are maintained in an ACL, and owners can easily change permissions. This makes the model very flexible.
It does not offer a centrally controlled management system because owners can alter the ACLs on their objects at will.
Microsoft Windows systems use the DAC model to manage files. Each file and folder has an ACL (also known as a DACL) identifying the permissions granted to any user or group, and the owner can modify permissions.

In a nondiscretionary access control model, access does not focus on user identity. Instead, a static set of rules governing the whole environment manages access. Non-DAC systems are centrally controlled and easier to manage (although less flexible). In general, any model that isn’t a discretionary model is a nondiscretionary model.

A

Дискреционный контроль доступа Ключевой характеристикой модели дискреционного контроля доступа (DAC) является то, что у каждого объекта есть владелец, и владелец может предоставлять или запрещать доступ любым другим субъектам. Например, если вы создаете файл, вы являетесь его владельцем и можете предоставить любому другому пользователю разрешения на доступ к файлу. Файловая система новой технологии (NTFS), используемая в операционных системах Microsoft Windows, использует модель DAC.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

3.2 Role-Based Access Control
A key characteristic of the Role-Based Access Control (RBAC) model is the use of roles or groups. Instead of assigning permissions directly to users, user accounts are placed in roles and administrators assign privileges to the roles. These roles are typically identified by job functions. If a user account is in a role, the user has all the privileges assigned to the role. Microsoft Windows operating systems implement this model with the use of groups.

Administrators often implement Role-Based Access Control (RBAC) using groups.

This approach helps enforce the principle of least privilege by preventing privilege creep. Privilege creep is the tendency for users to accrue privileges over time as their roles and access needs change.
Microsoft operating systems implement RBAC with the use of groups. Some groups, such as the local Administrators group, are predefined.
In the DAC model, objects have owners, and the owner determines who has access. In the RBAC model, administrators determine subject privileges and assign appropriate privileges to roles or groups.

Another method related to RBAC is task-based access control (TBAC). TBAC is similar to RBAC, but instead of being assigned to one or more roles, each user is assigned an array of tasks. As an example, Microsoft Project uses TBAC. Each project has multiple tasks. The project manager assigns tasks to project team personnel. Team personnel can address their own tasks (adding comments, indicating progress, and so on), but they cannot address other tasks. Microsoft Project handles the underlying details.

A

Управление доступом на основе ролей Ключевой характеристикой модели управления доступом на основе ролей (RBAC) является использование ролей или групп. Вместо того, чтобы назначать разрешения непосредственно пользователям, учетные записи пользователей помещаются в роли, а администраторы присваивают ролям привилегии. Эти роли обычно определяются должностными функциями. Если учетная запись пользователя входит в роль, у пользователя есть все привилегии, назначенные этой роли. Операционные системы Microsoft Windows реализуют эту модель с использованием групп.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

3.3 Rule-Based Access Control
A key characteristic of the rule-based access control model is that it applies global rules to all subjects. As an example, a firewall uses rules that allow or block traffic to all users equally. Rules within the rule-based access control model are sometimes referred to as restrictions or filters.

A rule-based access control model uses a set of rules, restrictions, or filters to determine what can and cannot occur on a system. It includes granting a subject access to an object, or granting the subject the ability to perform an action. A distinctive characteristic about rule-based access control models is that they have global rules that apply to all subjects.
One common example of a rule-based access control model is a firewall. Firewalls include a set of rules or filters within an ACL, defined by an administrator. Firewalls include a final rule (referred to as the implicit deny rule), denying or blocking all other traffic.

A

Ключевой характеристикой модели управления доступом на основе правил является то, что она применяет глобальные правила ко всем субъектам. Например, брандмауэр использует правила, которые одинаково разрешают или блокируют трафик для всех пользователей. Правила в модели управления доступом на основе правил иногда называют ограничениями или фильтрами.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q
  1. Implementing Authentication Systems
    Authentication systems simplify the management of authentication on the internet and in internal networks.
    FIM ( federated identity management) allows different organizations to use federations for SSO (single sign-on).

4.1 Implementing SSO on the Internet
XML, SAML, OAuth, OpenID ( OIDC)
4.2 Implementing SSO on Internal Networks
AAA Protocols, Kerberos, RADIUS, TACACS+

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

4.1 Implementing SSO on the Internet
Imagine you want to transfer money from Bank A to Bank B. You could give Bank B your credentials to Bank A and have them transfer the money. Sound scary? You bet. You should never be required to give your credentials to any third party. Solutions such as SAML, OAuth, OpenID, and OIDC help solve this problem. They share authentication, authorization, or profile information about a user, and some solutions share all three.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

4.1.1XML
Extensible Markup Language (XML) goes beyond describing how to display the data by actually describing the data. XML can include tags to describe data as anything desired.
Databases from multiple vendors can import and export data to and from an XML format, making XML a common language used to exchange information. Many specific schemas exist, and if companies agree on what schema to use, they can easily share information. Many cloud-based providers use XML-based languages to share information for authentication and authorization. They don’t use XML as it is but instead use other languages based on XML.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

4.1.2 SAML
Security Assertion Markup Language (SAML) is an open XML-based standard commonly used to exchange authentication and authorization (AA) information between federated organizations. It provides SSO capabilities for browser access.
The SAML 2.0 specification utilizes three entities: the principal, the service provider, and the identity provider.

  • Principal or User Agent For simplicity, think of Sally as the principal. She’s trying to access her investment account at ucanbeamillionaire.com.
  • Service Provider (SP) In this scenario, the ucanbeamillionaire.com site is providing the service and is the service provider.
  • Identity Provider (IdP) This is a third party that holds the user authentication and authorization information.

When Sally accesses the site, it prompts her to enter her credentials. When she does, the site sends her credentials to the IdP. The IdP then responds with XML messages validating (or rejecting) Sally’s credentials and indicating what she is authorized to access. The site then grants her access to her account.
The IdP can send three types of XML messages known as assertions:

  • Authentication Assertion This provides proof that the user agent provided the proper credentials, identifies the identification method, and identifies the time the user agent logged on.
  • Authorization Assertion This indicates whether the user agent is authorized to access the requested service. If the message indicates access is denied, it indicates why.
  • Attribute Assertion Attributes can be any information about the user agent.
    Many cloud service providers include SAML in their solutions because it simplifies the services for their customers. SAML provides authentication assertion, attribute assertion, and authorization assertion.
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

4.1.3 OAuth
OAuth 2.0 (implying open authorization) is an authorization framework described in RFC 6749 and maintained by the Internet Engineering Task Force (IETF). Many companies on the internet use it to share account information with third-party websites.
For example, imagine you have a Twitter account, and you download an app called Acme that can interact with your Twitter account and schedule Tweets in advance. When you try to use the feature in the Acme app, it redirects you to Twitter. Twitter prompts you to log on, shows you what permissions the Acme app will access, and then asks if you want to authorize the Acme app to access your Twitter app. If you approve, Twitter sends the Acme app an authorization token. The app may accept and enter the authorization token directly, or you may need to enter it into the app’s settings. When the app accesses the Twitter account, it sends an API message and includes the token. Note that this doesn’t provide authentication. Instead, it authorizes access to the account. A primary benefit is that you never provide your Twitter credentials to the Acme app. Even if the Acme app is compromised, it does not expose your credentials.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

4.1.4 OpenID
OpenID is also an open standard, but it is maintained by the OpenID Foundation rather than as an RFC standard. It provides decentralized authentication, allowing users to log into multiple unrelated websites with one set of credentials maintained by a third-party service referred to as an OpenID provider.

When users go to an OpenID-enabled website (also known as a relying party), they are prompted to provide their OpenID identity as a URI. The OpenID-enabled website and an OpenID provider exchange data and create a secure channel. The user is then redirected to the OpenID provider and is prompted to provide the password. If correct, the user is redirected back to the OpenID-enabled site.

The site doesn’t support HTTPS so use HTTP. One thing you’ll see is that it’s always obvious when you’re using OpenID because you have to enter your OpenID identifier.
In contrast, other methods exchange data behind the scenes, so it isn’t as obvious what method is being used.

A
18
Q

4.1.5 OpenID
Connect (OIDC) is an authentication layer using the OAuth 2.0 authorization framework. A key point is that it provides both authentication and authorization. Like OpenID, it is maintained by the OpenID Foundation.
It builds on the technologies created with OpenID but uses a JavaScript Object Notation (JSON) Web Token (JWT), also called an ID token. OpenID Connect uses a web service to retrieve the JWT. In addition to providing authentication, the JWT can also include profile information about the user.
Most of this occurs behind the scenes, but you can see it in action by logging onto eBay with a Google account.

OAuth and OIDC are used with many web-based applications to share information without sharing credentials. OAuth provides authorization. OIDC uses the OAuth framework for authorization and builds on the OpenID technologies for authentication. OIDC uses JSON Web Tokens.

A
19
Q

4.1.6 Comparing SAML, OAuth, OpenID, and OIDC
The following bullets outline the key points about SAML:

SAML 2.0 is an open XML-based standard.
OASIS adopted it as a standard in 2005.
It utilizes three entities: a principal (such as a user), a service provider (such as a website), and an identity provider (a third party that holds the authentication and authorization information).
It can provide authentication, authorization, and attribute information on the principal.

The following bullets outline the key points about OAuth:
It’s an authorization framework, not an authentication protocol.
RFC 6749 describes OAuth 2.0.
It exchanges information using APIs.
An app obtains an access token from an identity provider.
Later, the app includes the access token for authorization.

The following bullets outline the key points about OpenID:
OpenID is an authentication standard.
It is maintained by the OpenID Foundation.
An OpenID provider provides decentralized authentication.
Users enter their Open ID identifier (such as bobsmith2021.myopenid.com) on a site and the OpenID provider verifies the identifier.

The following bullets outline the key points about OIDC:
OIDC is an authentication layer using OAuth 2.0.
It builds on the OpenID authentication standard.
It provides both authentication and authorization.
It builds on OpenID but uses a JSON Web Token.

A
20
Q

4.2 Implementing SSO on Internal Networks
SSO solutions are also used on internal networks. Kerberos is the most common, and it’s an important authentication system to know for the CISSP exam. Network access methods allow users to access internal networks from remote locations (such as at home). Two common remote access protocols are RADIUS and TACACS+. In addition to supporting SSO, RADIUS and TACAS+ provide authentication, authorization, and accounting.

A
21
Q

4.2.1 AAA Protocols
Several protocols provide authentication, authorization, and accounting and are referred to as AAA protocols. These provide centralized access control with remote access systems such as virtual private networks (VPNs) and other types of network access servers. They help protect internal LAN authentication systems and other servers from remote attacks.
These AAA protocols use the access control elements of identification, authentication, authorization, and accountability. They ensure that users have valid credentials to authenticate and verify that they are authorized to connect to the remote access server based on the user’s proven identity. Additionally, the accounting element can track the user’s network resource usage, which can be used for billing purposes. Some common AAA protocols are covered next.

A
22
Q

4.2.2 Kerberos
Ticket authentication is a mechanism that employs a third-party entity to prove identification and provide authentication. The most common and well-known ticket system is Kerberos.
Kerberos offers a single sign-on solution for users and protects logon credentials. Kerberos version 5 relies on symmetric-key cryptography (also known as secret-key cryptography) using the Advanced Encryption Standard (AES) symmetric encryption protocol. Kerberos provides confidentiality and integrity for authentication traffic using end-to-end security and helps protect against eavesdropping and replay attacks

Kerberos uses several different elements that are important to understand:

Key Distribution Center The Key Distribution Center is the trusted third party that provides authentication services. Kerberos uses symmetric-key cryptography to authenticate clients to servers. All clients and servers are registered with the KDC, and it maintains the secret keys for all network members.
Kerberos Authentication Server The authentication server hosts the functions of the KDC: a ticket-granting service (TGS) and an authentication service (AS). However, it is possible to host the ticket-granting service on another server. The authentication service verifies or rejects the authenticity and timeliness of tickets. This server is often called the KDC.
Ticket A ticket is an encrypted message that provides proof that a subject is authorized to access an object. It is sometimes called a service ticket (ST). Subjects (such as users) request tickets to access objects (such as files), and if they have authenticated and are authorized to access the object, Kerberos issues them a ticket. Kerberos tickets have specific lifetimes and usage parameters. Once a ticket expires, a client must request a renewal or a new ticket to continue communications with any server.
Ticket-Granting Ticket A ticket-granting ticket (TGT) provides proof that a subject has authenticated through a KDC and is authorized to request tickets to access other objects. A TGT is encrypted and includes a symmetric key, an expiration time, and the user’s IP address. Subjects present the TGT when requesting tickets to access objects.
Kerberos Principal Kerberos issues tickets to Kerberos principals. A Kerberos principal is typically a user but can be any entity that can request a ticket.
Kerberos Realm Generically, a realm is an area controlled or ruled by something. A Kerberos realm is a logical area (such as a domain or network) ruled by Kerberos. Principals within the realm can request tickets from Kerberos, and Kerberos can issue tickets to principals in the realm.

The Kerberos login process works as follows:
1 The user types a username and password into the client.
2 The client encrypts the username with AES for transmission to the KDC.
3 The KDC verifies the username against a database of known credentials.
4 The KDC generates a symmetric key that will be used by the client and the Kerberos server. It encrypts this with a hash of the user’s password. The KDC also generates an encrypted timestamped TGT.
5 The KDC then transmits the encrypted symmetric key and the encrypted timestamped TGT to the client.
6 The client installs the TGT for use until it expires. The client also decrypts the symmetric key using a hash of the user’s password.

Note that the client’s password is never transmitted over the network, but it is verified. The server encrypts a symmetric key using a hash of the user’s password, and it can only be decrypted with a hash of the user’s password. As long as the user enters the correct password, this step works. However, it fails if the user enters the incorrect password.

When a client wants to access an object, such as a resource hosted on the network, it must request a ticket through the Kerberos server. The following steps are involved in this process:

1 The client sends its TGT back to the KDC with a request for access to the resource.
2 The KDC verifies that the TGT is valid and checks its access control matrix to verify that the user has sufficient privileges to access the requested resource.
3 The KDC generates a service ticket and sends it to the client.
4 The client sends the ticket to the server or service hosting the resource.
5 The server or service hosting the resource verifies the validity of the ticket with the KDC.
6 Once identity and authorization are verified, Kerberos activity is complete. The server or service host then opens a session with the client and begins communications or data transmission.

However, Kerberos presents a single point of failure—the KDC. If the KDC is compromised, the secret key for every system on the network is also compromised. Also, if a KDC goes offline, no subject authentication can occur.

A
23
Q

4.2.3 RADIUS
Remote Authentication Dial-in User Service (RADIUS) centralizes authentication for remote access connections, such as with VPNs or dial-up access.
It is typically used when an organization has more than one network access server (or remote access server). A user can connect to any network access server, which then passes on the user’s credentials to the RADIUS server to verify authentication and authorization and to track accounting. In this context, the network access server is the RADIUS client, and a RADIUS server acts as an authentication server. The RADIUS server also provides AAA services for multiple remote access servers.
RADIUS uses the User Datagram Protocol (UDP) by default and encrypts only the password’s exchange. It doesn’t encrypt the entire session, but RADIUS can use other protocols to encrypt the data session. The current version is defined in RFC 2865. RFC 6614, designated as Experimental, defines how RADIUS can use Transport Layer Security (TLS) over Transmission Control Protocol (TCP).

A
24
Q

4.2.4 TACACS+
Cisco developed Terminal Access Controller Access Control System Plus (TACACS+) and later released it as an open standard. It provides several improvements over the earlier versions and over RADIUS.

It separates authentication, authorization, and accounting into separate processes, which can be hosted on three different servers if desired. Additionally, TACACS+ encrypts all of the authentication information, not just the password, as RADIUS does. TACACS+ uses TCP port 49, providing a higher level of reliability for the packet transmissions.

A
25
Q
  1. Access Control Attacks
    5.1 Risk Elements
    A risk is the possibility or likelihood that a threat will exploit a vulnerability, resulting in a loss such as harm to an asset. A threat is a potential occurrence that can result in an undesirable outcome.
    A vulnerability is any type of weakness.
    Risk management attempts to reduce or eliminate vulnerabilities or reduce the impact of potential threats by implementing controls or countermeasures.
A
26
Q

5.2 Common Access Control Attacks
Access control starts with identification and authorization, and access control attacks often try to steal user credentials. After attackers have stolen a user’s credentials, they can launch an online impersonation attack by logging in as the user and accessing the user’s resources.
5.2.1 Privilege Escalation
Privilege escalation refers to any situation that gives users more privileges than they should have.
Privilege escalation is often described as horizontal privilege escalation and vertical privilege escalation. Attackers combine the two to compromise as many systems and accounts as they can within a network.
Imagine an attacker gains control of a regular user’s account, such as after a successful phishing attack. Horizontal privilege escalation gives an attacker similar privileges as the first compromised user, but from other accounts.
Vertical privilege escalation provides an attacker with significantly greater privileges. After compromising a regular user’s account, an attacker can use vertical privilege escalation techniques to gain administrator privileges on the user’s computer.
Given enough time, the attacker will often gain domain administrator privileges.

These are frequently called managed service accounts because administrators create them to run services or applications and manage them.

An important consideration with managed service accounts is to ensure they have only the privileges needed by the service or application.

A
27
Q

5.2.1 Minimizing the Use of sudo
If an attacker exploits any single user account that has sudo permissions, the attacker can now do anything with the root account permissions. In contrast, minimizing the use of sudo limits the risks.
Instead, administrators log on with a regular account when doing daily tasks. When they need to run commands as the root account, they use the su command (short for switch user or substitute user). The su command switches to the root account by default and prompts the user to enter the root account password.

A
28
Q

5.2.2 Password Attacks
Organizations rarely store passwords in cleartext. Instead, they use a strong hashing function such as SHA-3 and create a hash of the password.
When a user authenticates, the system hashes the provided password and typically sends the hash to an authentication server in an encrypted format.
Many password attacks succeed when organizations have used weak hashing functions, such as Message Digest 5 (MD5).
It’s also important to change default passwords. IT professionals know this for computers, but this knowledge hasn’t extended consistently to IoT devices and embedded systems.

A
29
Q

5.2.2.1 Dictionary Attack
A dictionary attack is an attempt to discover passwords by using every possible password in a predefined database or list of common or expected passwords.
A one-upped-constructed password is a previously used password, but with one character different. For example, password1 is one-upped from password..

A
30
Q

5.2.2.2 Brute-Force Attack
A brute-force attack is an attempt to discover passwords for user accounts by systematically attempting all possible combinations of letters, numbers, and symbols.
A hybrid attack attempts a dictionary attack and then performs a type of brute-force attack with one-upped-constructed passwords.
Unfortunately, some hashing functions (such as MD5) allow an attacker to create a different password that results in the same hash.
Many attackers are using GPUs in brute-force attacks. In general, GPUs have more processing power than most CPUs in desktop computers. Additionally, it’s relatively easy for a do-it-yourselfer to create a multiple-GPU computer and use it to crack passwords in offline databases.

A
31
Q

5.2.2.3 Spraying Attack
A spraying attack is a special type of brute-force attack.
Usually, a system will lock out an account if the same user enters the wrong password too many times within a short amount of time, such as 30 minutes. In a spraying attack, a program uses the same guessed password but loops through a list of different accounts and different systems. When it finishes the list, it picks another password and loops through the list again.

A
32
Q

5.2.2.4 Credential Stuffing Attack
Password spraying attempts to bypass account lockout policies, whereas credential stuffing only checks a single username and password on each site.
Imagine that Gus has hundreds of accounts on various sites such as eBay, NetFlix, and Disney+. He’s become overwhelmed with tracking all of these credentials, so he uses the same credentials on every site. Later, one of these sites is hacked. Attackers download the credential database and discover all of the usernames and passwords in an offline attack, including Gus’s credentials. They then use an automated tool to try Gus’s credentials on hundreds of sites (or more).

A
33
Q

5.2.2.5 A birthday attack focuses on finding collisions.
Its name comes from a statistical phenomenon known as the birthday paradox.
If a hashing function could only create 366 different hashes, then an attacker with a sample of only 23 hashes has a 50 percent chance of discovering two passwords that create the same hash. Hashing algorithms can create many more than 366 different hashes, but the point is that the birthday attack method doesn’t need all possible hashes to see a match

A
34
Q

5.2.2.6 Rainbow Table Attack
However, a rainbow table reduces this time by using large databases of precomputed hashes. Attackers create rainbow tables by:

Guessing a password
Hashing the guessed password
Putting both the guessed password and the hash of the guessed password into the rainbow table.
A password cracker can then compare every hash in the rainbow table against the hash in a stolen password database file. A traditional password-cracking tool must guess the password and hash it before it can compare the hashes, which takes time. However, when using the rainbow table, the password cracker doesn’t spend any time guessing and calculating hashes. It simply compares the hashes until it finds a match. This can significantly reduce the time it takes to crack a password.

Many different rainbow tables are available for free download, but they are large. For example, an MD5-based rainbow table using all four character types for an eight-character password is about 460 gigabytes in size. Instead of downloading these tables, many attackers create their own using tools such as rtgen (available in Kali Linux) and scripts freely available on the internet.

Many systems commonly salt passwords to reduce the effectiveness of rainbow table attacks. A salt is a group of random bits added to a password before hashing it. Cryptographic methods add the additional bits before hashing it, making it significantly more difficult for an attacker to use rainbow tables against the passwords. Argon2, bcrypt, and Password-Based Key Derivation Function 2 (PBKDF2) are some algorithms used to salt passwords.

A
35
Q

5.2.3 Mimikatz

Several exploitation frameworks, such as Metasploit, include Mimikatz, and it is still maintained and updated on GitHub, a software development platform hosting open source projects.

Here are some capabilities of Mimikatz:

Read Passwords from Memory Plaintext passwords and PINs stored in the Local Security Authority Subsystem Service (LSASS) process can be extracted and read.

Extract Kerberos Tickets Mimikatz includes a Kerberos module that can access the Kerberos API.

Extract Certificates and Private Keys Mimikatz includes a Windows CryptoAPI module. This module can extract certificates on a system as well as the private keys associated with these certificates.
Read LM and NTLM Password Hashes in Memory Although it is possible to prevent Windows systems from storing LM hashes in the local Security Account Manager database, some Windows systems still create the hash and store it in memory.

Read Cleartext Passwords in Local Security Authority Subsystem Service (LSASS) The LSASS doesn’t normally store passwords in cleartext, but malware can modify the registry to enable digest authentication. Once enabled, Mimikatz can read the passwords.

List Running Processes Attackers can use this capability to identify processes that they can use to pivot their attack against other targets.

A
36
Q

5.2.4 Pass-the-Hash Attack
A pass-the-hash (PtH) attack allows an attacker to send a captured hash of a password to an authenticating service.

Penetration testers and attackers use Mimikatz and other tools (such as DCSync) to capture hashes, and then use the hashes to simulate the login process

PtH attacks are primarily associated with Windows systems using NT LAN Manager (NTLM) or Kerberos, but other systems can also be vulnerable.

A popular tool used in step 3 on Microsoft systems is PsExec. PsExec is part of the Sysinternals process utilities (PsTools), a free download offered by Microsoft (at sysinternals.com). PsTools is a suite of command-line utilities used to connect to remote computers. Administrators use it to access the command prompt on remote systems.

There are several steps administrators can take to mitigate PtH attacks.

Microsoft has been providing updates to limit PtH attacks. The best protection is to prevent the infection of the first computer.

If someone is logged on to the first system with administrator privileges, it’s game over.
There are several steps administrators can take to mitigate PtH attacks.

A
37
Q

5.2.5 Kerberos Exploitation Attack

Microsoft’s Active Directory uses Kerberos as the primary authentication protocol. Unfortunately, Kerberos is susceptible to several exploitation attacks using open source tools such as Mimikatz.

Other tools often used in Kerberos exploitation attacks are Rubeus and Impacket.

Kerberos exploitation attacks include the following:

Overpass the Hash This is an alternative to the PtH attack used when NTLM is disabled on a network. Even if NTLM is disabled on a network, systems still create an NTLM hash and store it in memory. An attacker can request a ticket-granting ticket (TGT) with the user’s hash and use this TGT to access network resources. This is sometimes called pass the key.

Pass the Ticket In a pass-the-ticket attack, attackers attempt to harvest tickets held in the lsass.exe process. After harvesting the tickets, attackers inject the ticket to impersonate a user.
Silver Ticket A silver ticket uses the captured NTLM hash of a service account to create a ticket-granting service (TGS) ticket. Service accounts (user accounts used by services) use TGS tickets instead of TGT tickets. The silver ticket grants the attacker all the privileges granted to the service account.
Golden Ticket If an attacker obtains the hash of the Kerberos service account (KRBTGT), they can create tickets at will within Active Directory. This gives them so much power it is referred to as having a golden ticket. The KRBTGT account encrypts and signs all Kerberos tickets within a domain with a hash of its password. Because the password never changes, the hash never changes, so an attacker only needs to learn the hash once. If an attacker gains access to a domain administrator account, they can then log on to a domain controller remotely and run Mimikatz to extract the hash. This allows attackers to create forged Kerberos tickets and request TGS tickets for any service.
Kerberos Brute-Force Attackers can use the Python script kerbrute.py on Linux systems or Rubeus on Windows systems. In addition to guessing passwords, these tools can guess usernames. Kerberos reports whether or not usernames are valid.
ASREPRoast ASREPRoast identifies users that don’t have Kerberos preauthentication enabled. Kerberos preauthentication is a security feature within Kerberos that helps prevent password-guessing attacks. When preauthentication is disabled, attackers can send an authentication request to a KDC. The KDC will reply with a ticket-granting ticket (TGT), encrypted with the client’s password as the key. The attacker can then perform an offline attack to decrypt the ticket and discover the client’s password.
Kerberoasting Kerberoasting collects encrypted ticket-granting service (TGS) tickets. Service accounts (user accounts used by services) use TGS tickets instead of TGT tickets. After harvesting these tickets, attackers can crack them offline.
A TGS ticket is used by services running in the context of a user account. This attack attempts to find users that don’t have Kerberos preauthentication.

A
38
Q

5.2.6 Sniffer Attack
Sniffing captures packets sent over a network with the intent of analyzing the packets. A sniffer (also called a packet analyzer or protocol analyzer) is a software application that captures traffic traveling over the network. Administrators use sniffers to analyze network traffic and troubleshoot problems.

Wireshark is a popular protocol analyzer available as a free download.

The following techniques can prevent successful sniffing attacks:

Encrypt all sensitive data (including passwords) sent over a network.

Avoid the use of insecure protocols such as HTTP, FTP, and Telnet and use secure protocols such as HTTPS, SFTP, and SSH.
Use onetime passwords when encryption is not possible or feasible. Onetime passwords prevent the success of sniffing attacks because they are only used once. Even if an attacker captures a onetime password, the attacker is not able to use it.

Protect network devices with physical security. Controlling physical access to routers and switches prevents attackers from installing sniffers on these devices.
Monitor the network for signatures from sniffers. Intrusion detection systems can monitor the network for sniffers and will raise an alert when they detect a sniffer on the network.

A
39
Q

5.2.7 Spoofing Attacks
Spoofing (also known as masquerading or impersonation) is pretending to be something, or someone, else. There is a wide variety of spoofing attacks. As an example, an attacker can use someone else’s credentials to enter a building or access an IT system. Some applications spoof legitimate login screens. One attack brought up a login screen that looked exactly like the operating system logon screen. When the user entered credentials, the fake application captured the user’s credentials, and the attacker used them later. Some phishing attacks (described later in this section) mimic this with bogus websites.

In an IP spoofing attack, attackers replace a valid source IP address with a false one to hide their identity or impersonate a trusted system.

Other types of spoofing used in access control attacks include email spoofing and phone number spoofing:

Email Spoofing Spammers spoof the email address in the From field to make an email appear to come from another source. Phishing attacks often do this to trick users into thinking the email is coming from a trusted source. The Reply To field can be a different email address, and email programs typically don’t display this until a user replies to the email. By this time, they often ignore it or don’t notice it.
Phone Number Spoofing Caller ID services allow users to identify the phone number of any caller. Phone number spoofing allows a caller to replace this number with another one, which is a common technique on Voice over Internet Protocol (VoIP) systems. One technique attackers have been using recently is to replace the actual calling number with a phone number that includes the same area code as the called number. This makes it look like it’s a local call.

Phone Number Spoofing Caller ID services allow users to identify the phone number of any caller. Phone number spoofing allows a caller to replace this number with another one, which is a common technique on Voice over Internet Protocol (VoIP) systems. One technique attackers have been using recently is to replace the actual calling number with a phone number that includes the same area code as the called number. This makes it look like it’s a local call.

A
40
Q

5.3 Core Protection Methods

Control physical access to systems. An old saying related to security is that if an attacker has unrestricted physical access to a computer, the attacker owns it. If attackers can gain physical access to an authentication server, they can steal the password file in a very short time. Once attackers have the password file, they can crack the passwords offline. If attackers successfully download a password file, all passwords should be considered compromised.
Control electronic access to files. Tightly control and monitor electronic access to all important data, including files and customer databases containing passwords. End users and those who are not account administrators have no need to access a password database file for daily work tasks. Security professionals should investigate any unauthorized access to password database files immediately.
Hash and salt passwords. Use protocols such as Argon2, bcrypt and PBKDF2 to salt passwords and consider using an external pepper to further protect passwords. Combined with the use of strong passwords, salted and peppered passwords are extremely difficult to crack using rainbow tables or other methods.
Use password masking. Ensure that applications don’t display passwords in cleartext by default. Instead, mask the display of the password by displaying an alternate character such as an asterisk (*). This reduces shoulder surfing attempts, but users should be aware that an attacker might be able to learn the password by watching the user type the keys on the keyboard. When a system requires users to enter excessively long passwords, developers should consider an option to show the passwords in cleartext.
Deploy multifactor authentication. Deploy multifactor authentication, such as using biometrics or token devices. When an organization uses multifactor authentication, attackers are not able to access a network if they discover just a password. Many online services, such as Google, now offer multifactor authentication as an additional measure of protection.
Use account lockout controls. Account lockout controls help prevent online password attacks. They lock an account after the incorrect password is entered a predefined number of times. Account lockout controls typically use clipping levels that ignore some user errors but take action after reaching a threshold. For example, it’s common to allow a user to enter the incorrect password as many as five times before locking the account. For systems and services that don’t support account lockout controls, such as most File Transfer Protocol (FTP) servers, extensive logging along with an intrusion detection system (IDS) can protect the server.
none
Account lockout controls help prevent an attacker from guessing a password in an online account. However, this does not prevent an attacker from using a password-cracking tool against a stolen database file containing hashed passwords.

Use last logon notification. Many systems display a message including the time, date, and location (such as the computer name or IP address) of the last successful logon. If users pay attention to this message, they might notice if someone else logged on to their account. For example, if a user logged on to an account last Friday but the last logon notification indicates someone accessed the account on Saturday, it indicates a problem. Users who suspect someone else is logging on to their accounts can change their passwords or report the issue to a system administrator. If it occurs with an organizational account, users should report it following the organization’s security incident reporting procedures.
Educate users about security. Properly trained users have a better understanding of security and the benefit of using stronger passwords. Inform users that they should never share or write down their passwords. Administrators might write down long, complex passwords for the most sensitive accounts, such as administrator or root accounts, and store these passwords in a vault or safety deposit box. Offer tips to users on how to create strong passwords, such as with password phrases, and how to prevent shoulder surfing. Also, let users know the dangers of using the same password for all online accounts, such as banking accounts and gaming accounts. When users use the same passwords for all these accounts, a successful attack on a gaming system can give attackers access to a user’s bank accounts. Users should also know about common social engineering tactics.

A