On the robustness of applications based on the SSL and TLS security protocols

  • Authors:
  • Diana Berbecaru;Antonio Lioy

  • Affiliations:
  • Politecnico di Torino, Dip. di Automatica e Informatica, Torino, Italy;Politecnico di Torino, Dip. di Automatica e Informatica, Torino, Italy

  • Venue:
  • EuroPKI'07 Proceedings of the 4th European conference on Public Key Infrastructure: theory and practice
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

The SSL and TLS security protocols have been designed and implemented to provide end-to-end data security. This includes data integrity that is the data cannot be modified, replayed or reordered by an attacker without being detected at the receiving endpoint. SSL and TLS however does not provide data delivery integrity, in the sense they do not guarantee that all the sent data will actually arrive at the other side. This is because, for example, SSL/TLS cannot know in advance which is the exact size of the data to be sent over the secured channel. The mosts recent versions (SSLv3 and TLSv1) provide some form of protection against loss of data records by means of sequence numbers and specialized close notify alert messages to be sent when tearing down the SSL connection. Unfortunately, this is not enough when the last record containing application data together with the closure alert are deleted on purpose, as it happens in the truncation attacks. SSLv3/TLSv1 specifications do not indicate what should happen (at the application level) if the close notify message never arrives at the receiver. Consequently, for applications where it is important to ascertain that the data reached untruncated the other party, it is required to have an additional control at the application level. In this paper we show (based on practical tests) that some widely-used applications implementing SSLv3 and TLSv1 do not perform further controls on the size of the data to be received, and thus they are vulnerable to truncation attacks. For tests we implemented a specialized MITMSSL tool, used to manipulate the SSL/TLS records exchanged between two communicating parties.