منتدى شباب ولاية معسكر
أشعلت شموع الترحيب وأضئيت مصابيح التهليل
بقدومك إلى أرض الحب منتداك منتدى الذئب الأبيض
ننتظر بث مدادك العذب عبر أثير المنتدى
ونتمنى لك قضاء أمتع وأجمل وأحلى الأوقات
كما نرجوا لك الفائدة
المنتدى منتداك
والقلم سيفك
فامتطي صهوه الفكر
وجواد الكلمة
لرسم لوحات أبداعك
في منتدى شباب ولاية معسكر
منتدى شباب ولاية معسكر
أشعلت شموع الترحيب وأضئيت مصابيح التهليل
بقدومك إلى أرض الحب منتداك منتدى الذئب الأبيض
ننتظر بث مدادك العذب عبر أثير المنتدى
ونتمنى لك قضاء أمتع وأجمل وأحلى الأوقات
كما نرجوا لك الفائدة
المنتدى منتداك
والقلم سيفك
فامتطي صهوه الفكر
وجواد الكلمة
لرسم لوحات أبداعك
في منتدى شباب ولاية معسكر
منتدى شباب ولاية معسكر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.


منتدى شباب معسكر اسرة كل فرد من ولاية الامير عبد القادر معسكر و جميع بلدياتها و دائراتها و كافة الولايات و المناطق المجاورة لها الجزائرية كما هو ملتقى لكل العرب المسلمين يقدم للاعضاء كل ما هو جديد في مجال الحياة كلها من دروس و نشاطات و رياضات و صور ,,,,
 
الرئيسيةاتبادل الاعلانيأحدث الصورالتسجيلدخول

 

 ما معنى Syn Flood

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
حُ رُوفُ الْـآبْدَآع
.: مؤسسة المنتدى :.
.: مؤسسة المنتدى :.
حُ رُوفُ الْـآبْدَآع


ما معنى Syn Flood  King



♥|رٌقمـ آلعُضْوٍيةٌ : 1
♥|آلجْنِسُ ♥|آلجْنِسُ : ذكر
♥|عًدد مشآاركتي: : 6872
♥|آلنِقًـــآطُ ♥|آلنِقًـــآطُ : 1474871
♥|آلسُمْـعَةً ♥|آلسُمْـعَةً : 37
♥|تاريخْ ميلادىْ’," : 03/03/1997
♥|تآاريخـِـِ التسَجيلـِـِ: ♥|تآاريخـِـِ التسَجيلـِـِ: : 25/05/2010
♥|المزاآجـِـِ : hmd
♥|العَمٍر : 27
♥|آلمٍوقعـِـِ: : هنا

ما معنى Syn Flood  Empty
مُساهمةموضوع: ما معنى Syn Flood    ما معنى Syn Flood  Emptyالجمعة ديسمبر 03, 2010 10:12 am


22 : syn_attacks

عند بدأ أي جلسة إتصال بإستخدام TCP/IP فإن العملية تسمى ب TCP/IP handshaking وهي تتم كالتالي :
1. يرسل الجهاز client رسالة إتصال syn للجهاز البعيد .
2. يرد الجهاز البعيد ب syn_ack على ال client إن كان المنفذ المراد الإتصال به مفتوح .وإلا يرد ب RST .
3. تبدأ الجلسة الفعلية لبدأ نقل البيانات بأن يرسل بعد ذلك client رسالة ack للجهاز البعيد .

الآن لإستغلال عملية الإتصال الطبيعية هذه في شن هجوم على جهاز بعيد يجب أن
نعرف أنه عند بدأ إتصال جديد مع السيرفر فإن السيرفر يقوم بإضافة مدخل syn
بإسم ip الجهاز client الذي أرسل إشارة syn ليستطيع متابعة تسلسل عملية
الإتصال . عندما تتم الإضافة يتم تخصيص جزء من موارد السيرفر لإستقبال
وإتمام هذه العملية .
يتم تخصيص جزء من الذاكرة يسمى ب backlog مخصص فقط لتضاف إليه طلبات syn الجديدة وستظهر على شكل SYN_RECV من netstat
CONSOLE

# netstat -n | grep SYN_RECV
tcp 0 0 10.100.0.200:21 237.177.154.8:25882 SYN_RECV -
tcp 0 0 10.100.0.200:21 236.15.133.204:2577 SYN_RECV -
tcp 0 0 10.100.0.200:21 127.160.6.129:51748 SYN_RECV -
tcp 0 0 10.100.0.200:21 230.220.13.25:47393 SYN_RECV -
tcp 0 0 10.100.0.200:21 227.200.204.182:60427 SYN_RECV -
tcp 0 0 10.100.0.200:21 232.115.18.38:278 SYN_RECV -
tcp 0 0 10.100.0.200:21 229.116.95.96:5122 SYN_RECV -
tcp 0 0 10.100.0.200:21 236.219.139.207:49162 SYN_RECV -
tcp 0 0 10.100.0.200:21 238.100.72.228:37899 SYN_RECV -



لو قمنا بإرسال طلبات SYN كثيرة للسيرفر فإنها كافية لعمل flood لملأ ال
backlog مما يشكل هجوم DOS بحيث لايستطيع السيرفر إستقبال أي إتصال حقيقي
جديد . حيث أن عمليات syn attack في الحقيقة ليست three way handshaking
والتي تسمى أيضا ب full-open tcp/ip connection , وإنما هجوم syn يعتمد على
أن لانكمل الإتصال الحقيقي الكامل وأن لانرد على syn_ack المرسلة من
السيرفر أساسا .
إن لم يصل للسيرفر رد على syn_ack التي قام بإرسالها لل client برد ack
صحيح يتم حذف مدخل syn من السيرفر بعد مرور 3 دقائق " في سيرفرات linux -
بشكل إفتراضي" حيث سيحاول فيها أن يعاود إرسال syn_ack خمس مرات لل client
عسى أن يجد رد ack لإكمال الإتصال .
الآن syn_flood سهل التحقيق ونحتاج أن نعرف شيء واحد إضافي , ماحجم ال
backlog ؟ القيمة الإفراضية ل backlog في linux هي 1024 مما يعني تخزين
1024 جلسة إتصال غير مكتملة وبعدها سيبدأ السيرفر بعمل DORP لكل syn إضافي
قادم !

بالتالي لتشكيل هجوم syn flood يجب أن نقوم بعمل ip spoofing وإرسال كمية
syn packets كبيرة لتشكيل الإتصال الأولي , و syn packet يتم إنشاءها
بالطبع بشكل إفتراضي من جميع البرامج التي تعمل على بروتكول tcp/ip بدأ من
المتصفحات وكل البرامج التي تعتمد على الإنترنت وغيرها الكثير .
syn packet يتم إنشاءها بعمل set ل syn flag في TCP Header وتوجد 8 flags كما هو واضح في الصورة :
Resized to 88% (was 1039 x 446) - Click image to enlarge[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]


توجد عدة أدوات في open source تنفذ أمور كثيرة جدا وإحدى الأدوات التي من
خلالها تستطيع إنشاء packet بالشكل الذي تريده وبكل التفاصيل في كل six
layers هي الأداة hping مثلا :
CONSOLE

hping -S 10.10.10.1 --fast -p DEST_PORT


هنا -S تعني إعمل على syn flag و --fast أرسل 10 packets في الثانية , -p
المنفذ البعيد لعمل إتصال معه , ووجب أن أذكر أن hping لايقوم بالإتصال
بشكل رئيسي ك ICMP وإنما بال TCP/IP بشكل إفتراضي مالم نحدد ذلك .

للوقاية من هذا النوع من الهجمات يوجد طريقين :
الأول : زيادة حجم backlog و تقليل الزمن اللازم لحذف مدخل syn من ال backlog .

لزيادة حجم backlog وعدد syn connections اليتيمة في لنكس يتم الأمر عن طريق sysctl كالتالي :
CONSOLE

sysctl -w net.ipv4.tcp_max_syn_backlog = "2048"



ولتقليل الزمن اللازم لحذف طلب الإتصال syn سنحوله من 3 دقائق ليصبح 45
ثانية ويمكن تقليله ل 21 أو 9 ثواني بتعديل القيمة
net.ipv4.tcp_synack_retries كالتالي :
CONSOLE

sysctl -w net.ipv4.tcp_synack_retries =3


القيم:
1 = 9 ثواني
2 = 21 ثانية
3 = 45 ثانية
5 = 3 دقائق

الآن يمكن للسيرفر أن يتحمل عدد طلبات أكبر وأن ينظف ال backlog بشكل أسرع مما ينعكس على أداء السيرفر أيضا بشكل عام .

الحل الثاني (وهو أبسط) : ويسمى بال syn_cookies
syn_cookies عبارة عن آلية عن طريقها نستطيع أن لانضيف مداخل لل backlog
وأن لا نتعامل مع TCP/IP stack إلا لو تحقق full open connection بتحقق :
(syn-->syn_ack-->ack)
لكن هنا السؤال المهم , كيف سنعرف أن ack القادم من client هو رد حقيقي
valid ل syn_ack الذي أرسله السيرفر لي ؟ بمعنى آخر كيف أميز ال ack
الحقيقي من الآخر spoofed ؟
لمعرفة ذلك يجب أن نراجع نقطة مهمة :
عندما أقول ack valid أو أقول syn_ack valid فهذا يعتمد على قيمتين
موجودتين في packet المرسلة تحديدا في بارامتري ACK و sequence ولتحقيق
إتصال full حقيقي يجب أن يكون كالتالي :
1. أرسل syn للسيرفر وقيمة عشوائية في sequence نرمز لها ب بحجم لايزيد عن بايتين
2. السيرفر يرد ب syn_ack ويضع قيمة عشوائية أيضا في sequence ويضع في خانة acknowledgement قيمة sequence المرسلة في syn الأول + 1
3. يرد ال client ب قيمة sequence تستسخدم لاحقا في تحديد بقية ال packets
في حالة حدوث fragmentation لو كان حجم ال window أكبر منMMS وهو1460 ,
وأيضا والأهم يضع في ack قيمة seq من ال syn_ack المستلمة + 1
هكذا تكون الجلسة قد بدأت ويمكن بعدها أن يتم تبادل البيانات , الآن من
الكلام السابق يمكن وبدون أي تعديل على tcp/ip scheme وبدون أي متابعة ل
syn الجديدة وبدون تخزينها في backlog أن نتأكد من صحة ack الأخير القادم
بوضع قيمة محسوبة مسبقا في ack عند إرسال syn_ack كالتالي :
عرف :
t = أول 5 بت من ack عداد يزيد واحد كل 64 ثانية
m = الثلاث بت التالية قيمة mms المستلمة من syn packet
s = بقية ال 24 بت من قيمة seq التي ستجهز وترسل ل client ك syn_ack
الآن هذه البارامترات أرسلت في 32bit في خانة seq لل client بالتالي هو
سيرد ب ack = seq + 1 أيضا كما تم الإتفاق عليه في ack المرسل الأخير .
ومن هنا يمكن أن نقوم بطرح 1 من القيمة المستلمة في السيرفر وعمل decode
للقيم والتحقق من أن الإتصال valid ببساطة وأنه تابع ل valid 3 way
handshaking وليس مزور من الخارج . وبعدها يتم نقل البيانات بشكل طبيعي .
كما تلاحظ بدون أن نحجز موارد ل syn وقت الإرسال "بعد إمتلاء backlog" فلن
نحجز ونخصص الموارد إلا بعد أن نتأكد من أن المستخدم جاد ويريد تحقيق إتصال
لنقل بيانات بالتالي فهجمات syn عقيمة تماما أمام هذا التعديل , ولتحقيقه
في linux يكفي فقط وقت بدء تشغيل linux "الإقلاع" أن يتم التعديل على قيمة
من قيم kernel وهي في الملف :etc/proc/sys/net/ipv4/tcp_syncookies بجعلها
true أي 1 كالتالي :
CONSOLE

echo 1 > /etc/proc/sys/net/ipv4/tcp_syncookies


وتضاف لسكربت يعمل وقت start up للسيرفر ك /etc/rc.sysinit أو /etc/rc.local لتكون القيمة الإفتراضية بشكل دائم .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://mascara29.ahlamontada.com
¤§¤ ~ نقــ الروح ــاء~¤§¤
.:المدير العام:.
.:المدير العام:.
¤§¤ ~ نقــ الروح ــاء~¤§¤


ما معنى Syn Flood  Jb12915568671
♥|آلجْنِسُ ♥|آلجْنِسُ : ذكر
♥|عًدد مشآاركتي: : 75
♥|آلنِقًـــآطُ ♥|آلنِقًـــآطُ : 13913
♥|آلسُمْـعَةً ♥|آلسُمْـعَةً : 0
♥|تاريخْ ميلادىْ’," : 09/07/1990
♥|تآاريخـِـِ التسَجيلـِـِ: ♥|تآاريخـِـِ التسَجيلـِـِ: : 27/09/2011
♥|المزاآجـِـِ : b1
♥|العَمٍر : 33
♥|العمل/الترفيهـًْ : professeur

ما معنى Syn Flood  Empty
مُساهمةموضوع: رد: ما معنى Syn Flood    ما معنى Syn Flood  Emptyالثلاثاء سبتمبر 27, 2011 6:14 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
????
زائر
avatar



ما معنى Syn Flood  Empty
مُساهمةموضوع: رد: ما معنى Syn Flood    ما معنى Syn Flood  Emptyالإثنين ديسمبر 26, 2011 7:20 am

شكراااااا لك
موضوع في القمة
بارك الله فيك
الرجوع الى أعلى الصفحة اذهب الى الأسفل
حُ رُوفُ الْـآبْدَآع
.: مؤسسة المنتدى :.
.: مؤسسة المنتدى :.
حُ رُوفُ الْـآبْدَآع


ما معنى Syn Flood  King



♥|رٌقمـ آلعُضْوٍيةٌ : 1
♥|آلجْنِسُ ♥|آلجْنِسُ : ذكر
♥|عًدد مشآاركتي: : 6872
♥|آلنِقًـــآطُ ♥|آلنِقًـــآطُ : 1474871
♥|آلسُمْـعَةً ♥|آلسُمْـعَةً : 37
♥|تاريخْ ميلادىْ’," : 03/03/1997
♥|تآاريخـِـِ التسَجيلـِـِ: ♥|تآاريخـِـِ التسَجيلـِـِ: : 25/05/2010
♥|المزاآجـِـِ : hmd
♥|العَمٍر : 27
♥|آلمٍوقعـِـِ: : هنا

ما معنى Syn Flood  Empty
مُساهمةموضوع: رد: ما معنى Syn Flood    ما معنى Syn Flood  Emptyالإثنين ديسمبر 26, 2011 10:33 am

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://mascara29.ahlamontada.com
 
ما معنى Syn Flood
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» هل تعرف ما معنى قوس قزح؟؟!
» >>>>> معنى الصداقة الحقيقية >>>>>
» أين الغموض ؟....وما معنى هذه الحياة ؟‎ :

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى شباب ولاية معسكر :: *** المنتدى النقني العام*** :: •°¬ | ::قِسْم الْـآمَن وَ الْحِمَآيَة :: | ¬°•-
انتقل الى: