Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add security features to streamflow API #89

Open
rod-glover opened this issue Aug 18, 2018 · 0 comments
Open

Add security features to streamflow API #89

rod-glover opened this issue Aug 18, 2018 · 0 comments

Comments

@rod-glover
Copy link
Contributor

rod-glover commented Aug 18, 2018

Security risks:

  1. Orders trigger significant computation. It would be easy to mount a DoS attack by submitting a lot of orders.
  2. Order notification could become a spam bot if emails are not verified.
  3. Malicious users could cancel other users' orders.

Possible responses (numbers do not correspond to risk enumeration):

  1. Have a user authorization system. Don't let users modify (or even perhaps see) sensitive resources owned by other users, e.g., orders. This would cover all risks.

  2. Throttle orders by originating IP address?

  3. Obfuscate order ids to prevent spoofing of order URLs for cancellation?

    • That would only work if we did not expose the /orders list resource. And that resource is necessary if the app(s) are to be able to recover from various fails (by, amongst other things, reloading lists of orders issued).
    • Maybe we can require the user to provide their email and list only orders notified to that email. This would still leave the door ajar to malicious users who know other users' emails, but it is less of an opening.

See some parts of this discussion for a bit more on this.

More research and discussion needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant