Bảo mật mạng di động
GSM
Đánh giá
Thông tin mới nhất về các lỗ hổng bảo mật GSM - mạng di động phổ biến nhất ở Việt Nam hiện
nay, cùng với một số giải pháp cho người dùng.
Khi nói về bảo mật thông tin, mọi người thường hay nói tới bảo mật mạng, bảo mật ứng dụng, bảo
mật web. Sở dĩ ít có sự quan tâm đến lĩnh vực bảo mật mạng di động vì số lượng tấn công dựa trên
điểm yếu của mạng di động chưa phổ biến và khó phát hiện. Tuy nhiên với sự bùng nổ của các
thiết bị điện thoại thông minh, đi kèm với các lỗ hổng bảo mật trên môi trường di động ngày càng
gia tăng, bảo mật mạng di động đang trở thành một chủ đề nóng. Hiện nay môi trường mạng di
động đang được khai thác triệt để cho các ứng dụng cung cấp giá trị gia tăng dựa trên SMS, dịch
vụ cung cấp thông tin trực tuyến, thậm chí cả dịch vụ rất nhạy cảm về an toàn thông tin là thanh
toán trực tuyến bằng điện thoại di động. Những dịch vụ này dựa trên các phương thức truyền dẫn
cơ bản do mạng di động không dây cung cấp và những lỗ hổng bảo mật trên tầng không dây di
động đều liên quan đến các dịch vụ trên. Nhằm giúp bạn đọc nắm được các rủi ro an toàn thông tin
trên mạng di động, bài viết cung cấp các thông tin mới nhất về các lỗ hổng bảo mật GSM - mạng
di động phổ biến nhất ở Việt Nam hiện nay, kèm với một số giải pháp cho người dùng.
1. Mô hình bảo mật GSM
1.1. Mục đích của bảo mật GSM
Do đặc thù của cơ chế dùng sóng radio để liên lạc giữa thiết bị di động đầu cuối và trạm thu phát
sóng, mạng GSM có những rủi ro bảo mật như:
• Tấn công giả mạo thiết bị di động đầu cuối
• Nghe lén cuộc gọi
• Tấn công dùng phương thức người thứ ba đứng giữa (man in the middle attack).
Vì vậy mục đích của bảo mật GSM là giảm thiểu các rủi ro trên bằng các cơ chế:
• Xác thực vào dịch vụ di động
• Mã hóa các thông tin trao đổi trên môi trường radio.
1.2. Các đặc điểm bảo mật của GSM
Một số chức năng bảo mật đã được tích hợp vào GSM nhằm bảo vệ người dùng, bao gồm:
• Xác thực chủ thể thuê bao đăng ký
• Sử dụng mã hóa để đảm bảo bí mật thông tin trao đổi
• Bảo vệ định danh của thuê bao
• SIM (Mô dun nhận dạng thuê bao) được bảo vệ bằng mã số PIN
• SIM bị nhân bản không được cho phép gia nhập mạng đồng thời với SIM gốc
• Mã số bí mật Ki được bảo vệ an toàn.
1.2.1. Xác thực chủ thể thuê bao
Trước khi được cho phép vào mạng, mạng di động sẽ xác thực máy di động đầu cuối bằng các
bước như sau:
• Thiết bị di động gửi mã IMSI (lấy từ SIM) vào mạng di động đăng ký (trạm thu phát sóng gần
nhất)
• Mạng di động nhận dạng mã số IMSI và tìm số bí mật Ki ứng với mã số IMSI trên cơ sở dữ liệu
của nhà cung cấp dịch vụ.
• Mạng di động tạo ra một số ngẫu nhiên có độ dài 128 bit và gửi lại thiết bị di động
• Thiết bị di động sử dụng thuật toán A3, sử dụng giá trị ngẫu nhiên trên và số Ki (lấy từ SIM),
tính ra được kết quả gọi là SRES.
• Cũng trong thời gian đó, mạng di động tính toán số SRES sử dụng cùng thuật toán A3 từ các giá
trị đầu vào như trên.
• Thiết bị di động gửi số SRES cho mạng di động.
• Mạng di động kiểm tra xem hai số SRES có trùng khớp. Nếu trùng khớp, quá trình xác thực được
hoàn tất và thiết bị di động “được phép” gia nhập mạng.
Cơ chế xác thực trên dựa trên tính bí mật của số Ki và IMSI. Số này được tạo ra khi nhà cung cấp
di động lập trình thẻ SIM. Số Ki được lưu trên SIM và lưu trên cơ sở dữ liệu của nhà cung cấp
dịch vụ di động.
Tuy nhiên nếu nhìn qua cơ chế xác thực trên, có thể thấy số IMSI được gửi trong bước một của
quá trình xác thực, và nếu lấy được số này, hacker xem như sẽ có được 50% thông tin cần thiết để
nhân bản SIM! (số còn lại cần lấy là mã Ki). Chính vì vậy, cơ chế xác thực được biến đổi lại để mã
IMSI chỉ gửi đi lần đầu khi người dùng bật điện thoại di động lên. Sau khi đã gia nhập mạng, một
mã số nhận dạng tạm thời TMSI được sử dụng trong suốt các quá trình trao đổi thông tin giữa thiết
bị di động và mạng di động (kể cả khi thiết bị di động di chuyển và gia nhập vào trạm thu nhận
sóng mới).
1.2.2. Mã hóa cuộc gọi
GSM sử dụng một khóa đặc biệt nhằm mã hóa cuộc gọi và dữ liệu trên môi trường sóng radio đầy
rủi ro bị nghe lén. Khi thiết bị di động đã được xác thực, một mã số bí mật được tạo ra từ một số
ngẫu nhiên + số Ki bằng thuật toán A8 (thuật toán này nằm trên SIM). Mã số này được đồng thuận
sử dụng giữa thiết bị di động và mạng di động nhằm mã hóa thông tin trao đổi. Thuật toán mã hóa
được sử dụng là thuật toán A5. Thuật toán A5 được lưu trữ bằng phần cứng trên thiết bị di động,
bộ xử lý của ĐTDĐ sẽ chịu trách nhiệm thực hiện.
1.2.3. Bảo vệ định danh thuê bao
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 hacker vẫn có khả năng ăn cắp được số IMSI này bằng thủ thuật người
đứng giữa! Cơ chế này sẽ được thảo luận rõ hơn trong phần phân tích điểm yếu của bảo mật GSM.
Hình 1: Cơ chế hoạt động của mạng di động GSM
2. Các hạn chế về bảo mậtcủa GSM
Với cơ chế bảo mật hiện nay, GSM có các hạn chế sau:
2.1. Bảo mật bằng tính bấtkhả định
Bảo mật bằng tính bất khả định có nghĩa là bảo mật bằng cách giấu kín thuật toán, cách thi hành,
không cho cộng đồng biết được cơ chế bảo mật. Trong cơ chế bảo mật GSM, các thuật toán A3,
A5, A8 đều được giấu kín. Tuy nhiên, quan điểm hiện đại về an toàn thông tin cho rằng phương
thức bảo mật bằng tính bất khả định này sẽ không an toàn. Lý do là một thuật toán cho dù tốt đến
đâu cũng có thể mắc lỗi, và nếu không được công khai để cộng đồng kiểm chứng thì hoàn toàn có
thể bị mắc những lỗi nghiêm trọng mà chưa ai biết! Thực tế đã chứng minh là dù được nhà sản
xuất cố gắng giữ bí mật sau nhiều năm, hacker đã tìm được thông tin khá đầy đủ về các thuật toán
A3, A5 và A8.
2.2. Chính sách mã hóa có thể bị thay đổi
Thuật toán A5 được dùng để mã hóa đường truyền sóng radio thoại và dữ liệu. Tuy nhiên có 3
chính sách mã hóa khác nhau: A5/0 (không mã hóa) và hai thuật toán A5/1 và A5/2. Sở dĩ có sự
phân loại này là do các pháp chế về vấn đề xuất khẩu thuật toán bảo mật. Ba chính sách mã hóa A5
được phân loại như sau:
• Thuật toán A5/1 được sử dụng bởi những quốc gia là thành viên của tổ chức Viễn thông châu Âu
CEPT, Mỹ, một số nước châu Á.
• Thuật toán A5/2 được sử dụng ở Úc, châu Á và một số nước thế giới thứ 3. Thuật toán A5/2 ra
đời sau, yếu hơn thuật toán A5/1 và chủ yếu được sử dụng cho mục đích xuất khẩu sang các nước
nằm ngoài khối CEPT.
• Thuật toán A5/0 có thể được sử dụng khi trạm thu phát sóng chỉ định và đường truyền sẽ không
được mã hóa! Điều đáng nói là người dùng điện thoại di động không hề được biết là đường truyền
của cuộc gọi hiện tại có được mã hóa hay không! Đây chính là nền tảng cho hình thức tấn công
“người đứng giữa” để nghe lén cuộc gọi. Loại tấn công này sẽ được mô tả ở phần sau.
Ngoài 3 thuật toán trên, thuật toán A5/3 là thuật toán mới nhất được phát triển để khắc phục các
điểm yếu của A5/1 và A5/2.
3. Tấn công bảo mật GSM
3.1. Một số sự kiện về bảo mật GSM
Từ khi ra đời, chuẩn GSM liên tục được các nhà nghiên cứu bảo mật, hacker tìm cách tấn công và
hàng loạt các điểm yếu của bảo mật GSM đã được công bố, dưới đây là một số ví dụ đáng lưu ý:
• Vào tháng 4 năm 1998, hiệp hội Phát triển Thẻ thông minh (SDA) và hai nhà nghiên cứu tại đại
học Berkeley công bố đã phá được thuật toán COMP128 được lưu trữ trên SIM nhằm bảo vệ số
Ki. Bằng cách gửi hàng loạt số thử đến mô đun xác thực trên SIM, họ có thể dò tìm được số Ki
trong vài giờ. Đây là nguyên lý làm việc của các thiết bị nhân bản SIM.
• Vào tháng 8 năm 1999, Một nhóm các nhà nghiên cứu Mỹ công bố khả năng phá thuật toán A5/2
bằng máy tính PC bình thường, thời gian phá mã là vài giây!.
• Vào tháng 12 năm 1999, hai nhà nghiên cứu Israel công bố khả năng phá mã A5/1 trong vòng 2
phút sau khi lắng nghe cuộc gọi! Tuy nhiên thuật toán A5/1 mà họ giải mã là loại A5/1 chuẩn lý
thuyết và trên thực tế, nhà cung cấp có thể dùng các thuật toán A5/1 có sửa đổi.
• Vào tháng 2 năm 2008, tại đại hội BlackHat, hai nhà nghiên cứu Hulton và Steve trình bày khả
năng phá bảo mật GSM với giá rẻ! Hacker hiện nay có thể chế tạo thiết bị nghe lén GSM với giá
chỉ vài ngàn đô la! Thực tế thì phải cần đến gần 100 ngàn USD mới có thể chế tạo một thiết bị
nghe lén GSM có giá trị hữu dụng với khả năng giải mã cuộc gọi trong thời gian 30 giây. Tuy
nhiên bài trình bày này cho thấy khả năng chế tạo các thiết bị nghe lén GSM rẻ tiền là có thực.
3.2. Tấn công ăn cắp, nhân bản SIM
Một trong những tấn công nguy hiểm là nhân bản thẻ SIM. Hacker có thể nhân bản thẻ SIM khi
không có SIM nguyên gốc (bằng cách nghe lén) hoặc khi có SIM nguyên gốc. Trong phạm vi của
bài viết này, tác giả chỉ đề cập phân tích cách nhân bản SIM khi có SIM nguyên gốc.
Như đã trình bày trong phần I, thẻ SIM có chứa hai thông tin quan trọng, đó là số IMSI dùng để
nhận dạng thuê bao và số Ki dùng để mã hóa. Hacker sử dụng một đầu đọc SIM kết nối vào máy
PC và sử dụng phần mềm bẻ khóa để cố gắng lấy hai số này. Khi có hai số này, hacker có thể dùng
một thẻ SIM trắng để ghi hai số này vào và sẽ có một thẻ SIM nhân bản 100% giống như thẻ SIM
gốc!.
Hình 2: Thẻ SIM là một máy tính độc lập!
Vấn đề là làm thế nào hacker có thể lấy được thông tin bí mật từ SIM?. Để hiểu rõ hơn, chúng ta
cần biết cách thức hoạt động của thẻ SIM và các phương thức được thiết kế bảo vệ các thông tin
nằm trong SIM.
Thẻ SIM đơn thuần chỉ là một thẻ thông minh được lập trình cho mục đích định danh và xác thực
trên môi trường di động GSM. Về mặt kiến trúc, thẻ SIM giống như là một máy tính thu nhỏ có
các chức năng:
• Tính toán (CPU), có khả năng tính toán các thuật toán bí mật như A3, A8, cả hai thuật toán này
đều dựa trên thuật toán COMP128. Ngoài ra, thẻ SIM còn có thể được lập trình để có các tính
năng đặc thù riêng.
• Lưu trữ (Memory), có khả năng lưu trữ các thông tin như số IMSI, Ki, sổ điện thoại… và các
thông tin khác.
Bất cứ ai với đầu đọc SIM đều có thể lấy được số IMSI này. Đối với số Ki, thẻ SIM giấu trong bộ
nhớ ROM và không cho truy xuất trực tiếp. Từ phía ngoài, hacker chỉ có thể đưa vào một số ngẫu
nhiên và thẻ SIM sẽ cung cấp phản hồi lại số SRES, là kết quả của thuật toán COPM128 với đầu
vào là số ngẫu nhiên và số Ki. Đây chính là chìa khóa của vấn đề. Bằng cách sử dụng rất nhiều lần
số ngẫu nhiên và ghi nhận lại kết quả SRES, hacker có thể giải mã được số Ki. Đây là tấn công lợi
dụng điểm yếu của thuật toán COMP128 được tìm ra năm 1998 bởi hai nhà nghiên cứu đại học
Berkeley. Thực tế thì cần đến 150 ngàn lần hỏi thẻ SIM để có thể lấy đủ thông tin phá mã Ki.
Thông thường một đầu đọc SIM có khả năng truy xuất 6,25 lần một giây và để lấy được số Ki sẽ
cần khoảng 8 tiếng!
Như vậy chỉ cần 8 tiếng hacker có thể nhân bản một SIM dùng phương pháp trên. Tuy nhiên vào
năm 2002, một đội nghiên cứu bảo mật của IBM đã phát hiện một phương thức tìm số Ki chỉ trong
vòng vài phút!
Để khắc phục điểm yếu trên, từ năm 2002, các nhà sản xuất SIM đã đưa ra phương thức mã hóa
mới tên là COMP128-2. Phương thức này đã khắc phục được điểm yếu của COMP128-2 và cho