نیاز به DevSecOps در اثر توسعه سریع کدنویسی اختصاصی، رو به افزایش است. براساس پیشبینی مؤسسه Emergen Research، حجم تقاضا برای ابزارهای DevSecOps از 2 و نیم میلیارد دلار در سال 2020 میلادی به 23 میلیارد دلار در سال 2028 افزایش خواهد یافت. بنابراین ایجاد امنیت در فرایند DevOps که دارای ماهیتی سریع، چابک و پیوسته است امری ضروری میباشد. با این وجود بسیاری از سازمانهایی که اهمیت چندانی به ایجاد و برقراری امنیت در محیط کسبوکارشان نمیدهند با مشکلات متعددی در این زمینه مواجه هستند. البته چالشهای فرایندی نیز در وقوع چنین مشکلاتی بیتأثیر نیست.
استفاده از ابزارهای کارآمد نقش بسزایی در تعبیه امنیت در DevOps دارد. این ابزارها به سازمانها کمک میکنند تا با هماهنگسازی توسعهدهندگان، تیمهای عملیاتی و تیمهای امنیت سایبری در زمینه مدیریت ریسک، امنیت را در فرایند DevOps نهادینه نمایند. در این مطلب از فراست مهمترین ابزارهای موجود در حوزه DevSecOps را مورد بررسی قرار میدهیم.
هشداردهندههای DevSecOps
حوزه DevOps با سرعت در حال توسعه و پیشرفت است بنابراین سازمانها هم باید امکانات امنیتیشان را توسعه داده و اقداماتی در جهت شناسایی سریع حملات غیرقابل پیشگیری انجام دهند. آگاهی توسعهدهندگان، تیمهای امنیت سایبری و تیمهای عملیاتی با استفاده از ابزارهای پیشنهادی در این بخش افزایش مییابد. آنها همچنین با بکارگیری این ابزارها میتوانند در اسرع وقت به مشکلات امنیتی واکنش نشان دهند.
معمولاً همپوشانی قابل توجهی در ابزارهای DevSecOps وجود دارد؛ به همین دلیل تمرکز بعضی از این ابزارهای منتخب بر ارسال هشدار و بعضی دیگر بر قابلیتهای جانبی مثل نظارت بر روی جریان کار و مقابله با مشکلات امنیتی است. باید خواهان دسترسی به ابزارهایی باشید که قابلیت هشدار درباره رویدادها و آسیبپذیریهای احتمالی در سازمان شما را داشته باشند.
Pagerduty
تیمهای عملیات و توسعه معمولاً از Pagerduty یا ابزارهای مشابه برای مدیریت رویدادها در محیط سازمان استفاده میکنند. در حوزه DevSecOps، Pagerduty دارای قابلیتهای ویژه بسیار زیادی از جمله اطلاعرسانی رویدادهای امنیتی به تیمها و ادغام با سایر ابزارهای مخصوص محیط ابر، ابزارهای مدیریت آسیبپذیری، ابزارهای مدیریت رویداد و اطلاعات امنیتی است. چنین ویژگیهایی منجر به نقشآفرینی همه افراد در زمینه امنیت میشود.
xMatters
بلافاصله پس از ارسال هشدار توسط اولین ابزارهای تشخیص نفوذ و حوادث امنیتی، تیمهای بخش امنیت و عملیات با سیلی از هشدارهای مختلف مواجه شدند. ابزارهایی مثل xMatters بسیاری از اعلانها را فیلتر نموده و به تیمهای امنیتی کمک میکنند تا تمرکزشان را فقط بر روی هشدارهای مهم بگذارند. با استفاده از xMatters میتوانید اقدامات زیر را جهت فیلتر اعلانها انجام دهید:
- تنظیم آستانه و محرکها
- انجام واکنشهایی خودکار در اثر وقوع هشدارهایی خاص
- همچنین جهت پیشگیری از ایجاد چندین اعلان برای یک یا چند حادثه مشابه میتوانید هشدارهای مربوط به رویدادهای خاص را با یکدیگر مرتبط سازید.
Alerta
تیمهای DevSecOps نیاز به دریافت هشدار از منابع مختلف دارند. ابزارهایی مثل Alerta میتوانند هشدارها را از منابع متفاوتی مثل Syslog، Prometheus، Nagios، Zabbix، Sensu، netdata، هر ابزاری که قابلیت ارسال یک درخواست URL را داشته و همچنین از اسکریپتهایی مثل پایتون دریافت کنند. علاوه بر این امکان حذف هشدارهای تکراری، ارتباط هشدارها به یکدیگر و سفارشیسازشان وجود دارد.
ElastAlert
ElastAlert یک ابزار اوپن سورس (Open Source) و فریمورکی برای دریافت هشدار درباره ناهنجاریهای امنیتی و سایر الگوهای غیرعادی بر اساس دادههای نرمافزار Elasticsearch است. این ابزار از Elasticsearch کوئری گرفته و دادههای به دست آمده را با قوانین از پیش تعریف شده مقایسه میکند. در صورت وقوع تطبیق، ElastAlert یک هشدار به همراه اقدامات پیشنهادی نمایش میدهد.
توسعه امن برنامههای کاربردی
در حوزه DevSecOps تغییر نگرش نسبت به امنیت و توجه به آن باید از همان ابتدا و در مراحل اولیه طراحی مورد توجه قرار بگیرد. از این رو توسعهدهندگان باید مسئولیت کدهایی که مینویسند را برعهده گرفته و تیمهای امنیت سایبری نیز در صورت نیاز به آنها کمک کنند. موفقیت در این زمینه مستلزم استفاده از ابزارهای مناسب برای ارزیابی امنیت نرمافزار است.
ابزار تست امنیت ایستای برنامههای کاربردی Checkmarx (SAST[1])
Checkmarx ، با بررسی سورس کد برنامههای کاربردی به تیمهای توسعه نرمافزار برای حفظ امنیت محصولاتشان کمک میکند. این ابزار قابلیت ادغام با ابزارهای هماهنگی توسعه و انتشار برنامههای کاربردی، نرمافزارهای اتوماسیون ساخت برنامههای کاربردی، سیستمهای پیگیری خطا و غیره را دارد. بر خلاف بسیاری از ابزارهای سنتی مجموعه SAST، Checkmarx فقط دارای قابلیت تحلیل کدهای جدید یا تغییریافته است.
پلتفرم Veracode
Veracode ابزارهایی جهت تأمین امنیت برنامههای کاربردی از جمله Veracode Static Analysis و تحلیل ترکیب نرمافزار Veracode دارد که برای محیط DevSecOps نیز بسیار مناسب هستند. Veracode Static Analysis کدها را پیش از کامپایل شدن بررسی نموده و به رفع خطاهای کد در محیطهای توسعه یکپارچه کمک میکند. ابزار تحلیل ترکیب نرمافزار Veracode نیز نقش مؤثری در شناسایی آسیبپذیریها در اجزای اوپن سورس کدها دارد.
Burp Suite Enterprise Edition
Burp Suite Enterprise Edition که توسط شرکت PortSwigger طراحی شده، دارای قابلیت اجرای اسکن پویای تکراری خودکار در برنامههای کاربردی است. امکان ادغام این ابزار با خط لوله «ادغام پیوسته»، پشتیبانی آن از Jira و API به تعبیه آزمونهای امنیتی در فرایندهای توسعه نرمافزار کمک میکند.
Synopsys
Synopsys شامل ابزارهای مختلفی در زمینه ارزیابی امنیت برنامههای کاربردی است. تعدادی از این ابزارها عبارتند از:
- Coverity؛ یک ابزار SAST که به اتوماسیون فرایند تست و ادغام آن در خط لولههای ادغام یکپارچه/تحویل پیوسته کمک میکند.
- Black Duck؛ یک ابزار تحلیل ترکیب نرمافزار است که برای شناسایی و رفع مخاطرات ناشی از بکارگیری کدهای اوپن سورس و متفرقه در مخازن و برنامههای کاربردی طراحی شده است.
- Seeker IAST؛ یک ابزار تست تعاملی امنیت برنامههای کاربردی است. این ابزار قابلیت تشخیص آسیبپذیریهای امنیتی که ممکن است منجر به افشای دادههای حساس شوند را دارد.
Synopsys همچنین خدمات مدیریت شده متعددی در زمینه تست امنیت برنامههای کاربردی ارایه میدهد.
Parasoft
Parasoft ابزارهای خودکاری برای اجرای تست امنیت برنامههای کاربردی دارد. یکسری از این ابزارها شامل موارد زیر هستند:
- تست Parasoft C/C++ برای تشخیص زودهنگام مشکلات موجود در کد؛
- Parasoft Insure++ برای تشخیص کدنویسی نادرست و خطاهای دسترسی به حافظه؛
- Parasoft Jtest برای تست توسعه نرمافزارهای جاوا؛
- Parasoft dotTEST جهت مجهز نمودن ابزارهای ویژوال استودیو به تحلیل ایستای عمیق.
داشبوردهای DevSecOps
داشبوردهای اختصاصی DevSecOps قابلیت نمایش گرافیکی و اشتراکگذاری اطلاعات امنیتی از همان ابتدا و مراحل اولیه فرایند توسعه تا مرحله تولید را دارند. سایر ابزارهای DevSecOps هم داشبوردهای خاصی دارند اما این ابزارها مخصوص ایجاد داشبوردهای اختصاصی هستند. بسیاری از تیمهای امنیتی معتقدند که این داشبوردها بسیار ارزشمند هستند.
Grafana
Grafana یک پلتفرم تحلیل اوپن سورس است که امکان ایجاد داشبوردهای اختصاصی برای تجمیع دادههای مرتبط را دارد و میتواند این دادهها را مصورسازی نموده و از آنها کوئری بگیرد. در صورت عدم فرصت برای ساختن داشبورد از صفر، میتوانید از داشبوردهای آماده بسیار زیادی که در این وبسایت وجود دارند استفاده کنید.
Kibana
برای شرکتهایی که از نرمافزار Elasticsearch استفاده میکنند، Kibana میتواند هزاران رکورد را در قالب یک نمای گرافیکی یکپارچه از دادهها، تحلیلهای سری زمانی، نظارت بر برنامههای کاربردی و غیره ترکیب نماید.
مدلسازی تهدید
ابزارهای مدلسازی تهدید به تیمهای امنیت سایبری کمک میکنند تا تهدیداتی را که بر علیه برنامههای کاربردی وجود دارند شناسایی و پیشبینی نموده و شیوه هدفگیری آنها را از پیش تعیین کنند. تیمهای توسعه و طراحی با در اختیار داشتن چنین ابزارهایی میتوانند پیش از نوشتن اولین خط کد، از وقوع پیامدهای امنیتی پرهزینه یا حتی فاجعهبار جلوگیری نمایند. همچنین بعضی از این ابزارها مدلهای تهدید را بر اساس دادههایی که کاربران درباره سیستمها و برنامههای کاربردی ارایه میدهند، تولید نموده و سپس یک رابط کاربری بصری جهت کمک به شناسایی تهدیدات و پیامدهای بالقوهشان ایجاد میکنند.
IriusRisk
IriusRisk نرمافزاری است که هم به صورت درون سازمانی و هم بر روی بستر ابر قابل استفاده است. این ابزار قابلیت اتوماسیون فرایند تحلیل ریسک و الزامات قانونی را دارد. همچنین با استفاده از یک رابط کاربری پرسش محور، الزامات امنیتی فنی و مدلهای تهدید را طراحی و به مدیریت مراحل تست امنیتی و کدنویسی کمک میکند.
ThreatModeler
این سیستم خودکار مدلسازی تهدید، دادهها را تحلیل نموده و تهدیدات بالقوه را در کل سطح حمله و بر اساس هوش تهدید در دسترس، شناسایی میکند. ThreatModeler امکان مصورسازی سطح حمله، الزامات امنیتی و الویتبندی گامها برای مقابله با تهدید را دارد.
OWASP Threat Dragon
این ابزار تحت وب اوپن سورس، یک موتور قانون و ترسیم دیاگرام از سیستم دارد که میتواند به صورت خودکار تهدید را مدلسازی نموده و با مخاطرات امنیتی مقابله کند. استفاده از رابط کاربری Threat Dragon بسیار راحت است و قابلیت ادغام آسان با سایر ابزارهای چرخه توسعه نرمافزار را دارد.
سایر ابزارهای مفید برای DevSecOps
قابلیتهای ابزارهایی که در ادامه مورد بررسی قرار میدهیم مشابه ابزارهای بالا هستند ولی این امکانات را به شیوهای متفاوت ارایه میدهند.
Chef InSpec
این ابزار اوپن سورس، آزمونهای امنیتی را در همه مراحل توسعه کد اتوماسیون نموده و به پیروی از الزامات قانونی، امنیتی و سایر سیاستهای تعریف شده برای سرورهای سنتی، مخازن و APIهای ابر کمک میکند.
Gauntlt
Gauntlt یک ابزار اوپن سورس و یک فریمورک تست بسیار محبوب است که امکان اجرای راحت آزمونهای امنیتی و برقراری ارتباط در بین تیمهای امنیت، توسعه و عملیات را فراهم میکند. GauntIt میتواند به راحتی حملهای را برای تست امنیت طراحی نموده و قابلیت ادغام با ابزارها و فرایندهای موجود را دارد.
Red Hat Ansible Automation
این ابزار شامل سه پیمانه Ansible Tower، Ansible Engine و Red Hat Ansible Network Automation است. هر یک از این بخشها را میتوانید به صورت مستقل یا به صورت خودکار و در ترکیب با یکدیگر استفاده کنید. اگرچه Ansible Automation فقط یک ابزار امنیتی نیست اما به تیمهای امنیت سایبری کمک میکند تا قوانین امنیتی را در خط لوله توسعه امن نرمافزار تعریف کنند.
StackStorm
StackStorm اوپن سورس، امکانات اتوماسیون مبتنی بر رویداد را دارد و در صورت تشخیص مشکلات امنیتی، واکنشهای مناسب را فعال میکند. این ابزار همچنین دارای قابلیت توسعه پیوسته، بهینهسازی ChatOps و امکانات مختلف دیگری است.
Aqua Security
Aqua که برای مدیریت امنیت در تمام خط لوله توسعه و محیط زمان اجرا طراحی شده، از مخازن و برنامههای کاربردی مخصوص ابر در کل محیطهای ابر و پلتفرمها پشتیبانی میکند.
GitLab
این ابزار، معماری DevSecOps را در فرایند توسعه ترکیب میکند. GitLab قابلیت ارزیابی هر قطعه کدی را به محض ثبت آن دارد. این ابزار شامل یک داشبورد برای نمایش همه آسیبپذیریها است. توسعهدهندگان نیز با استفاده از این ابزار میتوانند در هنگام کار بر روی کد، آسیبپذیریهای آن را رفع کنند.
Red Hat OpenShift
Red Hat OpenShift امکانات امنیتی مخصوص برنامههای کاربردی مبتنی بر مخزن مثل کنترل دسترسی مبنی بر نقش و انجام بررسیهای مختلف در کل فرایند ساخت مخزن را دارد.
SD Elements
SD Elements یک پلتفرم اتوماسیون است که برای جمعآوری اطلاعات درباره نرمافزار، تشخیص تهدیدات، راهکارهای مقابله با آنها و همچنین مشخص نمودن کنترلهای امنیتی مناسب طراحی شده است.
WhiteSource
WhiteSource برای رسیدگی به آسیبپذیریهای اوپن سورس طراحی شده و قابلیت ادغام در فرایند ساخت نرمافزار (صرف نظر از نوع زبان برنامه نویسی مورد استفاده)، ابزارهای ساخت و محیط توسعه را دارد. WhiteSource به صورت پیوسته و با استفاده از پایگاه داده مخازن اپن سورس که به صورت پیوسته بهروزرسانی میشود، وضعیت امنیتی و مجوزهای اجزای اوپن سورس را بررسی میکند.
[1] Static Application Security Testing
منبع: csoonline