Re: FPW compression leaks information

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, hlinnaka <hlinnaka(at)iki(dot)fi>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FPW compression leaks information
Date: 2015-05-30 07:58:57
Message-ID: CAB7nPqSUYztvkdGzFVxN-F-L_JKR=fS20ZV4ySgGCVKcrJBKig@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Apr 16, 2015 at 4:26 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> On Wed, Apr 15, 2015 at 9:42 PM, Michael Paquier
> <michael(dot)paquier(at)gmail(dot)com> wrote:
>> On Wed, Apr 15, 2015 at 9:20 PM, Michael Paquier
>> <michael(dot)paquier(at)gmail(dot)com> wrote:
>>> On Wed, Apr 15, 2015 at 2:22 PM, Fujii Masao wrote:
>>>> On Wed, Apr 15, 2015 at 11:55 AM, Michael Paquier wrote:
>>>>> 1) Doc patch to mention that it is possible that compression can give
>>>>> hints to attackers when working on sensible fields that have a
>>>>> non-fixed size.
>>>>
>>>> I think that this patch is enough as the first step.
>>>
>>> I'll get something done for that at least, a big warning below the
>>> description of wal_compression would do it.
>
> So here is a patch for this purpose, with the following text being used:
> + <warning>
> + <para>
> + When enabling <varname>wal_compression</varname>, there is a risk
> + to leak data similarly to the BREACH and CRIME attacks on SSL where
> + the compression ratio of a full page image gives a hint of what is
> + the existing data of this page. Tables that contain sensitive
> + information like <structname>pg_authid</structname> with password
> + data could be potential targets to such attacks. Note that as a
> + prerequisite a user needs to be able to insert data on the same page
> + as the data targeted and need to be able to detect checkpoint
> + presence to find out if a compressed full page write is included in
> + WAL to calculate the compression ratio of a page using WAL positions
> + before and after inserting data on the page with data targeted.
> + </para>
> + </warning>
>
> Comments and reformulations are welcome.

To make things on this thread move on, I just wanted to add that we
should make wal_compression SUSET without waiting if we make this
parameter a reloption or not. As things stand, even if it is a
reloption, any user can enforce its value in a given session.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2015-05-30 08:07:14 Re: Free indexed_tlist memory explicitly within set_plan_refs()
Previous Message Noah Misch 2015-05-30 06:38:10 Re: [CORE] postpone next week's release