ابزاری منبع باز برای امنیت نرم افزار | اخبار MIT

واقعیت تاسف بار صنعت امنیت نرم افزار این است که حمله به یک سیستم بسیار آسان تر از محافظت از آن است. هکرها برای موفقیت فقط باید یک آسیبپذیری را پیدا کنند، در حالی که توسعهدهندگان نرمافزار باید از کد خود در برابر همه حملات احتمالی محافظت کنند.
عدم تقارن به این معنی است که وقتی یک برنامه نویس انفرادی ناخواسته یک اپلیکیشن محبوب می سازد، به سرعت به ماهی آسیب پذیر در اقیانوسی از تهدیدات تبدیل می شود. شرکتهای بزرگتر تیمهای امنیتی نرمافزاری دارند، اما آنها به دلیل کاهش سرعت استقرار در میان توسعهدهندگان شهرت پیدا کردهاند، زیرا خطوط کد را با دقت بررسی میکنند تا از حملات محافظت کنند.
اکنون استارتآپ r2c به دنبال این است که نرمافزار ایمنسازی را با ابزاری متنباز برای تصحیح کد به تجربهای یکپارچهتر تبدیل کند. همانطور که Grammarly خطاهای گرامری یا فرصتهایی را برای بهبود در مقالات و ایمیلها پیدا میکند، ابزار r2c به نام Semgrep، خطوط کد را برای بررسی هزاران باگ و آسیبپذیری احتمالی تجزیه میکند.
در قلب Semgrep یک پایگاه داده از بیش از 1500 قانون از پیش نوشته شده است که متخصصان امنیتی می توانند در اسکن کد خود بگنجانند. اگر آنها یکی را که می خواهند نمی بینند، می توانند قوانین خود را با استفاده از رابط بصری r2c بنویسند و آن را برای دیگران به پایگاه داده اضافه کنند.
لوک اومالی، رئیس محصول r2c میگوید: «اگر میدانید چگونه به یک زبان برنامهنویسی کنید، اکنون میتوانید قوانینی بنویسید و Semgrep را گسترش دهید، و اینجاست که اساساً این زمینه را که فقط برای افرادی با مهارتهای بسیار تخصصی قابل دسترسی بوده است، دموکراتیک میکنید. ’14، که شرکت را با اسحاق ایوانز ’13، اس ام ’15 و درو دنیسون ’13 تاسیس کردند. اکنون که هر کسی میتواند یک قانون بنویسد، میتوانید از دانش تخصصی افراد در زمینههایشان بهره ببرید. این پیشرفت بزرگ است. Semgrep یک پروژه منبع باز است که توسط توسعه دهندگان، برای توسعه دهندگان است.
علاوه بر سادهسازی فرآیند اجرای استانداردهای کد، r2c جامعهای از متخصصان امنیتی را پرورش داده است که میتوانند ایدهها و راهحلهای طوفان فکری را برای آخرین تهدیدات به اشتراک بگذارند. این اکوسیستم پشتیبانی در یک صنعت به سرعت در حال تحول که در آن متخصصان امنیتی ممکن است هر روز صبح از خواب بیدار شوند و در مورد آسیبپذیریهای جدیدی که توسط هکها در معرض برخی از بزرگترین شرکتهای فناوری روی کره زمین قرار میگیرند، بخوانند، بسیار مهم است.
دنیسون میگوید: «مشاهده اینکه رایانهها با وجود اینکه 40 یا 50 ساله هستند، بسیار ناامن هستند، میتواند ناامیدکننده باشد. “من دوست دارم خودم را به یاد خودروها بیاندازم. شصت سال پس از ورود به دنیای خودرو، ما هنوز کمربند ایمنی یا کیسه هوا نداشتیم. واقعاً زمانی بود که ما اندازه گیری ایمنی و داشتن استانداردها را شروع کردیم که صنعت بهبود یافت. اکنون خودروی شما دارای انواع ویژگی های ایمنی فانتزی است. ما دوست داریم همین کار را برای نرم افزار انجام دهیم.”
آموزش هک کردن
ایوانز، اومالی و دنیسون در مقطع کارشناسی در MIT در کنار یکدیگر در سالن سیمونز زندگی می کردند. این سه دانشجوی مهندسی برق و علوم کامپیوتر به زودی شروع به هک کردن با هم در برنامه های مختلف دانشگاه و پروژه های جانبی کردند. در طول دوره فعالیت های مستقل در سال 2011، آنها قراردادی را برای کمک به پرسنل نظامی ارتش در استفاده ایمن تر از برنامه ها در تلفن های اندرویدی منعقد کردند.
اومالی میگوید: «این واقعاً نقشهای ما را تثبیت کرد، زیرا درو مدیر ارشد فناوری پروژه بود، آیزاک مدیرعامل بود، و من در حال انجام کارهای محصول بودم، و اینها نقشهایی هستند که ما با r2c در آن قرار گرفتیم». “این به طور رسمی یک شرکت نبود، اما ما برای خودمان یک نام گذاشتیم و با آن مانند یک استارتاپ رفتار کردیم.”
هر سه بنیانگذار همچنین در برنامه رهبری مهندسی Gordon-MIT (GEL) شرکت کردند.
دنیسون میگوید: «GEL واقعاً به من کمک کرد تا به این فکر کنم که چگونه یک تیم با هم کار میکند، و چگونه ارتباط برقرار میکنید و گوش میدهید. “این همچنین به من اجازه داد تا افرادی را ببینم. جوئل شیندال [MIT’s Bernard M. Gordon Professor in Product Engineering] مربی بزرگی بود از او پرسیدم که آیا باید ارتش را به یک استارتاپ تبدیل کنیم، توصیهاش درست بود. او گفت: «برو چند سال روی سکه دیگری اشتباه کن. زمان زیادی هست.»
با توجه به این توصیه، بنیانگذاران پس از فارغ التحصیلی به راه های جداگانه ای رفتند و به شرکت های مختلف پیوستند اما همیشه همکاری های موفق خود را در ذهن خود نگه داشتند.
در سال 2016، بنیانگذاران شروع به بررسی فرصت ها در فضای امنیتی نرم افزار کردند. در MIT، ایوانز پایان نامه کارشناسی ارشد خود را در مورد تکنیک های پیشرفته امنیتی نرم افزار نوشته بود، اما بنیانگذاران می خواستند چیزی بسازند که برای افرادی بدون دانش فنی عمیق قابل استفاده باشد.
بنیانگذاران چندین پروژه مختلف مربوط به اسکن کد را قبل از یک هکاتون داخلی در سال 2019 بررسی کردند، زمانی که یکی از همکاران یک پروژه منبع باز قدیمی را که در فیس بوک روی آن کار می کرد برای کمک به تجزیه و تحلیل کد به آنها نشان داد. آنها تصمیم گرفتند هکاتون را صرف احیای پروژه کنند.
بنیانگذاران تصمیم گرفتند تا با ایجاد سازگاری با زبان های بیشتر، وسعت به ابزار اضافه کنند و با قادر ساختن آن به درک کد در سطوح بالاتر، به آن عمق دهند. هدف آنها این بود که Semgrep را به طور یکپارچه در جریان کار امنیتی موجود قرار دهند.
قبل از استقرار کد جدید توسط یک شرکت، معمولاً توسط تیم امنیتی بررسی میشود (اگرچه بنیانگذاران میگویند تعداد کارشناسان امنیتی توسط توسعهدهندگان در بسیاری از شرکتها 100 به یک بیشتر است). با Semgrep، تیم امنیتی میتواند قوانین یا بررسیهایی را اجرا کند که بهطور خودکار روی کد اجرا میشوند تا مشکلات احتمالی را علامتگذاری کنند. Semgrep می تواند با Slack و سایر برنامه های رایج برای ارائه نتایج یکپارچه شود. امروزه با بیش از 25 زبان برنامه نویسی مربوط به برنامه نویسی موبایل، بک اند، فرانت اند و توسعه وب کار می کند.
در بالای پایگاه داده قوانین، r2c خدماتی را برای کمک به شرکتها ارائه میدهد تا با اطمینان از اینکه هر پایگاه کد برای موارد مناسب و بدون ایجاد تأخیرهای غیرضروری اسکن میشود، بیشترین بهره را از موتور یافتن اشکال ببرند.
O’Malley می گوید: “Semgrep در حال تغییر روش نوشتن نرم افزار است، بنابراین ناگهان می توانید سریع پیش بروید و ایمن باشید، و این قبلا برای اکثر تیم ها ممکن نبوده است.”
یک اثر شبکه
هنگامی که اخیراً یک آسیبپذیری بزرگ در چارچوب نرمافزار پرکاربرد معروف به Log4Shell افشا شد، کانال Slack جامعه r2c زنده شد.
اومالی به یاد میآورد: «همه میگفتند، خب، این یک تهدید جدید است، ما برای شناسایی آن چه کار میکنیم؟» “آنها به سرعت گفتند، “در اینجا انواع A، B، C برای همه وجود دارد.” این قدرت دموکراسیسازی قانوننویسی است.»
بنیانگذاران دائماً از جایی که Semgrep استفاده می شود شگفت زده می شوند. مشتریان بزرگ شامل شرکت هایی مانند Slack، Dropbox و Snowflake هستند. وزارت کشور یک دولت بزرگ ایالتی اخیراً در مورد پروژه مهمی که از Semgrep استفاده می کردند به آنها پیام داد.
همانطور که محبوبیت Semgrep همچنان در حال رشد است، بنیانگذاران بر این باورند که می توانند تجزیه و تحلیل خود را ایجاد کنند تا به توسعه دهندگان بینش هایی را در مورد امنیت پایگاه های کد خود فوراً ارائه دهند.
دنیسون میگوید: «صنعت امنیتی گستردهتر معیارهای زیادی درباره عملکرد ما ندارد. پاسخ دادن به سوالاتی مانند اینکه آیا ما در حال پیشرفت هستیم، سخت است؟ آیا نرم افزار ما بهتر می شود؟ آیا ما در برابر مهاجمان پیشرفت می کنیم؟ پس چگونه به نقطه ای برسیم که بتوانیم به شما نمره کیفیت کد بدهیم؟ سپس ناگهان امنیت نرم افزار را ساده می کنید.