استخراج قواعد طبقه بندی براساس بهینه سازی کلونی مورچه ها برای سیستم تشخیص نفوذ

باافزایش استفاده از کامپیوترو شبکه کامپیوتری، امنیت سیستم های کامپیوتری بسیار پراهمیت شده است. هر روزه حملات از انواع جدیدی برای صنایع بوجود آمده است. ازآنجائیکه تهدیدات سال به سال به یک موضوع جدی تبدیل شده است، تکنولوژی شناسایی نفوذها برای امنیت کامپیوتروشبکه ضروری می باشند. انواع راهکارهای شناسایی این نفوذها برای رفع کردن این موضوع جدی مطرح شده است. اما مشکل اصلی، کارایی می باشد. افزایش نرخ شناسایی و کاهش نرخ هشدار اشتباه در حوزه شناسایی نفوذ مهم است. برای شناسایی نفوذ، راهکارهای متفاوت در طی دهه گذشته توسعه داده شده و مطرح گردیده است .

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

یکی از الگوریتم های هوش ازدحامی کلونی مورچه ها می باشد که علاوه بر مسائل بهینه سازی در الگوریتم های داده کاوی هم مورد استفاده قرار گرفته است.

این پایان نامه الگوریتم کلونی مورچه ها را برای استخراج قواعد تصمیم گیری بهبود داده است. ابتدا یک تابع ارزیابی برای تولید قواعد جدید به منظور افزایش دقت تصمیم گیری ایجاد و سپس یک روش وزندهی به منظور مقابله با مشکلات موجود در تولید قواعد در مجموعه داده های نامتعادل به کار گرفته شده است.

نتایج آزمایش ها در این پایان نامه نشان داده که با انتخاب تابع هدف مناسب و با در نظر گرفتن نامتعادل بودن مجموعه داده مورد آزمایش توانسته الگوریتم Ant-miner را به عنوان یک روش پایه استخراج قوانین طبقه بندی بر پایه کلونی مورچه در حوزه داده کاوی و تشخیص نفوذ بهبود بخشد.

منابع و مراجع:

دانشگاه خوارزمی     http://www.khu.ac.ir

ایران داک       http://www.irandoc.ac.ir 

معرفی کتاب مفاهیم و تکنیک های داده کاوی

با توجه به افزایش حجم داده ها و اهمیت آنها در حوزه های مختلف تکنیک های آماری و ابزار مدیریت سنتی برای آنالیز این داده ها کافی نیست. داده کاوی کوششی برای بدست آوردن اطلاعات مفید از میان داده هاست

کتاب مفاهیم و تکنیک های داده کاوی ، نوشته مهدی اسماعیلی این منبع که ترجمه و گردآوری خوبی از کتاب معروف "Data Mining: Concepts and Techniques" نوشته Han و Kamber می باشد.یکی از کتاب هایی است که مفاهیم و الگوریتم های مورد استفاده در زمینه داده کاوی را به زبانی ساده و کامل همراه با مثال های عددی تشریح کرده است.

در این کتاب خواهید خواند:

  • فصل 1 :مفاهیم و چالش های داده کاوی
  • فصل2:مفاهیم آماری و تکنیک های آماده سازی داده
  • فصل3:انبار داده ها و تکنولوژی OLAP
  • فصل 4 و5 : قوانین انجمنی و الگوریتم های مربوط به آن
  • فصل6و7:مفاهیم و الگوریتم های دسته بندی به همراه مثال های عددی
  • فصل 8 و9:الگوریتم های مختلف خوشه بندی
  • فصل10:موضوعات مرتبط با داده کاوی از جمله متن کاوی، وب کاوی، کاوش داده هایی با ساختارهای پیچیده و ... اشاره ای دارد.


این کتاب را می توان به صورت رایگان از لینک زیر دانلود نمایید.

لینک دانلود : http://www.irstu.com/?p=13971

دیتاست های مورد استفاده در سیستم های تشخیص نفوذ

 

1) آشنایی با مجموعه داده های مربوط به تشخیص نفوذ:

در بحث شناسایی نفوذ سیستم با استفاده ار داده های استاندارد مثل KDD cup و مجموعه داده DARPA تست می شود. هر کدام از این مجموعه داده را در ادامه با جزئیات خواهیم دید.

(1-1 مجموعه داده cup-99  KDD

این مجموعه داده برای سومین مسابقه بین المللی ابزارهای داده کاوی و کشف دانش مورد استفاده قرار گرفته است. فعالیت مسابقه ساختن سیستم شناسایی نفوذ برای تشخیص ارتباطات خوب و بد بود. به زبان دیگر ما می توانیم بگوییم که با کمک این مجموعه داده ما می توانیم متجاوزین و حمله کنندگان را تشخیص دهیم. این پایگاه داده حاوی یک مجموعه داده استاندارد برای بررسی می باشد که دارای نفوذهای متنوع شبیه سازی شده در کاربردهای نظامی است.

(1-2 مجموعه داده KDD cup-2010

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

(1-3مجموعه داده DARPA

سیستمهای کامپیوتری و خوشه تکنولوژی (قبلا گروه ارزیابی شناسایی نفوذDAPRA) تحت نظر نمایندگی پروژه های تحقیقاتی پیشرفته دفاعی(DAPRA ITO) و آزمایشگاه تحقیقات نیروی هوایی (AFRL/SNHS) اولین مجموعه داده استاندارد را برای ارزیابی سیستمهای شناسایی نفوذ شبکه های کامپیوتری جمع آوری و منتشر کرد. ما همچنین با آزمایشگاه تحقیقات نیروی هوایی هماهنگ بودیم که اولین، تکرار پذیر و همچنین ارزیابی مهم آماری سیستم های شناسایی نفوذ در سال 1998 و 1999 انجام شد. این ارزیابی ها شانس شناسایی و  احتمال هشدار اشتباه هر سیستم تحت آزمایش را اندازه گیری می کرد. این ارزیابی بطور موثری به حوزه تحقیقاتی شناسایی نفوذ با ارائه جهت برای تلاش محققان  و همچنین درجه بندی عملی برای کارهای تحقیقاتی در این زمینه کمک می کند. برای همه محققان کاربر روی مسائل عمومی ایستگاه کار و شناسایی نفوذ شبکه دارای جذابیت می باشد. تخمین طوری طراحی شده است که برای تمرکز بر روی موضوع تکنولوژی و برای تشویق کردن برای مشارکت ممکن هر چه بیشتر بوسیله از هم باز کردن نگرانیهای امنیت و استقلال و بوسیله تهیه انواع داده ها که بطور معمول توسط اکثریت سیستمهای شناسایی نفوذ مورد استفاده قرار می گیرند، آسان باشد.

 

جدول 1 : بررسی ویژگی های رکوردهای موجود در KDD CUP 99  مرجع[1]

 

نوع ویژگی

توضیحات

نام ویژگی

ردیف

Numeric

مدت زمان اتصال

duration

1

Nominal

نوع پروتکل TCP,UDP,ICMP

protocol_type

2

Nominal

نوع سرویس شبکه Telnet,Http,etc.

service

3

Nominal

نرمال یا اشکال داشتن اتصال را مشخص می کند

flag

4

Numeric

تعداد بایت های داده از منبع به مقصد

src_bytes

5

Numeric

تعداد بایت های داده از مقصد به منبع

dst_bytes

6

Nominal

اگر 1 باشد یعنی اتصال از یک پورت است در غیر این صورت 0 می شود

land

7

Numeric

تعداد قطعات اشتباه

wrong_fragment

8

Numeric

تعداد بسته های urgent

urgent

9

Numeric

تعداد شاخص های hot را نمایش میدهد

hot

10

Numeric

تعداد login های دارای نقص

num_failed_logins

11

Nominal

اگر 1 باشد یعنی موفقیت آمیز بوده درغیر اینصورت 0 می شود

logged_in

12

Numeric

تعداد شرط های compromised

num_compromised

13

Numeric

با 0 و یا 1 شدن وضعیت root shell را مشخص می کند

root_shell

14

Numeric

با 0 و یا 1 شدن وضعیت su root را مشخص می کند

su_attempted

15

Numeric

تعداد دسترسی هایی که به root انجام گرفته است

num_root

16

Numeric

تعداد فایل های عملیاتی ایجاد شده

num_file_creations

17

Numeric

تعداد هسته های آماده

num_shells

18

Numeric

تعداد عملیات روی فایل های کنترل دستیابی

num_access_files

19

Numeric

تعداد دستورات خارج شده در نشست ftp

num_outbound_cmds

20

Nominal

با 0 و یا 1 شدن مشخص می کند که آیا login عضو لیست hot شده یا نه

is_hot_login

21

Nominal

با 0 و یا 1 شدن وضعیتguest بودن login را مشخص می کند

Is_guest_login

22

Numeric

تعداد اتصالاتی که از یک host در یک اتصال جاری بیش از 2 ثانیه بطول بکشد

count

23

Numeric

تعداد اتصالاتی که از یک سرویس در یک اتصال جاری بیش از 2 ثاتیه بطول بکشد

srv_count

24

Numeric

درصد اتصالاتی که اشکال SYN دارند

serror_rate

25

Numeric

درصد اتصالاتی که اشکال SYN در سرویس دارند

srv_serror_rate

26

Numeric

درصد اتصالاتی که اشکال REJ دارند

rerror_rate

27

Numeric

درصد اتصالاتی که اشکال REJ در سرویس دارند

srv_rerror_rate

28

Numeric

درصد اتصالاتی به سرویس های یکسان

same_srv_rate

29

Numeric

درصد اتصالاتی به سرویس های مختلف

diff_srv_rate

30

Numeric

درصد اتصالاتی به host های مختلف

srv_diff_host_rate

31

Numeric

تعداد host های مقصد

dst_host_count

32

Numeric

تعداد سرویس host  های مقصد

dst_host_srv_count

33

Numeric

درصد اتصالاتی که از یک host با یک سرویس به یک host مقصد در یک بازه زمانی انجام شده است

dst_host_same_srv_rate

34

Numeric

درصد اتصالاتی که از یک host با سرویس های مختلف به یک host مقصد در یک بازه زمانی انجام شده است

dst_host_diff_srv_rate

35

Numeric

درصد اتصالاتی که از یک host با یک پورت منبع انجام شده است

dst_host_same_src_port_rate

36

Numeric

درصد اتصالاتی که از یک host به host  دیگر با سرویس متفاوت انجام شده است

dst_host_srv_diff_host_rate

37

Numeric

نرخ اشکالات SYN در host منبع

dst_host_serror_rate 

38

Numeric

نرخ اشکالات SYN سرویس host منبع

dst_host_srv_serror_rate

39

Numeric

نرخ اشکالات host منبع

dst_host_rerror_rate

40

Numeric

نرخ اشکالات سرویس host منبع

dst_host_srv_rerror_rate

41

 

 [1]KDDCup,1999.Availableon:http://kdd.ics.uci.edu/databases/kddcup99/ kddcup99.html, Ocotber 2007.

 

 

انواع دسته بندی سیستم های تشخیص نفوذ :

سیستم های تشخیص نفوذ را می توان از جهات مختلف دسته بندی کرد. شکل 1-1 یک نمونه از این دسته بندی را نشان می دهد[2].

  1. دسته بندی بر اساس روش تحلیل
  2. دسته بندی براساس منبع اطلاعاتی
  3. دسته بندی بر اساس معماری
  4. دسته بندی بر اساس واکنش به نفوذ
  5. دسته بندی بر اساس جنبه های زمانی
     

1) دسته بندی براساس روش تحلیل                   

1-1) روش تشخیص امضا :

روش تشخیص امضاء بر اساس داشتن الگویی از نفوذهای شناخته شده عمل میکند. در این روش، مسأله تشخیص نفوذ به یک مسأله دسته بندی تبدیل میشود و سیستم تشخیص نفوذ قادر است حمله هایی را که پیشتر الگوی آنها را در یک مرحله آموزشی فرا گرفته، تشخیص دهد. مهمترین خصیصه این روش آن است که سیستم امنیتی قادر است حمله های شناخته شده را با دقتی بالا و نرخ هشدار غلط خیلی کمتشخیص دهد. منظور از هشدار غلط هشداری است که هنگام عدم وقوع حمله توسط سیستم تشخیص نفوذ اعمال میگردد. وجود هشدار غلط حتی به میزان کم چنانچه بار ترافیکی عادی شبکه بالا باشد، باعث وقوع هشدارهای متعدد و خسته کننده میگردد. به همین دلیل نرخ تولید هشدار غلط توسط یک سیستم تشخیص نفوذبایستی تا حد امکان پایین باشد. البته ذکر این نکته ضروری است که پایین نگه داشتن نرخ مزبور سببکاهش توانایی سیستم در تشخیص حملات محتمل میگردد. به عبارتی بایستی میان دقت تشخیص بالا و نرخ هشدار غلط پایین نوعی تعادل برقرار نمود.]3[

 

1-2) روش تشخیص بر اساس ناهنجاری :

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

پس می توان گفت تکنیک های مبتنی بر ناهنجاری براین فرض بنا شده که بتوان رفتارهای مخربانه را از رفتارهای عادی سیستم تفکیک کرد[4]

تکنیکهای متعددی از تشخیص نفوذ در شبکه مبتنی بر تشخیص ناهنجاری تا کنون ارائه شده است که شامل تکنیکهای آماری تک متغیره و چند متغیره، مدلهای سری زمانی، ماشین حالت محدود، زبانهای توصیفی، سیستمهای خبره، شبکه های بیزین، مدلهای مارکوف، شبکه های عصبی، منطق فازی، الگوریتمهای ژنتیک، خوشه بندی و تشخیص دورافتاده می شوند

با توجه به انواع روشهای ذکر شده برای تشخیص نفوذ به شبکه، مشخص است که هر روش نقاط ضعف وقوت مربوط به خودش را دارا میباشد. دقت بالا در تشخیص حملات و نرخ هشدار غلط پایین از جملهویژگیهای اصلی در روش تشخیص امضاء میباشد. در عین حال روش مزبور توانایی تشخیص حمله های جدید را دارا نمی باشد. روش تشخیص ناهنجاری با وجود داشتن توانایی بالا در تشخیص حمله های جدید،دارای نرخ هشدار غلط بالایی است.

 

1-3) روش ترکیبی

در این روش که معمولا روش بهتری محسوب می شود سیستم تشخیص نفوذ مزایای دو حالت قبل را با هم مورد استفاده قرار می دهد. ابتدا سیستم حملات شناخته شده را بر اساس تکنیک های روش مبتنی بر امضاء پیدا می کند و برای سایر حملات جدید که الگویی برای شناسایی آنها در پایگاه اطلاعاتی خود ندارد از روش مبتنی بر ناهنجاری استفاده می کند[[6],[7 .[5],

 

 

2) دسته بندی براساس منبع اطلاعاتی

2-1) سیستم تشخیص نفوذ مبتنی بر میزبان(HIDS) :

این سیستمها داده ای را که در کامپیوتری که بعنوان میزبان یک سرویس است مثل سرور شبکه جمع آوری و مورد آزمایش قرار می دهند. در حالتیکه داده یک کامپیوتر جمع آوری گردید،      می تواند بصورت محلی مورد بررسی قرار گیرد یا به ماشین آنالیز مرکزی یا مجزا فرستاده شود. یکی از سیستمهای برپایه میزبان برنامه هایی هستند که بر روی یک سیستم عمل می­کنند و پیگیری وقایع برنامه های کاربردی یا سیستم عامل را دریافت می کنند. این برنامه ها برای شناسایی سوء استفاده های داخلی بسیار موثر هستند. اگر یکی از این کاربران تلاش کند تا فعالیت غیرقانونی انجام دهد، سیستمهای بر مبنای میزبان معمولاً بیشترین اطلاعات مربوطه را در سریعترین حالت ممکن جمع آوری و شناسایی می کنند.

         مزایا:

1.        قابلیت نشان دادن سریع شکست یا موفقیت یک حمله

2.        نظارت سطح پایین

3.        تشخیص و واکنش تقریبا بلادرنگ

4.        قابلیت عمل در محیطهای رمز شده

5.        اثربخشی و اقتصادی بودن

         معایب:

1.        امکان غیرفعال شدن سیستم در بخشی از حمله

2.        نیاز به انباره زیاد برای ذخیره اطلاعات

3.        سربار محاسباتی برای میزبان[8]

 

2-2) سیستم تشخیص نفوذ مبتنی بر شبکه[1] :

برخلاف نظارت بر فعالیتهایی که در یک شبکه خاص اتفاق می افتد، شناسایی نفوذ بر مبنای شبکه بسته های داده ای را بررسی می کند که در شبکه واقعی منتقل می شوند. این بسته ها مورد آزمایش قرار می گیرند و در بعضی اوقات با داده های تجربی مقایسه می شوند تا ذات آنها: با خطر یا     بی خطر مورد بازبینی قرار گیرد: از آنجائیکه آنها مسئول بررسی شبکه هستند، سیستمهای شناسایی نفوذ بر مبنای شبکه (NIDS) تمایل به انتشار بیشتری نسبت به سیستمهای شناسایی برپایه میزبان دارند. نرم افزار یا سخت افزار دستگاه در بعضی از موارد، در یک یا چند سیستم متصل می شود و برای آزمایش داده همچون بسته های شبکه مورد استفاده قرار می گیرد. بجای آنالیز اطلاعاتی که در کامپیوتر تولید و مستقر می­شوند، سیستم شناسایی نفوذ از تکنیکی به نام packet-sniffing برای اخذ داده از پروتکل TCP/IP یا دیگر بسته های پروتکل انتقالی در طول شبکه استفاده     می کند. تحت نظر گرفتن ارتباطات بین کامپیوترها باعث می شود تا سیستم شناسایی نفوذ بر پایه شبکه در شناسایی تلاشها برای دسترسی به شبکه مورد اعتماد از بیرون بصورت قوی عمل کند. در حالت کلی، سیستم های بر پایه شبکه در شناسایی فعالیتهای زیر بهترین عملکرد را دارند:

دسترسی از بیرون غیرمجاز: زمانیکه یک کاربر غیرمجاز با موفقیت وارد می شود یا برای ورود تلاش می کند، ردپای این کاربران به بهترین نحو توسط سیستم شناسایی نفوذ بر پایه میزبان تعقیب می گردد. درحالیکه، شناسایی کاربران غیر مجاز قبل از ورود آنها و در حال تلاش برای ورود توسط سیستم شناسایی نفوذ بر مبنای شبکه به بهترین نحو انجام می گردد.

دزدی پهنای باند/ رد کردن سرویس: این حملات از خارج شبکه منابع شبکه را برای سوء استفاده انتخاب می کنند. بسته هایی که این حملات را حمل می کنند به بهترین صورت می توانند توسط سیستم شناسایی نفوذ بر مبنای شبکه شناخته شوند.

         مزایا:

1.        قابلیت تشخیص حملاتی که سیستمهای مبتنی بر میزبان آنها را از دست می دهند چون ترافیک شبکه را در لایه انتقال نظارت می کنند.

2.        دشوار کردن حذف شواهد توسط مهاجم

3.        تشخیص و واکنش بلادرنگ

4.        قابلیت تشخیص حملات ناموفق و سوء قصدهای مخرب

5.        عدم تداخل با عملکرد معمولی شبکه

         معایب :

1.        عدم قابلیت عمل در محیطهای رمز شده مثل VPN

2.        نقاط کور شبکه که قادر به دیدن آنها نیستند.

3.        عدم عملکرد صحیح در ترافیک سنگین[8]

 

 

شکل 2 : NIDS باید در جایی قرار داشته باشد که ترافیک کل شبکه را مورد بررسی قرار دهد.


 

 

2-3) مدل ترکیبی:

بدیهی است بهترین حالت وقتی است که ترکیبی از دو حالت قبل یعنی NIDS و HIDS برای تشخیص حملات در شبکه داشته باشیم.

 

 3) دسته بندی از لحاظ معماری:

از لحاظ معماری می توان سیستم های تشخیص نفوذ را به دو حالت متمرکز و توزیع شده تقسیم بندی کرد. در حالت اول تمام پردازش ها دریک سیستم مرکزی انجام می پذیرد اما در حالت دوم هر سیستم بصورت جداگانه پردازش بسته ها را انجام می دهد.(در این حالت از Agent ها برای این پردازش ها استفاده می کنند.

     4) دسته بندی براساس واکنش به نفوذ:

برحسب اینکه بعد از تشخیص حملات چه عملیاتی توسط سیستم های تشخیص نفوذ انجام بگیرد به دو دسته فعال و غیر فعال می توان این سیستم ها را تقسیم بندی کرد. درحالت فعال سیستم، بعد از تشخیص حملات اقدام به هدایت فرد متخاصم به سمت کوزه عسل[2] و یا اقداماتی از این قبیل می نماید.


5) دسته بندی بر اساس جنبه های زمانی:

 و درنهایت سیستم های تشخیص نفوذ را بر اساس زمانبندی آنالیزها می توان به دو دسته تقسیم بندی کرد: بررسی بسته های شبکه بصورت ممتد یا همان بلادرنگ و بررسی بصورت دوره ای که در این حالت داده ها را ابتدا ذخیره کرده و در بازه های زمانی مختلف به تحلیل آنها و پیدا کردن حملات می پردازند و در صورت پیدا کردن نشانه های از حملات به مدیر شبکه هشدار می دهد.

 



[1] Network-based Intrusion Detection System

[2] Honeypot



دسته بندی حملات

             اصولا چهار نوع حمله به شبکه شناسایی شده اند و هر یک از انواع حملات دیگر در این چهار دسته قرار می گیرند که عبارتند از :

  • حمله از کار انداختن سرویس (DoS) : این از نوعی می باشد که دسترس پذیری سیستم ها یا خدمات کامپیوتری را بلوکه می کند . این نوع حمله در انواع شکل ها یعنی مصرف منابع نادر ، محدود یا تجدید ناپذیر ، انهدام یا دگرگونی اطلاعات پیکر بندی ، انهدام فیزیکی یا تغییر مولفه های شبکه ظاهر می شود  .
  •  وارسی : این یک نوع حمله می باشد که مهاجم در این نوع حمله کار وارسی را انجام می دهد و ضعف یا آسیب پذیری ها یی را در دستگاه یا وسیله شبکه مشخص می سازد که بعدا می تواند برای مهاجم سودمند باشد .
  • حمله کاربر به ریشه U2R : در این حمله مهاجم قصد دارد با دستیابی به نام کاربری یک کاربر مجاز در سیستم، نقاط آسیب پذیر را کشف کند.
  • حملات کاربر از راه دور ( R2L) : در این حمله مهاجم از راه دور و از طریق شبکه بسته هایی را به سیستم های مورد نظر ارسال میکند تا بتواند نقاط آسیب پذیر سیستم را کشف کند [1].