instructions 1 - logmeincdn.azureedge.net · deal the deck to start play context play wrap up...

198
Elevaon of Privilege Instrucons Draw a diagram of the system you want to threat model before you deal the cards. Deal the deck to 3–6 players. Play starts with the 3 of Tampering. Play clockwise, and each player in turn connues using the suit if they have a card in that suit. If the player doesn’t have a card from that suit, the player can use another suit. Each round is won by the highest card played in the suit that was led, unless an Elevaon of Privilege (EoP) card is played. In that case the high value EoP card wins. To play a card, read the card, announce your threat and record it. If the player can’t link the threat to the system, play proceeds. The winner of a hand selects the card (and suit) to lead the next hand. Take a few minutes between hands to think about threats. Points: 1 for a threat on your card, +1 for taking the trick Instrucons 1

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Elevation of Privilege InstructionsDraw a diagram of the system you want to threat model before you deal the cards.

Deal the deck to 3–6 players. Play starts with the 3 of Tampering. Play clockwise, and each player in turn continues using the suit if they have a card in that suit. If the player doesn’t have a card from that suit, the player can use another suit. Each round is won by the highest card played in the suit that was led, unless an Elevation of Privilege (EoP) card is played. In that case the high value EoP card wins.

To play a card, read the card, announce your threat and record it. If the player can’t link the threat to the system, play proceeds.

The winner of a hand selects the card (and suit) to lead the next hand. Take a few minutes between hands to think about threats.

Points:1 for a threat on your card, +1 for taking the trick

Instructions 1

Page 2: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Threats should be articulated clearly, testable, and addressable. In the event that a threat leads to an argument, you can resolve it by asking the question: “Would we take an actionable bug, feature request or design change for that?” If the answer is yes, it is a real threat. (This doesn’t mean that threats outside of that aren’t real, it’s simply a way to focus discussion on actionable threats.) Questions that start with “There’s a way” should be read as “There’s a way…and here’s how…”while questions that start with “Your code” should be read “The code we’re collectively creating…and here’s how.”

The deck contains a number of special cards: trumps and open threats. EoP cards are trumps: They take the trick even if they have a lower value than the suit that was led. The ace of each suit is an open threat card. When played, the player must identify a threat not listed on another card.

When all the cards have been played, whoever has the most points wins.

Remember to have fun!

Elevation of Privilege Instructions

Page 3: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Instructions

Elevation of Privilege Variants

Instructions 2Optional variants: • You may pass cards after the third trick. This is helpful if you have cards that you can’t tie to the system. Someone else may be able to. • Double the number of points, and give one point for threats on other people’s cards. • Other players may “riff” on the threat and if they

do, they get one point per additional threat. • Limit riffing to no more than 60 seconds. • Mark up the diagram where the threat occurs.

Questions are listed on the threat cards to help with the aces.

Thanks to Laurie Williams for inspiration.

Page 4: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Instructions

© 2018 LogMeIn, Inc. Prior works © 2009 Microsoft Corporation. Both works licensed under the Creative Commons Attribution 3.0 United States License. To view the full content of this license, visit http://creativecommons.org/licenses/by/3.0/us or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, CA 94105 USA

Contents:

• 2 Instruction cards

• 1 Strategy Diagram card

• 7 STRIPED Threat cards ‘suits’:

1. Spoofing: 2-K, Ace

2. Tampering: 3-K, Ace

3. Repudiation: 2-K, Ace

4. Information Disclosure: 2-K, Ace

5. Denial of Service: 2-K, Ace

6. Elevation of Privilege: 5-K, Ace (Trump cards)

7. Privacy 2-K, Ace

• 7 STRIPED Threat Reference cards

• 1 About Threat Modeling and SDL card

• 1 About Privacy card

Page 5: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

StrategyYou need toselect a card

You have a card in the suit

that was lead?

Do you have any EoP

Cards?

Card with athread you can

apply?

no

Do you have the high

card?

Play a low card, seeif anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 2Tampering starts

Whoever has 2 Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: Select anunplayed suitto lead

Play a low card ina suit where youhave few cards

no

About

Threat ModelingAboutThe Elevation of Privilege game is designed to be the easiest way to start looking at your design from a security perspective. It’s one way to threat model, intended to be picked up and used by any development group. Because the game uses STRIPED threats, it gives you a framework for thinking, and specific actionable examples of those threats.

Striped stands for:Spoofing: Impersonating something or someone else.Tampering: Modifying data or code.Repudiation: Claiming not to have performed an action.Information Disclosure: Exposing information to someone not authorized to see it.Denial of Service: Denying or degrading service to users.Elevation of Privilege: Gain capabilities without proper authorization.Privacy: abusing personal data of users

At www.microsoft.com/security/sdl/eop we have videos, score sheets and tips and tricks for playing.

Page 6: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

StrategyYou need toselect a card

You have a card in the suit

that was lead?

Do you have any EoP

Cards?

Card with athread you can

apply?

no

Do you have the high

card?

Play a low card, seeif anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 2Tampering starts

Whoever has 2 Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: Select anunplayed suitto lead

Play a low card ina suit where youhave few cards

no

Security Development Lifecycle

SDLThe Elevation of Privilege game is a fun and easy way to get started understanding the security of your systems by threat modeling. As you discover and correct design-level security problems, it’s worth thinking about the other ways security issues can creep into your code. Microsoft has a large collection of free resources available to help you get started with the Security Development Lifecycle (SDL).

To learn more about threat modeling and the Microsoft Security Development Lifecycle, visit our website at microsoft.com/sdl/

Page 7: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

About

Privacy extensionAboutWith the implementation of the General Data Protection Regulation and other privacy laws around the globe, Log-MeIn and many companies have moved data protection to the beginning of the software development life cycle. Data protection by design ensures that development teams con-sider their relevant compliance environments and mitigate risk to personal data early on.

This Elevation of Privilege privacy extension is designed to help you integrate data protection into your threat model-ing exercise, to achieve data protection by design and increase your privacy knowledge.

1© 2017, LogMeIn, Inc. | CONFIDENTIAL – FOR INTERNAL USE ONLY

Page 8: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 9: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

StrategyYou need toselect a card

You have a card in the suit

that was led?

Do you have any EoP

Cards?

Card with athreat you can

apply?

no

Do you have the high

card?

Play a low card, see if anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 2Tampering starts

Whoever has 2 Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: see reversePlay a low card ina suit where youhave few cards

no

StrategyYou need toselect a card

You have a card in the suit

that was led?

Do you have any EoP

Cards?

Card with athreat you can

apply?

no

Do you have the high

card?

Play a low card, see if anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 2Tampering starts

Whoever has 2 Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: see reversePlay a low card ina suit where youhave few cards

no

StrategyYou need toselect a card

You have a card in the suit

that was lead?

Do you have any EoP

Cards?

Card with athread you can

apply?

no

Do you have the high

card?

Play a low card, seeif anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 3 ofTampering starts

Whoever has 3 of Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: see reversePlay a low card ina suit where youhave few cards

no

Page 10: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

StrategyYou need toselect a card

You have a card in the suit

that was led?

Do you have any EoP

Cards?

Card with athreat you can

apply?

no

Do you have the high

card?

Play a low card, see if anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 2Tampering starts

Whoever has 2 Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: see reversePlay a low card ina suit where youhave few cards

no

StrategyYou need toselect a card

You have a card in the suit

that was led?

Do you have any EoP

Cards?

Card with athreat you can

apply?

no

Do you have the high

card?

Play a low card, see if anyone else

has a threat

Play it so you cantake lead next hand

Play the threat thatyou can apply

yes

Must play in suit:all other arrows are advice

Choice: Play EoP or another card. For example, someone else may have played the Jack of EoP, and you only have a 9.

yes

yes

no

Share the rules

Deal the deck tostart play

Context

Play

Wrap up

Whoever has 2Tampering starts

Whoever has 2 Tampering:

Play card

Document issue

Have all playersplayed in this

hand?

yes

Record hand

Is there time foranother hand?

Wrap up

Play

If no:Play proceeds tonext (clockwise)player

If yes:Play starts with winner of the just-endedhand

(Taking 3 minutesto consider cardsmay improve flow)

Strategy: see reversePlay a low card ina suit where youhave few cards

no

Page 11: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

SpoofingAn attacker could squat on the random port or socket that the server normally uses.

2

Page 12: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 13: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

3 SpoofingAn attacker could try one credential after another and there’s nothing to slow them down (online or offline).

3

Page 14: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 15: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

SpoofingAn attacker can anonymously connect, because we expect authentication to be done at a higher level.

4

Page 16: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 17: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5 SpoofingAn attacker can confuse a client because there are too many ways to identify a server.

5

Page 18: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 19: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6 SpoofingAn attacker can spoof a server because identifiers aren’t stored on the client and checked for consistency on re-connection (that is, there’s no key persistence).

6

Page 20: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 21: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7 SpoofingAn attacker can connect to a server or peer over a link that isn’t authenticated(and encrypted).

7

Page 22: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 23: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8 SpoofingAn attacker could steal credentials stored on the server and reuse them (for example, a key is stored in a world readable file).

8

Page 24: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 25: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9 SpoofingAn attacker who gets a password can reuse it (use stronger authenticators).

9

Page 26: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 27: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

SpoofingAn attacker can choose to use weaker or no authentication.

10

Page 28: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 29: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

SpoofingAn attacker could steal credentials stored on the client and reuse them.

J

Page 30: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 31: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

SpoofingAn attacker could go after the way credentials are updated or recovered (account recovery doesn’t require disclosing the old password).

Q

Page 32: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 33: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

SpoofingYour system ships with a default admin password and doesn’t force a change.

K

Page 34: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 35: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

A SpoofingYou’ve invented a new Spoofing attack.

A

Page 36: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 37: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

3 TamperingAn attacker can take advantage of your custom key exchange or integrity control which you built instead of using standard crypto.

3

Page 38: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 39: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

TamperingYour code makes access control decisions all over the place, rather than with a security kernel.

4

Page 40: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 41: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5 TamperingAn attacker can replay data without detection because your code doesn’t provide timestamps or sequence numbers.

5

Page 42: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 43: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6 TamperingAn attacker can write to a data store your code relies on.

6

Page 44: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 45: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7 TamperingAn attacker can bypass permissions because you don’t make names canonical before checking access permissions.

7

Page 46: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 47: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8 TamperingAn attacker can manipulate data because there’s no integrity protection for data on the network.

8

Page 48: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 49: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9 TamperingAn attacker can provide or control state information.

9

Page 50: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 51: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Tampering10An attacker can alter information in a data store because it has weak ACLs or includes a group which is equivalent to everyone (“all Live ID holders”).

Page 52: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 53: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

0100

1001

0100

10

0100

1001

0100

10

TamperingAn attacker can write to some resource because permissions are granted to the world or there are no ACLs.

J

Page 54: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 55: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

0100

1001

0100

10

0100

1001

0100

10

TamperingAn attacker can change parameters over a trust boundary and after validation (for example, important parameters in a hidden field in HTML, or passing a pointer to critical memory).

Q

Page 56: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 57: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

0100

1001

0100

10

0100

1001

0100

10

TamperingAn attacker can load code inside your process via an extension point.

K

Page 58: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 59: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

A TamperingYou’ve invented a new Tampering attack.

A

Page 60: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 61: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

RepudiationAn attacker can pass data through the log to attack a log reader, and there’s no documentation of what sorts of validation are done.

2

Page 62: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 63: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

3 RepudiationA low privilege attacker can read interesting security information in the logs.

3

Page 64: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 65: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

RepudiationAn attacker can alter files or messages because the digital signature system you’re implementing is weak, or uses MACs where it should use a signature.

4

Page 66: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 67: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5An attacker can alter log messages on a networkbecause they lack strongintegrity controls.

5 Repudiation

Page 68: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 69: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6 RepudiationAn attacker can create a log entry without a timestamp (or no log entry is time-stamped).

6

Page 70: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 71: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7 RepudiationAn attacker can make the logs wrap around and lose data.

7

Page 72: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 73: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8 RepudiationAn attacker can make a log lose or confuse security information.

8

Page 74: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 75: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9 RepudiationAn attacker can use a shared key to authenticate as different principals, confusing the information in the logs.

9

Page 76: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 77: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

RepudiationAn attacker can get arbitrary data into logs from unauthenticated (or weakly authenticated) outsiders without validation.

10

Page 78: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 79: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

logs = 0

RepudiationAn attacker can edit logs and there’s no way to tell (perhaps because there’s no heartbeat option for the logging system).

J

Page 80: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 81: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

logs = 0

RepudiationAn attacker can say “I didn’t do that,” and you would have no way to prove them wrong.

Q

Page 82: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 83: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

logs = 0

RepudiationThe system has no logs.

K

Page 84: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 85: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

A RepudiationYou’ve invented a new Repudiation attack.

A

Page 86: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 87: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Information DisclosureAn attacker can brute-forcefile encryption because there’sno defense in place (exampledefense: password stretching).

2

Page 88: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 89: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

3Information DisclosureAn attacker can see error messages with security-sensitive content.

3

Page 90: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 91: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Information DisclosureAn attacker can read content because messages (for example, an email or HTTP cookie) aren’t encrypted even if the channel is encrypted.

4

Page 92: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 93: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5Information DisclosureAn attacker may be able to read a document or data because it’s encrypted with a non-standard algorithm.

5

Page 94: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 95: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6Information DisclosureAn attacker can read data because it’s hidden or occluded (for undo or change tracking) and the user might forget that it’s there.

6

Page 96: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 97: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7Information DisclosureAn attacker can act as a “man in the middle” because you don’t authenticate endpoints of a network connection.

7

Page 98: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 99: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8Information DisclosureAn attacker can access information through a search indexer, logger, or other such mechanism.

8

Page 100: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 101: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9Information DisclosureAn attacker can read sensitive information in a file with bad ACLs.

9

Page 102: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 103: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

An attacker can read information in files with no ACLs.

10Information Disclosure

Page 104: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 105: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Found it!Don’t tell anyone, but... What!*#@!

No cryptography was used?

Information DisclosureAn attacker can discover the fixed key being used to encrypt.

J

Page 106: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 107: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Found it!Don’t tell anyone, but... What!*#@!

No cryptography was used?

Information DisclosureAn attacker can read the entire channel because the channel (for example, HTTP or SMTP) isn’t encrypted.

Q

Page 108: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 109: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Found it!Don’t tell anyone, but... What!*#@!

No cryptography was used?

Information DisclosureAn attacker can read networkinformation because there’sno cryptography used.

K

Page 110: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 111: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

AInformation DisclosureYou’ve invented a new Information Disclosure attack.

A

Page 112: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 113: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial ofServiceAn attacker can make your authentication system unusable or unavailable.

2

Page 114: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 115: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

3Denial ofServiceAn attacker can make a client unavailable or unusable but the problem goes away when the attacker stops (client, authenticated, temporary).

3

Page 116: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 117: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial ofServiceAn attacker can make a server unavailable or unusable but the problem goes away when the attacker stops (server, authenticated, temporary).

4

Page 118: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 119: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5Denial ofServiceAn attacker can make a client unavailable or unusable without ever authenticating, but the problem goes away when the attacker stops (client, anonymous, temporary).

5

Page 120: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 121: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6Denial ofServiceAn attacker can make a server unavailable or unusable without ever authenticating, but the problem goes away when the attacker stops (server, anonymous, temporary).

6

Page 122: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 123: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7Denial ofServiceAn attacker can make a client unavailable or unusable and the problem persists after the attacker goes away (client, authenticated, persistent).

7

Page 124: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 125: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8Denial ofServiceAn attacker can make a server unavailable or unusable and the problem persists after the attacker goes away (server, authenticated, persistent).

8

Page 126: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 127: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9Denial ofServiceAn attacker can make a client unavailable or unusable without ever authenticating, and the problem persists after the attacker goes away (client, anonymous, persistent).

9

Page 128: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 129: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial ofServiceAn attacker can make a server unavailable or unusable without ever authenticating, and the problem persists after the attacker goes away (server, anonymous, persistent).

10

Page 130: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 131: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial ofServiceAn attacker can cause the logging subsystem to stop working.

J

Page 132: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 133: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial ofServiceAn attacker can amplify a Denial of Service attack through this component with amplification on the order of 10:1.

Q

Page 134: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 135: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial ofServiceAn attacker can amplify a Denial of Service attack through this component with amplification on the order of 100:1.

K

Page 136: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 137: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

ADenial ofServiceYou’ve invented a new Denial of Service attack.

A

Page 138: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 139: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5Elevationof PrivilegeAn attacker can force data through different validation paths which give different results.

5

Page 140: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 141: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6Elevationof PrivilegeAn attacker could take advantage of .NET permissions you ask for, but don’t use.

6

Page 142: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 143: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7Elevationof PrivilegeAn attacker can provide a pointer across a trust boundary, rather than data which can be validated.

7

Page 144: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 145: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8Elevationof PrivilegeAn attacker can enter data that is checked while still under the attacker’s control and used later on the other side of a trust boundary.

8

Page 146: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 147: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9Elevationof PrivilegeThere’s no reasonable way for callers to figure out what validation of tainted data you perform before passing it to them.

9

Page 148: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 149: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Elevationof PrivilegeThere’s no reasonable way for a caller to figure out what security assumptions you make.

10

Page 150: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 151: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

JElevationof PrivilegeAn attacker can reflect input back to a user, like cross-site scripting.

J

Page 152: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 153: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

JElevationof PrivilegeYou include user-generated content within your page, possibly including the content of random URLs.

Q

Page 154: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 155: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

JElevationof PrivilegeAn attacker can inject a command that the system will run at a higher privilege level.

K

Page 156: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 157: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

AElevationof PrivilegeYou’ve invented a new Elevation of Privilege attack.

A

Page 158: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 159: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Privacy

Your system does not ship by default with optimized, privacy-friendly settings

2

Page 160: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 161: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

3Privacy

Your system is not able to properly handle withdrawal of consent or objection to processing

3

Page 162: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 163: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Privacy

Your system collects consent but is not documenting aspects as to how, when, and to what consent was provided

4

Page 164: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 165: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

5Privacy

Personal data in your system is missing pointers to data subjects, hence the data is forgotten when the owner is deleted or makes a request for access

5

Page 166: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 167: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

6Privacy

Your system collects more per-sonal data than strictly necessary to fulfill the intended purpose

6

Page 168: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 169: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7Privacy

Your system is not following through on personal data deletion in integrated 3rd parties

7

Page 170: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 171: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

8Privacy

Your system is collecting personal data without being able to name the specified, explicit and legitimate purpose it is used for

8

Page 172: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 173: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9Privacy

Your product team avoids required controls for personal data as they move it outside of the regulated and hardened environments

9

Page 174: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 175: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Privacy

Your system does not imple-ment erasure or anonymization for personal data once the legal ground for processing has been withdrawn

10

Page 176: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 177: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Privacy

You’ve identified a new privacy violation

A

A

Page 178: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 179: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

KPrivacy

Your system reuses personal data collected for a specific purpose for a non-compatible other purpose

K

Page 180: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 181: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

QPrivacy

Your system is processing personal data in a way that is not described in the privacy notice

Q

Page 182: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 183: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

JPrivacy

Your system is processing personal data in countries or with 3rd parties which have weak privacy standards

J

Page 184: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have
Page 185: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Spoofing2. An attacker could squat on the random port or socket

that the server normally uses.

3. An attacker could try one credential after another and there’s nothing to slow them down (online or offline).

4. An attacker can anonymously connect because we expect authentication to be done at a higher level.

5. An attacker can confuse a client because there are too many ways to identify a server.

6. An attacker can spoof a server because identifiers aren’t stored on the client and checked for consistency on re-connection (that is, there’s no key persistence).

7. An attacker can connect to a server or peer over a link that isn’t authenticated (and encrypted).

8. An attacker could steal credentials stored on the server and reuse them (for example, a key is stored in a world readable file).

9. An attacker who gets a password can reuse it (use stronger authenticators).

continued on back

Spoofing

Page 186: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

10. An attacker can choose to use weaker or no authentication.

J. An attacker could steal credentials stored on the client and reuse them.

Q. An attacker could go after the way credentials are updated or recovered (account recovery doesn’t require disclosing the old password).

K. Your system ships with a default admin password and doesn’t force a change.

A. You’ve invented a new Spoofing attack.

Spoofing cont.

Spoofing

Page 187: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Tampering

Tampering3. An attacker can take advantage of your custom key

exchange or integrity control which you built instead of using standard crypto.

4. Your code makes access control decisions all over the place, rather than with a security kernel.

5. An attacker can replay data without detection because your code doesn’t provide timestamps or sequence numbers.

6. An attacker can write to a data store your code relies on.

7. An attacker can bypass permissions because you don’t make names canonical before checking access permissions.

8. An attacker can manipulate data because there’s no integrity protection for data on the network.

9. An attacker can provide or control state information.

10. An attacker can alter information in a data store because it has weak ACLs or includes a group which is equivalent to everyone (“all Live ID holders”).

continued on back

Page 188: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Tampering cont.J. An attacker can write to some resource because

permissions are granted to the world or there are no ACLs.

Q. An attacker can change parameters over a trust boundary and after validation (for example, important parameters in a hidden field in HTML, or passing a pointer to critical memory).

K. An attacker can load code inside your process via an extension point.

A. You’ve invented a new Tampering attack.

Tampering

Page 189: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Repudiation

Repudiation

2. An attacker can pass data through the log to attack a log reader, and there’s no documentation of what sorts of validation are done.

3. A low privilege attacker can read interesting security information in the logs.

4. An attacker can alter files or messages because the digital signature system you’re implementing is weak, or uses MACs where it should use a signature.

5. An attacker can alter log messages on a network because they lack strong integrity controls.

6. An attacker can create a log entry without a timestamp (or no log entry is timestamped).

7. An attacker can make the logs wrap around and lose data.

8. An attacker can make a log lose or confuse security information.

9. An attacker can use a shared key to authenticate as different principals, confusing the information in the logs.

continued on back

Page 190: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Repudiation cont.

Repudiation

10. An attacker can get arbitrary data into logs from unauthenticated (or weakly authenticated) outsiders without validation.

J. An attacker can edit logs and there’s no way to tell (perhaps because there’s no heartbeat option for the logging system).

Q. An attacker can say “I didn’t do that,” and you would have no way to prove them wrong.

K. The system has no logs.

A. You’ve invented a new Repudiation attack.

Page 191: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Information Disclosure2. An attacker can brute-force file encryption because

there’s no defense in place (example defense: password stretching).

3. An attacker can see error messages with security-sensitive content.

4. An attacker can read content because messages (for example, an email or HTTP cookie) aren’t encrypted even if the channel is encrypted.

5. An attacker may be able to read a document or data because it’s encrypted with a non-standard algorithm.

6. An attacker can read data because it’s hidden or occluded (for undo or change tracking) and the user might forget that it’s there.

7. An attacker can act as a “man in the middle” because you don’t authenticate endpoints of a network connection.

8. An attacker can access information through a search indexer, logger, or other such mechanism.

continued on back

Information Disclosure

Page 192: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

9. An attacker can read sensitive information in a file with bad ACLs.

10. An attacker can read information in files with no ACLs.

J. An attacker can discover the fixed key being used to encrypt.

Q. An attacker can read the entire channel because the channel (for example, HTTP or SMTP) isn’t encrypted.

K. An attacker can read network information because there’s no cryptography used.

A. You’ve invented a new Information Disclosure attack.

Information Disclosure cont.

Information Disclosure

Page 193: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial of Service

Denial of Service2. An attacker can make your authentication system

unusable or unavailable.

3. An attacker can make a client unavailable or unusable but the problem goes away when the attacker stops (client, authenticated, temporary).

4. An attacker can make a server unavailable or unusable but the problem goes away when the attacker stops (server, authenticated, temporary).

5. An attacker can make a client unavailable or unusable without ever authenticating, but the problem goes away when the attacker stops (client, anonymous, temporary).

6. An attacker can make a server unavailable or unusable without ever authenticating, but the problem goes away when the attacker stops (server, anonymous, temporary).

7. An attacker can make a client unavailable or unusable and the problem persists after the attacker goes away (client, authenticated, persistent).

continued on back

Page 194: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Denial of Service cont.

8. An attacker can make a server unavailable or unusable and the problem persists after the attacker goes away (server, authenticated, persistent).

9. An attacker can make a client unavailable or unusable without ever authenticating, and the problem persists after the attacker goes away (client, anonymous, persistent).

10. An attacker can make a server unavailable or unusable without ever authenticating, and the problem persists after the attacker goes away (server, anonymous, persistent).

J. An attacker can cause the logging subsystem to stop working.

Q. An attacker can amplify a Denial of Service attack through this component with amplification on the order of 10:1.

K. An attacker can amplify a Denial of Service attack through this component with amplification on the order of 100:1.

A. You’ve invented a new Denial of Service attack.

Denial of Service

Page 195: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Elevation of Privilege

Elevation of Privilege (EoP)5. An attacker can force data through different

validation paths which give different results.

6. An attacker could take advantage of .NET permissions you ask for, but don’t use.

7. An attacker can provide a pointer across a trust boundary, rather than data which can be validated.

8. An attacker can enter data that is checked while still under the attacker’s control and used later on the other side of a trust boundary.

9. There’s no reasonable way for callers to figure out what validation of tainted data you perform before passing it to them.

10. There’s no reasonable way for a caller to figure out what security assumptions you make.

J. An attacker can reflect input back to a user, like cross-site scripting.

Q. You include user-generated content within your page, possibly including the content of random URLs.

K. An attacker can inject a command that the system will run at a higher privilege level.

A. You’ve invented a new Elevation of Privilege attack.

Page 196: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Elevation of Privilege

Page 197: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

Privacy

PrivacyA: You’ve identified a new privacy violation

K: Your system reuses personal data collected for a specific purpose for a non-compatible other purpose

Q: Your system is processing personal data in a way that is not described in the privacy notice

J: Your system is processing personal data in countries or with 3rd parties which have weak privacy standards

10: Your system does not implement erasure or anonymization for personal data once the legal ground for processing has been withdrawn

9: Your product team avoids required controls for personal data as they move it outside of the regulated and hardened environments

8: Your system is collecting personal data without being able to name the specified, explicit and legitimate purpose it is used for

Page 198: Instructions 1 - logmeincdn.azureedge.net · Deal the deck to start play Context Play Wrap up Whoever has 2 Tampering starts Whoever has 2 Tampering: Play card Document issue Have

7: Your system is not following through on personal data deletion in integrated 3rd parties

6: Your system collects more personal data than strictly necessary to fulfill the intended purpose

5: Personal data in your system is missing pointers to data subjects, hence the data is forgotten when the owner is deleted or makes a request for access

4: Your system collects consent but is not documenting aspects as to how, when, and to what consent was provided

3: Your system is not able to properly handle withdrawal of consent or objection to processing

2: Your system does not ship by default with optimized, privacy-friendly settings.

Privacy