malloc() + gpg

Alexandros Papadopoulos apapadop at cmu.edu
Tue Mar 11 16:27:01 EET 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tuesday 11 March 2003 06:48, Γιώργος Κεραμίδας wrote:
> 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 όμως όχι.
<snip>

Μάλλον δεν ήμουν ξεκάθαρος. Το gpg είναι suid root, και δεν παίρνω 
warning για insecure memory, *αλλά* το strace μου έδειξε εκείνο το 
μήνυμα που μοιάζει με αποτυχία κλειδώματος της μνήμης.

Αυτό που προσπαθώ να κάνω είναι να δω ότι όντως το gpg καλεί επιτυχώς 
την mlock().

~~

Όσο για την πρόταση του nmav (να τρέξω το strace σαν root):

Πώς μπορώ να τρέξω το strace σαν root και την υπόλοιπη εντολή σαν απλός 
χρήστης;  Το όλο θέμα είναι να δω ότι λειτουργεί σωστά το gpg όντας 
suid root, όταν καλείται από κάποιον χρήστη. Τι σχέση μπορεί να έχει το 
"operation not permitted" exit status της mlock που καλείται από το 
gpg, με τα δικαιώματα του strace?

- -A
- -- 
http://andrew.cmu.edu/~apapadop/pub_key.asc
3DAD 8435 DB52 F17B 640F  D78C 8260 0CC1 0B75 8265
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+bfKHgmAMwQt1gmURAlq6AJ48YqGAbSmYlOO4X9jGjwJg+/yDdwCeIMgz
5WQDfxxLff5DKn1rPvbmi/4=
=je7U
-----END PGP SIGNATURE-----




More information about the Linux-greek-users mailing list