SNC Downgrade Attack
Secure Network Communications (SNC) wraps the DIAG (SAP GUI), RFC, and CPIC protocols with authentication, integrity, and encryption. “SNC is enabled” is widely read as “the traffic is confidential” - but SNC has three separable properties (authentication, integrity, encryption), each selected by a quality-of-protection (QoP) level, and by default the server accepts connections that provide less than all three. This page covers assessing whether SNC actually encrypts, whether it can be downgraded, and whether the negotiated cipher/protocol is strong. It pairs with Profile Parameter Drift (SNC parameters are dynamic) and Trusted-RFC Impersonation (per-destination SNC settings).
An SNC deployment that is enabled but not enforced to encrypt, or that permits a downgrade to authentication/integrity-only, transmits DIAG and RFC traffic - including credentials and business data - in a form an on-path attacker can read or tamper with, while presenting a “secured” status to operators. Weak legacy ciphers or protocols undermine confidentiality even when encryption is nominally on. The impact is credential and data interception and, for integrity-only connections, message tampering across the trust domain.
- “SNC on” does not guarantee encryption. QoP level 1 provides authentication only and level 2 integrity only - neither encrypts; only QoP level 3 and above seal (encrypt) the payload. A server running in a default SNC mode with a GUI QoP of 2 can be passively intercepted; a QoP of 1 can be actively tampered with in a man-in-the-middle position. On the wire, a
DATA_SIGNED/DATA_MICframe (as opposed toDATA_SEALED/WRAP) indicates no encryption - observable with the SAP dissector for a network analyzer. - Optional/opportunistic by default (downgrade path). Unless the enforcement parameters are set to reject, the server also accepts insecure (non-SNC) connections. Check the running values of
snc/only_encrypted_gui,snc/only_encrypted_rfc, and thesnc/accept_insecure_*family (accept_insecure_gui,accept_insecure_rfc,accept_insecure_r3int_rfc,accept_insecure_cpic); any that permit insecure connections is a downgrade path. Also checksnc/data_protection/{min,use,max}- aminbelow 3 allows a client to negotiate down to no encryption. - Per-destination QoP overrides the profile. An
SM59destination can carry its own SNC QoP of 1 or 2 even when the system default is 3, so a destination reported as “SNC enabled” can still transmit unencrypted. Audit each destination’s QoP (viaRSRFCCHK/SM59), not only the profile default; values 8/9 defer to theuse/maxprofile parameters. - Weak protocol/cipher lingers on old crypto libraries. Older CommonCryptoLib versions permit legacy protocols and MEDIUM-strength ciphers, and there is no perfect forward secrecy without ECDHE. Check the
ccl/snc/*protocol/cipher parameters (a modern setting pins the protocol to2010_1_1with HIGH ciphers and ECDHE) and confirm certificate revocation checking is enabled where required (ccl/.../pkix_revocation_check).
- Enforce encryption: set
snc/only_encrypted_gui = 1,snc/only_encrypted_rfc = 1, the entiresnc/accept_insecure_*family to0, andsnc/data_protection/min = 3. - Apply the SAP Note that blocks unencrypted SAP GUI / RFC (SAP Note 1690662) so a downgrade cannot succeed even if a client requests it.
- Use a current CommonCryptoLib (SAP Note 1848999), pin the protocol to
2010_1_1with HIGH ciphers and ECDHE for forward secrecy, and enable revocation checking. - Audit per-destination SNC QoP in
SM59so no destination silently drops below the system default. - Enable
snc/log_unencrypted_rfcto surface any cleartext RFC still occurring during the transition.
- Read SNC parameters from the running configuration (
RSPFPAR/RZ11, or remotely viaPFL_GET_SINGLE_PARAMETER):snc/enable,snc/only_encrypted_*,snc/accept_insecure_*,snc/data_protection/{min,use,max}, andccl/snc/*. Because these are dynamic, compare the running value against the profile (see Profile Parameter Drift). snc/log_unencrypted_rfc, once enabled, records RFC connections that are still transmitted without encryption - a direct list of what remains to be hardened.- On the network, the negotiated QoP and cipher are visible with the SAP protocol dissector; a signed-but-not-sealed frame confirms a connection is not encrypted.
