3GPP TS 33.117

Catalogue of general security assurance requirements
V18.3.0 (2024-03) — Release 18

1. Scope

▶

The present document contains objectives and requirements for security assurance of network products, together with the associated test cases required for the security evaluation and catalogues the general security assurance requirements that are common across all network product classes.

This catalogue complements the product-class-specific catalogues of security requirements and test cases.

Applicability: This specification applies to all 3GPP network product classes that undergo SECAM (Security Assurance Methodology) evaluation, including 5G Core NFs utilizing Service-Based Architecture (SBA).

2. References

▶

The following documents contain provisions which, through reference in this text, constitute provisions of the present document.

RefDocumentTitleLink
[1]3GPP TR 21.905Vocabulary for 3GPP Specifications 3GPP Portal
[2]3GPP TS 33.210Network Domain Security (NDS); IP network layer security 3GPP Portal
[3]IETF RFC 3871Operational Security Requirements for Large Internet Service Provider (ISP) IP Network Infrastructure RFC 3871
[4]3GPP TR 33.926Security Assurance Specification (SCAS) threats and critical assets in 3GPP network product classes 3GPP Portal
[5]3GPP TS 33.310Network Domain Security (NDS); Authentication Framework (AF) 3GPP Portal
[6]IETF RFC 7540Hypertext Transfer Protocol Version 2 (HTTP/2) RFC 7540
[7]IETF RFC 6749The OAuth 2.0 Authorization Framework RFC 6749
[8]IETF RFC 7515JSON Web Signature (JWS) RFC 7515
[9]IETF RFC 7519JSON Web Token (JWT) RFC 7519
[10]3GPP TS 33.501Security architecture and procedures for 5G System 3GPP Portal
[11]IETF RFC 7126Recommendations on Filtering of IPv4 Packets Containing IPv4 Options RFC 7126
[12]3GPP TS 29.5005G System; Technical Realization of Service Based Architecture 3GPP Portal
[13]3GPP TS 29.5015G System; Principles and Guidelines for Services Definition 3GPP Portal
[14]3GPP TR 33.916Security Assurance Methodology (SECAM) for 3GPP network products; Overview; Processes 3GPP Portal
[18]3GPP TS 23.501System architecture for the 5G System (5GS) 3GPP Portal

3. Definitions & Abbreviations

▶

3.1 Definitions

▶
  • Network Product: An implementation of one or more 3GPP network functions and/or protocols, consisting of hardware and/or software, including relevant O&M functions.
  • Network Product Class: A logical grouping of related network products that share similar security characteristics.
  • Security Assurance Specification (SCAS): A document specifying the security requirements and test cases for a network product class.
  • Critical Assets: Resources that require protection. These assets include information and processes necessary to deliver the required service.
  • Test Name: A unique identifier for a test case used as an anchor for test execution and documentation.
  • Accredited Evaluator: A lab or entity that has been accredited to perform SCAS evaluations on network products.

3.2 Abbreviations

▶
BVTBasic Vulnerability Testing
CGICommon Gateway Interface
COTSCommercial Off-The-Shelf
FOSSFree and Open Source Software
GTPGPRS Tunnelling Protocol
GTP-CGTP Control Plane
GTP-UGTP User Plane
ICMPInternet Control Message Protocol
IEInformation Element
JSONJavaScript Object Notation
JWTJSON Web Token
JWSJSON Web Signature
NDSNetwork Domain Security
NFNetwork Function
NRFNetwork Repository Function
O&MOperation and Maintenance
PLMNPublic Land Mobile Network
RBACRole Based Access Control
RPFReverse Path Filter
SBAService Based Architecture
SBIService Based Interface
SCASSecurity Assurance Specification
SECAMSecurity Assurance Methodology
SSIServer Side Includes
TLSTransport Layer Security
WASWeb Application Security
5GC5G Core
5GS5G System

4. Catalogue of Security Requirements and Test Cases

▶

4.1 Introduction

▶

This clause catalogues the security requirements and related test cases that are common across all network product classes. For product-class-specific requirements, see the companion specifications (e.g., TS 33.512 for gNB, TS 33.513 for UPF/GW, etc.).

4.1.1 Pre-requisites for Testing

▶
  • The network product is available in a configuration that is representative of a real deployment
  • The tester has remote and/or local access to the network product as described in vendor documentation
  • The test environment is isolated from any production networks
  • All required documentation has been provided by the vendor

4.1.2 Use of Tools

▶

Where test cases refer to the use of tools, the individual tools are selected by the evaluator. The SECAM accreditation body will ensure during accreditation of the evaluator's laboratory that the testers are able to utilize adequate tools.

Note: Both FOSS (Free and Open Source Software) and COTS (Commercial Off-The-Shelf) tools may be used. Tool name and version must be documented in test reports.

4.1.3 Documentation

▶

The vendor shall provide documentation describing the network product, its interfaces, configuration options, and security features. This documentation forms a prerequisite for many test cases in this catalogue.

4.2 Security Functional Requirements

▶

Security functional requirements address authentication, authorization, confidentiality, integrity, availability, and related security properties of the network product.

4.2.2 Security Requirements Derived from 3GPP Specifications

▶

This clause contains security requirements and test cases derived from 3GPP service-based architecture specifications, including TS 33.501, TS 29.500, and TS 29.501.

TC_TLS_PROTECTION
4.2.2.2.2 TS 33.501, TS 33.210, TS 33.310
Requirement

Name: Protection at the transport layer

Description: Network products using SBI shall support TLS-based protection as specified in TS 33.501 clause 13.1, including mutual authentication using certificates as per TS 33.310. The NF shall support HTTP/2 (RFC 7540) over TLS.

Threat Reference

TR 33.926 §5.3.6 Information disclosure ▶

Pre-Conditions
  • The NF is configured for TLS-based protection on the SBI
  • Valid certificates are installed on the NF as per TS 33.310
  • A tester machine with TLS analysis capabilities is available
  • A network traffic analyser (e.g. TCPDUMP, Wireshark) is available
Execution Steps
  1. Verify that the NF supports TLS on its SBI interfaces
  2. Verify mutual authentication using certificates per TS 33.310
  3. Check that the NF supports HTTP/2 over TLS as per RFC 7540
  4. Check the supported TLS versions and cipher suites match TS 33.210/TS 33.310 requirements
  5. Attempt to connect without TLS and verify the connection is rejected
  6. Attempt to connect with an invalid/expired certificate and verify rejection
Expected Results

The NF enforces TLS protection on all SBI interfaces with mutual authentication. Connections without TLS or with invalid certificates are rejected.

Evidence Format

Pcap traces, TLS handshake logs, certificate details, test tool output, Pass/Fail result.

RFC 7540 — HTTP/2: Requires TLS 1.2+ with specific cipher suite restrictions. Connection preface must be sent by both endpoints. Server must support ALPN extension for protocol negotiation.
TC_AUTHORIZATION_TOKEN_VERIFICATION_FAILURE_ONE_PLMN
4.2.2.2.3
Requirement

Name: Authorization token verification failure handling within same PLMN

Reference: TS 33.501 clause 13.4.1, RFC 6749 (OAuth 2.0), RFC 7515 (JWS), RFC 7519 (JWT)

Description: The NF service producer shall verify the access token in each service request within the same PLMN and reject the request if the token verification fails.

Threat Reference

TR 33.926 §5.3.8.1 Misuse by authorized users ▶

Pre-Conditions
  • NRF issues access tokens for NF service consumers within the same PLMN
  • NF service producer is configured to verify access tokens
  • Test environment with NF producer, NF consumer, and NRF (may be simulated)
Execution Steps (8 Sub-Tests)
  1. No token: Send a service request without an access token → verify rejection
  2. Expired token: Send request with an expired access token → verify rejection
  3. Invalid signature: Send request with a token signed by wrong key → verify rejection
  4. Wrong audience: Send request with an access token having incorrect audience claim → verify rejection
  5. Wrong scope: Send request with an access token for a different service/resource → verify rejection
  6. Malformed token: Send request with a syntactically malformed access token → verify rejection
  7. Wrong issuer: Send request with an access token from a non-trusted NRF → verify rejection
  8. Valid token: Send request with a valid, correctly scoped access token → verify acceptance
Expected Results

Sub-tests 1–7: The NF service producer rejects the service request with an appropriate error response.
Sub-test 8: The NF service producer accepts and processes the request normally.

Evidence Format

HTTP request/response logs, token payloads (decoded JWTs), pcap traces, Pass/Fail per sub-test.

RFC 6749 — OAuth 2.0: Defines the authorization framework. Access tokens represent specific scopes and durations of access. Bearer tokens must be protected in transit with TLS.
RFC 7519 — JWT: Claims include "iss" (issuer), "sub" (subject), "aud" (audience), "exp" (expiration). Must be validated per Section 7.2.
RFC 7515 — JWS: Signature verification using the algorithm specified in the JOSE Header. The key must come from a trusted source (NRF).
TC_AUTHORIZATION_TOKEN_VERIFICATION_FAILURE_DIFF_PLMN
4.2.2.2.3
Requirement

Name: Authorization token verification failure handling across different PLMNs

Description: When receiving service requests from NFs in a different PLMN, the NF service producer shall verify the PLMN ID in the access token and reject requests with mismatched or invalid PLMN identifiers.

Execution Steps (2 Sub-Tests)
  1. Wrong PLMN ID: Send request with an access token containing a PLMN ID that does not match the consumer's PLMN → verify rejection
  2. Valid cross-PLMN: Send request with a valid access token containing correct PLMN ID → verify acceptance
Expected Results

Sub-test 1: Rejection with appropriate error. Sub-test 2: Normal processing.

TC_CLIENT_CREDENTIALS_ASSERTION_VALIDATION
4.2.2.2.4
Requirement

Name: Client credentials assertion validation

Reference: TS 33.501 clause 13.3.1, RFC 7523

Description: The NRF shall validate the client credentials assertion (CCA) presented by an NF service consumer when requesting an access token. The CCA is a JWT signed by the NF.

Execution Steps (3 Sub-Tests)
  1. Invalid CCA signature: Request access token with a CCA signed by wrong key → NRF rejects
  2. Expired CCA: Request access token with an expired CCA → NRF rejects
  3. Valid CCA: Request access token with valid, correctly-signed CCA → NRF issues token
Expected Results

Sub-tests 1–2: NRF rejects the token request. Sub-test 3: NRF issues an access token.

Evidence Format

HTTP request/response logs, CCA JWT payloads, NRF logs, Pass/Fail per sub-test.

4.2.3 Technical Baseline Security Requirements

▶

This clause contains security requirements based on industry best practices covering data protection, authentication, authorization, session management, and security logging.

TC_CONFIDENTIAL_SYSTEM_INTERNAL_DATA
4.2.3.2.1
Requirement

Name: Protecting data and information — confidential system-internal data

Description: Confidential system-internal data (e.g. passwords, secret keys, private keys) shall be stored in a secure manner and shall not be accessible in clear text to unauthorized users or processes.

Threat Reference

TR 33.926 §5.3.6 Information disclosure

Execution Steps
  1. The tester identifies all confidential data items as declared in the vendor documentation
  2. The tester verifies that confidential data is stored in encrypted or otherwise protected form
  3. The tester verifies that unauthorized users/processes cannot access confidential data in clear text
  4. The tester checks configuration files, log files, and debug outputs for unprotected confidential data
Expected Results

No confidential system-internal data is accessible in clear text to unauthorized users or processes.

TC_PSW_STOR_SUPPORT
4.2.3.2.2
Requirement

Name: Password storage support

Description: Passwords shall be stored using a one-way hashing mechanism with a salt. The hashing algorithm shall be a current, non-deprecated algorithm (e.g., bcrypt, scrypt, Argon2, PBKDF2).

Execution Steps
  1. The tester verifies in the vendor documentation which password hashing algorithm and parameters are used
  2. The tester verifies that passwords are stored as salted hashes (not reversible encryption or plain text)
  3. The tester verifies the hashing algorithm is not deprecated (not MD5, not SHA-1 for password storage)
Expected Results

All passwords are stored using approved one-way salted hashing. No passwords in plain text or reversible form.

TC_PROTECT_DATA_INFO_TRANSFER_1
4.2.3.2.4
Requirement

Name: Protecting data and information in transfer

Description: Sensitive data transferred between the network product and external entities shall be protected in transit using approved cryptographic mechanisms (e.g. TLS, IPsec as per TS 33.210).

Execution Steps
  1. Identify all data transfer interfaces from vendor documentation
  2. Verify that all interfaces transferring sensitive data use cryptographic protection
  3. Verify the TLS/IPsec configuration conforms to TS 33.210/TS 33.310 requirements
  4. Attempt to intercept data in transit and confirm it is encrypted
Expected Results

All sensitive data in transit is protected by approved cryptographic mechanisms.

TC_PASSWORD_STRUCT
4.2.3.4.3.1
Requirement

Name: Password structure

Description: The system shall support enforcement of password complexity rules including: minimum length (≥8 characters), support for upper/lower case, digits, and special characters. Default/initial passwords shall be changed on first login.

Execution Steps
  1. Attempt to set passwords that violate length requirements → verify rejection
  2. Attempt to set passwords without required complexity → verify rejection or warning
  3. Verify that default/initial passwords must be changed on first login
  4. Verify password complexity configuration options match vendor documentation
Expected Results

Password complexity rules are enforced. Weak passwords are rejected. First-login password change is required.

TC_PASSWORD_CHANGES
4.2.3.4.3.2
Requirement

Name: Password changes

Description: Users shall be able to change their own passwords. The system shall support password expiry/aging policies. Password history shall prevent reuse of recent passwords.

Execution Steps
  1. Verify a user can change their own password
  2. Verify password aging/expiry is configurable and enforced
  3. Attempt to reuse a recent password → verify rejection
Expected Results

Password change works. Password aging is enforced. Password history prevents reuse.

TC_PROTECT_AGAINST_BRUTE_FORCE_AND_DICTIONARY_ATTACKS
4.2.3.4.3.3
Requirement

Name: Protection against brute force and dictionary attacks

Description: The system shall implement mechanisms to mitigate brute force and dictionary attacks against authentication mechanisms, such as account lockout or increasing delay after consecutive failed attempts.

Execution Steps
  1. Configure the brute force protection mechanism per vendor documentation
  2. Attempt multiple consecutive failed login attempts
  3. Verify that the protection mechanism activates (lockout, delay, CAPTCHA, etc.)
  4. Verify the mechanism is configurable (threshold, lockout duration, etc.)
Expected Results

After reaching the threshold, further login attempts are blocked or delayed. The mechanism is configurable.

TC_HIDING_PASSWORD_DISPLAY
4.2.3.4.3.4
Requirement

Description: The system shall mask password input on all interfaces (CLI, GUI, web). Passwords shall not be displayed in clear text in any user interface, log file, or configuration display.

Execution Steps
  1. Enter a password via CLI → verify characters are masked (asterisks or not echoed)
  2. Enter a password via web/GUI → verify password field is masked
  3. Check logs and configuration displays for password exposure
Expected Results

Passwords are never displayed in clear text on any interface, log, or configuration output.

TC_MUTUAL_AUTHENTICATION
4.2.3.4.1
Requirement

Name: Mutual authentication

Description: System functions shall not be used without successful authentication and authorization. The system shall support mutual authentication where both the user/entity and the system verify each other's identity.

Execution Steps
  1. Attempt to access system functions without authentication → verify denial
  2. Verify that mutual authentication is supported and can be configured
  3. Authenticate successfully and verify access is granted
TC_FAILED_LOGIN_ATTEMPTS
4.2.3.4.2
Requirement

Name: Consecutive failed login attempts policy

Description: The network product shall implement a policy for handling consecutive failed login attempts. After a configurable number of failed attempts, the account shall be locked for a configurable period or require administrative intervention to unlock.

Execution Steps
  1. Configure the failed login attempt threshold (e.g., 5 attempts)
  2. Attempt to login with incorrect credentials exceeding the threshold
  3. Verify the account is locked after threshold is exceeded
  4. Verify the account is unlocked after the configured lockout period or by admin action
TC_PROTECTING_SESSION_LOGOUT
4.2.3.5.1
Requirement

Name: Protecting sessions — logout

Description: The system shall provide a logout function that terminates the session and invalidates all associated session tokens/credentials. After logout, the user must re-authenticate to access system functions.

Execution Steps
  1. Login to the system and verify session is established
  2. Execute the logout function
  3. Attempt to reuse the previous session token/credential → verify denial
  4. Verify that re-authentication is required for further access
TC_PROTECTING_SESSION_INAC_TIMEOUT
4.2.3.5.2
Requirement

Name: Protecting sessions — inactivity timeout

Description: The system shall terminate sessions after a configurable period of inactivity. The user must re-authenticate after session timeout.

Execution Steps
  1. Configure the inactivity timeout period
  2. Login and remain inactive for longer than the configured timeout
  3. Attempt to use the session → verify it has been terminated
  4. Verify re-authentication is required
TC_SECURITY_EVENT_LOGGING
4.2.3.6.1
Requirement

Name: Security event logging

Description: The network product shall log security-relevant events. Each log entry shall include at minimum: event type, timestamp, outcome (success/failure), identity of the entity involved, and the source of the event.

Events to Log
Event CategoryExamples
AuthenticationSuccessful/failed login, logout
AuthorizationAccess granted/denied, privilege changes
Account ManagementAccount creation, deletion, modification, lockout
Configuration ChangesSecurity-relevant configuration modifications
System EventsStartup, shutdown, restart, time changes
Data AccessAccess to sensitive data, export of data
Network EventsFirewall events, packet filtering events
Execution Steps
  1. Trigger each category of security event listed above
  2. Verify each event is recorded in the security log
  3. Verify log entries contain required fields (timestamp, event type, outcome, identity, source)
  4. Verify logs cannot be modified or deleted by non-administrative users
TC_LOG_TRANS_TO_CENTR_STORAGE
4.2.3.6.2
Requirement

Name: Log transfer to centralized storage

Description: The network product shall support the transfer of security logs to a centralized log storage (e.g., syslog server, SIEM). The transfer shall be done in a secure manner (encrypted and/or integrity protected).

Execution Steps
  1. Configure the network product to send logs to a centralized storage
  2. Generate security events and verify they appear in the centralized storage
  3. Verify the log transfer is protected (TLS, IPsec, etc.)
  4. Verify log integrity is maintained during transfer

4.2.4 Operating Systems

▶
TC_HANDLING_OF_GROWING_CONTENT
4.2.4.1.1
Requirement

Name: Growing content shall not influence system functions

Description: Growing content (such as log files, temporary files, or databases) shall not fill up the file system to the point where the system becomes inoperative. The OS shall have mechanisms (partitioning, quotas, log rotation) to prevent this.

Execution Steps
  1. Review the vendor documentation for mechanisms to handle growing content
  2. Verify that log files and temp directories are on separate partitions or have quotas
  3. Simulate excessive log generation and verify the system remains functional
  4. Verify that log rotation or equivalent cleanup mechanisms are in place
Expected Results

The system remains operational even when growing content reaches its limits. Mechanisms exist to prevent storage exhaustion.

TC_HANDLING_OF_ICMP
4.2.4.1.2
Requirement

Name: Processing of ICMPv4 and ICMPv6 packets

Description: The system shall be configurable to control which ICMP message types are processed. Unnecessary ICMP types should be disabled by default to reduce the attack surface.

ICMPv4 Types
TypeNameDefault
0Echo ReplyAllow
3Destination UnreachableAllow
8Echo RequestConfigurable
11Time ExceededAllow
5RedirectDrop
13/14Timestamp/ReplyDrop
17/18Address Mask Request/ReplyDrop
ICMPv6 Types
TypeNameDefault
1Destination UnreachableAllow
2Packet Too BigAllow
3Time ExceededAllow
128/129Echo Request/ReplyConfigurable
133-136NDP (RS/RA/NS/NA)Allow
137RedirectDrop
Execution Steps
  1. Review vendor documentation for ICMP handling configuration
  2. Send each ICMP type to the network product and verify handling matches the documented policy
  3. Verify that ICMP types marked "Drop" are silently dropped
  4. Verify that ICMP redirect messages are not processed by default
TC_HANDLING-IP-OPTIONS-AND-EXTENSIONS
4.2.4.1.3
Requirement

Name: Handling of IP options and IPv6 extension headers

Reference: RFC 7126 — Recommendations on Filtering of IPv4 Packets Containing IPv4 Options

Description: The network product shall handle IPv4 options and IPv6 extension headers according to RFC 7126 recommendations. IP packets with potentially dangerous options (e.g., Source Route, Record Route) shall be dropped by default.

Execution Steps
  1. Send packets with IPv4 Loose Source Route option → verify they are dropped
  2. Send packets with IPv4 Strict Source Route option → verify dropped
  3. Send packets with IPv4 Record Route option → verify dropped
  4. Send packets with IPv4 Timestamp option → verify dropped
  5. Send packets with normal headers → verify accepted
  6. For IPv6: send packets with Routing Header Type 0 → verify dropped
RFC 7126 Summary: Recommends filtering IPv4 packets with options that can be used for reconnaissance or traffic redirection. Source-based routing options are particularly dangerous and should be dropped. Implementation should log filtered packets for audit.
TC_OS_PRIVILEGE
4.2.4.2.1
Requirement

Name: Privilege escalation prevention (UNIX-specific)

Description: The system shall minimize privilege escalation risks. SUID/SGID binaries shall be limited to those essential for operation. Linux capabilities shall be minimized.

Execution Steps
  1. List all SUID binaries: find / -perm -4000 -type f
  2. List all SGID binaries: find / -perm -2000 -type f
  3. List all binaries with capabilities: getcap -r /
  4. Verify each found binary against the vendor's documented list of required SUID/SGID/capabilities
  5. Any undocumented SUID/SGID binary or capability shall be flagged
TC_UNIQUE_SYSTEM_ACCOUNT_IDENTIFICATION
4.2.4.2.2
Requirement

Name: Unique system account identification

Description: Each system account shall have a unique user ID. No two accounts shall share the same UID. Service accounts shall not have interactive login capability unless explicitly required.

Execution Steps
  1. Check /etc/passwd for duplicate UIDs
  2. Verify service accounts have /sbin/nologin or /bin/false as shell
  3. Verify vendor documentation covers all system accounts and their purposes

4.2.5 Web Servers

▶
Note: Web server security requirements include mandatory HTTPS, web server logging, HTTP session management (12 distinct requirements), and input validation. See also the hardening section 4.3.4 for additional web server requirements.
TC_WEBSERVER_LOGGING
4.2.5.2
Requirement

Name: Web server logging

Description: Web server access logs and error logs shall be enabled and shall capture sufficient information for security monitoring and incident investigation.

Execution Steps
  1. Verify that access logging is enabled on the web server
  2. Verify that error logging is enabled
  3. Generate requests (valid and invalid) and verify they appear in logs
  4. Verify logs include: timestamp, source IP, request method, URI, response code, user agent
  5. Verify logs do not contain sensitive data (passwords, tokens, etc.)
HTTP Session Management Requirements (12 Items)
4.2.5.3
Session Security Requirements
  1. Session IDs shall be cryptographically random and of sufficient length
  2. Session IDs shall not be transmitted in URLs
  3. Session cookies shall have the Secure flag set
  4. Session cookies shall have the HttpOnly flag set
  5. Session IDs shall be regenerated after authentication
  6. Session timeout shall be enforced (both idle and absolute)
  7. Logout shall invalidate the session on the server side
  8. The server shall support only one active session per user (configurable)
  9. Session fixation attacks shall be prevented
  10. Cross-site request forgery (CSRF) protection shall be implemented
  11. Session data shall be stored server-side, not in cookies
  12. The SameSite cookie attribute shall be set appropriately
Input Validation Requirements
4.2.5.4
Requirement

Name: Input validation

Description: All user input accepted by the web application shall be validated. Input validation shall protect against injection attacks including SQL injection, command injection, XSS, LDAP injection, and path traversal.

Execution Steps
  1. Test all input fields with common injection payloads (SQL, XSS, command injection)
  2. Test for path traversal attempts (e.g., ../../etc/passwd)
  3. Verify that error messages do not reveal internal implementation details
  4. Use a web application security testing tool for comprehensive injection testing

4.2.6 Network Devices

▶

Security requirements specific to network devices including packet filtering, interface robustness, and GTP protocol filtering.

TC_PACKET_FILTERING
4.2.6.2.1 RFC 3871
Requirement

Name: Packet filtering

Reference: RFC 3871 — Operational Security Requirements for Large ISP IP Network Infrastructure

Description: The network product shall support configurable packet filtering (stateful firewall / ACL) on each network interface. The filtering shall support rules based on source/destination IP, protocol, source/destination port, and direction (ingress/egress). A default deny policy shall be configurable.

Threat Reference

TR 33.926 §5.3.7.3 Insecure Network Services

Pre-Conditions
  • The network product has at least two network interfaces
  • The tester has administrative access
  • A network traffic generator and analyser (e.g., hping3, scapy, tcpdump) is available
  • Vendor documentation describes the packet filtering capabilities
Execution Steps
  1. Configure a default-deny policy on all interfaces
  2. Add specific allow rules for required traffic
  3. Send packets matching allowed rules → verify they are forwarded/accepted
  4. Send packets not matching any allow rule → verify they are dropped
  5. Verify filtering works for both ingress and egress directions
  6. Verify rules can be configured per-interface
  7. Verify filtering criteria: source IP, destination IP, protocol, source port, destination port
Expected Results

Packet filtering is functional, configurable per-interface, supports default deny, and correctly allows/drops packets based on configured rules.

Evidence Format

Firewall/ACL configuration, pcap captures, traffic generator commands, Pass/Fail result.

RFC 3871 Summary: Defines operational security requirements for ISP infrastructure. Requires ingress/egress filtering, anti-spoofing (BCP 38/84), control plane protection, and logging of filtered packets. Core principle: explicit authorization model — only traffic that is explicitly permitted should be forwarded.
TC_INTERFACE_ROBUSTNESS
4.2.6.2.2
Requirement

Name: Interface robustness

Description: The network product shall be robust against malformed, oversized, fragmented, or otherwise unexpected packets received on any interface. Such packets shall not cause crashes, resource exhaustion, or security breaches.

Execution Steps
  1. Send malformed packets (truncated headers, invalid fields) to each interface
  2. Send oversized packets exceeding MTU
  3. Send heavily fragmented packets
  4. Send packets with invalid checksums
  5. Monitor the network product for crashes, memory leaks, or degraded performance
Expected Results

The network product remains stable and functional. Malformed packets are silently dropped or logged without causing system instability.

★ TC_GTP-C_FILTERING
4.2.6.2.3 GTP Control Plane
Requirement

Name: GTP-C filtering

Reference: In accordance with industry best practice and TS 33.501

Description: For network products that receive GTP-C (GTP Control Plane) traffic, the network product shall be capable of filtering GTP-C messages. The filtering shall support inspection of GTP-C header fields and permit/deny decisions based on GTP-C message type, TEID, and other relevant fields.

Threat Reference

TR 33.926 §5.3.7.3 Insecure Network Services ▶

TR 33.926 §5.3.6.15 Lack of GNP traffic isolation ▶

Pre-Conditions
  • The network product receives GTP-C traffic (e.g., it implements S11, S5/S8, N11 GTP-C interfaces)
  • The network product is configured to filter GTP-C messages per vendor documentation
  • A GTP-C traffic generator/simulator is available (e.g., capable of generating GTPv2-C messages)
  • A network traffic analyser (e.g., tcpdump, Wireshark with GTP dissector) is available
  • The tester has administrative access to the network product
  • Vendor documentation describes the GTP-C filtering capabilities, supported message types, and configuration
Execution Steps (10-Step Procedure)
  1. Verify documentation: Confirm vendor documentation describes GTP-C filtering capabilities and configuration
  2. Configure filtering: Configure GTP-C filtering rules on the network product per vendor documentation
  3. Valid GTP-C messages: Send valid GTP-C messages matching allowed message types → verify they are accepted and processed
  4. Blocked message types: Send GTP-C messages with message types that are not allowed → verify they are dropped/rejected
  5. Invalid TEID: Send GTP-C messages with invalid or unknown TEIDs → verify appropriate handling (drop or error response)
  6. Malformed GTP-C: Send malformed GTP-C messages (truncated, invalid header fields, wrong version) → verify they are dropped without crashing
  7. GTP-C on wrong port: Send GTP-C messages on non-standard ports → verify they are dropped
  8. Spoofed source: Send GTP-C messages from non-authorized source IP addresses → verify they are dropped
  9. Rate limiting: If GTP-C rate limiting is supported, verify that excessive GTP-C message rates are throttled
  10. Logging: Verify that filtered/dropped GTP-C messages are logged with sufficient detail for forensic analysis
Expected Results
  • Only valid, authorized GTP-C messages are processed
  • Unauthorized, malformed, or unexpected GTP-C messages are dropped
  • The network product remains stable when receiving malformed GTP-C traffic
  • Filtering events are properly logged
Evidence Format

GTP-C filter configuration, pcap traces showing accepted and dropped GTP-C messages, log files showing filter events, traffic generator configuration/commands, Pass/Fail per step.

Key GTP-C Ports: GTPv2-C uses UDP port 2123. GTPv1-C uses UDP port 2123. Filtering should verify that GTP-C is only accepted on expected ports and interfaces.
★ TC_GTP-U_FILTERING
4.2.6.2.4 GTP User Plane
Requirement

Name: GTP-U filtering

Reference: In accordance with industry best practice and TS 33.501

Description: For network products that receive GTP-U (GTP User Plane) traffic, the network product shall be capable of filtering GTP-U packets. The filtering shall support inspection of GTP-U header fields and permit/deny decisions based on TEID, source/destination addresses in the inner packet, and other relevant criteria.

Threat Reference

TR 33.926 §5.3.7.3 Insecure Network Services ▶

TR 33.926 §5.3.6.15 Lack of GNP traffic isolation ▶

Pre-Conditions
  • The network product receives GTP-U traffic (e.g., it implements S1-U, S5/S8-U, N3, N9 GTP-U interfaces)
  • The network product is configured to filter GTP-U traffic per vendor documentation
  • A GTP-U traffic generator is available (e.g., capable of encapsulating user-plane data in GTP-U)
  • A network traffic analyser with GTP-U dissector capability is available
  • The tester has administrative access
  • Vendor documentation describes GTP-U filtering capabilities and configuration
Execution Steps (10-Step Procedure)
  1. Verify documentation: Confirm vendor documentation describes GTP-U filtering capabilities and configuration
  2. Configure filtering: Configure GTP-U filtering rules on the network product per vendor documentation
  3. Valid GTP-U traffic: Send valid GTP-U encapsulated traffic with authorized TEIDs → verify accepted and forwarded
  4. Invalid TEID: Send GTP-U packets with invalid or unassigned TEIDs → verify they are dropped
  5. Inner packet filtering: Send GTP-U packets with inner IP packets that violate filtering rules (e.g., unauthorized destination) → verify dropped
  6. Malformed GTP-U: Send malformed GTP-U packets (truncated, invalid version, wrong header flags) → verify dropped without crashing
  7. GTP-U on wrong port: Send GTP-U traffic on non-standard ports → verify dropped
  8. Spoofed outer source: Send GTP-U from unauthorized source IPs → verify dropped
  9. GTP-in-GTP: Send GTP-U packets encapsulated within GTP-U (nested tunneling) → verify handling per policy (typically drop)
  10. Logging: Verify that filtered/dropped GTP-U packets are logged with sufficient detail
Expected Results
  • Only valid, authorized GTP-U traffic is forwarded
  • Unauthorized, malformed, or unexpected GTP-U packets are dropped
  • Inner packet inspection works correctly for GTP-U decapsulated traffic
  • The network product remains stable under malformed GTP-U traffic
  • Filtering events are properly logged
Evidence Format

GTP-U filter configuration, pcap traces showing accepted and dropped GTP-U packets, log files, traffic generator configuration, Pass/Fail per step.

Key GTP-U Ports: GTP-U uses UDP port 2152. Filtering must ensure GTP-U is only accepted on designated interfaces and from authorized peer addresses. GTP-in-GTP attacks are a known threat vector.
5G Interfaces using GTP-U:
  • N3: Between gNB (RAN) and UPF — carries user-plane data
  • N9: Between UPFs — inter-UPF forwarding
  • N4: Between SMF and UPF — PFCP-based (not GTP)
  • S1-U: 4G equivalent of N3 (eNB to S-GW)
  • S5/S8-U: 4G between S-GW and P-GW

4.3 Hardening Requirements

▶

Hardening requirements aim to minimize the attack surface of the network product by removing unnecessary services, software, and functions, and by restricting access.

Reference: CIS Benchmarks (cisecurity.org/cis-benchmarks) are recommended as supplementary hardening guides for product-specific testing.

4.3.2 Technical Baseline Hardening

▶
TC_NO_UNNECESSARY_SERVICE
4.3.2.1
Requirement

Name: No unnecessary or insecure services

Description: No unnecessary or insecure services or protocols shall be active on any network interface. Services that should be disabled by default include: Telnet, FTP, TFTP, SNMP v1/v2c, rlogin, rsh, BOOTP server, discovery protocols (CDP, LLDP), Identd.

Threat Reference

TR 33.926 §5.3.7.3 Insecure Network Services ▶

Pre-Conditions
  • Vendor provides a list of all required network protocols, services, open ports, and their purposes
  • A port scanning / service identification tool is available
Execution Steps
  1. Verify the vendor documentation lists all required services and justifies each
  2. Use tools to identify all running services and protocol handlers on the network product
  3. Validate that no undocumented services are running
  4. Reboot the network product and re-execute steps 2-3 to verify persistence
Expected Results

No unnecessary services running. No undocumented services. Behavior is consistent after reboot.

TC_RESTRICTED_REACHABILITY_OF_SERVICES
4.3.2.2
Requirement

Description: Services shall be restricted to interfaces where their usage is required. Administrative services (SSH, HTTPS, RDP) shall be restricted to management interfaces to support traffic separation.

Execution Steps
  1. For each interface: run port scan to identify reachable services
  2. Verify services are only reachable on designated interfaces per vendor documentation
  3. Administrative services must not be reachable from user/data plane interfaces
TC_NO_UNUSED_SOFTWARE
4.3.2.3
Requirement

Description: Unused software components shall not be installed or shall be deleted. This includes examples, default web pages, test data, and sample databases.

Execution Steps
  1. Verify vendor provides complete software inventory (name, version, dependencies, purpose)
  2. Identify installed software using package managers (apt, rpm, pip, npm, etc.)
  3. Validate no software exists beyond what's documented as necessary
  4. Check for default configuration or example files
TC_NO_UNUSED_FUNCTIONS
4.3.2.4
Requirement

Description: Unused hardware and software functions shall be permanently deactivated. This includes unused interfaces (e.g., Bluetooth), debugging functionality, and unnecessary kernel modules. "Permanently" means not reactivated after reboot.

Execution Steps
  1. Verify vendor documentation lists all hardware and software functions
  2. Identify active hardware/software functions using tools (lspci, lsusb, lsmod, etc.)
  3. Validate no undocumented functions are active
TC_NO_UNSUPPORTED_COMPONENTS
4.3.2.5
Requirement

Description: No software or hardware components that have reached end-of-life or end-of-support shall be present, unless covered by a special support contract guaranteeing vulnerability correction.

Execution Steps
  1. Identify all software/hardware components and their versions
  2. Verify each component's support status (not EOL/EOS)
  3. Flag any unsupported components
TC_REMOTE_LOGIN_RESTRICTIONS_PRIVILEGED_USERS
4.3.2.6
Requirement

Description: Direct login as root or equivalent highest-privileged user shall be limited to the physical console only. Remote root login shall be disabled.

Execution Steps
  1. Attempt remote login as root via SSH/other remote interfaces → verify rejection
  2. Attempt login as root from the physical console → verify success
Expected Results

Remote root login is denied. Console root login is permitted. Pass/Fail.

TC_FILESYSTEM_AUTHORIZATION_PRIVILEGES
4.3.2.7
Requirement

Description: File system permissions shall enforce that users can only modify files/directories they are authorized for. Sticky bit shall be set on world-writable directories.

Execution Steps
  1. Verify OS-level permissions match vendor documentation
  2. Login as non-admin user and attempt to modify authorized files → verify success
  3. Attempt to modify unauthorized files → verify permission denied

4.3.3 Operating System Hardening

▶
TC_IP_SPOOFING_MITIGATION
4.3.3.1.1
Requirement

Name: IP-Source address spoofing mitigation

Description: Systems shall not process IP packets if their source address is not reachable via the incoming interface. Implementation example: Reverse Path Filter (RPF) — e.g., net.ipv4.conf.all.rp_filter = 1

Threat Reference

TR 33.926 §5.3.3.5 IP Spoofing ▶

Test Setup
  • Node N1: Two interfaces — if1-n1 connected to network product, if2-n1 (192.168.3.1/24) with tester machine
  • Node N2: Two interfaces — if1-n2 connected to network product, if2-n2 (same IP as if2-n1: 192.168.3.1/24)
  • Network Product: if1-np (192.168.1.x) → N1, if2-np (192.168.2.x) → N2
  • Static route on network product: 192.168.3.0/24 reachable via if1-n1 through if1-np
Execution Steps
  1. From tester via N1: send pings to if1-np → verify pings reach and responses are sent
  2. Disconnect tester from N1, reconnect to N2 (same IP config)
  3. Send pings to if1-np → verify pings reach but are dropped (source not routable via incoming interface)
  4. Send pings to if2-np → verify also dropped
  5. If logging available, verify dropped packets are recorded
Expected Results

RPF or equivalent anti-spoofing is active. Packets with source addresses not routable via the incoming interface are silently dropped.

Minimized Kernel Network Functions (5 Sub-Tests)
4.3.3.1.2
Sub-Tests
Test NameVerifies
TC_PROXY_ARP_DISABLINGProxy ARP is disabled — NP does not respond to ARP requests for other hosts
TC_DIRECTED_BROAD_DISABLINGDirected broadcast is disabled — packets to broadcast addresses are dropped
TC_IP_MULTICAST_HANDLINGIPv4 multicast (224.0.0.0–239.255.255.255) is disabled by default
TC_GRATUITOUS_ARP_DISABLINGGratuitous ARP is disabled — unsolicited ARP does not update cache
TC_BROADCAST_ICMP_HANDLINGICMP ECHO and TIMESTAMP to broadcast addresses not answered
Threat Reference

TR 33.926 §5.3.6.11 Unnecessary Services — Prevents Smurf, Fraggle, ARP cache poisoning, and man-in-the-middle attacks ▶

TC_NO_AUTO_LAUNCH_FROM_REMOVABLE_MEDIA
4.3.3.1.3
Requirement

Description: The network product shall not automatically launch any application when removable media (CD, DVD, USB) is connected. Auto-mount shall be disabled.

Execution Steps
  1. Prepare removable media with autostart files
  2. Insert into each accessible port
  3. Verify no auto-mount and no auto-launch
TC_SYN_FLOOD_PREVENTION
4.3.3.1.4
Requirement

Description: The network product shall support SYN flood prevention (e.g., TCP SYN cookies: net.ipv4.tcp_syncookies = 1). This shall be enabled by default.

Execution Steps
  1. Verify SYN flood prevention mechanism in vendor documentation
  2. Use tool (e.g., hping3 -i <interval> -S -p <port> -d <size> -c <count> <IP>) to generate SYN flood
  3. Verify network product remains functional during and after the attack
  4. Verify services remain accessible and responsive
  5. Verify CPU/memory usage stays within acceptable thresholds
Expected Results

The network product does not become inoperative under SYN flood attack.

TC_PROTECTION_FROM_BUFFER_OVERFLOW
4.3.3.1.5
Requirement

Description: The system shall support buffer overflow protection mechanisms (e.g., ASLR, DEP/NX bit, stack canaries, PIE). Documentation describing these mechanisms and how to verify them shall be provided.

Execution Steps
  1. Verify technical documentation describes buffer overflow protection mechanisms
  2. Verify whether protections are enabled by default or require manual activation
  3. Review test results demonstrating the protection mechanisms are functional
TC_EXTERNAL_FILE_SYSTEM_MOUNT_RESTRICTIONS
4.3.3.1.6
Requirement

Description: OS-level restrictions (nodev, nosuid) shall be set for user-mountable filesystems to prevent privilege escalation. In Linux: set nodev and nosuid in /etc/fstab for filesystems with the "user" option.

Execution Steps
  1. Verify OS-level mount restrictions in /etc/fstab
  2. Mount a prepared external filesystem with SUID files
  3. Attempt privilege escalation using mounted content → verify blocked

4.3.4 Web Server Hardening

▶
Reference: CIS Benchmarks for specific web servers (Apache, Nginx, IIS) provide detailed hardening guidance: cisecurity.org/cis-benchmarks
Test NameClauseRequirement
TC_NO_SYSTEM_PRIVILEGES_WEB_SERVER4.3.4.2No web server processes run with system/root privileges
TC_NO_UNUSED_HTTP_METHODS4.3.4.3Unused HTTP methods (TRACE, TRACK, PUT, DELETE) deactivated
TC_NO_UNUSED_ADD-ONS4.3.4.4Unneeded add-ons, CGI, SSI, WebDAV deactivated
TC_NO_COMPILER_FOR_CGI4.3.4.5No compilers/interpreters/shells in CGI directories
TC_NO_CGI_OR_SCRIPTING_FOR_UPLOADS4.3.4.6Upload directory ≠ CGI/scripting directory
TC_NO_EXECUTION_OF_SYSTEM_COMMANDS4.3.4.7SSI exec directive cannot execute system commands
TC_ACCESS_RIGHTS_WEB_SERVER_FILES4.3.4.8Config file access restricted to web server owner/admin
TC_NO_DEFAULT_CONTENT4.3.4.9Default content (examples, docs, aliases) removed
TC_NO_DIRECTORY_LISTINGS4.3.4.10Directory browsing/indexing deactivated
TC_NO_WEB_SERVER_HEADER_INFORMATION4.3.4.11HTTP headers do not expose server version/modules
TC_NO_WEB_SERVER_ERROR_PAGES_INFORMATION4.3.4.12Error pages do not expose server details
TC_NO_WEB_SERVER_FILE_TYPE_MAPPINGS4.3.4.13Unnecessary file type mappings (php, sh, exe) deleted
TC_RESTRICTED_FILE_ACCESS4.3.4.14Restrictive access rights on all served files; path traversal prevented

4.3.5 Network Devices Hardening

▶
TC_TRAFFIC_SEPARATION
4.3.5.1
Requirement

Name: Traffic separation

Reference: RFC 3871

Description: The network product shall support physical or logical separation of traffic belonging to different network domains (e.g., O&M vs. control plane vs. user plane).

Execution Steps
  1. Verify the network product has separate interfaces for different domains
  2. Send traffic intended for one domain on another domain's interface → verify it is rejected
  3. Repeat for all pairs of network domains
Expected Results

Traffic is not passed between domains. Each domain's traffic stays on its designated interfaces. Pass/Fail.

4.3.6 Network Functions in Service-Based Architecture

▶
TC_JSON_PARSER_CODE_EXEC_INCL
4.3.6.2
Requirement

Name: No code execution or inclusion of external resources by JSON parsers

Description: JSON parsers used by NFs shall not execute JavaScript or any other code contained in received JSON objects. Parsers shall not include external resources (filesystem files, URIs) referenced in JSON payloads.

Threat Reference

TR 33.926 §6.3.2.1 JSON Parser Exploits ▶

Execution Steps
  1. Use a Web Application Security tool to send HTTP requests with JSON payloads containing JavaScript code
  2. Send JSON payloads with references to local filesystem paths
  3. Send JSON payloads with references to external URIs
  4. Using tcpdump/traffic analyser, verify no external resources are loaded during parsing
  5. Verify no code is executed from JSON payload content
TC_UNIQUE_KEY_VALUES_IN_IEs
4.3.6.3
Requirement

Reference: TS 29.501 clause 6.2

Description: Duplicate key names in JSON objects shall result in an error and message rejection.

Execution Steps
  1. Send HTTP requests with duplicate keys in JSON payload → verify error response
  2. Send valid requests → verify normal processing
TC_IE_FORMAT_RANGE_VALIDATION
4.3.6.4
Requirement

Reference: TS 29.501 clause 6.2

Description: The NF shall enforce limits on JSON message structure:

  • Maximum leaf IEs per message: 2,048K
  • Maximum JSON body size: 16 million octets
  • Maximum nesting depth: 32 levels
Execution Steps
  1. Send HTTP requests with JSON bodies exceeding each limit → verify error response
  2. Send valid requests within limits → verify normal processing

4.4 Basic Vulnerability Testing Requirements

▶

This clause covers basic vulnerability testing (BVT) which uses automated tools to identify known vulnerabilities. BVT is complementary to — not a replacement for — the specification-based testing in earlier clauses.

4.4.1 Introduction

▶

Basic vulnerability testing includes three main activities:

  1. Port Scanning — Identifying open ports and associated services
  2. Vulnerability Scanning — Identifying known vulnerabilities with up-to-date databases
  3. Robustness & Fuzz Testing — Sending malformed inputs to protocol interfaces
Note: Vulnerability scanning tools must have their databases updated no more than 7 calendar days before the test is executed.
TC_BVT_PORT_SCANNING
4.4.2
Requirement

Name: Port Scanning

Description: All TCP and UDP ports (1-65535) on all interfaces shall be scanned. Results shall identify open ports and map them to running services. All identified services shall be justified.

Pre-Conditions
  • Port scanner (e.g., Nmap) available
  • Scanner can reach all network interfaces of the target
  • Vendor has provided list of expected open ports and services
Execution Steps
  1. Execute full TCP SYN scan on all interfaces: nmap -sS -p 1-65535 <target>
  2. Execute full UDP scan on all interfaces: nmap -sU -p 1-65535 <target>
  3. Execute service/version detection on open ports: nmap -sV -p <open-ports> <target>
  4. Compare identified services against vendor's documented service list
  5. Report any undocumented open ports or services
Expected Results

All open ports are documented and justified. No unexpected open ports or services. Pass/Fail.

TC_BVT_VULNERABILITY_SCANNING
4.4.3
Requirement

Name: Vulnerability Scanning

Description: The network product shall be scanned for known vulnerabilities:

  • Network-based vulnerability scanning tools (e.g., OpenVAS/Greenbone, Nessus)
  • If web UI is present: OWASP-compliant web application scanner (e.g., OWASP ZAP, Burp Suite)
  • If API endpoints exist: API-specific scanning
Pre-Conditions
  • Vulnerability scanner with database updated ≤7 calendar days before test
  • CVE database version documented in test report
  • Scanner authenticated (if applicable) for deeper analysis
Execution Steps
  1. Configure scanner with target interfaces and credentials
  2. Execute network vulnerability scan against all interfaces
  3. If web interface exists: execute web application vulnerability scan
  4. Review findings and categorize by CVSS score (Critical/High/Medium/Low/Info)
  5. Validate findings — eliminate false positives
  6. Report all confirmed vulnerabilities with CVE references
Expected Results

No known critical or high-severity vulnerabilities. Medium-severity findings require justification from vendor. Pass/Fail.

CVSS Scoring: Vulnerabilities are assessed using CVSS v3.1 (FIRST CVSS v3.1). Critical (9.0-10.0) and High (7.0-8.9) require remediation.
TC_BVT_ROBUSTNESS_AND_FUZZ_TESTING
4.4.4
Requirement

Name: Robustness and Fuzz Testing

Description: All protocol interfaces exposed by the network product shall be tested for robustness using fuzzing tools. This includes:

  • Transport layer protocols (TCP, UDP, SCTP, GTP)
  • Application layer protocols (HTTP/2, SIP, Diameter, PFCP, NGAP, etc.)
  • 3GPP-specific protocols on all interfaces
Threat Reference

TR 33.926 §5.3.6.5 Improper Error Handling ▶

Pre-Conditions
  • Fuzzing tool capable of generating protocol-aware mutations (e.g., AFL++, Defensics, boofuzz)
  • Traffic capture on target interfaces for analysis
  • System monitoring in place (CPU, memory, crash logs)
Execution Steps
  1. Identify all protocol interfaces from vendor documentation
  2. Configure fuzzer for each protocol interface
  3. Execute fuzz testing with minimum 10,000 test cases per protocol
  4. Monitor for: crashes, hangs, memory leaks, assertion failures, unexpected restarts
  5. Verify network product recovers gracefully from malformed inputs
  6. Document all anomalies found during testing
GTP-Specific Fuzz Testing
GTP Protocol Fuzzing: When the network product implements GTP-C (port 2123) or GTP-U (port 2152), fuzz testing must include:
  • Malformed GTP headers (invalid version, message type, TEID, sequence numbers)
  • Invalid IE types, lengths, and values
  • Oversized GTP messages exceeding maximum lengths
  • Truncated messages
  • Invalid extension header chains
  • Path management message floods
Expected Results

No crashes, hangs, or security-relevant anomalies. Network product handles all malformed inputs gracefully. Pass/Fail.

Annex A (Informative): Change History

▶
Change#VersionDateCR Subject
—15.0.02018-09Initial Release 15 — catalogue of general security assurance requirements
—15.1.02019-03Rapporteur clean-up (editorial corrections)
—15.2.02019-06Added SBI/SBA NF test cases for 5G SA
—15.3.02019-09GTP-C / GTP-U filtering test cases
—16.0.02020-07Release 16 baseline
—16.1.02020-09Additional JSON parser and SBA hardening requirements
—16.2.02021-03IE format / range validation requirements
—17.0.02022-03Release 17 baseline
—17.1.02022-06SCAS split alignment, additional web server TCs
—17.2.02022-09Client credentials assertion validation
—17.3.02023-03Updated TLS requirements alignment with TS 33.210/310
—18.0.02023-09Release 18 baseline
—18.1.02023-12Updated authorization token test cases
—18.2.02024-01Updated ICMP handling and IP options test cases
—18.3.02024-03Editorial corrections and clarifications
Full Change History: Available at 3GPP Specification Portal — TS 33.117