Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows Phone
  • Protejarea și piratarea bazelor de date Access. Pentru a elimina parola bazei de date

Protejarea și piratarea bazelor de date Access. Pentru a elimina parola bazei de date

Un fișier de bază de date Microsoft Access, ca și alte documente Office, poate fi protejat cu o parolă pentru deschidere. Copiați fișierul BDTur_firm.mdb cu care am lucrat în primul capitol, numiți-l „BD_withPassword.mdb”. Pentru a seta o parolă, trebuie să deschidem baza de date în așa-numitul mod exclusiv, pentru un singur utilizator. Faptul este că abilitatea de a seta o parolă atunci când mai mulți utilizatori lucrează în același timp 1 Microsoft Office Access 2003 acceptă 255 de utilizatori concurenți. ar duce la erori, deci MS Access nu o furnizează. Lansați programul, în meniul principal accesați „Fișier \ Deschidere”, accesați directorul necesar, selectați fișierul, din lista derulantă de valori a butonului „Deschidere”, selectați „Exclusiv” (Fig. 3.6):

Apare fereastra bazei de date. În meniul principal, accesați „Service \ Protection \ Set database password”, în fereastra „Set database password”, introduceți parola „12345” și confirmați-o (Fig. 3.7).


Orez. 3.7.

Acum, de fiecare dată când deschideți acest fișier pe orice computer, va trebui să introduceți parola specificată (Fig. 3.8).


Orez. 3.8.

Pentru a schimba parola, trebuie să o ștergem pe cea existentă și apoi să setăm una nouă. Deschideți din nou baza de date în modul exclusiv, în meniul principal accesați „Service \ Protection \ Delete database password”. În fereastra care apare, introduceți parola curentă, după ce apăsați butonul „OK” aceasta va fi ștearsă. Pentru a introduce o nouă valoare, accesați din nou elementul de meniu „Setare parolă bazei de date”, de data aceasta introduceți o parolă mai complexă „q1w2e3r4t5y6u7i8o9p0”.

Protejarea unui fișier cu o parolă este extrem de nesigură și nu poate fi utilizată în aplicațiile din lumea reală. Parola este păstrată clară și foarte ușor de spart. Există multe utilitare pe Internet pentru aceasta, cum ar fi Access Password Recovery Genie (http://www.lenosoft.com). După pornirea acestui program, selectați fișierul MS Access, a cărui parolă trebuie selectată, iar parola apare instantaneu în fereastra principală (Fig. 3.9).


Orez. 3.9.

În continuare, va trebui să introducem parola din nou - pentru a nu pierde timpul, setați din nou valoarea acesteia egală cu „12345”. Să ne ocupăm acum de conectarea la fișierul bazei de date din aplicații. Desigur, acum vă veți îndoi dacă setarea unei parole poate fi folosită ca instrument de securitate, dar, în orice caz, trebuie să învățăm cum să ne conectăm chiar și la o astfel de bază de date „nesigură”. Creați un nou proiect Windows și denumiți-l „VisualBD_withPassword”. Din fereastra Caseta de instrumente, trageți controlul DataGrid în formular, setați proprietatea Dock la „Umplere”. Accesați fila Date, faceți dublu clic pe obiectul OleDbDataAdapter. În expertul care apare, configurați conexiunea la fișierul BD_withPassword.mdb. Acum apare un mesaj de eroare în fereastra „Proprietățile conexiunii de date” la verificarea conexiunii (Fig. 3.10):


Orez. 3.10.

Pe baza textului erorii, există o dorință firească de a debifa caseta „Empty password” și de a introduce „12345” în câmpul pentru parolă. Dar și de această dată apare eroarea 2 De asemenea, asigurați-vă că fișierul bazei de date nu este deschis în Microsoft Access.(fig. 3.11):


Orez. 3.11.

Ideea este că interfața filei „Conexiune” este destinată introducerii parametrilor contului pentru protecție la nivel de utilizator. O să ne uităm în continuare. Aici setăm din nou caseta de selectare „Empty password” și mergem la fila „Toate”. Faceți dublu clic pe proprietatea Jet OLEDB: Parola bazei de date (sau, evidențiind-o, faceți clic pe butonul „Schimbați valoarea”), în fereastra „Modificați valoarea proprietății” care apare, introduceți parola „12345” (Fig. 3.12) .


Orez. 3.12.

Accesați fila „Conexiune” - în sfârșit am reușit să obținem acces la baza de date (Fig. 3.13).


Orez. 3.13.

Apăsați butonul „OK” pentru a închide fereastra „Proprietăți conexiuni de date”, în următorii pași din „Asistentul de configurare a adaptorului de date” configuram extragerea tuturor înregistrărilor din tabelul „Turiști”. În ultimul pas al expertului - inclusiv parola în șirul de conexiune - selectați butonul „Includeți parola”; vom examina linia generată de expert (Figura 3.14):


Orez. 3.14.

În panoul de componente de formular, selectați obiectul DataAdapter, accesați fereastra Proprietăți și faceți clic pe linkul Generare set de date. Lăsăm numele implicit al obiectului DataSet. În constructorul formularului, completați obiectul DataSet și, de asemenea, definiți sursa de date pentru elementul DataGrid:

public Form1 () (InitializeComponent (); oleDbDataAdapter1.Fill (dataSet11); dataGrid1.DataSource = dataSet11.Tables.DefaultView;)

Aici specificăm indexul (egal cu zero) al singurului tabel din DataSet.

Lansăm aplicația. Formularul afișează date din baza de date (

Utilizarea pe scară largă a ms Access a dat naștere la o întreagă clasă de programe care vă permit să aflați parolele „uitate” ale bazelor de date. Nu știu cine a fost primul, dar seamănă ca niște gemeni.

Testare

Toate programele luate în considerare în această recenzie pot face față parole precum „poate”. Dar nu toate vă permit să aflați parole non-standard. Rezultatele testelor sunt prezentate în tabel. Puteți citi mai multe despre metodele de securitate în articolul Securizarea și compromiterea bazelor de date Access. Aici se poate observa că a devenit lider. Fișierul bazei de date Access, protejat de o parolă de 20 de caractere neprintabile și un titlu al unei alte versiuni, a rămas inaccesibil. Din păcate, a rămas inexpugnabilă doar parola, nu baza de date. vă permite să restaurați conținutul tabelelor și recreează aproape complet fișierul, inclusiv tabele, interogări, formulare, macrocomenzi, rapoarte și codul modulului. Versiunile înregistrate ale programelor au participat la testare.

Vă permite să deschideți parolele bazei de date Access. În plus, este posibil să ștergeți sau să înlocuiți parola pentru bazele de date Access 97.

Singurul program care generează o parolă în formă hexazecimală, care vă permite să vedeți parolele folosind caractere neprintabile. Obișnuiam să credem, dar, de fapt, un șir este tradus în formă hexazecimală și, ca urmare, nu are sens din el. Accesul la 97 de baze de date cu o parolă de 20 de caractere sunt considerate deteriorate și nu dau niciun rezultat.

AOPR vă permite să definiți parole pentru multe aplicații MS. În ceea ce privește baza de date Access, el știe să determine:

  • Parola bazei de date
  • Proprietarul bazei de date - numele de utilizator (utilizator) și identificatorul acestuia (ID)
  • Informații despre proprietarii obiectelor bazei de date
Deschizând fișierul grupului de lucru în AOPR, puteți vedea:
  • Numele de utilizator și parolele acestora
  • Apartenența utilizatorilor la grupuri

Programul determină parole pentru bazele de date în format 97 - 2000 - 2003. Pentru bazele de date Access 97, este posibilă schimbarea și ștergerea parolelor.

Trebuie remarcat faptul că programul nu este meta în dezvoltare. Algoritmii pentru determinarea parolelor sunt îmbunătățiți. Dacă în versiunea anterioară (AOXPPR) pentru Access 97 - doar primele 14 caractere, iar dacă întâlnește caractere neprintabile, scrie că fișierul este deteriorat. Acces 2k - citește toate cele 20 de caractere în mod normal, dar dă semne de întrebare pe Unicode. În versiunea descrisă, toate parolele sunt în mod normal definite, iar caracterele care nu pot fi imprimate sunt copiate în mod normal în clipboard.

Acesta este un set de utilitare care vă permit să aflați parole pentru un număr foarte mare de aplicații. Programul Office Key funcționează cu baza de date Access. Vă permite să definiți parole pentru baza de date, grupuri, utilizatori și parolele acestora folosind fișierul grup de lucru. Un alt utilitar de la acest producător, cheia de acces, are funcții similare. Dimensiunea arhivei este de 662 KB. Este un produs independent și nu face parte din setul Passware.

Programul nu vă permite să aflați identificatorii (ID-ul) utilizatorilor, proprietarul bazei de date și obiectele acesteia. Astfel, din punct de vedere al capacităților, este inferior. Cu toate acestea, a făcut față bine testelor. Copiază parola reală în clipboard, nu semne de întrebare. În mod normal, determină parolele la înlocuirea unei secvențe de 40 de octeți, tipic pentru diferite versiuni ale bazei de date. Singura eroare din fișierul Access 97 cu caractere care nu pot fi imprimate.

Programul vă permite să definiți parola bazei de date, proprietarul bazei de date - numele și identificatorul acestuia. Din fișierul grupurilor de lucru se determină numele utilizatorilor și parolele acestora. Funcționează cu baza de date ms Access 2.0 - 2003

Cel mai simplu mod de a vă proteja este să setați o parolă pentru a deschide baza de date (.mdb). Odată ce o parolă a fost setată, de fiecare dată când baza de date este deschisă, va apărea o casetă de dialog care va cere parola. Doar acei utilizatori care introduc parola corectă vor putea deschide baza de date. Această metodă este destul de sigură (Microsoft Access criptează parola, deci nu o puteți accesa când citiți direct fișierul bazei de date), dar funcționează doar când deschideți baza de date. Odată deschisă baza de date, toate obiectele sunt disponibile utilizatorului (până când sunt definite celelalte tipuri de securitate, descrise mai târziu în această secțiune). Pentru o bază de date care este partajată de un grup mic de utilizatori sau pe un computer autonom, setarea unei parole este de obicei suficientă.

Pentru a seta o parolă

  1. Deschideți fișierul bazei de date în modul exclusiv. Pentru aceasta
  • Într-o aplicație Access, executați comanda Fișier / Deschide.
  • Selectați fișierul bazei de date.
  • În butonul Deschidere, selectați modul Exclusiv.
  1. Executați comanda din meniu Serviciu / Securitate / Setați parola bazei de date.
  2. Setați o parolă și confirmați-o.

Pentru a elimina parola bazei de date

  1. Deschideți fișierul în modul exclusiv
  2. Rulați comanda Serviciu/Protecție/Ștergeți parola bazei de date.

Notă! Nu utilizați o parolă de bază de date dacă intenționați să efectuați replicarea bazei de date. Bazele de date replicate nu pot fi sincronizate dacă este setată o parolă pentru bazele de date.

Protecția aplicației

Vă puteți proteja aplicația împotriva daunelor accidentale sau intenționate de către utilizatorii finali, ascunzând obiectele bazei de date în fereastra bazei de date. Utilizați opțiunile de lansare a aplicației pentru a controla aspectul și comportamentul unei aplicații și pentru a proteja meniurile și barele de comandă.

Ascunderea obiectelor

  1. În fereastra principală a bazei de date, selectați obiectul pe care doriți să-l ascundeți.
  2. Faceți clic pe butonul Proprietăți pe bara de instrumente - se va deschide fereastra de proprietăți a obiectului selectat.
  3. Bifeaza casuta ascunsși apăsați butonul Bine..
  4. Pentru a afișa toate obiectele ascunse, selectați comanda Opțiuniîn meniu Serviciu, deschide fila Vedereși bifați caseta obiecte ascunse... Pictogramele obiectelor ascunse vor avea un contrast scăzut.
  5. Pentru a afișa din nou obiectele ascunse, repetați pașii 1-3, dar la pasul 3 debifați caseta ascuns.

Ascunderea tabelelor și a relațiilor în schema de date

  1. Deschideți schema de date ( Serviciu / Schemă de date).
  2. Faceți clic dreapta pe obiect (imaginea tabelului) și selectați comanda Ascunde masa.

Securizarea obiectelor bazei de date la nivel de utilizator

Cea mai flexibilă și comună modalitate de a securiza o bază de date se numește securitate la nivel de utilizator. Această metodă de protecție este similară cu cea utilizată pe majoritatea sistemelor în rețea. Cele două motive principale pentru utilizarea securității la nivel de utilizator sunt:

  • protecția aplicației împotriva daunelor din cauza modificărilor neintenționate de către utilizatori a tabelelor, interogărilor, formularelor, rapoartelor și macrocomenzilor de care depinde aplicația;
  • protecția informațiilor confidențiale din baza de date.

La pornirea Microsoft Access, utilizatorului i se cere să se identifice și să introducă o parolă. În cadrul unui fișier de grup de lucru, utilizatorii sunt identificați ca membri ai grupului. Microsoft Access creează în mod implicit două grupuri: Administratori (grupul Administratori) și Utilizatori (grupul Utilizatori). Este permisă și definirea altor grupuri.

Deși este dificil să configurați securitatea la nivel de utilizator pentru majoritatea bazelor de date, Expertul de securitate vă poate ajuta să vă securizați rapid și ușor baza de date Access. Mai mult, prin utilizarea schemelor obișnuite de protecție, vrăjitorul vă permite să reduceți sau chiar să eliminați necesitatea utilizării comenzii Protecție din meniul Instrumente.

După ce rulați Expertul de securitate, permisiunile de utilizator și de cont de grup dintr-un grup de lucru pot fi alocate și eliminate pentru baza de date și pentru tabelele, interogările, formularele, rapoartele și macrocomenzile existente. Permisiunile de acces implicite atribuite obiectelor de bază de date nou create pot fi, de asemenea, setate.

Grupurilor și utilizatorilor li se acordă permisiuni de acces care determină capacitatea lor de a accesa fiecare obiect din baza de date. De exemplu, membrii grupului Utilizatori pot avea permisiuni de a vizualiza, introduce sau modifica date în tabelul Clienți, dar nu li se va permite să modifice structura acelui tabel. Grupului „Utilizatori” i se poate permite doar să vizualizeze datele din tabelul care conține informații despre comenzi și să nu aibă acces la tabelul „Stalari”. Membrii grupului Admins au permisiuni pentru toate obiectele din baza de date. Puteți configura o structură de management mai ramificată prin crearea propriilor conturi de grup, acordând acestor grupuri permisiunile corespunzătoare și adăugând utilizatori la grupuri.

Dacă grupul de administrator și grupul de utilizatori sunt suficiente pentru sistemul de protecție, atunci nu este nevoie să creați grupuri. Puteți utiliza grupurile standard „Administratori” și „Utilizatori”. În acest caz, trebuie să atribuiți permisiunile de acces adecvate grupului standard „Utilizatori” și să adăugați administratori suplimentari la grupul standard „Administratori”. Fiecare utilizator nou este adăugat automat la grupul „Utilizatori”. Permisiunile de acces tipice pentru grupul Utilizatori pot include Citire date și Reîmprospătare date pentru tabele și interogări și Deschidere/Executare pentru formulare și rapoarte.

Dacă este necesară o structură de management mai ramificată pentru diferite grupuri de utilizatori, este posibil să se creeze noi grupuri, să se atribuie diferite seturi de permisiuni de acces la grupuri și să se adauge noi utilizatori la grupurile corespunzătoare. Pentru a facilita gestionarea permisiunilor de acces, vă recomandăm să atribuiți permisiuni de acces numai grupurilor (nu utilizatorilor individuali) și apoi să adăugați utilizatori la grupurile corespunzătoare.

Notă.

Pentru mai multe informații despre securitatea Microsoft Access, consultați Ghidul programatorului Microsoft Office 2000 / Visual Basic.

Pașii asistentului de protecție

  1. Creați un fișier de grup de lucru.
  2. Numele fișierului este setat (implicit Secured. Mdw), codul (implicit este generat aleatoriu).
  3. Obiectele bazei de date care trebuie protejate sunt marcate (în mod implicit, toate obiectele sunt protejate). Pentru a deproteja un obiect, debifați caseta de selectare corespunzătoare.
  4. Sunt atribuite tipuri de grupuri cu niveluri de acces diferite și codurile acestora (în mod implicit, sunt generate aleatoriu). Tipurile de grupuri care vor fi incluse în fișier sunt marcate cu o casetă de selectare.
  5. Puteți seta unele (dar nu toate) permisiuni pentru grupul de utilizatori, care este inclus în mod implicit în fiecare fișier de grup de lucru.
  6. Utilizatorii sunt adăugați în fișierul grupului de lucru - nume, parolă, cod (în mod implicit, este generat aleatoriu).
  7. Fiecare dintre utilizatorii alocați este inclus într-un anumit grup cu nivelul de acces corespunzător.
  8. Specifică numele copiei de rezervă (neprotejate) a bazei de date.

Protecție într-un mediu multi-utilizator

Securitatea bazelor de date într-un mediu multi-utilizator are trei aspecte.

Primul este de a împiedica utilizatorii să reproducă baza de date. Replicarea bazei de date permite utilizatorului să facă o copie a unei baze de date partajate, precum și să adauge câmpuri și alte modificări la baza de date curentă.

În al doilea rând, interdicția de a seta și schimba parola bazei de date. Dacă o parolă este setată în baza de date comună, atunci nimeni altcineva, care nu știe parola, nu va putea deschide baza de date.

În al treilea rând, protejează împotriva modificărilor opțiunilor de lansare care definesc proprietăți, cum ar fi meniuri personalizate, bare de instrumente personalizate și formularul de lansare.

Dacă baza de date partajată nu are securitate la nivel de utilizator, nu puteți împiedica utilizatorii să facă astfel de modificări. Expertul de securitate setează securitatea la nivel de utilizator pentru baza de date, ceea ce vă permite să controlați accesul la anumite instrumente și să determinați cum pot fi utilizate obiectele bazei de date. La configurarea securității la nivel de utilizator, utilizatorul sau grupul care urmează să reproducă baza de date, să stabilească parola bazei de date și să modifice opțiunile de pornire trebuie să aibă aceeași permisiune de acces ca și administratorul. După ce rulați Expertul de securitate, numai membrii grupului de administratori ai grupului de lucru curent au privilegii de administrator.

Dacă securitatea la nivel de utilizator este deja implementată și utilizatorul sau grupul are în prezent permisiunea de a accesa baza de date care se potrivește cu autoritatea administratorului, eliminarea permisiunii va împiedica utilizatorul sau grupul să facă modificări. Puteți atribui permisiunea de acces adecvată unui utilizator sau unui grup pentru a le permite să efectueze aceste sarcini. Nu este posibil să controlați în mod independent disponibilitatea fiecărei sarcini.

Configurarea parametrilor de lansare pentru Access DBMS

Este posibil să desemnați formularul care va fi afișat la deschiderea bazei de date, să interziceți sau să activați personalizarea barelor de instrumente sau utilizarea meniurilor contextuale și să setați alți parametri de lansare.

  1. În meniul Instrumente, selectați Opțiuni de pornire.
  2. Selectați opțiunile dorite sau introduceți valorile dorite.

    Notă.

    Nu ar trebui să combinați setarea din parametrii de lansare ai formularului care se deschide la lansarea aplicației și macro-ul autoexec pentru a deschide formularul la pornire.

Selectarea Opțiuni în caseta de dialog Opțiuni de lansare

  1. Opțiunile de pornire se aplică bazei de date Microsoft Access curente sau proiectului Microsoft Access.
  2. Când selectați o opțiune în caseta de dialog Opțiuni de lansare, valoarea bazei de date Access sau a proprietății proiectului Access asociată cu opțiunea este setată automat. Faceți clic pe butonul pentru a vizualiza o listă cu aceste proprietăți.
  3. Proprietățile care corespund opțiunilor de lansare nu înlocuiesc setările de proprietate pentru o anumită bară de instrumente, bară de meniu, meniu cu comenzi rapide, formular sau raport. De exemplu, opțiunile Bara de meniu și Meniul de comenzi rapide din caseta de dialog Opțiuni de lansare nu înlocuiesc valorile proprietăților pentru anumite formulare sau rapoarte care au o bară de meniu personalizată sau un meniu de comenzi rapide. Prin urmare, atunci când deschideți un formular sau un raport, Microsoft Access afișează bara de meniu personalizată atașată acelui formular sau raport, mai degrabă decât bara de meniu globală specificată în caseta de dialog Opțiuni de rulare.
  4. Puteți utiliza caseta de dialog Opțiuni de lansare în loc sau în plus față de o macrocomandă autoexec ... Macro autoexec rulează după ce parametrii de pornire intră în vigoare, deci în macro autoexec nu includeți macrocomenzi care pot modifica parametrii de pornire. De exemplu, dacă este specificat un formular în caseta Formular/Ieșire pagină din caseta de dialog Opțiuni de lansare și o macrocomandă autoexec Când este apelată comanda macro Deschidere formular, va fi deschis mai întâi formularul specificat în caseta de dialog Opțiuni de lansare, urmat de formularul specificat în comanda macro Deschidere formular.
  5. În Access, dacă securitatea la nivel de utilizator este definită pentru baza de date, puteți împiedica utilizatorii să modifice setările în caseta de dialog Opțiuni de pornire. Pentru a face acest lucru, asigurați-vă că utilizatorii nu pot obține drepturi de administrator pentru a accesa baza de date.
  6. Puteți ocoli setările opțiunii de pornire ținând apăsată tasta SHIFT în timp ce deschideți baza de date.

Lucrul cu diferite versiuni de Access

Uneori, un utilizator creează o bază de date într-o versiune de Access și apoi devine necesar să o vizualizeze într-o altă versiune de Access (fie creată anterior, fie creată mai târziu).

În acest sens, luați în considerare următoarele:

Pentru a putea edita baza de date, trebuie să convertiți fișierul în versiunea necesară a Access DBMS.

Conversia unei baze de date într-o versiune anterioară a bazei de date Access (downgrade)

  1. Executați comanda Serviciu / Utilități / Convertiți baza de date / la versiunea anterioară de acces.
  2. În timpul fazei de conversie, vi se va solicita să introduceți un nume pentru noua bază de date.

Conversia unei baze de date într-o versiune nouă (actualizare)

  1. În etapa de deschidere, va apărea un mesaj care vă va cere să selectați una dintre opțiuni
  • Convertiți baza de date
  • Deschis doar pentru vizionare.
  1. Selectați butonul radio Convertiți baza de date și specificați un nou nume pentru baza de date și pentru un folder.

Fișierele create în Access 2000 sunt deschise în Access 2003 pentru vizualizare și editare.

O parolă de cont de utilizator este definită pentru a împiedica un utilizator să se conecteze cu contul altui utilizator. MS Access Mod implicit atribuie un cont de utilizator Adminși orice conturi de utilizator noi create în grupul de lucru, parole goale.

Atenţie! Dacă parola este pierdută sau uitată, va fi imposibil să o recuperați. Prin urmare, ar trebui să-l depozitați într-un loc sigur. Pentru a avea acces la baza de date, un utilizator care și-a pierdut parola trebuie să contacteze administrator(membrul grupului Administratori grupul de lucru în care au fost create contul și parola) pentru a elimina parola.

Pentru Crează o parolă utilizatorul are nevoie de:

1. Porniți MS Access utilizând grupul de lucru în care este stocat contul de utilizator și conectați-vă la el utilizând contul pentru care trebuie să creați sau să schimbați o parolă.

2. Deschideți baza de date.

3. Pe o filă dintr-un grup Administrator alege echipa

4. Pe fila schimbați parola părăsi câmpul Parola actuală gol dacă contul nu avea anterior o parolă. În caz contrar, intră în câmp Parola actuală Parola veche.

5. Introduceți Parolă Nouăîn câmp Parolă Nouă.

6. Reintra Parolă Nouăîn câmp Confirmareși apăsați butonul Bine(fig.11.18).

Eliminarea parolei unui cont de utilizator

Pentru a finaliza această procedură, trebuie să intrați în baza de date folosind contul unui membru al grupului Administratori.

1. Lansați MS Access folosind dosarul grupului de lucru unde este stocat contul de utilizator.

2. Deschideți baza de date.

3. Pe fila Lucrul cu baze de date în panglicăîntr-un grup Administrator alege echipa Utilizatori și permisiuni - Utilizatori și grupuri...

4. Pe fila Utilizatori introduceți numele contului de utilizator în câmp Nume.

5. Apăsați butonul Eliminați parola(fig. 11.19).

6. Repetați pașii 4 și 5 pentru a elimina alte parole, apoi apăsați butonul Bine.



Permisiuni de acces

Permisiuni- un set de atribute care determină drepturile utilizatorului asupra datelor sau obiectelor din baza de date.

Există două tipuri permisiuni de acces:

1. Explicit - dacă sunt alocate direct unui cont de utilizator. Astfel de permisiuni nu afectează permisiunile altor utilizatori.

2. Implicit - permisiuni de acces atribuite contului de grup. Un utilizator inclus într-un astfel de grup primește toate permisiunile acordate grupului. Eliminarea unui utilizator din acest grup elimină toate permisiunile atribuite acelui grup.

Când un utilizator încearcă să efectueze orice operație asupra unui obiect de bază de date protejat, permisiunile sale curente sunt determinate de o combinație de permisiuni de acces explicite și implicite. La nivel de utilizator acționează mereu restrictii minime de impus permisiuni explicite pentru utilizator și pentru toate grupurile cărora le aparține acest utilizator. Prin urmare, cel mai simplu mod de a gestiona un grup de lucru este de a crea noi grupuri și de a defini permisiunile de acces pentru acele grupuri, nu pentru utilizatorii individuali. Apoi, puteți modifica permisiunile pentru utilizatori individuali, adăugând utilizatori la grupuri sau eliminându-i din grupuri. În plus, dacă trebuie să acordați noi permisiuni, acestea sunt acordate tuturor membrilor grupului simultan într-o singură operațiune.

Modificați permisiunile altor utilizatori asupra obiectelor individuale ale bazei de date pot urmatorii utilizatori:

Membrii grupului Administratori definit în dosarul grupului de lucru care a fost folosit pentru a crea o anumită bază de date;

· proprietar obiect;

· orice utilizator care a primit pe acest obiect permisiuni de administrator.

În unele cazuri, utilizatorii care nu au permisiunea de a efectua nicio acțiune au capacitatea de a le atribui lor înșiși. Această situație apare pentru un utilizator care este membru al grupului. Administratori sau proprietar obiect.

Persoana care a creat tabelul, interogarea, formularul, raportul sau macrocomanda este proprietar a acestui obiect. În plus, un grup de utilizatori care pot modifica permisiunile în baza de date poate schimba și proprietarul obiectelor sau recrea aceste obiecte, ceea ce reprezintă o modalitate alternativă de a schimba proprietarul obiectelor. Pentru a crea din nou un obiect, este suficient să importați sau să exportați acest obiect într-o altă bază de date sau să faceți o copie a obiectului. Această tehnică este cea mai simplă modalitate de a schimba proprietarul obiectelor, inclusiv întreaga bază de date.

Administratorii și proprietarii sunt esențiali, deoarece li se acordă permisiuni care nu pot fi revocate.

1. Administratorii(membrii grupului Administratori) poate obține întotdeauna toate permisiunile pentru obiectele create în grupul de lucru.

2. Conturi care sunt proprietarii tabelele, interogările, formularele, rapoartele sau macrocomenzile pot obține întotdeauna toate permisiunile pentru a accesa aceste obiecte.

3. Un cont care este proprietar DB, poate deschide întotdeauna DB.

Din moment ce conturile de utilizator Admin sunt exact aceleași pentru toate instanțele de MS Access, primul pas în organizarea sistemului de protecție este definirea conturilor administratorși proprietar(sau un singur cont care este atât administrator, cât și proprietar). După aceea, ar trebui să ștergeți contul de utilizator Admin din grup Administratori... Dacă nu, orice utilizator Microsoft Access se va putea conecta la grupul de lucru folosind un cont Admin si ia toate permisiunile pentru a accesa tabele, interogări, formulare, rapoarte și macrocomenzi pentru grupuri de lucru.

În grup Administratori este totuși permisă adăugarea unui număr arbitrar de conturi proprietarul bazei de date poate exista un singur cont - cel care era activ la crearea bazei de date sau cel care era activ atunci când drepturile de proprietar au fost transferate prin crearea unei noi baze de date și importul în ea a tuturor obiectelor din baza de date inițială. Cu toate acestea, conturile de grup pot deține tabele, interogări, formulare, rapoarte și macrocomenzi de baze de date.

Numai conturile de utilizator pot fi folosite pentru a vă conecta la MS Access; nu vă puteți conecta cu un cont de grup.

Conturile create pentru utilizatorii bazei de date trebuie să fie salvate în fișierul grupului de lucru la care utilizatorii se vor alătura pentru a lucra cu baza de date. Dacă pentru a crea baza de date este utilizat un alt fișier de grup de lucru, trebuie să îl modificați înainte de a crea conturile.

Trebuie să creați parole unice pentru conturi administratorși utilizatorii... Un utilizator care se conectează folosind un cont de administrator va putea întotdeauna să obțină toate permisiunile pentru a accesa toate tabelele, interogările, formularele, rapoartele și macrocomenzile create în grupul de lucru. Un utilizator care se conectează folosind un cont de proprietar va putea întotdeauna să obțină toate permisiunile pentru a accesa obiectele aparținând acestui proprietar.

După ce creați conturi de utilizator și de grup, puteți vizualiza și imprima diagramele acestora. MS Access tipărește un raport Conturi de grup de lucru care arată grupurile cărora le aparține fiecare utilizator și toți utilizatorii din fiecare grup.

„Protecția bazei de date” înseamnă aici o modalitate de a preveni accesul neautorizat la informațiile stocate în tabele. Protecția codului sursă pentru formulare și module nu este acoperită.

Relevanța acestui subiect este extrem de mare. Acest lucru poate fi judecat după primul loc în clasamentul (18 mii de accesări) al articolului scris de Yuri Sherman. Am dat chiar și peste o carte de 500 de pagini dedicată în întregime protecției accesului: Garry Robinson „Protecția și securitatea bazelor de date Microsoft Access din lumea reală.

Metode standard de protecție

Protecția prin parolă a bazei de date

Această metodă de protecție vă permite să setați o parolă pentru deschiderea bazei de date pentru toți utilizatorii. Pentru a-l crea, trebuie să deschideți fișierul bazei de date în modul „exclusiv” și să selectați elementul de meniu Service / Protection / Set database password. Pentru a lucra cu o astfel de bază de date în MS Access, va trebui să introduceți o parolă. Iată un exemplu de lucru cu un fișier DB folosind DAO sau ADO.

Subtest publicDAO ()
Dim mWS As DAO.Workspace
Dim mDB As DAO.Database
Setați mWS = DBEngine.Workspaces (0)

("C: \ a97.mdb", True, True, "; pwd = 123")
End Sub

Sub Test publicADO ()

CnDB.Deschideți „Furnizor = Microsoft.Jet.OLEDB.4.0” și _
"; Sursa datelor = C: \ a97.mdb" & _
"; Jet OLEDB: Parola bazei de date = 123"
End Sub

Acesta este cel mai nesigur mod de a proteja bazele de date. Există un număr destul de mare de utilitare gratuite și plătite de mapare a parolelor. Este disponibil și codul sursă pentru VB, care vă permite să citiți o astfel de parolă. În alte chestiuni, nu totul este atât de rău. Odată am dat peste o modificare originală a acestei metode de protecție, care va fi discutată mai jos.

Protecția cu parolă a utilizatorului

Această metodă vă permite să introduceți un nivel suplimentar de restricții legate de funcționarea bazei de date Access. Bazat pe crearea unui fișier de grup de lucru, care definește numele de utilizator, parolele și drepturile acestora de a lucra cu diferite obiecte de bază de date.

Secvența de acțiuni pentru crearea unui fișier protejat:

  • Creați un nou fișier de grup de lucru.
    Pentru a face acest lucru, în 97-2000 Access, se lansează programul WRKGADM.EXE, iar în 2003 Access, selectați elementul de meniu „Service / Protection / Workgroup Administrator”. În administrator, apăsați butonul „Creați”, specificați numele, organizația și codul grupului. Indicăm numele și locația fișierului creat. De exemplu:
    Nume: Nume_test
    Organizare: ~
    Cod grup de lucru: linie de 20 de simboluri.
    Fișierul grupului de lucru: C: \ test \ gr.mdw
  • Creați o comandă rapidă pentru a lansa ms Access folosind fișierul mdw generat. Comanda rapidă trebuie să conțină linia: [calea către MSACCESS.EXE] / WrkGrp [calea către fișierul mdw]. De exemplu: „C: \ Program Files \ MSOffice2003 \ OFFICE11 \ MSACCESS.EXE” / WrkGrp C: \ test \ gr.mdw
  • După ce ați început Accesul folosind această comandă rapidă, trebuie să deschideți elementul de meniu „Serviciu / Protecție / Utilizatori și grupuri”. În caseta de dialog care se deschide, trebuie să creați un utilizator nou și să-l adăugați în grupul „Administratori”. De exemplu, „test_User” a fost creat cu codul „987654321”
  • Acum trebuie să deschideți Access în numele utilizatorului creat. Pentru a face acest lucru, adăugați linia: / user [nume utilizator] la comanda rapidă creată. De exemplu: „C: \ Program Files \ MSOffice2003 \ OFFICE11 \ MSACCESS.EXE” / WrkGrp C: \ test \ gr.mdw / User test_User
  • Lansați Access folosind această comandă rapidă. Acum utilizatorul creat trebuie să atribuie o parolă. Acest lucru se face în același dialog „Utilizatori și grupuri”. Să presupunem că utilizatorului „test_User” i se atribuie parola „test_Password”. Apoi, trebuie să creați o nouă bază de date. În acest caz, proprietarul acestei baze de date, precum și toate obiectele create sau importate (tabele, interogări etc.) va fi utilizatorul al cărui nume a fost specificat în scurtătura.
  • După crearea bazei de date, este indicat să ștergeți „Admin” din grupul „Admins” și să luați din grupul „Utilizatori” drepturile asupra obiectelor bazei de date și să deschideți baza de date.
  • Adăugați numele bazei de date protejate la comanda rapidă. De exemplu: „C: \ Program Files \ MSOffice2003 \ OFFICE11 \ MSACCESS.EXE” C: \ test \ db2k_test.mdb / WrkGrp C: \ test \ gr.mdw / User test_User / pwd test_Password

Iată un exemplu de deschidere a unei baze de date protejate de utilizator folosind DAO sau ADO

Subtest publicDAO ()
Dim mWS As DAO.Workspace
Dim mDB As DAO.Database
DBEngine.SystemDB = "C: \ test \ gr.mdw"
Setați mWS = DBEngine.CreateWorkspace _
("", "test_User", "test_Password", dbUseJet)
Setați mDB = mWS.OpenDatabase _
("C: \ test \ a97.mdb", True)
End Sub

Sub Test publicADO ()
Dim CnDB ca nou ADODB.Connection
CnDB.Open „Furnizor = Microsoft.Jet.OLEDB.4.0;” & _
„Sursa datelor = C: \ test \ a97.mdb;” & _
„Jet OLEDB: baza de date sistem = C: \ test \ gr.mdw;” & _
„ID utilizator = test_User;” & _
„Parola = test_Parola;”
End Sub

Îndepărtarea unei astfel de protecție.
Creați o nouă bază de date. În scurtătura, scrieți calea către această bază de date, fișierul MDW al bazei de date protejate, numele și parola proprietarului. Deschideți o nouă bază de date folosind această comandă rapidă. Importați tabelele din protejat în el și apoi schimbați proprietarul pentru toate obiectele bazei de date în Admin. Pentru a afla numele și parola proprietarului bazei de date, puteți utiliza programe specializate descrise în prezentarea generală a parolelor de acces. Dacă fișierul grupului de lucru lipsește, îl puteți restaura. Pentru a face acest lucru, trebuie să aflați numele și identificatorii proprietarilor obiectelor bazei de date. Aceste informații sunt conținute în fișierul bazei de date și pot fi preluate folosind programe precum AOPR. Folosind aceste date, este creat un nou fișier. (secvența este descrisă mai sus)

Nu este deloc necesar să folosiți programe care vă permit să determinați baza de date sau parola de utilizator. Adesea, programatorilor nu le pasă deloc de ascunderea parolei în textul programului. După lansarea programului care lucrează cu baza de date protejată, trebuie să deschideți memoria virtuală a acestei aplicații în editorul hexazecimal WinHex. Căutarea șirurilor Unicode „User ID ="; „Parola ="; „Database Password =" sau „pwd =" puteți găsi numele de utilizator, parola acestuia și parola bazei de date.


Puteți ignora complet prezența protecției. Pentru a face acest lucru, trebuie să utilizați AccessRecovery, care creează un fișier nou fără protecție și transferă tabele, interogări, formulare, macrocomenzi, rapoarte și codul modulului.

Metode nestandard de protecție

Schimbarea extensiei fișierului

O modalitate destul de simplă de a induce în eroare este schimbarea extensiei fișierului bazei de date. Văzând o extensie necunoscută, nu toată lumea va încerca să descopere natura acestui fișier. În plus, devine posibil să asociați această extensie cu programul dvs., astfel încât atunci când faceți clic pe fișier, aplicația dvs. să fie lansată, și nu Access. Este recomandabil să deschideți un astfel de fișier cu acces exclusiv, deoarece în acest caz fișierul ldb nu va fi creat.

Protecție folosind o parolă de bază de date care conține caractere care nu pot fi imprimate

În primul rând, această metodă are ca scop contracararea determinării parolelor folosind programe speciale. O bază cu asemenea protecție mi-a stricat bine tulburarea. Acum voi strica starea de spirit a autorilor săi povestind despre această protecție. Metoda se bazează pe faptul că parola pentru bazele de date în format Access 2000 și 2002-2003 este un șir de text în format Unicode. Cu toate acestea, nu există restricții privind conținutul său. Modul standard de a seta și de a utiliza o parolă de bază de date este introducerea acesteia de la tastatură într-o casetă de dialog. Dacă șirul de parole conține caractere care nu pot fi imprimate, atunci acestea nu vor fi afișate corect de programul care deschide parolele bazei de date. Pe de altă parte, această parolă nu poate fi introdusă în caseta de dialog la deschiderea bazei de date în MS Access.
Dar nici de Access 97 nu am uitat. Cert este că specificația bazei de date și ajutorul pentru DAO 3.60 indică faptul că numărul maxim de caractere dintr-o parolă este de 14. Dar, de fapt, pot fi 20. În același timp, Access 97 în sine nu permite șiruri de parole care depășesc 14 caractere . Specificația Access 2003 spune, de asemenea, aproximativ 14 caractere, dar programul le acceptă pe toate cele 20. Este, de asemenea, posibil să se utilizeze caractere care nu pot fi imprimate, ceea ce lasă în stupoare majoritatea programelor de spargere a parolelor.

Pentru a seta o astfel de parolă, va trebui să utilizați un program care utilizează metoda CompactDatabase a bibliotecilor ADOX sau DAO.

Protecție împotriva pirateriei.

  • În primul rând, puteți utiliza AccessRecovery.
  • În al doilea rând, puteți încerca să determinați parola bazei de date folosind programe speciale. O prezentare generală a parolelor de acces oferă un tabel rezumativ al capabilităților acestora.
  • În al treilea rând, puteți afla parola analizând codul programului în depanator. Oricare ar fi parola, aceasta este totuși transmisă ca șir de text în metoda de deschidere a bazei de date. Cu ceva experiență, aceasta nu este o sarcină foarte dificilă. Când am întâlnit prima dată o astfel de protecție, am reușit să găsesc parola folosind depanatorul OllyDbg, găsind locul în care a fost creat ADODB.Connection
  • Puteți afla sau schimba parola bazei de date fără a apela la ajutorul unor programe speciale. În Access 97, parola este obținută prin XORing parola cu o secvență de 20 de octeți. Valorile acestor octeți pot fi obținute din orice fișier mdb care nu este protejat cu parolă. Începând cu Access 2k, datorită utilizării Unicode, sunt alocați 40 de octeți pentru stocarea a 20 de caractere ale unei parole. La criptare se folosește și adăugarea prin XOR, dar pentru a obține o secvență de octeți corespunzătoare unei parole goale, trebuie să creați un fișier cu data bazei de date investigată. Octeții obținuți pot fi introduși în fișierul investigat și parola resetată la zero sau pot fi adăugați cu octeți similari ai fișierului investigat și se poate obține valoarea parolei.

Această lucrare nu ia în considerare posibilele manipulări cu fișierele grupului de lucru. Cu siguranță există modalități de a proteja parolele stocate în ele de programe prea curioase, dar toate acestea își pierd sensul la utilizarea AccessRecovery, care nu observă deloc protecția.

Protecția la modificarea fișierelor

Metoda de protecție se bazează pe modificarea primilor octeți ai fișierului. Astfel, înainte de deschiderea bazei de date, în fișierul acestuia este scris antetul corect stocat în program, iar după închidere, este returnat cel greșit. Când încercați să deschideți un fișier db folosind ms Access, apare un mesaj de eroare. Nu este rău să combinați această metodă cu schimbarea extensiei fișierului. De exemplu, puteți lua antetul unui fișier dbf și îl puteți scrie la începutul fișierului mdb. Apoi, schimbați extensia fișierului în dbf și bucurați-vă de rezultat. Baza de date poate fi acum deschisă în Excel, Access sau alt program care vă permite să citiți fișiere dbf. Iată un exemplu de astfel de conversie:

„modificarea antetului fișierului DB
„De exemplu: Apelați BaseProtect (" C: \ 01.mdb ", True)

Public Sub BaseProtect (sPath ca șir, blocare ca boolean)
Dim iFn ca număr întreg
iFn = FreeFile ()
Deschideți sPath pentru acces binar Scrieți ca #iFn
Pune #iFn, 5, CStr (IIf (bLock, _
„ProtectDataBase”, „Standard Jet DB”))
Închide #iFn
End Sub

Metoda nu este suficient de eficientă, deoarece un program care lucrează cu o bază de date poate fi întrerupt artificial și o bază de date neprotejată va rămâne pe disc. Prin urmare, merită să îl utilizați numai în combinație cu alte metode.

Protecție prin schimbarea versiunii bazei de date

Această metodă este o dezvoltare ulterioară a ideii de modificare a antetului fișierului pentru a contracara programele care citesc parolele. Metoda se bazează pe faptul că, pentru a lucra cu bazele de date Access 97 și 2k, programele folosesc diferiți algoritmi pentru citirea parolei și, în același timp, încearcă să determine independent versiunea fișierului mdb.

Pentru a determina versiunea, puteți folosi o secvență de 40 de octeți, începând cu 122 de la începutul fișierului. Dacă introducem această secvență din Access 2k în baza de date Access 97, vom obține un rezultat interesant. Ms Access, ADO și DAO funcționează bine cu acest fișier, iar majoritatea programelor de spargere a parolelor se îndrăgostesc de acest truc. Un rezultat similar poate fi obținut la grefarea unei secvențe de octeți din Access 97 în Access 2k

Accesați antetul fișierului de 2k
un fragment din parola bazei de date este evidențiat cu verde
albastru - un fragment caracteristic versiunii bazei de date
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F

00000000 00 01 00 00 53 74 61 6E 64 61 72 64 20 4A 65 74
00000010 20 44 42 00 01 00 00 00 B5 6E 03 62 60 09 C2 55
00000020 E9 A9 67 72 40 3F 00 9C 7E 9F 90 FF 85 9A 31 C5
00000030 79 BA ED 30 BC DF CC 9D 63 D9 E4 C3 9F 46 FB 8A
00000040 BC 4E 9B 6D EC 37 40 D2 9C FA DB C8 28 E6 0E 20
00000050 8A 60 49 02 7B 36 E8 E4 DF B1 6A 62 13 43 D2 39
00000060 B1 33 29 F7 79 5B 8F 23 7C 2A 4F E9 7C 99 08 1F
00000070 98 FD DC 75 0C FF D8 FD 82 66 5F 95 F8 D0 89 24
00000080 85 67 C6 1F 27 44 D2 EE CF 65 ED FF 07 C7 46 A1
00000090 78 16 0C ED E9 2D 62 D4 54 06 00 00 34 2E 30 00

Protecție cheie electronică

Aceasta este o altă confirmare că metodele standard de protecție, chiar și de la furnizori terți, sunt vulnerabile. Vorbim despre cheile HASP. Folosind utilitarul HASP Envelope, puteți cripta un fișier (în acest caz, o bază de date) și puteți permite accesul la acesta numai dintr-o aplicație protejată. Se folosește mecanismul de criptare „transparentă”. Când sistemul de operare pornește, este lansat un proces care monitorizează toate apelurile către fișierul de bază de date protejat. Dacă acest apel vine de la o aplicație obișnuită, de exemplu de la ms Access, fișierul este citit și este afișat un mesaj despre „format de bază de date de nerecunoscut”. Dar dacă aplicația specificată în timpul criptării funcționează cu fișierul, atunci datele îi sunt transmise în formă decriptată. Drept urmare, programul în sine nu este conștient de prezența protecției. Da, complexitatea spargerii unei astfel de baze de date crește semnificativ. Dar, în același timp, trebuie reținut că o cheie electronică trebuie furnizată împreună cu aplicația, la prețul de N c.u. și că viteza de acces la date scade de două până la trei ori.

Protecție împotriva pirateriei.

Au fost găsite două modalități de a obține controlul deplin al bazei de date.

  • În primul rând, codul programului era vulnerabil. Baza de date a fost accesată folosind interogări. De la început, a fost găsită o solicitare în depanator care este apelată ca răspuns la un clic pe buton din program. În plus, această solicitare a fost înlocuită cu textul unei cereri de a crea un tabel într-o altă bază de date. După apăsarea butonului, interogarea a selectat datele tabelului din baza de date protejată și le-a salvat într-un alt fișier.
  • În al doilea rând, a fost scris un program care, folosind un cârlig, și-a injectat codul în spațiul de adrese al unui proces protejat de HASP, iar un fișier de bază de date a fost pur și simplu copiat în numele său.

Criptarea valorilor din tabel

Această metodă nu este rea. În orice caz, există o adevărată speranță de a salva ceva. Cu toate acestea, există o serie de limitări. Înainte de afișarea datelor, acestea trebuie decriptate. Nu există nicio modalitate de a căuta o parte dintr-un șir într-un câmp criptat. Algoritmul de criptare și cheia sunt conținute în program, ceea ce înseamnă că există o potențială vulnerabilitate. În acest caz, fiabilitatea depinde de rezistența la cracare a programului care lucrează cu baza de date. Puteți combina afacerile cu plăcerea: nu criptați, ci comprimați conținutul câmpurilor de note. A face cu algoritmul de compresie în codul programului este plictisitor.

Concluzie

Înainte de a pune întrebarea cum să protejați baza de date, ar trebui să vă gândiți la necesitatea acesteia. Nu vă bazați pe metodele standard, dar acesta nu este un motiv pentru a opri utilizarea Access. Un specialist va sparge orice, dar poți să nu faci asta atât de ușor.

Următorul articol descrie criptarea transparentă a bazei de date Access, care are mai multe avantaje față de metodele existente.

Top articole similare