Design Flashcards

1
Q

Why build security mechanisms into TFO to protect both the server and
other hosts from such attacks.

A

DDos: an attacker or set of attackers could send HTTP GET
requests to a server while spoofing the source address of a
victim host, thereby causing the server both to perform potentially
expensive request processing and to send a potentially
large response to a victim host

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

goal in designing TCP Fast Open

A

to enable each
end of a TCP connection to safely transmit and process any
received data while the 3WHS is still in progress

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

TFO accepts old SYN packets with data in some

rare cases

A

to manage stale or duplicate SYN packets

would add significant complexity to the design and the tradeoff is of

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

TFO is restricted to applications

that are tolerant to duplicate connection / data requests.

A

But, Since a wide variety of applications can tolerate duplicate
SYN packets with data (e.g. those that are idempotent or perform
query-style transactions), we believe this constitutes an
appropriate tradeoff.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Another assumption when using TFO

A

We assume that servers cannot
maintain permanent or semi-permanent per-client state since
this may require too much server memory, and that servers
may be behind load balancers or other such network devices

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

More assumptions when using TFO

A

We also assume that servers cannot perform any operations to support TFO that are not reasonable to implement on the kernel’s critical path (e.g. symmetric cryptography is possible, but asymmetric is not)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Big assumption here

A

Finally, we assume that it is acceptable to leverage other security mechanisms within a server’s domain (if needed) in concert with TFO to provide the required security guarantees.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Our primary goal in the design of TFO is to prevent the
source-address spoofing attack mentioned above. To prevent
this attack, we use a

A

security “cookie”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

an encrypted data string that is used

to validate the IP ownership of the client

A

The TFO cookie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

responsible

for generation and validation of TFO cookies

A

The Server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

The server periodically

revokes cookies it granted earlier by

A

rotating the secret key used to generate them. This key rotation prevents malicious parties from harvesting many cookies over time for use in a coordinated attack on the server.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

TFO’s goal (evolving…)

A

to allow data exchange during TCP’s initial

handshake while avoiding any new security vulnerabilities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A way to mitigate attackers

A

the server maintains a counter of total pending TFO connection requests either on a per service port basis or for the server as a whole

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When users often click refresh in web browsers if a page does not load quickly, this can result in

A

duplicate transactions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

If the TFO cookie is not

available

A

it falls back on a regular TCP three-way handshake

and the data is queued up for transmission when the 3WHSis completed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

the use and handling of TFO cookies

is done by the networking stack and is

A

completely transparent to the application.

17
Q

The TFO cookie handling is transparent to applications

and the cookies received by a client from a server are not directly readable by applications unless they have

A

root privileges to sniff packets on the client. This prevents malicious sites from using simple browser hacks to trick users by making connections to other websites and stealing those TFO cookies for mounting an amplified reflection attack