Episode 142

Diving for BSD Perls

00:00:00
/
01:36:51

May 18th, 2016

1 hr 36 mins 51 secs

Your Hosts
Tags

About this Episode

This week on the show, we have all the latest news and stories! Plus an interview with BSD developer Alfred Perlstein, that you

This episode was brought to you by

iXsystems - Enterprise Servers and Storage for Open SourceDigitalOcean - Simple Cloud Hosting, Built for DevelopersTarsnap - Online Backups for the Truly Paranoid


Headlines

The May issus of BSDMag is now out

  • GhostBSD
  • Reusing OpenBSD's arc4random in multi-threaded user space programs
  • Securing VPN's with GRE / Strongswan
  • Installing XFCE 4.12 on NetBSD 7
  • Interview with Fernando Rodriguez, the co-founder of KeepCoding ***

A rundown of the FPT_WX_EXT.1 security reqiurement for General Purpose Operating Systems by the NSA

  • NIST/NSA Validation Scheme Report
  • The SFR or Security Functional Requirement requires that; "The OS shall prevent allocation of any memory region with both write and execute permissions except for [assignment: list of exceptions]."
  • While nearly all operating systems currently support the use of the NX bit, or the equivalent on processors such as SPARC and ARM, and will correctly mark the stack as non-executable, the fact remains that this in and of itself is deemed insufficient by NIST and NSA.
  • OpenBSD 5.8, FreeBSD, Solaris, RHEL, and most other Linux distro have failed.
  • HardenedBSD passes all three tests out of the box.
  • NetBSD will do so with a single sysctl tweak. Since they are using the PaX model, anything else using PaX, such as a grsecurity-enabled Linux distribution pass these assurance activities as well.
  • OpenBSD 5.9 does not allow memory mapping due to WX being enforced by the kernel, however the kernel will panic if there are any attempts to create such mappings. ***

DistroWatch reviews new features in FreeBSD 10.3

  • DistroWatch did a review of FreeBSD 10.3
  • They ran into a few problems, but hopefully those can be fixed
  • An issue with beadm setting the canmount property incorrectly causing the ZFS BE menu to not work as expected should be resolved in the next version, thanks to a patch from kmoore
  • The limitations of the Linux 64 support are what they are, CentOS 6 is still fairly popular with enterprise software, but hopefully some folks are interested in working on bringing the syscall emulation forward
  • In a third issue, the reviewer seemed to have issues SSHing from inside the jail. This likely has to do with how they got a console in the jail. I remember having problems with this in the past, something about a secure console. ***

BSD Unix: Power to the people, from the code

  • Salon.com has a very long article, chronicling much of the history behind BSD UNIX.
  • It starts with detailing the humble origins of BSD, starting with Bill Joy in the mid-70’s, and then goes through details on how it rapidly grew, and the influence that the University of Berkeley had on open-source.

“But too much focus on Joy, a favorite target for business magazine hagiography, obscures the larger picture. Berkeley’s most important contribution was not software; it was the way Berkeley created software. At Berkeley, a small core group — never more than four people at any one time — coordinated the contributions of an ever-growing network of far-flung, mostly volunteer programmers into progressive releases of steadily improving software. In so doing, they codified a template for what is now referred to as the “open-source software development methodology.” Put more simply, the Berkeley hackers set up a system for creating free software.”

  • The article goes on to talk about some of the back and forth between Linux and BSD, and why Linux has captured more of the market in recent years, but BSD is far from throwing in the towel.

“BSD patriots argue that the battle is far from over, that BSD is technically superior and will therefore win in the end. That’s for the future to determine. What’s indisputable is BSD’s contribution in the past. Even if, by 1975, Berkeley’s Free Speech Movement was a relic belonging to a fast-fading generation, on the fourth floor of Evans Hall, where Joy shared an office, the free-software movement was just beginning.”

  • An excellent article (If a bit long), but well worth your time to understand the origins of what we consider modern day BSD, and how the University of Berkley helped shape it. ***

iXsystems

Interview - Alfred Perlstein - alfred@freebsd.org / @splbio

  • Using BSD for projects ***

News Roundup

.NET framework ported to NetBSD

  • This pull request adds basic support for the .NET framework on NetBSD 7.x amd64
  • It includes documentation on how to get the .NET framework installed
  • It uses pkgsrc to bootstrap the required tools
  • pkgsrc-wip is used to get the actual .NET framework, as porting is still in progress
  • The .NET Core-CLR is now available for: FreeBSD, Linux, NetBSD, and OS X ***

OpenBSD SROP mitigation – call for testing

  • A new technique for exploiting flaws in applications and operating systems has been developed, called SROP
  • “we describe Sigreturn Oriented Programming (SROP), a novel technique for exploits and backdoors in UNIX-like systems. Like return-oriented programming (ROP), sigreturn oriented programming constructs what is known as a ‘weird machine’ that can be programmed by attackers to change the behavior of a process. To program the machine, attackers set up fake signal frames and initiate returns from signals that the kernel never really delivered. This is possible, because UNIX stores signal frames on the process’ stack.”
  • “Sigreturn oriented programming is interesting for attackers, OS developers and academics. For attackers, the technique is very versatile, with pre-conditions that are different from those of existing exploitation techniques like ROP. Moreover, unlike ROP, sigreturn oriented programming programs are portable. For OS developers, the technique presents a problem that has been present in one of the two main operating system families from its inception, while the fixes (which we also present) are non-trivial. From a more academic viewpoint, it is also interesting because we show that sigreturn oriented programming is Turing complete.”
  • Paper describing SROP
  • OpenBSD has developed a mitigation against SROP
  • “Utilizing a trick from kbind(2), the kernel now only accepts signal returns from the PC address of the sigreturn(2) syscall in the signal trampoline. Since the signal trampoline page is randomized placed per process, it is only known by directly returning from a signal handler.”
  • “As well, the sigcontext provided to sigreturn(2) now contains a magic cookie constructed from a per-process cookie XOR'd against the address of the signal context.”
  • This is just a draft of the patch, not yet considered production quality ***

Running Tor in a NetBSD rump unikernel

  • We’ve talked about “rump” kernels before, and also Tor pretty frequently, but this new github project combines the two!
  • Specifically, this set of Makefile and scripts will prep a system to run Tor via the Unikernel through Qemu.
  • The script mainly describes how to do the initial setup on Linux, using iptables, but could easily be adapted to a BSD if somebody wants to do so. (Send them a pull request with the instructions!)
  • All in all, this is a fascinating way to run a Tor node or relay, in the most minimal operating environment possible. ***

An update on SSH protocol 1 ("we're most of the way towards fully deprecating SSH protocol 1"

  • Damien Miller has given us an update on the status of the “SSH protocol 1”, and the current plans to deprecate it in an upcoming version of openssh.

“We've had this old protocol in various stages of deprecation for almost 10 years and it has been compile-time disabled for about a year.
Downstream vendors, to their credit, have included this change in recent OS releases by shipping OpenSSH packages that disable protocol 1 by default and/or offering separate, non-default packages to enable it.

This seems to have proceeded far more smoothly than even my most optimistic hopes, so this gives us greater confidence that we can complete the removal of protocol 1 soon. We want to do this partly to hasten the demise of this cryptographic trainwreck, but also because doing so removes a lot of legacy code from OpenSSH that inflates our attack surface. Having it gone will make our jobs quite a bit easier as we maintain and refactor.”

  • The current time-line looks like removing server-size protocol 1 support this August after OpenSSH 7.4 is released, leaving client-side disabled.

  • Then a year from now (June 2017) all protocol 1 code will be removed.


Beastie Bits

Feedback/Questions