> On Sep 11, 2020, at 4:03 PM, Segher Boessenkool <seg...@kernel.crashing.org> > wrote: > > Hi! > > On Fri, Sep 11, 2020 at 03:14:57PM -0500, Qing Zhao wrote: >> My understanding of how this scheme helps ROP is: the attacker usually uses >> scratch register to pass > > Help obstruct ROP ;-) Thanks for catching my mistake. > >> parameters to the sys call in the gadget, if clearing the scratch registers >> immediately before “ret”, then >> The parameters that are passed to sys call will be destroyed, therefore, the >> attack will likely failed. > > But you do not need more than one non-zero argument for execv*, and that > is usually the same register as the normal return value register; all > other registers *should* be zero for a simple execv*("/bin/sh", ...)! > > (There is also the system call number register, rax on x86-64, but if > overwriting that would be any effective, you could just do that one > always and everywhere. This is only an effective defence if there are > no gadgets that do the system call an attacker wants, and he has to > construct that sequence himself; but it very effective and cheap then). In the above, do you mean only clearing “rax” on x86-64 should be effective enough? Qing > > > Segher
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Richard Sandiford
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Segher Boessenkool
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Richard Sandiford
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Richard Sandiford
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Qing Zhao via Gcc-patches
- Re: PING [Patch][Middle-end]Add -fzero-call-used... Richard Sandiford