DoD STIGs – V-32526

STIGs Image


Title: The DBMS must recognize only system-generated session identifiers.

Vulnerability ID: V-32526

STIG ID: SRG-APP-000223-DB-000168

IA Controls: None

Severity: High

Description: This requirement focuses on communications protection at the application session, versus network packet level. The intent of this control is to establish grounds for confidence at each end of a communications session in the ongoing identity of the other party and in the validity of the information being transmitted. Unique session IDs are the opposite of sequentially generated session IDs which can be easily guessed by an attacker. Unique session identifiers help to reduce predictability of said identifiers. Unique session IDs address man-in-the-middle attacks including session hijacking or insertion of false information into a session. If the attacker is unable to identify or guess the session information related to pending application traffic, they will have more difficulty in hijacking the session or otherwise manipulating valid sessions. The DBMS must only recognize only system generated session identifiers. If an attacker was able to generate a session with a non-system generated session identifier and have it be recognized by the system, the attacker could potentially gain access to the system without passing through access controls designed to limit database sessions to authorized users.

Check Text: Review DBMS settings and vendor documentation to determine whether the DBMS will recognize session identifiers that are not system generated. If the DBMS will recognize session identifiers that are not system generated, this is a finding.

Fix Text: Utilize a DBMS product that will only recognize session identifiers that are system generated.

Interpreting V-32526:

SQL Server is a DBMS product that only recognizes session identifiers that are system generated.

In SQl Server sessions ids can be identified through the DMV sys.dm_exec_sessions. This DMV returns one row per authenticated session on SQL Server. The DMV is a server-scope view that shows information about all active user connections as well as internal tasks. In general any session ID that is less than 50 is considered a system sessions, but a more reliable check is the value of is_user_process in the DMV. This will identify any outlying system sessions that may have a value greater than 50.

You can use the following query to filter the SQL Server DMV to show just the active server sessions. There is a lot of detailed information returned for each sessions, including the host name, client net address, login name and the program name being executed.

Return to the DoD STIGs – Database Security Requirements Guide





Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.