Newsgroup: it.comp.appl.access
Titolo: Sicurezza Dati

Ciao,
mi e' stato sottoposto di recente il seguente problema:
in un piccolo programma di Help Desk fatto in Access97 (che lavora in
multiutenza) si e' verificato il problema della protezione dei dati, in
particolare si vuole sapere con sicurezza quali chiamate vengono aperte
dall'operatore X.
I gruppi di utenti sono inutili cosi' come le password di accesso (gli
utenti sono tutti programmatori che possono facilmente aggirare questi
ostacoli) allora ho suggerito un calcolo di ID sui dati presenti nella
tabella delle chiamate con i seguenti campi:
Numero Chiamata
Data
Operatore
Primo carattere della descrizione del problema + len della descrizione +
ultimo carattere
in questo modo se dovessero essere modificati i valori in tabella (e non
dalla procedura) l'ID non potrebbe piu' combaciare.
In ogni caso credo che dopo una prima scottata non sia difficile aggirare
anche questo controllo.
Volevo anche implementare un doppio controllo sulla pwd tenendono una copia
(l'originale) nel registro di windows, ma questo limita l'utente alla sua
Workstation il che non e' sempre comodo.
Sapete se ci sono tool e/o procedure alternative per risolvere questo
problema???
Ciao e grazie
<LuigI>


Ciao, Sib

Spiego molto velocemente:
nel caso da me citato i "protagonisti" sono tutti programmatori in un centro
elaborazione dati per cui conoscono bene il sistema di funzionamento della
logica Gruppi/Utenti in Access inoltre ci sono tool in internet (che io non
ho provato ma ho notizie da fonti sicure sul loro funzionamento) che
permettono di Crackare ed ottenere l'accesso in pochi minuti al Dbase in
teressato e lo sanno bene anche i sopra citati.
In poche parole bisognerebbe studiare un sistema di protezione non per
utenti comuni, ma per gente un po' piu' esperta.
Spero di essermi spiegato meglio:)))
Ciao
<LuigI>

teressato e lo sanno bene anche i sopra citati.
Balle, ti confondi con la password del database.
Stai tranquillo che la protezione utenti (impostata come si deve)
è + che sufficiente x tenere a bada chiunque su questo ng. Solo
1-2 persone sanno come metterci un pochino le mani sopra
per fare però + che altro un pò di "confusione" nel db (sperando
che incasinandolo salti la sicurezza); in ogni caso al riguardo
non esistono nè metodi certi nè tantomeno fantomatiche utilità
già fatte reperibili su internet.
Bye, Ste

 wrote in message
10lcqd1$138$1...@fe2.cs.interbusiness.it...


Mi sono fatto un Giro su Deja e guarda un po' che ho trovato:
It appears that implementing user level security is a waste of time in
Access?  I found the following utility
http://www.lostpassword.com/access.htm
 that successfully revealed my
system.mdw passwords (which were all >10 characters and had at least one
upper, lower, number, and symbol) in a matter of milliseconds.
Is there anyway to thwart these utilities?  I'm concerned about implementing
a fairly sensative application in Access if not...
Michael F.
L'utilità non l'ho provata perche' non ho implementato la logica
Gruppi/Utente sul mio PC, ma dovrebbe sunzionare anche con Office 2000.
Ciao
<LuigI>

FasoN ha scritto nel messaggio ...

Carino, ma dubito che possa essere utile contro una sicurezza-utenti
bene impostata. In una situazione del genere infatti non si dà in giro
il proprio system.mdw, ci si limita a togliere all' utente Admin i permessi
di superuser....
Bye, Ste

 wrote in message
873um8$100$1...@fe1.cs.interbusiness.it...


potenti.
Non hai afferrato il punto....
Se non dai in giro il system.mdw non esiste alcun utente
cui "carpire" la password; x quanto "potente" possa essere
il tuo bel cracker o per quanto all'ora l'haker possa prendere
non vedo come possa agire senza la "materia prima"....
Se poi vogliamo ragionare sul fatto che non esiste una
protezione sw infallibile qui sfondi una porta aperta,
alla fin fine si tratta pur sempre di bytes scritti su un hd,
ma questo è un problema comune a tutte le implementazioni
di questo genere (allo stesso modo potresti tentare di
"crakkare" qualsiasi db, anche Oracle tanto x fare un nome....);
questo però presuppone la xfetta conoscenza del formato
del file, non è così semplice beccare cosa/come
impostare x ridare all' admin tutti i permessi! Bisogna perderci
intere settimane di tempo probabilmente, ed uno così bravo da
riuscire a farlo certamente è in grado di trovare un'applicazione
+ remunerativa al suo tempo....
Bye, Ste


Una sola precisazione la persona citata non e' un Hacker, ma un esperto di
sicurezza dati bancaria ed aziendale.
Ciao
<LuigI>


Questo taglia la testa al toro....
Ste

 wrote in message
10lne4j$h5r$1...@fe2.cs.interbusiness.it...

In che senso?
Scherzi a parte, che intendi dire per "non dare in giro il system.mdw"?
Se ho capito bene si puo' mettere il system.mdw in una cartella cui l'utente
non ha accesso?
Ciao, Sib


No no, intendo letteralmente non dare in giro il tuo system.mdw.
Cosa c'è di cos' strano? E' la prassi assoluta, sta scritto in qualsiasi
manualetto di Access da 2 soldi.
Perchè diavolo dovrei dare il mio system.mdw ad un tizio
che magari sta a canicattì e che magari vuole tenersi il
suo; ci stanno dentro cose troppo importanti x darlo in giro!
Bye, Ste

 wrote in message
10lnqte$ciq$1...@fe2.cs.interbusiness.it...

Scusa, non mi sono spiegato bene.
Prendiamo il caso del nostro amico:
Gli utenti hanno accesso al system.mdw e possono copiarselo e lavorarci
sopra con comodo.
...o non ho capito bene...
Sib


Hai capito benissimo dato che essendo in un CED e il programma in questione
e' un Help Desk tutti accedono al programma dalla postazione di tutti per
esigenze di servizio (mica si puo' fermare la solita persona tutti i
pomeriggi).
A modificare le maschere e' una sola persona, ma il suo computer e' quasi di
pubblico dominio anche perche' se gli dovesse capitare qualche cosa
(facciamo le corna) l'accesso alla sua macchina deve essere garantito.
Ciao
<LuigI>
P.S. Mi spiace pero' che su un tema importante come la sicurezza stiamo
postando solo in 3 di cui uno (cioe' io) con nozioni non molto avanzate.

pomeriggi).
No, invece non ci siamo capiti.....
Una sicurezza implementata come si deve (come già detto)
significa semplicemente togliere i permessi di "superuser"
all' utente standard admin.
Agli utenti finali si dà solo l' applicazione a cui continueranno
ad accedere col LORO system.mdw, entrando xciò come
Admin (e xciò con i permessi assegnati) in maniera assolutamente
trasparente; il system.mdw con ID, nome e password del nuovo
utente "superuser" se ne rimane al sicuro sulla macchina dello
sviluppatore.
Non c'è crack di sorta che possa carpire password non disponibili.
Bye, Ste

 sviluppatore.
Vediamo se ho capito:
Io creo nel mio PC il mio personale user id, tolgo le autorizzazioni
all'admin e quindi, dando in rete il system.mdw originale (ma che NON
contiene il mio user id) consente di accedere al db senza possibilità di
avere accesso (in un modo o nell'altro) al mio user id (dato che non e'
contenuto nel system.mbw distribuito agli utenti)
Eureka!!!
...o no?
Ciao, Sib

...o no?
Eureka sì. Che poi è quello che fanno tutti gli sviluppatori Access
di questo mondo; prova ad installarti una delle tante add-in che si
trovano in rete, non troverai *mai* un system.mdw accluso.
Si dividono i db-user in "owner" (io) e tutto il resto del mondo
(Admin), e poi si gestiscono degli utenti dall' interno delle
procedure se occorrono livelli di accesso diversificati.....
Bye, Ste


http://www.penguinpowered.com/~ecesena
Il fagiano distratto puo' calpestare una merla?
		-- Da it.hobby.umorismo

Tu, che non c'hai il mio utente, non vai da nessuna parte.
Come no!? L' utente Admin non lo puoi mica segare via,
puoi solo limitarne i permessi...
Tutto il gioco si regge proprio sul fatto che se tu non fai
un accidenti Access accede ad un db come utente Admin
e password blank; basta dargli i permessi "giusti" et voilà.....
Bye, Ste


http://www.penguinpowered.com/~ecesena
		                ATTENZIONE!
		                ~~~~~~~~~~~
Su questo sistema, non c'e' ne' Gigi, ne' la Cremeria, e neppure il citofono.

 Bye, Ste
Scusate se mi intrometto solo adesso, ma e' da molto che
non seguo il ng.
Vorrei fare qualche precisazione.
Se il problema e' solo proteggere il proprio lavoro
(codice,
str. oggetti), allora hai ragione, si eliminano i
permessi per l'admin di sistema e quindi tutti possono
accedere al db (senza pwd), ma non possono viualizzare la
struttura degli oggetti.
In questo caso _non_devi_ fornire il *.mdw usato per lo
sviluppo.
Se pero' bisogna implementare un sistema di accesso a
livello di utenti, allora un *.mdw devi fornirlo perche'
contiene i vari gruppi ed i vari utenti ed inoltre
bisognerebbe implementare un sistema facilitato per la
gestione degli utenti, ma anche in questo caso con una
buona gestione dei permessi ed eliminando il proprietario
si puo proteggere il proprio lavoro.
In definitiva con la protezione a livello utente, nel 90%
dei casi, il proprio lavoro e' protetto da occhi
indiscreti, ma non i dati!!
I dati non sono protetti da occhi indescreti, perche'
quelle pwds ci sono e qualcuno ha deciso di vendere un
prodotto (ad un prezzo irrisorio) capace di leggerle.
Naturalmente quando si implementa un sistema di sicurezza
dei dati bisogna porsi alcune domande: quanti possono
essere interessati alla lettura dei dati e chi puo' avere
interesse a modificare i dati. A seconda delle risposte si
decide per un sistema di archiviazione +0- sicuro.
-- 
Federico
--------------------------------------
Sito Comune di it.comp.database.access
 ed ora
Sito Comune di it.comp.appl.access
http://members.xoom.it/it_db_access
--------------------------------------
Rimuovi paperino. per e-mail
--------------------------------------

 postando solo in 3 di cui uno (cioe' io) con nozioni non molto avanzate.
Spiace anche a me, ma e' sempre stato cosi'.
Capire ed implementare un sistema di sicurezza a livello
utente non e' cosa semplice.
Il 70% di quelli che frequentano il NG sono alle prime armi
con access e prima di studiare la sicurezza devono capire
cos'e' un recordset, nel restante 30% ci sono quelli che
usano access professionalmente, ma non hanno mai dovuto
affrontare questo problema, e ci sono quelli che la
conoscono bene, ma siccome si sono fatti un mazzo per
capirla, la tengono per se.
Tutto qui.


ok. E se tu aggiungi nel tuo system.mdw un utente uguale al mio "Io"??
In questo caso non si porrebbe il problema, se fossi in grado di azzeccare
user e PID con tutta probabilità sarei un veggente e riuscirei a "vedere"
i dati senza nemmeno bisogno di aprire Access....
Bye, Ste



prodotto (ad un prezzo irrisorio) capace di leggerle.
E torniamo da capo. Come dicevo una sicurezza
**correttamente** implementata (il che vuol dire
senza dare in giro il system.mdw) non è poi un
osso così tenero...
Se poi qualcuno vuol sostenere che ha la necessità
di impostare un accesso diversificato a seconda
dell'utente è pacifico che nulla può essere + flessibile
di un sistema di utenti/accessi implementato in proprio
direttamente nelle procedure, altro che quello MS!
Bye, Ste

capirla, la tengono per se.
'sagerato, non è mica un segreto industriale!  :-D
Bye, Ste


http://www.penguinpowered.com/~ecesena
E se Max Pezzali avesse studiato ingegneria?
"Il regolo dell'amico non sbaglia mai...".
		-- Andrea `Zuse' Balestrero

qualche parte saranno pure scritti... :-)
Monsieur De Lapalisse!! Bentornato tra noi!
Mi pare ovvio che da qualche parte si scriva qualcosa che lo
rende in grado di capire chi può fare cosa...., non ci sono
mica gli omini verdi dentro la msjet35.dll !!
E non è un caso che **nessuna** sicurezza implementata
a livello esclusivamente sw sia assolutamente sicura (non
può esserlo). Però se vuoi ti faccio un db sicurizzato e te
lo mando, sono decisamente certo che non riuscirai a farci
un accidenti per quante vaccate tu gli possa scrivere dentro
con un editor esadecimale....
Bye, Ste

 con un editor esadecimale....
mmmm..... se non impedisci l'accesso a MSysObjects, potenzialmente si può
accedere a qualunque oggetto, qualunque siano gli utenti definiti ed i
permessi, con o senza mdw.
Ultimamente ho provato a vedere quanto sicuro è un MDE. Lo sai che è
possibile accedere alle maschere ed ai report in modalità STRUTTURA con
estrema facilità? Se ti dicessi come fa Access ad abilitare/disabilitare le
modifiche in un MDE, non ci crederesti!!! Ancora più semplice della
password.
Il codice si può anche leggere, ma fortunatamente è in una specie di p-code,
cioè se cerchi di visualizzarlo direttamente in finestra, Access ti propone
un "Errore imprevisto (40230)".
Sfortunatamente con un po' di prove si può risalire alla tokenizzazione
usata e implementare un decoder che trasformi ogni simbolo nella relativa
keyword. E' normale che non sono cose assolutamente fattibili da un utente
normale o semi-esperto, ma che succede se una società tipo lostpassword
decide di mettere sul mercato un tool a 30$ ?
Tanto per provare che non sto sparando ca**ate, qualcuno mi mandi in email
un MDE zippato con un controllo etichetta/textbox nascosto su una maschera
(quindi visibile solo in modalità struttura), ed in 3 secondi vi dirò il
nome e il contenuto.
Sicurezza Microsoft? Bah!
--
Ciao, AntoGal
*************************************************
Home Page (area programmatori di VolFtp)
http://volftp.mondadori.com/italiani/galletta/
per scaricare un gioco di DAMA ITALIANA
*************************************************




Ok Antonello, ma la disputa sulla sicurezza-utenti è un'altra cosa...
Ti senti pronto a crakkare un oggettino su cui Admin non abbia
i permessi ?
Bye, Ste
Bye, Ste

 i permessi ?
Non saprei, quel "trucchetto" di cui avevamo parlato in e-mail tempo fa ;-),
funziona se tu hai accesso alla tabella di sistema MSysObjects per leggere
alcune cose. Questa tabella si può proteggere anche in lettura? (non ho mai
implementato una sicurezza utenti perchè ho usato altri metodi
"personalizzati"). Se SI, questo metodo non è immediato e bisognerebbe
andare a tentativi (strada più lunga).
Se NO, prova a mandarmi un MDB con un modulo soltanto, su cui io non abbia
alcun permesso, però sia in grado di leggere dentro MSysObjects. Non mi
serve nessun mdw. Vediamo se si riesce in qualche modo ad aprire 'sto
lucchetto :-)
P.S. per quel paio che mi hanno scritto in e-mail. Lo scopo di questa
discussione è quello di trovare una protezione più sicura e tappare
eventuali "buchi", non aspettatevi neanche minimamente di ottenere alcun
"consiglio" per i "vostri" DB.



Parole sante...
Bye, Ste

 Bye, Ste
Ciao Ste,
mi reintrometto solo per dire che non credo piu' nella
protezione del proprio lavoro ed ho qualche dubbio sui
dati; questo perche' sono riuscito a crackare un db del
quale non possiedo l'mdw e a visualizzare la struttura
degli oggetti di un mde!
Non ho provato con i dati, ma credo sia la stessa cosa.
Sono un po' deluso, non pensavo facesse proprio schifo!!
Bye


 Ciao, AntoGal
Ne hai gia dati troppi!


 sistema....
purtroppo ho potuto verificare che gli oggetti di sistema, anche protetti,
sono leggibili, o almeno è leggibile la parte che interessa....
Sai qual è il problema? La sicurezza utenti è una cassaforte superblindata,
ma col problema che io posso cambiare la combinazione in qualunque momento.
Quindi non c'è bisogno di scassinarla, ma basta dirgli che la combinazione è
un'altra, e come per magia si apre...
Sto pensando seriamente cosa si potrebbe fare per eliminare questa
"backdoor", ma il problema è che bisognerebbe riprogettare il "kernel" del
sistema di sicurezza, ed in questo modo ci può intervenire solo MS.



A bhč, io sto pensando seriamente a fare avere a te l' oscar dell' hacker
ed al team della jet un bel tapirone d'oro....
Bye, Ste


Aufff....., dovrò ricomnciare a lavorare di diff, speravo di aver finito ai
tempi della password di database.
Bye, Ste

 modificarne l' owner?
Ciao Ste, ti ho già risposto in e-mail. La questione è un po' delicata ed il
mio ultimo scopo è di divulgare informazioni di questo tipo su un NG
pubblico...
Dico solo che un bel tapirone d'oro non lo leva nessuno ai progettisti del
Jet... ;-)



Il tapiro glielo andiamo a consegnare personalmente io e te,
cmq l' ultimo db che t'ho inviato dovrebbe risultarti indigesto
a sufficienza! :-)
Poi pacifico che la cosa si possa risolvere comunque, visto
che sembra risulti difficile ai tecnici MS l' utilizzo di sistemi
di cifratura, xò non fasciamoci la testa prima di essercela
rotta.....
Ci facciamo un bel libro su? Tipo il mitico Sybexone......
Bye, Ste


Non t'arrendere, non è ancora detta l'ultima parola....
Bye, Ste

 Bye, Ste
Solo che per smontare un mdb bastano due fogli A4!



Sono sicuro che alla fine trovero' un sistema, ma sto per
distribuire un pacchetto e non ho tempo di ridisegnare
tutta la protezione!!! Porca vacca!



http://www.penguinpowered.com/~ecesena
"Se fai tutto, vincerai."
		-- Lyndon Baines Johnson


http://www.penguinpowered.com/~ecesena
- Pierino, cosa sai dirmi di Laplace e Fourier?
- Che erano abilissimi trasformisti!
		-- Andrea `Zuse' Balestrero, "Matemastica e Deformatica"

poco da fare :-)
Allora stai parlando dei permessi di lettura/scrittura dei files di
database,
quelli in genere hanno i permessi in lettura/scrittura dell' utente "oracle"
(quello che fa partire l'istanza, un pochino + basso di root); cmq vuoi
dire che pensi seriamente esista una qualsiasi installazione unix nel mondo
in cui la password di root non sia conosciuta da **almeno** 4-5 persone
tra utenti, tecnici hw, tecnici sw e sistemisti ?  Lascia perdere...
Nessuna sicurezza esclusivamente "sw" è veramente sicura in
quanto tale.
Bye, Ste
PS: per non parlare del fatto che si può sempre accedere al disco in
read/write saltando allegramente il S.O.! Come pensi facciano tutte
le ditte che si occupano di recupero dati da dischi danneggiati?




http://www.penguinpowered.com/~ecesena
     Attore                  Vero nome
 Boris Karloff           William Henry Pratt
 Cary Grant              Archibald Leach
 Edward G. Robinson      Emmanual Goldenburg
 Gene Wilder             Gerald Silberman
 John Wayne              Marion Morrison
 Kirk Douglas            Issur Danielovitch
 Richard Burton          Richard Jenkins Jr.
 Roy Rogers              Leonard Slye
 Woody Allen             Allen Stewart Konigsberg

qualsiasi cosa.
Ebbè, ma se hai un cliente a Canicattì vai tutti i giorni a vedere
che stàaffà col suo hw?
Il 100% (và, diciamo 99%) di sicurezza è raggiungibile solo
con chiavi hw.
Bye, Ste


http://www.penguinpowered.com/~ecesena
VERGINE (23 Ago - 22 Sett):
        Lo rimarrai.

Rubero` una chiave hw e ti faccio sapere.
Bisognerà trovare la toppa hw giusta per testarla...
Bye, Ste