News for hackers. Stuff that matters.
Re:Maybe it’s time to talk about a new Linux Display Driver ... by rbanffy on Saturday September 05, 2015 @02:52PM (#10175683)
Should be pretty straightforward to fix. I wonder why it isn't. Is someone discussing the issue?
Re:Maybe it’s time to talk about a new Linux Display Driver ... by geofft on Saturday September 05, 2015 @04:07PM (#10175908)
The Yama patchset has been in mainline for the last few years, and disallows non-root processes from reading each others' memory (except for direct children).

The trouble is that it's a sort of retrofitted check. It works surprisingly well, but being added to a 20+-year-old OS and a 40+-year-old design, it can't guarantee being correct. The traditional, historic process boundary on UNIX has been user accounts / UIDs. Desktop Linux needs to figure out a way to do what Android does, and run every application with a separate UID, including the ability to have private files that are unreadable to other applications.

The challenge is defining "application". Android, being a greenfield platform, could define the interaction between applications. On desktop Linux, it's obvious that, say, a web browser and a PDF viewer should be different applications. The two processes in a "find | grep" shell pipeline probably should count as the same application. In between, it's pretty blurry, because we've had 40 years to develop patterns that don't account for this isolation ever happening.

Re:Maybe it’s time to talk about a new Linux Display Driver ... by Someone on Saturday September 05, 2015 @05:30PM (#10176096)
"On desktop Linux, it's obvious that, say, a web browser and a PDF viewer should be different applications"

Not completely obvious. The web browser could use the PDF viewer to render PDF and/or the PDF viewer could use the web browser to run JavaScript embedded in a PDF file (http://www.adobe.com/devnet/acrobat/javascript.html). Both examples are similar to your find|grep example.

Yes, that typically would be done by reusing libraries, not by starting processes, but modern browsers run a separate process per tab and some run flash in a separate process. Running a PDF viewer in a separate process would be a logical extension.

Re:Maybe it’s time to talk about a new Linux Display Driver ... by timthelion on Saturday September 05, 2015 @05:32PM (#10176105)
Perhaps you would be interested in my project, subuser.org

Unfortunately, it does absolutely NOTHING with regard to OpenGL isolation :( (That is if you give programs permission to talk to the graphics card, which is denied by default...)

Re:Maybe it’s time to talk about a new Linux Display Driver ... by geofft on Saturday September 05, 2015 @06:12PM (#10176210)
Neato! Many years back I was playing with Xpra for this, but it was in the days before either Docker or useful seccomp. Glad to see something making progress here.

Have you looked at OpenGL virtualization e.g. Virgil (https://virgil3d.github.io/ , https://www.kraxel.org/blog/tag/virgl/) for that problem? The idea is to use Gallium to give them just enough access to get host 3D acceleration, but not direct access to the graphics card.

Re:Maybe it’s time to talk about a new Linux Display Driver ... by timthelion on Sunday September 06, 2015 @05:31AM (#10177192)
Looks interesting. But no, I have not tried it. It isn't really a priority for me. I'm not a gamer, nor am I a climatologist, and while I do use CAD, I've had other, simpler, problems to solve :D
Re:Maybe it’s time to talk about a new Linux Display Driver ... by comex on Saturday September 05, 2015 @06:50PM (#10176290)
Re:Maybe it’s time to talk about a new Linux Display Driver ... by sliverstorm on Saturday September 05, 2015 @03:12PM (#10175747)
Knowing nothing about the issue, I speculate many programs have come to depend on the behavior. Similar to antique bugs in x86 that were baked in to the architecture when programmers had to work with them on the 286 & 386. After that they couldn't be fixed because programs depended on the presence of the bug.
Re:Maybe it’s time to talk about a new Linux Display Driver ... by 0x0 on Saturday September 05, 2015 @04:06PM (#10175905)
I'm having a very hard time imagining there exists even a single program out there that depends on being able to read the memory contents of a program that ran before itself.

I bet it comes down to driver developers never even thinking that this could be a security issue before people came up with the concept of running unauthenticated 3d accelerated software (i.e. javascript+webgl from the network in a browser) - "what do you mean security, the user could just have taken a screenshot at any time. why should we waste precious FPS clearing buffers when the program will fill in its own textures before drawing anything".

Re:Maybe it’s time to talk about a new Linux Display Driver ... by Someone on Saturday September 05, 2015 @05:43PM (#10176141)
Reminds me of GO.COM (http://peetm.com/blog/?p=55) That is/was an example.

GO.COM contained no program bytes at all – it was entirely empty. However, because GO.COM was empty, but still a valid program file as far as CP/M was concerned (it had a directory entry and file-name ending with .com), the CP/M loader, the part of the OS whose job it is to pull programs off disk and slap them into the TPA, would still load it!

So, how does this help? Well, using the scenario above:

the user exited WordStar the user ran DIR (or whatever else they needed) and at some future point would be ready to re-run Wordstar the user now ‘loaded’ and ran GO.COM the loader would load zero bytes of the GO.COM program off disk into the TPA – starting at address 0100h – and then jump to 0100h – to run the program it just loaded [GO.COM]!

result – it simply re-ran whatever was in the TPA when the user last exited to DOS – instantly"

It also wasn't unusual to try and recover data from memory after a program crashed by launching a small program that dumped memory to disk. 100% reliable? No, but it was the best one sometimes had.

Re:Maybe it’s time to talk about a new Linux Display Driver ... by rbanffy on Sunday September 06, 2015 @01:33PM (#10178321)
The best thing about go.com (I called it x.com) is that, if you don't have one on your disk, you can simply do

    SAVE 0 X.COM 
and it'll be there for you.
Re:Maybe it’s time to talk about a new Linux Display Driver ... by tbirdz on Saturday September 05, 2015 @04:14PM (#10175929)
> I'm having a very hard time imagining there exists even a single program out there that depends on being able to read the memory contents of a program that ran before itself.

gdb, when using it to attach to an already running process.

Re:Maybe it’s time to talk about a new Linux Display Driver ... by 0x0 on Saturday September 05, 2015 @04:16PM (#10175935)
Not exactly, GDB would be accessing memory that is still allocated. I think the OP was referring to accessing memory contents from deallocated regions. Also we're talking GPU memory here, for the most part. :)