Linux - SecurityThis forum is for all security related questions.
Questions, tips, system compromises, firewalls, etc. are all included here.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I need to build a Linux environment in which only "signed" processes are allowed to run. When I say signed I don't mean a VeriSign etc. signature like you know it from Windows, but I mean signed by myself. I.e. I choose the software allowed to run, sign it, and then want to deny any other processes to run.
If it is somehow possible I'd like to extend this even to scripts and the kernel (i.e. no unsigned modules can be loaded).
Does anyone have a good idea how to solve this problem?
The bad thing is: I'm pretty fine with coding stuff myself in C, but have absolutely 0 experience or knowledge in kernel (module)-programming.
Any tipps, links, literature, finished programs will be appreciated, thanks
One approach I came up with (just a rough idea at the moment): Linux starts new processes with a fork-and-exec-combination. I therefore wonder if it is possible to change exec() in such a way that it will only execute signed programs.
Thank you
Click here to see the post LQ members have rated as the most helpful post in this thread.
Can you precise purpose of this signing? I like this idea, but for me, one PC user, it will be only encumbrance as I known what I want to run and in principle I will must to sign all applications. But for multiuser environments it can give some security.
If you mean about anti-hacking purposes, I think it will not work, as hackers run their exploits in running processes, already signed. It can little difficult attack, but all harmful action can be made undercover of signed proccess.
Well, it is actually more about embedded systems, not on a PC.
Imagine you sell a mobile phone and don't want the user to use any software you didn't sign or to change the software you gave him. So you basically want to make sure that the user can only use programs that he payed for (i.e. he got from you). (I know this example isn't perfect as it disregards the possibilty of getting signed software from somewhere else, but just to give you a brief example)
So it's basically to make sure that you can control which processes your customers can run and that noone just tries to execute a totally different code. Against a real hacking exploit I'm thinking of additional protection in form of a MAC (which doesn't belong to this topic)
Edit: It's basically about Code Integrity. That's the keyword I was looking for
What your describing has generally been referred to as Trusted Computing. A number of companies, particularly Microsoft, have been pursuing this idea for years. Here in the FOSS world, you're highly likely to run into a huge amount a skepticism and outright hostility since Trusted Computing pretty much goes against every tenet of FOSS. I'd be highly surprised if there were any Linux tools out there that would help you, but I may be wrong about that.
Here in the FOSS world, you're highly likely to run into a huge amount a skepticism and outright hostility since Trusted Computing pretty much goes against every tenet of FOSS. I'd be highly surprised if there were any Linux tools out there that would help you, but I may be wrong about that.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.