Kerja Kursus: Masalah keselamatan pangkalan data. Memastikan keselamatan dalam SMS. Keselamatan maklumat dalam sistem pengurusan pangkalan data moden. Senarai sumber yang digunakan

Dengan peningkatan dalam penggunaan pangkalan data, kekerapan menyerang pangkalan data juga meningkat. Serangan pangkalan data adalah trend yang semakin meningkat hari ini. Apakah sebab serangan ke atas pangkalan data? Salah satu sebabnya ialah peningkatan akses kepada data yang disimpan dalam pangkalan data. Apabila data telah digunakan oleh ramai orang, kemungkinan data dicuri meningkat. Ia berikutan bahawa keselamatan pangkalan data ialah pelbagai kaedah yang digunakan untuk melindungi maklumat yang disimpan dalam pangkalan data. Memandangkan percubaan menggodam pangkalan data adalah yang paling kerap, anda perlu memikirkan tentang keselamatan pangkalan maklumat sebab banyak lagi bahaya.

Kerosakan fizikal pada komputer, pengekodan yang salah atau rasuah, dan muat semula data adalah hampir semua ancaman pangkalan data yang berpotensi. Dan ini bermakna terdapat banyak langkah keselamatan - daripada firewall kepada pengauditan dan sandaran cakera - untuk meminimumkan sebarang kemungkinan kerosakan dan mengelakkan kehilangan keseluruhan pangkalan data. Kebanyakan perniagaan mempunyai protokol keselamatan data mereka sendiri untuk melindungi daripada serangan tertentu dan kemungkinan kerosakan.

Memasang tembok api untuk pangkalan data, sejenis halangan keselamatan yang menafikan semua sambungan yang tidak diketahui, adalah bentuk perlindungan pangkalan data yang paling asas. Firewall dipasang pada kebanyakan komputer dan direka bentuk sedemikian rupa sehingga penggodam akan menghadapi kesukaran menyambung ke komputer mangsa. Firewall berfungsi dengan menapis sambungan rangkaian dan hanya komputer atau pengguna yang dipercayai boleh mengakses pangkalan data. Walaupun penggodam mahir boleh memintas ini, tembok api menyediakan tahap keselamatan yang tinggi.

Penyulitan adalah satu lagi langkah keselamatan untuk pangkalan data di mana data disulitkan atau telah dibuat tidak dapat difahami oleh sesiapa sahaja yang mengakses pangkalan data. Apabila menggunakan penyulitan, algoritma mengekod aksara menjadi omong kosong supaya ia tidak boleh dibaca. Ini bermakna jika penggodam mempunyai sedikit pengetahuan tentang kunci penyulitan, maklumat yang anda perlukan untuk menukar data yang disulitkan daripada aksara yang tidak dapat difahami kembali kepada bentuk yang boleh dibaca, tidak mungkin dia boleh membaca pangkalan data.

Audit- ini adalah apabila pemimpin atau pengurus menyemak pangkalan data untuk memastikan tiada apa-apa perubahan di dalamnya. Perlindungan pangkalan data jenis ini biasanya dilakukan secara fizikal, oleh seseorang yang boleh membaca pangkalan data, atau untuk pangkalan data besar dengan program untuk melihat sama ada integriti pangkalan data kekal sama. Di samping itu, audit mungkin termasuk menyemak akses pangkalan data dan melihat perkara yang dilakukan oleh orang itu apabila mereka mengakses pangkalan data. Ini menghalang kecurian data atau sekurang-kurangnya membolehkan pentadbir mengetahui siapa yang melakukan kecurian data.

Sandaran pangkalan data biasa adalah langkah keselamatan pangkalan data yang boleh melindungi pangkalan data daripada pelbagai ancaman. Apabila pangkalan data disandarkan dengan kerap, ini bermakna data akan disimpan pada pemacu keras atau pelayan lain. Jika pangkalan data kehilangan mana-mana atau semua maklumat, ia boleh dimulakan semula dengan cepat dengan kehilangan minimum menggunakan sandaran. Dengan membuat sandaran pangkalan data, pentadbir boleh menghalang kerosakan fizikal pada komputer, seperti kebakaran, kerosakan pangkalan data, atau penutupan beban pangkalan data.

Hantar kerja baik anda di pangkalan pengetahuan adalah mudah. Gunakan borang di bawah

Kerja yang bagus ke tapak">

Pelajar, pelajar siswazah, saintis muda yang menggunakan pangkalan pengetahuan dalam pengajian dan kerja mereka akan sangat berterima kasih kepada anda.

Disiarkan pada http://www.allbest.ru/

Kementerian Pendidikan dan Sains Persekutuan Rusia

Institusi swasta organisasi pendidikan pendidikan tinggi

"Akademi Kemanusiaan Omsk"

Jabatan Informatik, Matematik dan Sains Semula Jadi

KERJA KURSUS

mengenai topik: Keselamatan Pangkalan Data

mengikut disiplin: Pangkalan Data

Dilengkapkan oleh: Nurgalieva Shynar Altaybekovna

pengenalan

1. Kecurian maklumat daripada pangkalan data

1.1 Kawalan capaian dalam pangkalan data

1.2 Pengurusan integriti data

1.3 Kawalan konkurensi

1.4 Pemulihan data

1.5 Transaksi dan Pemulihan

1.6 Pulangan dan pemulangan transaksi

2. Keselamatan pangkalan data

2.1 Perancangan pangkalan data

2.2 Sambungan pangkalan data

2.3 Storan data yang disulitkan

2.4 Suntikan SQL

2.5 Teknik perlindungan

Kesimpulan

Senarai sumber yang digunakan

Aplikasi

pengenalan

Tawaran berterusan untuk membeli pelbagai pangkalan data (kebanyakannya jabatan) menunjukkan bahawa penjualan maklumat sulit tentang warganegara dan entiti undang-undang telah menjadi pandangan berasingan perniagaan. Jika kemunculan pangkalan lain yang diterbitkan untuk warganegara hanyalah satu lagi fakta yang tidak menyenangkan tentang pendedahan maklumat tentang kehidupan peribadi mereka, maka dalam sesetengah perusahaan ini boleh menjejaskan perniagaan. Sebagai contoh, untuk pengendali komunikasi selular pengedaran asas pengebilan boleh mengakibatkan aliran keluar pelanggan yang ketara kepada pengendali pesaing yang lebih "dipercayai". Oleh itu, kadangkala lebih menguntungkan dari segi ekonomi bagi pengendali untuk mencari "pengilang" yang telah menyediakan pangkalan yang dicuri untuk dijual dan membeli keseluruhan cetakan. Tetapi masalah pertindihan kemungkinan kebocoran masih sangat relevan.

Perlindungan pangkalan data adalah salah satu tugas paling sukar yang dihadapi oleh jabatan yang bertanggungjawab untuk memastikan keselamatan maklumat. Di satu pihak, untuk bekerja dengan pangkalan data, adalah perlu untuk menyediakan akses kepada data kepada semua pekerja yang, yang bertugas, mesti mengumpul, memproses, menyimpan dan memindahkan data sulit. Sebaliknya, pengembangan pangkalan data tidak selalu mempunyai seni bina berpusat, dan oleh itu tindakan pelanggar menjadi lebih canggih. Pada masa yang sama, tiada metodologi yang jelas dan tepat untuk penyelesaian menyeluruh kepada masalah perlindungan pangkalan data, yang boleh digunakan dalam semua kes, dalam setiap situasi tertentu anda perlu mencari pendekatan individu.

Pandangan klasik mengenai penyelesaian masalah ini termasuk tinjauan perusahaan untuk mengenal pasti ancaman seperti kecurian, kehilangan, kemusnahan, pengubahsuaian, penolakan keaslian. Langkah kedua ialah merangka model matematik aliran maklumat utama dan kemungkinan pelanggaran, pemodelan tindakan tipikal penceroboh; pada ketiga - pembangunan langkah-langkah komprehensif untuk menindas dan mencegah ancaman yang mungkin melalui perundangan, organisasi, pentadbiran dan langkah teknikal perlindungan. Walau bagaimanapun, kepelbagaian aktiviti perusahaan, struktur perniagaan, rangkaian maklumat dan aliran maklumat, sistem terpakai dan cara mengatur akses kepada mereka, dsb. tidak membenarkan mewujudkan metodologi penyelesaian universal.

Untuk masa yang lama, perlindungan pangkalan data telah dikaitkan dengan melindungi rangkaian tempatan perusahaan daripada serangan luar oleh penggodam, memerangi virus, dll. Laporan analisis terkini daripada syarikat perunding telah mendedahkan bidang lain yang lebih penting untuk melindungi sumber maklumat syarikat. Kajian telah menunjukkan dengan meyakinkan bahawa tiada maklumat boleh disimpan daripada kebocoran maklumat oleh kakitangan dan tindakan jahat pentadbir pangkalan data "mahakuasa". tembok api, tiada VPN, malah sistem analisis keselamatan dan pengesanan pencerobohan yang mewah. Akses tanpa kebenaran kepada data dan kecurian maklumat sulit adalah komponen utama kerugian perusahaan selepas kerosakan yang disebabkan oleh virus.

Salah satu penemuan utama laporan CSI/FBI ialah peningkatan kerosakan yang ketara daripada ancaman kecurian data sulit. setiap satu syarikat Amerika kehilangan purata $355,500 disebabkan oleh pelanggaran data sulit sahaja dalam tempoh 12 bulan yang lalu. Jumlah purata kerugian daripada tindakan orang dalam berjumlah $300,000 (maksimum ialah $1.5 juta). Menyelesaikan isu akses peribadi kepada data sulit membolehkan anda mengenal pasti penyerang menggunakan maklumat yang tidak dapat dinafikan membuktikan kesalahannya. Ini, seterusnya, adalah mustahil tanpa menggunakan kaedah pengesahan dan kawalan akses yang paling moden.

Tujuan kerja kursus ini adalah untuk menangani isu keselamatan pangkalan data.

Untuk mencapai matlamat ini, perlu menyelesaikan tugas berikut:

1. Keupayaan untuk mengelakkan capaian tanpa kebenaran kepada pangkalan data.

2. Penyimpanan data yang disulitkan.

3. Teknik perlindungan pangkalan data.

keselamatan pengurusan pangkalan maklumat

1 . Kecurian maklumat daripada pangkalan data

1.1 Kawalan capaian dalam pangkalan data

Merumuskan sebab utama capaian tanpa kebenaran kepada data dan, dalam beberapa kes, meletakkan asas industri penjualan pangkalan data yang mengandungi data peribadi pelanggan, rakan kongsi atau pekerja, dan rahsia perdagangan syarikat.

Jadi, kami mempunyai data awal berikut:

Ramai yang tidak sedar bahawa pangkalan data mereka sedang dicuri;

Kecurian dan kerosakan yang disebabkan adalah terpendam;

Sebaik sahaja fakta kecurian data diwujudkan, kebanyakan syarikat menutup mulut kerosakan yang disebabkan. Salah satu sebab untuk ini adalah kekurangan mekanisme sebenar untuk mengumpul asas bukti mengenai fakta kecurian sumber oleh pengguna tertentu;

Teknologi yang membenarkan memperibadikan tindakan pengguna secara ketat dan mengehadkan hak mereka tidak diketahui oleh kebanyakan pengurus;

Keupayaan untuk melindungi data daripada pentadbir sistem juga kurang diketahui, pengurus lebih suka menganggap mereka sebagai pekerja yang paling setia;

Belanjawan keselamatan maklumat cenderung kecil. Ini tidak membenarkan untuk menyelesaikan masalah dengan cara yang kompleks (pengenalan unit kakitangan yang bertanggungjawab untuk keselamatan maklumat.

Keperluan keselamatan data utama untuk pangkalan data dan DBMS sebahagian besarnya bertepatan dengan keperluan untuk keselamatan data dalam sistem komputer- kawalan akses, perlindungan kripto, semakan integriti, pembalakan, dsb.

Pengurusan integriti dalam pangkalan data merujuk kepada perlindungan data dalam pangkalan data daripada perubahan dan kemusnahan yang tidak betul (berbanding dengan yang tidak dibenarkan). Mengekalkan integriti pangkalan data adalah untuk memastikan ketepatan (ketepatan) kedua-dua nilai semua elemen data dan hubungan antara elemen data dalam pangkalan data pada setiap saat. Keperluan asas berikut dikaitkan dengan mengekalkan integriti.

Pengesahan. Maklumat dimasukkan ke dalam setiap elemen data tepat seperti yang diterangkan untuk elemen tersebut. Mekanisme mesti disediakan untuk memastikan elemen data dan perhubungan logiknya tahan terhadap ralat atau tindakan pengguna yang tidak mahir.

Kawalan konkurensi Pelanggaran integriti pangkalan data boleh berlaku apabila melakukan operasi pada data pada masa yang sama, setiap satu secara individu tidak melanggar integriti pangkalan data. Oleh itu, mekanisme pengurusan data perlu disediakan untuk memastikan penyelenggaraan integriti pangkalan data semasa melakukan beberapa operasi pada masa yang sama.

Pemulihan. Data yang disimpan dalam pangkalan data mestilah tahan terhadap kesan fizikal yang buruk (ralat perkakasan, kegagalan kuasa, dll.) dan ralat perisian. Oleh itu, mekanisme harus disediakan untuk memulihkan keadaan pangkalan data dalam masa yang sangat singkat sebelum kemunculan kerosakan.

Isu kawalan capaian dan mengekalkan integriti pangkalan data adalah berkait rapat antara satu sama lain, dan dalam banyak kes mekanisme yang sama digunakan untuk menyelesaikannya. Perbezaan antara aspek keselamatan data pangkalan data ini ialah kawalan capaian adalah tentang mencegah pemusnahan pangkalan data yang disengajakan, manakala pengurusan integriti adalah tentang mencegah pengenalan ralat secara tidak sengaja.

Kebanyakan sistem pangkalan data adalah satu cara penyimpanan data terpusat tunggal. Ini sangat mengurangkan lebihan data, memudahkan akses data dan membolehkan perlindungan data yang lebih berkesan. Walau bagaimanapun, dalam teknologi pangkalan data terdapat beberapa masalah yang berkaitan, sebagai contoh, dengan fakta bahawa pengguna yang berbeza mesti mempunyai akses kepada beberapa data dan tidak mempunyai akses kepada yang lain. Oleh itu, tanpa menggunakan cara khas dan kaedah, hampir mustahil untuk menyediakan pengasingan akses yang boleh dipercayai dalam pangkalan data.

Majoriti DBMS moden mempunyai alat terbina dalam yang membolehkan pentadbir sistem menentukan hak pengguna untuk akses kepada pelbagai bahagian pangkalan data, sehingga elemen tertentu. Pada masa yang sama, adalah mungkin bukan sahaja untuk memberikan akses kepada pengguna tertentu, tetapi juga untuk menentukan jenis akses yang dibenarkan: apa sebenarnya yang boleh dilakukan oleh pengguna tertentu dengan data tertentu (baca, ubah suai, padam, dll.), sehingga kepada penyusunan semula keseluruhan pangkalan data Jadual (senarai ) kawalan capaian digunakan secara meluas dalam sistem komputer, contohnya, dalam OS untuk mengawal capaian kepada fail. Ciri menggunakan alat ini untuk melindungi pangkalan data ialah bukan sahaja fail individu bertindak sebagai objek perlindungan (kawasan dalam pangkalan data rangkaian, hubungan dalam pangkalan data hubungan), tetapi juga yang lain elemen struktur DB: elemen, medan, rekod, set data.

1.2 Pengurusan integriti data

Pelanggaran integriti data boleh disebabkan oleh beberapa sebab:

kegagalan perkakasan, pengaruh fizikal atau bencana alam;

Kesilapan pengguna yang diberi kuasa atau tindakan yang disengajakan oleh pengguna yang tidak dibenarkan;

Ralat perisian DBMS atau OS;

Ralat dalam program aplikasi;

Pelaksanaan bersama permintaan pengguna yang bercanggah, dsb.

Pelanggaran integriti data juga mungkin berlaku dalam sistem yang mantap. Oleh itu, adalah penting bukan sahaja untuk mencegah pelanggaran integriti, tetapi juga untuk mengesan fakta pelanggaran integriti tepat pada masanya dan segera memulihkan integriti demi pelanggaran.

1.3 Kawalan konkurensi

Mengekalkan integriti berdasarkan kekangan integriti di atas adalah memadai masalah yang sukar dalam sistem DB walaupun dengan satu pengguna. Dalam sistem berbilang pengguna, terdapat beberapa masalah baharu yang berkaitan dengan pelaksanaan selari permintaan pengguna yang bercanggah. Sebelum mempertimbangkan mekanisme untuk melindungi pangkalan data daripada ralat yang berlaku sekiranya berlaku konflik permintaan pengguna, kami akan mendedahkan beberapa konsep yang berkaitan dengan kawalan konkurensi.

Cara paling penting dalam mekanisme perlindungan integriti pangkalan data ialah gabungan satu set operasi, akibatnya pangkalan data berpindah dari satu keadaan integral ke keadaan integral yang lain, kepada satu unsur logik kerja, dipanggil transaksi. Intipati mekanisme urus niaga ialah sebelum urus niaga selesai, semua manipulasi data dijalankan di luar pangkalan data, dan perubahan sebenar dibuat pada pangkalan data hanya selepas selesai transaksi biasa.

Dari sudut pandangan keselamatan data, mekanisme sedemikian untuk memaparkan perubahan dalam pangkalan data adalah sangat penting. Jika urus niaga telah terganggu, maka alat DBMS terbina dalam khas melaksanakan apa yang dipanggil rollback - mengembalikan pangkalan data kepada keadaan sebelum permulaan transaksi (sebenarnya, rollback biasanya hanya terdiri daripada tidak membuat perubahan disebabkan oleh perjalanan transaksi dalam pangkalan data fizikal). Jika pelaksanaan satu transaksi tidak melanggar integriti pangkalan data, maka akibat pelaksanaan serentak beberapa transaksi, integriti pangkalan data mungkin dilanggar. Untuk mengelakkan ralat seperti ini, DBMS mesti menyokong mekanisme yang memastikan transaksi menangkap elemen data yang diubah suai sehingga selesai pengubahsuaian, yang dipanggil kunci. Ini memastikan tiada sesiapa mendapat akses kepada item data yang boleh diubah suai sehingga transaksi mengeluarkannya. Penggunaan mekanisme penguncian membawa kepada masalah baru kawalan konkurensi, khususnya, kepada berlakunya situasi mencengkam antara dua transaksi. Selain itu, jika sesetengah transaksi cuba mengunci objek yang telah dikunci oleh transaksi lain, maka ia perlu menunggu sehingga kunci pada objek dilepaskan oleh transaksi yang menetapkan kunci ini. Dalam erti kata lain, hanya satu transaksi boleh mengunci objek.

1.4 Pemulihan data

Pemulihan data ialah proses mendapatkan akses kepada fail yang dirakam pada medium storan tertentu yang menjadi tidak boleh diakses disebabkan oleh kegagalan perisian, kegagalan medium storan atau tindakan pengguna yang salah. Keupayaan untuk memulihkan data menggunakan program khas wujud jika ia tidak ditimpa oleh maklumat lain. Juga, kejayaan sebahagian besarnya bergantung pada pemeliharaan struktur sistem fail dan kesihatan media secara umum.

Seperti yang anda ketahui, data pada mana-mana medium storan moden pada tahap paling rendah disimpan sebagai sedikit urutan sifar dan satu. Iaitu, dalam bentuk sektor bermagnet / bercas (1) atau ketiadaannya (0).

Walau bagaimanapun, Windows dan sistem pengendalian lain berfungsi pada tahap yang lebih tinggi menggunakan kaedah yang berbeza sistem fail. Sistem fail ialah lapisan perisian untuk interaksi berkesan OS dengan maklumat pada medium fizikal. Ia terdiri daripada dua bahagian: kawasan sistem dan kawasan data. Kawasan sistem mengandungi sektor but(bertanggungjawab ke atas keupayaan untuk boot daripada media dan pengecamannya yang betul), serta beberapa sektor yang menyimpan jadual indeks fail dan maklumat perkhidmatan lain.

Semua maklumat disimpan secara fizikal dalam kawasan data, bagaimanapun, rekod fail berada dalam kawasan sistem. Mekanisme organisasi kerja ini adalah seperti berikut: apabila pemacu disambungkan ke komputer, sistem tidak mengimbas keseluruhan cakera untuk fail, tetapi dengan cepat membaca data tentangnya dari kawasan sistem. OS juga berinteraksi dengan media, contohnya, apabila memadam data: fail tidak dimusnahkan secara fizikal, tetapi hanya pautan kepada mereka dalam jadual fail dipadamkan. Ini memberikan alasan sistem untuk menganggap kelompok media yang "dibebaskan" sebagai kosong dan sesuai untuk ditulis ganti selanjutnya. Oleh itu, kes pertama apabila pemulihan data adalah mungkin ialah kehilangan pautan ke fail dalam jadual fail, dengan syarat fail itu tidak ditimpa oleh data lain. Kes biasa kedua ialah pemformatan media. Terdapat tiga jenis pemformatan:

Pemformatan pantas - hanya jadual fail dipadamkan, tetapi kawasan data tidak terjejas. Dengan pemformatan ini, peluang pemulihan adalah sangat tinggi (dengan syarat tiada apa-apa lagi ditulis pada pemacu kilat yang diformatkan).

Pemformatan penuh - kedua-dua kawasan sistem dan kawasan data dipadamkan. Pemformatan jenis ini menyediakan pemadaman lengkap media, bagaimanapun, untuk mempercepatkan proses, kawasan data dipadamkan tidak sepenuhnya, tetapi dalam serpihan. Ini memberi peluang (walaupun kecil) untuk memulihkan fail yang diperlukan.

Pemformatan peringkat rendah - semua sektor medium storan diisi dengan sifar. Selepas pemformatan sedemikian, hampir mustahil untuk memulihkan apa-apa, kerana semua data dimusnahkan sepenuhnya. Dalam Windows, tidak ada kemungkinan pemformatan peringkat rendah, jadi walaupun selepas pembersihan lengkap cakera dengan caranya, pemulihan data secara teorinya mungkin! Begitu juga, anda boleh cuba memulihkan maklumat sekiranya berlaku kegagalan sistem fail, yang pemacu kilat sering "berdosa" dengannya. Dengan kegagalan sedemikian, kawasan sistem biasanya dimusnahkan sebahagian atau sepenuhnya dan pemacu kilat memerlukan pemformatan:

Seperti yang telah dinyatakan, berlakunya kegagalan dalam perkakasan atau perisian mungkin memerlukan pemulihan dan kembali cepat ke keadaan sedekat mungkin dengan keadaan sebelum berlakunya kegagalan (ralat). Kebuntuan selalunya antara sebab keperluan untuk pemulihan.

Terdapat tiga peringkat pemulihan utama:

Pemulihan dalam talian, yang dicirikan oleh keupayaan untuk pulih pada tahap transaksi individu sekiranya berlaku penamat yang tidak normal kepada situasi manipulasi data (contohnya, sekiranya berlaku ralat program).

Pemulihan pertengahan.Jika anomali berlaku dalam pengendalian sistem (ralat sistem dan perisian, kegagalan perisian yang tidak berkaitan dengan pemusnahan pangkalan data), maka adalah perlu untuk memulihkan keadaan semua transaksi yang dilakukan pada masa kegagalan.

Pemulihan yang lama. Apabila pangkalan data dimusnahkan akibat kecacatan pada cakera, pemulihan dijalankan menggunakan salinan pangkalan data. Kemudian mereka mengeluarkan semula hasil transaksi yang dilakukan sejak salinan dibuat dan mengembalikan sistem kepada keadaan pada masa pemusnahan.

1.5 Transaksi dan Pemulihan

Penamatan transaksi kerana kegagalan melanggar integriti pangkalan data. Jika keputusan pelaksanaan transaksi sedemikian hilang, maka adalah mungkin untuk memainkannya semula pada masa kegagalan. Oleh itu, konsep transaksi memainkan peranan penting dalam pemulihan. Untuk memulihkan integriti pangkalan data, urus niaga mesti memenuhi keperluan berikut:

Adalah perlu bahawa urus niaga sama ada diselesaikan sepenuhnya atau tidak dilaksanakan sama sekali;

Ia adalah perlu bahawa transaksi membenarkan kemungkinan kembali ke keadaan asal, lebih-lebih lagi, untuk memastikan pulangan bebas urus niaga ke keadaan awal, penguncian eksklusif mesti dijalankan sehingga pengubahsuaian semua objek selesai;

Ia adalah perlu untuk dapat menghasilkan semula proses transaksi, dan, untuk memastikan keperluan ini, kunci bersama mesti dijalankan sehingga selesai melihat data oleh semua transaksi.

Semasa pelaksanaan sebarang urus niaga, tiba masanya untuk selesai. Pada masa yang sama, semua pengiraan yang dibuat oleh transaksi dalam kawasan kerja mesti dilengkapkan, salinan keputusan pelaksanaannya mesti ditulis ke log sistem. Tindakan sedemikian dipanggil operasi komit. Apabila kegagalan berlaku, adalah lebih suai manfaat untuk kembali bukan ke permulaan transaksi, tetapi ke beberapa kedudukan pertengahan. Titik di mana pulangan sedemikian berlaku dipanggil titik penetapan (titik kawalan). Pengguna boleh menetapkan bilangan mata yang sewenang-wenangnya semasa transaksi. Jika titik komit dicapai semasa pelaksanaan transaksi, maka DBMS secara automatik melaksanakan operasi di atas.

1.6 Pulangan dan pemulangan transaksi

Alat utama yang digunakan semasa pemulihan ialah log sistem, yang merekodkan semua perubahan yang dibuat kepada pangkalan data oleh setiap transaksi. Mengembalikan urus niaga kepada keadaan asalnya melibatkan pembatalan semua perubahan yang dibuat semasa urus niaga. Operasi ini dipanggil rollback. Untuk menghasilkan semula hasil transaksi, anda boleh menggunakan log sistem untuk memulihkan nilai perubahan yang dibuat dalam susunan ia berlaku, atau untuk melaksanakan transaksi itu semula. Memainkan semula hasil transaksi menggunakan syslog dipanggil unwinding. Spinup adalah operasi yang agak rumit, tetapi perlu bagi mekanisme pemulihan pangkalan data moden.

2 . Keselamatan Pangkalandata

2.1 Perancangan pangkalan data

Hari ini, pangkalan data ialah komponen teras hampir semua aplikasi berasaskan Web, dan menyediakan keupayaan untuk menyediakan pelbagai kandungan dinamik. Memandangkan pangkalan data sedemikian boleh menyimpan maklumat yang sangat sensitif dan sensitif, penjagaan mesti diambil untuk melindunginya juga. Seni bina yang digunakan untuk mencipta halaman Web dengan PL/SQL WebToolkit adalah sangat mudah, seperti yang ditunjukkan dalam Rajah 1 (lihat Lampiran A).

Untuk mendapatkan atau menyimpan maklumat dalam pangkalan data, anda perlu menyambung kepadanya, menghantar permintaan, memproses respons dan menutup sambungan. Hari ini, untuk semua ini, ia biasa digunakan bahasa berstruktur pertanyaan (Bahasa Pertanyaan Berstruktur, SQL). Mari lihat perkara yang boleh dilakukan oleh penyerang dengan pertanyaan SQL.

Seperti yang anda ketahui, PHP tidak dapat melindungi pangkalan data itu sendiri. Bahagian berikut adalah pengenalan kepada asas mengakses dan menggunakan pangkalan data dalam skrip PHP.

Ingat peraturan mudah: pertahanan dibina "secara mendalam". Lebih banyak tempat yang anda lindungi dan lebih banyak tindakan yang anda ambil untuk melindungi pangkalan data, semakin kecil kemungkinan penyerang berjaya mengekstrak dan menggunakan data yang disimpan di dalamnya. maklumat terperingkat. Semua tempat berbahaya dihapuskan oleh reka bentuk yang betul bagi struktur pangkalan data dan aplikasi yang menggunakannya.

Langkah pertama sentiasa mencipta pangkalan data sebenar, kecuali apabila menggunakan pangkalan data orang lain. Apabila pangkalan data dicipta, pemilik diberikan kepadanya, yang menggunakan perintah cipta. Biasanya hanya seorang pemilik ("pengguna super") boleh melakukan apa sahaja dengan objek dalam pangkalan data ini, dan kebenaran mesti diberikan untuk membenarkan pengguna lain menggunakannya.

Aplikasi tidak boleh bersambung ke pangkalan data sebagai pemiliknya atau "pengguna super" kerana kemudian pengguna boleh melakukan apa sahaja, seperti mengubah suai skema (seperti memadamkan jadual) atau memadam semua kandungannya.

Anda boleh membuat pengguna pangkalan data yang berbeza untuk setiap satu tindakan yang perlu aplikasi, sangat menyekat akses yang terakhir kepada objek pangkalan data. Hak yang diperlukan hendaklah diberikan sekali, penggunaannya di tempat lain aplikasi harus dielakkan. Ini bermakna jika penyerang mendapat akses menggunakan satu atau akaun lain, dia hanya akan mendapat akses yang dimiliki oleh bahagian program yang digunakan.

Adalah lebih baik untuk tidak memasukkan semua logik bekerja dengan pangkalan data ke dalam aplikasi. Ini boleh dilakukan dalam pangkalan data itu sendiri menggunakan bendera, pandangan, peraturan, dan prosedur terbina dalam. Apabila sistem berkembang dan berkembang, rutin terbina dalam boleh diubah suai untuk mengendalikan medan baharu secara automatik, dan bendera memberikan pilihan tambahan untuk urus niaga penyahpepijatan.

2.2 Sambungan pangkalan data

Anda boleh mewujudkan sambungan menggunakan SSL untuk menyulitkan sambungan pelanggan-pelayan, yang memberikan peningkatan keselamatan. Bolehkah anda menggunakan ssh untuk penyulitan? jaringan rangkaian antara pelanggan dan pelayan pangkalan data. Sama ada cara menjadikannya sangat sukar untuk menjejak dan mengekstrak maklumat daripada trafik rangkaian.

2.3 Menyimpan data yang disulitkan

SSL/SSH hanya melindungi data dalam perjalanan dari klien ke pelayan, bukan data yang disimpan dalam pangkalan data. SSL hanyalah protokol rangkaian.

Apabila penyerang mendapat akses kepada pangkalan data anda, memintas pelayan Web, data sensitif yang disimpan boleh diambil dan digunakan, melainkan maklumat itu dilindungi dalam pangkalan data itu sendiri. Penyulitan adalah teknik yang sangat baik dalam kes ini, tetapi sangat sedikit sistem pengurusan pangkalan data pada masa ini menyokongnya.

Paling Jalan mudah dalam kes ini, buat sendiri sistem sendiri penyulitan, dan kemudian gunakannya dalam skrip PHP. PHP memudahkan pendekatan ini dengan sambungan khusus seperti Mcrypt dan Mhash yang meliputi pelbagai algoritma penyulitan. Program ini menyulitkan data yang disimpan dan menyahsulit data yang diterima. Untuk Penerangan terperinci Lihat pautan untuk skema penyulitan.

Dalam kes data tersembunyi, di mana bentuk asalnya tidak diperlukan (contohnya, untuk paparan), pencincangan boleh digunakan. Contoh pencincangan yang terkenal ialah menyimpan cincangan MD5 kata laluan dalam pangkalan data dan bukannya kata laluan itu sendiri. Untuk Penerangan terperinci lihat crypt() dan md5().

Contoh: Menggunakan kata laluan cincang

// simpan cincang kata laluan

$query = sprintf("MASUKKAN KE DALAM pengguna(nama,pwd) NILAI("%s","%s");",

// semak ketepatan kata laluan yang dimasukkan oleh pengguna

$query = sprintf("PILIH 1 DARI pengguna WHERE nama="%s" DAN pwd="%s";",

addslashes($nama pengguna), md5($kata laluan));

$result = pg_exec($connection, $query);

jika (pg_numrows($result) > 0) (

echo "Selamat Datang $nama pengguna!";

echo "Kata laluan tidak sah dimasukkan untuk $nama pengguna.";

2.4 Suntikan SQL

Banyak pembangun aplikasi Web menganggap pertanyaan SQL sebagai tidak bernilai, tidak menyedari bahawa ia boleh digunakan oleh penyerang. Ini bermakna pertanyaan SQL boleh digunakan untuk memintas keselamatan, pengesahan dan sistem kebenaran, dan juga kadangkala boleh digunakan untuk mendapatkan akses kepada arahan tahap. sistem operasi.

Pelaksanaan dalam arahan SQL Teknik di mana penyerang mencipta atau mengubah suai perintah SQL untuk mendapatkan akses kepada data tersembunyi, untuk mengubah suai data sedia ada, dan juga untuk melaksanakan perintah peringkat sistem pengendalian. Ini dicapai apabila program menggunakan data yang dimasukkan dalam kombinasi dengan parameter statik untuk mencipta pertanyaan SQL. Contoh berikut, malangnya, adalah berdasarkan kes sebenar:

Dengan pengesahan data input yang tidak mencukupi dan sambungan ke pangkalan data sebagai pengguna super, penyerang boleh mencipta pengguna super baharu dalam pangkalan data.

Contoh: Penomboran hasil pertanyaan dan...cipta pengguna super (PostgreSQL dan MySQL)

$offset = argv; // perhatian! tiada pengesahan data!

// dalam PostgreSQL

$hasil = pg_exec($conn, $query);

$result = mysql_query($query);

Biasanya pengguna menggunakan butang "seterusnya" dan "sebelumnya", di mana $offset dibenamkan dalam URL. Program ini menganggap $offset sebagai nombor. Walau bagaimanapun, seseorang mungkin cuba menyusup dengan menambahkan data berkod urlencode() pada URL

// dalam kes PostgreSQL

masukkan ke dalam pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)

pilih "crack", usesysid, "t","t",,"crack"

dari pg_shadow where usename="postgres";

// dalam kes MySQL

KEMASKINI pengguna SET Kata Laluan=KATAlaluan("crack") WHERE user="root";

KEISTIMEWAAN FLUSH;

Jika ini berlaku, program akan memberikannya akses superuser. Perhatikan bahawa 0; berfungsi untuk menetapkan offset yang betul untuk permintaan asal dan melengkapkannya.

Amalan biasa ialah meminta penterjemah SQL mengabaikan baki pertanyaan pembangun dengan menandakan permulaan komen SQL dengan --.

Terdapat cara untuk mendapatkan kata laluan melalui halaman carian anda. Semua yang diperlukan oleh penyerang adalah satu pembolehubah yang belum dikendalikan dengan betul dan digunakan dalam pertanyaan SQL. Perintah WHERE, ORDER BY, LIMIT, dan OFFSET bagi pertanyaan SELECT boleh digunakan. Jika pangkalan data anda menyokong binaan UNION, penyerang boleh menambah permintaan lain pada permintaan asal untuk mendapatkan kata laluan. Dalam kes ini, menyimpan kata laluan yang disulitkan akan membantu.

Contoh: Menyenaraikan artikel... dan kata laluan (sebarang pelayan pangkalan data)

$query = "PILIH id, nama, dimasukkan, saiz DARI produk

WHERE saiz = "$size"

PESANAN OLEH $order LIMIT $limit, $offset;";

$result = odbc_exec($conn, $query);

Bahagian statik pertanyaan boleh digabungkan dengan yang lain PILIH pertanyaan yang akan mengeluarkan semua kata laluan:

kesatuan pilih "1", concat(uname||"-"||passwd) sebagai nama, "1971-01-01", "0" daripada jadual pengguna;

Jika pertanyaan sedemikian (menggunakan " dan --) diberikan dalam salah satu pembolehubah yang digunakan oleh $query, maka serangan itu akan berjaya.

Pertanyaan "KEMASKINI" SQL juga boleh digunakan untuk menyerang pangkalan data. Permintaan ini juga tertakluk kepada bahaya "memotong" dan menambah permintaan baharu. Tetapi di sini penyerang bekerja dengan arahan SET. Dalam kes ini, adalah perlu untuk mengetahui beberapa maklumat tentang struktur pangkalan data untuk berjaya mengubah suai pertanyaan. Maklumat tersebut boleh diperolehi dengan mengkaji nama bentuk pembolehubah atau hanya dengan pemilihan. Lagipun, tidak banyak nama untuk medan pengguna dan kata laluan.

Contoh: Daripada menetapkan semula kata laluan kepada mendapatkan keistimewaan... (sebarang pelayan pangkalan data)

$query = "KEMASKINI SET jadual pengguna pwd="$pwd" WHERE uid="$uid";";

Penyerang menghantar nilai " atau uid seperti"%admin%"; --, kepada pembolehubah $uid untuk menukar kata laluan pentadbir, atau hanya menetapkan $pwd kepada "hehehe", admin="yes", trusted=100 " ( dengan ruang belakang) untuk mendapatkan hak. Permintaan akan rosak seperti ini:

// $uid == "atau uid seperti"%admin%"; --

$query = "KEMASKINI SET jadual pengguna pwd="..." WHERE uid="" atau uid seperti "%admin%"; --";

// $pwd == "hehehe", admin="yes", trusted=100 "

$query = "KEMASKINI SET jadual pengguna pwd="hehehe", admin="yes", trusted=100 WHERE ...;"

Dan berikut ialah contoh bagaimana perintah tahap sistem pengendalian boleh dilaksanakan pada beberapa pelayan pangkalan data:

Contoh: Serangan ke atas sistem pengendalian pelayan pangkalan data (pelayan MSSQL)

$query = "PILIH * DARI produk DI MANA id SEPERTI "%$prod%"";

Jika penyerang menghantar nilai a%" exec master..xp_cmdshell "net user test testpass /ADD" -- kepada $prod, $query akan kelihatan seperti ini:

$query = "PILIH * DARI produk

DI MANA id SEPERTI "%a%"

exec master..xp_cmdshell "laluan ujian pengguna bersih /TAMBAH"--";

$result = mssql_query($query);

Pelayan MSSQL melaksanakan semua arahan SQL, termasuk arahan untuk menambah pengguna baharu pangkalan tempatan Data pengguna. Jika aplikasi ini berjalan seperti sa dan perkhidmatan MSSQLSERVER mempunyai hak yang mencukupi, penyerang akan mempunyai akaun untuk mengakses mesin ini.

Beberapa contoh di atas terikat pada pelayan pangkalan data tertentu. Tetapi ini tidak bermakna sama sekali bahawa serangan sedemikian adalah mustahil pada perisian lain. Pelayan pangkalan data anda juga akan terdedah kepada serangan yang tidak dijangka dengan satu cara atau yang lain.

2.5 Teknik perlindungan

Kebanyakan contoh menunjukkan bahawa untuk menyerang, penyerang mesti mempunyai beberapa maklumat. Betul, tetapi anda tidak pernah tahu terlebih dahulu ke arah mana maklumat ini akan pergi. Jika ini berlaku, pangkalan data menjadi tidak selamat. Jika anda menggunakan pakej pengurusan pangkalan data yang boleh diedarkan secara bebas yang dimiliki oleh sesetengah sistem pengurusan kandungan atau forum, penyerang boleh mendapatkan salinan bahagian program anda ini dengan mudah. Ia juga mungkin mewakili "lubang" keselamatan.

Kebanyakan serangan adalah berdasarkan penggunaan kod yang ditulis tanpa pertimbangan keselamatan. Jangan sekali-kali mempercayai input, terutamanya jika ia datang dari sisi klien, walaupun ia daripada kotak pilihan, medan tersembunyi atau entri kuki. Contoh pertama menunjukkan perkara yang boleh membawa kepada penggantian data ini.

Jangan sekali-kali menyambung ke pangkalan data sebagai pengguna super atau pemilik. Sentiasa gunakan pengguna khas dengan keistimewaan minimum.

Semak input untuk memadankan jenis data dengan yang diperlukan. PHP termasuk sebilangan besar fungsi semak, daripada bahagian yang paling mudah "Fungsi untuk Memanipulasi Pembolehubah" dan "Fungsi untuk Memanipulasi Jenis Aksara", (contohnya masing-masing is_numeric() dan ctype_digit() kepada biasa Ungkapan Perl ("Ungkapan Biasa, serasi dengan Perl").

Jika program menjangkakan nombor, semak data dengan is_numeric(), atau ubah sahaja jenis dengan settype(), atau gunakan perwakilan angka yang diberikan oleh sprintf().

Contoh: Penomboran lebih selamat

settype($offset, "integer");

$query = "PILIH id, nama DARI produk PESANAN MENGIKUT nama LIMIT 20 OFFSET $offset;";

// tanda %d dalam rentetan format, menggunakan %s tidak berguna

$query = sprintf("PILIH id, nama DARI produk PESANAN MENGIKUT nama LIMIT 20 OFFSET %d;",

Sebarang input bukan angka yang dihantar ke pangkalan data mesti didahului oleh fungsi addslashes() atau addcslashes(). Contoh pertama menunjukkan bahawa petikan dalam bahagian statik pertanyaan tidak mencukupi.

Tiada maklumat tentang struktur pangkalan data boleh dipaparkan dalam sebarang cara.

Anda boleh menggunakan prosedur tersimpan dan lokasi yang dipratentukan untuk memisahkan akses data daripada program supaya pengguna tidak mempunyai akses terus kepada jadual dan paparan, tetapi pilihan ini mempunyai masalahnya sendiri.

Di samping itu, adalah perlu untuk menyimpan log operasi dalam program atau dalam pangkalan data itu sendiri, jika disokong. Pembalakan tidak akan menghalang suntikan, tetapi ia akan membantu menentukan bahagian mana program telah terjejas. Log itu sendiri tidak berguna - maklumat yang disimpan di dalamnya berguna. Lebih banyak, lebih baik.

Kesimpulan

Sehingga kini, pangkalan data adalah komponen utama kebanyakan aplikasi web, membolehkan anda menyediakan di tapak kandungan dinamik. Oleh kerana pangkalan data sedemikian boleh menyimpan sangat tepat atau maklumat sulit, anda mesti memastikan perlindungan data yang baik.

Untuk mendapatkan semula atau menyimpan sebarang data, anda perlu membuka sambungan pangkalan data, menghantar pertanyaan yang sah, mendapatkan semula hasilnya dan menutup sambungan. Pada masa ini, standard komunikasi yang paling biasa ialah Structured Query Language (SQL). Anda harus sentiasa sedar tentang kemungkinan serangan melalui pertanyaan SQL.

Jelas sekali, PHP sahaja tidak dapat menjamin pangkalan data anda. Bahagian dokumentasi ini merangkumi asas akses selamat dan pengurusan data dalam skrip PHP.

Ingat peraturan mudah: perlindungan maksimum. Lebih banyak kawasan sistem yang berpotensi berbahaya yang anda lakukan, lebih sukar bagi penyerang berpotensi untuk mendapatkan akses kepada pangkalan data atau merosakkannya. Reka bentuk pangkalan data yang baik dan aplikasi perisian membantu anda menangani ketakutan anda.

Langkah pertama ialah sentiasa mencipta pangkalan data, melainkan anda ingin menggunakan pangkalan data pra-bina yang disediakan oleh pihak ketiga. Selepas pangkalan data dicipta, ia diberikan kepada pengguna yang melaksanakan pertanyaan yang mencipta pangkalan data. Biasanya, hanya pemilik (atau superuser) boleh melakukan pelbagai tindakan pada pelbagai objek yang disimpan dalam pangkalan data. Untuk membolehkan pengguna lain mendapat akses kepadanya, mereka mesti diberi keistimewaan yang sesuai.

Aplikasi tidak boleh menyambung ke pangkalan data menggunakan akaun pemilik atau superuser, jika tidak, mereka akan dapat mengubah suai struktur jadual (contohnya, memadam beberapa jadual) atau bahkan memadamkan keseluruhan kandungan pangkalan data.

Anda boleh mencipta akaun pengguna pangkalan data yang berbeza untuk setiap keperluan aplikasi individu, dengan had fungsi yang sesuai. Adalah disyorkan untuk memberikan hanya keistimewaan yang paling diperlukan, dan anda harus mengelakkan situasi di mana pengguna yang sama boleh berinteraksi dengan pangkalan data dalam beberapa mod. Anda mesti faham bahawa jika penyerang boleh menggunakan mana-mana akaun pangkalan data anda, ia akan dapat membuat semua perubahan yang sama pada pangkalan data seperti program yang menggunakan akaun semasa.

Ia tidak perlu untuk melaksanakan semua logik perniagaan dalam aplikasi web (iaitu dalam skrip), untuk ini anda juga boleh menggunakan ciri yang disediakan oleh pangkalan data: pencetus, pandangan, peraturan. Jika sistem berkembang, anda memerlukan sambungan pangkalan data baharu, dan logik kerja perlu diduplikasi untuk setiap antara muka akses baharu. Berdasarkan perkara di atas, pencetus boleh digunakan untuk memproses rekod secara telus dan automatik, yang selalunya diperlukan semasa menyahpepijat aplikasi atau semasa mengesan pemulangan transaksi.

Bergantung pada sistem pengendalian yang digunakan, adalah perlu untuk menyediakan kemungkinan untuk menyerang pelbagai fail, termasuk fail sistem peranti (/dev/ atau COM1), fail konfigurasi(cth fail /etc/ atau .ini), kawasan storan yang terkenal (/home/, My Documents), dan sebagainya. Berdasarkan ini, biasanya lebih mudah untuk melaksanakan dasar keselamatan yang melarang segala-galanya kecuali apa yang dibenarkan secara jelas.

Oleh kerana DBA perusahaan tidak selalu dapat menumpukan masa yang mereka perlukan untuk keselamatan, sesetengah syarikat mengambil langkah yang lebih proaktif. Mereka melepaskan pekerja ini daripada tugas biasa mereka dan memasukkan mereka dalam pasukan keselamatan IT.

Mewujudkan kedudukan sedemikian menyelesaikan dua masalah sekaligus: Pakar keselamatan IT yang tidak mempunyai banyak pengetahuan dalam bidang pangkalan data boleh menggunakan bantuan profesional, dan pentadbir pangkalan data mendapat peluang untuk memfokuskan aktiviti mereka pada isu keselamatan maklumat dan menerima latihan yang diperlukan untuk memastikan keselamatan pangkalan data korporat.

Senarai sumber yang digunakan

1. Boychenko I. A. Mereka bentuk komponen persekitaran yang dipercayai DBMS hubungan berdasarkan teknologi CASE [Teks] / I. A. Boychenko - Voronezh, 2014. - 251 p.

2.Borri H. Firebird: panduan pekerja pangkalan data [Teks]: per. dari bahasa Inggeris. / H. Bori. - St. Petersburg: BHV - Petersburg, 2012. - 1104 p.

3.Bronevshchuk E.S. Sistem pengurusan pangkalan data [Teks] / E.S. Bronevshchuk, V. I. Burdakov, L. I. Gukov. - M.: Kewangan dan statistik, 2013. - 634 p.

4. Goncharov A. Yu. Access 2007. Buku rujukan dengan contoh [Teks] / A. Yu. Goncharov. - M.: KUDITS - AKHBAR, 2011. - 296s.

5. Tarikh K. Pengenalan kepada sistem pangkalan data [Teks] / K. Date 7th ed. - M.: St. Petersburg: Williams, 2013. - 325p.

6. Kalenik A. Penggunaan kemungkinan baru MS Pelayan SQL 2005 [Teks] / A. Kalenik. - St. Petersburg: Peter, 2013. - 334 p.

7. Connolly T. Pangkalan Data. Reka bentuk, pelaksanaan dan sokongan. Teori dan amalan [Teks] / T. Connolly, L Begg, A. Stragan 2nd ed. - M.: Williams, 2012. - 476s.

8. Motev, A. A. Pelajaran daripada My SQL. Manual arahan kendiri [Teks] / A. A. Motev. - St. Petersburg: BHV - Petersburg, 2013. - 208s.

9. Oppel E. Mendedahkan rahsia SQL [Teks]: per. dari bahasa Inggeris. / E. Opel, Jim Kiu, D. A. Terentyeva. - M.: NT Press, 2012. - 320s.

10. Promakhina I. M. Rangkaian DBMS (PC) antara muka dengan bahasa peringkat tinggi [Teks] / I. M. Promakhina - M.: CC RAS, 2011.- 874p.

11. E. V. Fufaev, Pangkalan Data; [Teks] / E. V. Fufaev, D. E. Fufaev - Akademi - Moscow, 2013. - 320 p.

12. Frost, R. Pangkalan Data. Reka bentuk dan pembangunan [Teks]: per. dari bahasa Inggeris. / R. Frost, D. Day, K. Van Slyk, A. Yu. Kukharenko. - M.: NT Press, 2007. - 592 hlm.

Lampiran A

Rajah A.1 - Seni bina yang digunakan untuk mencipta halaman Web

Lampiran B

Rajah B.1 - Skim keselamatan maklumat

Dihoskan di Allbest.ru

...

Dokumen Serupa

    Asas keselamatan data peribadi. Klasifikasi ancaman kepada keselamatan maklumat data peribadi, ciri-ciri sumbernya. Pangkalan data data peribadi. Kawalan dan pengurusan akses. Pembangunan langkah untuk melindungi data peribadi di bank.

    tesis, ditambah 03/23/2018

    Pertimbangan masalah memastikan kebenaran penggunaan maklumat dalam pangkalan data (perlindungan data daripada pengubahsuaian yang tidak diingini, pemusnahan, jangkitan oleh virus) dan peraturan undang-undang keselamatan pada contoh DBMS Ms SQL.

    kertas penggal, ditambah 30/03/2010

    Apakah pangkalan data, visualisasi maklumat pangkalan data. Struktur dan sifat asas yang paling mudah data. Ciri-ciri definisi, jenis data, keselamatan, spesifik pembentukan pangkalan data. Pendekatan Reka Bentuk terma rujukan. Bekerja dengan meja.

    pembentangan, ditambah 11/12/2010

    Bentuk maklumat yang dikemukakan. Jenis utama model data yang digunakan. Tahap proses maklumat. Carian maklumat dan carian data. Storan rangkaian. Masalah pembangunan dan penyelenggaraan gudang data. Teknologi pemprosesan data.

    kuliah, ditambah 19/08/2013

    Entiti dan kebergantungan fungsi pangkalan data. Atribut dan hubungan. Jadual pangkalan data. Membina gambar rajah ER. Organisasi kemasukan dan pembetulan data. Skema pangkalan data hubungan. Pelaksanaan permintaan, menerima laporan. Perlindungan pangkalan data.

    kertas penggal, ditambah 02/06/2016

    Jenis asas pangkalan data. Sistem Pengurusan Pengkalan data. Analisis aktiviti dan maklumat yang diproses di klinik. Komposisi jadual dalam pangkalan data dan hubungannya. Kaedah mengisi pangkalan data dengan maklumat. Algoritma penciptaan pangkalan data.

    kertas penggal, ditambah 17/12/2014

    Evolusi konsep pangkalan data. Keperluan yang mesti dipenuhi oleh organisasi pangkalan data. Model perwakilan data. Bahasa SQL seperti bahasa standard pangkalan data. Seni bina pangkalan data. Persekitaran Delphi sebagai alat untuk membangunkan DBMS.

    tesis, ditambah 11/26/2004

    Konsep pangkalan data, model data. Klasifikasi pangkalan data. Sistem pengurusan pangkalan data. Peringkat, pendekatan kepada reka bentuk pangkalan data. Pembangunan pangkalan data yang akan mengautomasikan penyelenggaraan dokumentasi yang diperlukan untuk aktiviti Sekolah Sukan Kanak-Kanak dan Belia.

    kertas penggal, ditambah 06/04/2015

    Proses pemprosesan maklumat. Kecekapan sistem maklumat automatik. Sistem Pengurusan Pengkalan data. Tempatan dan sistem teragih bank dan pangkalan data. Peringkat reka bentuk pangkalan data. Perbezaan antara tahap persembahan data.

    ujian, ditambah 07/07/2015

    Reka bentuk asas Akses data. Sistem Pengurusan Pengkalan data. Penciptaan dan penyelenggaraan pangkalan data, menyediakan akses kepada data dan pemprosesannya. Menetapkan matlamat dan objektif, fungsi utama yang dilakukan oleh pangkalan data. Jenis asas pangkalan data.

5.1. Kaedah Keselamatan

DBMS moden menyokong satu daripada dua pendekatan yang diterima secara meluas untuk isu keselamatan data, iaitu pendekatan terpilih atau pendekatan mandatori. Dalam kedua-dua pendekatan, unit data atau "objek data" yang mana sistem keselamatan akan dicipta boleh sama ada keseluruhan pangkalan data atau mana-mana set perhubungan, atau beberapa nilai data untuk atribut tertentu dalam beberapa tuple dalam perhubungan tertentu. Pendekatan ini berbeza dalam sifat berikut:

1. Dalam kes kawalan terpilih, pengguna tertentu mempunyai hak (keistimewaan atau kuasa) yang berbeza apabila bekerja dengan objek yang berbeza. Lebih-lebih lagi, pengguna yang berbeza biasanya mempunyai hak akses yang berbeza kepada objek yang sama. Oleh itu, skim pilihan raya dicirikan oleh fleksibiliti yang besar.

2. Dalam kes kawalan mandatori, sebaliknya, setiap objek data diberikan tahap klasifikasi tertentu, dan setiap pengguna mempunyai tahap pelepasan tertentu. Oleh itu, dengan pendekatan ini, hanya pengguna yang mempunyai tahap keselamatan yang sesuai mempunyai akses kepada objek data tertentu. Oleh itu, skim mandatori agak tegar dan statik.

Tidak kira skim mana yang digunakan - terpilih atau wajib, semua keputusan mengenai penerimaan pengguna untuk melaksanakan operasi tertentu dibuat pada tahap strategik, bukan teknikal. Oleh itu, mereka berada di luar jangkauan DBMS itu sendiri, dan semua yang DBMS boleh lakukan dalam keadaan sedemikian hanyalah untuk melaksanakan keputusan yang telah dibuat. Berdasarkan ini, perkara berikut dapat diperhatikan:

Pertama sekali. keputusan keputusan strategik mesti diketahui oleh sistem (iaitu berdasarkan tuntutan yang ditentukan menggunakan beberapa bahasa yang sesuai) dan disimpan di dalamnya (dengan menyimpannya dalam direktori sebagai peraturan keselamatan, juga dipanggil kebenaran).

Kedua. Jelas sekali, mesti ada beberapa cara untuk mengawal selia permintaan akses berhubung dengan peraturan keselamatan yang sesuai. (Di sini, "permintaan, akses" merujuk kepada gabungan operasi yang diminta, objek yang diminta dan pengguna yang meminta.) Semakan ini dilakukan oleh subsistem keselamatan DBMS, juga dipanggil subsistem autoriti.

Ketiga. Untuk mengetahui peraturan keselamatan yang digunakan untuk permintaan akses, sistem mesti menyediakan cara untuk mengenal pasti sumber permintaan ini, i.e. pengenalan pengguna yang meminta. Oleh itu, pada masa log masuk, pengguna biasanya dikehendaki memasukkan bukan sahaja pengecamnya (contohnya, nama atau kedudukan), tetapi juga kata laluan (untuk mengesahkan haknya terhadap data pengenalan yang diisytiharkan sebelum ini). Secara umumnya diandaikan bahawa kata laluan hanya diketahui oleh sistem dan sesetengah orang yang mempunyai hak istimewa.



Dalam perhubungan titik terakhir perlu diingat bahawa pengguna yang berbeza boleh mempunyai pengecam yang sama bagi sesetengah kumpulan. Oleh itu, kumpulan pengguna boleh disokong dalam sistem dan hak akses yang sama boleh disediakan untuk pengguna satu kumpulan, contohnya, untuk semua orang dari jabatan perakaunan. Di samping itu, menambah operasi pengguna individu kepada kumpulan atau penyingkiran mereka daripadanya boleh dilakukan tanpa mengira operasi penetapan keistimewaan untuk kumpulan ini. Walau bagaimanapun, ambil perhatian bahawa maklumat keahlian kumpulan juga disimpan dalam direktori sistem(atau mungkin pangkalan data).

Kaedah kawalan capaian yang disenaraikan di atas sebenarnya adalah sebahagian daripada klasifikasi tahap keselamatan yang lebih umum. Pertama sekali, dokumen ini mentakrifkan empat kelas keselamatan (D, C, B, dan A). Antaranya, kelas D adalah paling kurang selamat, kelas C lebih selamat daripada kelas D, dan seterusnya. Kelas D menyediakan perlindungan minimum, kelas C adalah terpilih, kelas B adalah wajib, dan kelas A adalah perlindungan yang terbukti.

Pertahanan terpilih. Kelas C dibahagikan kepada dua subkelas, C1 dan C2 (di mana subkelas C1 kurang selamat berbanding subkelas C2), yang menyokong kawalan capaian terpilih dalam erti kata kawalan capaian adalah mengikut budi bicara pemilik data.

Mengikut keperluan kelas C1, adalah perlu untuk memisahkan data dan pengguna, i.e. bersama-sama dengan menyokong konsep akses bersama kepada data, ia juga mungkin untuk mengatur penggunaan data yang berasingan oleh pengguna.

Mengikut keperluan kelas C2, adalah perlu untuk mengatur perakaunan tambahan berdasarkan prosedur untuk log masuk, pengauditan dan pengasingan sumber.

Perlindungan wajib. Kelas B mengandungi keperluan untuk kaedah kawalan capaian mandatori dan dibahagikan kepada tiga subkelas - B1, B2 dan B3 (di mana B1 adalah yang paling sedikit dan B3 ialah subkelas yang paling selamat).

Kelas B1 memerlukan "keselamatan yang ditanda" (bermaksud bahawa setiap objek data mesti mengandungi tanda tentang tahap pengelasannya, contohnya: rahsia, sulit, dsb.), serta mesej tidak rasmi tentang dasar keselamatan semasa.

Mengikut keperluan kelas B2, adalah perlu untuk memberikan kenyataan rasmi tentang strategi keselamatan semasa, serta mengesan dan mengecualikan saluran penghantaran maklumat yang kurang dilindungi.

Kelas B3 memerlukan sokongan tambahan untuk pengauditan dan pemulihan data, serta pelantikan pentadbir mod keselamatan.

Perlindungan yang terbukti. Kelas A adalah yang paling selamat dan, mengikut keperluannya, bukti matematik diperlukan bahawa kaedah keselamatan yang diberikan adalah serasi dan mencukupi untuk strategi keselamatan yang diberikan.

Walaupun sesetengah DBMS komersial menyediakan keselamatan mandatori pada tahap B1, mereka biasanya menyediakan kawalan terpilih pada tahap C2.

5.2. Kawalan akses terpilih

Kawalan capaian terpilih disokong oleh banyak DBMS. Kawalan capaian terpilih disokong dalam bahasa SQL.

Secara umum, sistem keselamatan DBMS tersebut adalah berdasarkan tiga komponen:

1. Pengguna. DBMS melakukan sebarang tindakan dengan pangkalan data bagi pihak sesetengah pengguna. Setiap pengguna diberikan pengecam - nama pendek yang mengenal pasti pengguna secara unik dalam DBMS. Kata laluan digunakan untuk mengesahkan bahawa pengguna boleh bekerja dengan ID yang dimasukkan. Oleh itu, dengan bantuan pengecam dan kata laluan, pengguna dikenal pasti dan disahkan. Kebanyakan DBMS komersial membolehkan anda menyusun pengguna dengan keistimewaan yang sama ke dalam kumpulan, yang memudahkan proses pentadbiran.

2. Objek DB. Menurut standard SQL2, objek boleh selamat dalam pangkalan data ialah jadual, pandangan, domain dan ditentukan pengguna set watak. Kebanyakan DBMS komersial memanjangkan senarai objek dengan menambahkan prosedur tersimpan dan objek lain padanya.

3. Keistimewaan. Keistimewaan menunjukkan satu set tindakan yang boleh dilakukan pada objek tertentu. Sebagai contoh, pengguna mempunyai keistimewaan untuk melihat jadual.

5.3. Kawalan Capaian Mandatori

Kaedah kawalan capaian mandatori digunakan pada pangkalan data di mana data mempunyai struktur yang agak statik atau tegar, tipikal, contohnya, organisasi kerajaan atau tentera. Seperti yang telah dinyatakan, idea utama ialah setiap objek data mempunyai beberapa tahap pengelasan, contohnya: rahsia, rahsia besar, terhad, dll., dan setiap pengguna mempunyai tahap pelepasan dengan penggredan yang sama seperti dalam klasifikasi tahap. Diandaikan bahawa tahap ini membentuk susunan hierarki yang ketat, contohnya: rahsia teratas ® rahsia ® untuk kegunaan rasmi, dsb. Kemudian, berdasarkan maklumat ini, dua peraturan keselamatan yang sangat mudah boleh dirumuskan:

1. Pengguna mempunyai akses kepada objek hanya jika tahap kelegaan mereka lebih besar daripada atau sama dengan tahap pengelasan objek.

2. Pengguna hanya boleh mengubah suai objek jika tahap kelegaannya sama dengan tahap pengelasan objek.

Peraturan 1 agak jelas, manakala Peraturan 2 memerlukan penjelasan lanjut. Pertama sekali, perlu diingatkan bahawa dengan cara lain peraturan kedua boleh dirumuskan seperti berikut: sebarang maklumat yang direkodkan oleh sesetengah pengguna secara automatik memperoleh tahap yang sama dengan tahap klasifikasi pengguna ini. Peraturan sedemikian adalah perlu, sebagai contoh, untuk menghalang pengguna yang mempunyai pelepasan keselamatan "rahsia" daripada menulis data rahsia ke fail dengan tahap klasifikasi yang lebih rendah, yang melanggar keseluruhan sistem kerahsiaan.

DALAM Kebelakangan ini Kaedah kawalan capaian mandatori telah meluas. Keperluan untuk kawalan capaian ini dinyatakan dalam dua dokumen secara tidak rasmi dirujuk sebagai Buku Jingga dan Buku Lavender. Buku jingga menyenaraikan satu set keperluan keselamatan untuk "Pangkalan Pengkomputeran Dipercayai", manakala buku merah jambu mentafsir keperluan ini untuk sistem pengurusan pangkalan data.

5.4. Penyulitan data

Setakat ini dalam bab ini, telah diandaikan bahawa pengguna haram yang didakwa cuba menceroboh pangkalan data secara haram menggunakan cara capaian biasa yang terdapat pada sistem. Sekarang kita harus mempertimbangkan kes apabila pengguna sedemikian cuba menembusi pangkalan data memintas sistem, i.e. memindahkan sebahagian pangkalan data secara fizikal atau menyambung ke saluran komunikasi. Paling kaedah yang berkesan memerangi ancaman tersebut ialah penyulitan data, i.e. penyimpanan dan penghantaran data yang sangat penting dalam bentuk yang disulitkan.

Untuk membincangkan konsep asas pengekodan data, beberapa konsep baharu perlu diperkenalkan. Data asal (tidak berkod) dipanggil teks biasa. Teks biasa disulitkan menggunakan algoritma penyulitan khas. Input kepada algoritma ini ialah teks biasa dan kunci penyulitan, dan output ialah bentuk teks biasa yang disulitkan, yang dipanggil teks sifir. Jika butiran algoritma penyulitan boleh didedahkan kepada umum, atau sekurang-kurangnya tidak dirahsiakan, maka kunci penyulitan semestinya dirahsiakan. Ia adalah teks sifir, yang tidak dapat difahami oleh mereka yang tidak mempunyai kunci penyulitan, yang disimpan dalam pangkalan data dan dihantar melalui saluran komunikasi.

5.5. Jejak audit bagi operasi yang dilakukan

Adalah penting untuk memahami bahawa tiada sistem keselamatan yang kebal, kerana potensi penceroboh yang berterusan akan sentiasa dapat mencari jalan untuk mengatasi semua sistem kawalan, terutamanya jika ganjaran yang cukup tinggi ditawarkan untuk ini. Oleh itu, apabila bekerja dengan data yang sangat penting atau semasa menjalankan operasi kritikal, adalah perlu untuk merekodkan jejak audit bagi operasi yang dilakukan. Jika, sebagai contoh, ketidakkonsistenan dalam data membawa kepada syak wasangka bahawa terdapat gangguan pada pangkalan data, maka jejak audit harus digunakan untuk menjelaskan keadaan dan mengesahkan bahawa semua proses adalah terkawal. Jika ini tidak berlaku, maka jejak audit akan membantu, sekurang-kurangnya, untuk mengesan penceroboh.

Untuk mengekalkan jejak audit, fail khas biasanya digunakan, di mana sistem secara automatik merekodkan semua operasi yang dilakukan oleh pengguna apabila bekerja dengan pangkalan data biasa. Entri biasa dalam fail jejak audit mungkin mengandungi maklumat berikut:

2. terminal dari mana operasi itu dipanggil;

3. pengguna yang menyatakan operasi;

4. tarikh dan masa permulaan operasi;

5. hubungan asas, tupel dan atribut yang terlibat dalam pelaksanaan operasi;

6. nilai lama;

7. nilai baharu.

Seperti yang dinyatakan sebelum ini, walaupun kenyataan fakta bahawa pengawasan disokong dalam sistem tertentu dalam beberapa kes sangat penting untuk menghalang kemasukan tanpa kebenaran ke dalam sistem.

5.6. Sokongan untuk langkah keselamatan dalam bahasa SQL

Standard bahasa SQL semasa hanya menyokong kawalan akses terpilih. Ia berdasarkan dua lebih atau kurang bahagian bebas SQL. Salah satu daripadanya dipanggil mekanisme pandangan, yang (seperti yang dinyatakan di atas) boleh digunakan untuk menyembunyikan data yang sangat sensitif daripada pengguna yang tidak dibenarkan. Yang lain dipanggil subsistem kebenaran, dan memberi sesetengah pengguna hak untuk secara terpilih dan dinamik memberikan pelbagai kebenaran kepada pengguna lain, serta mengambil keizinan tersebut jika perlu.

5.7. GERAN dan BATALKAN arahan

Mekanisme perwakilan SQL membolehkan cara yang berbeza pecahkan pangkalan data kepada beberapa bahagian sedemikian rupa sehingga beberapa maklumat disembunyikan daripada pengguna yang tidak mempunyai hak untuk mengaksesnya. Walau bagaimanapun, mod ini tidak ditetapkan menggunakan parameter operasi, berdasarkan pengguna yang dibenarkan melakukan tindakan tertentu dengan sekeping data tertentu. Fungsi ini (seperti yang ditunjukkan di atas) dilakukan menggunakan arahan GRANT.

Ambil perhatian bahawa pencipta sebarang objek secara automatik diberikan semua keistimewaan pada objek itu.

Standard SQL1 mentakrifkan keistimewaan berikut untuk jadual:

1. PILIH - membolehkan anda membaca data daripada jadual atau paparan;

INSERT - membolehkan anda memasukkan rekod baharu ke dalam jadual atau paparan;

KEMASKINI - membolehkan anda mengubah suai rekod daripada jadual atau paparan;

PADAM - membolehkan anda memadam rekod daripada jadual atau paparan.

Standard SQL2 mengembangkan senarai keistimewaan untuk jadual dan paparan:

1. INSERT pada lajur individu, serupa dengan keistimewaan KEMASKINI;

2. RUJUKAN - untuk sokongan kunci asing.

Sebagai tambahan kepada yang disenaraikan di atas, keistimewaan USAGE telah ditambah - untuk objek pangkalan data lain.

Selain itu, kebanyakan DBMS komersial menyokong keistimewaan tambahan, seperti:

1. ALTER - membolehkan anda mengubah suai struktur jadual (DB2, Oracle);

2. EXECUTE - membolehkan anda melaksanakan prosedur tersimpan.

Pencipta objek juga mendapat hak untuk memberikan keistimewaan akses kepada beberapa pengguna lain menggunakan pernyataan GRANT. Berikut ialah sintaks pernyataan GRANT:

GERAN (PILIH|MASUKKAN|PADAM|(KEMASKINI lajur, ...)), ...

DI meja penyelenggaraan (pengguna | AWAM)

Keistimewaan Sisipkan (INSERT) dan kemas kini (KEMASKINI) (tetapi bukan keistimewaan pilih SELECT, yang sangat pelik) boleh ditetapkan pada lajur yang ditakrifkan khas.

Jika arahan WITH GRANT OPTION ditentukan, ini bermakna pengguna yang ditentukan mempunyai kebenaran khas untuk objek yang diberikan - hak untuk memberikan kebenaran. Ini, seterusnya, bermakna mereka boleh memperkasakan pengguna lain untuk bekerja dengan objek ini.

Contohnya: berikan pengguna Ivanov kebenaran untuk memilih dan mengubah suai nama keluarga dalam jadual Pelajar dengan hak untuk memberikan kebenaran.

PILIHAN GERAN, KEMASKINI

PADA Pelajar KE Ivanov DENGAN PILIHAN GERAN

Jika pengguna A memberikan beberapa kebenaran kepada pengguna B yang lain, maka dia kemudiannya boleh membatalkan kebenaran tersebut untuk pengguna B. Membatalkan kebenaran dilakukan menggunakan arahan REVOKE dengan sintaks berikut.

BATALKAN ((PILIH | MASUKKAN | PADAM | KEMASKINI),…|SEMUA KEISTIMEWAAN)

DI atas meja, ... DARI (pengguna | AWAM), ... (CASCADE | TERHAD)

Memandangkan pengguna yang daripadanya keistimewaan dialih keluar boleh memberikannya kepada pengguna lain (jika dia mempunyai hak untuk memberikan keistimewaan), situasi keistimewaan yang ditinggalkan mungkin berlaku. Tujuan utama pilihan RESTRICT dan CASCADE adalah untuk mengelakkan situasi pelepasan keistimewaan. Menetapkan pilihan HAD menghalang operasi pembatalan keistimewaan daripada dilakukan jika ia mengakibatkan keistimewaan yang dilepaskan. Pilihan CASCADE menentukan secara berurutan membatalkan semua keistimewaan yang diperoleh daripada yang satu ini.

Contohnya: keluarkan daripada pengguna Ivanov kebenaran untuk mengubah suai nama akhir dalam jadual Pelajar. Alih keluar juga keistimewaan ini daripada semua pengguna yang diberikan oleh Ivanov.

PADA Pelajar DARI Ivanov CASCADE

Memadamkan domain, jadual, lajur atau paparan secara automatik mengalih keluar semua keistimewaan pada objek tersebut daripada semua pengguna.

5.8. Perwakilan dan Keselamatan

Dengan mencipta paparan dan memberi pengguna kebenaran untuk mengaksesnya dan bukannya jadual asal, anda boleh mengehadkan akses pengguna kepada hanya lajur atau rekod yang ditentukan. Oleh itu, perwakilan membenarkan kawalan penuh mengenai data yang tersedia untuk pengguna tertentu.

Kesimpulan

Untuk meminimumkan risiko kerugian, adalah perlu untuk melaksanakan satu set langkah perlindungan pengawalseliaan, organisasi dan teknikal, pertama sekali: pengenalan kawalan akses berasaskan peranan, organisasi akses pengguna semasa pembentangan sijil digital, dan dalam jangka pendek - penyelesaian industri untuk penyulitan terpilih dan penggunaan algoritma GOST untuk menyulitkan pangkalan segmen terpilih.

Untuk penyelesaian yang lengkap masalah perlindungan data pentadbir keselamatan seharusnya dapat memantau tindakan pengguna, termasuk mereka yang mempunyai hak pentadbir. Memandangkan sistem audit biasa tidak mempunyai perlindungan yang mencukupi, adalah perlu untuk sistem bebas, yang melindungi rangkaian korporat bukan sahaja dari luar, tetapi juga dari dalam. Pada masa hadapan, kaedah standard juga harus muncul untuk penyelesaian yang komprehensif kepada masalah melindungi pangkalan data untuk perusahaan pelbagai saiz - dari kecil hingga diedarkan secara geografi.

  • Dudkina Anastasia Sergeevna, bujang, pelajar
  • Universiti Agraria Negeri Bashkir
  • PERLINDUNGAN
  • PHPMYADMIN
  • MySQL
  • PANGKALAN DATA

Artikel tersebut membincangkan bidang utama perlindungan data yang disimpan atau diproses dalam sistem pengurusan pangkalan data (DBMS). Menghuraikan cara untuk melindungi kerahsiaan dan integriti maklumat menggunakan alat yang mudah digunakan yang terbina dalam DBMS.

  • Teknologi maklumat interaksi dalam kerajaan perbandaran
  • Pada beberapa sifat struktur lanjutan pada taburan manifold Bimetrik
  • Pada kelas struktur Dwimetrik lanjutan pada taburan manifold sub-Riemannian
  • Perwakilan visual data statistik menggunakan carta gelembung

Pada masa ini, hampir tiada organisasi moden boleh melakukannya tanpa menggunakan pangkalan data dalam aktiviti mereka. Pangkalan data (DB) adalah aset yang paling penting dan bernilai bagi mana-mana syarikat. Memandangkan maklumat yang sangat sensitif atau sulit boleh disimpan dalam pangkalan data, perlindungannya mesti diambil dengan sangat serius. Sebarang kegagalan dalam pengendalian DBMS dan pangkalan data boleh membawa kepada akibat bencana.

Cara utama untuk melindungi maklumat termasuk yang berikut:

  • perlindungan kata laluan;
  • perlindungan medan dan rekod jadual pangkalan data.
  • mewujudkan hak akses kepada objek pangkalan data;
  • penyulitan data dan program;

Perlindungan pangkalan data dilakukan pada dua peringkat:

  • pada tahap kata laluan;
  • di peringkat pengguna (perlindungan akaun pengguna dan objek yang dikenal pasti).

PHPMyAdmin ialah program yang ditulis dalam PHP dan direka bentuk untuk mengurus pelayan MySQL melalui web seluruh dunia. phpMyAdmin menyokong pelbagai operasi MySQL. Operasi yang paling biasa digunakan disokong dengan antaramuka pengguna(mengurus pangkalan data, jadual, medan, perhubungan, indeks, pengguna, hak, dsb.), pada masa yang sama anda boleh melaksanakan sebarang Pertanyaan SQL.

Memastikan keselamatan maklumat projek yang dibangunkan dijalankan di beberapa peringkat. Pada peringkat pertama, perlindungan maklumat disediakan oleh sistem phpMyAdmin itu sendiri, bermula dari pintu masuk ke panel kawalan, di mana panel memerlukan anda memasukkan log masuk dan kata laluan.

Tahap perlindungan seterusnya disediakan oleh DBMS MySQL, juga mengehadkan hak akses.


Rajah 2. Gambaran keseluruhan akaun

Di samping itu, ia juga mungkin untuk menyekat akses bukan sahaja kepada sistem pengurusan pangkalan data itu sendiri, tetapi juga secara berasingan kepada pangkalan data, kepada jadual pangkalan data, kepada rekod jadual tertentu, dan juga kepada jadual atau rekod nilai medan. Perlu diingatkan bahawa fungsi penyulitan terbina dalam tidak terdapat dalam semua DBMS. Oleh itu, kaedah ini tidak boleh dipanggil universal. DBMS ini menawarkan dua set fungsi penyulitan yang sama, satu daripadanya melaksanakan algoritma DES, dan satu lagi - AES. Selain itu, MySQL melaksanakan beberapa algoritma pencincangan. Set fungsi kriptografi DBMS ini kelihatan seperti ini:

Jadual 1. Fungsi kriptografi DBMS

Fungsi penyulitan data AES menggunakan kunci penyulitan 128-bit, iaitu penyulitan dengan kunci AES 192 dan 256-bit tidak dilaksanakan dalam MySQL. Kunci penyulitan dinyatakan secara eksplisit sebagai salah satu parameter fungsi. Sebaliknya, fungsi DES_ENCRYPT() dan DES_DECRYPT(), yang menyulitkan menggunakan algoritma TripleDES, selain menyatakan kunci penyulitan secara eksplisit, membenarkan pilihan yang paling mudah pengurusan utama dalam borang fail kunci A yang mengandungi nilai kunci terhitung. Walau bagaimanapun, fungsi ini dilumpuhkan secara lalai; untuk menggunakannya, anda mesti mendayakan sokongan protokol SSL dalam konfigurasi DBMS.

Fungsi ENCRYPT() hanya boleh digunakan pada sistem pengendalian Keluarga Unix kerana ia menyulitkan data dengan panggilan sistem crypto(). Mengenai fungsi cincang yang digunakan, dokumentasi MySQL memberi amaran bahawa algoritma asas digodam (ini diperincikan khususnya dalam , jadi ia harus digunakan dengan berhati-hati. Walau bagaimanapun, MySQL belum lagi menawarkan pencincangan fungsi yang lebih mantap dan bukannya yang sedia ada. fungsi kriptografi juga agak mudah digunakan. Sebagai contoh, pertanyaan berikut memasukkan ke dalam jadual jadual nilai “teks” yang disulitkan dengan kunci “kata laluan” : INSERT IN TO table VALUES (1, AES_ENCRYPT("text", "password")); Ambil perhatian bahawa format medan di mana nilai yang disulitkan ditulis mesti mematuhi sekatan yang dikenakan oleh algoritma kripto yang digunakan - dalam kes ini, ia mestilah binari (contohnya, jenis VARBINAR) dan anggap penjajaran mengikut saiz blok 128-bit algoritma AES.

Sistem perlindungan pangkalan data memainkan peranan penting dalam mengautomasikan kawalan ke atas tindakan pengguna yang bekerja dengan pangkalan data, melindungi daripada luaran dan ancaman dalaman dan meningkatkan kebolehpercayaan fungsi pangkalan data.

Bibliografi

  1. Melnikov, V.P. Keselamatan maklumat dan perlindungan maklumat. / V.P. Melnikov,
  2. S.A. Kleymenov, A.M. Petrakov // ed. ke-3, ster. - M.: Akademi, 2008. - 336 p.
  3. Panasenko S.P. Perlindungan maklumat yang komprehensif. // Teknologi maklumat. -2001 - No. 3 - hlm. 14-16
  4. Program kerja disiplin "Keselamatan maklumat": arah penyediaan 080500 Informatika perniagaan [ sumber elektronik] : profil latihan Sistem maklumat dalam perniagaan: kelayakan (ijazah) lulusan Sarjana Muda / Bashkir State Agrarian University, [Jabatan. informatika dan teknologi maklumat; kompaun A. R. Basyrov]. - Ufa: [b. dan.], 2013. - 16 p. - B. c.
  5. laman web Aplikasi web PHP"phpMyAdmin" [Sumber elektronik]. – Mod akses: http://www.phpmyadmin.net/home_page/ , percuma

Sistem pengurusan pangkalan data telah menjadi alat utama untuk menyimpan sejumlah besar maklumat. Aplikasi maklumat moden bergantung terutamanya pada DBMS berbilang pengguna. Dalam hal ini, perhatian sedang diberikan kepada masalah memastikan keselamatan maklumat, yang menentukan tahap keselamatan organisasi, institusi secara keseluruhan.

Keselamatan maklumat difahamkan sebagai perlindungan maklumat daripada kesan tidak sengaja dan disengajakan yang bersifat semula jadi atau buatan, penuh dengan kerosakan kepada pemilik atau pengguna maklumat.

Untuk melindungi maklumat dalam pangkalan data, aspek keselamatan maklumat yang paling penting (kriteria Eropah):

keadaan capaian (keupayaan untuk menerima beberapa perkhidmatan maklumat yang diperlukan);

integriti (ketekalan maklumat, perlindungannya daripada kemusnahan dan perubahan yang tidak dibenarkan);

kerahsiaan (perlindungan terhadap bacaan yang tidak dibenarkan).

Masalah memastikan keselamatan maklumat adalah rumit, jadi penyelesaiannya harus dipertimbangkan tahap yang berbeza: perundangan, pentadbiran, prosedur dan perisian dan teknikal. Pada masa ini, masalah pembangunan rangka kerja perundangan menyediakan penggunaan selamat sistem maklumat.

Langkah-langkah perisian dan perkakasan utama, yang penerapannya akan menyelesaikan beberapa masalah di atas, termasuk:

pengesahan dan pengenalan pengguna;

kawalan capaian pangkalan data;

mengekalkan integriti data;

pembalakan dan pengauditan;

perlindungan komunikasi antara pelanggan dan pelayan;

mencerminkan ancaman khusus kepada DBMS.

Pengesahan pengguna aplikasi pangkalan data paling kerap dilakukan sama ada melalui mekanisme sistem pengendalian yang sesuai, atau melalui pernyataan SQL tertentu: pengguna dikenal pasti dengan namanya, dan kata laluan berfungsi sebagai cara pengesahan. Sistem sedemikian mewujudkan kesukaran yang ketara untuk semakan berulang dan mengecualikan semakan sedemikian sebelum setiap transaksi.

Kawalan capaian pangkalan data adalah berdasarkan pelaksanaan set tindakan minimum berikut:

kawalan akses sewenang-wenangnya;

menjamin penggunaan semula objek;

penggunaan label keselamatan;

kawalan akses paksa.

Kawalan capaian sewenang-wenangnya ialah kaedah menyekat capaian kepada objek berdasarkan identiti subjek atau kumpulan yang menjadi milik subjek. Teknologi ini menyediakan pemilik objek (pandangan, pelayan pangkalan data, prosedur, jadual) dengan pemindahan keistimewaan kepada orang lain mengikut budi bicaranya sendiri. Orang dalam situasi ini boleh menjadi subjek pengguna, sekumpulan pengguna.

Kelebihan utama kawalan akses sewenang-wenangnya ialah fleksibiliti. Walau bagaimanapun, ciri-ciri yang berkaitan seperti pengurusan tersebar dan kerumitan kawalan berpusat menimbulkan banyak masalah untuk keselamatan data.

Perhatian juga harus diberikan untuk memastikan keselamatan penggunaan semula pangkalan data oleh subjek. Ini bermakna pelucutan hak untuk memasuki sistem maklumat semua pengguna yang telah meninggalkan organisasi.

Label keselamatan terdiri daripada dua bahagian: tahap keselamatan dan senarai kategori. Komponen pertama bergantung pada aplikasi dan dalam versi standard mungkin muncul sebagai julat nilai daripada rahsia utama kepada tidak dikelaskan. Komponen kedua membolehkan anda menerangkan kawasan subjek, membahagikan maklumat ke dalam petak, yang menyumbang kepada keselamatan yang lebih baik. Mekanisme label keselamatan tidak membatalkan, tetapi menambah kawalan akses sewenang-wenangnya: pengguna masih boleh beroperasi dengan jadual hanya dalam keistimewaan mereka, hanya menerima sebahagian daripada data. Masalah utama menggunakan label keselamatan ialah mengekalkan integritinya. Ini bermakna semua objek dan subjek mesti dilabelkan, dan label mesti kekal sah untuk sebarang operasi pada data.

Kawalan capaian yang dikuatkuasakan adalah berdasarkan padanan label keselamatan subjek dan objek. Untuk membaca maklumat objek, label subjek mesti mendominasi label objek. Apabila melakukan operasi menulis maklumat pada objek, label keselamatan objek mesti mendominasi label subjek. Kaedah kawalan akses ini dipanggil terpaksa, kerana ia tidak bergantung kepada kehendak subjek. Dia menemui aplikasi dalam DBMS, dicirikan oleh peningkatan langkah keselamatan.

Memastikan integriti data tidak kurang penting daripada kawalan akses. Dari sudut pandangan pengguna DBMS, cara utama untuk mengekalkan integriti data adalah sekatan dan peraturan. Sekatan boleh terkandung terus dalam model hubungan data, tetapi boleh ditetapkan dalam proses mencipta jadual. Kekangan jadual boleh merujuk kepada sekumpulan lajur, atribut individu. Kekangan rujukan bertanggungjawab untuk mengekalkan integriti perhubungan antara jadual. Kekangan dikenakan oleh pemilik jadual dan menjejaskan hasil operasi seterusnya pada data. Peraturan membenarkan anda melaksanakan prosedur tertentu apabila perubahan pangkalan data tertentu berlaku. Tidak seperti kekangan, yang memberikan kawalan ke atas keadaan yang agak mudah, peraturan membenarkan anda menyemak dan mengekalkan perhubungan sebarang kerumitan antara item data dalam pangkalan data. Walau bagaimanapun, apabila menggunakan peraturan sebagai alat keselamatan maklumat, ralat dalam sistem peraturan yang kompleks penuh dengan akibat yang tidak dapat diramalkan untuk keseluruhan pangkalan data.

Pembalakan dan pengauditan terdiri daripada yang berikut:

pengesanan tindakan pengguna yang luar biasa dan mencurigakan dan pengenalan orang yang melakukan tindakan ini;

penilaian kemungkinan akibat pelanggaran;

Memberi bantuan;

organisasi perlindungan pasif maklumat daripada tindakan menyalahi undang-undang pengguna.

Masalah menjamin komunikasi antara pelanggan dan pelayan dalam sistem maklumat bukan DBMS khusus. Untuk memastikan perlindungan maklumat, perkhidmatan keselamatan diperuntukkan, fungsinya termasuk pengesahan, penyulitan dan kebenaran.

Walau bagaimanapun, sumber utama ancaman kepada DBMS terletak pada sifat pangkalan data. Selalunya perlu, tetapi maklumat status yang tidak boleh diakses boleh diperoleh melalui inferens. Sebagai contoh, menggunakan operasi tambah, bukannya operasi pilih (yang tidak mempunyai hak), adalah mungkin untuk menganalisis kod keluar pernyataan SQL. Untuk memerangi ancaman tersebut, mekanisme pendaraban rentetan DBMS yang menyokong label keselamatan digunakan. Agregasi ialah kaedah mendapatkan maklumat baharu dengan menggabungkan data yang diperoleh secara sah daripada pelbagai jadual pangkalan data. Anda boleh melawan pengagregatan dengan mereka bentuk model data dengan teliti dan mengehadkan akses pengguna kepada maklumat sebanyak mungkin.