Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Identifying Abuse Vectors in Web Applications

Terian Koscik
April 17, 2018
190

Identifying Abuse Vectors in Web Applications

Terian Koscik

April 17, 2018
Tweet

Transcript

  1. Agenda for today • Talking about abuse vectors (20 minutes)

    • Getting into groups • Identifying abuse vectors (15 minutes) • Check in (5 minutes) • Take a break (5 minutes) • Solutions to abuse vectors (15 minutes) • Solutions to abuse vectors (part 2) (15 minutes) • Presentations (5 minutes)
  2. Things we’ll be learning about • What is an abuse

    vector? • How can you tell when something is an abuse vector? • What are some ways of handling them?
  3. • What’s your name? • Where are you from? •

    What are you most excited for at RailsConf?
  4. “Bad Actor” fallacy • Bad people do bad things •

    Good people do not do bad things • If we find all the bad people, bad things will never happen
  5. “Bad behaviors” vs “bad actors” • All people are capable

    of good and bad actions • There is a huge variety of the kinds of things humans are willing and motivated to do • If it’s at all possible to do a certain action on your website, assume that eventually, some (most likely very bored) person will do it
  6. Anyone could become a troll at any time “For nearly

    three years Steve Smith has spewed over-the-top conservative blather on Twitter, luring Senator Claire McCaskill, Christiane Amanpour and Rosie O'Donnell into arguments. A 40-year-old dad and lawyer who lives outside Tampa, he says he has become addicted to the attention. "I was totally ruined when I started this. My ex-wife and I had just separated. She decided to start a new, more exciting life without me," he says. Then his best friend, who he used to do pranks with as a kid, killed himself. Marty says his trolling has been empowering.” http://time.com/4457110/internet-trolls/
  7. And trolls can be rehabilitated “In 2015, Reddit closed several

    subreddits—foremost among them r/fatpeoplehate and r/CoonTown—due to violations of Reddit’s anti-harassment policy. We find that the ban worked for Reddit. More accounts than expected discontinued using the site; those that stayed drastically decreased their hate speech usage—by at least 80%. Though many subreddits saw an influx of r/fatpeoplehate and r/CoonTown “migrants,” those subreddits saw no significant changes in hate speech usage. In other words, other subreddits did not inherit the problem. ” http://comp.social.gatech.edu/papers/cscw18-chand-hate.pdf
  8. Trust and Safety Engineer Role Playing Game! You have been

    hired as a software engineer on an exciting new product! It’s your job to check the existing features of the product for potential abuse vectors, and determine options for handling them. Your new employer has most likely never considered the possibility of harassment on their platform and is eager to hear any feedback you might have.
  9. Is this an abuse vector? Could someone use this feature

    to… • Communicate with someone without their consent? • Show something to a person without their consent? • Learn something about a person without their consent?
  10. Is this an abuse vector? Could this be used to

    hurt someone… • Physically? • Emotionally? • Their career?
  11. ?

  12. ?

  13. ?

  14. HEY ARE YOU A GITHUB STAFF MEMBER BECAUSE I WAS

    WONDERING IF MAYBE YOU COULD TELL ME WHY I WAS BANNED IS IT BECAUSE I’M ANNOYING BECAUSE I REALLY DON’T THINK YOU’RE QUALIFIED TO MAKE THOSE KINDS OF JUDGMENTS AND FURTHERMORE
  15. First steps Pick one of the “Use Cases” sections from

    the workshop instructions. Your group will be looking for abuse vectors in one of these applications, and thinking of ways to fix them. You can change your mind later on if you decide you don’t like the one you picked! (P.S.: the Pokedex is a little more challenging than the others)
  16. Next steps Familiarize yourself with the features described for the

    application you’ll be working on, then think about: • What potential abuse vectors does the application have? • What might motivate someone to take advantage of them? • Note: harassment and abuse are not the same as hacking You can review everything we’ve talked about so far in the “Addressing Abuse Vectors” section of the workshop instructions. We’ll check in after 15 minutes
  17. Check in! • What abuse vectors did your group find?

    • Is there anything that’s unclear about the product you’re investigating?
  18. How to deal with an abuse vector • Take out

    the feature • Reduce interaction • Reduce visibility • Don't keep data you don't need • Intervene before, during, and after harassment • Make it opt-in • Add moderation
  19. How to deal with an abuse vector • Take out

    the feature • Reduce interaction • Reduce visibility • Don't keep data you don't need • Intervene before, during, and after harassment • Make it opt-in • Add moderation
  20. If you’re not sure what to do... • What are

    other websites doing? • What does research (or google) say to do? • What would stop a cat?
  21. What a proposed solution looks like • How does this

    address an abuse vector? • What are the changes to the UI? • What are the tradeoffs being made? • How does this affect the business? (revenue, PR, software engineering time, etc.) • What alternatives are there?
  22. ?

  23. ?

  24. Next Steps Now that you’ve identified some abuse vectors, decide

    where you can use these principles: • Take out the feature • Reduce interaction • Reduce visibility • Don't keep data you don't need We’ll move on to the next section in 15 minutes
  25. How to deal with an abuse vector • Take out

    the feature • Reduce interaction • Reduce visibility • Don't keep data you don't need • Intervene before, during, and after harassment • Make it opt-in • Add moderation
  26. Last Steps! Your employer has decided they aren’t comfortable with

    any of the options you’ve come up with :C Decide where you can use these principles instead: • Add moderation • Make it opt-in • Intervene before, during, and after harassment Each group will give a 1-2 minute presentation in 15 minutes
  27. HEY ARE YOU A GITHUB STAFF MEMBER BECAUSE I WAS

    WONDERING IF MAYBE YOU COULD TELL ME WHY I WAS BANNED IS IT BECAUSE I’M ANNOYING BECAUSE I REALLY DON’T THINK YOU’RE QUALIFIED TO MAKE THOSE KINDS OF JUDGMENTS AND FURTHERMORE ?
  28. ?

  29. Check in (again)! • What abuse vectors did your group

    decide to address? • What solutions do you propose to address them? • What are the tradeoffs to these solutions?
  30. Taco Bell won’t let me send them messages about how

    many burritos I can fit in my mouth at once :C