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.