You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

142 lines
4.1 KiB

  1. Overview
  2. ========
  3. Scope
  4. -----
  5. This document considers threats specific to the server to server federation
  6. synapse protocol.
  7. Attacker
  8. --------
  9. It is assumed that the attacker can see and manipulate all network traffic
  10. between any of the servers and may be in control of one or more homeservers
  11. participating in the federation protocol.
  12. Threat Model
  13. ============
  14. Denial of Service
  15. -----------------
  16. The attacker could attempt to prevent delivery of messages to or from the
  17. victim in order to:
  18. * Disrupt service or marketing campaign of a commercial competitor.
  19. * Censor a discussion or censor a participant in a discussion.
  20. * Perform general vandalism.
  21. Threat: Resource Exhaustion
  22. ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23. An attacker could cause the victims server to exhaust a particular resource
  24. (e.g. open TCP connections, CPU, memory, disk storage)
  25. Threat: Unrecoverable Consistency Violations
  26. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  27. An attacker could send messages which created an unrecoverable "split-brain"
  28. state in the cluster such that the victim's servers could no longer dervive a
  29. consistent view of the chatroom state.
  30. Threat: Bad History
  31. ~~~~~~~~~~~~~~~~~~~
  32. An attacker could convince the victim to accept invalid messages which the
  33. victim would then include in their view of the chatroom history. Other servers
  34. in the chatroom would reject the invalid messages and potentially reject the
  35. victims messages as well since they depended on the invalid messages.
  36. Threat: Block Network Traffic
  37. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38. An attacker could try to firewall traffic between the victim's server and some
  39. or all of the other servers in the chatroom.
  40. Threat: High Volume of Messages
  41. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42. An attacker could send large volumes of messages to a chatroom with the victim
  43. making the chatroom unusable.
  44. Threat: Banning users without necessary authorisation
  45. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  46. An attacker could attempt to ban a user from a chatroom with the necessary
  47. authorisation.
  48. Spoofing
  49. --------
  50. An attacker could try to send a message claiming to be from the victim without
  51. the victim having sent the message in order to:
  52. * Impersonate the victim while performing illict activity.
  53. * Obtain privileges of the victim.
  54. Threat: Altering Message Contents
  55. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  56. An attacker could try to alter the contents of an existing message from the
  57. victim.
  58. Threat: Fake Message "origin" Field
  59. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60. An attacker could try to send a new message purporting to be from the victim
  61. with a phony "origin" field.
  62. Spamming
  63. --------
  64. The attacker could try to send a high volume of solicicted or unsolicted
  65. messages to the victim in order to:
  66. * Find victims for scams.
  67. * Market unwanted products.
  68. Threat: Unsoliticted Messages
  69. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  70. An attacker could try to send messages to victims who do not wish to receive
  71. them.
  72. Threat: Abusive Messages
  73. ~~~~~~~~~~~~~~~~~~~~~~~~
  74. An attacker could send abusive or threatening messages to the victim
  75. Spying
  76. ------
  77. The attacker could try to access message contents or metadata for messages sent
  78. by the victim or to the victim that were not intended to reach the attacker in
  79. order to:
  80. * Gain sensitive personal or commercial information.
  81. * Impersonate the victim using credentials contained in the messages.
  82. (e.g. password reset messages)
  83. * Discover who the victim was talking to and when.
  84. Threat: Disclosure during Transmission
  85. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  86. An attacker could try to expose the message contents or metadata during
  87. transmission between the servers.
  88. Threat: Disclosure to Servers Outside Chatroom
  89. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  90. An attacker could try to convince servers within a chatroom to send messages to
  91. a server it controls that was not authorised to be within the chatroom.
  92. Threat: Disclosure to Servers Within Chatroom
  93. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  94. An attacker could take control of a server within a chatroom to expose message
  95. contents or metadata for messages in that room.