Criptați baza de date folosind parola bazei de date. Accesați programele de recuperare a parolei

Protecția parțială a bazei de date este asigurată prin adăugarea unei parole, care limitează cine poate deschide baza de date. Microsoft Access stochează parola bazei de date într-o formă necriptată. Dacă acest lucru compromite securitatea unei baze de date protejate cu parolă, parola nu trebuie utilizată. În schimb, trebuie să definiți securitatea la nivel de utilizator.

    Închideți baza de date. Dacă baza de date este deschisă acces public online, asigurați-vă că toți ceilalți utilizatori l-au închis.

    Do copie de rezervă baza de date și păstrați-o într-un loc sigur.

    În meniu Fişier alege echipa Deschis.

    Faceți clic pe săgeata din dreapta câmpului Pliant, selectați unitatea și folderul în care se află fișierul bazei de date Date Microsoft Accesați și faceți clic pe pictograma acelui fișier.

    Faceți clic pe săgeata din dreapta butonului Deschis, selecteaza o optiune Monopolși deschideți baza de date.

    În meniu Serviciu alege echipa Protecţieși subcomanda Setați parola bazei de date.

    Introduceți parola în câmp Parola.

    Confirmare, apoi faceți clic pe butonul Bine.

Parola este acum setată. Data viitoare când deschideți baza de date, va apărea o casetă de dialog care vă va cere să introduceți o parolă.

Note

    Dacă un tabel dintr-o bază de date protejată prin parolă este legat, atunci când legătura este stabilită, parola este stocată (plasată într-un buffer temporar) în baza de date la care este legat tabelul. Acest lucru va permite oricui să vă vadă datele.

Setarea unei parole într-un proiect Microsoft Access (.Adp)

Creați un fișier proiect Microsoft Access (.adp).

    Închideți fișierul de proiect Microsoft Access. Când lucrați într-un multi-utilizator mediu, asigurați-vă că fișierul proiect este închis de toți ceilalți utilizatori.

    Selectați din meniu Serviciu echipă Utilități iar apoi comanda Creați fișierul ADE.

    În caseta de dialog Baza de date de salvat ca ADE selectați fișierul de proiect pe care doriți să îl salvați ca fișier .ade și faceți clic pe butonul Creați ADE.

    În caseta de dialog Salvarea fișierului ADE sub numele Furnizați un nume, o unitate și un folder pentru proiectul Microsoft Access.

Spre deosebire de o bază de date Microsoft Access Într-un proiect, nu puteți proteja formulare, rapoarte sau macrocomenzi utilizând securitatea la nivel de utilizator și nu puteți seta o parolă pentru un fișier de proiect Microsoft Access (.adp). Pentru a proteja obiectele formular sau raport, puteți ascunde obiectele în fereastra bazei de date sau puteți configura opțiunile de lansare. Pentru a proteja accesul la formele de formulare și rapoarte într-un proiect Microsoft Access, puteți seta opțiuni de lansare sau puteți salva proiectul Microsoft Access ca fișier .ade. Pentru a proteja accesul la macrocomenzi dintr-un fișier de proiect, utilizați opțiunile de lansare. Pagina de acces la date poate fi protejată folosind instrumente de protecție a fișierelor și folderelor sistem de operare. Pentru a proteja programul Visual Basic Pentru aplicații, puteți converti fișierul proiect într-un fișier .ade sau puteți seta o parolă.

Schimbarea parolei într-un proiect Microsoft Access (.Adp)

Dacă proiectul MicrosoftAccess(.adp) este conectat la o bază de date Microsoft SQL Server 6.5 (sau mai târziu), protejat folosind SQL Server, atunci parola de conectare poate fi schimbată direct în Microsoft Access.

    Deschideți fișierul de proiect Microsoft Access sau comutați la fereastra Bază de date pentru a deschide proiectul.

    În meniu Serviciu alege echipa Protecţie iar apoi comanda Setați o parolă de conectare.

    introduce Parola actualăîn câmp Parola actuală.

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

    Pentru a vă confirma parola, introduceți-o din nou în câmp Confirmare, apoi faceți clic pe butonul Bine.

Acum parola a fost schimbată și Microsoft Access restabilește conexiunea .adp cu noua parolă. Data viitoare când deschideți proiectul, se deschide o casetă de dialog în care trebuie să introduceți o parolă.

Cel mai simplu mod de a proteja o bază de date este cu o parolă. Puteți atribui o parolă bazei de date Accesați datele, care va fi necesar de fiecare dată când îl deschideți.

Setarea și eliminarea unei parole de securitate a bazei de date

Pentru a seta o parolă pentru a vă proteja baza de date:

  1. Închideți baza de date. Dacă baza de date este partajată într-o rețea, asigurați-vă că alți utilizatori o închid.
  2. Faceți o copie de rezervă a bazei de date și stocați-o într-un loc sigur.
  3. Din meniul Acces, selectați comanda Fișier › Deschide(Fișier › Deschide).
  4. Selectați fișierul bazei de date.
  5. Faceți clic pe săgeata din dreapta butonului Deschis(Deschis). În lista derulantă a modurilor de deschidere a bazei de date, evidențiați elementul Monopol(Deschideți Exclusiv). Baza de date se va deschide în modul de acces exclusiv.
  6. Selectați o echipă Instrumente › Protecție › Setați parola bazei de date(Instrumente › Securitate › Setați parola bazei de date).
  7. În caseta de dialog care apare, introduceți în câmp Parola(Parolă) o parolă sensibilă la majuscule și minuscule pentru a proteja baza de date.
  8. Introduceți parola din nou în câmp Confirmare(Verifica).
  9. Faceți clic pe butonul Bine.

Baza de date este acum protejată prin parolă și ori de câte ori utilizatorul deschide baza de date, va fi afișată o casetă de dialog care solicită parola. Amintiți-vă sau păstrați parola într-un loc sigur. Dacă vă uitați parola, baza de date nu va putea fi deschisă.

cometariu
Nu protejați baza de date cu parolă înainte de a o replica, altfel nu va fi sincronizată cu alte replici
.

Dacă baza de date este protejată la nivel de utilizator, doar un utilizator cu drepturi administrative poate seta o parolă pentru a o deschide. Setarea unei parole nu afectează securitatea la nivel de utilizator. Aceste două metode de protecție pot fi utilizate simultan. Parola bazei de date este stocată în baza de date, nu în fișierul grupului de lucru.

Pentru a elimina o parolă de securitate a bazei de date:

  1. Deschideți baza de date în modul de acces exclusiv.
  2. Către caseta de dialog Este necesară parola(Parola necesară) Introduceți parola.
  3. Selectați o echipă Instrumente › Protecție › Eliminați parola bazei de date(Instrumente › Securitate › Anulați parola bazei de date). Va apărea o casetă de dialog Eliminarea parolei unei baze de date(Anulează parola bazei de date).
  4. Introduceți parola curentă a bazei de date.
  5. Faceți clic pe butonul Bine.

Stabilirea unei conexiuni la tabelele dintr-o bază de date protejată prin parolă

Pentru a stabili o conexiune la tabelele dintr-o bază de date protejată prin parolă, trebuie să introduceți o parolă. Dacă parola a fost specificată corect, aceasta este salvată împreună cu alte informații despre legăturile de tabel. Orice utilizator care lucrează cu o bază de date cu tabele înrudite poate apoi deschide acele tabele fără a furniza o parolă. Dacă schimbați parola pentru o bază de date protejată, vi se va solicita să introduceți parola data viitoare când deschideți o bază de date care conține tabele înrudite.

cometariu
Microsoft Access stochează parola într-o formă necriptată în baza de date care conține tabelele asociate în baza de date protejată. Dacă acest lucru compromite securitatea bazei de date, nu utilizați protecția prin parolă. Configurați securitatea la nivel de utilizator pentru a limita accesul la obiectele bazei de date
.

Fișierul bazei de date Microsoft Access ca și alții Documente de birou, poate fi protejat folosind 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ă, va trebui 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ă simultan 1 Microsoft Acces la birou 2003 suportă munca simultana 255 de utilizatori. ar provoca erori, deci MS Access nu o furnizează. Lansăm programul, în meniul principal mergeți la „File\Open”, mergeți la directorul dorit, selectați fișierul, din lista derulantă de valori a butonului „Open” selectați „Exclusive” (Fig. 3.6):

Apare fereastra bazei de date. În meniul principal, accesați „Tools\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, va trebui 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 „Tools\Protection\Remove database password”. În fereastra care apare, introduceți parola curentă după ce faceți clic pe butonul „OK”, aceasta va fi ștearsă. Pentru a introduce o nouă valoare, mergeți din nou la elementul de meniu „Setare parola bazei de date”, de data aceasta vom introduce mai multe parolă complexă„q1w2e3r4t5y6u7i8o9p0”.

Protejarea unui fișier cu o parolă este o metodă extrem de nesigură și nu poate fi folosită aplicații reale. Parola este stocată în formă deschisă, și este foarte ușor de deschis. Există multe utilități pe Internet concepute pentru asta, de exemplu Access Recuperare parola Genie (http://www.lenosoft.com). După lansarea acestui program, selectați fișierul MS Access pentru care trebuie să selectați o parolă, 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-i din nou valoarea la „12345”. Să începem acum conectarea la fișierul bazei de date din aplicații. Desigur, acum vă veți îndoi dacă să folosiți setarea unei parole ca măsură 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 și setați proprietatea Dock la „Umplere”. Accesați fila Date și faceți dublu clic pe obiectul OleDbDataAdapter. În expertul care apare, configurați conexiunea la fișierul BD_withPassword.mdb. Acum, în fereastra „Proprietăți conexiuni de date”, la verificarea conexiunii, apare un mesaj de eroare (Fig. 3.10):


Orez. 3.10.

Pe baza textului erorii, există o dorință naturală de a debifa caseta „Parola goală” și de a introduce „12345” în câmpul pentru parolă. Dar de data aceasta apare o eroare 2 De asemenea, asigurați-vă că fișierul bazei de date nu este deschis în fișierul programul Microsoft Acces.(Fig. 3.11):


Orez. 3.11.

Faptul este că interfața filei „Conexiune” este destinată introducerii parametrilor cont atunci când se protejează la nivel de utilizator. O să ne uităm în continuare. Aici bifați din nou caseta de selectare „Parola goală” și accesați fila „Toate”. Faceți dublu clic pe proprietatea Jet OLEDB:Database Password (sau, după ce ați selectat-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.

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


Orez. 3.13.

Faceți clic pe butonul „OK” pentru a închide fereastra „Data Connection Properties” În următorii pași ai „Data Adapter Configuration Wizard” configuram extragerea tuturor înregistrărilor din tabelul „Turists”. În ultimul pas al expertului - inclusiv parola în șirul de conexiune - selectați butonul „Includeți parola”; vom studia șirul generat de vrăjitor (Fig. 3.14):


Orez. 3.14.

În panoul 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 designerul de formulare, completăm obiectul DataSet și definim, de asemenea, sursa de date pentru elementul DataGrid:

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

Aici indicăm indicele ( egal cu zero) singurul tabel situat în obiectul DataSet.

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

Prin „protecția bazei de date” înțelegem o modalitate de prevenire acces neautorizat la informațiile stocate în tabele. Protecţie cod sursa formularele și modulele nu sunt luate în considerare.

Relevanța acestui subiect este extrem de mare. Acest lucru poate fi judecat după primul loc în clasament (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 în 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 Instrumente / Protecție / Setați parola bazei de date. 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 de bază de date folosind DAO sau ADO.

Sub Test 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.Open „Provider=Microsoft.Jet.OLEDB.4.0” & _
„;Sursa datelor=C:\a97.mdb” & _
„;Jet OLEDB:Parola bazei de date=123”
End Sub

Acesta este cel mai mult nu mod de încredere protecția bazei de date. Există un număr suficient de utilitare gratuite și plătite care afișează parola. Sunt disponibile coduri sursă inclusiv VB care vă permit să citiți o astfel de parolă. Altfel, nu este deloc rău. Într-o zi am dat peste o modificare originală a acestei metode de protecție, despre care vom discuta 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 a crea un fișier protejat:

  • Creați un fișier nou pentru grupuri de lucru.
    Pentru a face acest lucru, în 97-2000 Access se lansează programul WRKGADM.EXE, iar în 2003 Access trebuie să selectați elementul de meniu „Tools / Security / Workgroup Administrator”. În administrator, faceți clic pe butonul „Creați”, specificați numele, organizația și codul grupului. Specificați numele și locația fișier creat. De exemplu:
    Nume: Nume_test
    Organizare: ~
    Cod grup de lucru: rând 20 caractere.
    Fișierul grupului de lucru: C:\test\gr.mdw
  • Crearea unei comenzi rapide pentru a lansa ms Access folosind fișierul mdw creat. Comanda rapidă ar trebui 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 lansat Access folosind această comandă rapidă, trebuie să deschideți elementul de meniu „Instrumente / Securitate / 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 ca utilizator creat. Pentru a face acest lucru, trebuie să 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 utilizatorului creat trebuie să i se 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ă ce baza de date a fost creată, este recomandabil să eliminați „Admin” din grupul „Admins” și să luați drepturile asupra obiectelor bazei de date și să deschideți baza de date din grupul „Utilizatori”.
  • 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_Parolă

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

Sub Test publicDAO()
Dim mWS As DAO.Workspace
Dim mDB As DAO.Database
DBEngine.SystemDB = "C:\test\gr.mdw"
Set 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 „Provider=Microsoft.Jet.OLEDB.4.0;” & _
„Sursa datelor=C:\test\a97.mdb;” & _
„Jet OLEDB:System database=C:\test\gr.mdw;” & _
„ID utilizator=test_Utilizator;” & _
„Parola=test_Parola;”
End Sub

Înlăturarea 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 cel protejat în el și apoi schimbați baza de date a proprietarului pentru toate obiectele în Admin. Pentru a afla numele și parola proprietarului bazei de date, puteți utiliza programe specializate descrise în revizuirea Parolelor de acces. Dacă fișierul grupurilor de lucru lipsește, îl puteți restaura. Pentru a face acest lucru, va trebui să aflați numele și identificatorii proprietarilor obiectelor bazei de date. Aceste informații sunt conținute într-un fișier de bază de date și pot fi preluate folosind programe precum AOPR. Folosind aceste date se creează fișier nou. (secventa descrisa 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 unui program care funcționează cu o bază de date protejată, trebuie să îl deschideți în editor hex WinHex memorie virtuala aceasta aplicație. Căutând șirurile Unicode „User ID="; „Parolă="; „Database Password=" sau „pwd=" poate găsi numele de utilizator, parola ș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 î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ă afle 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 un fișier, aplicația dvs. este lansată, 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.

Protejarea utilizând o parolă de bază de date care conține caractere neprintabile

În primul rând, această metodă are ca scop prevenirea utilizării parolelor 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ă apărare. Metoda se bazează pe faptul că parola bazei de date pentru formatele Access 2000 și 2002-2003 este șir de textîn format Unicode. În același timp, nu există restricții privind conținutul său. Modul standard de a seta și de a utiliza o parolă de bază de date implică introducerea acesteia de la tastatură într-o casetă de dialog. Dacă șirul de parole conține caractere care nu pot fi imprimate, acestea nu vor fi afișate corect de programul de deschidere a parolei 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 nu am uitat nici de Access 97. Faptul este că specificația bazei de date și ajutorul 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 introducerea de șiruri de parole mai mari de 14 caractere. Specificația Access 2003 spune și 14 caractere, dar programul vă permite să introduceți toate cele 20. De asemenea, este posibil să utilizați caractere care nu se imprimă, care aduce î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.

Hacking de securitate.

  • Î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. Prezentarea 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 într-un depanator. Oricare ar fi parola, aceasta este totuși transmisă ca șir de text în metoda de deschidere a bazei de date. Dacă aveți 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 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, 40 de octeți sunt alocați pentru a stoca 20 de caractere de parolă. La criptare se folosește și adăugarea 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 studiată. Octeții rezultați pot fi introduși în fișierul examinat și parola poate fi resetată sau pot fi adăugați la octeți similari din fișierul examinat și poate fi obținută valoarea parolei.

Această lucrare nu discută posibile manipulări cu fișierele grupului de lucru. Cu siguranță există modalități de a proteja parolele stocate în ele de programele prea băgacioase, dar toate acestea devin lipsite de sens atunci când se folosește 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 a deschide baza de date, aceasta este scrisă în fișierul acesteia titlu corect, stocat în program, iar după închidere returnează cel greșit. Când încercați să deschideți un fișier de bază de date utilizând ms Access, apare un mesaj de eroare. Nu este o idee rea 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 bazei de date
„Ex: 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 programul care lucrează cu baza de date poate fi întrerupt artificial și o bază de date neprotejată va rămâne pe disc. Prin urmare, ar trebui să fie utilizat 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, se folosesc programe diferiți algoritmi citirea parolei și, în același timp, încercarea de a determina independent versiunea fișierului mdb.

Pentru a determina versiunea, puteți folosi o secvență de 40 de octeți, începând de la 122 de la începutul fișierului. Dacă introducem această secvență din Access 2k în baza de date Access 97, obținem 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 prin transplantarea unei secvențe de octeți de la Access 97 la Access 2k

Accesați antetul fișierului de 2k
Fragmentul parolei bazei de date este evidențiat cu verde.
albastru - 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 cu cheie electronică

Aceasta este o altă confirmare că metode standard protecție, chiar și de la producători terți sunt vulnerabili. 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 un mecanism de criptare „transparent”. Când sistemul de operare pornește, este lansat un anumit proces care monitorizează toate accesul la fișierul de bază de date protejat. Dacă această cerere vine de la aplicare regulată, de exemplu din 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 sunt transferate către acesta în formă decriptată. Drept urmare, programul în sine nu suspectează prezența protecției. Da, dificultatea de a pirata o astfel de bază de date crește semnificativ. Dar trebuie să vă amintiți că aplicația trebuie să vină cu cheie electronică, pret N.e. și că viteza de acces la date scade de două până la trei ori.

Hacking de securitate.

Au fost găsite două modalități de a obține comanda completă a bazei de date.

  • În primul rând, codul programului s-a dovedit a fi vulnerabil. Baza de date a fost accesată folosind interogări. Încă de la început, în depanator a fost găsită o solicitare care a fost apelată ca răspuns la apăsarea unui buton din program. În continuare, această solicitare a fost înlocuită cu textul unei solicitări de creare a unui tabel într-o altă bază de date. După ce a făcut clic pe butonul, 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 și a copiat pur și simplu fișierul bazei de date în numele său.

Criptarea valorilor din tabel

Această metodă nu este rea. În orice caz, există o speranță reală 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 piratare 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 o sarcină plictisitoare.

Concluzie

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

Următorul articol descrie criptare transparentă Accesați bazele de date, care are o serie de avantaje față de metodele existente.