From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, KaiGai Kohei <kaigai(at)ak(dot)jp(dot)nec(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>, KaiGai Kohei <kaigai(at)kaigai(dot)gr(dot)jp>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: leaky views, yet again |
Date: | 2010-10-07 03:39:50 |
Message-ID: | AANLkTimSS+1p073SQ=6=Y8Zta6tffw32wCU8Qzu7vzL4@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Oct 5, 2010 at 3:42 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Right, *column* filtering seems easy and entirely secure. The angst
> here is about row filtering. Can we have a view in which users can see
> the values of a column for some rows, with perfect security that they
> can't identify values for the hidden rows? The stronger form is that
> they shouldn't even be able to tell that hidden rows exist, which is
> something your view doesn't try to do; but there are at least some
> applications where that would be desirable.
I took a crack at documenting the current behavior; see attached. It
turns out that a view which only uses boolean operators in the WHERE
clause is not obviously subvertable, because we judge those operations
to have no cost. (It seems unwise to rely on this for security,
though.) Anything more complicated - that does row filtering - is
easily hacked. See within for details.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company
Attachment | Content-Type | Size |
---|---|---|
document-leaky-views.patch | application/octet-stream | 5.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | KaiGai Kohei | 2010-10-07 03:45:55 | Re: host name support in pg_hba.conf |
Previous Message | Steve Singer | 2010-10-07 02:21:51 | Re: Review: Fix snapshot taking inconsistencies |