Re: Protection from SQL injection - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Protection from SQL injection
Date
Msg-id 1474.1209481097@sss.pgh.pa.us
Whole thread Raw
In response to Re: Protection from SQL injection  ("Tom Dunstan" <pgsql@tomd.cc>)
Responses Re: Protection from SQL injection  (Aidan Van Dyk <aidan@highrise.ca>)
Re: Protection from SQL injection  (Josh Berkus <josh@agliodbs.com>)
List pgsql-hackers
"Tom Dunstan" <pgsql@tomd.cc> writes:
> Damn, am I the only person who likes the idea?

Just about.  The reason that this idea isn't going anywhere is that its
cost/benefit ratio is untenably bad.  Forbidding literals will break
absolutely every SQL-using application on the planet, and in many cases
fixing one's app to obey the rule would be quite painful (consider
especially complex multi-layered apps such as are common in the Java
world).  In exchange for that, you get SQL injection protection that
has got a lot of holes in it, plus it stops protecting you at all
unless you are using a not-SQL-standard database.  That tradeoff is
not happening, at least not in any nontrivial application.

Analogies such as PIE just point up the difference: for 99% of
applications, you can enable PIE without doing any more work than
adding a compile switch.  If people were looking at major surgery
on most of their apps to enable it, the idea would never have gone
anywhere.

If you're going to ask people to do significant revision of their
apps to gain security, they're going to want it to work no matter
what database they run their apps against.  This is why you need
a client-side solution such as tainting.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tino Wildenhain
Date:
Subject: Re: Protection from SQL injection
Next
From: Andrew Dunstan
Date:
Subject: Re: Protection from SQL injection