آزمون ها و راه حل هاي ايمن سازي فناوري


 

مترجم: محمد ناصح




 
اجازه دهيد کار خود را با تشريح ابزارهاي مورد استفاده براي آزمايش يک ساختار VoIP آغاز کنيم. فناوري موسوم به VoIP (سرنام VoiceoverIP) همان فناوري اي است که امکان برقراري مکالمات تلفني را از طريق ترافيک IP فراهم مي کند و هر روز مورد استفاده تعداد فزاينده اي از شرکت ها و اشخاص قرار مي گيرد.
بهره گيري از فناوري VoIP روش ساده اي براي برقراري ارتباط بين شعبه هاي مختلف و همچنين برقراري ارتباط با کارمندان راه دور شرکت ها محسوب مي شود. بسياري از کاربران به منظور حذف شرکت هاي تلفن قديمي و پرداخت هزينه کمتر براي مکالمات به اين فناوري روي مي آورند. بسياري از عرضه کنندگان خدمات اينترنتي در سراسر دنيا به منظور کاهش هزينه هاي مکالمه تلفني از فناوري هاي خلاقانه اي بهره مي برند.
اين رويکرد جديد در برقراري ارتباطات تلفني، زمينه تجاري نويني را براي آن دسته از شرکت ها که با تکيه بر فناوري IP و خدمات مربوط فعاليت مي کنند، ايجاد کرده است. البته از طرفي موجب بروز مشکلات متعددي نيز شده است که پيش از اين در سيستم هاي تلفن سنتي، وجود نداشت. تلفن هاي آنالوگ قديمي اي که نواقص بسيار داشتند، با تجهيزات هوشمند جايگزين شده اند. اغلب اين تجهيزات به يک سيستم عامل و ساير امکاناتي از اين دست مجهز هستند. اين تصوير کلي را مي توان به منظور درک بهتر تمام زيرساخت تلفن، از کابل ها گرفته تا فناوري PBX مورد استفاده قرار داد. ارتباطات تلفني با استفاده از پروتکل هاي فراهم سازي ارتباطات (مانند H323، SIP، IAX) و پروتکل هاي انتقال داده ها (مانند RTP و IAX) برقرار مي شوند. اين پروتکل ها همواره در ارتباطات بي نقص و سيستم هايي با سامانه مجوز دهي ضعيف استفاده شده اند. فناوري جديد در مقايسه با فناوري قديمي ارتباطات تلفني، فاکتورهاي متعددي را معرفي کرده است؛ در اين مقاله رويکردهاي مختلف مورد استفاده براي کاوش در امنيت سيستم VoIP را مورد بررسي قرار مي دهيم.
به طور خلاصه، اين مقاله مواردي همچون اسکن زيرساخت، کنترل رابط هاي مديريت، رسوخ به ارتباطات و سامانه اعتبارسنجي و ممانعت از ارائه خدمات (حملات DoS) را مورد بحث قرار مي دهد. براي اين کار، برخي از مشکلات موجود در سيستم را شناسايي کرده و ميزان خطر حاصل از آن ها را به درستي تحليل مي کنيم.

ابزارها
 

براي تحليل يک ساختار VoIP ابزارهاي متعددي وجود دارد. در پايان مقاله آدرس اينترنتي مجموعه اي از ابزارهاي تجاري و اپن سورس موجود براي تحليل سيستم آمده است. در ادامه برخي از ابزارهاي مذکور را براي شناسايي موارد زير به کار مي گيريم:

- خدمات فعال
- مديريت PBX و ترمينال
- مجوزدهي
- ضبط و بررسي تماس هاي تلفني
- حمله هاي DoS

اسکن خدمات فعال
 

با استفاده از ابزار NMAP امکان اسکن ميزبان هاي راه دور و کشف موارد مربوط به VoIP فراهم مي شود. با استفاده از گزينه sU- مي توان فهرست سرويس هاي فعال را که روي پورت هاي UDP ثبت شده اند و با خدمات VoIP مانند SIP و IAX v2 مرتبط هستند، شناسايي کرد.

ابزار SMAP
 

ابزار SMAP به دليل تمرکز بر پروتکل SIP، بسيار مفيد است. اين ابزار محصول ادغام کارکردهاي دو ابزار NMAP و SIPSAK است. ابزار SMAP به واسطه ارسال چندين درخواست SIP به واحدهاي مختلف موجود در شبکه و انطباق نتايج آن با داده هاي موجود در يک بانک اطلاعاتي، قادر است مدل و سيستم عامل تجهيزات سخت افزاري را تشخيص دهد.
براي استفاده از اين ابزار بايد آن را در قالب آرشيو tar.gz از اينترنت دريافت کرده و پس از بازگشايي آرشيو در يک پوشه، فايل Makefile را اجرا کنيد تا منابع موجود در آن، کامپايل شوند. چنان که در فهرست 1 مشاهده مي کنيد، استفاده از ابزار SMAP بسيار ساده است.
سازنده اين پروژه معتقد است، ابزار SMAP در شبکه هاي محلي نتايج بسيار دقيقي را به دست مي دهد، اما اگر اين ابزار براي تشخيص اطلاعات تجهيزات مستقر در بيرون يک NAT يا ديوار آتش به کار گرفته شود، در صحت نتايج حاصل ترديد وجود دارد.

رابط هاي مديريت
 

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

تکنيک Footprinting رويکرد جامعي است که براي گردآوري اطلاعات اوليه در سيستم هايي که داراي شکاف هاي امنيتي شناخته شده يا پيکربندي نامناسب (چيزي شبيه به user=admin و password=admin) هستند، مورد استفاده قرار مي گيرد. اين رويکرد به واسطه جست و جو در بانک هاي اطلاعاتي گوگل با استفاده از دنباله هاي کاراکتري است. به اين ترتيب، آن دسته از رابط هاي مديريتي که توسط اسپايدرها در اينترنت کشف شده اند، شناسايي مي شوند.
توسعه و رشد اين شيوه وام دار صدها نوع دستگاه و تجهيزات است که از رابط مديريت تحت وب استفاده مي کنند. امروزه يافتن اين دستگاه ها و تجهيزات در سراسر دنيا به امري ساده تبديل شده است. در ادامه چند نمونه عملي را بررسي مي کنيم:

دنباله کاراکتري
 

inurl:"NetworkConfiguration"Cisco
چنان چه دنباله کاراکتري فوق را در گوگل وارد کنيد، بانک هاي اطلاعاتي اين موتور جست و جو را براي يافتن تلفن هاي VoIP محصول شرکت سيسکو يا رابط مديريت آن ها، جست و جو کرده ايد.
شگفت انگيز است. با اين کار تعداد زيادي از تجهيزات را مي يابد که به درستي نشانه گذاري شده اند. در عمل اين نوع جست و جو به خوبي شناخته شده و در حقيقت تعداد کمي از تجهيزات مورد نظر از اين طريق قابل دسترسي هستند.
رابط سيسکو دستورالعمل هاي کمي دارد. مي توان تصور کرد در صورتي که اين رابط امکان برقراري تماس را براي افراد ثالث فراهم کند، چه اتفاقي رخ مي دهد. به احتمال نمي توان تماس هاي برقرار شده در سيستم را ضبط و بررسي کرد، اما درون سايتي که رابط مديريت متعلق به آن است، زنگ تمام تلفن ها بدون هيچ علتي به صدا در مي آيد. فرض کنيد اگر رابط يک سيستم جمع آوري اطلاعات (PCAP) داشته باشد، چه اتفاقي رخ مي دهد؟ در اين شرايط مي توان ترافيک اطلاعات مربوط به تماس هاي تلفني را در ميان مسير مورد دسترسي قرار داده و پس از دريافت محلي اطلاعات، آن را براساس الگوهايي تحليل کرد. اما يافتن چنين رابط هايي غير ممکن است؛ زيرا اين رابط ها وجود خارجي ندارند.
"e.g.0114930398330"snow

در صورت تمايل مي توانيد اطلاعات ذخيره شده در حافظه رابط راه دور را آزمايش کنيد. نکته مهم اين است که در اين صفحات يک دنباله کاراکتري مشخص براي جست و جو در گوگل بيابيد.
براي طراحان رابط مديريت تحت وب، شناخت يک پيکربندي استاندارد براي مديريت اسپايدرها بسيار مفيد است: يک طراح براي تعيين صفحاتي که بايد نشانه گذاري شوند و صفحاتي که نبايد مورد دسترسي قرار گيرند، فايلي موسوم به robots.txt را درون دايرکتوري مرجع قرار مي دهد. براي صفحات مرتبط با رابط هايي که مايل به نشانه گذاري آن ها نيستيد، بايد دو سطر زير را درون فايل Robots.text وارد کنيد:
*:User-Agent
/:Disallow

اعتبارسنجي
 

اعتبارسنجي براي بسياري از کلاينت ها و تجهيزات SIP براساس شماي Digest/MD5 و HTTP انجام مي شود. اين نوع اعتبارسنجي نقاط ضعف متعددي دارد. به عنوان مثال، مي توان به حمله هاي مبتني بر ابزارهاي ساده کشف رمز عبور اشاره کرد. براي تحليل ترافيک شبکه در ارتباطات UDP از ابزار Whiteshark استفاده مي کنيم. با استفاده از اين ابزار توانمند مي توان نموداري از بسته هاي اطلاعاتي مبادله شده در طول تماس تلفني ترسيم کرد. براي اين کار کافي است از منوي Statistics گزينه VoIP Calls و سپس گزينه Graph را انتخاب کنيد(شکل 1).
براي کشف نحوه اعتبارسنجي مي توان از يک فيلتر خاص براي پروتکل SIP استفاده کرده و درخواست هاي ثبت را به دست آورد (شکل 2).
به منظور تسهيل فرآيند فيلترسازي مي توان از ابزار SIP crack استفاده کرد. اين ابزار کوچک به زبان C نوشته شده، فقط براي تحليل اعتبارسنجي SIP طراحي شده است. ابزار SIPcrack يک برنامه نفوذ به پروتکل SIP است و از دو برنامه مجزا شامل Sidump و Sipcrack تشکيل شده است. برنامه Sidump با استفاده از رونوشت تهيه شده توسط Tcpdump تلاش هاي شبکه را براي اعتبارسنجي کشف مي کند. برنامه Sipcrack با تهاجم به سيستم، کلمه هاي عبور را کشف مي کند.
مثالي از نحوه به کارگيري اين ابزار در فهرست 2 آمده است. ترتيب کار به اين صورت است که ابتدا تمام بسته هاي udp در رابط eth ضبط و سپس درون فايل net-capture.txt ذخيره مي شوند.
با استفاده از برنامه Sidump مي توان تلاش هاي انجام شده براي ورود به سيستم را فيلتر کرده و آن ها را درون فايل sip-logins.dump ذخيره کرد( فهرست 3).
براي فراهم کردن امکان استفاده از فهرست واژگان موجود در ساير نرم افزارها (براي مثال John the Riper) به ترتيب زير يک فايل fifo pip ايجاد کنيد:

dimebag SIPcrack-0.1#mkfifo
fifosipcrack
براي شروع کار نرم افزار Johm the Riper در يک ترمينال ديگر و ارسال رونوشت ها به Sipcrack (فهرست4) عبارات زير را اجرا کنيد:
--dimebag SIPcrack-0.1 # john
incremental=alnum--stdout=8>fifosipcrack
در مورد اين مثال و پيامدهاي انجام آن دوباره فکر کنيد. در يک زيرساخت VoIP ممکن است به سهولت اعتبار نامه خود را از دست بدهيد. يکي از راه حل هاي رفع چنين مشکلي مي تواند استفاده از کانال هاي کد شده همراه VPNيا SIP روي TLS(سرنام Transport Layer Security) باشد. روي پروتکل IAX v2 نيز با استفاده از سيستم اعتبارسنجي مبتني بر MD5 مي توان تحليل مشابهي را انجام داد.

ضبط و بررسي تماس ها
 

با بررسي نمودار ترسيم شده توسط ابزار Wireshark متوجه مي شويد که ارتباطات موثر بر اساس پروتکل RTP برقرار مي شوند. براي شناسايي مشکلات احتمالي در فرآيند ضبط و بررسي از ابزار Voipong استفاده مي کنيم. ابزار Voipong يک ردياب شبکه است که امکان ضبط و بررسي تماس هاي VoIP را روي چندين پروتکل (مانند H323 ، SIP و پروتکل Skinni Client محصول شرکت سيسکو) فراهم مي کند. به علاوه با استفاده از اين ابزار مي توان تماس هاي واضح را روي RTP يافته و پس از کدگشايي آن ها را در يک فايل wav. ذخيره کرد. ابزار Voipong را مي توان از وب سايت توسعه دهنده آن در قالب يک برنامه قابل اجرا و بدون نياز به نصب روي هارد ديسک دريافت کرد. با استفاده از ماجول هاي DSOM (سر نام Dynamic Shared Object Modules) مي توان ساختار کدگشايي ابزار مذکور را توسعه داد، اما در نسخه 2 رمزگشاهاي G711-law و G711 a-alaw به طور پيش فرض پشتيباني شده اند. اين رمزگشاها به دليل کيفيت بالاي فايل هاي صوتي خروجي، متداول ترين نمونه هاي موجود در ترمينال هاي LAN هستند. برنامه رسوخ گر براي عملکرد صحيح نيازمند کتابخانه هاي libcap و براي ساخت فايل wav. نيازمند کتابخانه sox است. پس از کامپايل و نصب نرم افزار، بايد آن را با استفاده از فايل voipong.conf پيکربندي کنيد( فهرست 5). به علاوه براي تعيين موقعيت فايل مورد نظر براي رسوخ بايد به ترتيب زير از فايل voipongnest استفاده کنيد:
192.168.3.0/255.255.255.01fp
عبارت LFP ( سرنام LeastFalsePositive) به الگوريتم مورد استفاده براي شناسايي تماس هاي VoIP اشاره دارد. براي اطلاعات بيشتر مي توانيد به اسناد آنلاين اين نرم افزار مراجعه کنيد. ابزار Voipong به عنوان يک رسوخ گر عادي شبکه نيازمند فعال سازي حالت listen با استفاده از يک رابط شبکه است که توانايي يافتن تمام ترافيک VoIP را دارد.
ما براي رسيدن به اين هدف از چندين گزينه مختلف بهره مي گيريم:
- نصب برنامه روي سيستم گيت وي شبکه VoIP
- استفاده از يک رابط شبکه که به پورت نظارت سوييچ متصل مي شود.
- استفاده از يک رابط شبکه مشترک با يک هاب
- تکنيک Posioning ARP
-تکنيک Wwitch Flooding

هنگام شروع کار با Voiponing مي توان برنامه رسوخ گر را در حالت پس زمينه فعال کرده و با استفاده از کنسول Voipcti تماس ها را ضبط و بررسي کرد( فهرست 6).
همان طور که در فهرست 6 مشاهده مي کنيد، با استفاده از دستور Shcall مي توان ارتباط بين ميزبان 192.168.123.99 روي پورت udp به شماره 5022 و ميزبان 192.168.123.92 روي پورت udp به شماره 19260 را مشاهده کرد.
با استفاده از کنسول مذکور مي توان اطلاعات مشاهده شده و گزينه هاي مربوط به سرور را پيکربندي کرد(فهرست 7). در مثال مورد بحث، به منظور گوش کردن مکالمه هاي در حال ضبط و بررسي، بايد دايرکتوري موجود در فايل پيکربندي را در قالب گزينه Outdir باز کرده و فايل هاي wav. را جمع آوري کنيد.
با استفاده از ابزار Cain & Abel روي کامپيوتري با سيستم عامل ويندوز امکان آرشيو کردن نتايج وجود دارد. اين کار توسط يک برنامه رسوخ گر انجام مي شود که قابليت ضبط و بررسي تماس هاي کد شده توسط کدگذارهاي G771 aLaw ،G711 Law، GSM610، LPC، DV14 ، ADPCM، Speex، G729، L16، Microsoft GSM، G726-16، G723.1، G722.1، iLBC، G726-40، G726-32، G726-24 و LPC-10 را دارد. با انتخاب اين رسوخ گر مي توانيد تماس ها را با کدگذار مربوط ببينيد. البته اين تماس ها پس از کدگشايي در قالب فايلهاي wav. درون همان دايرکتوري که ابزار Cain & Abel نصب شده، ذخيره مي شوند. با استفاده از اين ابزارهاي توانمند ضبط و بررسي تماس هاي تلفني که با بهره گيري از پروتکل هاي فعال در حالت Clear برقرار مي شوند، بسيار ساده بوده و به بهره گيري از تکنيک هاي رمزگذاري نيازي نيست. براي اجتناب از اين مشکلات بهتر است از کانال هاي VPN يا پروتکل SRTP استفاده شود. به همين ترتيب، پخش فايل هاي صوتي که پروتکل IAX v2 در حالت Clear از آن پشتيباني مي کند، قابل نفوذ است. با وجود اين، سازندگان پروتکل اخير راه حلي را براساس به کارگيري يک کانال کدشده توسط AES ارائه کرده اند که هنوز به طور رسمي اعلام نشده است. شکل 3 نمايي از برنامه Cain & Abel را نشان مي دهد.

حمله هاي DoS
 

يکي از چالش هاي پروتکل هاي SIP و IAX v2 حمله هاي Denial of Service يا ممانعت از خدمات است. با استفاده از زبان برنامه نويسي Perl به سادگي مي توان ابزارهايي را ايجاد کرد که قابليت ارسال بسته هاي DoS را داشته باشند.
براي انجام اين کار مي توان از کتابخانه هاي CPAN که به طور خاص براي پروتکل طراحي شده اند، بهره گرفت يا برنامه هايي مانند IAXflood، SIPBomber و SIPsak را مورد استفاده قرار داد. برنامه IAXflood بسيار توانمند بوده و کاربردي ساده دارد. هنگام استفاده از پروتکل IAX اين برنامه مي تواند بسته هاي DoS را روي يک سرور VoIP ايجاد کند. براي کار با اين برنامه بايد مرجع مورد نظر و شماره بسته را به ترتيب زير تعيين کنيد:
usage:./iaxflood sourcename
destinationname numpackets
براي اين کار بايد امکان دسترسي مستقيم به مرجع و مقصد برنامه، بدون نياز به سيستم NAT از طريق آدرس IP شما فراهم باشد. هدف از به کارگيري اين بسته ها، کاهش کيفيت خدمات به گونه اي است که در نهايت سرور مسدود شود.

جمع بندي و پيشنهاد
 

براساس نوع زيرساخت، بايد به موضوعات امنيتي مقتضي توجه کنيد. در ادامه برخي از اين موضوعات فهرست شده است:
- خطوط PSTN يا ISDN را براي بسته هاي صوتي حفظ کنيد.
- با استفاده از USP يک سيستم پشتيبان نيرو و انتقال توان به شبکه اترنت به منظور تامين توان ترمينال ها، طراحي کنيد.
- خدمات در حالت Clear يا خدمات اعتبارسنجي ضعيف حفاظت نشده را به حداقل ممکن برسانيد. تلفن ها و رابط هاي مديريت را بدون حفاظت در اينترنت باقي نگذاريد.
- براي مديريت ترمينال ها از کلمات عبور امن استفاده کنيد.
- با استفاده از VLAN در شبکه خصوصي خود ترافيک و اطلاعات و VoIP را تقسيم کنيد.
- در صورت امکان از تجهيزاتي استفاده کنيد که از کدگذاري فايل هاي صوتي توسط پروتکل SRTP پشتيباني مي کنند.
-کيفيت خدمات را مديريت کنيد.
- با استفاده از VPN ipsec يا tls براي ترافيک VoIP از کانال هاي کد شده بهره بگيريد.
- استفاده از منابع شبکه را (به عنوان مثال با استفاده از برنامه source IP control) محدود کنيد.
- از ديوارهاي آتش سطح برنامه (مانند SIP/IAX) استفاده کنيد.
- از سيستم هاي اجتناب از تداخل (Intrusion Prevention System) استفاده کنيد. استفاده از سيستم هاي IPS براي مقابله از حمله هاي DoS روي پروتکل هاي VoIP ضروري است. اين سيستم ها در سطح برنامه ها فعال بوده و به همين دليل امکان تداخل آن ها با تجهيزات ISO/OSI سطح 3 وجود ندارد. سيستم استاندارد حفاظتي IDS/IPS با عنوان Snort شناخته مي شود که حالت ورودي سيستم IPS را کنترل مي کند.
پروتکل SIP معمولاً دچار مشکلات امنيتي است. در سيستم Snort قواعد خاصي براي حفاظت از اين پروتکل در مقابل متداول ترين حمله ها وجود دارد. براي اطلاع بيشتر به فهرست 9 مراجعه کنيد.
اين بخش از قوانين به منظور محافظت دائمي از سيستم هاي آسيب پذير که يک فاکتور اصلي در خدمات VoIP محسوب مي شود، طراحي شده است.
در فهرست 10 مي توانيد مثالي از نحوه مقابله با يک آسيب پذيري شناخته شده را ببينيد. اين قاعده (که از انجمن Snort اخذ شده) از سيستم در مقابل تجاوزات مضر احتمالي حفاظت مي کند.

منبع: نشريه شبکه- ش 102