On 9/23/20 3:51 PM, Pavel Machek wrote: > Hi! > >>>> Scenario 2 >>>> ---------- >>>> >>>> We know what code we need in advance. User trampolines are a good example of >>>> this. It is possible to define such code statically with some help from the >>>> kernel. >>>> >>>> This RFC addresses (2). (1) needs a general purpose trusted code generator >>>> and is out of scope for this RFC. >>> >>> This is slightly less crazy talk than introduction talking about holes >>> in W^X. But it is very, very far from normal Unix system, where you >>> have selection of interpretters to run your malware on (sh, python, >>> awk, emacs, ...) and often you can even compile malware from sources. >>> >>> And as you noted, we don't have "a general purpose trusted code >>> generator" for our systems. >>> >>> I believe you should simply delete confusing "introduction" and >>> provide details of super-secure system where your patches would be >>> useful, instead. >> >> This RFC talks about converting dynamic code (which cannot be authenticated) >> to static code that can be authenticated using signature verification. That >> is the scope of this RFC. >> >> If I have not been clear before, by dynamic code, I mean machine code that is >> dynamic in nature. Scripts are beyond the scope of this RFC. >> >> Also, malware compiled from sources is not dynamic code. That is orthogonal >> to this RFC. If such malware has a valid signature that the kernel permits its >> execution, we have a systemic problem. >> >> I am not saying that script authentication or compiled malware are not problems. >> I am just saying that this RFC is not trying to solve all of the security problems. >> It is trying to define one way to convert dynamic code to static code to address >> one class of problems. > > Well, you don't have to solve all problems at once. > > But solutions have to exist, and AFAIK in this case they don't. You > are armoring doors, but ignoring open windows. > I am afraid I don't agree that the other open security issues must be addressed for this RFC to make sense. If you think that any of those issues actually has a bad interaction/intersection with this RFC, let me know how and I will address it. > Or very probably you are thinking about something different than > normal desktop distros (Debian 10). Because on my systems, I have > python, gdb and gcc... > > It would be nice to specify what other pieces need to be present for > this to make sense -- because it makes no sense on Debian 10. > Since this RFC pertains to converting dynamic machine code to static code, it has nothing to do with the other items you have mentioned. I am not disagreeing that the other items need to be addressed. But they are orthogonal. Madhavan