• تهدیدات امنیت اطلاعات پایگاه های داده روش های حفاظت از پایگاه داده و امنیت

    DBMS های مدرن از یکی از دو رویکرد رایج برای مسئله امنیت داده پشتیبانی می کنند: رویکرد انتخابی و رویکرد اجباری. در هر دو رویکرد، واحد داده یا "شیء داده" که قرار است یک سیستم امنیتی برای آن ایجاد شود، می تواند کل پایگاه داده یا هر شیء درون پایگاه داده باشد.

    این دو رویکرد در ویژگی های زیر متفاوت هستند:

    در مورد کنترل انتخابی، برخی از کاربران در هنگام کار با این اشیاء دارای حقوق (امتیازات یا اختیارات) متفاوتی هستند. کاربران مختلف ممکن است حقوق دسترسی متفاوتی به یک شی داشته باشند. حق رای با انعطاف قابل توجهی مشخص می شود.

    در مورد مدیریت انتخابی، برعکس، به هر شی داده سطح طبقه بندی خاصی اختصاص داده می شود و هر کاربر دارای سطح مشخصی از پاکسازی است. با این رویکرد، تنها کاربران با سطح دسترسی مناسب به یک شی داده خاص دسترسی دارند.

    برای اجرای اصل الکترال روش های زیر ارائه شده است. وارد دیتابیس شد نوع جدیداشیاء DB کاربران هستند. به هر کاربر در پایگاه داده یک شناسه منحصر به فرد اختصاص داده می شود. برای حفاظت اضافیبه هر کاربر علاوه بر شناسه منحصربفرد، یک رمز عبور منحصر به فرد ارائه می شود و اگر شناسه های کاربری در سیستم در اختیار مدیر سیستم باشد، پسوردهای کاربر اغلب به صورت رمزگذاری شده خاصی ذخیره می شوند و فقط برای کاربران شناخته می شوند. خودشان

    کاربران را می توان در گروه بندی کرد گروه های خاصکاربران یک کاربر می تواند به چند گروه تعلق داشته باشد. این استاندارد مفهوم گروه PUBLIC را معرفی می کند که باید حداقل مجموعه استانداردی از حقوق برای آن تعریف شود. به طور پیش‌فرض، فرض می‌شود که هر کاربر تازه ایجاد شده متعلق به گروه PUBLIC است، مگر اینکه طور دیگری مشخص شده باشد.

    امتیازات یا اختیارات کاربران یا گروه ها مجموعه ای از اقدامات (عملیات) است که می توانند روی اشیاء پایگاه داده انجام دهند.

    که در آخرین نسخه هاتعدادی از DBMS های تجاری، مفهوم "نقش" ظاهر شد. نقش مجموعه ای نامگذاری شده از مجوزها است. تعدادی نقش استاندارد وجود دارد که در زمان نصب سرور پایگاه داده تعریف می شوند. و می توان با گروه بندی قدرت های دلخواه در آنها نقش های جدیدی خلق کرد. معرفی نقش ها این امکان را فراهم می کند که مدیریت امتیازات کاربر را ساده کرده و این فرآیند را ساختاردهی کند. علاوه بر این، معرفی نقش ها با کاربران خاصی مرتبط نیست، بنابراین نقش ها را می توان قبل از تعریف کاربران سیستم تعریف و پیکربندی کرد.

    به یک کاربر می توان یک یا چند نقش اختصاص داد.

    اشیاء پایگاه داده که تحت حفاظت قرار می گیرند، همه اشیاء ذخیره شده در پایگاه داده هستند: جداول، نماها، رویه های ذخیره شده و محرک ها. هر نوع شی اقدامات خاص خود را دارد، بنابراین می توان مجوزهای مختلفی را برای هر نوع شی تعریف کرد.

    در ابتدایی ترین سطح، مفاهیم امنیت پایگاه داده بسیار ساده است. دو اصل اساسی باید مورد حمایت قرار گیرند: اعتبارسنجی و احراز هویت.

    بررسی مجوز بر اساس این واقعیت است که هر کاربر یا فرآیند سیستم اطلاعاتمربوط به مجموعه ای از اقدامات است که می تواند در رابطه با اشیاء خاص انجام دهد. احراز هویت به معنای تأیید معتبر این است که کاربر یا فرآیندی که تلاش می کند یک عمل مجاز را انجام دهد واقعاً همان چیزی است که ادعا می کند.

    سیستم تخصیص اختیارات تا حدودی سلسله مراتبی است. بالاترین حقوق و اختیارات را دارد مدیر سیستمیا مدیر سرور پایگاه داده به طور سنتی، تنها این نوع کاربر می تواند کاربران دیگری ایجاد کند و به آنها مجوزهای خاصی بدهد.

    DBMS در کاتالوگ های سیستم خود، هم شرحی از خود کاربران و هم شرحی از امتیازات آنها در رابطه با همه اشیا را ذخیره می کند.

    علاوه بر این، طرح اعطای اختیارات بر اساس اصل زیر ساخته شده است. هر شی در پایگاه داده یک مالک دارد - کاربری که آن را ایجاد کرده است. شی داده شده. مالک یک شی، تمام حقوق-مجوزها را برای این شیء دارد، از جمله حق اعطای مجوز به سایر کاربران برای کار با این شی یا سلب مجوزهای قبلی از کاربران.

    که در در تعدادی از DBMS، سطح بعدی سلسله مراتب کاربر معرفی شده است - این مدیر پایگاه داده است. در این DBMS، یک سرور می تواند بسیاری از DBMS ها را مدیریت کند (به عنوان مثال، MS SQL Server، Sybase).

    که در Oracle DBMS از معماری تک پایه استفاده می کند، بنابراین مفهوم طرح فرعی در آنجا معرفی می شود - قطعات طرح کلی DB و توسط کاربری که به زیرشما دسترسی دارد وارد می شود.

    که در استاندارد SQL دستوری برای ایجاد کاربر تعریف نمی کند، اما تقریباً در تمام DBMS های تجاری، می توانید یک کاربر را نه تنها به صورت تعاملی، بلکه به صورت برنامه نویسی با استفاده از رویه های ذخیره شده ویژه ایجاد کنید. با این حال، برای انجام این عملیات، کاربر باید حق اجرای رویه سیستم مربوطه را داشته باشد.

    که در استاندارد SQL دو عبارت GRANT و Revoking را به ترتیب تعریف می کند.

    بیانیه کمک هزینه دارای قالب زیر است:

    اعطا کردن(<список действий>| همه امتیازات)

    بر<имя_объекта>که (<имя_пользователя>

    در اینجا، لیست اقدامات مجموعه ای از اقدامات را از لیست معمولی معتبر اقدامات روی یک شی از یک نوع مشخص تعریف می کند.

    پارامتر ALL PRIVILEGES مشخص می کند که تمام اقدامات مجاز برای اشیاء از این نوع مجاز هستند.

    <имя_объекта>- نام یک شی خاص را تنظیم می کند: جدول، نمایش، رویه ذخیره شده، ماشه.

    <имя_пользователя>یا PUBLIC مشخص می کند که این امتیازات به چه کسانی اعطا می شود.

    گزینه WITH GRANT OPTION اختیاری است و حالتی را مشخص می کند که در آن نه تنها حقوق اعمال مشخص شده اعطا می شود، بلکه حق اعطای این حقوق به سایر کاربران نیز وجود دارد. در این صورت، کاربر می تواند حقوق را تنها در چارچوب اقدامات مجاز به او منتقل کند.

    مثالی را در نظر بگیرید، فرض کنید سه کاربر با نام‌های کاملاً منحصربه‌فرد userl، user2 و userS داریم. همه آنها کاربران یک پایگاه داده هستند.

    User1 شی Tab1 را ایجاد کرده است، او مالک این شی است و می تواند حقوق کار با این شی را به کاربران دیگر منتقل کند. فرض کنید user2 یک اپراتور است که باید داده ها را در Tab وارد کند (مثلاً جدول سفارشات جدید) و کاربر 3 یک رئیس بزرگ (مثلاً یک مدیر بخش) است که باید داده های وارد شده را مرتباً بررسی کند.

    برای یک شی از نوع جدول، لیست کامل اقدامات مجاز مجموعه ای از چهار عملیات است: SELECT، INSERT، DELETE، UPDATE. در این حالت می توان عملیات به روز رسانی را به چندین ستون محدود کرد.

    فرمت کلی یک دستور انتساب امتیاز برای یک شی از نوع جدول، دستور زیر را دارد:

    GRANT ([.INSERT][.DELETE][,UPDATE (<список столбцов»)]}

    بر<имя таблицы»

    که (<имя_пользователя>| عمومی)

    سپس انجام تکالیف زیر منطقی خواهد بود:

    این انتساب ها به این معنی است که user2 حق دارد فقط ردیف های جدید را در رابطه Tab1 وارد کند و user3 حق دارد تمام ردیف های جدول Tab1 را مشاهده کند.

    هنگام تخصیص حقوق دسترسی به یک عملیات اصلاح، می توانید مشخص کنید که کاربر می تواند مقدار کدام ستون ها را تغییر دهد. فرض کنید که مدیر بخش حق دارد قیمت خدمات ارائه شده را تغییر دهد. فرض کنید قیمت در ستون COST جدول Tab مشخص شده است. سپس عملیات تخصیص امتیازات به کاربر user3 ممکن است تغییر کند و به شکل زیر باشد:

    GRANT SELECT. به روز رسانی (هزینه) در برگه برای user3

    اگر userl ما فرض کند که user4 می تواند در صورت غیبت او را جایگزین کند، می تواند به این کاربر تمام حقوق کار با جدول ایجاد شده Tab1 را اعطا کند.

    اعطای تمام امتیازات

    به user4 با گزینه GRANT

    در این حالت، کاربر user4 می تواند در غیاب صاحب شی user1، امتیازاتی را برای کار با جدول Tab1 اختصاص دهد. بنابراین، اگر یک اپراتور کاربر جدید ظاهر شود، user5 on می تواند به او حق وارد کردن ردیف های جدید در جدول را با دستور اختصاص دهد.

    اگر مجموعه عملیات روی یک شی در هنگام انتقال مجوزها محدود باشد، آنگاه کاربری که این مجوزها به او منتقل می شود می تواند تنها مجوزهایی را که دارد یا بخشی از این مجوزها را به کاربر دیگری منتقل کند. بنابراین، اگر به user4 مجوزهای زیر واگذار شد:

    GRANT SELECT، UPDATE، DELETE

    با گزینه کمک هزینه.

    سپس user4 قادر به انتقال مجوزهای ورود داده به user5 نخواهد بود، زیرا این عملیات در لیست داده های مجاز برای وی گنجانده نشده است.

    علاوه بر تخصیص مستقیم حقوق کار با جداول، یک روش موثر حفاظت از داده ها می تواند ایجاد نماهایی باشد که فقط شامل ستون های لازم برای کار با یک کاربر خاص باشد و حقوق کار با این نمای را به کاربر اعطا کند.

    از آنجایی که نماها می توانند با جستارهای خلاصه مطابقت داشته باشند، عملیات اصلاح روی این نماها مجاز نیست و بنابراین، برای چنین نماها

    نماها، مجموعه اقدامات معتبر محدود به عملیات SELECT است. اگر نماها با انتخابی از جدول پایه مطابقت داشته باشند، هر 4 عملیات برای چنین نمائی معتبر خواهند بود: SELECT، INSERT، UPDATE و DELETE.

    برای لغو امتیازات قبلی، استاندارد SQL عبارت REVOKE را تعریف می کند. دستور ابطال امتیاز دارای نحو زیر است:

    لغو(<список операций | ALL PRIVILEGES}

    بر<имя_объекта>

    از جانب(<список пользователей | PUBLIC } {CASCADE | RESTRICT }

    گزینه های CASCADE یا RESTRICT تعیین می کنند که چگونه امتیازات باید لغو شوند. گزینه CASCADE نه تنها امتیازات کاربری را که به طور مستقیم در بیانیه GRANT در هنگام اعطای امتیازات نامگذاری شده بود، لغو می کند، بلکه تمام کاربرانی را که این کاربر با استفاده از گزینه WITH GRANT OPTION به آنها امتیاز داده است، لغو می کند.

    به عنوان مثال، هنگام استفاده از عملیات:

    لغو تمام امتیازات

    به user4 CASCADE

    امتیازات کاربر کاربرانی که user4 موفق به اختصاص امتیاز به آنها شده است نیز لغو خواهد شد.

    گزینه RESTRICKT لغو امتیاز را به کاربری که مستقیماً در عبارت REEVOKE نامگذاری شده است محدود می کند. اما در صورت تفویض اختیارات، این عبارت اجرا نخواهد شد. بنابراین، به عنوان مثال، عملیات:

    لغو تمام امتیازات

    TO user4 RESTRICT

    اجرا نخواهد شد زیرا user4 بخشی از اختیارات خود را به user5 واگذار کرده است.

    با دستور REVOKE، می توانید تمام یا فقط برخی از امتیازات قبلاً اختصاص داده شده برای کار با یک شی خاص را حذف کنید. در عین حال، از شرح نحو عملگر لغو امتیاز می توان دریافت که امکان سلب امتیازات با یک اپراتور از چندین کاربر به طور همزمان یا از کل گروه PUBLIC وجود دارد.

    بنابراین، استفاده زیر از عبارت REVOKE صحیح است:

    به user2,user4 CASCADE

    هنگام کار با اشیاء دیگر، لیست عملیاتی که در دستورات GRANT و REVOKE استفاده می شود تغییر می کند.

    به طور پیش فرض، عمل مربوط به راه اندازی (اجرا) یک رویه ذخیره شده به همه اعضای گروه PUBLIC اختصاص داده می شود.

    اگر می خواهید این شرط را تغییر دهید، باید پس از ایجاد رویه ذخیره شده، یک عبارت Revoke بنویسید. لغو EXECUTE ON COUNT_EX در CASCADE عمومی و اکنون می توانیم حقوق جدیدی را به user4 اختصاص دهیم.

    مدیر سیستم می تواند به یک کاربر خاص اجازه دهد تا جداول را در یک پایگاه داده خاص ایجاد و تغییر دهد. سپس او می تواند اپراتور گرنت را به صورت زیر بنویسد:

    GRANT CREATE TABLE، ALTER TABLE.

    جدول را در DB_LIB به کاربر رها کنید

    که در در این حالت، userl می‌تواند جداول را در پایگاه داده DB_LIB ایجاد، اصلاح یا حذف کند، اما نمی‌تواند به سایر کاربران اجازه ایجاد یا تغییر جداول در این پایگاه داده را بدهد، زیرا بدون حق واگذاری توانایی‌های خود به او اجازه داده شده است.

    که در برای برخی از DBMS ها، می توان به کاربر حق ایجاد پایگاه داده را اعطا کرد. به عنوان مثال، در MS SQL Server، مدیر سیستم می تواند به کاربر main_user حق ایجاد پایگاه داده خود را در این سرور بدهد. این کار با دستور زیر قابل انجام است:

    GRANT ایجاد پایگاه داده

    بر اساس اصل سلسله مراتب، کاربر main_user با ایجاد پایگاه داده خود، اکنون می تواند حقوق ایجاد یا تغییر هر شی در این پایگاه داده را به سایر کاربران اعطا کند.

    در DBMS هایی که از معماری تک پایه پشتیبانی می کنند، چنین مجوزهایی مجاز نیستند. به عنوان مثال، در Oracle DBMS، تنها یک پایگاه داده بر روی سرور ایجاد می شود، اما کاربران می توانند در سطح زیر طرح (بخش هایی از جداول پایگاه داده و اشیاء مرتبط) کار کنند. بنابراین، مفهوم امتیازات سیستم در آنجا معرفی می شود. تعداد زیادی از آنها وجود دارد، 80 امتیاز مختلف.

    برای اینکه کاربر بتواند اشیایی را در این پایگاه داده ایجاد کند، از مفهوم امتیاز سیستم استفاده می شود که می تواند به یک یا چند کاربر اختصاص داده شود. آنها فقط برای اعمال و نوع خاصی از شی صادر می شوند. بنابراین، اگر شما به عنوان یک مدیر سیستم، به کاربر حق ایجاد جداول (CREATE TABLE) را داده اید، برای اینکه بتواند یک ماشه روی جدول ایجاد کند، باید یک امتیاز سیستم CREATE TRIGGER دیگر به او اعطا شود. سیستم امنیتی در اوراکل یکی از قدرتمندترین ها در نظر گرفته می شود، اما یک نقطه ضعف نیز دارد - بسیار پیچیده است. بنابراین، وظیفه مدیریت در اوراکل مستلزم دانش خوب هم از معنای اصول حفظ حقوق دسترسی و هم از اجرای فیزیکی این قابلیت ها است.

    پیاده سازی سیستم حفاظتی در MS SQL Server

    SQL Server 6.5 از 3 حالت بررسی هنگام تعیین حقوق کاربر پشتیبانی می کند:

    1. استاندارد (استاندارد).

    2. یکپارچه (امنیت یکپارچه).

    3. مختلط (مخلوط).

    حالت امنیتی پیش فرض مستلزم آن است که هر کاربر یک حساب کاربری به عنوان کاربر دامنه سرور NT داشته باشد. یک حساب کاربری دامنه شامل یک نام کاربری و یک رمز عبور فردی است. کاربران دامنه را می توان در گروه ها ترکیب کرد. به عنوان یک کاربر دامنه، به کاربر اجازه دسترسی به منابع دامنه خاصی داده می شود. SQL Server به عنوان یکی از منابع دامنه در نظر گرفته می شود. اما برای دسترسی به SQL Server کاربر باید یک حساب کاربری MS SQL Server داشته باشد. این حساب همچنین باید شامل نام کاربری و رمز عبور منحصر به فرد سرور باشد. هنگام اتصال به محیط عملیاتی، کاربر نام کاربری و رمز عبور دامنه خود را مشخص می کند. هنگام اتصال به سرور پایگاه داده، کاربر نام کاربری و رمز عبور SQL Server منحصر به فرد خود را مشخص می کند.

    حالت یکپارچه فرض می کند که به کاربر تنها یک حساب کاربری در سیستم عامل، به عنوان کاربر دامنه، داده می شود و SQL Server کاربر را با داده های او در این حساب شناسایی می کند. در این حالت کاربر تنها یک نام کاربری و یک رمز عبور تعیین می کند.

    که در در حالت ترکیبی، برخی از کاربران می توانند با استفاده از حالت استاندارد و برخی با استفاده از حالت یکپارچه به سرور متصل شوند.

    که در MS SQL Server 7.0 تنها 2 حالت باقی می گذارد: یکپارچه، به نام Windows NT Authentication Mode (Windows NT Authentication) و ترکیبی، Mixed Mode (Windows NT Authentication و SQL Server Authentication). الگوریتم بررسی احراز هویت کاربر در MS SQL Server 7.0 در شکل نشان داده شده است. 13.1.

    برنج. 13.1. الگوریتم بررسی احراز هویت کاربر در MS SQL Server 7.0

    هنگام تلاش برای اتصال به سرور پایگاه داده، ابتدا بررسی می کند که کدام روش احراز هویت برای کاربر معین تعریف شده است. اگر Windows NT Authentication Mode تعریف شده باشد، سپس بررسی می کند که آیا کاربر دامنه داده شده به منبع SQL Server دسترسی دارد یا خیر، اگر چنین است، سعی می کند با استفاده از نام کاربری و رمز عبور تعریف شده برای کاربر دامنه متصل شود. اگر این کاربر حق اتصال به SQL Server را داشته باشد، اتصال با موفقیت انجام می شود، در غیر این صورت کاربر پیامی دریافت می کند که این کاربر مجاز به اتصال به SQL Server نیست. هنگام استفاده از احراز هویت ترکیبی، SQL Server نام کاربری (ورود به سیستم) و رمز عبور آن (رمز عبور) را به صورت متوالی بررسی می کند. اگر این پارامترها به درستی تنظیم شده باشند، اتصال با موفقیت انجام می شود، در غیر این صورت کاربر نیز پیامی مبنی بر عدم امکان اتصال به SQL Server دریافت می کند.

    برای Oracle DBMS، علاوه بر نام کاربری و رمز عبور در محیط عملیاتی، نام کاربری و رمز عبور آن همیشه برای کار با سرور پایگاه داده استفاده می شود.

    بررسی مجوز

    وظیفه دوم هنگام کار با پایگاه داده، همانطور که قبلا ذکر شد، بررسی مجوزهای کاربران است. مجوزهای کاربر در جداول سیستم خاصی ذخیره می شوند و در طول هر عملیات توسط هسته DBMS بررسی می شوند. به طور منطقی، برای هر کاربر و هر شی در پایگاه داده، یک ماتریس شرطی ساخته می شود، همانطور که بود، که در آن اشیاء در یک بعد و کاربران در امتداد بعد دیگر قرار دارند. در تقاطع هر ستون و هر سطر، لیستی از عملیات مجاز برای یک کاربر معین روی یک شی مشخص وجود دارد. در نگاه اول، این مدل اعتبارسنجی نسبتاً قوی به نظر می رسد. اما مشکل زمانی ایجاد می شود که از دسترسی غیر مستقیم به اشیا استفاده می کنیم. به عنوان مثال، کاربر user_N اجازه دسترسی به جدول Tab1 را ندارد، اما این کاربر مجاز است رویه ذخیره شده SP_N را اجرا کند، که از این شی انتخاب می کند. به‌طور پیش‌فرض، همه رویه‌های ذخیره‌شده تحت نام مالک خود اجرا می‌شوند.

    چنین مشکلاتی باید با روش های سازمانی حل شود. هنگام اجازه دسترسی به برخی از کاربران، باید از امکان دسترسی غیر مستقیم آگاه باشید.

    در هر صورت، مشکل حفاظت هرگز یک کار صرفاً فنی نبوده است، بلکه مجموعه ای از اقدامات سازمانی و فنی است که باید حداکثر محرمانه بودن اطلاعات ذخیره شده در پایگاه داده را تضمین کند.

    علاوه بر این، هنگام کار بر روی یک شبکه، هنوز مشکل احراز هویت اعتبار وجود دارد.

    این مشکل به شرح زیر است. فرض کنید به فرآیند 1 مجوز کار با پایگاه داده داده شده است و به فرآیند 2 چنین مجوزهایی داده نشده است. سپس پردازش 2 نمی تواند مستقیماً به پایگاه داده دسترسی داشته باشد، اما می تواند به فرآیند 1 دسترسی داشته باشد و از طریق آن به اطلاعات پایگاه داده دسترسی پیدا کند.

    بنابراین، در یک محیط امن، باید یک مدل احراز هویت وجود داشته باشد که هویت های ادعا شده توسط کاربران یا فرآیندها را تأیید کند. اعتبارنامه ها با ظهور محاسبات توزیع شده اهمیت بیشتری پیدا کرده اند. با سطح بالای اتصال سیستم های محاسباتی موجود، کنترل تمامی تماس ها به سیستم ضروری است.

    مسائل احراز هویت معمولاً در حوزه ارتباطات و امنیت شبکه طبقه بندی می شوند، بنابراین در اینجا به جز یادداشت زیر بیشتر به آنها نمی پردازیم. در یک سیستم امنیت کامپیوتری جامع که اجرای دقیق برنامه حفاظت از اطلاعات با تعامل ابزارهای مناسب در سیستم عامل ها، شبکه ها، پایگاه های داده تضمین می شود، احراز هویت با امنیت پایگاه داده ارتباط مستقیم دارد.

    توجه داشته باشید که یک مدل امنیتی مبتنی بر مکانیزم‌های اولیه اعتبارسنجی و احراز هویت، به مسائلی مانند هویت و رمز عبور کاربر دزدیده شده یا اقدامات مخرب توسط برخی از کاربران با اختیار رسیدگی نمی‌کند - برای مثال، زمانی که یک برنامه‌نویس روی حسابی کار می‌کند که دسترسی کامل به حسابداری دارد. پایگاه داده، در کد برنامه اسب تروجان به منظور سرقت یا تغییر عمدی اطلاعات ذخیره شده در پایگاه داده جاسازی می شود. چنین سوالاتی خارج از حوزه ما هستند

    بحث در مورد ابزارهای امنیتی پایگاه داده، اما با این وجود باید درک کرد که برنامه امنیت اطلاعات نه تنها باید حوزه های فنی (مانند حفاظت از شبکه ها، پایگاه های داده و سیستم های عامل)، بلکه مسائل امنیتی فیزیکی، قابلیت اطمینان پرسنل (بررسی های پنهان)، ممیزی، روش های مختلف تعمیر و نگهداری امنیتی دستی یا نیمه خودکار.

    معماری عمومی DBMS

    ما برخی از جنبه های کار DBMS را در نظر گرفته ایم. اکنون بیایید سعی کنیم همه چیزهایی را که آموخته ایم به طور خلاصه خلاصه کنیم و ساختار تعمیم یافته مشروط DBMS را بسازیم. روی انجیر 14.1 چنین ساختاری را نشان می دهد. در اینجا به صورت مشروط نشان داده شده است که DBMS باید حافظه خارجی را مدیریت کند، که در آن فایل های داده، فایل های گزارش و فایل های کاتالوگ سیستم قرار دارند.

    از سوی دیگر، DBMS همچنین RAM را مدیریت می کند که حاوی بافرهای داده، بافرهای گزارش، داده های کاتالوگ سیستم است که برای حفظ یکپارچگی و بررسی امتیازات کاربر ضروری هستند. علاوه بر این، RAM در طول عملیات DBMS حاوی اطلاعاتی است که با وضعیت فعلی پردازش پرس و جو مطابقت دارد، برنامه های اجرایی برای کوئری های کامپایل شده در آنجا ذخیره می شود و غیره.

    ماژول مدیریت حافظه خارجی ایجاد ساختارهای حافظه خارجی لازم را هم برای ذخیره داده های موجود در پایگاه داده و هم برای اهداف خدماتی، به عنوان مثال، برای سرعت بخشیدن به دسترسی به داده ها در برخی موارد (معمولاً برای این کار از فهرست ها استفاده می شود) فراهم می کند. همانطور که قبلاً بحث کردیم، در برخی از پیاده سازی های DBMS از قابلیت های سیستم های فایل موجود به طور فعال استفاده می شود، در برخی دیگر، کار تا سطح دستگاه های حافظه خارجی انجام می شود. اما ما تأکید می کنیم که در DBMS پیشرفته، کاربران در هر صورت نیازی به دانستن اینکه آیا DBMS از سیستم فایل استفاده می کند یا خیر، و اگر چنین است، فایل ها چگونه سازماندهی شده اند، نیستند. به طور خاص، DBMS سیستم نامگذاری اشیاء پایگاه داده خود را حفظ می کند.

    ماژول مدیریت بافر RAM برای حل مشکلات بافر کارآمد طراحی شده است که تقریباً برای سایر عملکردهای DBMS استفاده می شود.

    به طور معمول، RAM مدیریت شده توسط DBMS را می توان به عنوان مجموعه ای از بافرها نشان داد که صفحات داده را ذخیره می کند، بافرهایی که صفحات گزارش های تراکنش را ذخیره می کند و یک منطقه استخر مشترک (شکل 14.2 را ببینید). قسمت آخر شامل قطعاتی از کاتالوگ سیستم است که برای سرعت بخشیدن به پردازش درخواست های کاربر باید دائماً در RAM نگهداری شود و ناحیه بیانیه های SQL با مکان نما. قطعات کاتالوگ سیستم در برخی از پیاده سازی ها دیکشنری داده نامیده می شوند. استاندارد SQL2 الزامات کلی را برای کاتالوگ سیستم تعریف می کند.

    برنج. 14.1. ساختار کلی DBMS

    برنج. 14.2. RAM توسط DBMS مدیریت می شود

    کاتالوگ سیستم در DBMS رابطه ای مجموعه ای از جداول ویژه است که متعلق به خود DBMS است. جداول کاتالوگ سیستم به طور خودکار هنگام نصب نرم افزار سرور پایگاه داده ایجاد می شوند. همه جداول سیستم معمولاً توسط یک "شناسه کاربر سیستم" خاص به یکدیگر متصل می شوند. هنگام پردازش پرس و جوهای SQL، DBMS دائماً به این جداول دسترسی دارد. برخی از DBMS ها امکان دسترسی محدود کاربر به تعدادی از جداول سیستم را می دهند، اما فقط در حالت خواندن. فقط مدیر سیستم دارای برخی حقوق برای تغییر داده ها در برخی جداول سیستم است.

    هر جدول از کاتالوگ سیستم حاوی اطلاعاتی در مورد عناصر ساختاری جداگانه پایگاه داده است. استاندارد SQL2 جداول سیستم زیر را تعریف می کند:

    جدول 14.1. محتویات کاتالوگ سیستم طبق استاندارد SQL2

    جدول سیستم

    یک خط برای هر شناسه

    کاربر با رمز عبور رمزگذاری شده

    یک خط برای هر اطلاعات

    DATA_TYPE_DESCRIPTION

    یک خط برای هر دامنه، یا

    ستونی از نوع خاصی

    یک خط در هر دامنه

    DOMAIN_CONSTRA1NS

    یک خط برای هر محدود کننده

    شرایط تحمیل شده بر دامنه

    یک ردیف برای هر جدول با

    نام، مالک، مقدار

    ستون ها، اندازه داده های ستون و غیره

    یک خط برای هر نما با

    نام، نام مالک،

    یک پرس و جو که یک view را تعریف می کند

    یک ردیف برای هر ستون با

    تعیین نام ستون، نام جدول

    یا دیدگاهی که او به آن

    به نوع داده ستون، آن اشاره می کند

    اندازه، مقبولیت یا عدم پذیرش

    مقادیر تعریف نشده (NULL) و غیره

    VIEW_TABLE_USAGE

    یک صفحه برای هر جدول، در هر

    ارائه (اگر ارائه

    چند جدول، سپس برای هر جدول

    یک خط وارد کنید)

    VIEW_COLUMN_USAGE

    ارسال

    TABLE_CONSTRAINS

    برای هر شرط یک خط

    محدودیت های مشخص شده در هر

    تعریف جدول

    KEY_COLUMN_USAGE

    یک ردیف برای هر ستون، در هر

    که مشروط به یگانگی و

    که در تعریف گنجانده شده است

    کلید اصلی یا خارجی (اگر

    کلید اصلی یا خارجی مشخص شده است

    چندین ستون، سپس برای هر یک

    به آنها یک خط جداگانه داده می شود)

    REFERENTIAL_CONSTRAINTS یک ردیف برای هر کلید خارجی موجود در تعریف جدول

    CHECK_CONSTRAINTS یک ردیف برای هر شرط چک مشخص شده در تعریف جدول

    CHECK_TABLE_USAGE یک ردیف برای هر جدول ارجاع شده در شرایط بررسی، محدودیت دامنه یا کل جدول

    جدول سیستم

    CHECK_COLUMN_USAGE

    یک ردیف برای هر ستون، در هر

    یک شرط محدود کننده برای یک دامنه، یا

    شرایط محدود کننده دیگر

    یک خط برای هر اعلانیه

    ادعاهای صداقت

    TABLE_PRIVILEGES

    به هر میزی ارائه می شود

    COLUMN_PRIVILEGES

    یک خط برای هر امتیاز،

    بر روی هر ستون ارائه شده است

    USAGE_PRIVILEGES

    یک خط برای هر امتیاز،

    به هر دامنه، مجموعه ای اعطا می شود

    شخصیت ها و غیره

    یک ردیف برای هر مجموعه داده شده

    شخصیت ها

    یک خط برای داده شده

    دنباله ها

    یک خط برای هر داده شده

    تحولات

    یک خط برای هر زبان داده شده،

    DBMS پشتیبانی می شود

    استاندارد SQL2 نیازی به DBMS ندارد که دقیقاً مجموعه مورد نیاز از جداول سیستم را پشتیبانی کند. استاندارد خود را به این الزام محدود می کند که برخی از نماهای ویژه کاتالوگ سیستم در دسترس کاربران عادی باشد. بنابراین، جداول سیستم در DBMS های مختلف به طور متفاوتی سازماندهی می شوند و نام های مختلفی دارند، اما اکثر DBMS ها تعدادی نماهای اساسی را در اختیار کاربران عادی قرار می دهند.

    علاوه بر این، کاتالوگ سیستم برخی از ویژگی های اضافی ارائه شده توسط DBMS خاص را منعکس می کند. بنابراین، به عنوان مثال، جداول مترادف در کاتالوگ سیستم اوراکل وجود دارد.

    ناحیه SQL شامل داده های bind، بافرهای موقت، درخت تجزیه و برنامه اجرا برای هر دستور SQL است که به سرور پایگاه داده ارسال می شود. منطقه مشترک

    استخر از نظر اندازه محدود است، بنابراین ممکن است با تمام عبارات SQL که از زمان راه اندازی سرور پایگاه داده اجرا شده اند، مناسب نباشد. هسته DBMS عبارات قدیمی و طولانی مدت استفاده نشده را حذف می کند و حافظه را برای دستورات SQL جدید آزاد می کند. اگر کاربر درخواستی را اجرا کند که طرح اجرای آن قبلاً در استخر مشترک ذخیره شده است، سپس DBMS آن را تجزیه نمی کند و یک طرح جدید نمی سازد، بلافاصله آن را برای اجرا راه اندازی می کند، احتمالاً با پارامترهای جدید.

    ماژول مدیریت تراکنش از مکانیسم‌های انجام و بازگرداندن تراکنش‌ها پشتیبانی می‌کند، با ماژول مدیریت بافر RAM مرتبط است و تضمین می‌کند که تمام اطلاعاتی که پس از خرابی نرم یا سخت در سیستم مورد نیاز است ذخیره می‌شود. علاوه بر این، ماژول کنترل تراکنش دارای مکانیزم خاصی برای یافتن بن بست یا بن بست است و یکی از استراتژی های پذیرفته شده برای تکمیل اجباری تراکنش ها را برای آزادسازی بن بست ها پیاده سازی می کند.

    توجه ویژه ای باید به ماژول پشتیبانی SQL شود. این عملاً یک مترجم از زبان SQL و یک بلوک بهینه سازی پرس و جو است.

    به طور کلی، بهینه سازی پرس و جو را می توان به نحوی و معنایی تقسیم کرد.

    روش های بهینه سازی پرس و جو نحوی

    روش‌های بهینه‌سازی پرس و جو نحوی با ساخت برخی از فرم‌های معادل، که گاهی اوقات شکل متعارف نامیده می‌شود، مرتبط هستند، که برای اجرای پرس و جو هزینه کمتری نیاز دارد، اما نتیجه‌ای کاملاً معادل پرس‌و‌جوی اصلی به دست می‌دهد.

    تکنیک های مورد استفاده در بهینه سازی پرس و جو نحوی شامل موارد زیر است:

    تبدیل های پرس و جو منطقیاول از همه، این به تبدیل محمولات موجود در شرط انتخاب اشاره دارد. محمول های حاوی عملیات مقایسه مقادیر ساده. چنین محمولی به شکل بیان حسابی OS است که در آن OS یک عملیات مقایسه است و عبارات حسابی قسمت های چپ و راست عموماً حاوی نام فیلدها و ثابت های رابطه هستند (در SQL، در بین ثابت ها، می تواند وجود داشته باشد. نام متغیرهای برنامه محصور کننده که مقادیر آنها فقط "زمانی که پرس و جو واقعاً اجرا شود" مشخص می شود.

    نمایش های متعارف می تواند برای محمول های انواع مختلف متفاوت باشد. اگر گزاره فقط شامل یک نام فیلد باشد، پس نمایش متعارف آن می‌تواند، برای مثال، عبارت حسابی ثابت OS نام فیلد باشد (این شکل از گزاره - یک گزاره انتخاب ساده - هنگام انجام مرحله بعدی بهینه‌سازی بسیار مفید است). اگر نمایش اولیه محمول باشد

    (n+12)*R.B OC 100

    جایی که n یک متغیر زبان است، R.B نام یک ستون است در رابطه R، OS یک عملیات مقایسه معتبر است.

    نمایش متعارف چنین محمولی می تواند باشد

    R.V OS 100/(n+12)

    در این حالت، عبارت داخل پرانتز و سمت راست عملیات مقایسه 100/(n +12) را یک بار برای مقدار داده شده متغیر n محاسبه می کنیم و سپس می توانیم هر خط را با مقدار حاصل مقایسه کنیم.

    اگر گزاره دقیقاً شامل دو نام فیلد از روابط مختلف باشد (یا دو رخداد متفاوت از یک رابطه)، پس نمایش متعارف آن ممکن است عبارت حسابی نام فیلد OS باشد، که در آن عبارت حسابی در سمت راست فقط شامل ثابت ها و نام دوم است. صفر (این نیز یک فرم مفید برای انجام مرحله بهینه سازی بعدی است، -

    پیوستن به محمول; مورد equijoin به ویژه مهم است، زمانی که سیستم عامل برابر است). اگر در نمایش اولیه گزاره به این صورت باشد:

    12*(Rl.A)-n*(R2.B) OS m،

    R1.A OS (m+n*(R2.B)/12

    کلاس دیگری از تبدیل های منطقی مربوط به کاهش به شکل متعارف یک عبارت منطقی است که شرط انتخاب پرس و جو را مشخص می کند. به عنوان یک قاعده، از اشکال عادی منفصل یا ربطی استفاده می شود. انتخاب فرم متعارف به سازماندهی کلی بهینه ساز بستگی دارد.

    R1 NATURAL Join R2

    WHERE R1.A OS a AND

    در اینجا a و b برخی از ثابت‌ها هستند که مقدار ویژگی‌های رابطه را محدود می‌کنند

    پیوستن به محمول; خصوصاً مورد zquiconnection مهم است، زمانی که OC برابر است). اگر در نمایش اولیه گزاره به این صورت باشد:

    12*(Rl.A)-n*(R2.B) OS m،

    سپس نمایش متعارف آن به صورت زیر است:

    R1.A OS (m+n*(R2.B)/12

    در حالت کلی، مطلوب است که گزاره را به یک نمایش متعارف از شکل بیان حسابی عبارت ثابت حسابی OS کاهش دهیم، که در آن عبارات قسمت های راست و چپ نیز به نمایش متعارف کاهش می یابد. در آینده، می توانید عبارات حسابی رایج را در محمولات پرس و جوی مختلف جستجو کنید. این قابل توجیه است، زیرا هنگام اجرای یک پرس و جو، محاسبه عبارات حسابی هنگام واکشی هر تاپل متوالی، یعنی تعداد بالقوه زیادی بار انجام می شود.

    هنگام تقلیل گزاره ها به یک نمایش متعارف، می توانید عبارات ثابت را ارزیابی کنید و از نفی های منطقی خلاص شوید.

    کلاس دیگری از تبدیل های منطقی مربوط به کاهش به شکل متعارف یک عبارت منطقی است که شرط انتخاب پرس و جو را مشخص می کند. به عنوان یک قاعده، از اشکال عادی منفصل یا ربطی استفاده می شود. انتخاب فرم متعارف به سازماندهی کلی بهینه ساز بستگی دارد.

    هنگام تقلیل یک شرط منطقی به یک نمایش متعارف، می توان به جستجوی محمولات مشترک پرداخت (ممکن است در ابتدا وجود داشته باشند، ممکن است پس از کاهش محمولات به شکل متعارف یا در روند عادی سازی شرط منطقی ظاهر شوند) و ساده سازی بیان منطقی با، برای مثال، شناسایی ترکیبی از محمولات متضاد متقابل.

    تبدیل پرس و جو با ترتیب مجدد عملیات رابطه ای.که در

    در بهینه سازهای سنتی، تبدیل های منطقی مرتبط با تغییر ترتیب اجرای عملیات رابطه ای رایج است.

    به عنوان مثال، ما درخواست زیر را داریم:

    Rl NATURAL JOIN R2 WHERE R1.A OC a و R2.B C b

    در اینجا a و b ثابت هایی هستند که مقدار ویژگی های روابط R1 و R2 را محدود می کنند.

    اگر آن را از نظر جبر رابطه‌ای در نظر بگیریم، این ترکیبی طبیعی از روابط R1 و R2 است که در آن محدودیت‌های داخلی در تاپل‌های هر رابطه آورده شده است.

    برای کاهش تعداد تاپل های متصل، معقول تر است که ابتدا عملیات نمونه برداری در هر رابطه انجام شود و تنها پس از آن به عملیات اتصال طبیعی بروید.

    بنابراین، این پرس و جو معادل دنباله ای از عملیات جبر رابطه ای زیر خواهد بود:

    R3 =.R1 R4 = R2 R5 = R3**R4

    اگرچه تعداد کمی از سیستم های رابطه ای دارای زبان های پرس و جو هستند که صرفاً بر اساس جبر رابطه ای است، قوانین برای تبدیل عبارات جبری می تواند در موارد دیگر نیز مفید باشد. اغلب، جبر رابطه ای به عنوان مبنایی برای نمایش داخلی یک پرس و جو استفاده می شود. طبیعتاً پس از آن می توان تبدیل های جبری را نیز انجام داد.

    به طور خاص، رویکردهای مربوط به تبدیل پرس و جوها در زبان SQL به یک فرم جبری وجود دارد. مهمتر از همه، جبر رابطه ای ساده تر از SQL است. تبدیل پرس و جو به یک فرم جبری، اقدامات بعدی بهینه ساز را در انتخاب طرح های بهینه ساده می کند. به طور کلی، یک بهینه ساز پرس و جو بالغ یک سیستم SQL گرا باید تمام برنامه های اجرایی ممکن را برای هر پرس و جو کشف کند، اما "فضای جستجو" این طرح ها به طور کلی بسیار بزرگ است. هر بهینه ساز خاص از اکتشافات خاص خود برای کاهش فضای جستجو استفاده می کند. برخی، شاید بهینه ترین طرح ها هرگز در نظر گرفته نخواهند شد. تبدیل منطقی یک پرس و جوی SQL به یک نمایش جبری، فضای جستجوی طرح های اجرای پرس و جو را با تضمین از بین نرفتن طرح های بهینه کاهش می دهد.

    تبدیل پرس‌و‌جوها با پرس و جوهای فرعی تو در تو به پرس و جوهایی با اتصال.تفاوت اصلی بین زبان SQL و زبان جبر رابطه‌ای، توانایی استفاده از گزاره‌های حاوی زیرپرسش‌های تودرتو در شرایط انتخاب منطقی است. عمق لانه سازی توسط زبان محدود نمی شود، یعنی به طور کلی، می تواند دلخواه باشد. گزاره‌های دارای زیرپرسش‌های تودرتو، با توجه به نحو مشترک، می‌توانند معنایی بسیار متفاوتی داشته باشند. تنها مشترک برای همه ممکن استمعنایی پرس و جوهای فرعی تو در تو، الگوریتم اجرای یک پرس و جو این است که هر بار که یک مقدار محمول ارزیابی می شود، یک پرس و جو فرعی تو در تو را ارزیابی می کند. بنابراین، طبیعی است که برای چنین تغییر شکلی از یک پرس و جو حاوی گزاره هایی با پرس و جوهای فرعی تودرتو تلاش کنیم، که معنای پرس و جوی فرعی را واضح تر می کند، در نتیجه به بهینه ساز این فرصت را می دهد تا روش اجرای پرس و جو را انتخاب کند که بیشترین منطبق را با معنای پرس و جو دارد. استعلام فرعی

    نمایش متعارف یک پرس و جو بر روی n روابط، پرس و جوی حاوی n-1 محمولات پیوسته و بدون محمول با پرس و جوهای فرعی تو در تو است. در واقع، شکل متعارف، نمایش جبری پرس و جو است.

    به عنوان مثال، یک پرس و جو با یک پرس و جو فرعی تو در تو:

    (R2.B را از R2 انتخاب کنید که در آن Rl.C = R2.D)

    معادل

    جایی که Rl.A = R2.B و Rl.C = R2.D)

    درخواست دوم:

    (Rl.A را از Rl انتخاب کنید که در آن Rl.K =

    (انتخاب AVG (R2.B) از R2 WHERE Rl.C = R2.D)

    (Rl.A را از Rl.R3 انتخاب کنید

    جایی که Rl.C = R3.D و Rl.K = R3.L)

    R3 = SELECT R2.D، L AVG (R2.B)

    هنگام استفاده از این رویکرد در بهینه ساز پرس و جو، نیازی به انجام تبدیل های پرس و جو رسمی نیست. بهینه ساز باید از معنای پرس و جو در حال پردازش تا حد بیشتری استفاده کند و اینکه چگونه آن را تشخیص دهد یک موضوع تکنیکی است.

    توجه داشته باشید که برخی از اشکالات معنایی ظریف در رویکردی که به اختصار توضیح دادیم وجود دارد. روش‌های اصلاح‌شده شناخته شده‌اند، اما از نظر فنی بسیار پیچیده‌تر از آن هستند که در این راهنما در نظر گرفته شوند.

    روش های بهینه سازی پرس و جو معنایی

    روش هایی که قبلا در نظر گرفته شد به هیچ وجه با معنایی یک پایگاه داده خاص مرتبط نیستند، آنها برای هر پایگاه داده صرف نظر از محتوای خاص آن قابل اجرا هستند. روش‌های بهینه‌سازی معنایی دقیقاً مبتنی بر در نظر گرفتن معنایی یک پایگاه داده خاص است. این روش ها در پیاده سازی های مختلف می تواند بسیار باشد، ما فقط به برخی از آنها می پردازیم:

    تبدیل درخواست ها با در نظر گرفتن اطلاعات معنایی.این در درجه اول برای پرس و جوهایی که بر روی نماها انجام می شوند صدق می کند. نمای خود یک پرس و جو است. در پایگاه داده، view در قالب یک طرح اجرای پرس و جو کامپایل شده ذخیره می شود، یعنی از قبل شامل تمام محمولات و خود طرح اجرای پرس و جو به شکلی متعارف است. هنگام تبدیل یک پرس و جو خارجی، پرس و جو بیرونی با فرم درونی پرس و جو که اساس نما را تشکیل می دهد ترکیب می شود و یک فرم متعارف تعمیم یافته ساخته می شود که هر دو پرس و جو را ترکیب می کند. برای این شکل غنیمت، تحلیل و تبدیل محمولات انجام می شود. بنابراین، هنگامی که یک پرس و جو بر روی یک View اجرا می شود، نه دو، بلکه فقط یک پرس و جو اجرا می شود که توسط پارامترهای پرس و جو تعمیم یافته بهینه شده است.

    استفاده از محدودیت های یکپارچگی هنگام تجزیه درخواست ها.محدودیت های یکپارچگی مربوط به شرایطی است که بر مقادیر ستون جدول اعمال می شود. هنگامی که پرس و جوها بر روی جداول اجرا می شوند، شرایط پرس و جو به روشی خاص با شرایط محدودیت جدول ترکیب می شوند و محمول های تعمیم یافته حاصل از قبل تحلیل می شوند. فرض کنید در کتابخانه خود به دنبال خواننده هایی با بیش از 100 سال قدمت هستیم، اما اگر محدودیتی در جدول READERS تنظیم کنیم که تاریخ تولد خوانندگان ما را محدود می کند تا خواننده تاریخ تولد بین 17 تا 100 سال داشته باشد. قدیمی، فراگیر بنابراین، بهینه ساز پرس و جو، با مقایسه این دو محمول، می تواند بلافاصله تعیین کند که نتیجه پرس و جو مجموعه خالی خواهد بود.

    پس از بهینه سازی، پرس و جو یک فرم غیر رویه ای دارد، یعنی ترتیب دقیقی برای انجام عملیات ابتدایی روی اشیاء مبدأ تعریف نمی کند. در مرحله بعد، تمامی طرح های ممکن اجرای پرس و جو ساخته شده و برآورد هزینه برای هر یک از آنها انجام می شود. ارزیابی طرح های اجرای پرس و جو بر اساس تجزیه و تحلیل حجم فعلی داده های ذخیره شده در روابط پایگاه داده و بر اساس تجزیه و تحلیل آماری اطلاعات ذخیره شده است. اکثر DBMS ها محدوده ای از مقادیر ستون جداگانه را با درصدی برای هر محدوده پیگیری می کنند. بنابراین، هنگام ساخت طرح پرس و جو، DBMS می تواند میزان روابط میانی را تخمین بزند و طرحی را به گونه ای بسازد که در مراحل اولیه اجرای پرس و جو، تعداد ردیف های موجود در روابط میانی را به حداقل برساند.

    علاوه بر موتور DBMS، هر فروشنده ابزارهای خاصی را فراهم می کند که مدیریت پایگاه داده و توسعه پروژه های پایگاه داده جدید و برنامه های کاربردی کاربر را برای یک سرور معین تسهیل می کند. اخیراً تقریباً همه ابزارها و ابزارها دارای یک رابط گرافیکی توسعه یافته هستند.

    برای توسعه برنامه ها، کاربران می توانند نه تنها از ابزارهای ارائه شده با سرور پایگاه داده، بلکه از ابزارهای فروشندگان شخص ثالث نیز استفاده کنند. بنابراین، در کشور ما، محیط ابزار دلفی بسیار محبوب شده است که به شما امکان می دهد برنامه های کاربردی برای سرورهای مختلف پایگاه داده توسعه دهید. خارج از کشور

    سیستم های ابزار توسعه سریع برنامه های کاربردی محبوب هستند

    (RAF Rapid Application Foundation) محصولات سیستم اطلاعات پیشرفته،

    جعبه ابزار Power Builder توسط Power Soft، سیستم SQL Windows توسط Power Soft

    حملات به انبارها و پایگاه‌های اطلاعاتی از خطرناک‌ترین حملات برای شرکت‌ها و سازمان‌ها هستند. بر اساس آمار اینفواچ، در سال های اخیر تعداد نشت داده ها در جهان به طور پیوسته در حال افزایش بوده است، در حالی که در سال 2015 بیش از 30 درصد از آنها متخلفان خارجی و بیش از 60 مورد با مشارکت کارکنان سازمان انجام شده است. حتی اگر فرض کنیم که در برخی موارد نشت شامل داده هایی است که کارمند به آنها دسترسی قانونی دارد، هر سومین مورد یک حمله خارجی بوده است. همچنین لازم به ذکر است که طبق داده های داده شده در داده ها، هفت مورد از هشت نشت با بیش از ده میلیون رکورد، مربوط به حملات خارجی است.

    مهاجمان به انواع اطلاعاتی مانند اطلاعات عملیات داخلی، اطلاعات شخصی کارکنان، اطلاعات مالی، اطلاعات در مورد مشتریان/مشتریان، مالکیت معنوی، تحقیقات بازار/تحلیل رقبا، اطلاعات پرداخت علاقه مند هستند. این اطلاعات در نهایت در انبارهای سازمانی و پایگاه های داده با اندازه های مختلف ذخیره می شود.

    همه اینها منجر به نیاز به اطمینان از محافظت نه تنها از ارتباطات، سیستم عامل ها و سایر عناصر زیرساخت، بلکه همچنین ذخیره سازی داده ها به عنوان مانع دیگری برای مهاجم می شود. با این حال، تا به امروز، کار در زمینه امنیت پایگاه داده عمدتاً با هدف غلبه بر آسیب‌پذیری‌های موجود و قبلاً شناخته شده، پیاده‌سازی مدل‌های دسترسی اولیه، و در نظر گرفتن مسائل خاص برای یک DBMS خاص است. هدف از این کار بررسی جامع و نظام‌مندی مسائل امنیتی پایگاه‌های داده مختلف در پرتو تهدیدات جدید، روندهای کلی در توسعه امنیت اطلاعات و نقش و تنوع فزاینده ذخیره‌سازی داده‌ها است.

    مسائل مربوط به امنیت پایگاه داده یکپارچه توجه محققان را به خود جلب می کند و سالانه تعدادی کار در روسیه و خارج از کشور به آنها اختصاص می یابد. مطالعاتی مانند آثار کلاسیک را می توان اشاره کرد. این مقاله رویکردهایی را برای اطمینان از محرمانه بودن، یکپارچگی و در دسترس بودن DBMS، پیشگیری، شناسایی و نادیده گرفتن حملات مورد بحث قرار می دهد. رویکردهایی برای ارائه دسترسی اختیاری اجباری و مبتنی بر نقش به سرور رابطه ای پیشنهاد شده است. این مبحث با کارهایی ایجاد شده است که به موضوعات مشابه تضمین جداسازی دسترسی، امتیازات، ممیزی و رمزگذاری داده‌ها، و همچنین مسائل مربوط به استفاده از مکانیسم‌های داخلی برای ارائه دسترسی ایمن، مانند راه‌اندازها، نماها و رویه‌های ذخیره‌شده، می‌پردازد. اثری که آنها را خلاصه می کند، توسعه رویکردهای امنیتی را در یک جنبه تاریخی خلاصه می کند.

    از جمله آثار خارجی که حوزه های پژوهشی مدرن را پوشش می دهند، می توان به آن اشاره کرد. به عنوان مثال، کارهای محققان روسی عمدتاً به مسائل محدود امنیت DBMS اختصاص دارد.

    همچنین باید به تک نگاری ها اشاره کرد. با این حال، این آثار، و همچنین وسایل کمک آموزشی معروف، به طور خاص، از موضوعات فوق فراتر نمی روند یا، به عنوان مثال، ویژگی های یک DBMS خاص را منعکس نمی کنند.

    وضعیت مشابهی را می توان در کار مشاهده کرد. STIG شامل مسائل امنیتی شناخته شده و معیارهایی برای صدور گواهینامه سطح نرم افزار DBMS، ارزیابی امنیت نرم افزار بر اساس تهدیدات شناخته شده، بدون در نظر گرفتن مشخصات داده های ذخیره شده است.

    بنابراین، تحقیقات امروزی در زمینه امنیت DBMS به توسعه مفهوم محرمانه بودن، یکپارچگی و در دسترس بودن داده ها محدود می شود، که الزامات مدرن برای سیستم های حفاظتی و امنیت اطلاعات راه حل های نرم افزاری را برآورده نمی کند (به عنوان مثال)، در زمینه روش های حفاظتی خاص، به جای بررسی جامع مشکل. در عین حال، آنها اغلب به محصولات نرم افزاری خاص اختصاص داده می شوند و نه به کل کلاس نرم افزار مربوطه.

    تکامل سیستم های امنیتی پایگاه داده

    از لحاظ تاریخی، توسعه سیستم های امنیتی پایگاه داده به عنوان واکنشی به اقدامات متجاوزان مطابق با مراحل تکامل خود ذخیره سازی ها (DB) و تغییرات در نوع و نوع تهدیدات فزاینده صورت گرفت. این تغییرات توسط تکامل کلی پایگاه داده از راه حل های اصلی به ذخیره سازی ابری انجام شد.

    از نظر معماری می توان رویکردهای زیر را متمایز کرد:

    دسترسی کامل برای همه کاربران به سرور پایگاه داده.

    جداسازی کاربران به قابل اعتماد و تا حدی قابل اعتماد با استفاده از DBMS (سیستم های مدیریت پایگاه داده).

    معرفی یک سیستم حسابرسی ( سیاهههای مربوط به اقدامات کاربر) با استفاده از DBMS.

    معرفی رمزگذاری داده ها; حذف ابزار احراز هویت خارج از DBMS به سیستم عامل ها و میان افزار. انصراف از یک مدیر داده کاملاً قابل اعتماد.

    با این حال، معرفی ابزارهای حفاظتی به عنوان پاسخ به تهدیدات، محافظت در برابر روش‌های جدید حمله را فراهم نمی‌کند و دیدگاهی پراکنده از خود مشکل امنیتی ایجاد می‌کند. از یک طرف، شرکت های بزرگ می توانند تعداد کافی ابزار امنیتی را برای محصولات خود اختصاص دهند، از طرف دیگر، به همین دلیل است که تعداد زیادی راه حل ناهمگن وجود دارد، درک درستی از امنیت داده های پیچیده وجود ندارد (و آن اجزای سازنده از سازنده ای به سازنده دیگر متفاوت است)، هیچ رویکرد کلی و یکپارچه ای برای امنیت انبارهای داده و در نتیجه فرصت ها وجود ندارد. پیش‌بینی حملات آینده و توسعه آینده‌نگر مکانیسم‌های حفاظتی دشوارتر می‌شود، برای بسیاری از سیستم‌ها، ارتباط حملات شناخته‌شده طولانی همچنان مرتبط است و آموزش متخصصان امنیتی پیچیده‌تر می‌شود.

    توسعه ابزارهای نرم افزاری برای محافظت پیشرفته (پیش از مهاجم) است که امکان معرفی چنین فناوری را تضمین می کند که به نظر نویسندگان مقاله فوری ترین وظایف در مرحله فعلی است.

    مسائل امنیتی پایگاه داده مدرن

    فهرست آسیب‌پذیری‌های اصلی انبار داده که امروزه مربوط می‌شود، طی پنج سال گذشته تغییر قابل‌توجهی نداشته است. پس از تجزیه و تحلیل ابزارهای امنیتی DBMS، معماری پایگاه داده، رابط ها، آسیب پذیری های شناخته شده و حوادث امنیتی، می توانیم دلایل زیر را برای این وضعیت شناسایی کنیم:

    مسائل امنیتی به طور جدی تنها توسط تولید کنندگان بزرگ، عمدتاً در محصولات پیشرو خطوط ذخیره سازی داده، مورد توجه قرار می گیرد.

    برنامه نویسان پایگاه داده، برنامه نویسان برنامه های کاربردی و مدیران پایگاه داده توجه لازم را به مسائل امنیتی ندارند.

    مقیاس ها و انواع مختلف داده های ذخیره شده نیازمند رویکردهای متفاوتی برای امنیت هستند.

    DBMS های مختلف از لهجه های زبانی مختلف برای دسترسی به داده های سازماندهی شده حول یک مدل استفاده می کنند.

    انواع و مدل های جدید ذخیره سازی داده ها در حال ظهور هستند.

    بیایید با استفاده از مثال خط تولید اوراکل، این مفاد را با جزئیات بیشتری در نظر بگیریم. Oracle Database Server DBMS دارای یک سیستم امنیتی نسبتاً پیشرفته است که شامل ماژول های اساسی و اضافی است و شامل ابزارهای دانه بندی دسترسی به سطح ضبط و پوشاندن داده است. توجه داشته باشید که محصول MySQL DBMS نمی تواند از چنین سطح امنیتی برخوردار باشد. این یک مشکل نسبتاً جدی است، زیرا MySQL یک DBMS پر استفاده در هر دو تجارت الکترونیک و پایگاه‌های داده دولتی است.

    بسیاری از آسیب پذیری های شناسایی شده در مطالعات (به عنوان مثال، در ) به دلیل بی توجهی یا نادیده گرفتن مسائل امنیتی توسط مدیران سیستم پایگاه داده مرتبط باقی می مانند. به عنوان مثال، تکنیک های ساده تزریق SQL شناخته شده امروزه به طور گسترده در رابطه با وب و سایر برنامه های کاربردی مختلف که به کنترل داده های ورودی پرس و جو توجه نمی کنند، مورد سوء استفاده قرار می گیرند. دلایل این امر هم عدم آگاهی یا توجه مدیران DBMS و برنامه نویسان برنامه و هم عدم وجود کنترل های داخلی برای آسیب پذیری های شناخته شده در اکثر DBMS ها است. یک راه حل خوب می تواند خودکارسازی و انتقال کنترل چنین تهدیداتی به سطح سرور باشد، اما تنوع لهجه های زبان این اجازه را نمی دهد.

    همچنین باید توجه داشت که استفاده از ابزارهای مختلف امنیت اطلاعات یک سازش مالی برای سازمان است: معرفی محصولات ایمن تر و جذب پرسنل واجد شرایط بیشتر هزینه بر است. علاوه بر این، مولفه های امنیتی می توانند بر عملکرد سیستم های مدیریت پایگاه داده مانند سطوح سازگاری تراکنش تأثیر منفی بگذارند. انطباق کامل با مدل ACID کندترین راه برای اطمینان از یکپارچگی در کار چند کاربره است. رویکردهایی مانند پوشاندن داده ها یا معرفی بررسی های امنیتی دسترسی نیز سرعت را کاهش می دهد.

    دلیل دیگر این وضعیت، تکه تکه شدن لهجه های زبان پرس و جو DBMS است. اگر فقط DBMS رابطه ای شناخته شده را در نظر بگیریم، علیرغم وجود استاندارد SQL در حال تکامل (SQL-92، SQL-99، SQL-2003، SQL-2008)، حتی سازندگان بزرگ نه تنها از پسوندهای زبان خود استفاده می کنند، بلکه نسخه اتخاذ شده را تا پایان استاندارد عملیات پشتیبانی نمی کند. این واقعیت توسعه مکانیزم های حفاظت از پایگاه داده یکپارچه در سطح سرور را پیچیده می کند.

    مشکلات فوق با ظهور و استفاده گسترده از انبارهای داده غیررابطه ای و DBMS که با مدل داده های متفاوتی کار می کنند، اما بر اساس اصول مشابه ساخته شده اند و هدفی مشابه با سرورهای سنتی و رابطه ای دارند، تشدید می شوند. در واقع، تنوع راه‌حل‌های مدرن به‌اصطلاح NoSQL (غیر رابطه‌ای) منجر به انواع مدل‌های داده مورد استفاده می‌شود و مرز مفهوم پایگاه داده را محو می‌کند.

    پیامد این مشکلات و نبود روش های یکسان، وضعیت امنیتی فعلی سیستم های NoSQL است. این راه‌حل‌ها برای بازار جدید هستند و هنوز از مسیر «اشکالات و آسیب‌پذیری‌ها» همتایان رابطه‌ای بالغ‌تر خود عبور نکرده‌اند. اکثر سیستم‌های NoSQL نه تنها از مکانیسم‌های امنیتی پذیرفته‌شده عمومی مانند رمزگذاری، پشتیبانی از یکپارچگی داده‌ها و ممیزی داده‌ها، بلکه حتی ابزارهای پیشرفته احراز هویت کاربر نیز ندارند.

    ویژگی های سیستم های پایگاه داده به عنوان یک هدف حفاظتی

    در رابطه با ظهور راه حل های جدید در زمینه ذخیره سازی غیر رابطه ای که مرزهای نمای سنتی DBMS را محو می کند (به عنوان مثال، سیستم حافظه نهان داده در حافظه MemcasheDB یا Hadoop HDFS)، عملکردهایی را تعریف می کنیم که تشخیص DBMS از ذخیره سازی فایل و انواع دیگر محصولات نرم افزاری. در این راستا، چندین نشانه برجسته می شود. با فرمول‌بندی مجدد علامت اول - «حفظ مجموعه‌ای از فایل‌ها از نظر منطقی سازگار»، به دلیل توسعه فعال DBMS در حافظه که ذخیره می‌کند و همه عملیات روی داده‌ها در RAM، این معیارها را در نسخه زیر ارائه می‌کنیم:

    حفظ یک مجموعه داده منطقی سازگار؛

    ارائه زبان دستکاری داده ها؛

    بازیابی اطلاعات پس از انواع مختلف خرابی؛

    کار موازی واقعی چند کاربر (فرآیند).

    با استفاده از این رویکرد، می توان DBMS را از سیستم های فایل و انواع دیگر نرم افزارها جدا کرد.

    ویژگی متمایز سیستم های پایگاه داده از انواع دیگر نرم افزارهای کاربردی، (نسبت به امنیت اطلاعات و نه تنها) ماهیت دوگانه آنهاست. از این منظر، DBMS شامل دو جزء است: داده های ذخیره شده (خود پایگاه داده) و برنامه های کنترلی (DBMS).

    تضمین امنیت اطلاعات ذخیره شده، به ویژه، بدون اطمینان از مدیریت امن داده ها غیرممکن است. بر اساس این مفهوم، تمام آسیب پذیری ها و مسائل امنیتی DBMS را می توان به دو دسته تقسیم کرد: وابسته به داده و مستقل از داده.

    توجه داشته باشید که آسیب‌پذیری‌های مستقل از داده (ساختارها، سازمان‌ها و غیره) برای همه انواع نرم‌افزار معمولی هستند. این گروه شامل به روز رسانی های نابهنگام نرم افزار یا وجود توابع استفاده نشده است.

    تعداد زیادی از جنبه های امنیت به داده ها وابسته هستند (به یک درجه یا درجه دیگر). به طور خاص، مکانیسم‌های استنتاج منطقی و تجمیع داده‌ها، که مشکلات خاص DBMS نامیده می‌شوند، می‌توانند مستقیماً وابسته نامیده شوند. در عین حال، بسیاری از آسیب پذیری ها به طور غیر مستقیم به داده ها وابسته هستند. به عنوان مثال، DBMS های مدرن (شامل راه حل های رابطه ای و غیر رابطه ای) از پرس و جوهای روی داده ها با استفاده از نوعی زبان پرس و جو پشتیبانی می کنند. به نوبه خود، زبان های پرس و جو تخصصی (SQL، CQL، OQL، و غیره)، مجموعه ای از توابع قابل دسترسی کاربر (که به نوبه خود می توانند اپراتورهای زبان پرس و جو نیز در نظر گرفته شوند) یا توابع دلخواه در یک زبان برنامه نویسی (اغلب جاوا). ) در این ظرفیت استفاده می شود. رابط های تعمیم یافته برای کار با داده ها در شکل نشان داده شده است.

    معماری زبان‌های مورد استفاده، حداقل تا آنجا که به زبان‌های تخصصی (پرس‌وجوها) و مجموعه ویژگی‌ها مربوط می‌شود، مستقیماً با مدل داده مورد استفاده برای ذخیره اطلاعات مرتبط است. بنابراین، مدل ویژگی‌های زبان را تعیین می‌کند و ویژگی‌های زبان وجود آسیب‌پذیری‌های خاصی را در آن تعیین می‌کند. علاوه بر این، آسیب‌پذیری‌های یک نوع عمومی، مانند تزریق (منظور از تزریق، حمله به پایگاه داده با تغییر درخواست‌های ورودی، وادار کردن سرور DBMS به انجام مجموعه‌ای از اقدامات نامشروع)، بسته به روش‌های متفاوتی (تزریق SQL، تزریق JAVA) انجام می‌شود. در زبان های نحوی و معنایی، که، همانطور که در بالا ذکر شد، تا حدی توسط مدل داده تعریف می شوند و بنابراین، یک جزء وابسته به داده هستند.

    الزامات امنیتی پایگاه داده

    بنابراین، بر اساس جداسازی آسیب‌پذیری‌ها، می‌توان بین اقدامات امنیتی وابسته به داده و مستقل از داده برای ذخیره‌سازی اطلاعات تمایز قائل شد. الزامات زیر برای یک سیستم پایگاه داده ایمن را می توان مستقل از داده نامید.

    · عملکرد در یک محیط قابل اعتماد.

    Trusted به عنوان یک محیط اطلاعاتی درک می شود که مجموعه ای از مکانیسم های حفاظتی را ادغام می کند که پردازش اطلاعات را بدون نقض خط مشی امنیتی تضمین می کند. در این حالت، DBMS باید در یک سیستم اطلاعاتی قابل اعتماد با روش های تبادل داده مناسب عمل کند.

    · سازمان امنیت فیزیکی فایل های داده.

    این موضوع نیاز به مطالعه دقیق تری دارد، زیرا ساختارهای داده مورد استفاده در مدل های مختلف داده DBMS می تواند در رمزگذاری و محافظت از فایل های داده مهم باشد. با این حال، در یک تقریب اول، موضوع امنیت فیزیکی فایل های داده مشابه مسئله امنیت فیزیکی هر کاربر و فایل کاربردی دیگری است.

    · سازماندهی تنظیمات امن و به روز DBMS.

    این جنبه شامل مسائل امنیتی عمومی مانند نصب به موقع به روز رسانی ها، غیرفعال کردن ماژول های استفاده نشده، یا اعمال یک خط مشی رمز عبور موثر است.

    الزامات زیر را می توان وابسته به داده نامید.

    · امنیت لایه نرم افزار کاربر.

    · سازماندهی و دستکاری داده های امن.

    موضوع سازماندهی و مدیریت داده ها در سیستم های ذخیره سازی اطلاعات کلیدی است. علیرغم اینکه این بخش در لیست آخرین فهرست قرار دارد، این حوزه شامل سازماندهی داده ها با کنترل یکپارچگی، حفاظت از استنتاج و سایر مسائل امنیتی خاص DBMS است. در واقع، این وظیفه شامل مخزن اصلی آسیب پذیری های وابسته به داده و محافظت در برابر آنها می شود.

    راه های ایجاد پایگاه داده ایمن

    برای غلبه بر این مشکلات تضمین امنیت اطلاعات DBMS، لازم است از روش بستن آسیب پذیری ها به یک رویکرد یکپارچه برای اطمینان از امنیت ذخیره سازی اطلاعات حرکت کنیم. مراحل اصلی این انتقال، به گفته نویسندگان، باید مفاد زیر باشد.

    1. توسعه روش های پیچیده برای تضمین امنیت انبارهای داده در مرحله فعلی.

    ایجاد متدولوژی های پیچیده امکان استفاده از آنها (یا نسخه های مربوط به آنها) را در توسعه انبارهای داده و نرم افزارهای کاربر فراهم می کند. مبنای ایجاد چنین اسنادی می تواند آثاری باشد که مثلاً مشکلات را تعمیم می دهد یا. پیروی از یک روش جامع به شما این امکان را می دهد که از بسیاری از خطاهای مدیریت DBMS جلوگیری کنید و از آسیب پذیری های رایج امروزی محافظت کنید.

    2. ارزیابی و طبقه بندی تهدیدات و آسیب پذیری های DBMS.

    طبقه بندی تخصصی تهدیدات و آسیب پذیری های DBMS ترتیب آنها را برای تجزیه و تحلیل و حفاظت بعدی ممکن می سازد و امکان برقراری ارتباط بین آسیب پذیری ها و علل (منابع) وقوع آنها را فراهم می کند. در نتیجه زمانی که مکانیزم خاصی به DBMS وارد می شود، امکان شناسایی و پیش بینی تهدیدات مرتبط با آن و تهیه ابزارهای امنیتی مناسب از قبل وجود خواهد داشت.

    3. توسعه مکانیزم های امنیتی استاندارد (قابل استفاده برای DBMS های مختلف بدون ایجاد تغییرات یا با حداقل تغییرات).

    استانداردسازی رویکردها و زبان‌ها برای کار با داده‌ها، ایجاد ابزارهای امنیتی چندپلتفرمی قابل اجرا برای DBMS های مختلف را ممکن می‌سازد. از یک طرف، اینها رویکردهای روش شناختی و نظری هستند که در مدل داده قابل اجرا هستند. تا به امروز، چنین مکانیسم‌هایی مطابق مدل رابطه‌ای توسعه یافته است، اما آنها همه مسائل امنیتی مبرم را حل نمی‌کنند. از سوی دیگر، توسعه یک مبنای نظری برای DBMS جدید، به ویژه، مشخص کردن و رسمی‌سازی مدل‌های داده انبوه است. ظاهر ابزارهای نرم افزاری آماده تا حد زیادی به سازندگان و توسعه دهندگان DBMS و رعایت استانداردها و همچنین کفایت وسایل تعریف شده در استاندارد برای ساخت مکانیزم های امنیتی پیشرفته بستگی دارد.

    4. توسعه یک پایگاه نظری برای حفاظت اطلاعات سیستم های ذخیره سازی و دستکاری داده ها.

    تعدادی از ویژگی های مشخصه مخصوص انبارهای داده در بالا ذکر شده است: ماهیت دوگانه یک DBMS، وابستگی آسیب پذیری ها و مکانیسم های کنترلی به داده ها و مدلی که سازمان آنها را توصیف می کند، تهدیدات استنتاج، و اهمیت متفاوت ترکیبات داده ها. همه اینها ماهیت خاص امنیت DBMS را تعیین می کند و نیازمند رویکردهای نظری جدید برای تضمین حفاظت از داده ها در سیستم های نرم افزاری از این نوع است. یک مسئله بزرگ جداگانه، توسعه یک مبنای نظری در زمینه رسمی کردن مدل داده، و همچنین توسعه رویکردهایی برای اطمینان از یکپارچگی اطلاعات برای ذخیره‌سازی‌های جدید NoSQL است.

    با توجه به مطالب گفته شده، نتایج زیر را می گیریم. در نتیجه بررسی آثار روسی و خارجی، و همچنین وضعیت بازار DBMS، این مقاله رویکرد فعلی برای تضمین امنیت، اصول و مراحل اصلی تکامل سیستم های پایگاه داده را برجسته می کند. مشکلات امنیت اطلاعات DBMS مدرن فرموله شده است: انواع ابزارهای زبانی، ظهور مدل های داده جدید که توسط پایه های نظری پشتیبانی نمی شوند، نیاز به یافتن تعادل بین امنیت و هزینه آن، توسعه سیستم های حفاظتی پاسخی به از دست دادن سرمایه و اعتبار و همچنین عدم توجه عمومی به مسائل امنیتی.

    ضوابطی فرموله شده است که DBMS را از محصولات نرم افزاری مشابه متمایز می کند، با در نظر گرفتن خوشه های جدید و در راه حل های حافظه، ویژگی های این دسته از نرم افزارها از نظر امنیت اطلاعات و تقسیم بندی اساسی آسیب پذیری ها به وابسته و مستقل از داده ها و سازماندهی آنها می باشد. پیشنهاد شده.

    در نتیجه، الزامات عمومی برای امنیت پایگاه داده، روش های امیدوارکننده تحقیق و توسعه سیستم های حفاظتی برای ساخت سرورهای قابل اعتماد و ایمن برای پردازش اطلاعات فرموله می شود. آنها شامل سیستم‌بندی و توسعه رویکردهای موجود در قالب توسعه روش‌ها و استانداردسازی مکانیسم‌های حفاظتی و همچنین زمینه‌های تحقیقات جدید، به عنوان مثال، طبقه‌بندی آسیب‌پذیری‌های DBMS و رسمی‌سازی مدل‌های داده جدید، ساخت حفاظت پیش‌بینی‌کننده بودند. ابزار.

    ادبیات

    1. بررسی نشت اطلاعات نیمه اول سال 1394. آدرس اینترنتی: http://www.infowatch.ru/analytics/reports/16340 (تاریخ دسترسی: 2016/02/26).

    2. امنیت اطلاعات کسب و کار. بررسی روندهای جاری در امنیت اطلاعات کسب و کار. 2014. URL: http://media.kaspersky.com/pdf/IT_risk_report_Russia_2014.pdf (دسترسی در 2016/02/26).

    3. ساندو راوی اس.، جاجودیا سوشیل. امنیت و کنترل داده ها و پایگاه داده Handbook of Information Security Management, Auerbach Publishers, 1993, pp. 181-199.

    4. Qiu M., Davis S. مکانیسم های امنیتی پایگاه داده و پیاده سازی. IACIS، Issues in Inform. سیستم 2002، ج. 03، صص. 529-534.

    5. Lesov P. امنیت پایگاه داده: دیدگاه تاریخی. 2010. URL: http://arxiv.org/ftp/arxiv/papers/1004/1004.4022.pdf (دسترسی در 2016/02/26).

    6. Burtescu E. امنیت پایگاه داده - حملات و روش های کنترل. ژورنال. روشهای کمی کاربردی، 2009، جلد. 4، نه 4، صص 449-454.

    7. روهیلا اس.، میتال پ.ک. امنیت پایگاه داده: موضوعات و چالش ها کارآموز ژورنال. تحقیقات پیشرفته در علوم کامپیوتر و مهندسی نرم افزار، 2013، جلد. 3، iss. 5، صص. 810-813.

    8. پوتاپوف A.E.، Manukhina D.V.، Solomatina A.S.، Badmaev A.I.، Yakovlev A.V.، Nilova A.S. امنیت پایگاه داده های محلی به عنوان مثال SQL Server Compact // Vestn. تامبوف دانشگاه سری: علوم طبیعی و فنی. 2014. شماره 3. S. 915-917.

    9. Bortovchuk Yu.V.، Krylova K.A.، Ermolaeva L.V. امنیت اطلاعات در سیستم های مدیریت پایگاه داده مدرن // مشکلات مدرن توسعه اقتصادی و اجتماعی. 2010. شماره 6. S. 224-225.

    10. Gorbachevskaya E.N.، Kat'yanov A.Yu.، Krasnov S.S. امنیت اطلاعات با استفاده از Oracle DBMS // Vestn. VUiT. 2015. شماره 2 (24). صص 72-85.

    11. Tkachenko N.O. پیاده سازی مانیتور امنیتی MySQL DBMS در سیستم های dbf/dam // PDM. کاربرد. 2014. شماره 7. S. 99-101.

    12. Poltavtseva M.A. مشکل ذخیره حقوق دسترسی به داده ها در RDBMS به عنوان مثال Microsoft SQL Server // جهت های واقعی تحقیقات بنیادی و کاربردی: mater. کارآموز V علمی-عملی. conf. 2015. S. 118-120.

    13. Baranchikov A.I., Baranchikov P.A., Pylkin A.N. الگوریتم ها و مدل های دسترسی به رکوردهای پایگاه داده M.: Hotline-Telecom، 2011. 182 ص.

    14. پولیاکوف A.M. امنیت اوراکل از نگاه یک حسابرس: حمله و دفاع M.: DMK Press, 2014. 336 ص.

    15. اسمیرنوف اس.ن. امنیت سیستم های پایگاه داده M.: Helios ARV, 2007. 352 p.

    16Murray M.C. امنیت پایگاه داده: آنچه دانش آموزان باید بدانند JITE:IIP، جلد. 9، 2010، صص. 61-77.

    17. راهنمای پیاده سازی فنی امنیت پایگاه داده (STIG). وزارت دفاع آمریکا آیات 7. انتشار 1. 2004. URL: https://www.computer.org/cms/s2esc/s2esc_excom/Minutes/2005-03/DISA%20STIGs/DATABASE-STIG-V7R1.pdf.

    18. زگژدا پ.د. تضمین امنیت اطلاعات در شرایط ایجاد یک فضای اطلاعاتی واحد // حفاظت از اطلاعات. داخل. 2007. شماره 4 (16). ص 28-33.

    19. ده تهدید برتر امنیت پایگاه داده. URL: http://www.imperva.com/docs/wp_topten_database_threats.pdf IMPREVA 2015 (دسترسی در 2016/02/26).

    20. کوزنتسوف اس.د. پایگاه داده: کتاب درسی برای دانش آموزان. م.: فرهنگستان، 2012. 496 ص.

    21. Zegzhda D.P., Kalinin M.O. اطمینان از وکالتنامه محیط اطلاعاتی بر اساس گسترش مفهوم "یکپارچگی" و مدیریت امنیت // اطلاع رسانی مشکل. امنیت. سیستم های کامپیوتری. 2009. شماره 4. S. 7-16.

    22. Poltavtseva M.A., Zegzhda D.P., Suprun A.F. امنیت پایگاه داده: کتاب درسی. کمک هزینه سن پترزبورگ: انتشارات SPbPU، 2015. 125 ص.

    کار دوره

    نرم افزار MDK 02.02.R1. پیاده سازی پایگاه داده در DBMS های دسترسی

    با موضوع: "طراحی بانک اطلاعاتی یک سازمان تجاری"

    تکمیل شده: دانشجویی gr. PO-41

    M.V. Tsatsin

    سر: I.I. شالاوا

    مقطع تحصیلی:__________________

    G. Sterlitamak


    معرفی ................................................. ................................................ . ..... 3

    فرمول بندی مسئله................................................ .................................. 5

    1. مفاهیم اساسی در مورد پایگاه های داده در دسترسی MS ................................... 6

    1.1 پایگاه های داده و سیستم های مدیریت پایگاه داده ................................ 6

    1.2. انواع داده ها 7

    1.3. امنیت پایگاه داده 8

    2. ساختار پایگاه داده................................................ ...................................... 10

    2.1 طرحواره ...................................... ...................................................... ...... 10

    2.2 جداول ...................................................... ...................................... یازده

    2.3. تشکیل می دهد ................................................. ................................................ . 16

    2.4. درخواست ها................................................. ................................................ 19

    2.5. گزارش ها................................................. ................................................ . .21

    3. نوع پایگاه داده سازمان بازرگانی که با فروش ماهی پرنده سروکار دارد. ...................................................... ................. 23

    نتیجه................................................. ................................................ 25

    معرفی

    برای اتخاذ تصمیمات صحیح و مؤثر در فعالیت های تولیدی، مدیریت اقتصادی و سیاست، یک متخصص مدرن باید بتواند داده ها را با استفاده از رایانه و ارتباطات دریافت، جمع آوری، ذخیره و پردازش کند و نتیجه را در قالب اسناد تصویری ارائه دهد. در جامعه مدرن، فناوری اطلاعات به سرعت در حال توسعه است، آنها به تمام حوزه های فعالیت انسانی نفوذ می کنند.

    در حوزه های مختلف اقتصاد، اغلب لازم است با داده هایی از منابع مختلف کار کرد که هر کدام با نوع خاصی از فعالیت مرتبط است. برای هماهنگ کردن همه این داده ها، دانش و مهارت های سازمانی خاصی مورد نیاز است.

    محصول مایکروسافت - Access اطلاعات منابع مختلف را در یک پایگاه داده رابطه ای ترکیب می کند. فرم‌ها، پرسش‌ها و گزارش‌هایی را ایجاد می‌کند که به شما امکان می‌دهد به‌سرعت و کارآمد داده‌ها را به‌روزرسانی کنید، پاسخ سؤالات را دریافت کنید، داده‌های مرتبط را جستجو کنید، داده‌ها را تجزیه و تحلیل کنید، گزارش‌ها را چاپ کنید، نمودارها، و برچسب‌های پستی.



    هدف از این کار درسی بررسی تئوری و ایجاد پایگاه داده در محصول مایکروسافت برای مدیریت پایگاه‌های اطلاعاتی «میکروسافت اکسس» با موضوع: «طراحی پایگاه داده یک سازمان بازرگانی» در زمینه پیاده‌سازی پرنده‌ماهی است.

    اهداف کار درسی عبارت بودند از:

    · ارتباط موثر اطلاعات.

    · امکان دسترسی به اطلاعات.

    · پایگاه داده را با داده های جدید گسترش دهید.

    · صحت اطلاعات را بررسی کنید.

    · جلوگیری از خطاهای احتمالی برای دسترسی به پایگاه داده.

    · فقط به اطلاعاتی که برای کار ضروری است دسترسی داشته باشید.

    · قابلیت ویرایش اطلاعات را فقط برای افراد قابل اعتماد باز کنید.

    · تسهیل راه برای ویرایش اطلاعات و همچنین برای گزارش.


    فرمول بندی مشکل

    1.1. یک پایگاه داده (DB) "سازمان تجاری" را توسعه دهید که به شما امکان می دهد:

    موجودی کالاهای موجود؛

    حسابداری خریداران؛

    حسابداری برای تحویل کالا؛

    1.2. الزامات اساسی برای پایگاه داده بر اساس مجموعه عملکردی:

    1.2.1. الزامات حسابداری تجارت:

    خرید کالا بر اساس نوع؛

    خرید کالا بر اساس تاریخ برای یک دوره معین؛

    1.2.2. الزامات حسابداری مشتری

    · داده های مربوط به تحویل محصولات به مشتریان؛

    · مجموعه ای از پرنده ماهی.

    · گزارش خرید بر اساس تاریخ.

    · گزارش خرید بر اساس انواع.


    مفاهیم اساسی در مورد پایگاه های داده در MS ACCESS

    پایگاه های داده و سیستم های مدیریت پایگاه داده

    پایگاه داده یک ساختار سازمان یافته برای ذخیره اطلاعات است. پایگاه های داده مدرن نه تنها داده ها، بلکه اطلاعات را نیز ذخیره می کنند.

    اگر مثلاً پایگاه داده کتابخانه را در نظر بگیریم، توضیح این عبارت آسان است. این شامل تمام اطلاعات لازم در مورد نویسندگان، کتاب ها، خوانندگان و غیره است. هم کارکنان کتابخانه و هم خوانندگانی که نیاز به یافتن نشریه دارند می توانند به این پایگاه داده دسترسی داشته باشند. اما در میان آنها به ندرت شخصی وجود دارد که به کل پایگاه داده دسترسی کامل داشته باشد و در عین حال بتواند به تنهایی تغییرات دلخواه را در آن ایجاد کند. علاوه بر داده ها، پایگاه داده حاوی روش ها و ابزارهایی است که به هر یک از کارکنان اجازه می دهد تنها با داده هایی که در صلاحیت او هستند، فعالیت کنند. در نتیجه تعامل داده های موجود در پایگاه داده با روش های موجود برای کارکنان خاص، اطلاعاتی شکل می گیرد که آنها مصرف می کنند و بر اساس آن داده ها را در صلاحیت خود وارد و ویرایش می کنند.

    مفهوم سیستم مدیریت پایگاه داده ارتباط نزدیکی با مفهوم پایگاه داده دارد. این مجموعه ای از ابزارهای نرم افزاری است که برای ایجاد ساختار یک پایگاه داده جدید، پر کردن آن با محتوا، ویرایش محتوا و تجسم اطلاعات طراحی شده است. تجسم اطلاعات پایگاه داده به عنوان انتخاب داده های نمایش داده شده مطابق با یک معیار مشخص، سفارش، طراحی و صدور بعدی به دستگاه های خروجی یا انتقال از طریق کانال های ارتباطی درک می شود.

    سیستم های مدیریت پایگاه داده زیادی در دنیا وجود دارد. با وجود این واقعیت که آنها می توانند با اشیاء مختلف به روش های مختلف کار کنند و عملکردها و ابزارهای متفاوتی را در اختیار کاربر قرار دهند، اکثر DBMS ها بر یک مجموعه واحد از مفاهیم اولیه تکیه دارند. این به ما این فرصت را می دهد که یک سیستم را در نظر بگیریم و مفاهیم، ​​تکنیک ها و روش های آن را به کل کلاس DBMS تعمیم دهیم. به عنوان یک شی آموزشی، ما Microsoft Access DBMS را انتخاب می کنیم که بخشی از بسته Microsoft Office است.

    انواع داده ها

    جداول پایگاه داده تمایل دارند تعداد بسیار بیشتری از انواع مختلف داده را مدیریت کنند. به عنوان مثال، پایگاه داده های Microsoft Access با انواع داده های زیر کار می کنند.

    · Text نوع داده ای است که برای ذخیره متن معمولی بدون قالب با اندازه محدود (تا 255 کاراکتر) استفاده می شود.

    · عددی - نوع داده برای ذخیره اعداد واقعی.

    · فیلد یادداشت یک نوع داده خاص برای ذخیره مقادیر زیاد متن (تا 65535 کاراکتر) است. متن به صورت فیزیکی در فیلد ذخیره نمی شود. در مکان دیگری در پایگاه داده ذخیره می شود و اشاره گر به آن در فیلد ذخیره می شود، اما چنین جدایی همیشه برای کاربر قابل توجه نیست.

    · تاریخ/زمان – نوع داده برای ذخیره تاریخ های تقویم و زمان فعلی.

    · پولی - نوع داده برای ذخیره مقادیر پولی. از نظر تئوری، فیلدهایی از نوع عددی نیز می‌توانند برای ثبت آنها استفاده شوند، اما برای مقادیر پولی برخی ویژگی‌ها (مثلاً مربوط به قوانین گرد کردن) وجود دارد که استفاده از یک نوع داده خاص را به جای تنظیم یک نوع عددی راحت‌تر می‌کند. .

    شمارنده - یک نوع داده خاص برای اعداد طبیعی منحصر به فرد (که در میدان تکرار نمی شوند) با افزایش خودکار. استفاده طبیعی برای شماره گذاری متوالی رکوردها است.

    · Boolean - نوعی برای ذخیره داده های منطقی (آنها فقط می توانند دو مقدار بگیرند، به عنوان مثال، بله یا خیر).

    · Lookup Wizard یک نوع داده خاص نیست. این یک شی است که می‌توان آن را به گونه‌ای پیکربندی کرد که وارد کردن داده‌ها را در فیلد به‌طور خودکار وارد کنید، به طوری که شما آن را به صورت دستی وارد نکنید، بلکه آن را از یک لیست کشویی انتخاب کنید.

    امنیت پایگاه داده

    پایگاه های داده نیز فایل هستند، اما کار با آنها با کار با انواع دیگر فایل های ایجاد شده توسط برنامه های کاربردی دیگر متفاوت است. در بالا دیدیم که سیستم عامل تمام نگهداری ساختار فایل را بر عهده دارد. پایگاه داده دارای الزامات امنیتی ویژه ای است، بنابراین آنها رویکرد متفاوتی برای ذخیره داده ها دارند.

    پایگاه داده ها ساختارهای خاصی هستند. اطلاعاتی که آنها در خود دارند اغلب دارای ارزش عمومی هستند. این غیر معمول نیست که هزاران نفر در سراسر کشور با یک پایگاه داده کار کنند. رفاه بسیاری از افراد ممکن است به اطلاعات موجود در برخی پایگاه های داده بستگی داشته باشد. بنابراین، یکپارچگی محتویات پایگاه داده نمی تواند و نباید به اقدامات خاص یک کاربر خاص که فراموش کرده است فایل ها را قبل از خاموش کردن رایانه ذخیره کند یا به قطع برق بستگی دارد.

    مشکل امنیت پایگاه داده با این واقعیت حل می شود که DBMS از یک رویکرد دوگانه برای ذخیره اطلاعات استفاده می کند. برخی از عملیات ها، طبق معمول، شامل سیستم عامل کامپیوتر می شود، اما برخی از عملیات ها را ذخیره می کند، سیستم عامل را دور می زند.


    ساختار پایگاه داده

    طرح واره داده

    طرح داده مدل داده صفحه دسترسی به داده را به صورت درختی نمایش می دهد. منابع داده، فیلدها و کنترل های صفحه را ذخیره می کند. از آنجایی که لیست فیلدها محتوای صفحه خاصی را نمایش نمی دهد، بهتر است از ساختار داده برای آشنایی با ساختار صفحه استفاده کنید. همچنین می توانید اشیاء نمایش داده شده در ساختار داده را انتخاب کنید، پارامترهای آنها را تنظیم کنید، پیوندهای بین منابع داده را تعریف و ویرایش کنید، فیلدها و منابع داده را حذف کنید.


    شکل 1 طرح واره داده

    اجزای طرحواره داده سه جدول است:

    "نامگذاری"

    "تحویل کالاها"

    "خریداران"


    جداول

    جداول اشیاء اساسی هر پایگاه داده هستند. اولاً جداول تمام داده های موجود در پایگاه داده را ذخیره می کند و ثانیاً جداول ساختار پایگاه داده (فیلدها، انواع و ویژگی های آنها) را نیز ذخیره می کند.

    من هر 3 جدول را در حالت طراحی ایجاد کردم، در همه جداول فیلد کلیدی - ProductCode است.

    سازنده جدول "نامگذاری پرنده ماهی" در شکل 2 نشان داده شده است.

    شکل 2 ساختار جدول "نامگذاری پرنده ماهی"


    جدول "نامگذاری پرنده ماهی" نشان داده شده در شکل 3 برای نمایش کل محدوده ای که سازمان دارد طراحی شده است.

    جدول "نامگذاری پرنده ماهی"


    سازنده جدول "مشتریان" در شکل 3 نشان داده شده است.


    سیستم های مدیریت پایگاه داده به ابزار اصلی برای ذخیره حجم زیادی از اطلاعات تبدیل شده اند. برنامه های اطلاعاتی مدرن اساساً بر DBMS چند کاربره متکی هستند. در این راستا، در حال حاضر به مشکلات تضمین امنیت اطلاعات توجه زیادی می شود که میزان امنیت یک سازمان، یک موسسه را به عنوان یک کل تعیین می کند.

    امنیت اطلاعات به عنوان محافظت از اطلاعات در برابر اثرات تصادفی و عمدی ماهیت طبیعی یا مصنوعی، مملو از آسیب به صاحبان یا استفاده کنندگان اطلاعات، درک می شود.

    به منظور حفاظت از اطلاعات در پایگاه های داده، مهمترین جنبه های امنیت اطلاعات (معیارهای اروپایی):

    شرایط دسترسی (توانایی دریافت برخی از خدمات اطلاعات مورد نیاز)؛

    یکپارچگی (ثبات اطلاعات، محافظت از آن در برابر تخریب و تغییرات غیرمجاز)؛

    محرمانه بودن (محافظت در برابر خواندن غیرمجاز).

    مشکل تضمین امنیت اطلاعات پیچیده است، بنابراین راه حل آن باید در سطوح مختلف مورد بررسی قرار گیرد: قانونی، اداری، رویه ای و نرم افزاری و سخت افزاری. در حال حاضر، مشکل توسعه یک چارچوب قانونی که استفاده ایمن از سیستم های اطلاعاتی را تضمین می کند، به ویژه در روسیه حاد است.

    اقدامات نرم افزاری و سخت افزاری اصلی که با بکارگیری آنها برخی از مشکلات فوق را حل می کند عبارتند از:

    احراز هویت و شناسایی کاربر؛

    کنترل دسترسی به پایگاه داده؛

    حفظ یکپارچگی داده ها؛

    ثبت و حسابرسی؛

    حفاظت از ارتباطات بین مشتری و سرور؛

    دفع تهدیدهای خاص DBMS

    احراز هویت کاربر برنامه های پایگاه داده اغلب یا از طریق مکانیسم های مناسب سیستم عامل یا از طریق یک بیانیه SQL خاص انجام می شود: کاربر با نام خود شناسایی می شود و رمز عبور به عنوان ابزار احراز هویت عمل می کند. چنین سیستمی مشکلات قابل توجهی را برای چک های مکرر ایجاد می کند و قبل از هر معامله چنین چک هایی را حذف می کند.

    کنترل دسترسی به پایگاه داده بر اساس اجرای حداقل مجموعه اقدامات زیر است:

    کنترل دسترسی دلخواه؛

    تامین امنیت استفاده مجدد از اشیاء؛

    استفاده از برچسب های امنیتی؛

    کنترل دسترسی اجباری

    کنترل دسترسی خودسرانه روشی برای محدود کردن دسترسی به اشیا بر اساس هویت سوژه یا گروه هایی است که موضوع به آنها تعلق دارد. این فناوری به صاحب یک شی (نما، سرور پایگاه داده، رویه، جدول) امکان انتقال امتیازات به شخص دیگری را به صلاحدید خود می دهد. این شخص در این شرایط می تواند یک سوژه کاربر، یک گروه از کاربران باشد.

    مزیت اصلی کنترل دسترسی دلخواه، انعطاف پذیری است. با این حال، ویژگی های مرتبط مانند مدیریت پراکنده و پیچیدگی کنترل متمرکز مشکلات زیادی را برای امنیت داده ها ایجاد می کند.

    همچنین باید به اطمینان از امنیت استفاده مجدد از پایگاه داده توسط افراد توجه شود. این به معنای سلب حق ورود به سیستم اطلاعاتی تمامی کاربرانی است که از سازمان خارج شده اند.

    یک برچسب امنیتی از دو بخش تشکیل شده است: یک سطح امنیتی و یک لیست از دسته ها. مؤلفه اول به کاربرد بستگی دارد و در حالت استاندارد می تواند مانند محدوده ای از مقادیر از مخفی تا غیر مخفی به نظر برسد. مؤلفه دوم به شما امکان می دهد تا منطقه موضوع را توصیف کنید، اطلاعات را به بخش هایی تقسیم کنید، که به امنیت بهتر کمک می کند. مکانیسم برچسب‌های امنیتی لغو نمی‌شود، اما کنترل دسترسی دلخواه را تکمیل می‌کند: کاربران همچنان می‌توانند با جداول فقط در چارچوب امتیازات خود کار کنند، تنها بخشی از داده‌ها را دریافت کنند. مشکل اصلی استفاده از برچسب های امنیتی حفظ یکپارچگی آنهاست. این بدان معنی است که همه اشیا و موضوعات باید برچسب گذاری شوند و برچسب ها باید برای هر عملیات روی داده ها معتبر باقی بمانند.

    کنترل دسترسی اجباری بر اساس تطبیق برچسب های امنیتی موضوع و شی است. برای خواندن اطلاعات یک شی، برچسب موضوع باید بر برچسب شی غلبه داشته باشد. هنگام انجام عملیات نوشتن اطلاعات بر روی یک شی، برچسب امنیتی شی باید بر برچسب موضوع تسلط داشته باشد. این روش کنترل دسترسی اجباری نامیده می شود، زیرا به اراده افراد بستگی ندارد. او در DBMS کاربرد پیدا کرد که مشخصه آن افزایش اقدامات امنیتی بود.

    اطمینان از یکپارچگی داده ها کمتر از کنترل دسترسی مهم نیست. از دیدگاه کاربران DBMS، ابزار اصلی حفظ یکپارچگی داده ها محدودیت ها و قوانین هستند. محدودیت‌ها را می‌توان مستقیماً در مدل داده‌های رابطه‌ای قرار داد، یا می‌توان آنها را در طول ایجاد جدول تنظیم کرد. محدودیت های جدول می تواند به گروهی از ستون ها، ویژگی های فردی اشاره کند. محدودیت های مرجع مسئول حفظ یکپارچگی روابط بین جداول هستند. محدودیت ها توسط صاحب جدول اعمال می شود و بر نتیجه عملیات بعدی روی داده ها تأثیر می گذارد. قوانین به شما این امکان را می دهند که در صورت وقوع تغییرات خاصی در پایگاه داده، رویه های مشخصی را اجرا کنید. برخلاف محدودیت‌ها، که کنترل شرایط نسبتاً ساده را فراهم می‌کنند، قوانین به شما اجازه می‌دهند تا روابط با هر پیچیدگی بین اقلام داده در پایگاه داده را بررسی و حفظ کنید. با این حال، هنگام استفاده از قوانین به عنوان ابزار امنیت اطلاعات، یک خطا در یک سیستم پیچیده از قوانین مملو از عواقب غیر قابل پیش بینی برای کل پایگاه داده است.

    ثبت و حسابرسی شامل موارد زیر است:

    شناسایی اقدامات غیرعادی و مشکوک کاربر و شناسایی افرادی که مرتکب این اقدامات شده اند.

    ارزیابی عواقب احتمالی نقض؛

    کمک کردن؛

    سازمان حفاظت غیر فعال اطلاعات در برابر اقدامات غیرقانونی کاربر.

    مشکل حفاظت از ارتباطات بین مشتری و سرور در سیستم های اطلاعاتی مختص یک DBMS نیست. برای اطمینان از حفاظت از اطلاعات، یک سرویس امنیتی اختصاص داده شده است که وظایف آن شامل احراز هویت، رمزگذاری و مجوز است.

    با این حال، منبع اصلی تهدیدات برای DBMS در ماهیت پایگاه داده ها نهفته است. اطلاعات وضعیت اغلب ضروری، اما غیرقابل دسترس را می توان با استنباط به دست آورد. به عنوان مثال، با استفاده از عملیات add، به جای عملیات Select (که هیچ حقی ندارد)، می توان کدهای تکمیل دستورات SQL را تجزیه و تحلیل کرد. برای مبارزه با چنین تهدیداتی، از مکانیزم ضرب رشته DBMS استفاده می شود که از برچسب های امنیتی پشتیبانی می کند. تجمیع روشی برای به دست آوردن اطلاعات جدید با ترکیب داده های به دست آمده از جداول مختلف پایگاه داده است. شما می توانید با طراحی دقیق مدل داده و محدود کردن دسترسی کاربر به اطلاعات تا حد امکان، با تجمع مبارزه کنید.

    • دودکینا آناستازیا سرگیونا، لیسانس، دانشجو
    • دانشگاه کشاورزی دولتی باشقیر
    • حفاظت
    • PHPMYADMIN
    • MySQL
    • پایگاه داده

    این مقاله در مورد زمینه های اصلی حفاظت از داده های ذخیره شده یا پردازش شده در سیستم های مدیریت پایگاه داده (DBMS) بحث می کند. نحوه محافظت از محرمانه بودن و یکپارچگی اطلاعات با استفاده از ابزارهای آسان برای استفاده در DBMS را شرح می دهد.

    • فناوری اطلاعات تعامل در مدیریت شهری
    • برخی از خواص ساختارهای توسعه یافته در توزیع منیفولدهای دومتریک
    • در مورد یک کلاس از ساختارهای بی متریک توسعه یافته در توزیع منیفولدهای زیر ریمانی
    • نمایش تصویری داده های آماری با استفاده از نمودار حباب

    در حال حاضر، تقریباً هیچ سازمان مدرنی نمی تواند بدون استفاده از پایگاه های داده در فعالیت های خود کار کند. پایگاه های داده (DB) مهم ترین و با ارزش ترین دارایی برای هر شرکت است. از آنجایی که اطلاعات بسیار حساس یا محرمانه را می توان در یک پایگاه داده ذخیره کرد، حفاظت از آن باید بسیار جدی گرفته شود. هر گونه نقص در عملکرد DBMS و پایگاه داده می تواند منجر به عواقب فاجعه بار شود.

    ابزار اصلی حفاظت از اطلاعات شامل موارد زیر است:

    • حفاظت از رمز عبور؛
    • حفاظت از فیلدها و سوابق جداول پایگاه داده
    • ایجاد حقوق دسترسی به اشیاء پایگاه داده؛
    • رمزگذاری داده ها و برنامه ها؛

    حفاظت از پایگاه داده در دو سطح انجام می شود:

    • در سطح رمز عبور؛
    • در سطح کاربر (حفاظت از حساب های کاربری و اشیاء شناسایی شده).

    PhpMyAdmin یک برنامه PHP است که برای مدیریت سرور MySQL در شبکه جهانی وب طراحی شده است. phpMyAdmin طیف وسیعی از عملیات MySQL را پشتیبانی می کند. متداول‌ترین عملیات‌های مورد استفاده از طریق رابط کاربری (مدیریت پایگاه داده، جداول، فیلدها، روابط، فهرست‌ها، کاربران، مجوزها و غیره) پشتیبانی می‌شوند و شما می‌توانید مستقیماً هر درخواست SQL را همزمان اجرا کنید.

    تضمین امنیت اطلاعات پروژه توسعه یافته در چندین سطح انجام می شود. در سطح اول، حفاظت از اطلاعات توسط خود سیستم phpMyAdmin انجام می شود که از ورودی به کنترل پنل شروع می شود، جایی که پنل شما را ملزم به وارد کردن لاگین و رمز عبور می کند.

    سطح بعدی حفاظت توسط MySQL DBMS ارائه می شود و همچنین حقوق دسترسی را محدود می کند.


    شکل 2. نمای کلی حساب ها

    علاوه بر این، همچنین می‌توان دسترسی را نه تنها به خود سیستم مدیریت پایگاه داده، بلکه به طور جداگانه به پایگاه‌های داده، جداول پایگاه داده، رکوردهای جداول خاص و حتی به جدول یا مقادیر فیلد ثبت محدود کرد. لازم به ذکر است که توابع رمزگذاری داخلی در همه DBMS وجود ندارد. بنابراین نمی توان این روش را جهانی نامید. این DBMS دو مجموعه یکسان از توابع رمزگذاری را ارائه می دهد که یکی از آنها الگوریتم DES و دیگری AES را پیاده سازی می کند. علاوه بر این، MySQL چندین الگوریتم هش را پیاده سازی می کند. مجموعه توابع رمزنگاری این DBMS به شکل زیر است:

    جدول 1. توابع رمزنگاری DBMS

    توابع رمزگذاری داده های AES از یک کلید رمزگذاری 128 بیتی استفاده می کنند، یعنی رمزگذاری با کلیدهای AES 192 و 256 بیتی در MySQL پیاده سازی نشده است. کلید رمزگذاری به صراحت به عنوان یکی از پارامترهای تابع مشخص شده است. در مقابل، توابع DES_ENCRYPT() و DES_DECRYPT()، که با استفاده از الگوریتم TripleDES رمزگذاری می‌کنند، علاوه بر مشخص کردن صریح کلید رمزگذاری، ساده‌ترین گزینه مدیریت کلید را در قالب یک فایل کلیدی حاوی مقادیر کلید شمارش شده امکان پذیر می‌سازند. با این حال، این توابع به طور پیش فرض غیرفعال هستند؛ برای استفاده از آنها، باید پشتیبانی از پروتکل SSL را در پیکربندی DBMS فعال کنید.

    تابع ENCRYPT () فقط می تواند در سیستم عامل های یونیکس استفاده شود زیرا داده ها را با استفاده از فراخوانی سیستم crypt () رمزگذاری می کند. با توجه به توابع هش استفاده شده، مستندات MySQL هشدار می دهد که الگوریتم های زیربنایی هک شده اند (این به طور خاص در جزئیات آمده است، بنابراین باید با احتیاط از آنها استفاده شود. با این حال، MySQL هنوز توابع قوی تری ارائه نمی دهد. توابع رمزنگاری ذکر شده در بالا نیز بسیار هستند. برای استفاده آسان، به عنوان مثال، پرس و جو زیر مقدار "متن" رمزگذاری شده با کلید "گذرواژه" را در جدول جدول قرار می دهد: INSERT INTO جدول VALUES (1, AES_ENCRYPT("text", "password"))؛ توجه داشته باشید که فرمت فیلدی که مقدار رمزگذاری شده در آن نوشته شده است باید با محدودیت های اعمال شده توسط الگوریتم رمزنگاری مورد استفاده مطابقت داشته باشد - در این مورد، باید باینری باشد (به عنوان مثال از نوع VARBINARY) و تراز را مطابق با 128 بیت فرض کند. اندازه بلوک الگوریتم AES.

    سیستم حفاظت از پایگاه داده نقش مهمی در کنترل خودکار اعمال کاربرانی که با پایگاه های داده کار می کنند، محافظت در برابر تهدیدات خارجی و داخلی و افزایش قابلیت اطمینان عملیات پایگاه داده ایفا می کند.

    کتابشناسی - فهرست کتب

    1. ملنیکوف، V.P. امنیت اطلاعات و حفاظت از اطلاعات. / V.P. Melnikov،
    2. S.A. Kleymenov، A.M. Petrakov // ویرایش سوم، ster. - م.: فرهنگستان، 2008. - 336 ص.
    3. Panasenko S.P. حفاظت جامع اطلاعات // فناوری اطلاعات. -2001 - شماره 3 - ص. 14-16
    4. برنامه کاری رشته "امنیت اطلاعات": جهت آموزش 080500 انفورماتیک کسب و کار [منبع الکترونیکی]: مشخصات آموزش سیستم های اطلاعات در تجارت: صلاحیت (مدرک تحصیلی) فارغ التحصیل لیسانس / دانشگاه کشاورزی دولتی باشقیر، [گروه. انفورماتیک و فناوری اطلاعات؛ مقایسه A. R. Basyrov]. - اوفا: [ب. و.]، 2013. - 16 ص. - قبل از میلاد مسیح.
    5. سایت برنامه وب PHP "phpMyAdmin" [منبع الکترونیکی]. – حالت دسترسی: http://www.phpmyadmin.net/home_page/، رایگان