malloc() + gpg

Γιώργος Κεραμίδας keramida at ceid.upatras.gr
Tue Mar 11 15:06:01 EET 2003


On 2003-03-10 21:07, Alexandros Papadopoulos <apapadop at cmu.edu> wrote:
> Σήμερα μετά από μια αρκετά heated συζήτηση περί της αρχιτεκτονικής
> TCPA, κάτι μ'έπιασε και άρχισα να διαβάζω σχετικά με την malloc()
> και το implementation στον linux kernel. Σε κάποια φάση θέλησα να δω
> ότι όντως χρησιμοποιείται η malloc() από το gpg. Οπότε κάνω το εξής:
>
> $ strace gpg -esr holmgren vpd.properties 2> gpg.txt
>
> ...και βλέπω, μεταξύ άλλων, το εξής:
>
> mlock(0x40013000, 16384) = -1 EPERM (Operation not permitted)
>
> To gpg είναι suid root.  Υποτίθεται ότι αν δεν μπορεί να lockάρει τη
> μνήμη, παραπονιέται με το γνωστό "WARNING: Using insecure memory".

Υποτίθεται ότι η mlock() είναι μόνο για τον superuser.  Εδώ που το gpg
δεν είναι setuid root, όταν τρέχω το gpg από απλό χρήστη παίρνω το
"insecure memory" warning.  Όταν το τρέχω από root όμως όχι.
Αλλάζοντας τα permissions του gpg εκτελέσιμου με το χέρι:

: sysop at gothmog[13:43]/root# ls -l `which gpg`
: -r-xr-xr-x  1 root  wheel  - 575408 Feb 24 21:20 /usr/local/bin/gpg
: sysop at gothmog[13:43]/root# chmod u+s /usr/local/bin/gpg
: sysop at gothmog[13:45]/root#

το warning εξαφανίζεται ακόμα κι όταν το τρέχω κι ως απλός χρήστης:

: giorgos at gothmog[13:45]/home/giorgos$ gpg --list-keys 2>&1 | head -2
: /home/giorgos/.gnupg/pubring.gpg
: --------------------------------
: giorgos at gothmog[13:46]/home/giorgos$

- Γιώργος




More information about the Linux-greek-users mailing list