تست نفوذ بیزاجی (Bizagi) بررسی آسیبپذیریها و راهکارهای افزایش امنیت سامانه
وقتی یک سامانه بر بستر Bizagi پیادهسازی میشود، موضوع امنیت دیگر صرفاً یک دغدغه فنی در حاشیه پروژه نیست؛ بلکه بهطور مستقیم با پایداری، محرمانگی اطلاعات و اعتمادپذیری سامانه در ارتباط است. در بسیاری از سازمانها، فرایندهای مهمی مانند گردش مکاتبات، ثبت درخواستها، مدیریت اسناد، گردش مالی و حتی فرایندهای حساس سازمانی روی بستر بیزاجی اجرا میشوند. بنابراین وجود هرگونه ضعف امنیتی میتواند پیامدهای جدی برای سازمان به همراه داشته باشد.
به همین دلیل، انجام تست نفوذ بیزاجی (Bizagi Penetration Testing) پیش از بهرهبرداری نهایی از سامانه، یکی از اقدامات کلیدی برای ارزیابی امنیت آن محسوب میشود. تست نفوذ به سازمانها کمک میکند تا پیش از آنکه یک مهاجم واقعی بتواند از ضعفهای سیستم سوءاستفاده کند، این نقاط ضعف شناسایی و برطرف شوند. پیشنهاد میشود اگر دید خوبی نسبت به بیزاجی ندارید ابتدا مقاله eBPM در مورد بیزاجی bizagi چیست را مطالعه کنید.
در یکی از پروژههای شرکت پیشگامان تعالی کسبوکار، پس از آمادهسازی و استقرار نهایی سامانه، یک ارزیابی امنیتی مستقل بر اساس استاندارد OWASP Web Security Testing Guide (WSTG) انجام شد. نتایج این ارزیابی نشان داد که اگرچه سامانه از کنترلهای امنیتی مناسبی برخوردار است، اما مانند بسیاری از سامانههای سازمانی، برخی ضعفهای قابل بهبود نیز در آن وجود دارد.
در این مقاله، تجربه واقعی این تست نفوذ بیزاجی را بررسی میکنیم و مهمترین آسیبپذیریهایی که در این ارزیابی شناسایی شدهاند را همراه با راهکارهای اصلاحی مرور خواهیم کرد.
چرا تست نفوذ بیزاجی اهمیت دارد؟
بسیاری از سازمانها تصور میکنند استفاده از یک پلتفرم معتبر مانند Bizagi بهتنهایی تضمینکننده امنیت است؛ در حالیکه بخش مهمی از امنیت به نحوه پیادهسازی، پیکربندی سرور، تنظیمات زیرساخت و کنترل دسترسیها بستگی دارد.
در پروژههای سازمانی، بیزاجی معمولاً برای اجرای فرایندهای زیر استفاده میشود:
- فرایندهای اداری و مکاتبات داخلی
- مدیریت اسناد و اطلاعات سازمانی
- فرایندهای مالی و تأییدیهها
- فرایندهای عملیاتی و بازرگانی
- گردشهای پیچیده چندمرحلهای با تأیید چند واحد
وجود ضعف امنیتی در هر یک از این بخشها میتواند منجر به افشای اطلاعات، دسترسی غیرمجاز یا حتی اختلال در عملیات سازمان شود. به همین دلیل، تست نفوذ در تمامی پروژههای اجراشده توسط تیم ما، یکی از ارکان اصلی تحویل پروژه است. اگر در سازمان خود نیاز به خرید نرم افزار بیزاجی دارید حتما با مشاورین eBPM در ارتباط باشید
- روش انجام تست نفوذ
در این پروژه، تست نفوذ بیزاجی (Bizagi) بر اساس استاندارد OWASP Web Security Testing Guide (WSTG) انجام شد. اهداف اصلی این ارزیابی امنیتی به شرح زیر بوده است:
- شناسایی آسیب پذیری ها و ضعف های امنیتی در فرآیندهای احراز هویت و مدیریت نشست کاربران
- ارزیابی نحوه پیاده سازی کنترل های امنیتی مطابق با الزامات WSTG OWASP
- بررسی فرآیندهای احراز هویت، مدیریت نشست و کنترل دسترسی کاربران
- تحلیل منطق پردازش درخواست ها و فرآیندهای تجاری سامانه
- شناسایی ضعف های منطقی (Business Logic Flaws) در عملیات حساس
- ارزیابی امنیت عملیات حیاتی نظیر مدیریت اطلاعات کاربری، تغییر کلمه عبور و مدیریت فایل
- تحلیل سطح حمله سامانه و شناسایی نقاط ورودی قابل سوء استفاده
تمامی تستها بهصورت Non-Destructive و بدون ایجاد اختلال در سرویس انجام شدند.
طبقهبندی ریسک آسیبپذیریهای نرم افزار بیزاجی
سطح ریسک هر آسیب پذیری بر اساس معیارهای استاندارد CVSS و با در نظر گرفتن میزان تأثیر (impact) و قابلیت بهره برداری (Exploitability) تعیین شده است.
- پایین: آسیبپذیریهایی با تأثیر محدود
- متوسط: ضعفهایی که در شرایط مشخص قابل بهرهبرداری هستند.
- بالا: آسیبپذیریهایی با امکان سوءاستفاده عملی
- حیاتی: ضعفهایی که میتوانند منجر به اختلال جدی یا تصاحب سامانه شوند.
نتایج تست نفوذ بیزاجی
نتایج تست نفوذ نشان داد که حتی در سامانههای سازمانی پایدار نیز ممکن است برخی ضعفهای امنیتی وجود داشته باشند. در این پروژه، مجموع یافتهها شامل یک آسیبپذیری حیاتی، یک آسیبپذیری با سطح بالا و هفت آسیبپذیری با سطح متوسط بود. در ادامه، هر یک از این موارد بهصورت دقیقتر بررسی میشود.
آزمون درج فایل از راه دور- سطح حیاتی
در بررسی انجامشده مشخص شد سرور میزبان سامانه ممکن است در معرض آسیبپذیری CVE-2019-0657 در برخی نسخههای قدیمی ASP.NET و .NET Framework قرار داشته باشد. در چنین شرایطی، مهاجم میتواند با ارسال درخواستهای دستکاریشده، موجب مصرف بیش از حد منابع سرور شود و در نهایت عملکرد سرویس را مختل کند یا باعث از کار افتادن آن شود. در سامانههای سازمانی که بر بستر Bizagi اجرا میشوند، چنین ضعفی میتواند آثار قابلتوجهی بر دسترسپذیری سرویس و فرایندهای وابسته به آن داشته باشد.

همچنین مشاهده هدرهایی مانند X-AspNet-Version میتواند اطلاعات نسخه فریمورک مورد استفاده را در اختیار مهاجم قرار دهد. هرچند این موضوع بهتنهایی بهرهبرداری مستقیم ایجاد نمیکند، اما به شناسایی دقیقتر محیط و طراحی حمله هدفمند کمک میکند.
برای کاهش این ریسک، نصب آخرین بهروزرسانیهای امنیتی مایکروسافت، اطمینان از Patch بودن کامل سرور، مانیتورینگ درخواستهای غیرعادی و در صورت امکان غیرفعالسازی نمایش نسخه ASP.NET توصیه شد. در این پروژه، بهروزرسانیهای امنیتی سرور نصب و سیستم باز راهاندازی شد تا اصلاحات لازم اعمال شود. همچنین مقرر شد در صورت نیاز، تنظیمات تکمیلی در سطح Firewall نیز بررسی شود.
آزمون ضعف در مکانیزم قفل شدن حساب کاربری – سطح بالا
در یکی از مهمترین کنترلهای امنیتی در سامانههای دارای احراز هویت، محدودسازی تلاشهای ناموفق ورود است. در این بررسی مشخص شد که سامانه پس از چندین تلاش ناموفق برای ورود، محدودیت مؤثری اعمال نمیکند. در چنین شرایطی، مهاجم میتواند با اجرای حملاتی مانند Brute Force یا Credential Stuffing شانس خود را برای حدس زدن رمز عبور کاربران افزایش دهد.
علاوه بر این، نبود Rate Limiting مؤثر، قفل موقت حساب، احراز هویت چندمرحلهای (MFA) و ثبت دقیق لاگهای امنیتی، از نشانههای این ضعف محسوب میشود. در برخی سناریوها، اگر مدیریت نشستها نیز بهدرستی انجام نشده باشد، حتی امکان سوءاستفاده از توکنهای معتبر قبلی نیز وجود خواهد داشت.
در بررسی دقیقتر سامانه مشخص شد که قابلیت محدودسازی دفعات ورود ناموفق در بستر فعال بوده، اما به دلیل تنظیم نادرست Timezone سرور عملکرد درستی نداشته است. پس از اصلاح منطقه زمانی سرور، مکانیزم قفل حساب بهدرستی فعال شد و در حال حاضر بدون مشکل در حال اجرا است. با این حال، همچنان توصیه میشود برای تقویت این کنترل امنیتی، استفاده از MFA، تعیین زمان انقضای مناسب برای توکنها و پایش مستمر لاگهای احراز هویت نیز در دستور کار قرار گیرد.

آزمون افشای ردپای پشته – سطح متوسط
در بررسی انجامشده مشخص شد که در صورت بروز خطا در برنامه، اطلاعات فنی مانند Stack Trace، مسیر فایلهای سرور، نام کلاسها و حتی نسخه فریمورک به کاربر نمایش داده میشود. در برنامههای مبتنی بر ASP.NET این مشکل معمولاً ناشی از پیکربندی نادرست فایل Web.config، فعال بودن حالت Debug یا تنظیم نبودن صحیح customErrors است.
این مسئله در دسته Information Disclosure قرار میگیرد؛ یعنی اگرچه بهتنهایی لزوماً منجر به نفوذ مستقیم نمیشود، اما اطلاعات ارزشمندی از ساختار داخلی سامانه در اختیار مهاجم قرار میدهد. همین اطلاعات میتواند به شناسایی نقاط ضعف دیگر، تحلیل بهتر معماری برنامه و تسهیل بهرهبرداری از آسیبپذیریهای بعدی کمک کند.
برای رفع این ضعف، لازم است نمایش خطاهای تفصیلی در محیط عملیاتی غیرفعال شود، تنظیم compilation debug=“false” اعمال گردد و customErrors در حالت On یا RemoteOnly قرار بگیرد. همچنین توصیه میشود از صفحات خطای سفارشی استفاده شود و جزئیات خطا فقط در لاگهای امن سمت سرور ثبت گردد تا اطلاعات فنی در اختیار کاربران نهایی قرار نگیرد.

آزمون آپلود فایلهای مخرب – سطح متوسط
در این بخش از ارزیابی مشخص شد که سامانه امکان آپلود فایلهای مخرب، از جمله فایلهای اسکریپتی، را بدون کنترل مناسب بر نوع فایل یا محتوای آن فراهم میکند. در چنین شرایطی، مهاجم ممکن است بتواند فایلهایی حاوی کد مخرب را روی سرور بارگذاری کند و بسته به نحوه نگهداری و اجرای فایلها، به دسترسی غیرمجاز، اجرای کد از راه دور (RCE) یا ایجاد اختلال در سرویس دست پیدا کند.
نبود اعتبارسنجی مناسب فایل، بررسی نکردن MIME Type واقعی و محدود نبودن پسوند فایلها از عوامل اصلی شکلگیری این آسیبپذیری هستند. این نوع ضعف بهویژه در سامانههای سازمانی اهمیت زیادی دارد، زیرا ماژولهای بارگذاری فایل معمولاً در بسیاری از فرایندهای کسبوکاری مانند ثبت درخواست، ارسال مستندات و پیوست اسناد به کار گرفته میشوند.
برای کاهش این ریسک، پیشنهاد شد که فقط فرمتهای مجاز امکان بارگذاری داشته باشند، نوع واقعی فایل بررسی شود، نام فایلهای آپلودشده تغییر کند، فایلها در مسیرهای غیرقابل اجرا ذخیره شوند، و در کنار همه اینها، از اسکن آنتیویروس و اعمال سطح دسترسی مناسب برای دایرکتوریهای آپلود استفاده شود.

ضعف در پیکربندی Content Security Policy (CSP) – سطح متوسط
در بررسی انجامشده مشخص شد که هدر Content-Security-Policy (CSP) سرور بهصورت ضعیف تنظیم شده و شامل مقادیر پر ریسکی مانند ‘unsafe-inline’ و ‘unsafe-eval’ برای اسکریپتها و استایلها است. همچنین در بخش font-src، بارگذاری فونت از همه منابع با استفاده از (*) مجاز اعلام شده است. چنین تنظیماتی باعث میشود اثر حفاظتی CSP تا حد زیادی کاهش یابد و در نتیجه احتمال موفقیت حملاتی مانند Cross-Site Scripting (XSS) یا تزریق کد مخرب افزایش پیدا کند.
CSP زمانی مؤثر است که مرورگر را بهطور سختگیرانه محدود کند تا فقط منابع مشخص و مورد اعتماد را بپذیرد. وقتی گزینههای ناامن در این هدر فعال باشند، در واقع یکی از مهمترین لایههای دفاعی سمت کاربر تضعیف میشود.
برای اصلاح این وضعیت، حذف مقادیر ‘unsafe-inline’ و ‘unsafe-eval’، محدود کردن منابع فقط به دامنههای مورد اعتماد، استفاده از Nonce یا Hash برای اسکریپتهای ضروری و پایش دورهای تنظیمات CSP توصیه شد. اجرای این اقدامات میتواند احتمال سوءاستفاده از ضعفهای سمت کاربر را بهشکل قابلتوجهی کاهش دهد.

آزمون قابلیت شناسایی حساب های کاربری و قابل حدس بودن نام های کاربری – سطح متوسط
در بررسی endpoint زیر مشخص شد که پاسخهای سرور بهگونهای طراحی شدهاند که امکان تشخیص وجود یا عدم وجود حساب کاربری را فراهم میکنند:
/app/Rest/Authentication/SecretQuestion
این موضوع باعث بروز آسیبپذیری Account Enumeration میشود؛ به این معنا که مهاجم میتواند با ارسال درخواستهای آزمایشی، نامهای کاربری صحیح را شناسایی کند. اگر این وضعیت با سؤالات امنیتی ضعیف یا قابل حدس همراه شود، احتمال سوءاستفاده از فرایند بازیابی رمز عبور، اجرای حملات Brute Force و حتی Credential Stuffing افزایش پیدا میکند.
در عمل، چنین ضعفی به مهاجم کمک میکند دامنه حمله خود را محدودتر و دقیقتر کند. بهجای آنکه میلیونها نام کاربری احتمالی را امتحان کند، میتواند فقط روی حسابهای معتبر تمرکز کند و از این طریق شانس موفقیت حمله را بالا ببرد.
برای کاهش این ریسک، باید پاسخهای سرور در تمام حالات یکسانسازی شوند و از افشای وجود یا عدم وجود حساب کاربری جلوگیری شود. همچنین محدودسازی تعداد دفعات تلاش ناموفق، استفاده از CAPTCHA، اعمال سیاستهای قوی برای سؤالات امنیتی، ثبت و پایش تلاشهای مشکوک و استفاده از پیامهای عمومی مانند «در صورت وجود حساب کاربری، ایمیل ارسال خواهد شد» از جمله اقداماتی هستند که میتوانند امنیت این بخش را بهبود دهند.

آزمون XSS بازتابی – سطح متوسط
در بررسیها مشخص شد که برنامه از کتابخانه jQuery نسخه 1.8.3 استفاده میکند؛ نسخهای که دارای آسیبپذیریهای شناختهشده است و میتواند زمینه بروز حملات XSS را فراهم کند. این ضعفها در برخی سناریوها ممکن است منجر به اجرای ناخواسته کد JavaScript در مرورگر کاربر شوند و در نتیجه، مهاجم بتواند کد مخرب اجرا کند، اطلاعات حساس را به سرقت ببرد یا نشست کاربران را تحت تأثیر قرار دهد.
استفاده از کتابخانههای قدیمی، یکی از رایجترین دلایل باقی ماندن ریسکهای امنیتی در سامانههای تحت وب است. حتی اگر منطق اصلی برنامه امن پیادهسازی شده باشد، وجود وابستگیهای آسیبپذیر میتواند سطح حمله را افزایش دهد و از همان مسیر، زمینه بهرهبرداری را برای مهاجم فراهم کند.
برای رفع این مشکل، بهروزرسانی jQuery به نسخه 1.9.0 یا بالاتر توصیه شد. همچنین لازم است سایر کتابخانههای ثالث نیز بازبینی و در صورت نیاز بهروزرسانی شوند. اعمال CSP برای محدودسازی اجرای اسکریپتها و انجام بررسیهای دورهای وابستگیها با ابزارهایی مانند OWASP Dependency Check یا Snyk نیز از اقدامات تکمیلی مؤثر در این زمینه هستند.

تعیین اثرانگشت وب سرور– سطح متوسط
در بررسی انجامشده مشخص شد که فرایند ریدایرکت بهصورت FAT Redirect پیادهسازی شده است؛ بهگونهای که پیش از هدایت کاربر، برای لحظهای صفحه پیشفرض Microsoft IIS نمایش داده میشود. همین رفتار باعث افشای نوع وبسرور و بخشی از اطلاعات زیرساختی سامانه میشود.
اگرچه این موضوع بهتنهایی به معنای نفوذ یا اجرای حمله نیست، اما برای مهاجم نوعی اطلاعات شناسایی فراهم میکند. مهاجم با دانستن اینکه سامانه روی IIS اجرا میشود، میتواند جستوجوی خود را بر روی آسیبپذیریها، الگوهای پیکربندی و نقاط ضعف رایج همان بستر متمرکز کند.
برای رفع این ضعف، پیشنهاد شد که ریدایرکتها بهصورت استاندارد و با HTTP 3xx Redirect در سطح سرور انجام شوند، صفحه پیشفرض IIS در محیط Production حذف یا غیرفعال شود، پیکربندی وبسرور بازبینی گردد و تنظیمات Hardening مناسب روی IIS اعمال شود. همچنین بررسی صحیح Virtual Hostها نیز برای جلوگیری از افشای ناخواسته اطلاعات ضروری است.
تعیین اثر انگشت چارچوب برنامه وب– سطح متوسط
در بررسی پاسخهای HTTP سرور مشخص شد که برخی هدرهای اطلاعاتی مانند Server، X-Powered-By: ASP.NET، X-AspNet-Version: 4.0.30319 و WCDN 3.7.9 در پاسخها افشا میشوند. این اطلاعات میتوانند نوع وبسرور، فریمورک و فناوریهای مورد استفاده را برای مهاجم آشکار کنند و در نتیجه، مسیر طراحی حملات هدفمند بر اساس نسخه نرمافزار را هموارتر سازند.
Fingerprinting در بسیاری از حملات واقعی، مرحلهای مقدماتی اما بسیار مهم است. مهاجم با استفاده از همین دادهها میتواند زیرساخت را با دقت بیشتری شناسایی کند، آسیبپذیریهای شناختهشده مرتبط با همان نسخهها را جستوجو کند و سطح موفقیت حملات خود را افزایش دهد.
برای کاهش این ریسک، حذف یا مخفیسازی هدرهای غیرضروری، غیرفعالسازی هدرهای X-Powered-By و X-AspNet-Version در تنظیمات IIS یا web.config، حذف یا سفارشیسازی هدر Server و همچنین استفاده از Reverse Proxy یا WAF برای بازنویسی پاسخها توصیه شد. این اقدامات میتوانند افشای اطلاعات زیرساختی را کاهش داده و مرحله شناسایی برای مهاجم را دشوارتر کنند.

تحلیل وضعیت سامانه Bizagi در آزمونهای OWASP
نتایج این ارزیابی امنیتی نشان داد که از مجموع نزدیک به ۱۰۰ آزمون انجامشده بر روی سامانه، Bizagi در اکثریت موارد عملکرد قابل قبولی داشته و آزمونها را با موفقیت پشت سر گذاشته است. تنها در تعداد محدودی از تستها، ضعف یا عدم انطباق امنیتی شناسایی شد که بخشی از آنها نیز در همان فرایند ارزیابی اصلاح شدند. این موضوع نشان میدهد که سامانه در وضعیت کلی خود، ناامن یا دارای نقص ساختاری گسترده نیست، بلکه بیشتر نیازمند سختسازی امنیتی، بهروزرسانی برخی مؤلفهها و اصلاح چند پیکربندی خاص بوده است.
بررسیها بر اساس استاندارد OWASP Web Security Testing Guide (WSTG) انجام شد و طیف گستردهای از آزمونهای امنیتی را در حوزههای احراز هویت، مدیریت نشست، کنترل دسترسی، افشای اطلاعات، بارگذاری فایل، پیکربندی هدرهای امنیتی و رفتار سامانه در برابر خطاهای برنامهای پوشش داد. در این میان، برخی آسیبپذیریها مانند ضعف مکانیزم قفل حساب کاربری، افشای Stack Trace، تنظیمات ضعیف CSP، شناسایی حساب کاربری، اثرانگشتگیری وبسرور و چارچوب برنامه، و همچنین ضعف در اعتبارسنجی آپلود فایلها شناسایی شدند.
نکته مهم این است که بخشی از این موارد، بهجای آنکه ناشی از ضعف ذاتی Bizagi باشند، بیشتر به پیکربندی زیرساخت، نسخه کتابخانههای مورد استفاده، و تنظیمات سمت سرور مربوط میشدند. برای نمونه، در مورد مکانیزم قفل حساب مشخص شد که مشکل اصلی به Timezone سرور بازمیگشت و پس از اصلاح آن، کنترل امنیتی مربوطه بهدرستی عمل کرد. این موضوع بیانگر آن است که بسیاری از ریسکهای شناساییشده، با اصلاحات هدفمند و بدون نیاز به تغییرات بنیادی در سامانه قابل رفع هستند.
در مجموع، نتایج این تست نفوذ نشان میدهد که Bizagi در اکثر آزمونها موفق بوده و تنها بخشی از کنترلهای امنیتی نیازمند بازبینی، سختسازی و بهروزرسانی بودهاند. بنابراین، این ارزیابی بیش از آنکه نشانهی ناامن بودن سامانه باشد، نشاندهندهی اهمیت پایش مستمر امنیت، اجرای Hardening و نگهداری امنیتی مداوم در سامانههای سازمانی است.
نتیجهگیری eBPM در مورد امنیت و نفوذ بیزاجی
تجربه این تست نفوذ نشان داد که امنیت در سامانههای مبتنی بر Bizagi موضوعی چندلایه است و نباید آن را صرفاً به خود پلتفرم محدود کرد. حتی زمانی که یک سامانه روی بستری شناختهشده و سازمانی پیادهسازی میشود، همچنان این احتمال وجود دارد که در سطح زیرساخت، تنظیمات سرور، کتابخانههای مورد استفاده، کنترلهای احراز هویت یا نحوه مدیریت فایل و خطا، ضعفهایی وجود داشته باشد که بدون ارزیابی تخصصی قابل تشخیص نباشند. پیشنهاد میشود تا آموزش بیزاجی eBPM.ir را مشاهده کنید تا دید بهتری برای کار با این نرم افزار قدرتمند داشته باشید
ارزیابی انجامشده بر اساس OWASP WSTG نشان داد که سامانه مورد بررسی، در بخش عمدهای از آزمونها عملکرد قابل قبولی داشته و تنها در ۹ مورد دارای آسیبپذیری یا ضعف قابل بهبود بوده است. همچنین بخشی از همین موارد نیز در جریان فرایند ارزیابی اصلاح شدهاند. این موضوع نشان میدهد که با انجام تست نفوذ حرفهای و اجرای اصلاحات هدفمند، میتوان سطح امنیت سامانههای مبتنی بر Bizagi را بهصورت محسوسی افزایش داد.
در نهایت، تست نفوذ بیزاجی فقط یک گزارش فنی نیست؛ بلکه ابزاری برای تصمیمگیری دقیقتر، کاهش ریسکهای عملیاتی و افزایش اطمینان سازمان نسبت به امنیت سامانههای حیاتی خود است. هر سازمانی که از Bizagi برای اجرای فرایندهای مهم استفاده میکند، لازم است ارزیابی امنیتی را بهعنوان بخشی از چرخه نگهداری و بلوغ سامانه در نظر بگیرد، نه صرفاً یک اقدام مقطعی پیش از تحویل.