‫ آسيب پذيري شبكه GSM و اجراي حمله SIM Cloning (قسمت اول)

شماره :IRCAR201407225

استاندارد GSM  در سال 1982 با عنوان موبايل ويژه‌ي گروپ  شروع به كار كرد و هدف آن، توسعه و ايجاد يك سيستم فراگير براي موبايل بود. سپس اين سيستم نام خود را تغيير داد و اين بار با نام GSM و به عنوان "سيستم جهاني براي ارتباطات موبايل" به كار خود ادامه مي‌دهد. اين استاندارد، پروتكل‌هايي را براي شبكه‌هاي سلولار ديجيتالي در نسل دوم ارتباطات(2G) كه توسط تلفن‌هاي همراه استفاده‌ مي‌شود تعريف مي‌كند. شكل زير شماي كلي ارتباطات در شبكه‌هاي GSM يا شبكه‌هاي موبايل معمولي را نشان مي‌دهد:
 
شكل1- ساختار شبكه‌هاي GSM

همانطور كه در شكل نيز مشاهده مي‌شود، در اين شبكه‌ها هر فرد داراي يك SIM  Card است كه آن را در ستگاه تلفن همراه خودقرار مي‌دهد و از طريق آن ارتباطات در شبكه را برقرار مي‌كند.
هر سيم‌كارت‌ حداقل موارد زير را شامل مي‌شود:
•    IMSI : كه اطلاعات دارنده‌ي سيم‌كارت را در خود دارد. اين مقدار در HLR  كاربر ذخيره مي‌شود.
•    Ki: يك كليد 128-بيتي با طول عمر طولاني است كه براي رمزنگاري اطلاعات و احرازهويت مورد استفاده قرار مي‌گيرد.
•    پياده‌سازي رمزنگاري هاي A3 و A8.
در دهه‌ي اخير تعداد دستگاه‌هاي موبايل نيز به طور شگفت‌آوري افزايش پيدا كرده‌است. دليل اين افزايش چشم‌گير، كوچك بودن، قابل حمل بودن و راحتي استفاده از اين دستگاه‌ها است. بر اساس پيش‌بيني‌هاي ارائه شده توسط Gartner در سال 2014 حدود 3ميليارد كاربر از دستگاه‌هاي موبايل استفاده خواهندكرد. در ايران بيش از 100 ميليون سيم‌كارت ثبت شده وجود دارد. شكل زير پوشش اين شبكه را در جهان نشان مي‌دهد.

 
شكل2-پوشش شبكه‌هاي GSM در جهان

اين آمار حاكي از اين است كه افراد بسيار زيادي از اين شبكه و سرويس‌هاي ارائه شده توسط آن استفاده مي‌كنند و بر اين اساس نيازمند بررسي امنيت در اين شبكه هستيم.  به رغم محبوبيت بسيار اين شبكه و قديمي بودن آن، آسيب پذيري‌هاي امنيتي زيادي براي آن مطرح شده است:
•    احرازهويت يك طرفه
•    الگوريتم رمزنگاري ضعيف
•    مختاربودن اپراتور در انتخاب الگوريتم

 اين آسيب‌پذيري‌ها در مجموع سبب مي‌شود كه تهديدي به نام SIM Cloning روي سيم‌كارت‌ها به وجود بيايد و اين امكان را به مهاجم بدهد كه بتواند مكالمات و پيام‌هاي قرباني را شنود كند، تماس‌ها را پاسخ دهد و با شماره‌ي كاربر از تمامي سرويس‌هاي فراهم‌شده براي او استفاده كند، بدون اينكه قرباني از اين قضيه اطلاعي داشته باشد. بديهي است اين حمله در صورت وقوع باعث افزايش هزينه‌هاي قرباني خواهد شد.



1.    امنيت در شبكه‌هاي GSM
شبكه‌هاي GSM با سطح متوسطي از امنيت طراحي شده‌اند. معماري اين سيستم برپايه‌ي شناسايي كاربر بر اساس كليد سري به اشتراك گذاشته شده و چالش-پاسخ  است.
ارتباطات بين كاربر و ايستگاه مي‌تواند رمزگذاري شود. GSM از چندين الگوريتم امنيتي براي فراهم كردن امنيت استفاده مي‌كند، از آن جمله مي‌تواند A5/1 و A5/2 و A5/3 را نام برد.
در بخش امنيت مربوط به شبكه‌هاي GSM موارد زير به چشم مي‌خورد كه در زير بخش‌هايي در مورد آنها بحث مي‌كنيم:
1.    SIM card
2.    PIN Code
3.    احرازهويت كاربران شبكه
4.    رمزگذاري داده‌هاي ارسالي
5.    استفاده از TMSI

SIM card
يكي از ويژگي‌هاي كليدي موجود در شبكه‌هاي GSM  ماژول شناسايي كاربر  است كه آن را با نام SIM card مي‌شناسيم. اين كارت اطلاعات كاربر را مستقل از دستگاهي كه سيم كارت را در آن قرار مي‌دهد حفظ مي‌كند. اين كارت تمامي اطلاعات مورد نياز براي برقراري ارتباط كاربر با كاربر ديگر در شبكه‌ي GSM را نگه مي‌دارد. اين اطلاعات شامل IMSI و كليد شناسايي كاربر با نام Ki است.
IMSI يك عدد بيش از 15 رقمي ده دهي است كه اطلاعاتي مانند كشور كاربر و اطلاعاتي مانند اين را در خود دارد. اين شماره معمولا از طريق ارتباط با سيم كارت به دست مي‌آيد. اين شماره فقط يك بار آن‌هم زماني كه كاربر براي بار اول با شبكه ارتباط برقرار مي‌كند و قبل از توليد كليد ردوبدل مي‌شود. از آن پس به دليل مسائل امنيتي TMSI به جاي آن استفاده مي‌شود.
 Ki يك عدد تصادفي 128-بيتي است كه به كاربر خاصي اختصاص مي‌يابد و در SIM Card قرار مي‌گيرد. اين شماره به دليل حساسيت بسيار بالا فقط در دست مركز احرازهويت قرار دارد و از طريق خود تلفن نمي‌توان به آن سترسي داشت.
سيم‌كارت در حقيقت يك ريزپردازنده‌ است كه IMSI و Ki را در خود نگه مي‌دارد. به علاوه الگوريتم رمزنگاري A3 را براي احرازهويت كاربران شبكه فراهم مي‌كند و هم‌چنين براي رمزنگاري داده‌هاي كاربر توسطA8 كليد توليد مي‌كند. يعني توليد كليد و احرازهويت توسط SIM card صورت مي‌گيرد.

PIN Code
عددي است كه در SIM Card ذخيره مي‌شود و به هنگام تعويض دستگاه و قرار دادن سيم كارت در يك دستگاه ديگر، از كاربر پرسيده مي‌شود.

احراز هويت كاربران شبكه
همانطور كه گفته شد سيم‌كارت IMSI و Ki را در خود نگه مي‌دارد، اين مقادير توسط HLR نيز نگه‌داري مي‌شود. و از اين طريق كاربر در مكان محلي خودش قابل احراز هويت و شناسايي است. احراز هويت كاربران توسط الگوريتم A3 و به صورت چالش-پاسخ صورت مي‌گيرد.
زماني كه كاربر وارد محيط جديدي مي‌شود براي ارائه‌ي سرويس نياز به احراز هويت خواهد داشت كه اين كار از طريق گام‌هاي زير صورت مي‌گيرد.
 
شكل3-احراز هويت در شبكه‌هاي GSM
1.    ابتدا VLR با HLR ارتباط برقرار مي‌كند.
2.    مقادير (Kc, SRES and RAND) در VLR ثبت مي‌شود.
3.    VLR مقدار RAND را به كاربر ارسال مي‌كند، اين مقدار رمز نشده ارسال مي‌شود.
4.    كاربر با استفاده از كليد Ki كه در سيم كارت قرار دارد و الگوريتم‌هاي A8 و A3 مقادير Kc و SRES را محاسبه مي‌كند.
5.    اين مقادير را رمز نشده به VLR ارسال مي‌كند
6.    VLR مقدار SRES دريافتي را با آنكه خود در اختيار دارد مقايسه مي ‌كند، اگر برابر بود، احراز هويت صورت گرفته است.
7.    اگر Kc محاسبه شده هم درست باشد از اين پس به عنوان رمز در الگوريتم A5 مورد استفاده قرار مي‌گيرد و داده‌ها موقع ارسال رمز مي‌شود.

رمزگذاري داده‌هاي ارسالي
در احرازهويت گفتيم كه Kc توليد شده توسط HLR و كاربر كه در اختيار VLR هم قرار مي‌گيرد بعدها براي رمزگذاري داده‌ها مورد استفاده قرار مي‌گيرد. VLR زماني كه يك كانال خالي براي برقراري ارتباط كاربر با يك ايستگاه پيدا كرد اين رمز Kc را در اختيار او نيز قرار مي‌دهد. شكل زير رمزنگاري داده‌هاي ارسالي در GSM را نمايش مي‌دهد.

 
شكل4- رمزگذاري داده‌ها در GSM

استفاده از TMSI
همانطور كه گفته شد IMSI فقط براي اولين ارتباط مورد استفاده قرار مي‌گيرد و پس از آن مقدار TMSI مورد استفاده قرار مي‌گيرد كه در VLR كاربر ثبت شده است. TMSI براي HLR قابل شناسايي نيست و براي دانستن مدل موبايل كاربر و الگوريتم‌هاي رمزنگاري و ... بايد IMSI كاربر در شبكه ارسال شود و اين ارسال به صورت متن آشكار صورت مي‌گيرد. اين مورد آسيب‌پذيري بزرگي را در GSM ايجاد مي‌كند كه در ادامه‌ي گزارش به اين موارد مي‌پردازيم.

2.    ايرادات موجود در شبكه‌هاي GSM
طبق بررسي‌هاي انجام شده، چندين ايراد در شبكه‌هاي GSM كشف شده است. البته ناگفته نماند كه الگوريتم‌ها و روش‌هاي موجود در GSM سري است و افشا نشده‌است، اطلاعات بدست آمده بوسيله‌ي مهندسي معكوس صورت گرفته است. ايرادات موجود در اين شبكه‌ها بيشتر موارد زير را شامل مي‌شود:
1.    احرازهويت يك‌طرفه
2.    الگوريتم رمزنگاري ضعيف
3.    انتخاب آزادانه‌ي الگوريتم توسط اپراتور


•    احرازهويت يك‌طرفه
همانطور كه در گام‌هاي احرازهويت ديديم، در اين پروسه، شبكه نياز ندارد كه Ki را بررسي كند تا احرازهويت كامل شود. اين باعث مي‌شود كه مهاجم بتواند يك ايستگاه قلابي بسازد كه كد شبكه‌ي آن با كد شبكه‌ي كاربر يكسان باشد. آغاز پروسه‌ي احراز هويت بستگي به تنظيمات اپراتور دارد. بنابراين اين شبكه‌ي قلابي ممكن ايت هيچ گونه مكانيزم امنيتي را فراهم نكند و اين باعث مي‌شود در نهايت هيچ رمزنگاري‌اي صورت نگيرد. در نهايت مهاجم مي‌تواند پارامترهاي انتخاب ايستگاه را طوري تغيير دهد كه كاربر را تشويق كند كه حتما به اين ايستگاه متصل شود و در حقيقت حمله‌ي  MITM را شكل دهد.


نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 7 مهر 1393

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها:0