Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Jun 2016 09:18:40 +0100
From:      David Chisnall <theraven@FreeBSD.org>
To:        "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Cc:        FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   Re: CURRENT: bhyve and Kernel SamePage Mergin
Message-ID:  <2DE58803-9030-44D3-9AD3-BD189CBA002E@FreeBSD.org>
In-Reply-To: <20160608170102.6a0ee504.ohartman@zedat.fu-berlin.de>
References:  <20160608170102.6a0ee504.ohartman@zedat.fu-berlin.de>

next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_2B7A108F-126F-4374-B23C-0EC5A015988E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

If this paper is the one that I think it is, then I was one of the =
reviewers.  Their attack is neat, but it depends quite a lot on being =
able to deterministically trigger deduplication.  Their proof-of-concept =
exploit was on Windows (and JavaScript attack was really fun) and I=E2=80=99=
m not convinced that it would work reliably on Linux or VMWare ESX, =
which both defer deduplication for as long as possible to avoid =
NUMA-related overheads.

We don=E2=80=99t currently have a FreeBSD implementation, but if someone =
wanted to provide one then a defence against this attack would be fairly =
simple: count the number of CoW faults that a process is receiving and =
if it reaches a certain threshold then remove all of its memory from the =
set of eligible pages.  The attack relies on being able to repeatedly =
trigger CoW faults and time whether they occur, with the same set of =
pages.  At least some existing implementations will make this impossible =
as these pages will repeatedly be deduplicated and then duplicated and =
this is already a pathological case that most memory deduplication =
implementations need to handle (as well as being a security hole, it=E2=80=
=99s also a big performance killer).

Kib has been working on ASLR for FreeBSD (I think it=E2=80=99s in 11?), =
but at this point it=E2=80=99s more of a checkbox item than a serious =
mitigation technique.  It adds a little bit of work for attackers, but =
there are so many attacks that can bypass ASLR even with strong entropy =
that it just increases the work factor slightly.  If you=E2=80=99re =
running code written in C, then you=E2=80=99re better off relying on =
Capscium compartmentalisation to limit what the attacker can do once =
they=E2=80=99ve compromised it.

David

> On 8 Jun 2016, at 16:01, O. Hartmann <ohartman@zedat.fu-berlin.de> =
wrote:
>=20
> A couple of days I got as a responsible personell for a couple of =
systems a warning about
> the vulnerabilities of the mechanism called "Kernel SamePage Mergin". =
On this year's IEEE
> symposion there has been submitted a paper by Bosman et al., 2016, =
describing an attack
> on KSM. This technique, also referred to as memory/page deduplication, =
seems to be
> vulnerable by design under certain circumstances. I guess the experts =
of the readers here
> do already know, but I consider myself a non-expert and therefore, I'd =
like to ask about
> the status of that kind of development in FreeBSD. I read about a =
project of last year's
> Google Summer of Code 2015 targetting KSM on FreeBSD.
>=20
> In Linux, this deduplication techniques is implemented since kernel =
2.6.38 and Windows
> Kernel uses this techniques since Windows 8.1 and sibblings (also =
Windows Server). We
> were strongly advised to disable those "features" in Windows clients, =
servers and Linux
> servers, if used.
>=20
> Other papers describe successful attacks on memory contents and ASLR =
by misusing KSM. On
> Windows, mmap() entropy is 19bit, on Linux usually 28bit. And FreeBSD =
(if
> planned/used/already implemented?)?=20
>=20
> If you are interested I could provide links or PDFs of the papers I =
already gathered
> about that subject (it is not much, simply google for "KSM FReeBSD" or =
KSM deduplication
> ASLR).
>=20
> Thanks in advance,
>=20
> oh


--Apple-Mail=_2B7A108F-126F-4374-B23C-0EC5A015988E
Content-Disposition: attachment;
	filename=smime.p7s
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIK5jCCBPww
ggPkoAMCAQICECJrrb9nBol9MHok/UZg/AYwDQYJKoZIhvcNAQELBQAwdTELMAkGA1UEBhMCSUwx
FjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKTAnBgNVBAsTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24g
QXV0aG9yaXR5MSMwIQYDVQQDExpTdGFydENvbSBDbGFzcyAxIENsaWVudCBDQTAeFw0xNjA0MTkw
OTI3NDJaFw0xNzA0MTkwOTI3NDJaMEQxHTAbBgNVBAMMFHRoZXJhdmVuQGZyZWVic2Qub3JnMSMw
IQYJKoZIhvcNAQkBFhR0aGVyYXZlbkBmcmVlYnNkLm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBALsL5pEhrGjrswHVdMHWhgxb8ARKDYRePSqpDLmjJ40bpx+n1zrvIwjC2Vk2IpoD
04rg5Pog2IrhnX+Qk2NSXzBXWj2JAaTc9OtSeAY0BtgJYXONGONQbRKVy97QBdzd1SbMEzDrOgH5
UDI+5sF1PboOTmLyTAPI9273XdfZ0BnstUXs8NXr/7p9E5CWJOsO1iQcINbm4XiwC1PLNMeWUknE
Nji/hFKwcE8IFtaUe1ymbw6yA3rBpDu3KewIRD1T66FPTZJeIzvUoBIqWd+GAOfCBG2QYmbc3y/x
K2hCtcXThcB1uVFA2q39koLKA8wHyqv4Jhm3wzhAqKDsWK4bGW0CAwEAAaOCAbcwggGzMA4GA1Ud
DwEB/wQEAwIEsDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwCQYDVR0TBAIwADAdBgNV
HQ4EFgQU5J3Kc8GeW8pEGxBkcMoA7eUOPRwwHwYDVR0jBBgwFoAUJIFsOWG+SQ+PtxtGK8kotSdI
bWgwbwYIKwYBBQUHAQEEYzBhMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5zdGFydHNzbC5jb20w
OQYIKwYBBQUHMAKGLWh0dHA6Ly9haWEuc3RhcnRzc2wuY29tL2NlcnRzL3NjYS5jbGllbnQxLmNy
dDA4BgNVHR8EMTAvMC2gK6AphidodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9zY2EtY2xpZW50MS5j
cmwwHwYDVR0RBBgwFoEUdGhlcmF2ZW5AZnJlZWJzZC5vcmcwIwYDVR0SBBwwGoYYaHR0cDovL3d3
dy5zdGFydHNzbC5jb20vMEYGA1UdIAQ/MD0wOwYLKwYBBAGBtTcBAgUwLDAqBggrBgEFBQcCARYe
aHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5MA0GCSqGSIb3DQEBCwUAA4IBAQBSBDH+kZf5
bZkNFcMSPdfnGC7F8utBIxs2bi3JQjsBoQTm1vnXdwgINSfO9At6iQZHoEyj8ZE6PcMFuEU0+bk0
aE8aYcW59WnxfWx943upZoMhX0YVaJcFK01EHFrddRAP44sh7Eu6JtdFuAG+6btDReMcg35Qm65X
7/280aVm7awadJ+IQs8r9qBVk2NFqkvHCETtJjNWXd7M6mcsfXstvykbubPQH/VNW/zrX6yzIcI4
aoz+Sn8RJmHNkk6cImqe1KvsdDLXmqCoeoMwos62pT18RaI//jwTdmnf5EHFMlevnxOr7rzA++71
OSZfdYf6+nvHOod1F721rNuy6lxFMIIF4jCCA8qgAwIBAgIQa6eKfQrXiNZRCvlZ5Oe04TANBgkq
hkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UE
CxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20g
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTUxMjE2MDEwMDA1WhcNMzAxMjE2MDEwMDA1WjB1
MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20g
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50
IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvX3a98OifYP2W4L921tfrh4bdcC1
Ga+YJKy7V3nYNewJHnzMlBsK0Hb8Dm4Wo3FZpylcYa1MJGT10QMGWaLER3xCIuRR+8eklf/EqeZW
RLojJ7zBRtjMywPOCelrOU+DX12dKp+Ez4J6919rz1UudTO1GvZyCYJ/I7062uHsskM8b7gPxmcC
oO1UHwwpgkvpCArJWGFoFzjLdsZbErJcS3HtAhlkbE/BKTMrdYg35Uo12SLBO5tbk8h2imbKTC8i
Ms+pskrvI/AVlh6QoTTXk6xboVX6zgMgzxSVVLymQiygYYm0y5aMsvi2raFhC643SOGvErWWPPnS
EfbeAD1xswIDAQABo4IBZDCCAWAwDgYDVR0PAQH/BAQDAgEGMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDBDASBgNVHRMBAf8ECDAGAQH/AgEAMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9j
cmwuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDBmBggrBgEFBQcBAQRaMFgwJAYIKwYBBQUHMAGGGGh0
dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTAwBggrBgEFBQcwAoYkaHR0cDovL2FpYS5zdGFydHNzbC5j
b20vY2VydHMvY2EuY3J0MB0GA1UdDgQWBBQkgWw5Yb5JD4+3G0YrySi1J0htaDAfBgNVHSMEGDAW
gBROC+8apEBbpRdphzDKNGhD0EGu8jA/BgNVHSAEODA2MDQGBFUdIAAwLDAqBggrBgEFBQcCARYe
aHR0cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5MA0GCSqGSIb3DQEBCwUAA4ICAQCL4/eH7AGL
hK0PAQJbnOEjJyMEvTTwcAJuUh/bodjQl06u4putYOxdSyIjSP/sKt+31LmjG8+IO1WqykE4H/Lm
7NKezWVnCHuwb3ptgFmlwbMbGkU2MOZBtwzfKXdYUhFLhaE2uw5jXhXvLYitQay962wP5uPI6eAI
hV4L8aaya1u4s7MnrTq0Rz25FuGNO79vTHYWj797tSRC8rM16js4yGKOLFpQvIg0F8IElv57b1st
p+C7omqM5Qn15dePbSnqr8Jb65WtmJJbnv6rlqfY/aLuE/zmNAlzLmPgfMDStKIXdg+EoYBZTEo8
wBUaBxihfNbJ069ndQOxMNNqBelEMgpAtmjTbCuXFjqIwWq+XOx6ZV/Wh2FAmaLsSHlNvEjjSQMZ
wE4EeHCdo66ZmEs/5JYlCeOkulKVQ6P3m5/XOj2jP17Q2AgmjP+11+sHN7PvrG0OwrQp9QMe3X+r
n0G8MjtFfqBWvR9CgLIxzM3MJNxFdgdjS2rYnShP5uxvqwfZvhZVYCIkqdJhpYON0DvSodfiar0w
iM79mySZJjzC0CTbiisBzS/BeBhqeo2wFfli/iw3hn1XKvAx0ty6w/scmBF0AYqmRHYj1TjMSw0l
Al7AztLglqWjUPI+sukvadMRPxmtKXlS2nVR4an/Z16imsZ69+fFYH68c1CK7zmjozGCA04wggNK
AgEBMIGJMHUxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBT
dGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xhc3Mg
MSBDbGllbnQgQ0ECECJrrb9nBol9MHok/UZg/AYwCQYFKw4DAhoFAKCCAZkwGAYJKoZIhvcNAQkD
MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTYwNjA5MDgxODQwWjAjBgkqhkiG9w0BCQQx
FgQU2HNChCxVU+2bF48+1YECC+8AlwAwgZoGCSsGAQQBgjcQBDGBjDCBiTB1MQswCQYDVQQGEwJJ
TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBAhAia62/ZwaJ
fTB6JP1GYPwGMIGcBgsqhkiG9w0BCRACCzGBjKCBiTB1MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN
U3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx
IzAhBgNVBAMTGlN0YXJ0Q29tIENsYXNzIDEgQ2xpZW50IENBAhAia62/ZwaJfTB6JP1GYPwGMA0G
CSqGSIb3DQEBAQUABIIBAAE/nuVKabpkht8Ib9Xqwp9AjFWBHvVyCFZ+BJrJeWg7ATOyXaZcEzY+
f+BSBRMYhuI/PxzMN6ZYOhBHLgKZcXHOAADivBerrDs4AiUlJCcFC+EhTdxMfjh7xgyXs6rk5+6k
c9EWK8e6m8yH+hQE4PE63Giyb7uB53cq+lXK3CDtGKu9UHlTW6FOutSNLXEOdq1qNK0shrigpmX5
RN2VgYQjrb+Ci0YPtf+ZFBY+ETX3Ago44Dq/Loz64dlK8nSrISEdLYCKLM37qdG7uT03XWfS5XFs
r1PjpFUJ75fGDpdVREtnZtpotO9I4xc7l87Ep+0BBf5N5jDgqbVIIagR4N8AAAAAAAA=
--Apple-Mail=_2B7A108F-126F-4374-B23C-0EC5A015988E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2DE58803-9030-44D3-9AD3-BD189CBA002E>