skip to main content
10.1145/3092282.3092289acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Model learning and model checking of SSH implementations

Published:13 July 2017Publication History

ABSTRACT

We apply model learning on three SSH implementations to infer state machine models, and then use model checking to verify that these models satisfy basic security properties and conform to the RFCs. Our analysis showed that all tested SSH server models satisfy the stated security properties, but uncovered several violations of the standard.

References

  1. F. Aarts, P. Fiterău-Broştean, H. Kuppens, and F.W. Vaandrager. 2015. Learning Register Automata with Fresh Value Generation. In ICTAC 2015 (LNCS), Vol. 9399. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Springer, 165–183.Google ScholarGoogle Scholar
  3. F. Aarts, B. Jonsson, J. Uijen, and F.W. Vaandrager. 2015. Generating Models of Infinite-State Communication Protocols using Regular Inference with Abstraction. FMSD 46, 1 (2015), 1–41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. F. Aarts, J. de Ruiter, and E. Poll. 2013. Formal Models of Bank Cards for Free. In Software Testing, Verification and Validation Workshops (ICSTW). IEEE, 461–468. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Aarts, J. Schmaltz, and F. Vaandrager. 2010. Inference and Abstraction of the Biometric Passport. In Leveraging Applications of Formal Methods, Verification, and Validation. LNCS, Vol. 6415. Springer, 673–686. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M.R. Albrecht, K.G. Paterson, and G.J. Watson. 2009. Plaintext Recovery Attacks against SSH. In SP’09. IEEE, Washington, DC, USA, 16–26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Angluin. 1987. Learning regular sets from queries and counterexamples. Inf. and Comp. 75, 2 (Nov. 1987), 87–106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Bellare, T. Kohno, and C. Namprempre. 2004. Breaking and Provably Repairing the SSH Authenticated Encryption Scheme: A Case Study of the Encode-then-Encrypt-and-MAC Paradigm. ACM Trans. Inf. Syst. Secur. 7, 2 (2004), 206–241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Beurdouche, K. Bhargavan, A. Delignat-Lavaud, C. Fournet, M. Kohlweiss, A. Pironti, P.-Y. Strub, and J. K. Zinzindohoue. 2017. A Messy State of the Union: Taming the Composite State Machines of TLS. CACM 60, 2 (2017), 99–107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Boss. 2012.Google ScholarGoogle Scholar
  11. Evaluating implementations of SSH by means of model-based testing. Bachelor’s Thesis. Radboud University.Google ScholarGoogle Scholar
  12. S. Cassel, F. Howar, and B. Jonsson. 2015.Google ScholarGoogle Scholar
  13. RALib: A LearnLib extension for inferring EFSMs. In DIFTS. http://www.faculty.ece.vt.edu/chaowang/difts2015/ papers/paper_5.pdfGoogle ScholarGoogle Scholar
  14. G. Chalupar, S. Peherstorfer, E. Poll, and J. de Ruiter. 2014. Automated Reverse Engineering using LEGO. In Proc. USENIX workshop on Offensive Technologies (WOOT’14). 1–10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. H. Chen, D. Dean, and D. Wagner. 2004. Model Checking One Million Lines of C Code. In NDSS. The Internet Society. http://www.isoc.org/isoc/conferences/ ndss/04/proceedings/Papers/Chen.pdfGoogle ScholarGoogle Scholar
  16. A. Cimatti, E.M. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, and A. Tacchella. 2002. NuSMV 2: An OpenSource Tool for Symbolic Model Checking. In CAV (LNCS), Vol. 2404. Springer, 359–364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Fiterău-Broştean, R. Janssen, and F.W. Vaandrager. 2016. Combining Model Learning and Model Checking to Analyze TCP Implementations. In CAV’16 (LNCS), Vol. 9780. Springer, 454–471.Google ScholarGoogle Scholar
  18. A. Futoransky and E. Kargieman. 1998.Google ScholarGoogle Scholar
  19. An attack on CRC-32 integrity checks of encrypted channels using CBC and CFB modes. Online. https://www.coresecurity.com/system/files/publications/2016/05/ KargiemanPacettiRicharte_1998-CRC32.pdf, (1998).Google ScholarGoogle Scholar
  20. O. Grinchtein, B. Jonsson, and M. Leucker. 2010. Learning of event-recording automata. TCS 411, 47 (2010), 4029–4054. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. M. Isberner. 2015.Google ScholarGoogle Scholar
  22. Foundations of Active Automata Learning: An Algorithmic Perspective. Ph.D. Dissertation. TU Dortmund.Google ScholarGoogle Scholar
  23. D. Lee and M. Yannakakis. 1996. Principles and methods of testing finite state machines — a survey. Proc. IEEE 84, 8 (1996), 1090–1123.Google ScholarGoogle ScholarCross RefCross Ref
  24. T. Lenaerts. 2016.Google ScholarGoogle Scholar
  25. Improving Protocol State Fuzzing of SSH. Bachelor’s Thesis. Radboud University.Google ScholarGoogle Scholar
  26. K.G. Paterson and G.J. Watson. 2010. Plaintext-Dependent Decryption: A Formal Security Treatment of SSH-CTR. In EUROCRYPT 2010. LNCS, Vol. 6110. Springer, 345–361. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Peled, M.Y. Vardi, and M. Yannakakis. 2002. Black Box Checking. Journal of Automata, Languages, and Combinatorics 7, 2 (2002), 225–246. Google ScholarGoogle Scholar
  28. E. Poll and A. Schubert. 2007. Verifying an implementation of SSH. In WITS’07. 164–177.Google ScholarGoogle Scholar
  29. E. Poll and A. Schubert. 2011.Google ScholarGoogle Scholar
  30. Rigorous specifications of the SSH Transport Layer. Technical Report. Radboud University.Google ScholarGoogle Scholar
  31. H. Raffelt, B. Steffen, T. Berg, and T. Margaria. 2009. LearnLib: a framework for extrapolating behavioral models. STTT 11, 5 (2009), 393–407. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. J. de Ruiter and E. Poll. 2015. Protocol State Fuzzing of TLS Implementations. In USENIX Security. USENIX Association, Washington, D.C., 193–206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. W. Smeenk, J. Moerman, D.N. Jansen, and F.W. Vaandrager. 2015. Applying Automata Learning to Embedded Control Software. In ICFEM 2015 (LNCS), Vol. 9407.Google ScholarGoogle Scholar
  34. Springer, 1–17.Google ScholarGoogle Scholar
  35. O. Udrea, C. Lumezanu, and J.S. Foster. 2008. Rule-based static analysis of network protocol implementations. Inf. and Comp. 206, 2-4 (2008), 130–157. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. F.W. Vaandrager. 2017. Model Learning. CACM 60, 2 (2017), 86–95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. P. Verleg. 2016.Google ScholarGoogle Scholar
  38. Inferring SSH state machines using protocol state fuzzing. Master’s thesis. Radboud University.Google ScholarGoogle Scholar
  39. Y. Wang, Z. Zhang, D. Yao, B. Qu, and L. Guo. 2011. Inferring Protocol State Machine from Network Traces: A Probabilistic Approach. In Applied Cryptography and Network Security. LNCS, Vol. 6715. Springer, 1–18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. S.C. Williams. 2011. Analysis of the SSH Key Exchange Protocol. In Cryptography and Coding. LNCS, Vol. 7089. Springer, 356–374. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. T. Ylonen and C. Lonvick. 2006. The Secure Shell (SSH) Authentication Protocol. RFC 4252, IETF, Network Working Group. (2006).Google ScholarGoogle Scholar
  42. T. Ylonen and C. Lonvick. 2006. The Secure Shell (SSH) Connection Protocol. RFC 4254, IETF, Network Working Group. (2006).Google ScholarGoogle Scholar
  43. T. Ylonen and C. Lonvick. 2006. The Secure Shell (SSH) Protocol Architecture. RFC 4251, IETF, Network Working Group. (2006).Google ScholarGoogle Scholar
  44. T. Ylonen and C. Lonvick. 2006. The Secure Shell (SSH) Transport Layer Protocol. RFC 4253, IETF, Network Working Group. (2006).Google ScholarGoogle Scholar

Index Terms

  1. Model learning and model checking of SSH implementations

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              SPIN 2017: Proceedings of the 24th ACM SIGSOFT International SPIN Symposium on Model Checking of Software
              July 2017
              199 pages
              ISBN:9781450350778
              DOI:10.1145/3092282

              Copyright © 2017 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 13 July 2017

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Upcoming Conference

              ICSE 2025

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader