Return to Video

reproducible_builds_status_update.webm

  • Not Synced
    Next talk
  • Not Synced
    Chris and Holger are going to talk to us again
  • Not Synced
    about reproducible builds and tell us
    where they're up to.
  • Not Synced
    Thanks very much
  • Not Synced
    The outline of this talk is from last year
    we realised there were a lot of questions.
  • Not Synced
    The rough plan is to quickly go over
    what reproducible builds are
  • Not Synced
    I guess everyone is up to speed
  • Not Synced
    but getting everyone on the same page
    would be a good idea.
  • Not Synced
    Then Holger's going to jump in
    and give the status update
  • Not Synced
    and then we're going to talk about
    future work, questions etc
  • Not Synced
    What is the actual problem we're
    solving here?
  • Not Synced
    You can always inspect the source code of
    free software for malicious flaws
  • Not Synced
    or just flaws as well.
  • Not Synced
    Unfortunately distributions provide
    precompiled binaries to end users.
  • Not Synced
    So can you actually trust this
    compilation process has not
  • Not Synced
    introduced flaws of its own?
  • Not Synced
    The problem is it seems very effective if
    you want to go after end users
  • Not Synced
    you can go after developers.
    Because if you go infect a developers
  • Not Synced
    machine you will then infect all the
    users of the software they generate.
  • Not Synced
    Financial incentives. There always were
    but they are even more so these days
  • Not Synced
    with mobile phone etc.
  • Not Synced
    You can also have very subtle flaws.
    This one in particular there was a
  • Not Synced
    root exploit in OpenSSH just by changing
    a compare equal.
  • Not Synced
    That sort of assembler jump thing and it
    gives you root
  • Not Synced
    but with only a single bit difference in
    the binary.
  • Not Synced
    Which is not to shabby.
  • Not Synced
    Then you have all sorts of cute demos
    where you load up the source code in VIM
  • Not Synced
    and it just looks like 'Hello world' but
    when you compile it with GCC
  • Not Synced
    your kernel rootkit just goes 'oh I'm
    going to give you a different file'
  • Not Synced
    and self replicates of them like that.
  • Not Synced
    Difficult to trust the process.
  • Not Synced
    And there's some recent history as well
    around Xcodeghost and iOS
  • Not Synced
    and adverts and things like that.
  • Not Synced
    You can Google those things.
    Really scary stuff.
  • Not Synced
    The last example is actually coming from
    a CIA design paper from 2012.
  • Not Synced
    Which was then found in the wild in 2014.
    So these exploits are actually happening.
  • Not Synced
    People are targeting developers to get
    users.
  • Not Synced
    Xcodeghost had 20 milllion user
    installations.
  • Not Synced
    It was probably not the CIA or NSA but
    we don't know who it was.
  • Not Synced
    There are many people who do these
    exploits in the wild.
  • Not Synced
    Yeah it's not just 'Here's this cute
    thing we can talk about'.
  • Not Synced
    It's actually happening.
  • Not Synced
    The motivation is to ensure no flaws are
    introduced during the build process.
  • Not Synced
    We do this by ensuring the build always
    produces identical results.
  • Not Synced
    Then multiple parties do the same thing.
  • Not Synced
    I build it, you build it, your friends
    build it etc
  • Not Synced
    An an attacker would need to infect
    everyone simultaneously
  • Not Synced
    otherwise they'd be detected.
    For example if my machine was compromised
  • Not Synced
    I would suddenly come up with a
    different result.
  • Not Synced
    I would come up with different binaries.
  • Not Synced
    And you'd be 'what's going on here' and
    eventually we would discover
  • Not Synced
    that my machine was rootkitted etc.
  • Not Synced
    You probably know it but identically
    means bit by bit identical.
  • Not Synced
    As that is really the same.
  • Not Synced
    Yeah, bit, SHA, MD5 whatever you want.
  • Not Synced
    There are a bunch of challenges here.
    The biggest one is timestamps.
  • Not Synced
    A lot of software just loves to include timestamps everywhere
Title:
reproducible_builds_status_update.webm
Video Language:
English
Team:
Debconf
Project:
2016_miniconf-cambridge16
Duration:
43:10

English subtitles

Incomplete

Revisions Compare revisions