Bài viết vì mục đích học tập, mọi thử nghiệm tấn công không kiểm soát có thể là hành vi phạm luật, hãy thực hiện có trách nhiệm.

IMSI (số nhận dạng thuê bao di động quốc tế) được chứa trong thẻ SIM. Số IMSI thường là một chuỗi 15 chữ số, bao gồm một MCC (mobile country code), một MNC (mobile network code) và một MSIN (mobile station identification number). Nhằm đảm bảo số IMSI không bị đánh cắp dễ dàng, số IMSI chỉ được gửi đến mạng di động lần đầu khi thiết bị di động được bật lên gia nhập mạng. Sau đó số TMSI được sử dụng thay cho số IMSI. Cơ chế này nhằm giảm thiểu rủi ro IMSI bị đánh cắp. Tuy nhiên tin tặc vẫn có khả năng ăn cắp được số IMSI này bằng thủ thuật man-in-the-middle. Các kỹ thuật nâng cao hơn được dùng bởi cơ quan chính phủ là sử dụng các trạm thu phát sóng GSM giả mạo và thúc ép thiết bị gởi mã IMSI để bảo đảm luôn có thể theo dõi vị trí điện thoại di động. Hơn nữa, các trạm GSM giả mạo còn có thể thu thập thông tin như ai, khi nào cuộc gọi, tin nhắn được thực hiện.

Trong đoạn video dưới, T17Lab thực hiện sử dụng mã Python IMSI-Catcher cung cấp tại Github và phần cứng RTL-SDR. Đoạn mã chương trình cho phép phát hiện số IMSI, quốc gia và nhà cung cấp mạng di động. Bạn có thể xem lại bài viết Tìm hiểu GSM sử dụng SDR giá thành thấp để nắm thêm thông tin về sử dụng Gr-GSM và Wireshark.

IMSI Catcher cài đặt và sử dụng khá đơn giản trên nền tảng hệ điều hành Ubuntu, cần chú ý người dùng cần chạy grgsm_livemon và IMSI Catcher đồng thời để thực hiện thu thập và trích xuất dữ liệu theo thời gian thực.

Giao diện Gr-GSM và IMSI Catcher đang hoạt động

Video: Nghe lén dữ liệu GSM 900 sử dụng RTL-SDR

Video: Tìm hiểu bảo mật hệ thống mạng viễn thông GSM – IMSI Catcher + RTL-SDR 

Tham khảo:

  • http://www.rtl-sdr.com/using-an-rtl-sdr-as-a-simple-imsi-catcher/
  • https://github.com/Oros42/IMSI-catcher
  • http://www.pcworld.com.vn/articles/cong-nghe/cong-nghe/2009/10/1194670/bao-mat-mang-di-dong-gsm/