Slashdot Log In
The Fine Line Between Security and Usability
Posted by
ScuttleMonkey
on Mon Nov 19, 2007 06:25 PM
from the discarding-old-tech dept.
from the discarding-old-tech dept.
SkiifGeek writes to ask, "Where should vendors be required to draw the line when supporting deprecated file formats and technology? In a recent case independent security researcher cocoruder found a critical bug with the JET engine, via the .mdb (Access) file format, he reported it to Microsoft, but Microsoft's response came as a surprise to him — it appears that Microsoft is not inclined to fix a critical arbitrary code execution vulnerability with a data technology that is at the heart of a large number of essential business and hobby applications."
Related Stories
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
In my opinion (Score:4, Insightful)
Re:In my opinion (Score:5, Funny)
Explain Vista then.
Parent
Re: (Score:3, Funny)
Re:In my opinion (Score:4, Funny)
Parent
Re: (Score:3, Insightful)
Whether Microsoft draws it at the right place is
Re:In my opinion (Score:5, Insightful)
1) Companies are only there to make a profit and don't have to care about things like environment, security,
2) Regulation is evil, let the companies do whatever they like and the market will sort it out.
Logical conclusion from 1) and 2) is that we're pretty much screwed and back to some kind of feudalism. And no, most people do not vote with their wallets and the Market will not sort it out magically (otherwise, CO2 emissions would already be on the way down and there wouldn't be all these environmental problems).
Parent
Re: (Score:3, Insightful)
I don't believe it's a fundamental problem with capitalism itself. It's a problem with *unregulated* capitalism.
clueless morons who'd rather follow Big Corp's marketing dept. instead of educating themselves about the issues that affect them
Unfortunately, that won't be fixed unless the govt were to spend at least the same amount on advertisement as Big Corps to, which is highly unlikely (and possibly undesirable anyway)
Re:In my opinion (Score:5, Insightful)
As correct as you are, there does not need to be a fine line between usability and security. There needs to be (and of course there will be) an ongoing evolution in software design to offer usability without compromising security. I reckon it won't be a long time before any software program that gets run in userspace (or any space) has to go out on bended knee requesting to do anything - forced to abide by a security policy by default which limits its access. I don't mean the old broad-brush users/groups/device permissions etc. model that is everywhere now, but stuff like "only allowed to read from this folder, only allowed to talk to this or that application, etc." with very low level behaviour controls.
I don't think this needs to result in a "the mouse pointer wants to move, confirm/deny" scenario, but that the software designers need to submit with their product a security policy within which their applicaton has to function. The user should be able to very easily browse this policy and see what the program expects to be able to do, and override things, such as "access the internet using HTTPS at port 3232 to server www.phonehome.net" or sloppy things like "read contents of /etc recursively" instead of "read contents of /etc/mostlyharmlesswidget/config".
I know things like this already exist and there is a limited implementation of it, but to me that just confirms the point that it is the obvious next step.
Parent
Re:In my opinion (Score:5, Insightful)
This whole discussion is based on a faulty premise, that MS is leaving its Access users without a fix. They have a fix, and they've had it for some time: stop using MDB format and convert your databases to a data engine that isn't a POS. They've deprecated MDB and Jet Engine. That means they're telling their customers "Don't use that stuff any more, it's faulty." The fact that they continue to support customers who ignore the deprecation doesn't change that.
There is the little detail that Access itself is a POS. But that's designed in — not much they can do about that.
Parent
Oblig. Dilbert (Score:5, Funny)
http://dilbert.com/comics/dilbert/archive/dilbert-20071116.html [dilbert.com]
This is not news to me... (Score:5, Insightful)
They'd rather you re-wrote your app and used MSDE, or something with
Not a lot of money in supporting the db engine they give away.
And this is not the first time. Does no one remember they tried to Kill Jet in XP -and- Vista?
A pox on them all. I hope we re-write our app in mySQL.
Re: (Score:3, Funny)
Re: (Score:2)
If more people share this attitude it will become "profitable" for Microsoft to fix this.
If not, well, you will have a secure app anyway, and MS can bugger off and die in a gutter somewhere, and all the dumb bastards that decided to rely on a free piece of software from a company with a horrible reputation for customer support and secure coding practices get what they deserve!
Re:This is not news to me... (Score:4, Insightful)
Except with the Internet and massive databases floating around, we are all interconnected. Jet DBs may not be massive, but that doesn't mean the company doesn't have access to other real databases. OK, so the stupid company gets owned. Now, if they have any info on me, that's in the criminal's hands, and good luck getting compensation even if the company admitted full responsibility. Their Internet connection can now be used to spam or DOS me. If they go out of business, think about all the employees who had nothing to do with the IT decisions (and those who opposed this particular one). They get to stand in the unemployment line. Vendors might get shafted on unpaid invoices.
Just because your system is secure doesn't mean you don't get affected by someone else's insecure system. And no, I don't know what the solution to that problem is.
Parent
why do people (Score:2)
Re:why do people (Score:4, Funny)
Microsoft Access is a demo. It's meant to seduce you into thinking that developing your own database applications is easy and fun, and that Access can address your organizational needs adequately. This puts you onto the path that will eventually lead to you buying MS SQL Server.
At least, that's been my experience!
Parent
Access leads to... (Score:5, Funny)
Parent
Re: (Score:3, Insightful)
Damning with faint praise.
Re: (Score:3, Interesting)
Yeah it's true that Access is a gateway drug to SQL Server. But that IS a viable upgrade path for that little workgroup app that some PHP d
Re:why do people (Score:5, Informative)
I've scaled FMP out quite nicely, actually. I think the problem you're more likely running into is one where poor database design and implementation does not scale, regardless of the engine used. Since you mentioned school systems, here's some examples of particular design and implementation mistakes I've run into in that environment.
- Keeping all student records in one table, in perpetuity, so the engine has to slog through records from 10 years ago to find today's current students.
- Keeping all records, for all tasks, on one DB machine, in one set of tables, rather than using separate machines (why should the student attendance records *always* be on the same machine as the cafeteria menu, the janitorial schedule, the PTA newsletter, and the 2001 teacher vacation sign-up sheet?)
- The BigTable. Everybody who's worked in cleaning up poor DB design knows this one, the freaking huge table that stores *everything*. As text fields, of course. With no relational links.
These simple design gotchas can be made with *any* db engine, and are often made by inexperienced designers. Easy and fun is setting up the basics, and when it gets slow, paying some geek (or finding a young volunteer who needs to pad their resume) to re-engineer the system.Of course, there are an awful lot of inexperienced db admins out there, who have only worked with scaling one or two kinds of db engines, and thus lack the history of "scaling" back when 30Hz and 64Mb of RAM was the maximum per desktop (and thus lack the tao of partitioning zen), or are used to using their "clustering tools" (and thus lack the tao of systems connections zen), or any other number of failings which prevent them from understanding how to actually scale something really big.
If you're applying for a job as a DBA (or are the chief teacher/DBA for a school system), and you don't understand how DNS scales, well.... there ya go.
Parent
Re: (Score:3, Insightful)
Re:why do people (Score:5, Insightful)
Parent
Re:why do people (Score:5, Insightful)
Parent
Re: (Score:3, Funny)
Re: (Score:3, Insightful)
There, fixed that for ya....
Re: (Score:3, Insightful)
If Jet was adequate, you may be better off using SQLite.
Re: (Score:3, Insightful)
If JET is adequate for your needs, SQLite is likely to be much better. If you are using SQL Server then you would be better off considering PostgreSQL as a migration path than MySQL.
Re: (Score:3, Interesting)
When I worked at Microsoft, I remported what I felt was a serious security flaw. Despite the fact that the exploit I remorted resulted in one of
do users care? (Score:4, Informative)
Re:do users care? (Score:4, Insightful)
Today that fantasy has mostly dispersed. Most companies know that if they don't develop an application internally they are at someone else's mercy. There are fewer failures of larger software publishers but even the larger ones sometimes abandon some application leaving the users in a bad spot. But having the source for a 150,000 line (or more!) application doesn't mean a company could compile it, much less fix a serious bug. In general it would take someone a long time to get familiar enough with something like this to be able to work on it with any degree of confidence. Especially a company with a mission-critical application needing a bug fixed - it would take months, often paying a consultant $150+ an hour.
The "new" strategy seems to be:
Mostly, this is a lot smarter than the late 80s strategy.
Parent
Because it's not mainstream (Score:2, Informative)
Re: (Score:3, Informative)
Exchange uses a database technology known as ESE that was at a time known internally as 'Jet Blue'. Although its got the word Jet in it, it is not the same as the 'Jet' engine that Access uses.
Read more [wikipedia.org] at Wikipedia. Particular note the difference between ESE and Jet Red [wikipedia.org].
voting (Score:5, Informative)
Umm, isn't that the format used in the most popular voting machines to store all our votes?
This doesnt matter (Score:4, Insightful)
Re: (Score:3, Informative)
It used something that originated as DAE, and whose team and query engine was merged for a brief period with Jet Red (what Access uses).
But the ESE (sometimes called Jet Blue, even though it has almost nothing to do with the Jet that Access uses) used by Exchange and Active Directory is not that Jet you're talking about.
2 minutes of search on wikipedia for 'jet blue' or ese will clear this all up for you. In particular, read the History section and the 'c
Patching one hole in a pegboard (Score:5, Insightful)
Why not just start running installs you find from "somewhere?"
Access and mdb are insecure as it is when you start running untrusted files; should we expect all of those to go away at the expence of neutering the key selling point: stupid easy to do anything with?
Security News Flash (Score:3, Insightful)
This is the clear case for OSS (Score:2)
JET is a depreciated platform and is no longer being actively devel
Yet another shameless self-promotion (Score:2)
Perhaps it wouldn't solve everything, but IMHO not directly linking the submitter's name to a non-slashdot URL would greatly limit the article spam on here. And, of course, not letting someone use slashdot to blatantly toot his own horn would limit the practice further.
Not a big deal... (Score:5, Informative)
It's not just small businesses (Score:4, Insightful)
Re: (Score:3, Insightful)
"allowing for arbitrary code execution once the victim interacts with a malicious JET-dependent file (such as an Access file)."
It is crazy. Like saying you downloaded a malicious
Drawing the line (Score:4, Funny)
---------------------
Microsoft
Was that so hard?
an mdb file is already an executable (Score:3, Insightful)
Re: (Score:2)
All sales are final, ever heard of it? Perfectly acceptable and legal. If you don't do due diligence before you buy the responsibility is yours. It just so happens providing support is USUALLY in the best interests of both parties. Hence why manufacturors offer limited warrenties for certain durations. Fixing 10 year old code is a net negative for the manufacturor: not doing so does not loose them enough sales to offset the cost.
Re: (Score:3, Insightful)
Re: (Score:2, Insightful)
Sounds absolutely great. I wish every business person was as smart, since open source is obviously better in every way than closed source.
End of sarcasm. Yeah, open source is pretty cool, I like it, etc. Does open source guarantee everything wonderful, does open source guarantee a business with a profit? No, it doesn't. Open source is not the answer to everything.
And even open source organizations will stop support for decrepit applications. If you insist on using a 10 year old Linux kernel and d
Re: (Score:3, Insightful)
If you insist on using a 10 year old Linux kernel and demanding that some quirky bug in it be fixed, I'm not sure how much support you'd get :)
The amount of support you get generally depends on how much you are willing to pay for it. This cost will go up as the product becomes less mainstream. The upper limit (when you are the only organisation using it) is employing a team of people to become familiar with the code and fix bugs. This is likely to cost a couple of hundred thousand dollars a year, but if you are running a multimillion dollar business on some in-house software that depends on something external, then it may be worth it. It's mo
Re:I always go with OpenBSD. (Score:5, Interesting)
Parent
Enabling the ignorant (Score:3, Insightful)
It has also caused real-world problems.
I have seen *way* more improperly-coded applications in Access and Excel than in any other language or programming system. Why is that? Because people are designing "databases" with no fundamental understanding of data management. People code spreadsheets with no real idea of how to identify and correct bugs. They *only* advantage the user has it knowledge of the data. (Which *is* a good thing, granted.)
Further, an access databas