Security
Vasilis Vasaitis
v.vasaitis at sms.ed.ac.uk
Sun Dec 5 21:53:35 EET 2004
On Sun, Dec 05, 2004 at 04:38:34PM +0200, Filippos Slavik wrote:
..[snip]..
> Xmm.. to parapanw Vassili einai ena dogma pisteuw. Nomizw pws 8a htan kalo,
> ws developer, na exeis thn epilogh (px kapoio compiler option) na kaneis
> enable kapoion elexno, toulaxiston se compile-time variables. Anyway, auto
> einai bebaia megalo 8ema kai 8a mas paei allou.
Όπως είπα, είναι θέμα επίδοσης: ο έλεγχος ορίων είναι ακριβή
υπόθεση, και σε μια γλώσσα που θέλει να είναι τόσο κοντά στη μηχανή
όσο η C δε δικαιολογείται. Το ότι ακριβώς η C δεν έχει έλεγχο ορίων
είναι που επιτρέπει να φτιάχνονται πάνω από αυτήν πιο ασφαλείς
γλώσσες, με επιδόσεις που παραμένουν αξιοπρεπείς.
Είναι και δύσκολος επίσης, ό,τι τέτοιο έλεγχο και να ενσωματώσεις
στη γλώσσα, μισές δουλειές θα κάνεις· γιατί λόγω των pointers και του
γενικότερου aliasing στη γλώσσα, υπάρχουν πολλές περιπτώσεις που απλά
δε μπορείς να ελέγξεις καν. Οπότε, από αυτήν την άποψη, ίσως και να
ήταν πιο πολύ βλαβερός παρά ωφέλιμος, αφού θα έδινε μια ψευδαίσθηση
ασφάλειας στον προγραμματιστή.
> Telika mallon diko mou to la8os sto arxiko mou post pou anefera kai thn C++.
> Einai profanestata ola ta parapanw pou les gia ta diafora ADTs kai ton
> syndiasmo tous me operator overloading....To erwthma mou htan (lew kakos
> anafera C++) ti ginetai me plain C.. Yparxei kapoio compiler option? kapoio
> tool?, klp, klp.
Υπάρχουν διάφορα χρήσιμα πραγματάκια, π.χ.:
1. Εργαλεία στατικής ανάλυσης του κώδικα, π.χ. ο stanford checker,
που έχει χρησιμοποιηθεί και για να βρεθούν λάθη στον πυρήνα του Linux.
Δεν έχω ασχοληθεί ιδιαίτερα, δεν ξέρω λεπτομέρειες.
2. Εργαλεία που παρακολουθούν όταν ξεφεύγεις από malloc'ed χώρους,
όπως π.χ. electric-fence, ccmalloc, dmalloc κτλ. Προφανώς, αν κάποιος
χρησιμοποιεί στατικούς πίνακες για τέτοιες δουλειές, δεν τον σώζει
καμία γλώσσα και κανένα εργαλείο ελέγχου.
3. valgrind.
--
Vasilis Vasaitis
"A man is well or woe as he thinks himself so."
More information about the Linux-greek-users
mailing list