On 01/10/2014 10:14 AM, Victor Porton wrote:
> I was told that it can be done using cgroups. So no urgent necessity to add 
> my new syscall.

Yeah, right.  Good luck writing a program that will work on modern Red
Hat, Fedora, and Ubuntu systems.

Cgroups is IMO a complete and utter failure in providing an interface
usable by normal programs, and it's getting *worse* over time.

--Andy

> 
> 10.01.2014, 01:55, "Victor Porton" <por...@narod.ru>:
>> In Fedora there is bin/sandbox command which runs a specified command in so 
>> called 'sandbox'. Program running in sandbox cannot open new files (it is 
>> commonly used with preopen stdin and stdout) and possibly its access to 
>> network is limited. It is intended to run potentially malicious software 
>> safely.
>>
>> This Fedora sandbox is not perfect however.
>>
>> One problem is:
>>
>> Suppose the sandboxed program spawned some child processes and exited itself.
>>
>> Suppose we want to kill the sandboxed program after 30 second, if it has not 
>> exited voluntarily.
>>
>> The trouble is that the software cannot figure out which processes have 
>> appeared from the sandboxed binary. So we are unable to kill these processes 
>> automatically. This means that a hacker can in this way create thousands (or 
>> more) processes which would overload the system.
>>
>> Also note that the sandboxed program may run setsid() and thus its identity 
>> may be lost completely.
>>
>> I propose to add parameter sandbox_id to each process in the kernel. It 
>> would be 0 for normal processes and allocated like PID or GID for processes 
>> we create in sandbox. Children inherit sandbox_id. There should be an API 
>> call using which a process makes it sandboxed_id non-zero (which returns 
>> EPERM if it is already non-zero).
>>
>> Then there should be API to enumerate all processes with given sandbox_id, 
>> so that we would be able to kill them (-TERM or -KILL). Or maybe we should 
>> also have the function which sends the given signal to all processes with 
>> given sandbox_id (otherwise we would war with a hacker which could possibly 
>> create new children faster than we kill them).
>>
>> Please add me in CC: (I am not subscribed for this mailing list.)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to