کاربرد پردازش زبانهای طبیعی در حوزه امنیت سایبری

ایمنی به معنای محافظت از انسان ها در برابر ماشین ها و امنیت سایبری نیز به معنی محافظت از ماشین ها در برابر انسان ها است و نمی توان منکر این قضیه شد که همبستگی بین انسان و ماشین روز به روز بیشتر میشود. همچنین، یک مخترع و آینده نگر پیش بینی کرده در آینده ای نه چندان دور شاهد شکل گیری تمدن انسان – ماشین خواهیم بود.
با توجه به این که تعامل بین زبان های انسانی (طبیعی) و رایانشی بر اساس پردازش زبان صورت میگیرد، لازم است رایانه ها در زمینه پردازش و تحلیل حجم انبوهی از داده های مربوط به زبان های انسانی توانمندتر شوند. بنابراین نقش پردازش زبان طبیعی، در تعامل بین انسان – ماشین و همچنین در دنیای امنیت سایبری همچنان رو به افزایش است.
با توجه به موارد گفته شده، پس نقش و کاربرد پردازش زبانهای طبیعی (NLP) در حوزه امنیت سایبری چیست؟
دو عامل مهمی که ابزار اصلی هر دو آنها زبان است و به تقویت نقش همبستگی انسان و ماشین در حوزه امنیت سایبری کمک می کنند، عبارتند از:
- برقراری ارتباط: انسان ها برقراری ارتباط با ماشین ها را از طریق زبان های ساخت یافته (مثل زبان های برنامه نویسی) آغاز کردند اما به تدریج برای انجام این کار به سمت استفاده از زبان طبیعی (مثل چتبات ها، دستیارهای صوتی و غیره) روی آوردند.
- بهره وری خودکارسازی: بهره وری خودکارسازی (اتوماسیون) از طریق پیادهسازی فناوری هایی مثل خودکارسازی فرایندهای رباتی (RPA) یا کارمندان هوش مصنوعی میسر میشود و زبان، چه رسمی باشد و چه طبیعی، جایگاه خود را در آن به عنوان رابط اصلی حفظ میکند.
از پیشرفت های به وقوع پیوسته در سال های اخیر و همچنین تعداد تحقیقات و برنامه های کاربردی رو به افزایش می توان متوجه شد که یادگیری ماشینی برای پردازش زبان، نقش خیلی مهمی در ایجاد همبستگی بین ماشین و انسان دارد. بنابراین قابلیت های تحلیلی و مولد یادگیری ماشینی در زمینه تشخیص متن و گفتار، آن را به ابزاری مهم در حوزه امنیت سایبری تبدیل کرده است.
برای به تصویر کشیدن هر چه بهتر این ایده، در ادامه تعدادی از کارهای پردازش زبان طبیعی که میتوان برای ایجاد ابزارهای حمله و تهدید یا دفاع از انسان ها و ماشین ها از آنها استفاده کرد را مرور میکنیم:
- تحلیل زبان: مدل سازی زبان، تحلیل احساس، طبقه بندی متن، تشخیص موجودیت های نام گذاری شده، استنتاج زبان طبیعی، استخراج روابط، تجزیهکننده احساسی، تحلیل با منبع مشترک، پیوند موجودیت ها، استدلال منطقی، ترکیب بندی معنایی، تشخیص و ترجمه زبان، استخراج اطلاعات و موجودیت ها، تشخیص و طبقهبندی هدف، تشخیص خبرهای جعلی و موضع اشخاص، تشخیص شایعه، تشخیص نفرت پراکنی، تشخیص تله کلیکی و تشخیص سوءاستفاده.
- مولد زبان: سیستمهای پاسخ به سؤال، تولید متن و دیالوگ، خلاصه سازی متن، پر کردن شکاف برای کارهای جمعیتی دانش بنیان، تولید کد برنامه نویسی و اسکریپت نویسی.
این کاربردها را باید در شرایط پیچیده تر که امکان استفاده از قابلیت های یکدیگر و همچنین سایر ابزارهای هوش مصنوعی همچون پردازش و تولید صدا و صوت، پردازش تصویر و غیره را دارند نیز در نظر گرفت.
همانطور که ممکن است در منابع paperswithcode.com/area/nlp و statista.com یا سایر منابع مشاهده کنید، تعداد و بازار برنامه های کاربردی حوزه NLP رشد پایداری دارد. با توجه به این که امروزه لازم است در هر برنامه کاربردی یا سیستم فناوری اطلاعات، بحث امنیت سایبری در نظر گرفته شود؛ بنابراین نقش NLP هم در این حوزه رو به گسترش است. از این رو میتوان از وفور انواع الگوریتمها و مطالعاتی که هر روزه منتشر میشوند برای کاربردهای امنیت سایبری استفاده کرد. عکس زیر، بعضی از این موارد را نشان میدهد که به سه نوع کاربرد مختلف تقسیم بندی شده اند:
1- کادرهای زرد، نشان دهنده کاربردهایی هستند که از ابزارهای جمع آوری و تولید اطلاعات استفاده میکنند و امکان استفاده از آنها برای اجرای حمله یا محافظت از انسان، در ترکیب انسان و ماشین وجود دارد.
2- کادرهای آبی، نشان دهنده کاربردهایی هستند که ممکن است مهاجمان در آنها از NLP استفاده کرده تا این حمله ها را بر ضد ماشین ها اجرا کنند. مدافعان نیز میتوانند از آنها برای تقویت وضعیت دفاعی ماشین های خودشان استفاده کنند.
3- کادرهای سبز، نشان دهنده کاربردهایی هستند که از خودکارسازی تعدادی عملیات امنیتی مهم و فعالیتهای مربوط به انطباق با استانداردهای قانونی حمایت میکنند.
در ادامه این مطلب از فراست، مروری مختصر بر هر یک از این کاربردها خواهیم داشت.
کادرهای زرد رنگ
1- به گفته یکی از مدیران ارشد فناوری، «قدرت سایبری دیگر به مفاهیمی مثل جنگ سایبری نظامی که حدود 25 سال است درباره آن صحبت میکنیم و هنوز به وقوع نپیوسته است، نیست. بلکه قدرت واقعی اطلاعات است.» پیشرفت در یادگیری ماشینی و قدرت پردازشی باعث شده که امکان پردازش حجم انبوهی از اطلاعات برای حل مشکلات عملی از جمله جمعآوری و تولید اطلاعات فراهم شود.
بسیاری از شرکتهای خصوصی بزرگ و مؤسسات دولتی، همین حالا هم در زمینه جمع آوری اطلاعات به مهارت بسیار بالایی دست یافته اند. در چند سال اخیر، شاهد نتایج فوق العاده ای از جمله تولید متن، صدا یا تصویر در زمینه تولید اطلاعات به کمک یادگیری ماشینی بوده ایم. همین اواخر نیز مدل پردازش زبان طبیعی GPT-2 از OpenAI به صورت محدود عرضه شد که دلیل آن «نگرانیهای موجود در زمینه استفاده از مدل های زبانی عظیم برای ایجاد گفتارهای فریبنده، مغرضانه یا توهین آمیز در مقیاس بزرگ» بیان شد.
OpenAI بعداً اعلام کرد در جریان این که یکسری از محققان، ظرفیت فنی لازم برای بازتولید و اپن سورس کردن نتایج این مطالعه را دارند، است اما به احتمال زیاد انجام چنین کاری مستلزم استفاده از قدرت الگوریتمها و مدل های یادگیری ماشینی جهت تشخیص روش هایی برای شناسایی اطلاعات فریبنده و جعلی، آن هم در مقیاس وسیع است.
2- NLP در ترکیب با تولید صوت و علم صوت شناسی می تواند نقش قابل توجهی داشته باشد. این امر باعث شده تقلید هویت متنی و صوتی به مرحله ای جدید برسد و باعث به چالش کشیده شدن حواس انسانی و قابلیت های اشخاص در زمینه مواجهه با چنین اطلاعات کذبی شود. برای مثال، یک شرکت چینی از هوش مصنوعی برای ایجاد یک کلیپ سخنرانی از دونالد ترامپ استفاده کرده که به زبان انگلیسی و چینی ماندارین صحبت میکند.
همچنین میتوان از چنین فناوری هایی به همراه الگوریتم های GAN (شبکههای عصبی عمیق) و تشخیص نقاط کلیدی بدن استفاده کرد و ویدیو هایی تقلبی از چهره های مشهور که در حال بیان سخنانی خاص هستند را تولید کرد.
3- هر چند هنوز تولید ویدیو های تقلبی، کار چالش برانگیزی محسوب میشود اما وب سایت thispersondoesnotexist.com از هوش مصنوعی برای تولید چهره اشخاصی استفاده میکند که وجود واقعی ندارند. این تنها یک نمونه از امکانات موجود برای تولید اطلاعات خصوصی و هویتی است که واقعاً وجود خارجی ندارد. با استفاده از پردازش زبان های طبیعی، امکان رسیدن داده های تولید شده توسط ربات ها به مقیاس های بزرگ وجود دارد.
در مقالهای با عنوان « استفاده از یادگیری ماشینی برای تشخیص هویت های جعلی»، این گونه شرح داده شده که ربات ها و انسان ها به این نتیجه رسیده اند که «قابلیت ها و مدل های فعلی یادگیری ماشینی که برای تشخیص زبان استفاده میشوند، مناسب شناسایی انسان های جعلی نیستند.» هر چند کارهای زیادی در این خصوص در حال انجام است ولی نیاز به طراحی سازوکاری مناسب تر جهت تشخیص اهداف مخرب هویت های جعلی وجود دارد.
4- فیشینگ هدفمند زمانی رخ میدهد که مهاجمان از ایمیل، پیامک یا تماس های تلفنی خاص برای فریب قربانیان استفاده میکنند. شبکه های اجتماعی، منبع اصلی چنین حملاتی هستند و حالا مهاجمان اجرا کننده این حمله ها پیشرفت کرده و ابزارهای NLP نیز برای بهره برداری در این حوزه بسیار کارآمد شده اند.
مهاجمان، با جمعآوری اطلاعات به کمک NLP میتوانند فرایند جمعآوری اطلاعات شخصی از طریق شبکه های اجتماعی و سایر منابع را خودکارسازی کرده و موجب دشوارتر شدن شناسایی مهاجم شوند. با این حال مدافعان هم میتوانند از این ابزارها برای مقابله با حملات استفاده کنند.
مقاله جالبی که در دانشگاه MIT منتشر شده، نشان میدهد چگونه میتوان از پردازش زبان های طبیعی برای تشخیص تعدادی از حمله های فیشینگ بر ضد سازمان ها استفاده کرد. به گفته نویسندگان این مقاله، در صورتی که تحلیلگر به پروفایل های مبتنی بر متنی که هویت مورد استفاده در فیشینگ و اهداف آن را توصیف کند دسترسی داشته باشد، میتواند برای تشخیص قصد و قابلیت های مهاجمان در حملههای فیشینگ، از تحلیل مشابهت و تحلیل پنهان مفهومی استفاده کند.
5- در رابطه با سانسور و انتشار اطلاعات دروغین همین حالا هم دو کاربرد مختلف قابل مشاهده است. یکی از این کاربردها برای مقیاس بزرگ، سانسور کردن محتوای نامناسب به خصوص در کشورهایی است که انتقاد از دولت، ارتش یا خانواده سلطنتی در آنها مشمول قوانین سانسور میشود.
مورد بعدی نیز در مقاله ای با عنوان «کدگذاری خلاقانه زبان در هنگام سانسور» به این صورت تشریح شده است که در صورت موفقیت آمیز بودن ابزارهای کدگذاری، میتوان به مرور زمان و با سرعت زیادی به تکامل رسید تا در نهایت بتوان سیستم سانسور نیمه خودکار را شکست داد. در عین حال، این امر منجر به ایجاد چالش ها و فرصت های جدیدی برای استفاده از فنون پردازش زبان طبیعی جهت درک زبان های کدگذاری شده، خواهد شد.
کادرهای آبی رنگ
1- طیف وسیعی از سازوکارهای دفاعی و حملات دنیای وب میتوانند از فنون مختلف یادگیری ماشینی و پردازش زبان طبیعی، از جمله سری های زمانی یا درخواست/ پاسخ HTTP استفاده کنند.
هر چند مهاجمان میتوانند از تکنیک های جمع آوری اطلاعات یا یادگیری ماشینی خصمانه استفاده کنند اما مدافعان هم میتوانند از فنون خاص پردازش زمان طبیعی، مثل seq2seq autoencoder (تبدیل کننده خودکار دنباله به دنباله) و سایر مدلها برای امنیت وب استفاده کنند.
نتایج بیانگر آن هستند که میتوان از این روشها برای تحلیل ترافیک وب و محافظت از برنامه های کاربردی تحت وب استفاده کرد و سایر توسعه دهندگان هم روش آنها را برای دستیابی به قابلیت های تشخیص ناهنجاری توسعه دادهاند.
مثال بعدی توسط Dominc Puzio طراحی شده که در دوره حرفه ای خودش در Capital One سیستمی طراحی کرد که ترافیکی با مقیاس سازمانی را به صورت لحظه ای و بلادرنگ تحلیل میکند، پیش بینیهای خاصی را انجام داده و هشدارهای لازم را صادر میکند تا تحلیلگران امنیت سایبری آنها را مورد بررسی قرار دهند.
بنابراین میتوان فرض کرد با وجود افزایش چالش های فنی، پیشگامان بازار در عرصه WAF (فایروال برنامه کاربردی تحت وب) و تشخیص ناهنجاری، به دنبال پیاده سازی چنین قابلیت هایی در محصولات خودشان هستند. تحقیقات مختلفی به کاربردهای تشخیص ناهنجاری و طبقهبندی دامنه پرداخته اند و از آن برای شناسایی نشانی های وب مخرب استفاده کرده اند.
یک تیم از محققان کلمبیایی نشان دادهاند که شناسایی نشانی های وب بر اساس الگوهای آنها میتواند به تشخیص وب سایت های فیشینگ کمک کند و با استفاده از حافظه کوتاه – بلندمدت NLP (LSTM[2]) به دقت 95 درصد در این زمینه رسیدهاند.
محققانی به نامهای Sandeep Yadav و Ranjan propose روشی برای تشخیص نام های دامنه که توسط بات نت ها برای تغییرات پی در پی نام دامنه (شار دامنه یا Domain Fluxing) تولید میشوند، ابداع کردهاند.
مثال بعدی مربوط به کار Walid Daboubi است که یک شبکه طبیعی autoencoder برای تشخیص نشانی های وب مخرب ابداع کرده و به صورت اپن سورس در GitHub قرار داده است.
2- در رابطه با بحث بدافزار و تحلیل کد، مهندسان داده در Endgame در حال تهیه فنون NLP پیشرفته ای برای شناسایی و درک هر چه بهتر کدهای مخرب هستند. این گروه، چارچوبی را برای تحلیل کد بدافزارها به نام «پردازش زبان مخرب» طراحی کردهاند. هدف آنها عملیاتی کردن هر چه بیشتر NLP با کمک خودکارسازی و گسترش قابلیت شناسایی کدهای مخرب مخفی شده در دل کدهای به ظاهر بی خطر است. این گروه، با استفاده از مفهوم تحلیل نحوی واژگان، باینری های مخرب را به صورت یک بدنه متنی طولانی در نظر میگیرند.
به طور مشابه، امکان توسعه فنون NLP برای ارزیابی آسیبپذیری از طریق برون یابی وجود دارد. بر اساس یافتههای Fabian Yamaguchi، Felix Lindner و Konrad Rieck میتوان از یادگیری ماشینی برای شناسایی توابع مشابه به توابع آسیبپذیر جهت تشخیص الگوهای استفاده از API در هر برنامه کاربردی استفاده کرد. بنابراین میتوان با توجه به یک آسیبپذیری شناخته شده، الگوهای لازم برای بررسی کد و تشخیص کدهای آسیب زا با ویژگیهای مشابه را استخراج کرد.
کادرهای سبز
1- شاید بتوان گفت مهم ترین نقش یادگیری ماشینی، استفاده از رابطه بین انسان و ماشین است. در عرصه امنیت سایبری انسانها در حوزه تشخیص و پیش بینی رویداد، سعی به شناسایی رخدادهای در حال اجرا و آن چه ممکن است در یک محیط خاص رخ دهد، دارند. همچنین در تحلیلهای عمیق، طبقهبندیها و فنون تشخیص استنتاج و هماهنگ سازی کاربرد دارد.
یک راهکار جذاب در این حوزه، توسط Empow Security و Elastic ارائه شده است. آنها از NLP برای ادغام تحلیلهای عمیق در راهکارهای SIEM بی قاعده استفاده کردند. راهکار آنها با استفاده از قابلیت های ارتباط دهی NLP، تحلیل علت و معلولی را انجام میدهد که تمامی مراحل چرخه حیات حمله را در برمیگیرد.
از نظر راهکارهای عملی حوزه امنیت سایبری، تیم Atos SOC یک مرحله جلوتر رفته و یک راهکار تحلیلی تجویزی پیادهسازی کردهاند که در آن، متخصصان داده با کارکنان امنیت سایبری همکاری دارند. به گفته آنها لازم است با مشخص کردن کارهای لازم برای رسیدن به نتایج پیش بینی شده و پیامدهای به هم پیوسته هر تصمیم، فراتر از تحلیل پیشگویانه عمل کرد.
2- با نگاهی به صفحه Gartner Peer Insights در بازار Threat Intelligence ، بازاری فعال را مشاهده میکنید که در حال حاضر حداقل 24 محصول در آن موجود است.آنچه که ممکن است درباره آن اطلاعاتی نداشته باشید این است که در بسیاری از آنها برای بهبود قابلیت های محصول، از پردازش زبان های طبیعی استفاده شده است.
Josefin Ondrus از Recorded Future و تیم همکار او درباره نحوه استفاده از NLP توضیح دادهاند. محصولات هوش تهدید میتوانند با استفاده از NLP، علاوه بر معنای کلمه ها و دادههای فنی در زبان های مختلف، از میلیاردها داده مختلف برای شناسایی الگو استفاده کنند. به این ترتیب، ماشین میتواند با دقتی بیشتر زبان تهدیدهای سایبری را شناسایی کرده و تشخیص های مثبت کاذب را کاهش دهد. همچنین ماشین میتواند با کمک NLP از منابع دادهای بیشتر با زبان های مختلف استفاده کرده و اطلاعات مهم را برای انسانها مشخص کند.
3- هستی شناسی مبتنی بر NLP از خودکارسازی و ترکیب مدیریت مخاطره فناوری اطلاعات و انعطاف پذیری سایبری پشتیبانی میکند. در صورتی که تحلیل و ارزیابی مخاطره شامل اطلاعات زمینه ای هم باشد، محصولات مدیریت مخاطره IT با استفاده از NLP میتوانند الزامات چارچوب ها و روشهای مختلف را با داده های جمع آوری شده از یک محیط IT ارتباط دهند. این اقدام میتواند باعث بهبود قابلیت های محصول جهت پیروی از استانداردهای قانونی شده و حتی به برقراری رابطه بهتر با قانون گذاران کمک کند.
همچنین این روش میتواند از ارزیابی مخاطره پشتیبانی کرده و به کسب و کارها درباره پیامدهای احتمالی این مخاطره ها اطلاعات دهد. علاوه بر این، قابلیت های تحلیل محتوای NLP میتوانند تغییرات صورت گرفته در استاندارد های قانونی را دنبال کرده و به برآورد هزینه های مربوط به انطباق با این استانداردها کمک کنند.
لازم به ذکر است هم اکنون امکان استفاده از NLP برای کاهش مخاطره مدل امنیت سایبری از طریق ایجاد مدل های مخاطره پیشرفته تر نیز فراهم شده است.
یکی از دسته بندی هایی که در این نمودار گفته نشده، بحث تولید کد و اسکریپت است. در سال 2015 میلادی، Andrej Karpathy مدیر هوش مصنوعی شرکت تسلا تمامی منابع لینوکس موجود در Github را جمعآوری کرده، همه آنها را در یک فایل بزرگ ترکیب کرد و یک مدل LSTM آموزش داد که در نهایت موفق به تولید کدهایی شد که از نظر دستور زبان درست بودند اما قابلیت اجرا نداشتند.
قطعاً انجام کارهای مشابه بر روی زبان های برنامه نویسی، مثل پایتون و کدهای پایتون موجود در Github میتواند جذاب باشد اما میتوان کار را یک مرحله جلوتر برد و مدل را بر اساس همه کدهای بدافزاری موجود در وب آموزش داد. اگر چه ممکن است در حال حاضر در چنین جایگاهی نباشیم اما سرعت تغییرات میتواند موجب شود که در آیندهای نه چندان دور شاهد پیادهسازی طرحهای مشابه باشیم.
امروزه شاهد حجم استفاده از یادگیری ماشینی و پردازش زبان طبیعی در دنیای امنیت سایبری هستیم. این ابزارها، هم برای هکرها و هم مدافعان امنیت سایبری قابلیت های جدیدی را به همراه داشته اند و میتوانند به آنها برای دستیابی به اهداف شان کمک کنند.
کلام پایانی
در آخر لازم است به دو نقل قول اشاره کنیم؛ Peter J. Denning و Craig Martell در کتاب Great Principles of Computing (اصول عالی محاسبات) مینویسند: «اصول یک رشته، در اصل شامل مجموعهای از ماجرا های به هم پیوسته درباره ساختار و رفتار عناصر آن رشته است». Gilles Laurent استادیار سیستم های عصبی و رایانشی و بیولوژیکی در مؤسسه فناوری کالیفرنیا در مقاله ای به نام «درک کردن به چه معناست؟» میگوید: «در بیشتر موارد، به سختی میتوان رفتار جمعی یک سیستم را با توجه به دانشی که از اجزای آن موجود است، استنتاج کرد.»
هر چند تحلیل NLP یا فنون مولد، جذابیت دارند اما شاید اگر آنها را به عنوان کارهایی مفرد و مجزا در نظر بگیریم، کل داستان کامل نباشد. اگر بتوان هر یک از کاربردهای گفته شده در حوزه امنیت سایبری را ترکیب کرده و فراتر از مثال های بیان شده عمل کرد، رفتار نهایی سیستم پیچیدهتر شده و سخت تر میتوان آن را استنتاج کرد.
با افزایش تعداد مطالعات، قدرت رایانشی و داده های در دسترس میتوان انتظار داشت NLP همچنان به پیشرفت های جدید خود در عصر امنیت سایبری ادامه دهد. با توجه به این که مهاجمان هرگز از هیچ فرصتی برای پیشرفت تکنیک های خودشان چشم پوشی نمیکنند، انتظار میرود مدافعان نیز خودشان را با این شرایط تطبیق داده و NLP را به عنوان راهکاری برای حل چالش های امنیت سایبری خود در نظر بگیرند. البته نباید فراموش کرد که تا آن زمان نیز ماشین ها به یادگیری و تطبیق خودشان ادامه خواهند داد.
منبع: medium