PDA

View Full Version : sviluppare per linux: utopia?


Pagine : 1 [2]

WarDuck
15-05-2010, 18:20
..

Non ho statistiche in merito. Mi è capitato di leggere di una competizione di hacker (perdonatemi se uso il termine in maniera impropria) in cui alcuni si erano rifiutati di bucare linux per questioni ideologiche.


La Pwn2Own credo, o era l'HackCon (o forse sono la stessa cosa), non mi ricordo :read:

pabloski
15-05-2010, 18:34
Linux è scritto in c e in quanto tale è soggetto a problemi di buffer overflow
che possono portare a QUALSIASI genere di vulnerabilità remota o meno.


certo, ma la sicurezza passa pure per i metodi di distribuzione del software, i tempi di patching e distribuzione dei bugfix,ecc...

linux vista la criticità delle applicazioni in cui viene usato è molto rapido e vigile in questo settore


Non ho statistiche in merito. Mi è capitato di leggere di una competizione di hacker (perdonatemi se uso il termine in maniera impropria) in cui alcuni si erano rifiutati di bucare linux per questioni ideologiche.


la faccenda era molto diversa, ovvero si trovò una vulnerabilità ma nel tempo limite non si riuscì a creare l'exploit....la struttura a cipolla del sistema operativo impedì di arrivare al kernel


Lo penso anche io. Fondamentalmente il livello di sicurezza di windows non mi preoccupa.

dipende da che tipo di dati si hanno e se si ha la necessità di proteggerli

javaboy
15-05-2010, 18:45
certo, ma la sicurezza passa pure per i metodi di distribuzione del software, i tempi di patching e distribuzione dei bugfix,ecc...
linux vista la criticità delle applicazioni in cui viene usato è molto rapido e vigile in questo settore

Però magari le distro più sicure utilizzate per sistemi critici non sono quelle usate nei normali pc desktop. Insomma linux essendo modificabile in tutto e per tutto può vantarsi di qualsiasi record ma quanto sono effettivamente sicure e affidabili le distribuzioni usate dalla massa come ubuntu?



la faccenda era molto diversa, ovvero si trovò una vulnerabilità ma nel tempo limite non si riuscì a creare l'exploit....la struttura a cipolla del sistema operativo impedì di arrivare al kernel

No. Evidentemente stiamo parlando di cose diverse.



dipende da che tipo di dati si hanno e se si ha la necessità di proteggerli

Ma si in certe situazioni sicuramente linux è conveniente ma penso che anche windows con degli amministratori capaci possa essere decisamente sicuro.
C'è poi chi lamenta gravi problemi di sicurezza anche in linux (ad esempio Theo de Raadt).....
In ogni caso voi utenti linux secondo me tendete un pò a enfatizzare queste questioni tentando di terrorizzare gli utenti windows.

pabloski
15-05-2010, 19:02
Però magari le distro più sicure utilizzate per sistemi critici non sono quelle usate nei normali pc desktop. Insomma linux essendo modificabile in tutto e per tutto può vantarsi di qualsiasi record ma quanto sono effettivamente sicure e affidabili le distribuzioni usate dalla massa come ubuntu?


la sicurezza deriva da molti parametri tra cui i repository, la struttura decentralizzata del sistema, i breakup dell'api :D

queste caratteristiche esistono pure in ubuntu



No. Evidentemente stiamo parlando di cose diverse.


era il pwn2own 2008...era la terza volta che linux partecipava, rimanendo inviolato per ben 2 volte consecutive

dal 2009 linux è sparito dalla manifestazione, chissà perchè :D


Ma si in certe situazioni sicuramente linux è conveniente ma penso che anche windows con degli amministratori capaci possa essere decisamente sicuro.


se parliamo di amministratori non parliamo di pc suppongo

altro problema è che la logica punta e clicca di windows ha portato a creare una generazione di server admin tutt'altro che competenti

ma il vero problema di windows server risiede nell'enorme numero di vulnerabilità che purtroppo presentano sia IIS che la pecora nera sql server

negli ultimi anni ci sono stati svariati casi di compromissioni di interi datacenter di hoster basati su windows proprio a causa di bug in mssql


C'è poi chi lamenta gravi problemi di sicurezza anche in linux (ad esempio Theo de Raadt).....
In ogni caso voi utenti linux secondo me tendete un pò a enfatizzare queste questioni tentando di terrorizzare gli utenti windows.

de Raadt semplicemente mette in evidenza che linux non è al livello di sicurezza di openbsd, ma questa è storia nota...non può competere con un sistema che ha mostrato 2 bug in 10 anni

però questo non significa che linux sia una groviera

riguardo il terrorismo antiwindows, beh, basta guardare le statistiche di mcafee, symantec o della stessa microsoft....la situazione è purtroppo grave e si perdono miliardi di dollari ogni anno a causa di infiltrazioni in sistemi informatici e il bello è che gli hacker si sono spostati dal settore enterprise a quello domestico perchè è una preda più facile

l'utente comune di windows rimane protetto finchè non installa programma taroccati e non incappa su siti infettati....se una di queste due condizioni si verifica non c'è verso di scamparla

purtroppo di siti trappola è pieno il web e l'utonto ha il viziaccio di scaricare schifezze dal mulo

concordo sul fatto che anche eliminando tutte le vulnerabilità da windows e dai software applicativi rimarrebbero i trojan che sfruttano la gentile collaborazione dell'utonto di turno in cerca di crack facili....questo è il motivo per cui secondo me anche windows dovrebbe pensare seriamente al sistema dei repository o, se vogliamo usare un termine a la apple, un appstore

linux si può certamente infettare però nella pratica il livello di difficoltà è molto maggiore e la non standardizzazione delle distribuzioni significa dover creare millemila versioni dello stesso malware per infettare il sistema operativo....i malware oltretutto interagiscono col kernel e quindi un'api breakup significa che il malware non gira più

il punto è che allo stato attuale delle cose chi usa linux può permettersi il lusso di non avere un antivirus

WarDuck
15-05-2010, 19:23
[..]
altro problema è che la logica punta e clicca di windows ha portato a creare una generazione di server admin tutt'altro che competenti

ma il vero problema di windows server risiede nell'enorme numero di vulnerabilità che purtroppo presentano sia IIS che la pecora nera sql server

negli ultimi anni ci sono stati svariati casi di compromissioni di interi datacenter di hoster basati su windows proprio a causa di bug in mssql


Evidentemente perché non sono formati in maniera adeguata.

Ed in ogni caso non si può dare le colpe a Microsoft se chi ha il compito di gestire i server lo fa male.

Esistono certificazioni apposta.

Comunque:

IIS 5
http://secunia.com/advisories/product/39/

IIS 6
http://secunia.com/advisories/product/1438/

IIS 7
http://secunia.com/advisories/product/17543/

MSSQL 2005
http://secunia.com/advisories/product/6782/

MSSQL 2008
http://secunia.com/advisories/product/21744/

SQL Server 2000 è invece High Critical:

http://secunia.com/advisories/product/7/

Uno dei tanti motivi per i quali è bene usare software di produzione recente.


il punto è che allo stato attuale delle cose chi usa linux può permettersi il lusso di non avere un antivirus

Sul mio desktop uso Windows 7 Professional senza antivirus :).

In un centro di formazione che ha una sala PC ho da poco configurato Windows XP Professional (blindato tramite group policy) senza antivirus, stiamo in prova con Windows Server 2008 R2 Standard.

pabloski
15-05-2010, 19:52
IIS 5
http://secunia.com/advisories/product/39/

IIS 6
http://secunia.com/advisories/product/1438/

IIS 7
http://secunia.com/advisories/product/17543/

MSSQL 2005
http://secunia.com/advisories/product/6782/

MSSQL 2008
http://secunia.com/advisories/product/21744/

SQL Server 2000 è invece High Critical:


come si vede, mssql è la pecora nera



Sul mio desktop uso Windows 7 Professional senza antivirus :).


non è che con l'antivirus fai molto....del resto ormai gli antivirus sono diventati gli zimbelli dell'IT http://arstechnica.com/security/news/2010/05/multicore-cpus-move-attack-from-theoretical-to-practical.ars

al giorno d'oggi un antivirus è solo un modo per tenere lontani i pesci piccoli

però aldilà di chi ha quale specifico setup, la realtà è anche questa http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1377135,00.html

windows è blindabile? benissimo, perchè microsoft non lo vende già blindato?

il discorso delle group policy è utile ma poi che fai, impedisci all'utente di muoversi? e quanto sono efficaci le group policy nei confronti di exploit che colpiscono vulnerabilità dei servizi di sistema? ricordo il gran parlare che si fece intorno a uac, salvo poi scoprire che la funzione zwCreateThread e il servizio BITS permettevano al malware di bypassarlo completamente

le polemiche che sorsero spinsero Russivonich a scrivere un articolo dal titolo "UAC is not a security boundary"....insomma non aspettatevi che faccia miracoli

lock cmpxchg8b %ebx
15-05-2010, 20:11
come si vede, mssql è la pecora nera
:confused:

Affected By
0 Secunia advisories
0 Vulnerabilities
Unpatched 0% (0 of 0 Secunia advisories)

pabloski
15-05-2010, 20:28
:confused:

Affected By
0 Secunia advisories
0 Vulnerabilities
Unpatched 0% (0 of 0 Secunia advisories)

mi riferivo a questo http://secunia.com/advisories/product/6782/

però quelle statistiche non sono aggiornate....guarda qui ad esempio http://www.us-cert.gov/cas/techalerts/TA08-190A.html

e parliamo di sql server 2008

poi pure sul fronte windows ci sono parecchi buchi http://www.iss.net/threats/ThreatList.php

non mi pare normale che uno su tre riguardi il kernel o ie

c'è poi il sempreverde server message block che dà rogne ad ogni giro http://www.iss.net/threats/360.html ....spero che per il 2030 riusciranno a renderlo sicuro

tornando al discorso del più sicuro/meno sicuro basta dare un'occhiata alle statistiche

http://secunia.com/advisories/product/2719/?task=statistics_2010
http://secunia.com/advisories/product/27467/?task=statistics_2010

nel caso di linux il massimo livello di allarme registrato è stato Moderato con una percentuale del 7%

nel caso di windows 7 si parla di Higly col 57%

il 14% delle vulnerabilità non sono patchate contro il 7% di linux ( male anche per linux, ecco perchè de Raadt strilla )

ma la cosa oscena è notare che nel caso di 7 il 71% delle vulnerabilità sono sfruttabili da remoto contro il 13% rispetto a linux ( ecco perchè si attaccano i web server con windows server e non quelli con linux ed ecco perchè al pwn2own 2008 non si riuscì a bucare linux )

e infine nel caso di 7 il 45% permette accesso al sistema contro il 5% di linux, segno che un DOS e una compromissione con installazione di rootkit hanno risvolti ed esiti molto differenti

WarDuck
15-05-2010, 20:40
mi riferivo a questo http://secunia.com/advisories/product/6782/

però quelle statistiche non sono aggiornate....guarda qui ad esempio http://www.us-cert.gov/cas/techalerts/TA08-190A.html

e parliamo di sql server 2008

come si vede, mssql è la pecora nera


A parte SQL Server 2000 tutti i prodotti sono patchati e hanno un livello di criticità nullo o comunque molto basso (al contrario di MySQL ad esempio).


windows è blindabile? benissimo, perchè microsoft non lo vende già blindato?


Perché Windows è nato per un'utenza consumer.

Che poi è lo stesso motivo per cui un utente medio *nix usa Ubuntu e non OpenBSD.


il discorso delle group policy è utile ma poi che fai, impedisci all'utente di muoversi? e quanto sono efficaci le group policy nei confronti di exploit che colpiscono vulnerabilità dei servizi di sistema?


In determinati contesti l'utente deve solo avere accesso ai programmi già installati, senza possibilità di aggiungere null'altro.
Può navigare su internet, ma non può ad esempio lanciare eseguibili al di fuori di cartelle di sistema.

Tra l'altro Linux usa un sistema particolare per la gestione degli eseguibili, quelli che provengono da una fonte esterna hanno disattivato di default il flag di esecuzione.

Per altro è una cosa che si può fare anche su Windows, basta usare una cartella modificata di default.

Tuttavia se l'utente sceglie di eseguirli comunque attivando il flag, nessuno gli dirà nulla.


ricordo il gran parlare che si fece intorno a uac, salvo poi scoprire che la funzione zwCreateThread e il servizio BITS permettevano al malware di bypassarlo completamente

le polemiche che sorsero spinsero Russivonich a scrivere un articolo dal titolo "UAC is not a security boundary"....insomma non aspettatevi che faccia miracoli

No il problema in quel caso era che UAC come è settato di default in Windows 7 (non al massimo) usa una whitelist di processi e dll che tramite injection può essere bypassata, questo per cercare di accontentare chi si lamentava degli avvisi di UAC.

UAC di per se non è un sistema di protezione, ha ragione Russinovich.

UAC è un layer sopra la gestione dei privilegi di Windows, che consente di eseguire un programma ad un livello superiore qualora i privilegi correnti non siano sufficienti (quello che fa gk-sudo).

PS: i buchi sono di interesse se sono non patchati, se sono patchati non ha alcun senso parlarne.

gugoXX
15-05-2010, 20:42
E' ovvio che i virus e i tentativi di attacco si diffondono piu' sul sistema piu' diffuso.
Il punto forte della sicurezza di Linux e' proprio la sua bassa diffusione.

Da non sottovalutare l'effetto reputazione.
Se scrivi un virus per Windows, la comunita' hacker ti eleva agli onori.
Se scrivi un virus per Linux, ti tirano le pietre.

cdimauro
15-05-2010, 20:44
e comunque zeus gira pure senza privilegi amministrativi....facciamo meno demagogia please
I bug, anche sfruttabili per priviledge escalation, esistono per qualunque sistema.

Non mi pare una novità, né che sia un problema esclusivo di Windows.
però un appunto avrei da fartelo anch'io e cioè che tu consideri comunità!=aziende

non è possibile pensare alla comunità meettendoci nokia, intel, ibm, ecc... dentro? la comunità dev'essere per forza composta da straccioni che vivono in cantina alle spalle dei genitori?

capisco che è quella l'idea che si è diffusa negli anni quando si parla di opensource, linux e comunità, però io so (perchè ci vivo dentro) che non siamo un gruppetto di hippies
Io distinguo fra chi sviluppa qualcosa open source, da quelli che sviluppano prodotti commerciali, ma con doppia licenza.

Nel primo caso il contributo di aziende lo annovero fra i risultati della comunità open source. Nel secondo caso no; in quest'ultimo caso non ci rientra Trolltech prima e Nokia poi.
sempre riguardo il problema della sicurezza sento spesso dire che windows è bersagliato perchè è il più diffuso....ok perchè allora linux non è il bersaglio numero uno nel settore dei web server?
1) Windows ha una comunità molto vasta (e più appetibile)
2) La mentalità tipica di hacker e cracker è di non arrecare danno ai prodotti open source.
io non nego che tutti hanno delle vulnerabilità nego che i livelli di sicurezza di linux e di windows sono identici

oggettivamente linux è più sicuro e questo per tanti motivi tra cui anche la famosa frammentazione di cui i winari parlano tanto male
Oggettivamente non esiste una definizione di sistema "sicuro". Peggio ancora per una metrica per definire il "grado / livello di sicurezza" di un sistema.

Dunque la tua affermazione su cosa la basi? Sensazione personale, immagino, e ampiamente opinabile...
certo, ma la sicurezza passa pure per i metodi di distribuzione del software, i tempi di patching e distribuzione dei bugfix,ecc...

linux vista la criticità delle applicazioni in cui viene usato è molto rapido e vigile in questo settore
Falso. T'avevo già scritto prima che nel bugtrack ci sono patch rimaste ad ammuffire da anni.

Fatti un giretto e cerca, ad esempio, quello relativo all'FSYNC, che è abbastanza noto.

Ecco perché dicevo prima che passa la voglia di scrivere: perché, anche dopo una discussione, continui a ripetere le stesse cose...
de Raadt semplicemente mette in evidenza che linux non è al livello di sicurezza di openbsd, ma questa è storia nota...non può competere con un sistema che ha mostrato 2 bug in 10 anni

però questo non significa che linux sia una groviera
Non significa nemmeno che la qualità del codice sia eccelsa, specialmente quando uno si trova davanti a roba del genere (http://www.programmazione.it/index.php?entity=eitem&idItem=42536), che fa cadere le braccia.

Io mi chiedo ancora come sia possibile che quel codice da dilettante allo sbaraglio sia finito nel kernel (specialmente per i danni che provocava)...
windows è blindabile? benissimo, perchè microsoft non lo vende già blindato?
Bisogna vedere cosa intendi con questo termine, e cosa ti aspetti a seconda del settore in esame (desktop, server).
il discorso delle group policy è utile ma poi che fai, impedisci all'utente di muoversi? e quanto sono efficaci le group policy nei confronti di exploit che colpiscono vulnerabilità dei servizi di sistema? ricordo il gran parlare che si fece intorno a uac, salvo poi scoprire che la funzione zwCreateThread e il servizio BITS permettevano al malware di bypassarlo completamente
Idem come sopra: stiamo parlando di bug che possono esistere su qualunque sistema, Linux incluso (e vedi, a tal proposito, il link che ho riportato prima).
le polemiche che sorsero spinsero Russivonich a scrivere un articolo dal titolo "UAC is not a security boundary"....insomma non aspettatevi che faccia miracoli
Mi sembra lapalissiano.

pabloski
15-05-2010, 21:08
A parte SQL Server 2000 tutti i prodotti sono patchati e hanno un livello di criticità nullo o comunque molto basso (al contrario di MySQL ad esempio).


guarda le statistiche di secunia :D a parte il numero bisogna anche valutare l'impatto e la sfruttabilità da remoto e windows da questo punto di vista ne esce con le ossa rotte



Perché Windows è nato per un'utenza consumer.

Che poi è lo stesso motivo per cui un utente medio *nix usa Ubuntu e non OpenBSD.


si ma ubuntu è un sistema che ha un alto livello di sicurezza....è mai possibile che microsoft l'ha capito solo nel 2007 che bisogna evitare di far usare l'account amministratore? e quanti secoli ci vorrano per capire che devono passare ai repository?



In determinati contesti l'utente deve solo avere accesso ai programmi già installati, senza possibilità di aggiungere null'altro.
Può navigare su internet, ma non può ad esempio lanciare eseguibili al di fuori di cartelle di sistema.


il problema è che questa politica non è applicabile per i pc domestici


Tra l'altro Linux usa un sistema particolare per la gestione degli eseguibili, quelli che provengono da una fonte esterna hanno disattivato di default il flag di esecuzione.


ma la differenza sta nella flessibilità con cui puoi renderli eseguibili, nel caso delle group policy il povero utente è in carcere


Tuttavia se l'utente sceglie di eseguirli comunque attivando il flag, nessuno gli dirà nulla.


certamente ed è forse l'unica via d'accesso che il malware ha su linux


No il problema in quel caso era che UAC come è settato di default in Windows 7 (non al massimo) usa una whitelist di processi e dll che tramite injection può essere bypassata, questo per cercare di accontentare chi si lamentava degli avvisi di UAC.


no il caso BITS scoppiò ai tempi di Vista non di 7

riguardo zwCreateThread che è una funzione dell'api NT, beh, è appunto la prova che UAC is not a security boundary....in pratica è sbagliato equipararlo a sudo


UAC è un layer sopra la gestione dei privilegi di Windows, che consente di eseguire un programma ad un livello superiore qualora i privilegi correnti non siano sufficienti (quello che fa gk-sudo).


si ma sudo si appoggia ad un sistema sottostante di gestione dei permessi che è capillare e permette di gestire anche l'accesso all'api di sistema

nel caso di windows rimane l'api nt esposta


PS: i buchi sono di interesse se sono non patchati, se sono patchati non ha alcun senso parlarne.

infatti il 14% dei buchi di 7 sono non patchati e il 57% consentono accesso remoto


E' ovvio che i virus e i tentativi di attacco si diffondono piu' sul sistema piu' diffuso.
Il punto forte della sicurezza di Linux e' proprio la sua bassa diffusione.


mah direi che questa è più che altro una leggenda metropolitana....l'esempio che faccio sempre è quello dei webserver dove linux ha la stragrande maggioranza dello share, eppure gli hacker attaccano windows server


Da non sottovalutare l'effetto reputazione.
Se scrivi un virus per Windows, la comunita' hacker ti eleva agli onori.
Se scrivi un virus per Linux, ti tirano le pietre.

veramente è stato sempre il contrario, ovvero windows è visto come un sistema attaccabile anche dagli script kiddies mentre i sistemi unix sono quelli per hacker hardcore

del resto non è un caso che un exploit per linux è molto più complesso di uno equivalente per windows

Antares88
15-05-2010, 23:09
Anche se lo fosse (e non lo è, perché i linuxiani sono generalmente abituati a non sborsare un centesimo per qualunque cosa, perché vogliono tutto gratis), stiamo parlando di meno dell'1%: non ne vale proprio la pena.


Ah perché gli utenti windows sono abituati a pagarlo il sistema operativo e il software :D

Io invece conosco molti utenti Linux che sono sensibili al valore del software. GLi stessi utenti che anche quando si tratta di software gratuito se possono cercano di dare un contributo (e il tempo è denaro) oppure fanno piccole donazioni o acquistano merchandise (vedi shop di ubuntu e shop di firefox).


Tu non sarai d'accordo, ma se io, software house, so che c'è Wine per Linux, mi spieghi che interesse avrei nell'investire risorse nel porting di una mia applicazione per Linux? Tanto gira già con Wine...


E' un'obiezione ragionevole ma il mercato sta iniziando a dimostrare che può avere un senso fare porting per linux.
Parlavamo di Steam: recentemente è uscita la final di Steam per OSX con una sessantina di titoli, e sembra stia riscuotendo un buon successo. Come si spiega questa cosa ? Anche OSX ha Wine e simili, e se l'utente non vuole faticare a fare girare un gioco per win attraverso questi sistemi oggi si può fare il dual boot e giocarli su windows.
Eppure molti sviluppatori hanno scelgono e hanno scelto in passato di fare porting e venderli. Dubito che siano tutte aziende che non sanno fare due conti (qualcuno ha detto Blizzard ? :D).


Immaginavo che avresti postato questo link, perché lo vedo riportare spesso da tanti linuxiani, a cui però generalmente rispondo con un paio di link a discussioni che ho sostenuto proprio su quest'articolo. Le trovi qui (http://programmazione.it/index.php?entity=eitem&idItem=43656&idPage=1) e qui (http://programmazione.it/index.php?entity=eitem&idItem=43697). :cool:


Grazie per i link, vado a studiarmeli :D


Lo sai, vero, cosa succederà fra un po' di tempo con Ubuntu? Non ci sarà più Kubuntu, perché Ubuntu passerà da Gnome a KDE. E puoi immaginare quali siano le motivazioni...


Questa m'era sfuggita O.o


Nessuno mi paga per usare Linux, né ci guadagno qualcosa se vedo stramazzare Microsoft al suolo. Non me ne può fregare di meno: se il mio PC lo riesco ad usare in modo produttivo (cosa auspicabile, dal momento che l'ho pagato), allora mi sta bene. Punto. :D


Io invece sono molto contento se Microsoft perde quote di mercato a favore di altri competitor in vari settori, perché si è trovata a lungo in una situazione di monopolio: questo le ha consentito di adagiarsi sugli allori per un certo periodo, danneggiando gli utenti.

L'evoluzione delle tecnologie per il web è stata rallentata per molti anni a causa di Internet Explorer 6, tante idee innovative e utili raccomandazioni del W3C hanno avuto una penetrazione sul mercato lenta grazie a quel browser del paleolitico che la MS a lungo non ha voluto sostituire...

Il successo di soluzioni alternative ha fatto si che a Redmond si dessero una svegliata e tornasse a impegnarsi sulla qualità dei suoi prodotti e su tempi di sviluppo più umani.

Vedi il team IE:

2001: IE6
---anni di buio, lacrime e sangue---
2006: IE7
2009: IE8
2010/2011: IE9

Con IE7 MS ha iniziato la rincorsa, con IE8 ha elevato i suoi standard qualitativi quasi a livello della concorrenza, con IE9 è pronta a innovare e a rispettare le raccomandazioni come i competitor fanno da anni.

Grazie alla maggiore competizione utenti e sviluppatori possono beneficiare oggi di un'evoluzione più rapida delle tecnologie. La mia salute di web developer va via via migliorando :D

WarDuck
15-05-2010, 23:18
guarda le statistiche di secunia :D a parte il numero bisogna anche valutare l'impatto e la sfruttabilità da remoto e windows da questo punto di vista ne esce con le ossa rotte


Si ma non ha senso considerare le falle già patchate, altrimenti potrei dirti che Linux e co ne hanno di più, ma è una cosa senza alcun senso, perché potresti tranquillamente obiettare che avere più falle scoperte (conosciute) da un certo punto di vista è una cosa buona e giusta.

Parliamo solo di quelle non-patchate a questo punto, ed SQL Server 2005 e 2008 non ne hanno nessuna.


si ma ubuntu è un sistema che ha un alto livello di sicurezza....è mai possibile che microsoft l'ha capito solo nel 2007 che bisogna evitare di far usare l'account amministratore? e quanti secoli ci vorrano per capire che devono passare ai repository?


Il repository è l'equivalente di avere un sito web fidato da cui scaricare, per cui non mi sembra chissà che.

Tra l'altro gli utenti sono sempre liberi di scaricare da altri lidi.


il problema è che questa politica non è applicabile per i pc domestici


Infatti non si parlava di questo. Ma del fatto che è possibile blindare Windows in ambiti aziendali dove la sicurezza e l'affidabilità del sistema è decisamente più importante che la libertà dell'utente di smanettare con esso.


ma la differenza sta nella flessibilità con cui puoi renderli eseguibili, nel caso delle group policy il povero utente è in carcere


Falso, si può fare un sistema simile a quello di Linux senza scomodare le group policy.


certamente ed è forse l'unica via d'accesso che il malware ha su linux


La stessa che ha su un qualsiasi sistema (aggiornato) e che prevede file eseguibili dall'utente.


no il caso BITS scoppiò ai tempi di Vista non di 7

riguardo zwCreateThread che è una funzione dell'api NT, beh, è appunto la prova che UAC is not a security boundary....in pratica è sbagliato equipararlo a sudo

Se è stata patchata non vedo il problema.


si ma sudo si appoggia ad un sistema sottostante di gestione dei permessi che è capillare e permette di gestire anche l'accesso all'api di sistema

nel caso di windows rimane l'api nt esposta


Alcune API non possono essere usate se disponi di privilegi limitati. Chiaramente si tratta di decidere quali di queste possono rappresentare un problema, e qui possiamo anche discuterne.


infatti il 14% dei buchi di 7 sono non patchati e il 57% consentono accesso remoto


Veramente solo 1 falla non è patchata, ed è less critical.

http://secunia.com/advisories/product/27467/

Per altro avendo la stessa code base è la stessa di Windows Server 2008:

http://secunia.com/advisories/product/18255/

In ogni caso andrà patchata pure quella, è chiaro.


mah direi che questa è più che altro una leggenda metropolitana....l'esempio che faccio sempre è quello dei webserver dove linux ha la stragrande maggioranza dello share, eppure gli hacker attaccano windows server

veramente è stato sempre il contrario, ovvero windows è visto come un sistema attaccabile anche dagli script kiddies mentre i sistemi unix sono quelli per hacker hardcore

del resto non è un caso che un exploit per linux è molto più complesso di uno equivalente per windows

Sinceramente non vedo tutti questi Windows Server compromessi, ma cmq il web server può essere anche blindato, ma se poi Php, Mysql e compagnia bella (ergo le applicazioni) hanno buchi che comunque compromettono i siti web (e ce ne sono stati parecchi mi pare), è abbastanza inutile.

In genere si sfruttano più le falle delle applicazioni per accedere che quelle dei sistemi sottostanti.

Non a caso al CanSecWest MacOS X è caduto a causa di Safari, e Windows a causa di Flash/Java (e non di IE, il che è tutto dire).

eraser
15-05-2010, 23:37
I bug, anche sfruttabili per priviledge escalation, esistono per qualunque sistema.

Non mi pare una novità, né che sia un problema esclusivo di Windows.


Intervengo solo per specificare sul caso ZeuS. In effetti in questo caso è proprio il caso di dire: it's not a bug, it's a feature :D Nel senso che ZeuS, così come SpyEye, sono trojan studiati per lavorare in account limitati, senza diritti amministrativi. Non sfruttano alcuna privilege escalation :)

pabloski
15-05-2010, 23:42
Si ma non ha senso considerare le falle già patchate, altrimenti potrei dirti che Linux e co ne hanno di più, ma è una cosa senza alcun senso, perché potresti tranquillamente obiettare che avere più falle scoperte (conosciute) da un certo punto di vista è una cosa buona e giusta.


non sto guardando il numero di vulnerabilità ma il fatto che oltre la metà sono sfruttabili da remoto e sono critiche

linux invece presenta una minima parte ( il 7% ) di falle del genere....dal 7% al 57% c'è un bel salto nell'insicurezza


Il repository è l'equivalente di avere un sito web fidato da cui scaricare, per cui non mi sembra chissà che.


considerando che un botto di malware si diffonde tramite trojan perchè gli utenti sono tanto stupidi da scaricare programmi e intere iso di windows da emule, direi che invece è un bel passo in avanti nella sicurezza


Tra l'altro gli utenti sono sempre liberi di scaricare da altri lidi.


pacchetti fuori dai repository se ne trovano proprio pochissimi e spero che questo trend scenda ancora di più


Infatti non si parlava di questo. Ma del fatto che è possibile blindare Windows in ambiti aziendali dove la sicurezza e l'affidabilità del sistema è decisamente più importante che la libertà dell'utente di smanettare con esso.


il problema però rimane fuori dall'azienda, ovvero quei miliardi di pc che rubano dati di carte di credito, conti correnti e partecipano ad attacchi DDOS


Falso, si può fare un sistema simile a quello di Linux senza scomodare le group policy.


non del tutto...puoi aggiungere il sistema dei permessi, puoi implementare le acl, non puoi implementare la frammentazione dovuta alle millemila distribuzioni :D



Alcune API non possono essere usate se disponi di privilegi limitati. Chiaramente si tratta di decidere quali di queste possono rappresentare un problema, e qui possiamo anche discuterne.


il problema è che zwCreateThread invece non è protetta da uac e pertanto permette l'iniezione di thread in processi di sistema

stessa cosa dicasi di BITS che accetta comandi da processi utente ma gira come amministratore e quindi può eseguire gli exe scaricati senza allertare uac



Veramente solo 1 falla non è patchata, ed è less critical.


si d'accordo ma è sempre il 7% di 15 :D

il punto è che in un certo periodo di tempo ci sono state determinate vulnerabilità sfruttabili che permettevano l'esecuzione di codice remoto e non ricordo che ms le abbia patchate velocemente, anzi restano fedeli alla logica dei 30 giorni....ma in 30 giorni i russi infettano miliardi di computer


In ogni caso andrà patchata pure quella, è chiaro.


e nel frattempo siccome magari permette l'esecuzione di codice remoto verrà usata per infettare chissà quanti computer e server


Sinceramente non vedo tutti questi Windows Server compromessi, ma cmq il web server può essere anche blindato, ma se poi Php, Mysql e compagnia


non fanno più notizia vorrai dire....ricordo a settembre dell'anno scorso la notizia su PI ( infettati 50.000 server con windows server e oltre 500.000 siti web ospitati )


bella (ergo le applicazioni) hanno buchi che comunque compromettono i siti web (e ce ne sono stati parecchi mi pare), è abbastanza inutile.


questo non giustifica la presenza di buchi nel sistema operativo....wordpress può infastidire un certo numero di siti web ma non permette di infettare un intero server


In genere si sfruttano più le falle delle applicazioni per accedere che quelle dei sistemi sottostanti.


non sempre, ci sono attacchi su larga scala del russian business network che sfruttano proprio iis, mssql e le falle in smb e rpc per infettare interi server


Non a caso al CanSecWest MacOS X è caduto a causa di Safari, e Windows a causa di Flash/Java (e non di IE, il che è tutto dire).

no veramente IE è caduto pure lui, l'unica rimasto in piedi è stato chrome

eraser
15-05-2010, 23:45
Non a caso al CanSecWest MacOS X è caduto a causa di Safari, e Windows a causa di Flash/Java (e non di IE, il che è tutto dire).

Premetto di non aver approfondito gli attacchi sferrati al pwn2own 2010, ma da quello che so Internet Explorer 8 è caduto per una sua vulnerabilità e non per causa di plugin vari quali Flash o Java. È per questo che l'exploit per IE8 è stato particolarmente impressionante

DanieleC88
15-05-2010, 23:59
Io invece sono molto contento se Microsoft perde quote di mercato a favore di altri competitor in vari settori, perché si è trovata a lungo in una situazione di monopolio: questo le ha consentito di adagiarsi sugli allori per un certo periodo, danneggiando gli utenti.

L'evoluzione delle tecnologie per il web è stata rallentata per molti anni a causa di Internet Explorer 6, tante idee innovative e utili raccomandazioni del W3C hanno avuto una penetrazione sul mercato lenta grazie a quel browser del paleolitico che la MS a lungo non ha voluto sostituire...

Il successo di soluzioni alternative ha fatto si che a Redmond si dessero una svegliata e tornasse a impegnarsi sulla qualità dei suoi prodotti e su tempi di sviluppo più umani.

Vedi il team IE:

2001: IE6
---anni di buio, lacrime e sangue---
2006: IE7
2009: IE8
2010/2011: IE9

Con IE7 MS ha iniziato la rincorsa, con IE8 ha elevato i suoi standard qualitativi quasi a livello della concorrenza, con IE9 è pronta a innovare e a rispettare le raccomandazioni come i competitor fanno da anni.

Grazie alla maggiore competizione utenti e sviluppatori possono beneficiare oggi di un'evoluzione più rapida delle tecnologie. La mia salute di web developer va via via migliorando :D

Ma io intendevo semplicemente dire che da un eventuale slittamento di Microsoft non ci guadagno niente, personalmente. Forse come sviliuppatore però... Chissà, magari muove il culo Microsoft. :D

DanieleC88
16-05-2010, 00:00
Premetto di non aver approfondito gli attacchi sferrati al pwn2own 2010, ma da quello che so Internet Explorer 8 è caduto per una sua vulnerabilità e non per causa di plugin vari quali Flash o Java. È per questo che l'exploit per IE8 è stato particolarmente impressionante

Sì, esatto. Chrome è stato quello che ha resistito meglio, Safari è riuscito paradossamente a resistere più su Windows che su Mac OS X. :p

eraser
16-05-2010, 00:02
il problema è che zwCreateThread invece non è protetta da uac e pertanto permette l'iniezione di thread in processi di sistema

:confused: cosa intendi scusa?

eraser
16-05-2010, 00:03
Sì, esatto. Chrome è stato quello che ha resistito meglio, Safari è riuscito paradossamente a resistere più su Windows che su Mac OS X. :p

Ma Chrome è effettivamente fatto molto bene, l'unica cosa che non mi piace è l'esecuzione dei plugin fuori dalla sandbox, il che rende praticamente vana gran parte della sicurezza della sandbox purtroppo. C'è modo di forzare l'esecuzione dei plugin all'interno della sandbox ma è necessario uno switch da passare all'eseguibile, insomma un po noiosa come cosa :(

cdimauro
16-05-2010, 06:15
Ah perché gli utenti windows sono abituati a pagarlo il sistema operativo e il software :D
Non confondere l'Italia con l'intero globo. A livello mondiale la pirateria incide per il 30% circa. Quindi ogni due originali c'è una copia.
Io invece conosco molti utenti Linux che sono sensibili al valore del software. GLi stessi utenti che anche quando si tratta di software gratuito se possono cercano di dare un contributo (e il tempo è denaro) oppure fanno piccole donazioni o acquistano merchandise (vedi shop di ubuntu e shop di firefox).
Sarà, ma per i giochi sono un po' taccagni (http://en.wikipedia.org/wiki/Loki_Software).
E' un'obiezione ragionevole ma il mercato sta iniziando a dimostrare che può avere un senso fare porting per linux.
Parlavamo di Steam: recentemente è uscita la final di Steam per OSX con una sessantina di titoli, e sembra stia riscuotendo un buon successo. Come si spiega questa cosa ? Anche OSX ha Wine e simili, e se l'utente non vuole faticare a fare girare un gioco per win attraverso questi sistemi oggi si può fare il dual boot e giocarli su windows.
Eppure molti sviluppatori hanno scelgono e hanno scelto in passato di fare porting e venderli. Dubito che siano tutte aziende che non sanno fare due conti (qualcuno ha detto Blizzard ? :D).
1) OS X ha una quota di mercato nettamente superiore a Linux.
2) I suoi utenti NON sono abituati a smanettare con roba come wine.
3) E' gente abituata a spendere soldi :D

Questa m'era sfuggita O.o
Se ne parla da un po' di tempo. Ma non si sa ancora (per lo meno non ho visto notizie precise finora) con quale versione ci sarà il "passaggio di consegne".
Io invece sono molto contento se Microsoft perde quote di mercato a favore di altri competitor in vari settori, perché si è trovata a lungo in una situazione di monopolio: questo le ha consentito di adagiarsi sugli allori per un certo periodo, danneggiando gli utenti.
No, per favore, non parliamo di monopolio perché, definizione alla mano, non è mai successo.
L'evoluzione delle tecnologie per il web è stata rallentata per molti anni a causa di Internet Explorer 6, tante idee innovative e utili raccomandazioni del W3C hanno avuto una penetrazione sul mercato lenta grazie a quel browser del paleolitico che la MS a lungo non ha voluto sostituire...

Il successo di soluzioni alternative ha fatto si che a Redmond si dessero una svegliata e tornasse a impegnarsi sulla qualità dei suoi prodotti e su tempi di sviluppo più umani.

Vedi il team IE:

2001: IE6
---anni di buio, lacrime e sangue---
2006: IE7
2009: IE8
2010/2011: IE9

Con IE7 MS ha iniziato la rincorsa, con IE8 ha elevato i suoi standard qualitativi quasi a livello della concorrenza, con IE9 è pronta a innovare e a rispettare le raccomandazioni come i competitor fanno da anni.
La situazione non è esattamente quella. Ne ho parlato di recente qui (http://www.appuntidigitali.it/9703/quanto-e-interoperabile-odf/), in particolare nell'ultimo commento che ho scritto su questa cosa (il # 25).
Grazie alla maggiore competizione utenti e sviluppatori possono beneficiare oggi di un'evoluzione più rapida delle tecnologie. La mia salute di web developer va via via migliorando :D
Personalmente sono favorevolissimo alla libera competizione, ma purché non si debbano legare le mani ai produttori di software.

Se il mercato è, per definizione, libero, lo dovrebbe essere per tutti: per i produttori nello sviluppare e commercializzare i loro prodotti come ritengono più opportuno (fatta eccezione per l'obbligo al rispetto di proprietà intellettuali, copyright et similia), e per gli utenti finali che sono liberi di scegliere se acquistarli oppure no.
Intervengo solo per specificare sul caso ZeuS. In effetti in questo caso è proprio il caso di dire: it's not a bug, it's a feature :D Nel senso che ZeuS, così come SpyEye, sono trojan studiati per lavorare in account limitati, senza diritti amministrativi. Non sfruttano alcuna privilege escalation :)
:eek: Ma allora finora abbiamo parlato del sesso degli angeli. :rotfl:
Premetto di non aver approfondito gli attacchi sferrati al pwn2own 2010, ma da quello che so Internet Explorer 8 è caduto per una sua vulnerabilità e non per causa di plugin vari quali Flash o Java. È per questo che l'exploit per IE8 è stato particolarmente impressionante
Credo che si riferisse a qualche edizione precedente, dove OS X fu hackato in meno di 2 minuti sfruttando una falla di Safari, appunto, mentre Vista dopo un po', sfruttando una falla di Flash; per Linux non arrivarono in tempo a sfruttare la falla di Flash, ma gli hacker dichiararono che era soltanto questione di tempo.

rеpne scasb
16-05-2010, 08:51
Vince per sfiancamento:

1) cdimauro per il post #171 con 20651 punti (90 quote + 11651 caratteri)
2) pabloski per il post #165 con 17876 punti (61 quote + 11776 caratteri)
3) tomminno pr il post #150 con 9353 punti (26 quote + 6753 caratteri)

Menzione speciale a pabloski per aver digitato il massimo numero di caratteri in un post (11776).

I punteggi sono cosi' assegnati:

a) 100 punti per ogni quote
b) 1 punto per ogni carattere scritto
c) 2 punti per per ogni riga

Mi pare sia tutto. :)

shinya
16-05-2010, 09:00
Vince per sfiancamento:

1) cdimauro per il post #171 con 20651 punti (90 quote + 11651 caratteri)
2) pabloski per il post #165 con 17876 punti (61 quote + 11776 caratteri)
3) tomminno pr il post #150 con 9353 punti (26 quote + 6753 caratteri)

Menzione speciale a pabloski per aver digitato il massimo numero di caratteri in un post (11776).

I punteggi sono cosi' assegnati:

a) 100 punti per ogni quote
b) 1 punto per ogni carattere scritto
c) 2 punti per per ogni riga

Mi pare sia tutto. :)
LOL! :sbonk:

gugoXX
16-05-2010, 09:00
Vince per sfiancamento:

1) cdimauro per il post #171 con 20651 punti (90 quote + 11651 caratteri)
2) pabloski per il post #165 con 17876 punti (61 quote + 11776 caratteri)
3) tomminno pr il post #150 con 9353 punti (26 quote + 6753 caratteri)

Menzione speciale a pabloski per aver digitato il massimo numero di caratteri in un post (11776).

I punteggi sono cosi' assegnati:

a) 100 punti per ogni quote
b) 1 punto per ogni carattere scritto
c) 2 punti per per ogni riga

Mi pare sia tutto. :)

Ma hai computato tutto stile "autistico", solo guardando i post e muovendo gli occhi in modo apparentemente casuale, oppure ti sei dotata di parser costruito appositamente per il caso?
:p (scherzo eh...)

rеpne scasb
16-05-2010, 09:20
Ma hai computato tutto stile "autistico", solo guardando i post e muovendo gli occhi in modo apparentemente casuale, oppure ti sei dotata di parser costruito appositamente per il caso?
:p (scherzo eh...)

"La seconda che hai detto" (cit.) :D :D

WarDuck
16-05-2010, 09:52
non sto guardando il numero di vulnerabilità ma il fatto che oltre la metà sono sfruttabili da remoto e sono critiche

linux invece presenta una minima parte ( il 7% ) di falle del genere....dal 7% al 57% c'è un bel salto nell'insicurezza


A costo di sembrare ripetitivo: non ha alcun senso parlare di falle patchate.


considerando che un botto di malware si diffonde tramite trojan perchè gli utenti sono tanto stupidi da scaricare programmi e intere iso di windows da emule, direi che invece è un bel passo in avanti nella sicurezza

pacchetti fuori dai repository se ne trovano proprio pochissimi e spero che questo trend scenda ancora di più


Quello che Microsoft dovrebbe fare è introdurre un sistema di aggiornamento centralizzato (una sorta di registrazione a Windows Update da parte dei programmi) piuttosto che un repository (che sarebbe troppo grande e per altro sarebbe soggetto al controllo da parte dell'Unione Europea: quali programmi metto nei repository?).


il problema però rimane fuori dall'azienda, ovvero quei miliardi di pc che rubano dati di carte di credito, conti correnti e partecipano ad attacchi DDOS


Che tipicamente hanno SO vecchi e/o non aggiornati e/o non protetti.

Non si può dare tutte la colpe a Microsoft.

Tra l'altro non mi risultano botnet basate su Vista/7, anche perché XP è ancora il SO più diffuso (purtroppo).


non del tutto...puoi aggiungere il sistema dei permessi, puoi implementare le acl, non puoi implementare la frammentazione dovuta alle millemila distribuzioni :D


Supponendo che tutti i sistemi di cui parli siano POSIX, le interfacce sono le stesse così come i comandi.

Tra l'altro è molto probabile che si riesca a fare danno anche usando linguaggi managed tipo Python o Java.

Uno script potrebbe benissimo cancellare l'home directory dell'utente corrente, oppure peggio leggere un file e mandarlo tramite browser ad un sito web (basta passare url e dati tramite linea di comando a firefox).

Questo perché tipicamente le distro GNU/Linux non hanno alcuna difesa attiva.


il problema è che zwCreateThread invece non è protetta da uac e pertanto permette l'iniezione di thread in processi di sistema

stessa cosa dicasi di BITS che accetta comandi da processi utente ma gira come amministratore e quindi può eseguire gli exe scaricati senza allertare uac


Strano perché sia Vista che 7 hanno isolato i servizi di sistema in Session 0, mentre gli utenti si loggano in Session 1.
Mentre in XP giravano nella stessa Session.

Se si tratta di un bug sarà stato patchato, non dovrebbe essere una falla by design.


si d'accordo ma è sempre il 7% di 15 :D

il punto è che in un certo periodo di tempo ci sono state determinate vulnerabilità sfruttabili che permettevano l'esecuzione di codice remoto e non ricordo che ms le abbia patchate velocemente, anzi restano fedeli alla logica dei 30 giorni....ma in 30 giorni i russi infettano miliardi di computer


Dipende dalla gravità della falla, se la questione è molto grave Microsoft ha sempre anticipato gli aggiornamenti.

Del resto è nel suo interesse rilasciare il prima possibile la patch (tra l'altro il rilascio di una patch è una operazione delicata, poiché bisognerebbe testare che non crei ulteriori problemi).

Mi ricordo quando fu di Sasser (attacco per altro evitabile con un banale firewall), che la patch era disponibile 14 giorni prima, eppure colpì un sacco di pc perché molti preferivano disattivare gli aggiornamenti automatici quasi per principio.


e nel frattempo siccome magari permette l'esecuzione di codice remoto verrà usata per infettare chissà quanti computer e server


Considerato che è Less Critical probabilmente sarà anche abbastanza difficile da sfruttare o avrà delle mitigation abbastanza semplici da attuare.


non fanno più notizia vorrai dire....ricordo a settembre dell'anno scorso la notizia su PI ( infettati 50.000 server con windows server e oltre 500.000 siti web ospitati )

questo non giustifica la presenza di buchi nel sistema operativo....wordpress può infastidire un certo numero di siti web ma non permette di infettare un intero server


Si ma di quali sistemi stiamo parlando? Quali versioni? Bisogna poi appurare la responsabilità, che non è detto sia di Microsoft, nel momento in cui rilascia le patch.


non sempre, ci sono attacchi su larga scala del russian business network che sfruttano proprio iis, mssql e le falle in smb e rpc per infettare interi server


IIS e MSSQL > 2000 come hai visto non hanno falle non patchate, quindi Microsoft non può avere responsabilità in tal senso.

Tommo
16-05-2010, 10:14
Vince per sfiancamento:

1) cdimauro per il post #171 con 20651 punti (90 quote + 11651 caratteri)
2) pabloski per il post #165 con 17876 punti (61 quote + 11776 caratteri)
3) tomminno pr il post #150 con 9353 punti (26 quote + 6753 caratteri)

Menzione speciale a pabloski per aver digitato il massimo numero di caratteri in un post (11776).

I punteggi sono cosi' assegnati:

a) 100 punti per ogni quote
b) 1 punto per ogni carattere scritto
c) 2 punti per per ogni riga

Mi pare sia tutto. :)

/thread :asd:

cdimauro
16-05-2010, 10:17
Vince per sfiancamento:

1) cdimauro per il post #171 con 20651 punti (90 quote + 11651 caratteri)
2) pabloski per il post #165 con 17876 punti (61 quote + 11776 caratteri)
3) tomminno pr il post #150 con 9353 punti (26 quote + 6753 caratteri)

Menzione speciale a pabloski per aver digitato il massimo numero di caratteri in un post (11776).

I punteggi sono cosi' assegnati:

a) 100 punti per ogni quote
b) 1 punto per ogni carattere scritto
c) 2 punti per per ogni riga

Mi pare sia tutto. :)
Al momento credo di detenere il record assoluto per il messaggio (http://www.hwupgrade.it/forum/showpost.php?p=8911208&postcount=147) più lungo (e, credo, con più quote).

:sborone: :boxe:

Antares88
16-05-2010, 10:27
Non confondere l'Italia con l'intero globo. A livello mondiale la pirateria incide per il 30% circa. Quindi ogni due originali c'è una copia.


Sicuro ? O.o hai dati più precisi in proposito ? Io sapevo di mercati molto ampi (cina, india, russia) in cui la pirateria è un problema come in italia.


Sarà, ma per i giochi sono un po' taccagni (http://en.wikipedia.org/wiki/Loki_Software).


Veramente la Loki non è fallita a causa della taccagneria degli utenti, bensì a causa di una gestione economica scriteriata e di strategie commerciali ridicole. E' tutto raccontato nel riferimento [6] della pagina di wikipedia che hai linkato:
http://web.archive.org/web/20020418225227/http://www.linuxandmain.com/features/lokistory.html


1) OS X ha una quota di mercato nettamente superiore a Linux.
2) I suoi utenti NON sono abituati a smanettare con roba come wine.
3) E' gente abituata a spendere soldi :D


1) vero, ma soprattutto ha una risonanza mediatica molto superiore alla sua reale quota di mercato
2) vero
3) vero anche questo, ricordati però che Snow Leopard costa poche decine di euro mentre per una licenza di Windows ne occorrono centinaia.
Se i prezzi fossero più contenuti forse più utenti sarebbero lieti di concedersi l'acquisto di software originale.


No, per favore, non parliamo di monopolio perché, definizione alla mano, non è mai successo.


Va bene, ma hai capito perfettamente cosa intendo: MS ha avuto per molto tempo una posizione di totale predominio in molti settori del mercato. Se non è monopolio diamogli un altro nome, ma non è una cosa che mi sono inventato io, è stata riscontrata anche dall'UE.


La situazione non è esattamente quella. Ne ho parlato di recente qui (http://www.appuntidigitali.it/9703/quanto-e-interoperabile-odf/), in particolare nell'ultimo commento che ho scritto su questa cosa (il # 25).


Forse IE6 era un prodotto di qualità migliore rispetto alle alternative quando è uscito. Il problema è che tali competitor si sono evoluti rapidamente mentre IE6 è rimasto li, e MS ci ha messo 5 anni per sostituirlo. Cinque anni in cui IE6 ha avuto una tale diffusione sul mercato da bloccare l'innovazione del web, e da costringere i developers a fare più lavoro.
In quegli anni (e anche negli anni successivi dato che ancora non ce lo siamo tolti del tutto dalle scatole quel browser) lo sviluppatore scrive del codice che è aderente alle raccomandazioni, funziona su tutti i browser TRANNE ie6. Ma ie6 non lo si può ignorare dato che è il più diffuso, e allora vai di commenti condizionali, hack, doppia css...
La notte ho ancora gli incubi, sogno di essere rincorso e divorato dal box model farlocco di IE6 :cry: :cry:


Personalmente sono favorevolissimo alla libera competizione, ma purché non si debbano legare le mani ai produttori di software.

Se il mercato è, per definizione, libero, lo dovrebbe essere per tutti: per i produttori nello sviluppare e commercializzare i loro prodotti come ritengono più opportuno (fatta eccezione per l'obbligo al rispetto di proprietà intellettuali, copyright et similia), e per gli utenti finali che sono liberi di scegliere se acquistarli oppure no.


concordo

tomminno
16-05-2010, 11:43
il problema è che zwCreateThread invece non è protetta da uac e pertanto permette l'iniezione di thread in processi di sistema


Eh già e c'è un valido motivo: è un'API del kernel, tra l'altro non documentata si trovano riferimenti su qualche libro per WinNT/2000, ma niente su MSDN.
E stando alla documentazione delle funzioni Zw:

Calling a ZwXxx routine from user mode is not supported;

Se qualcuno è in grado di chiamare con successo ZwCreateThread non è cderto un processo utente.

eraser
16-05-2010, 12:13
Eh già e c'è un valido motivo: è un'API del kernel, tra l'altro non documentata si trovano riferimenti su qualche libro per WinNT/2000, ma niente su MSDN.
E stando alla documentazione delle funzioni Zw:

Se qualcuno è in grado di chiamare con successo ZwCreateThread non è cderto un processo utente.

Mi permetto di intervenire anche qui, scusatemi se rompo :fagiano: :(

ZwCreateThread può essere invocata tranquillamente anche da user mode, il fatto che tu abbia trovato quelle informazioni è esclusivamente perché hai cercato ZwCreateThread ma non NtCreateThread.

Le API native di Windows sono esportate (ma non tutte documentate, almeno non ufficialmente) dalla libreria ntdll.dll, e sono esportate sia con il prefisso Nt* che con Zw*. Tuttavia definiscono entrambe la stessa funzione (parlo di quelle esportate da ntdll.dll, e non invece delle funzioni esportate dal kernel).

Quello che cambia invece è in kernel mode, dove le funzioni Zw* e Nt* sono differenti. ZwCreateThread, in kernel mode, è una stub per NtCreateThread.

Chiaramente non si può invocare da user mode la funzione ZwCreateThread esportata da ntoskrnl, ma si può invocare la Zw/NtCreateThread esportata da ntdll.dll

Per maggiori informazioni sulla funzione: NtCreateThread (http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/NT%20Objects/Thread/NtCreateThread.html)

eraser
16-05-2010, 12:17
:eek: Ma allora finora abbiamo parlato del sesso degli angeli. :rotfl:


non ho capito, ho detto una cosa ovvia e c'entravo come i cavoli a merenda? :stordita: In caso scusate :stordita: Non ho letto tutta la discussione :D


Credo che si riferisse a qualche edizione precedente, dove OS X fu hackato in meno di 2 minuti sfruttando una falla di Safari, appunto, mentre Vista dopo un po', sfruttando una falla di Flash; per Linux non arrivarono in tempo a sfruttare la falla di Flash, ma gli hacker dichiararono che era soltanto questione di tempo.

Ah si ecco, così mi è chiaro. Si infatti quando i primi giorni i browser non cadono per loro vulnerabilità, si aggiungono dei plugin per rendere più facile l'obiettivo :)

pabloski
16-05-2010, 13:23
Se qualcuno è in grado di chiamare con successo ZwCreateThread non è cderto un processo utente.

non supportato non vuol dire impossibile e infatti è stato fatto

questo implica che UAC is not a security boundary :D

oh lo dice Russinovich, potreste riconoscerlo almeno

eraser
16-05-2010, 13:28
non supportato non vuol dire impossibile e infatti è stato fatto

questo implica che UAC is not a security boundary :D

oh lo dice Russinovich, potreste riconoscerlo almeno

Puoi, se possibile, spiegare meglio di cosa stai parlando?
Grazie mille

pabloski
16-05-2010, 13:34
A parte le vittorie per sfiancamento :D il discorso verteva su due punti

1. il programmatore può programmare sotto linux senza trovarsi in braghe di tela nel giro di un mese?

2. l'utente è più sicuro su linux o su windows?

il primo punto ha fatto emergere la mancanza di una documentazione organica su linux, figlia anche del fatto che linux non è un blocco monolitico creato da un'unica azienda

però abbiamo appurato che il confronto non si può fare tra windows + .net + win32 e il solo kernel linux ma sarebbe quantomeno necessario aggiungere qt o gtk all'equazione

io opterei per qt visto che sono quelle che girano maggiore interesse e hanno IDE e documentazione fatti a dovere

gtk non è certo una libreria da quattro soldi però qt punta molto sul cross-platform il che è un plus non da poco

il secondo punto riguarda la sicurezza di linux out of the box....lo so che si può installare xp, staccare la macchina dalla rete, chiuderla nel bunker della CIA e stare tranquilli

il discorso che facevo sulle vulnerabilità va aldilà del mero numero o del fatto che siano attualmente patchate o meno....ci mancherebbe che non fornissero nemmeno patch per le loro magagne

il problema è che ogni vulnerabilità è una finestra di opportunità per gli aggressori e le variabili importanti che la riguardano sono l'impatto e la durata....

quanto tempo ci vuole per avere una patch per linux? quanto per windows? la logica delle patch mensili paga davvero? queste sono le domande che bisogna porsi

le distribuzioni linux sono molto noiose, infatti ogni giorno avvii la macchina e comincia a strillare che ha 30, 40, 100 aggiornamenti da fare...sarà fastidiosa la cosa ma è un modo per essere sicuri

in quei 30 giorni in cui MS fornisce una patch quanti malware possono sfruttare il bug? e poi le macchine infettate chi le controlla?

l'altra variabile è l'impatto e lì leggo senza mezze misure che il 57% delle vulnerabilità riguardanti windows 7 ( si l'ultimissimo os di ms non windows 95 ) è sfruttabile da remoto mentre solo il 7% di quelle linux lo è

questo fatto apre una finestra di opportunità enorme per tutti coloro che vogliono violare un computer

certo, pure su linux può esserci un buco che permette la privilege escalation, ma il codice per sfruttarlo come lo faccio arrivare sulla macchina? tramite i repository? abbastanza difficile...tramite browser? potrebbe essere....tramite un attacco ad un servizio di sistema? si se c'è un buco in quella finestra del 7%

il punto è che la finestra di windows è del 57%, molto più grande ed è questo il vero motivo che rende windows la piattaforma preferita dai cattivi

scrivere un malware per linux può essere decisamente scoraggiante, tra compilatori che cambiano le regole del gioco, il kernel che cambia api ogni tre per quattro, la non uniformità nel numero, tipo e versioni delle librerie presenti su ogni installazione di linux

esatto sono proprio i difetti tanto spesso citati ad essere un'arma contro il malware....un malware che voglia restare nascosto e fare bene il proprio lavoro deve per forza di cose interagire col kernel ( pure su windows è così ) ma il problema è che il kernel è un bersaglio mobile che cambia forma....per i programmi c'è la libc, qt, ecc... che restano compatibili da versione a versione, per il kernel non c'è questa certezza

nel caso di windows invece puoi essere certo che quello che si poteva fare ieri si può fare anche oggi e nello stesso modo

ecco perchè windows è il bersaglio preferito, perchè permette attacchi diffusi usando lo stesso malware su un numero enorme di macchine

pabloski
16-05-2010, 13:49
Puoi, se possibile, spiegare meglio di cosa stai parlando?
Grazie mille

beh meglio di Russinovich non può spiegarlo nessuno :D

http://www.microsoft.com/emea/spotlight/sessionh.aspx?videoid=993


ma per farla breve il punto è che UAC è un layer che si frappone tra te applicazione utente e il sistema filtrando le varie operazioni richieste dal software per capire quali l'utente corrente dovrebbe poter eseguire e quali no

ovviamente il nodo centrale di windows è sempre la retrocompatibilità, croce e delizia di questo sistema

per cui Vista fu creato per consentire delle aperture controllate all'interno di quelli che loro chiamano integrity levels

un esempio banale è quello di un programma unix utente che chiama un altro programma che svolge una determinata operazione ( download e esecuzione in un eseguibile ad esempio )....tutto questo tam tam viene però sottoposto a specifiche policy di sicurezza....il mio programma avvia il programma per il download il quale avrà i miei stessi privilegi

UAC non funziona così in tutti i casi, per cui il mio programma chiama BITS ( che da servizio di sistema ha un bel pò di potere ) il quale scarica ed esegue il programma che gli ho indicato....risultato? UAC non s'è attivato e il programma scaricato appena avviato si trova già aldilà di UAC per cui non viene visualizzato nessun avviso

altro discorso sono determinate funzioni dell'API particolarmente quella NT ( che sta sotto win32 )....il problema anche qui è che se blocchi troppo mandi a casa un mucchio di programmi ( parliamo di robe grosse tipo antivirus che usano l'api NT ) se blocchi poco crei troppi "casi particolari" che possono essere sfruttati.....zwCreateThread era o è ( spero siano intervenuti ) uno di questi casi particolari

in pratica UAC è più un filtro usermode che un vero meccanismo che stabilisce a quali condizioni devono sottostare tutte le operazioni all'interno del sistema....è utile perchè filtra parte dei malware vecchi ( Zeus ad esempio per evitare UAC adesso lavora con account limitati ) e soprattutto permette di regolare "a vista" ( ovvero avvisando l'utente ) tutte le operazioni sensibili che toccano i file di system, l'installazione di driver, ecc....

ovviamente su questo secondo punto molti facevano notare che l'utente finirà alla lunga per rispondere sempre si, ma vabbè questo è un problema di cultura informatica

il vero guaio è poi successo con 7, dove ms ha abbassato il grado di invasività di UAC per venire incontro alle tante lamentele sorte in passato....il risultato? un banale vbscript tramite uno di quei buchi controllati di UAC è in grado di disabilitarlo totalmente.....non so se abbiano tappato il buco o meno, ma all'uscita di 7 c'era e funzionava

infine se ti interessa l'argomento ti segnalo un paio di link

l'articolo di Russinovich http://blogs.technet.com/markrussinovich/archive/2007/02/12/638372.aspx

e un'analisi critica di Rutkowska http://theinvisiblethings.blogspot.com/2007/02/running-vista-every-day.html

eraser
16-05-2010, 13:51
Non citare Russinovich :) non c'entra niente la specifica di cosa è o non è l'UAC.

Mi spieghi a livello tecnico come in un account protetto da UAC si possa utilizzare l'API nativa ZwCreateThread per iniettare del codice in un processo privilegiato, quindi con un MIC superiore o eseguito con account SYSTEM?

WarDuck
16-05-2010, 13:56
@pabloski: Come ho già detto non è UAC di per se che limita il raggio d'azione, ma l'uso di privilegi limitati (cosa che, se non sbaglio, è possibile da Windows NT).

UAC è paragonabile a gk-sudo nel senso che è una interfaccia per elevare i privilegi.

Tanto per la cronaca: se disattivi UAC e usi un account standard vedrai tanti "Accesso negato", anziché la finestrella di UAC.

eraser
16-05-2010, 13:58
@pabloski: Come ho già detto non è UAC di per se che limita il raggio d'azione, ma l'uso di privilegi limitati (cosa se non sbaglio possibile da Windows NT)

Certo, il kernel NT è nato con questo concetto, con il concetto di sicurezza :)

rеpne scasb
16-05-2010, 13:59
Al momento credo di detenere il record assoluto per il messaggio (http://www.hwupgrade.it/forum/showpost.php?p=8911208&postcount=147) più lungo (e, credo, con più quote).

:sborone: :boxe:

128 quote e 32094 caratteri!!!!!!!! Con una velocità teorica di 240 battute al minuto ti ci son volute oltre 2 ore di digitazione ininterrotta!!!!!!!!! :eek: :eek: :eek:

pabloski
16-05-2010, 14:01
@pabloski: Come ho già detto non è UAC di per se che limita il raggio d'azione, ma l'uso di privilegi limitati (cosa se non sbaglio possibile da Windows NT).

UAC è paragonabile a gk-sudo nel senso che è una interfaccia per passare da account standard a privilegi admin.

Tanto per la cronaca: se disattivi UAC e usi un account standard vedrai tanti "Accesso negato", anziché la finestrella di UAC.

certo ma poi a che ti serve se hai tanti buchi in cui puoi entrare da remoto?

del resto come ho detto sopra UAC presente dei buchi controllati e questo non è un atteggiamento molto orientato alla sicurezza, tanto che il famoso Russinovich se ne lavò le mani dicendo che se compaiono software che bypassano UAC allora non dobbiamo dire che windows ha un buco nella sicurezza

in unix i permessi te la trascini lungo il percorso, qui invece ottieni solo il risultato di poter filtrare in usermode i tentativi di accesso a IL superiori al tuo

un esempio banale è il fatto che l'utente non admin di vista e 7 è in realtà parte del group admin ( altrimenti non può eseguire azioni amministrative neanche dopo essere passato tramite uac )....sotto unix una cosa del genere non la vedrai mai

il sudo è simile ma non uguale a uac e soprattutto poggia su un sistema di permessi che affonda le sue radici fino agli strati bassi del sistema...l'unica vera protezione in windows sono le group policy e le acl, uac is a joke :D

pabloski
16-05-2010, 14:04
Non citare Russinovich :) non c'entra niente la specifica di cosa è o non è l'UAC.

Mi spieghi a livello tecnico come in un account protetto da UAC si possa utilizzare l'API nativa ZwCreateThread per iniettare del codice in un processo privilegiato, quindi con un MIC superiore o eseguito con account SYSTEM?

semplicemente perchè non c'è mai stato nessun filtro nell'uso dell'api di windows

del resto NT che pure è nato con un pò più di attenzione alla sicurezza era comunque un sistema che fino a xp considerava che l'utente admin era l'utente di tutti i giorni

puoi fare uso delle access control list per limitare quello che ti pare ma il problema è che out of the box tutto questo non viene fatto

unix invece out of the box riesce a garantire una migliore blindatura senza impedirti però di usare il sistema appieno come in genere si fa con le group policy

ndakota
16-05-2010, 14:05
128 quote e 32094 caratteri!!!!!!!! Con una velocità teorica di 240 battute al minuto ti ci son volute oltre 2 ore di digitazione ininterrotta!!!!!!!!! :eek: :eek: :eek:

Cdimauro può eseguire 750 battute al minuto.. con una mano sola. Si narra abbia contato fino a infinito.. due volte :p

pabloski
16-05-2010, 14:09
Cdimauro può eseguire 750 battute al minuto.. con una mano sola. Si narra abbia contato fino a infinito.. due volte :p

non sarà il fratello segreto di Chuck Norris? :D

WarDuck
16-05-2010, 14:11
certo ma poi a che ti serve se hai tanti buchi in cui puoi entrare da remoto?

del resto come ho detto sopra UAC presente dei buchi controllati e questo non è un atteggiamento molto orientato alla sicurezza, tanto che il famoso Russinovich se ne lavò le mani dicendo che se compaiono software che bypassano UAC allora non dobbiamo dire che windows ha un buco nella sicurezza

in unix i permessi te la trascini lungo il percorso, qui invece ottieni solo il risultato di poter filtrare in usermode i tentativi di accesso a IL superiori al tuo

un esempio banale è il fatto che l'utente non admin di vista e 7 è in realtà parte del group admin ( altrimenti non può eseguire azioni amministrative neanche dopo essere passato tramite uac )....sotto unix una cosa del genere non la vedrai mai

il sudo è simile ma non uguale a uac e soprattutto poggia su un sistema di permessi che affonda le sue radici fino agli strati bassi del sistema...l'unica vera protezione in windows sono le group policy e le acl, uac is a joke :D

Ti invito a leggere l'articolo che ho in firma su UAC, dato che grazie ad esso (o meglio grazie all'uso di privilegi inferiori a quelli admin) il 92% delle falle Critiche sono state rese inoffensive.

L'utente Admin di default fa parte del gruppo Admin, ma ha privilegi inferiori ad esso.

Per questo motivo disattivando UAC alcune persone hanno lamentato comunque l'impossibilità di fare certe operazioni.

Usando un utente del gruppo standard (Users) UAC chiede la password dell'account admin.

In ogni caso non è vero che non c'è un filtro, alcune chiamate di sistema non funzionano se sei User o Admin limitato.

^TiGeRShArK^
16-05-2010, 14:15
Al momento credo di detenere il record assoluto per il messaggio (http://www.hwupgrade.it/forum/showpost.php?p=8911208&postcount=147) più lungo (e, credo, con più quote).

:sborone: :boxe:
:eek:
:rotfl:
Sei un mito! :D

eraser
16-05-2010, 14:16
semplicemente perchè non c'è mai stato nessun filtro nell'uso dell'api di windows

E difatti non c'entra niente nessun filtro delle API.

Ok, hai letto da qualche parte che ZwCreateThread potrebbe essere utilizzato per iniettare codice in un processo e il resto ce lo hai messo di fantasia.

Te lo dico io, non si può :) Per iniettare codice all'interno di un processo privilegiato devi avere dei privilegi che normalmente non hai, a meno che non l'hai permesso come amministratore di sistema.

Se il processo non è eseguito dal tuo account (e in Windows Vista/7 è così, i processi di sistema sono separati) ti serve il SeDebugPrivilege per aprire un handle al processo in cui vuoi inserire il tuo codice. Che di default non hai. Se il processo è eseguito ad un MIC superiore al tuo, ti serve ugualmente il privilegio che non hai. Se non hai un handle aperto al processo con specifici richieste, ZwCreateThread non ti serve ad una beneamata :)

pabloski
16-05-2010, 14:27
E difatti non c'entra niente nessun filtro delle API.

Ok, hai letto da qualche parte che ZwCreateThread potrebbe essere utilizzato per iniettare codice in un processo e il resto ce lo hai messo di fantasia.

Te lo dico io, non si può :) Per iniettare codice all'interno di un processo privilegiato devi avere dei privilegi che normalmente non hai, a meno che non l'hai permesso come amministratore di sistema.

Se il processo non è eseguito dal tuo account (e in Windows Vista/7 è così, i processi di sistema sono separati) ti serve il SeDebugPrivilege per aprire un handle al processo in cui vuoi inserire il tuo codice. Che di default non hai. Se il processo è eseguito ad un MIC superiore al tuo, ti serve ugualmente il privilegio che non hai. Se non hai un handle aperto al processo con specifici richieste, ZwCreateThread non ti serve ad una beneamata :)

per questo ho parlato di un bug http://mnin.blogspot.com/2007/05/injecting-code-into-privileged-win32.html

normalmente non dovrebbe essere possibile ma si può fare

Ti invito a leggere l'articolo che ho in firma su UAC, dato che grazie ad esso (o meglio grazie all'uso di privilegi inferiori a quelli admin) il 92% delle falle Critiche sono state rese inoffensive.

L'utente Admin di default fa parte del gruppo Admin, ma ha privilegi inferiori ad esso.

Per questo motivo disattivando UAC alcune persone hanno lamentato comunque l'impossibilità di fare certe operazioni.

Usando un utente del gruppo standard (Users) UAC chiede la password dell'account admin.

In ogni caso non è vero che non c'è un filtro, alcune chiamate di sistema non funzionano se sei User o Admin limitato.

infatti il sistema degli IL è l'ulteriore filtro che permette di fare certe operazioni

ciò non toglie che il normale utente che viene creato ( e che fa parte del gruppo admin ) può installare ad esempio driver, i quali hanno i privilegi necessari per procedere oltre

chi impedisce o comunque avverte di un'operazione simile è UAC che se disattivato ovviamente non avverte più, se attivato può comunque essere aggirato

il sudo non ha buchi controllati per cui puoi bypassarlo

eraser
16-05-2010, 14:29
per questo ho parlato di un bug http://mnin.blogspot.com/2007/05/injecting-code-into-privileged-win32.html

normalmente non dovrebbe essere possibile ma si può fare


Sapevo che avevi fatto riferimento a quell'articolo. Non dice niente di nuovo, anzi lo specifica bene all'inizio.

First, it is necessary to adjust the token privileges of your program so that debugging (SE_PRIVILEGE_ENABLED) is allowed. If you are injecting code into a lower privileged process, then this will not be needed.

Also, the target process will need to be opened with PROCESS_ALL_ACCESS rights.

Particolare non da poco ;) Nessun bug e passa la paura ;)

pabloski
16-05-2010, 14:37
Sapevo che avevi fatto riferimento a quell'articolo. Non dice niente di nuovo, anzi lo specifica bene all'inizio.



Particolare non da poco ;) Nessun bug e passa la paura ;)

si ma unito ai vari problemini di bypass di uac ti consente di abilitare SE_PRIVILEGE_ENABLED, installare un driver e da lì aprire il servizio di sistema con l'opzione PROCESS_ALL_ACCESS

è ovvio che non è un attacco in un singolo passo ma è comunque fattibile

il punto è che uac non dovrebbe permetterti di infilare un driver nel sistema

eraser
16-05-2010, 14:44
si ma unito ai vari problemini di bypass di uac ti consente di abilitare SE_PRIVILEGE_ENABLED, installare un driver e da lì aprire il servizio di sistema con l'opzione PROCESS_ALL_ACCESS

è ovvio che non è un attacco in un singolo passo ma è comunque fattibile

il punto è che uac non dovrebbe permetterti di infilare un driver nel sistema

:D Ti stai addentrando in campi difficili, occhio :)

Ho notato come riesci a mischiare un sacco di argomenti tutti insieme, facendo solo una gran confusione e parlandone solo per sentito dire.

Vari problemini di UAC? Abilitare SE_PRIVILEGE_ENABLED e da lì caricare un driver? E dal driver aprire il processo con PROCESS_ALL_ACCESS?

Se hai caricato un driver e quindi sei in kernel mode, sai che te ne fai di aprire il processo con PROCESS_ALL_ACCESS e iniettare codice dentro un altro processo :asd:

Inoltre se hai ottenuto quell'handle ad un processo, non ti frega niente di ZwCreateThread. Usi la classica e sempre funzionante procedura. Non c'entra niente la fantomatica storia del "ZwCreateThread non filtrato da UAC" :D

Di falla vera e propria di UAC ce n'è solo una, e purtroppo è stata inserita in Windows 7 a causa delle troppe lamentele di utenti annoiati per nulla. Per altro non è una falla, ma una scelta di design che è facilmente sistemabile se l'utente volesse.

pabloski
16-05-2010, 15:10
:D Ti stai addentrando in campi difficili, occhio :)

Ho notato come riesci a mischiare un sacco di argomenti tutti insieme, facendo solo una gran confusione e parlandone solo per sentito dire.

Vari problemini di UAC? Abilitare SE_PRIVILEGE_ENABLED e da lì caricare un driver? E dal driver aprire il processo con PROCESS_ALL_ACCESS?

Se hai caricato un driver e quindi sei in kernel mode, sai che te ne fai di aprire il processo con PROCESS_ALL_ACCESS e iniettare codice dentro un altro processo :asd:

Inoltre se hai ottenuto quell'handle ad un processo, non ti frega niente di ZwCreateThread. Usi la classica e sempre funzionante procedura. Non c'entra niente la fantomatica storia del "ZwCreateThread non filtrato da UAC" :D

Di falla vera e propria di UAC ce n'è solo una, e purtroppo è stata inserita in Windows 7 a causa delle troppe lamentele di utenti annoiati per nulla. Per altro non è una falla, ma una scelta di design che è facilmente sistemabile se l'utente volesse.

un driver può avere un motivo valido per iniettare codice in un altro processo, per esempio per bypassare i firewall

il punto è che UAC è stato pubblicizzato come il filtro universale antimalware, per poi invece scoprire che un banale layer che fa passare da un IL all'altro quando si verificano certe condizioni

quando tu fai un attacco non è che dal tuo server malefico invii a windows un driver e quello lo installa....devi usare una qualche vulnerabilità per eseguire il codice da remoto, creare uno o più processi, intrufolare un driver per fare il resto e magari intrufolarti all'interno di altri processi di sistema per fregare i firewall

quello che io ho descritto non è frutto della mia fantasia ma è l'esatto modo di operare di Limbo, il quale sfrutta proprio quella funzione per iniettarsi in tutti i processi di sistema da cui può controllare qualsiasi cosa e bypassare qualunque antivirus e firewall

inoltre il motivo per cui uac e zwcreatethread sono legati è dovuto proprio al fatto che un processo con privilegi di admin possiede questa capacità ( SE_PRIVILEGE_ENABLED ) e quindi è in grado di terminare un processo remoto e iniettarvi codice....normalmente uac compare con la sua finestrella e ovviamente pretende che l'utente lo fermi, ma se bypasso uac e l'utente non veda nulla chi lo ferma?

il punto principale però rimane sempre lo stesso e cioè quanto un sistema operativo è vulnerabile ad attacchi esterni e come ho detto in più thread 57% contro 7% è una bella differenza

eraser
16-05-2010, 18:10
Detto in tutta sincerità, faccio molta difficoltà a risponderti. Tendi a confondere le acque continuamente, invocando argomenti che non conosci - almeno che non conosci approfonditamente - e mettendoli insieme.

Va beh, tentiamo comunque di dare un senso a quello che scrivi:


un driver può avere un motivo valido per iniettare codice in un altro processo, per esempio per bypassare i firewall


Se sei in kernel mode il firewall lo bypassi senza problemi anche senza iniettare alcunché in alcun processo, inoltre da kernel mode non hai bisogno di alcun PROCESS_ALL_ACCESS, non ha neanche senso parlarne


il punto è che UAC è stato pubblicizzato come il filtro universale antimalware, per poi invece scoprire che un banale layer che fa passare da un IL all'altro quando si verificano certe condizioni


Molto opinabile, ma di questo non voglio discuterne ora. È un altro argomento che richiede altro tempo


quando tu fai un attacco non è che dal tuo server malefico invii a windows un driver e quello lo installa....devi usare una qualche vulnerabilità per eseguire il codice da remoto, creare uno o più processi, intrufolare un driver per fare il resto e magari intrufolarti all'interno di altri processi di sistema per fregare i firewall


Eh, detto fatto praticamente :asd:


quello che io ho descritto non è frutto della mia fantasia ma è l'esatto modo di operare di Limbo, il quale sfrutta proprio quella funzione per iniettarsi in tutti i processi di sistema da cui può controllare qualsiasi cosa e bypassare qualunque antivirus e firewall


Non ho sotto mano un sample di Limbo purtroppo, e non me lo ricordo visto che l'ho analizzato due anni fa. Hai qualche documento tecnico (o un sample del trojan) che spieghi in maniera tecnica quello che stai cercando di dire?


inoltre il motivo per cui uac e zwcreatethread sono legati è dovuto proprio al fatto che un processo con privilegi di admin possiede questa capacità ( SE_PRIVILEGE_ENABLED ) e quindi è in grado di terminare un processo remoto e iniettarvi codice....

Un account admin non protetto da UAC ha questo privilegio, un account admin protetto da UAC non ce l'ha, ce l'ha solo dopo che ha dato l'ok alla finestra di avviso dell'UAC (senza considerare che ti sei fissato con ZwCreateThread che non fa un'emerita cippa :D ti vai solo a complicare la vita non si sa per quale oscuro motivo)


normalmente uac compare con la sua finestrella e ovviamente pretende che l'utente lo fermi, ma se bypasso uac e l'utente non veda nulla chi lo ferma?

Come lo bypassi? (Escludendo la falla di design che purtroppo è stata inserita in Windows 7 e alla quale si può porre tranquillamente rimedio)

cdimauro
16-05-2010, 19:57
Sicuro ? O.o hai dati più precisi in proposito ? Io sapevo di mercati molto ampi (cina, india, russia) in cui la pirateria è un problema come in italia.
A fare da contraltare a quei paesi ci sono autentici divoratori di software originale, come il Giappone ad esempio, dove la pirateria è praticamente inesistente.

Comunque sono dati forniti dalla BSA. Se recupero il link te lo faccio avere.
Veramente la Loki non è fallita a causa della taccagneria degli utenti, bensì a causa di una gestione economica scriteriata e di strategie commerciali ridicole. E' tutto raccontato nel riferimento [6] della pagina di wikipedia che hai linkato:
http://web.archive.org/web/20020418225227/http://www.linuxandmain.com/features/lokistory.html
A me sembra che le vendite fossero molto scarse, persino con titoli come Quake 3 Arena...
1) vero, ma soprattutto ha una risonanza mediatica molto superiore alla sua reale quota di mercato
2) vero
3) vero anche questo, ricordati però che Snow Leopard costa poche decine di euro mentre per una licenza di Windows ne occorrono centinaia.
Occhio che devi avere una licenza di Leopard. Snow Leopard è un aggiornamento di quest'ultimo: ecco perché Apple lo vende a un prezzo così basso.

In ogni caso Apple prende a piene mani dall'open source, sfruttando il lavoro altrui. Non mi pare, quindi, che un confronto sia "onesto".
Se i prezzi fossero più contenuti forse più utenti sarebbero lieti di concedersi l'acquisto di software originale.
Per i giochi penso siano mediamente troppo elevati. Per roba come Windows (Home Basic e Premium) o Office (Home and Student) li trovo abbordabili (stiamo parlando di un intero s.o., e di una suite "coi fiocchi").
Va bene, ma hai capito perfettamente cosa intendo: MS ha avuto per molto tempo una posizione di totale predominio in molti settori del mercato. Se non è monopolio diamogli un altro nome, ma non è una cosa che mi sono inventato io, è stata riscontrata anche dall'UE.
Si tratta di posizione dominante, e ci sarebbe da chiedersi cosa facesse la concorrenza all'epoca (sempre che ce ne fossa una).

Lo dico e lo ripeterò sempre: bisogna contestualizzare. Guardare con gli occhi di adesso gli avvenimenti dell'epoca è troppo comodo e poco realistico.
Forse IE6 era un prodotto di qualità migliore rispetto alle alternative quando è uscito. Il problema è che tali competitor si sono evoluti rapidamente mentre IE6 è rimasto li, e MS ci ha messo 5 anni per sostituirlo. Cinque anni in cui IE6 ha avuto una tale diffusione sul mercato da bloccare l'innovazione del web, e da costringere i developers a fare più lavoro.
Nell'ultimo commento (il # 57) di questo articolo (http://www.appuntidigitali.it/7699/browser-ballot-screen-numeri-interessanti-nei-primi-giorni/) ne parlo meglio.

Come sempre, è bene contestualizzare. ;)
In quegli anni (e anche negli anni successivi dato che ancora non ce lo siamo tolti del tutto dalle scatole quel browser) lo sviluppatore scrive del codice che è aderente alle raccomandazioni, funziona su tutti i browser TRANNE ie6. Ma ie6 non lo si può ignorare dato che è il più diffuso, e allora vai di commenti condizionali, hack, doppia css...
La notte ho ancora gli incubi, sogno di essere rincorso e divorato dal box model farlocco di IE6 :cry: :cry:
Non lo metto in dubbio.
non ho capito, ho detto una cosa ovvia e c'entravo come i cavoli a merenda? :stordita: In caso scusate :stordita: Non ho letto tutta la discussione :D
No, è che pensavo che stessimo parlando di una falla di Windows che sfruttava questo trojan. Invece si tratta di una "normalissima" applicazione, e onestamente mi sto ancora chiedendo cosa avrebbe dovuto fare Windows per evitare che funzionasse. :p
Ah si ecco, così mi è chiaro. Si infatti quando i primi giorni i browser non cadono per loro vulnerabilità, si aggiungono dei plugin per rendere più facile l'obiettivo :)
Poi Adobe... No comment. :asd:
A parte le vittorie per sfiancamento :D
T'è andata bene. :cool:
il discorso verteva su due punti

1. il programmatore può programmare sotto linux senza trovarsi in braghe di tela nel giro di un mese?

2. l'utente è più sicuro su linux o su windows?

il primo punto ha fatto emergere la mancanza di una documentazione organica su linux, figlia anche del fatto che linux non è un blocco monolitico creato da un'unica azienda

però abbiamo appurato che il confronto non si può fare tra windows + .net + win32 e il solo kernel linux ma sarebbe quantomeno necessario aggiungere qt o gtk all'equazione

io opterei per qt visto che sono quelle che girano maggiore interesse e hanno IDE e documentazione fatti a dovere

gtk non è certo una libreria da quattro soldi però qt punta molto sul cross-platform il che è un plus non da poco
Su questo t'ho già scritto non so quante volte la solita solfa. Adesso hai tirato in ballo le equazioni, e ne approfitto per un ultimo tentativo per farti capire come stanno le cose:
linux + qt = windows + .net + win32 + qt
semplifichiamo e otteniamo:
linux = windows + .net + win32
Penso che il significato sia chiaro, no? :fagiano:
il problema è che ogni vulnerabilità è una finestra di opportunità per gli aggressori e le variabili importanti che la riguardano sono l'impatto e la durata....

quanto tempo ci vuole per avere una patch per linux? quanto per windows? la logica delle patch mensili paga davvero? queste sono le domande che bisogna porsi
Te ne faccio qualcuna anch'io: hai provato a dare un'occhiata al bugtrack, come t'avevo già detto prima, e vedere quante falle di sicurezza sono messe ancora lì a bella posta dopo ANNI che ne è stato aperto il ticket?
in quei 30 giorni in cui MS fornisce una patch quanti malware possono sfruttare il bug? e poi le macchine infettate chi le controlla?
Le falle sfruttabili solo se sono note. Lapalissiano.

Per quelle gravi e di cui sono disponibili le informazioni mi sembra che Microsoft abbia saltato il classico ciclo di rilascio mensile.
scrivere un malware per linux può essere decisamente scoraggiante, tra compilatori che cambiano le regole del gioco, il kernel che cambia api ogni tre per quattro, la non uniformità nel numero, tipo e versioni delle librerie presenti su ogni installazione di linux

esatto sono proprio i difetti tanto spesso citati ad essere un'arma contro il malware....un malware che voglia restare nascosto e fare bene il proprio lavoro deve per forza di cose interagire col kernel ( pure su windows è così ) ma il problema è che il kernel è un bersaglio mobile che cambia forma....per i programmi c'è la libc, qt, ecc... che restano compatibili da versione a versione, per il kernel non c'è questa certezza
A me sembra di parlare con dr.Jeckyll e mr.Hide: due persone completamente diverse.

A meno che la tua risposta all'autore del thread non l'abbia scritto qualcun altro, appunto, non riesco a conciliarla con quello che ho scritto qui sopra. La logica me lo impedisce. :stordita:
nel caso di windows invece puoi essere certo che quello che si poteva fare ieri si può fare anche oggi e nello stesso modo

ecco perchè windows è il bersaglio preferito, perchè permette attacchi diffusi usando lo stesso malware su un numero enorme di macchine
Che il problema principale sia la diffusione lo ripeto da anni. Sono contento che sia d'accordo anche tu. :D

DanieleC88
16-05-2010, 20:36
A me sembra che le vendite fossero molto scarse, persino con titoli come Quake 3 Arena...
Boh, io non ho dati sulla questione, ma ti limito a fare l'esempio personale... Avendo già Quake III: Arena per Windows, mi è bastato scaricare il binario per Linux... Probabilmente con "titoloni" è successa spesso una cosa simile.

cdimauro
16-05-2010, 21:29
Però anche così la situazione non è che deponga a favore di chi sviluppa giochi per Linux. E senza soldi che entrano, il fallimento è la strada naturale...

Comunque ho recuperato i dati aggiornati degli studi di settore (http://www.bsa.org/country/News%20and%20Events/News%20Archives/global/05112010-globalpiracystudy.aspx) della BSA e la situazione è peggiorata rispetto a un po' di anni fa.

L'originale rimane sempre predominante, ma la copia ha una percentuale inferiore, ma "comparabile". :stordita:

tomminno
16-05-2010, 22:37
Mi permetto di intervenire anche qui, scusatemi se rompo :fagiano: :(

ZwCreateThread può essere invocata tranquillamente anche da user mode, il fatto che tu abbia trovato quelle informazioni è esclusivamente perché hai cercato ZwCreateThread ma non NtCreateThread.


Scusa ma per me e credo senza sbagliare che anche per qualunque compilatore ZwCreateThread e NtCreateThread sono 2 funzioni differenti. :read:

tomminno
16-05-2010, 22:45
un esempio banale è il fatto che l'utente non admin di vista e 7 è in realtà parte del group admin ( altrimenti non può eseguire azioni amministrative neanche dopo essere passato tramite uac )....sotto unix una cosa del genere non la vedrai mai


No certo gli verrà chiesto di immettere username e password di root se vuole fare qualcosa sempre che non sia tra i sudoers per cui gli basta digitare la propria password.

Ti faccio un ipotetico esempio:
La Adobe rilascia Photoshop per Linux, sul mulo si trova la versione craccata con annesso rootkit o banalissimo malware. L'utente abituato su Windows a scaricare il software piratato esegue la medesima azione su Linux.
Che probabilità ha il sistema di resistere all'attacco quando l'utente ha inserito la password di root?

tomminno
16-05-2010, 22:49
per questo ho parlato di un bug http://mnin.blogspot.com/2007/05/injecting-code-into-privileged-win32.html


Veramente se sai leggere c'è scritto che devi prima installare un servizio sulla macchina.
Non è un bug.

tomminno
16-05-2010, 23:01
un driver può avere un motivo valido per iniettare codice in un altro processo, per esempio per bypassare i firewall


Scusa ma perchè mai dovrei scrivere un driver quando per farlo mi basta un semplicissimo servizio?
E poi sai quante centinaia di API devi hookare per bloccare un firewall?
E da quando in qua i firewall software sono considerati affidabili?


quello che io ho descritto non è frutto della mia fantasia ma è l'esatto modo di operare di Limbo, il quale sfrutta proprio quella funzione per iniettarsi in tutti i processi di sistema da cui può controllare qualsiasi cosa e bypassare qualunque antivirus e firewall


Per farlo deve girare come minimo come servizio.
E poi controllare qualsiasi cosa è una parola grossa, per farlo dovrebbe inserire un hook su tutte le API Win32, Nt e del Kernel, ovvero dovrebbe essere grande almeno quanto tutte le dll di Windows.


inoltre il motivo per cui uac e zwcreatethread sono legati è dovuto proprio al fatto che un processo con privilegi di admin possiede questa capacità ( SE_PRIVILEGE_ENABLED ) e quindi è in grado di terminare un processo remoto e iniettarvi codice....


Ma col cavolo! I privilegi di admin non bastano per chiamare ZwCreateThread e sempre i permessi di admin non sono sufficienti per iniettare codice in un altro processo.

eraser
16-05-2010, 23:06
Scusa ma per me e credo senza sbagliare che anche per qualunque compilatore ZwCreateThread e NtCreateThread sono 2 funzioni differenti. :read:

Invece sbagli :D

ZwCreateThread è invocabile anche da user mode, ed è esportata da ntdll.dll, che esporta anche la sua relativa NtCreateThread. Le due sono identiche in ntdll.dll. Come puoi vedere, la dimostrazione è qua sotto:

http://img121.imageshack.us/img121/2272/ntdllexports.jpg

Come vedi l'entrypoint è lo stesso.

Sono invece diverse se invocate in kernel mode, visto che la ZwCreateThread è una stub per la NtCreateThread ;) Queste due però sono esportate dal kernel di Windows e sono invocabili solo in kernel mode ;)

eraser
16-05-2010, 23:40
No, è che pensavo che stessimo parlando di una falla di Windows che sfruttava questo trojan. Invece si tratta di una "normalissima" applicazione, e onestamente mi sto ancora chiedendo cosa avrebbe dovuto fare Windows per evitare che funzionasse. :p

Guarda, ti dirò, non vorrei sembrare irrispettoso nei confronti dei post precedenti che non ho letto, ma a leggere alcuni post mi sembra di essere alla fiera del luogo comune :p

cionci
17-05-2010, 07:40
Chiudo perché siete andati veramente troppo OT. Invito Insane74 a creare un nuovo thread e questa volta a segnalare tempestivamente gli OT.