InvalidChecksumInSack.seq - SACK chunk is received with invalid checksum
To check that if SACK chunk is received with invalid checksum, the endpoint should silently discards the SACK.
./InvalidChecksumInSack.seq [-tooloption ...] -pkt ./InvalidChecksumInSack.def -tooloption : v6eval tool option See Also: ../common/STD_PKT_COMMON.def ../common/SCTP_COMMON.def
Association is established between endpoint A and B. Arrange data in endpoint A such that SACK message is send to endpoint B with invalid checksum.
Endpoint A Endpoint B ULP (ESTABLISHED) (ESTABLISHED)
<----------------- DATA
SACK -----------------> Silently discard (with invalid checksum) <----------------- DATA
SACK ----------------->
TEST DESCRIPTION:
1. Attempt to initiate an association from endpoint A to B. Send SACK message with wrong CRC-32 checksum after received DATA. Record the message sequence using a signal emulator. 2. Check A: SACK message is discarded and no other actions are taken. 3. Check B: Was the message sequence as above.
None
RFC 4960
1.5.6. Packet Validation
A mandatory Verification Tag field and a 32-bit checksum field (see Appendix B for a description of the CRC32c checksum) are included in the SCTP common header. The Verification Tag value is chosen by each end of the association during association startup. Packets received without the expected Verification Tag value are discarded, as a protection against blind masquerade attacks and against stale SCTP packets from a previous association. The CRC32c checksum should be set by the sender of each SCTP packet to provide additional protection against data corruption in the network. The receiver of an SCTP packet with an invalid CRC32c checksum silently discards the packet.