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

تست نفوذ و ارزیابی امنیتی جامع دیتابیس‌های NoSQL شامل MongoDB، Redis، Elasticsearch، Cassandra و Neo4j. شناسایی آسیب‌پذیری‌های NoSQL Injection، ضعف‌های احراز هویت و مشکلات پیکربندی.

MongoDBRedisElasticsearchCassandraNeo4j
۸+
دیتابیس NoSQL پشتیبانی‌شده
۶
نوع حمله تزریق
۴۰٪
شیوع NoSQL Injection
CIS
استاندارد ارزیابی

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

تخصص در تمام انواع دیتابیس‌های NoSQL و بردارهای حمله منحصر به فرد آن‌ها

🍃
MongoDB

Document Store

4.4, 5.0, 6.0, 7.0

BSON Injectionاحراز هویت SCRAM
🔴
Redis

Key-Value Store

6.x, 7.x

Command InjectionACL System
🔍
Elasticsearch

Search Engine

7.x, 8.x

Query DSL InjectionX-Pack Security
👁️
Cassandra

Wide Column Store

4.x, 5.x

CQL Injectionاحراز هویت داخلی
🛋️
CouchDB

Document Store

3.x

Mango Query InjectionCookie Authentication
DynamoDB

Key-Value & Document

AWS Managed

PartiQL InjectionIAM Policies
🔗
Neo4j

Graph Database

4.x, 5.x

Cypher InjectionNative Auth
💾
Memcached

In-Memory Cache

1.6.x

Command InjectionSASL Authentication

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

ما تمام بردارهای حمله NoSQL injection را برای هر نوع دیتابیس تست می‌کنیم

تزریق اپراتور
MongoDB

بهره‌برداری از اپراتورهای MongoDB مانند $gt، $ne، $regex، $where در پارامترهای کوئری برای دور زدن احراز هویت یا استخراج داده.

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

{"$gt": ""}{"$ne": null}
تزریق جاوااسکریپت
MongoDB

تزریق کد جاوااسکریپت از طریق کلازهای $where یا ارزیابی جاوااسکریپت سمت سرور در MongoDB.

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

$where: 'this.password.match(/^a/)'sleep(5000)
تزریق دستور
Redis

بهره‌برداری از دستورات Redis مانند CONFIG، EVAL یا DEBUG برای اجرای دستورات دلخواه یا خواندن/نوشتن فایل.

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

CONFIG SET dir /var/wwwEVAL "os.execute('id')"
تزریق Query DSL
Elasticsearch

دستکاری Elasticsearch Query DSL برای دسترسی به داده‌های غیرمجاز، اجرای اسکریپت یا ایجاد DoS.

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

{"script": {"source": "..."}}{"bool": {"must_not": []}}
تزریق Cypher
Neo4j

تزریق کوئری‌های Cypher مخرب در Neo4j برای استخراج داده گراف یا تغییر روابط.

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

' OR 1=1 //MATCH (n) RETURN n LIMIT 1000
SSRF از طریق NoSQL
Various

استفاده از ویژگی‌های NoSQL برای ایجاد درخواست‌های سمت سرور به سرویس‌های داخلی یا endpoint های متادیتای ابری.

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

http://169.254.169.254Internal service URLs

آسیب‌پذیری‌های خاص هر دیتابیس

هر دیتابیس NoSQL بردارهای حمله منحصر به فردی دارد که ما در آن‌ها تخصص داریم

🍃
MongoDB
critical

بدون احراز هویت

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

critical

تزریق اپراتور

ورودی JSON بدون اعتبارسنجی که اجازه اپراتورهای $gt، $ne، $regex را می‌دهد

high

JS سمت سرور

کلاز $where که اجازه اجرای جاوااسکریپت را می‌دهد

🔴
Redis
critical

بدون پسورد

Redis در معرض بدون پیکربندی requirepass

critical

دستور CONFIG

CONFIG SET که امکان نوشتن فایل و RCE را می‌دهد

high

RCE از طریق Lua

دستور EVAL که اجازه اجرای اسکریپت Lua دلخواه را می‌دهد

🔍
Elasticsearch
critical

دسترسی باز

کلاستر Elasticsearch بدون امنیت X-Pack

high

اجرای اسکریپت

اسکریپت‌نویسی Painless یا Groovy بدون محدودیت فعال

medium

افشای Snapshot

مخزن Snapshot بدون احراز هویت قابل دسترس

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

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

تست NoSQL Injection
  • تزریق اپراتور MongoDB
  • تزریق جاوااسکریپت
  • تزریق دستور Redis
  • تزریق Query DSL
  • تزریق Cypher
  • تزریق BSON
احراز هویت و مجوزدهی
  • دور زدن احراز هویت
  • اعتبارنامه‌های پیش‌فرض
  • بررسی RBAC/ACL
  • کنترل دسترسی سطح فیلد
  • احراز هویت بین نودها
  • یکپارچه‌سازی LDAP/AD
امنیت کلاستر
  • ارتباطات بین نودها
  • پیکربندی Replica Set
  • امنیت Sharding
  • Master/Slave Security
  • Gossip Protocol
  • Network Segmentation
رمزنگاری و حفاظت داده
  • رمزنگاری در انتقال (TLS)
  • رمزنگاری در حالت سکون
  • رمزنگاری سطح فیلد
  • مدیریت کلید
  • پوشش داده حساس
  • امنیت پشتیبان‌گیری
سخت‌سازی پیکربندی
  • بررسی CIS Benchmark
  • غیرفعال‌سازی ویژگی‌های خطرناک
  • محدودسازی شبکه
  • تنظیمات لاگ‌گذاری
  • سرویس‌های غیرضروری
  • پچ‌های امنیتی
نظارت و ممیزی
  • لاگ‌گذاری عملیات
  • Audit Trail
  • تشخیص ناهنجاری
  • یکپارچگی لاگ
  • سیاست‌های نگهداری
  • هشداردهی امنیتی

یافته‌های رایج

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

در معرض بدون احراز هویت
۳۵٪

دیتابیس NoSQL از شبکه بدون هیچ احراز هویتی قابل دسترس

NoSQL Injection
۴۰٪

اپلیکیشن آسیب‌پذیر به حملات تزریق اپراتور یا جاوااسکریپت

ارتباطات رمزنگاری‌نشده
۵۰٪

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

امتیازات بیش از حد
۵۵٪

کاربران اپلیکیشن با امتیازات مدیریتی یا بیش از حد دیتابیس

عدم لاگ‌گذاری ممیزی
۶۰٪

عملیات دیتابیس برای ممیزی امنیتی لاگ نمی‌شوند

ویژگی‌های خطرناک فعال
۴۵٪

ویژگی‌هایی مانند جاوااسکریپت سمت سرور یا دستور CONFIG فعال

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

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

1
شناسایی و اثرانگشت‌گیری

شناسایی نمونه‌های دیتابیس NoSQL، نسخه‌ها، پورت‌های در معرض و توپولوژی کلاستر. نقشه‌برداری مدل داده و الگوهای دسترسی.

اسکن پورتشناسایی نسخهکشف کلاسترشمارش Collection/Index
2
تست احراز هویت

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

اعتبارنامه‌های پیش‌فرضدور زدن Authاحراز هویت بین نودهاBrute Force
3
تست تزریق

اجرای تست‌های جامع NoSQL injection شامل تزریق اپراتور، تزریق جاوااسکریپت و تزریق دستور.

تزریق اپراتورتزریق JSتزریق دستوراستخراج داده
4
بازبینی پیکربندی

ارزیابی پیکربندی در برابر معیارهای CIS و راهنماهای امنیتی فروشنده. بررسی binding شبکه، TLS و تنظیمات لاگ‌گذاری.

بررسی CISتنظیمات شبکهپیکربندی TLSتنظیمات لاگ
5
ارتقای امتیاز

تلاش برای ارتقای امتیاز از طریق پیکربندی نادرست RBAC، دستورات خطرناک یا بهره‌برداری از کلاستر.

تست RBACدستورات خطرناکحرکت جانبیدسترسی به فایل
6
گزارش‌دهی و اصلاح

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

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

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

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

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

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

گزارش فنی

یافته‌های دقیق با امتیاز CVSS و اثبات بهره‌برداری خاص دیتابیس

پی‌لودهای تزریق

پی‌لودهای NoSQL injection کارآمد خاص نوع دیتابیس شما

ممیزی پیکربندی

گزارش انطباق CIS Benchmark برای دیتابیس NoSQL شما

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

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

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

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

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

NoSQL injection چیست و چه تفاوتی با SQL injection دارد؟
کدام دیتابیس‌های NoSQL را ارزیابی می‌کنید؟
چگونه آسیب‌پذیری‌های MongoDB injection را تست می‌کنید؟
حمله Redis CONFIG چیست؟
چگونه امنیت Elasticsearch را ارزیابی می‌کنید؟
زمان‌بندی ارزیابی دیتابیس‌های NoSQL چقدر است؟
آماده ارزیابی امنیت دیتابیس NoSQL خود هستید؟
با تیم متخصص ما تماس بگیرید تا در مورد نیازهای ارزیابی امنیت دیتابیس شما صحبت کنیم