ارزیابی امنیت دیتابیس SQL

تست نفوذ و ارزیابی امنیتی جامع دیتابیس‌های رابطه‌ای شامل MySQL، PostgreSQL، Oracle، SQL Server و MariaDB. شناسایی آسیب‌پذیری‌های SQL Injection، ضعف‌های احراز هویت و مشکلات پیکربندی.

MySQLPostgreSQLOracleSQL ServerMariaDB
۶+
دیتابیس SQL پشتیبانی‌شده
۱۴۰+
کنترل CIS Benchmark
۶
نوع SQLi تست‌شده
CIS
استاندارد ارزیابی

دیتابیس‌های SQL پشتیبانی‌شده

تخصص عمیق در تمام دیتابیس‌های رابطه‌ای محبوب و ویژگی‌های امنیتی آن‌ها

🐬
MySQL

5.7, 8.0+

InnoDB Storage EngineReplication SecurityUser PrivilegesSSL/TLS
🐘
PostgreSQL

12, 13, 14, 15, 16

Row Level Securitypg_hba.confExtensions SecuritySSL Certificates
🔴
Oracle Database

19c, 21c, 23ai

Oracle Data VaultTransparent Data EncryptionVirtual Private DatabaseAudit Vault
🟦
Microsoft SQL Server

2019, 2022

Always EncryptedDynamic Data MaskingRow-Level SecuritySQL Audit
🦭
MariaDB

10.x, 11.x

Galera Cluster SecurityPAM AuthenticationData-at-Rest EncryptionMaxScale
📦
SQLite

3.x

File PermissionsSQLCipher EncryptionApplication IntegrationMobile Security

انواع حملات SQL Injection

ما تمام انواع حملات SQL injection را تست می‌کنیم تا پوشش کامل امنیتی تضمین شود

SQL Injection کلاسیک

تزریق SQL درون‌باندی که مهاجم از همان کانال برای حمله و جمع‌آوری نتایج استفاده می‌کند. شامل تکنیک‌های مبتنی بر خطا و UNION.

نمونه پی‌لود:

' OR '1'='1' UNION SELECT * FROM users--
SQL Injection کور

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

نمونه پی‌لود:

' AND 1=1--' AND SLEEP(5)--
SQLi کور مبتنی بر زمان

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

نمونه پی‌لود:

'; WAITFOR DELAY '0:0:5'--' AND IF(1=1,SLEEP(5),0)--
SQL Injection مرتبه دوم

پی‌لود در دیتابیس ذخیره و بعداً در زمینه متفاوتی اجرا می‌شود. اغلب اعتبارسنجی ورودی را دور می‌زند.

نمونه پی‌لود:

Stored XSS + SQLiUsername: admin'--
SQL Injection خارج از باند

از ویژگی‌های دیتابیس برای برقراری اتصالات شبکه خارجی (DNS، HTTP) برای استخراج داده استفاده می‌کند.

نمونه پی‌لود:

xp_dirtreeUTL_HTTP.REQUEST
کوئری‌های پشته‌ای

چندین دستور SQL در یک کوئری اجرا می‌شوند. امکان عملیات INSERT، UPDATE، DELETE یا فراخوانی stored procedure.

نمونه پی‌لود:

'; INSERT INTO users VALUES('hacker','pass')--'; EXEC xp_cmdshell 'whoami'--

چه چیزهایی را ارزیابی می‌کنیم؟

پوشش جامع تمام جنبه‌های امنیتی دیتابیس SQL

تست SQL Injection
  • Classic In-Band Injection
  • Blind SQL Injection (Boolean & Time)
  • Out-of-Band Injection
  • Second-Order Injection
  • Stored Procedure Injection
  • Error-Based Extraction
احراز هویت و مجوزدهی
  • کرک پسورد و اعتبارنامه‌های ضعیف
  • دور زدن احراز هویت
  • امتیازات بیش از حد کاربران
  • بررسی نقش‌ها و گروه‌ها
  • اعتبارنامه‌های پیش‌فرض
  • تست Brute Force
Stored Procedures و توابع
  • امنیت Stored Procedures
  • Command Injection در UDFs
  • ارتقای امتیاز از طریق توابع
  • بررسی Triggers
  • اجرای کد دلخواه
  • File System Access
رمزنگاری و حفاظت داده
  • رمزنگاری در حالت سکون (TDE)
  • رمزنگاری در انتقال (SSL/TLS)
  • مدیریت کلید رمزنگاری
  • پوشش داده حساس
  • توکن‌سازی
  • امنیت پشتیبان‌گیری
سخت‌سازی پیکربندی
  • بررسی بر اساس CIS Benchmark
  • پورت‌ها و سرویس‌های غیرضروری
  • تنظیمات لاگ‌گذاری
  • پچ‌های امنیتی
  • Network Listener Security
  • سرویس‌های اضافی
ممیزی و لاگ‌گذاری
  • پیکربندی Audit Trail
  • لاگ‌گذاری دسترسی
  • نظارت بر تغییرات
  • یکپارچگی لاگ
  • سیاست‌های نگهداری
  • هشداردهی امنیتی

آسیب‌پذیری‌های رایج

آسیب‌پذیری‌هایی که معمولاً در ارزیابی دیتابیس‌های SQL کشف می‌کنیم

SQL Injection
critical

ورودی کاربر بدون اعتبارسنجی که امکان اجرای دستورات SQL دلخواه را می‌دهد

CWE-89دسترسی کامل به داده‌ها، RCE
اعتبارنامه‌های پیش‌فرض/ضعیف
critical

استفاده دیتابیس از پسوردهای پیش‌فرض یا قابل حدس

CWE-521دسترسی غیرمجاز کامل
امتیازات بیش از حد
high

کاربرانی که مجوزهای بیشتر از نیاز نقش خود دارند

CWE-250ارتقای امتیاز، حرکت جانبی
اتصالات رمزنگاری‌نشده
high

اتصالات دیتابیس بدون استفاده از رمزنگاری SSL/TLS

CWE-319استراق سمع، سرقت اعتبارنامه
عدم لاگ‌گذاری ممیزی
high

عدم وجود رد پای ممیزی برای عملیات و تلاش‌های دسترسی

CWE-778عدم تشخیص نفوذ
نسخه قدیمی دیتابیس
medium

اجرای نسخه دیتابیس با آسیب‌پذیری‌های امنیتی شناخته‌شده

CWE-1104آسیب‌پذیری‌های شناخته‌شده قابل بهره‌برداری

فرآیند ارزیابی

رویکرد ساختاریافته ما برای ارزیابی امنیت دیتابیس SQL

1
شناسایی و شمارش

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

اسکن پورت‌هاشناسایی نسخهنقشه‌برداری شبکهلیست کاربران
2
بازبینی پیکربندی

ارزیابی پیکربندی دیتابیس در برابر معیارهای CIS. بررسی تنظیمات امنیتی، روش‌های احراز هویت و کنترل‌های دسترسی.

بررسی CIS Benchmarkتحلیل پیکربندیبررسی امتیازاتتنظیمات رمزنگاری
3
تست تزریق

اجرای تست جامع SQL injection شامل حملات کور، مبتنی بر زمان، مبتنی بر UNION و مرتبه دوم.

تست دستی و خودکارتست Blind SQLiاستخراج دادهارتقای امتیاز
4
ارتقای امتیاز

تلاش برای ارتقای امتیاز با استفاده از stored procedures، توابع تعریف‌شده توسط کاربر یا ضعف‌های پیکربندی.

تست UDFبهره‌برداری از Stored Proceduresحرکت جانبیدسترسی به سیستم فایل
5
POC استخراج داده

نمایش قابلیت‌های استخراج داده برای اثبات تأثیر. استخراج نمونه داده حساس با تأیید مشتری.

دامپ Schemaاستخراج داده نمونهمستندسازیاثبات مفهوم
6
گزارش‌دهی و اصلاح

گزارش فنی دقیق با درجه‌بندی شدت، اثبات بهره‌برداری و مراحل اصلاحی خاص برای هر یافته.

گزارش فنیخلاصه مدیریتیراهنمای اصلاحتست مجدد

تحویل‌دادنی‌ها

مستندات جامعی که در پایان ارزیابی دریافت خواهید کرد

خلاصه مدیریتی

نمای کلی سطح بالا از یافته‌ها و وضعیت ریسک برای مدیریت

گزارش فنی

یافته‌های دقیق با امتیاز CVSS، اثبات بهره‌برداری و مراحل اصلاح

گزارش CIS Benchmark

وضعیت انطباق کنترل به کنترل با نوع دیتابیس شما

شواهد بهره‌برداری

اسکرین‌شات‌ها، پی‌لودها و مراحل بازتولید گام به گام

راهنمای اصلاح

مراحل اصلاح خاص دیتابیس و توصیه‌های سخت‌سازی

گزارش تست مجدد

اعتبارسنجی اثربخشی اصلاح پس از اعمال رفع‌ها

سوالات متداول

از چه دیتابیس‌های SQL پشتیبانی می‌کنید؟
تست SQL injection چگونه انجام می‌شود؟
CIS Benchmark چیست و چرا مهم است؟
آیا می‌توانید دیتابیس‌های تولید را با امنیت تست کنید؟
گزارش ارزیابی شامل چه مواردی است؟
ارزیابی دیتابیس SQL چقدر طول می‌کشد؟
آماده ارزیابی امنیت دیتابیس SQL خود هستید؟
با تیم متخصص ما تماس بگیرید تا در مورد نیازهای ارزیابی امنیت دیتابیس شما صحبت کنیم