Slide 1

Slide 1 text

The Web We Can Ship [email protected] / @mikewest SecWeb 2020 @ Euro IEEE S&P

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

People live and work on the web.

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

How does Blink ship features?

Slide 8

Slide 8 text

Blink's Launch Process

Slide 9

Slide 9 text

Stay up to date. ● Conversations around intents happen in public on [email protected]. ● Chrome Platform Status has historical information about features. ● https://bit.ly/blinkintents extracts intent threads from blink-dev@. ● @intenttoship tweets Blink's intents, as well as information about other vendors.

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

https://research.google/pubs/pub47833/

Slide 13

Slide 13 text

Evaluating Tradeoffs

Slide 14

Slide 14 text

Core questions for deprecations. ● Why should we remove the feature? How is it bad for the web? ● Will users notice if we break the feature? Will they be happy or sad? ● Do developers rely on the feature? If so, how widely? ● Do alternatives exist?

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Measuring the measurable. For objective questions, a few data sources are very useful: ● Chrome's Use Counters ● Chrome's UKM ● HTTP Archive ● Web Platform Tests ● Anecdata

Slide 17

Slide 17 text

Use Counters Each metric folds into one bit per tab (usage in any frame is enough). ...0100010100101001100100000001010...

Slide 18

Slide 18 text

Use Counters Aggregated usage % over all page views. https://chromestatus.com/

Slide 19

Slide 19 text

Use Counters If we're not measuring something you think we ought to measure, add a counter! https://bit.ly/2Zojq76

Slide 20

Slide 20 text

UKM (URL Keyed Metrics) Each metric folds into one bit per tab, tied to the top-level origin. ...0100010100101001100100000001010...

Slide 21

Slide 21 text

UKM Aggregated usage % broken up by origin. https://chromestatus.com/

Slide 22

Slide 22 text

HTTP Archive (https:/ /httparchive.org) https://httparchive.org/ Periodic crawls of the top [many] sites, recording use counters as well as other vital statistics as it goes.

Slide 23

Slide 23 text

Web Platform Tests (https:/ /wpt.fyi)

Slide 24

Slide 24 text

A Short History of Breaking Things.

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 Chrome and Adobe collaborate to bundle Flash Fuzzing! Reward$ for Flash exploits PPAPI Flash Driving down major Flash usage on the web History of Flash (in Chrome) HTML5 is made default in Chrome Flash EOL announced! Adobe Flash Mitigations to disable plugins, whitelist sites, and update Flash separately Ephemeral Enabling Disabled by default. More Warnings

Slide 27

Slide 27 text

2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 Chrome and Adobe collaborate to bundle Flash Fuzzing! Reward$ for Flash exploits PPAPI Flash Driving down major Flash usage on the web History of Flash Security (from Chrome’s perspective) HTML5 is made default in Chrome Flash EOL announced! Adobe Flash Mitigations to disable plugins, whitelist sites, and update Flash separately Ephemeral Enabling Disabled by default. More Warnings 1. Developer-facing warnings and user-facing friction can reduce usage. 2. Enterprise opt-outs remove roadblocks. 3. Collaboration with other vendors tells a consistent story.

Slide 28

Slide 28 text

2014 2015 2016 2017 2018 2019 Marking HTTP as "Not Secure" Phase 3: HTTP is Not Secure! HTTPS Transparency Report Security panel in DevTools to debug broken HTTPS Proposal to evolve browser UI floated publicly Phase 1: HTTP is Not Secure! (for pws & cc#s) Phase 2: HTTP is Not Secure! (for pws & cc#s OR Incognito) UI plan announced! crbug.com/267781

Slide 29

Slide 29 text

2014 2015 2016 2017 2018 2019 Marking HTTP as "Not Secure" Phase 3: HTTP is Not Secure! HTTPS Transparency Report Security panel in DevTools to debug broken HTTPS Proposal to evolve browser UI floated publicly Phase 1: HTTP is Not Secure! (for pws & cc#s) Phase 2: HTTP is Not Secure! (for pws & cc#s OR Incognito) UI plan announced! crbug.com/267781 1. Developers care deeply about browser UI surfaces, and appreciate clear timelines (deadlines). 2. Phased rollouts can keep the required actions top-of-mind. 3. Ecosystem changes require broad partnerships. 4. Conspiracy theories abound.

Slide 30

Slide 30 text

2019Q2 2019Q3 2019Q4 2020Q1 2020Q2 2020Q3 Defaulting cookies to "SameSite=Lax" Rolled out in August 2020 Enterprise Opt-outs DevTools warnings. % Experiments. Pushed timeline back to Feb. 2020 due to interoperability concerns w/ Safari. Began rolling out to M80+ Announced intent at I/O. Targeting Sept. 2019. SSO Carveouts Direct Outreach & Measurement

Slide 31

Slide 31 text

2019Q2 2019Q3 2019Q4 2020Q1 2020Q2 2020Q3 Defaulting cookies to "SameSite=Lax" Rolled out in August 2020 Enterprise Opt-outs DevTools warnings. % Experiments. Pushed timeline back to Feb. 2020 due to interoperability concerns w/ Safari. Began rolling out to M80+ Announced intent at I/O. Targeting Sept. 2019. SSO Carveouts Direct Outreach & Measurement 1. Low-percentage rollouts help bring bugs to the surface. Metrics thus gathered are critical. 2. Direct outreach can be an effective (though expensive) migration tool. 3. Good enough is better than perfect. 4. Holidays (and global pandemics) are poor times to schedule a change.

Slide 32

Slide 32 text

Thanks! [email protected] / @mikewest ● Conversations around intents happen in public on [email protected]. ● Chrome Platform Status has historical information about features. ● https://bit.ly/blinkintents extracts intent threads from blink-dev@. ● @intenttoship tweets Blink's intents, as well as information about other vendors.

Slide 33

Slide 33 text

Appendix Photos: Paper Boats on Solid Surface Miguel Á. Padriñán Vintage Camillus 1006 Joe Haupt Top View Of Boat On Sea Dominik Reiter Arial View of a Shipwreck Marc Coenen Every day General Grievous adds a unique lightsaber to his collection. Day 66(Finale) Thibson34 Birds-Eye View of Shipping Containers Tom Fisk Shipping Routes Red Black Wikimedia Commons Ship Rope Dock Cargo Skitterphoto