Skip to content

Commit

Permalink
add: update last part
Browse files Browse the repository at this point in the history
  • Loading branch information
Asncodes-80 committed Dec 3, 2023
1 parent fc3ffb1 commit 0f62f6d
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 13 deletions.
Binary file modified nosql_breakdown.pdf
Binary file not shown.
121 changes: 108 additions & 13 deletions nosql_breakdown.tex
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,17 @@
}

\begin{document}
\centerline{گزارش بررسی پیکربندی نامناسب سرویس‌های NoSQL در اشل پروژه‌های بزرگ
به تفکیک تکنولوژی‌های NoSQL}
\centerline{علیرضا سلطانی نشان}
\centerline{\today}
\tableofcontents

\newpage
تاریخ انتشار: \today

\textbf{گزارش} بررسی پیکربندی نامناسب سرویس‌های NoSQL در اشل پروژه‌های بزرگ به
تفکیک تکنولوژی‌های NoSQL

نویسنده:

علیرضا سلطانی نشان، دانشجوی ارشد مهندسی نرم‌افزار - دانشگاه آزاد اسلامی واحد
تهران-شمال \href{mailto:a.soltani@iau-tnb.ac.ir}{a.soltani@iau-tnb.ac.ir}


\section{تعریف مسئله}

Expand Down Expand Up @@ -830,7 +834,7 @@ \subsection{افشای وب سرویس‌ها}
\end{table}
\end{LTR}

\subsection{حلمه به روش تخریب چهره}
\subsubsection{حمله به روش تخریب چهره}

هکر‌ها از طریق تغییر داده‌های مربوط به دیتابیس سعی می‌کنند فضای تخریب و دزدی
اطلاعات را فراهم کنند. برای مثال تصویر یا متنی را در دیتابیس تغییر می‌دهند.
Expand All @@ -840,17 +844,108 @@ \subsection{حلمه به روش تخریب چهره}
پذیری و تغییر چهره برای اهداف فیشینگ داشتند را پیدا کردند چرا که اطلاعات مهمی را
داشتند و حساسیت این اطلاعات برای هکر‌ها بسیار حائز اهمیت است.

\subsection{حمله به روش تزریق کد}
\subsubsection{حمله به روش تزریق کد}

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

\newpage

\subsection{آنالیز در معرض خطر بودن نمونه‌ها}

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

در دیتابیس MongoDB کلماتی مانند \lr{"hacked by unistellar"} و \lr{"how to
restore"} جست و جو شده است به گونه‌ای که ۳۸۹ دیتابیس در این جست و جو پیدا کردند.

در دیتابیس Elasticsearch محققان کلمه \lr{"readme"} را جست و جو کردند که به طور
مستقیم به هکر‌های رمزنگاری و دزد اطلاعات مربوط می‌شود که در نهایت ۶۲۲ مورد از
این کلمه یافت شد.

در دیتابیس Redis محققان کلمات \lr{"crackit"}، \lr{"Back"}، \lr{"1"} و
\lr{"trojan"} را جست و جو کردند که مربوط به حمله سال ۲۰۱۸ به نمونه‌های دیتابیس
Redis در حمله سایبری بوده است [8]. ۶۲۵ مورد از این کلمات در دیتابیس Redis یافت
شد.

\newpage

\subsection{تجزیه و تحلیل تاثیر تحقیقات امنیتی}

در انتهای این مقاله، تاثیر این تحقیق و پروژه را مورد بررسی قرار می‌دهیم. از
اکتبر ۲۰۱۹ تا دسامبر ۲۰۱۹ محققان این پروژه را در مرحله اجرا قرار دادند. بعد از
اولین اجرای خود دوباره در ژانویه سال ۲۰۲۰ تا مارس ۲۰۲۰ این برنامه را اجرا کردند
تا بررسی کنند که آیا برنامه‌نویسان و مدیران سیستمی پیام آنها را دریافت کردند و
پیکربندی خود را به حالت امن تبدیل کردند؟ نتیجه در نمودار شکل ۷ آمده است.

در این نمودار می‌توان دریافت که از ۶۶۳ نمونه دیتابیس Cassandra ۳۱۵ نمونه یعنی
حدودا ۴۷/۵٪ دیتابیس‌ها بعد از دریافت پیام محققان پیکربندی خود را متناسب با شرایط
امنیتی تنظیم کردند و دیگر به صورت عمومی قابل دستیابی نبودند.

از ۲،۰۲۹ نمونه دیتابیس Redis، ۹۱۴ نمونه دیگر قابل ردیابی و دستیابی به صورت عمومی
نبودند به طوری که ۲۷ نمونه از آنها برای ورود به سیستمشان نیازمند احرازهویت
بودند. (تقریبا ۴۶/۳٪ آنها دیگر آسیب پذیری اولیه مانند احرازهویت را نداشتند!)

از ۴،۷۲۵ نمونه دیتابیس Elasticsearch، ۱،۵۳۹ نمونه دیگر در دسترس عموم نبودند و ۴۰
نمونه از آنها درخواست احرازهویت برای ورود به سیستم دیتابیس داشتند. (مقدار ۳۳/۴٪
از دیتابیس‌های Elasticsearch جست و جو شده).

از ۴،۸۵۹ نمونه دیتابیس MongoDB، ۹۱ نمونه دیگر در دسترس عموم نبودند و ۱،۷۴۳ نمونه
از آنها درخواست احرازهویت برای ورود به آنها را ارسال می‌کردند (۳۷/۷٪ از کل
دیتابیس‌های MongoDB جست و جو شده).

\begin{figure}
\centering
\includegraphics[width=0.8\textwidth]{res/fig7.png}
\caption{تاثیر آنالیز امنیتی: تعداد دیتابیس‌هایی که قبل و بعد از این آزمایش
در خصوص پیکربندی نامناسب برسی شدند}
\label{fig: diagram}
\end{figure}

\subsection{تجزیه و تحلیل نسخه سرویس‌های NoSQL}

\begin{figure}
\centering
\includegraphics[width=0.6\textwidth]{res/fig8.png}
\caption{بررسی نسخه سرویس‌های NoSQL}
\label{fig: diagram}
\end{figure}

\section{بخش‌های باقی مانده}
خالی از لطف نیست که اشاره کنیم، محققان نسخه‌های استفاده شده از دیتابیس‌ها را نیز
مورد بررسی قرار دادند و متوجه شدند که تعداد زیادی از آنها از نسخه‌های قدیمی از
DBMS استفاده می‌کردند که دیگر توسط توسعه دهندگان ارائه دهندگان آنها دیگر
پشتیبانی نمی‌شد. به یاد داشته باشید که اگر از نسخه‌های قدیمی استفاده کنید ممکن
است آسیب پذیری را برای هکر‌ها آزاد کرده باشید که بتوانند از طریق آن به
دیتابیس‌ها و حتی اپلیکیشن‌های شما حمله کنند. مهم‌ترین هدف به روز رسانی‌ها دریافت
تمام پچ‌های امنیتی در سیستم‌های نرم‌افزار مخصوصا سیستم‌های خاص دیتابیسی است.
همچنین آگاه باشید که از چه نسخه‌ای از نرم‌افزار (در اینجا دیتابیس) استفاده
می‌کنید. نسخه مورد استفاده اگر در محیط Dev باشد آسیب پذیری بیشتری نسبت به
نرم‌افزار‌هایی دارند که در محیط Stable هستند. پس همیشه سعی کنید که از
نرم‌افزار‌های به روز Stable استفاده کنید.

\section{جمع‌بندی}

در این گزارش در مورد محبوب‌ترین سرویس‌های دیتابییس NoSQL تحقیق کردیم. از طریق
ابزاری که محققان توسعه دادند پی‌بردیم که راه‌اندازی ساده و آسان درست است که کم
هزینست اما بعد از گذشت مدتی خیلی کم متوجه می‌شویم که هر چقدر برای راه‌اندازی
سیستم‌های دیتابیسی هزینه زمانی و مالی بگذاریم باز هم کم است. فریمورک محققان
براساس روندی امن این تحقیق را تسریع بخشید. فرایند‌های مختلفی در این بین بررسی
شدند. مانند حضور یک سیستم احرازهویت مناسب، عدم استقرار و راه‌اندازی سیستم‌های
داده‌ای در شماره پورت‌های پیش فرض و غیره. این بررسی برروی ۶۷ میلیون آدرس IP بین
اکتبر سال ۲۰۱۹ و مارس سال ۲۰۲۰ انجام شد. آسیب پذیری‌هایی که در حین خواندن این
گزارش شاهد بودید تنها ساده‌ترین آسیب پذیری‌هایی بودند که مورد بررسی قرار گرفتند.
همچنین انواع اهداف نفوذگران را بررسی کردیم که به چه شکلی می‌توانند تخریب اطلاعات
را انجام دهند. قلب تپنده یک سیستم اپلیکیشنی، کاربران و داده‌های آنها هستند. در
صورتی که داده‌ها فاش شود اعتماد به آن شبکه کم و به تدریج از بین می‌رود. این
تحقیق تنها روی ۴ دیتابیس مطرح شده صورت گرفت. به عنوان نمونه هنوز فرایندی که شاهد
آن بودید برروی دیتابیس‌های InfluxDB و دیگر دیتابیس‌های محبوب مانند Prometheus
انجام نشده است. همچنین محققان این مقاله به دنبال انجام این روند در بستر شبکه TCP
با استفاده از شناسایی آدرس‌های نسخه ۶ IP هستند.

\end{document}

0 comments on commit 0f62f6d

Please sign in to comment.