Position-independent code

Started by raffaele, January 13, 2011, 11:38:42 AM

Previous topic - Next topic

raffaele

Salve a tutti, prendo spunto da una discussione nata ieri sul nostro canale irc per trattare questo argomento ma prima di farlo vi riassumo brevemente la vicenda...

Ago (un gentoo user) affermava la mia incompetenza nel trattare argomentazioni sulla sicurezza per il fatto che non sapevo cosa fosse il PIE. Secondo lui dato che il PIE è un argomento base, non sono titolato a tenere un seminario introduttivo sull'uso di BackBox (?). Ammetto la mia ignoranza in materia... Ma onestamente non condivido la sua visione delle cose. Potremmo andare avanti ore discutendo quali debbano essere le "caratteristiche" che un developer di distro come BackBox debba avere o meno, ma onestamente non ho problemi ad affermare che anche senza alcuna esperienza pratica sul PIC/PIE si può iniziare un progetto come BackBox.

Detto questo vediamo di cosa si vanta di conoscere "ago".

In parole povere PIC che per esteso significa “codice indipendente dalla posizione”  Ã¨ un codice di istruzione macchina eseguito correttamente indipendentemente da dove esso sia collocato in memoria. Stessa cosa per il PIE che invece fa riferimento direttamente all'eseguibile in pratica il binario.

Per la sua natura quindi PIC è comunemente usato per le librerie condivise, si è cosi sicuri che il codice una volta copiato in memoria possa essere eseguito senza alcuna modifica.

Su argomentazioni di natura piu tecnica credo che un programmatore tipo evilsocket sia più bravo di me nel spiegarvi le differenze con il “relocatable code” con i vari riferimenti al program loader, program-counter, salti assoluti, ecc.

Ora perchè “ago” afferma che conoscere PIC e PIE sia requisito essenziale per tenere un seminario introduttivo su BackBox o piu in generale prerogativa per portare avanti lo sviluppo della distro rimane per me un mistero. E' vero che PIE è usato in alcune distribuzioni Linux incentrate sulla sicurezza (vedi anche PaX, Exec Shield ecc..) ma l'obiettivo di BackBox non è certamente quello di creare un sistema operativo sicuro immune da exploits. Lo scopo come molti di voi sapranno sono altri: semplicita, legerezza, modularita ecc.. ecc.. ecc..

Bene ora che ho approfondito la questione... Che tra l'altro avevo gia incontrato tempo fa in maniera molto piu accademica se non sbaglio nel corso di architettura dei calcolatori, posso finalmete continuare a decicarmi allo sviluppo di BackBox?!

E comunque una piccola nota da fare ad ago... ti fai forte di un argomento sparato in chat con una sigla PIC, PIE, BIM, BUM, BAM... senza neache argomentare la cosa ma subito pronto a criticare in maniera sterile le competenze mie o delle persone che lavorano su BackBox senza neanche conoscerci o aver mai provato la nostra distro. Se fossi in te mi farei un bel bagno di umiltà prima di puntare il dito!

Approfondimenti:
http://www.gentoo.org/proj/en/hardened/pic-guide.xml
http://www.gentoo.org/proj/en/hardened/pic-internals.xml
http://linux4u.jinr.ru/usoft/WWW/www_debian.org/Documentation/elf/node21.html


P.S. Ah dimenticavo... Se c'è altro di essenziale da sapere di cui per un motivo o per un altro ne io ne altri abbiamo esperienza pratica, siamo ben lieti di ospitare sul nostro forum la trattazione di questi argomenti.
raffaele@backbox:~$ Get root or die tryin'

ghostdog

Raffaele, io in te non mi turberei tanto, ce' della gente in giro che si vanta di essere dei geek, guru di linux e magari anche usono un distro diverso dal tuo, per far sentire la loro superiorita'..
io ci sono passato quando ero parte di tricklife.com , quanti mi hanno aggredito e mi hanno dato del buffone, contemporaneamente ho ricevuto una mail da " Microsoft" congratulandomi per il lavoro svolto.

Il proverbio dice: chi disprezza, vuole comprare, se questa persona abbia il minimo senso di comunita' ( Linux e' basato sullo spirito di comunita') ti avrebbe solamente consigliato o' offerto il suo supporto.

Direi, dimenticalo, un cane che abaia , non morde mai.

stai tranquillo e continua il tuo lavoro, che stando a numeri, Backbox ha raggiunto una popolarita' che altri distro esistono da anni sono ancora sconosciute. ;)