Newsgroup: it.comp.sicurezza.varie
Titolo: Dialer: soluzione probabilmente illegale

Dunque, il tipico dialer si installa ed utilizza un certo set di funzioni
per fare il numero, vedere se si e' connessi, eccetera. Diciamo che parla
una sua lingua che chiameremo Rasapi.
Siccome lo strato di connessione parla pure lui il rasapi, i due riescono
a capirsi e il dialer riesce a fare il numero costosissimo.
Accesso Remoto parla anche lui il rasapi, e cosi' si riesce a connettersi
in Internet a prezzi normali.
Supponiamo che esista una seconda lingua (denominata inaapi) ottenuta con
il semplice espediente di cambiare i nomi di funzion^Wtutte le parole, e,
alla parola "RAS", sostituire "INA" [1].
Immaginiamo d'insegnare sia ad Accesso Remoto che allo strato sottostante
l'inaapi, e di far loro dimenticare il rasapi. Questa operazione temo sia
illegale, e non so se esistano scappatoie; mi appello agli avvocati.
<intermezzo IANAL>
Pero', supponiamo che io scriva un tool atto a impartire l'insegnamento e
far dimenticare quanto sopra. L'articolo 615-quinquies non si applica, in
quanto tale tool non ha affatto "per scopo ne' per effetto" l'alterazione
del funzionamento di un sistema informatico: anzi lo scopo e' far si' che
funzioni in modo esattamente uguale a prima. Le funzionalita' extra sono,
per forza, al di fuori del c.p., altrimenti anche "rendere il sistema non
capace di eseguire codice virale" e' una modifica penalmente rilevante.
Il caso del 614-quater non s'applica perche' non faccio altro che esporre
l'ovvio, presente con maggiori particolari su MSDN; ne consegue che se il
presente post e' illegale a causa del contenuto, la sorgente di esso (nel
caso specifico: Microsoft Corporation) e' messa male.
L'articolo 617 non si applica perche' altrimenti qualsiasi trojan-finder,
Prefixo, e lo stesso StopDialer, sarebbero perseguibili, che e' assurdo.
Diverso e' il caso dell'utente, che nella licenza legge: "e' vietato fare
modifiche al presente SOFTWARE". In questo caso mi domando se usare - per
es. - una DLL "ponte" non risolva il dilemma anche a lui, ma in qualsiasi
caso, cosa fara' l'utente IMHO saranno un po' fatti suoi, eh.
</intermezzo>
In questo scenario, ovviamente, tutto funziona come prima (Accesso Remoto
domanda educatamente: "INADial 7020001099?", Windows risponde "INAOK", il
sistema domanda l'INAPassword e ottiene l'INAConnected, eccetera).
Poi arriva il dialer e lo scenario si tinge di follia (dal punto di vista
del dialer, ovviamente):
	>>> RASDisconnectThisCall
	< INACazzoStaiADi'?
	>>> RASGetVersion
	< INACazzoStaiADi'?
	>>> RASDeleteConnections
	< INAduiuspicinglisc?
	< Sistema, termina 'sto programma del menga che parla visigoto.
La probabilita' e' che il dialer muoia miserevolmente, segnalando tutt'al
piu' un
	Il programma richiede l'esportazione 666:RASSpendABrothel()
	che non e' presente, oh!, sfiga.
	Una periferica del sistema non e' in funzione.
Leonardo
[1] tutto cio' mi mettera' nei guai con l'AIBA, me lo sento
-- 
"Se e' vero che Linux in se' e' gratis, non lo sono le indispensabili
interfacce grafiche (X, KDE ecc.) che consentono alle persone normali
di utilizzarlo."                    -- Jason Matusow, Microsoft Corp.

 	< Sistema, termina 'sto programma del menga che parla visigoto.
ma rotfl. save.
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
If it's already broken, force it.

	< Sistema, termina 'sto programma del menga che parla visigoto.
ma lol!
poi ci saranno i dialer LLOYDconnect :)
--
Ciao!
Davide
[DAOC PG]Armorgod Troll Sciamano - Midgard Vortigern[/DAOC PG]

 sarebbero problemi. 
Se fosse svilupata da MS diverebbe standard e perderebbe il suo 
scopo, non credi?
-- 
Backup not found!  A)bort, R)etry or P)anic?
News 2000 [v 2.06] - 
http://www.akapulce.net/socket2000

 alla parola "RAS", sostituire "INA" [1].
L'espediente è buono però diverrebbe difficile adattare tutti i 
programmi che richiedono le ras in qualche modo (ocx varie, prg con 
accessi diretti alle api, etc...).
-- 
Computer Science: solving today's problems tomorrow.


 illegale, e non so se esistano scappatoie; mi appello agli avvocati.
Se insegni ad Accesso Remoto il linguaggio "INA" sei punto e a capo.
Supponiamo che il Dialer si limiti ad installare in Accesso Remoto una 
nuova connessione e a rendera "default" per navigare su internet... tale 
connessione userebbe Accesso Remoto... che conoscerebbe INA... che 
quindi potrebbe connettersi.
[Senza contare le difficoltà tecniche di reverse engineering del codice 
non OpenSource delle RasApi che renderebbe tale conversione piuttosto ardua]
Ciao,
   Luca

 
[...]
Scrivendo una reply in cui cercavo i punti deboli della tua soluzione 
e ragionavo su come migliorarla, mi sono accorto che forse, per una 
volta, il famigerato registry può darci una mano (senza prendersi 
altri particolari anatomici in cambio).
Suppongo (e dovrebbe bastare un giro con regmon per trasformare la 
supposizione in certezza) che tutte le impostazioni relative alle 
connessioni dial-up siano memorizzate nel registry. Basterebbe 
rendere le chiavi relative accessibili in scrittura solo dall'admin 
per risolvere il problema (ovviamente sotto windows NT e derivati).
Il post sulla tua soluzione (a questo punto per 9X e derivati) lo 
tengo nella fondina fino a che non avrò ristabilito le mie normali 
condizioni psicofisiche tramite cena e dormita.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 condizioni psicofisiche tramite cena e dormita.
Una soluzione che mi bazzica per la testa da tanto tempo e' l'utilizzo
degli hook di sistema tramite vxd per intercettare le chiamate alla
rasdial, e bloccare i processi che non sono stati autorizzati.
Un'alternativa potrebbe essere scrivere un wrapper per la dll di RAS.
-- 
HappyCactus - Linux User #209744 - 
http://pngstego.sourceforge.net
 
 
www.google.com
 - 
groups.google.com
/* Ci sono 10 categorie di persone al mondo: quelle che capiscono */
/* il sistema binario e quelle che non lo capiscono.              */

 Un'alternativa potrebbe essere scrivere un wrapper per la dll di RAS.
Ad-watch 3.0 e la sua feature "rompiballe", ovvero: ogni volta che
qualcosa modifica il registro, se lasciato in modalita' "automatica",
lui blocca le modifiche, altrimenti chiede conferma.
Lasciamo perdere cosa succede se si lascia ad-watch attivo e si cerca di
fare windowsupdate :(
al quinto "accept" l'ho ucciso senza pieta' [tanto non stavo facendo
nulla e dopo l'update devi riavviare :P]
-- 
   => Don't Let Your Fears Stand in The Way of Your Dreams !!! <=
 
http://www.delymyth.net/
 ~ 
http://www.stores.ebay.it/delymythsstore/
 ICQ: 8761263 - MSN: 
dely...@msn.com
 E-Mail: 
DEly...@despammed.com
           => FREE! Hardware Anti-Virus!!! - /dev/brain <=

 
Il problema, IMHO, non è RasDial, che serve solo ad attivare una 
connessione RAS e può essere richiamata da un qualsiasi programma 
(tanto l'utente può verificare l'avvenuta connessione, malissimo che 
vada, tramite le iconcine nella system tray). Al limite si potrebbe 
verificare (e visualizzare) il numero passato a RasDial (è opzionale, 
per default utilizza quello configurato per la connessione e quasi 
tutti i programmi lasciano il default).
Un dialer potrebbe anche non usare RasDial, ma limitarsi a creare una 
nuova connessione e impostarla come default (ma la presenza della 
suddetta connessione potrebbe far insospettire l'utente) oppure (più 
probabile) modificare le impostazioni della connessione di default in 
modo da chiamare il numero a "valore aggiunto" (io li chiamerei "a 
multimedialità differita", visto che le in###ate le vedi nel sito da 
dove scarichi il dialer e le senti quando ti consegnano la bolletta). 
Queste impostazioni possono essere modificate tramite alcune funzioni 
RAS (che potrebbero essere "wrappate" per verificare che vengano 
richiamate solo da processi autorizzati o per visualizzare dei warning 
per l'utente), ma anche manipolando il registry ("HKCU\RemoteAccess" e 
"HKEY_USERS\.DEFAULT" per windows 9X) o il file in cui è memorizzato il 
phonebook (Documents and Settings\All Users\Application Data\Microsoft
\Network\Connections\Pbk). Magari serve un restart, ma è logico 
ipotizzare che un PC collegato via modem non sia acceso h24.
Dopo aver risposto (un po' in fretta) a Leonardo, ho controllato dove 
Ras salva le informazioni (mi ero dimenticato il phonebook esterno di 
NT e derivati).
Si potrebbe realizzare un programmino che verifica periodicamente 
l'integrità del file o dei dati nel registry e avvisa l'utente di 
eventuali modifiche o ne ripristina l'ultima versione "sicura".
Altri dialer potrebbero creare dei device di accesso remoto che non 
passano per le normali funzioni (TAPI per i modem, CAPI per ISDN) e 
nascondere quindi il numero che viene realmente composto (che, a quel 
punto, è "hard-wired" dentro il dialer). Contro sistemi simili potrebbe 
essere utile segnalare che l'indirizzo IP (compatibilimente con la 
subnet mask), l'indirizzo del gateway e/o del DNS sono cambiati. 
Ovviamente il sistema non è efficace al 100% e potrebbe dare luogo a 
falsi allarmi.


 
Vedi risposta a HappyCactus. Però la cena me la sono preparata da solo 
e non è che ho dormito troppo bene.


scopo, non credi?
leggi tutto... la firma...


 ...
Questa affianchera' la mitica Turbamenti di una Minorenne :)
Pero' ci voleva un titolo altrettanto leggendario... -_-
/me ha deciso: da domani pausa pranzo dedicata alle faq.
-- 
"Ehi, fratelli. Qui c'e' scritto che c'e' anche il tempo per combattere".
SETI@home: 157WU/8614hrs now on Athlon 2.2+ :-)
SecurFaq             : 
http://securfaq.usenet.eu.org
Biancorossi Siamo Noi: 
http://www.tifonet.it/free/ancona/