http security headers at app sec usa

speaker: Kenneth Lee

Why care:

  • User security issue
  • Browser impacting change

HSTS (HTTP Strict Transport Security)

  • Use of SSL/TLS for site
  • When send his header, browsers wil guarantee to visit the url
  • User needs to visit the website a least once in order to receive the header.
  • Protect against man in the middle attack
  • But don’t want to make whole site HTTPS – capacity planning assumed less https. Wen ready to make whole site HTTS, this setting becomes deprecated
  • Need to prevent load balancer from always sending batck to http so doesn’t loop
  • He talked about the design Etsy used to implement this
  • Since multiple users can have accounts that use th same machine, set timeout to 0 so dont get other person’s preferences.
  • Browser handles via 302s transparently.
  • Need to make sure your CDN supports it. Similarly for 3rd party content providers. Can’t use off domain HTTP because browser dispays mixed content warnings. Firefox and Chrome block it by default.
  • IE and Safari mobile don’t support yet. Can’t use this header to solve routing problems.

X-Frame Options (XFO)

  • prevent clickjacking/framing website
  • used to have to use JavaScript to avoid being framed.
  • Can use JavaScript to log who framing you (if don’t know) so have list of sites that can frame you. Then you can create whitelist
  • Newer option allow from whitelist. Older browsers don’t support though
  • Warn users if taking away framing. Maybe someone is using it to frame a product. Give alternate way to show content they want to show.

CSP (content security policy)

  • If transfering header on each request, it can get large quickly
  • Doesn’t allow inline JavaScript on a website by defaut.
  • Can’t whitelist inline JavaScript in CSP 1.0. Problem because most apps do have – unless they are quite new
  • Can’t refactor everything right away
  • CSP 1.1 adds browser JavaScript API support.
  • CSP 1.1 adds puting in meta tag rather than a header. Will use as CSP from meta tag unless there already is a header.
  • CSP 1.1 also adds script-nonce (random value) and script-hash (hash of inline JavaScript in question) to allow inline JavaScript. CDN reuires hash because nonce won’t be random.
  • Can use reporting to log blocked element info
  • cspisawesome.com – good website to craft your own policy

X-XSS-Protection

  • Used to be IE specific
  • Now in Chrome too. Added a report URL mechanism
  • Looks for parameter arguments in response
  • This originally was used to break Clickjacking defensive JavaScript

X-Content-Type-Options

  • Defaults to nosniff
  • Older verisions of IE guesed content type even if specified
  • Took advantage of different content type than page author intended to make XSS attack

My take
The code example was really small. He said you could dowload the presentation to follow along but I didn’t have internet at all in this room. Plus a lot of people were taking note on paper without a device. There was was plenty of space on the slide. He could have split the line across and lines and use a decent font size.

The actual content had a lot that I didn’t know which was good. I knew about X-Frame options. The rest was new to me. I had heard about CSP 1.0 when it came out but “you can’t use it if you have any in-line JavaScript” made it a nonstarter.

[this wasn’t posted live due to lack of internet]

training developers at appsecusa

speaker: John Dickson

Bruce Schneider wrote in March “I personallly believe that training uers in security is generally a waste of time and that the money canbe pnt better elsewhere”

Developer Training vs User Behavior training

  • both are trying to change behaviors
  • Developers have more power to say no/drive training by releaes
  • For developers, training is infrequent, but more disruptive. User awareness training is 15-45 minutes. Developer class is 1-2 days.
  • PCI DSS requires training

Numbers

  • Metrics rare even for HR training.
  • Turnover 20-30% in software development
  • Training budgets one of first things to cut in bad economy

A research study

  • included 600 developers. 100 had over 3 days of security training, but results didn’t turn out to reflect that. gave 15 multiple choice question quiz
  • “Didn’t want to ask how old they are because shouldn’t matter” [why not?]
  • Over half of developers had over 7 years of experience [we are in one of few inustries where this is considered odd or even worth mentioning]
  • Had hypothesis that finanical services sector would have an advantage, but didn’t score better. Sample size in that sector, too low.
  • Tested both awareness an defnesive coding
  • Largest enterprises had lowest secure coding knowledge. They weren’t the largest banks though. Suspects that would have raised numbers.
  • Architects did best, QA did worst. Developers were in the middle.
  • Most people understand what a XSS error is, but less than 20% know what to do about it. How do you operationalize the application security concepts.
  • Had to throw out 100 results (out of 600) because didn’t complete the uestions. This is common in studies. However, they didn’t fill in the harder questions. Results even worse if you count them as wrong.
  • Higher ed teaching at most one elective on security and likely just covers encryption. [Is it their job to do so? They also rarely cover testing or maiintenance or many other skills that are needed in the real world]
  • Study just did before and right after. Need to do again later to reinforce

How developers learn

  • Companies buy a class or e-learning modules
  • After graduate, people learn informally. Blogs, rss, social media,developer websites, email list, safari online [books aren’t dead]
  • Need refreshers preferably in bite size chunks. Include training in performance planning so developer feels accountable to understand
  • Try to do real world situations as refreshers. Talk about a breech
  • Incentives matter. Saw them making it more likely for people to fill out the survey. Even for a captive audience.

Survey will become a whitepaper.

“Need to sales/market the dev teams”

My take
Good session. The research study was interesting. I wish here was more time to go into that. There’s good talking points in it. I certainly agree on the need to customize training.

browser security at app sec usa

(missed the beginning of this, but apparently not too much. it was standing room only; was lucky to get a seat)

speaker: Robert Hansen

What is wanted

  • Google wants higher ad spend
  • Advertisers want to monetize users
  • Users want quality products and better search results
  • Everyone wants faster performance

Goal: protect sensitive info

Why Tor browser not solution

  • admitted to 100 hacked nodes. know there are more
  • “Grandpa” sends info over http instead of https and then hacked node hass it
  • Can’t do everything anonymously. Anonomous != privacy

What willing to give up for security

  • Usability – speed, bookmarks, autodfill,prefetching
  • Most popups and warnings (“do you want to allow scripts” is useless)

Problems/Current Solutions

  1. XDomain – request domain,no script. port locking,, remove credentials upon logout (limits what CSRF can do), split horizon dns (don’t let internet to see internal dns)
  2. command execution – nocript plugin, quickjava plugin, remove protocol handlers (“are you sure you want to run”), sandboxie (for windows), antivirus (incremental gain if have extra cpu; just don’t rely on it), whitelisting. Many techniques are like an onion. Protection in layers. VM, sandbox, striped down browser.
  3. Data exfiltration and privacy – disable Aero tranparency on Windows 7 so can’t see what behind window
  4. Man in the iddle – SSH, proxies, VN tunnel
  5. Pretext/phishing – NoScript, education. If don’t reuse passwords, it isn’t tgat helpful for someone to get it.

Plugins the speaker users

  • NoScript
  • FoxyProxy
  • RequestPolicy
  • QuickJava

However, to actually be secure, the web looks like 1996 – everything is text. But Lynx isn’t enough because nneed the ability to turn on.

Do Not Track

  • Sends a signal to websites that don’t want to be tracked
  • Three states
  • #1 complaint about IE 10 is that doesn’t respect the spec
  • Most browsers implement only 2 states – track or not at all
  • Firefox follows spec – do no track, track do not tell sites about my security preferences (which is confusing)

Future

  • More than 95% of browser revenue now comes from ads. Google paying almost $1B to be default search in Firefox.
  • Google attacking ad blockers.
  • locally sourced ads, require JavaScript to view websites, regulation in response to consumers.

Tool: Aviator for Mac to make more secure/private

My take on this
This was a lot of information in the part about his browser setup. I’m glad I know enough to be able to understand most of it! Some of it felt theoretical in that the perfect browser doesn’t actually. But I was surprised at how much technology exists to solve the problems we have. And the parts about advertisers influence were interesting.