Sự cố mất 500 triệu đồng trong giao dịch Internet Banking tại VCB đã dấy lên nỗi lo lắng rằng việc lấy được mã OTP hay tấn công vào giao thức SMS là rất dễ dàng. Đúng hay không với một số nhận định cho rằng hệ thống bảo mật ngân hàng hiện nay là rất dễ xâm nhập? Một số còn khẳng định rằng sự cố nêu trên có liên quan đến lỗi SS7 - một bộ giao thức quản lý báo hiệu trong mạng viễn thông di động và do đó hacker có thể dễ dàng lấy được tin nhắn SMS từ bất kỳ số điện thoại nào.
Tất cả các vấn đề nêu trên đã làm nhiều người sử dụng các dịch vụ ngân hàng điện tử hoang mang.
Thực tế lỗi của bộ giao thức SS7 là có thật nhưng chỉ có thể khai thác được khi nằm bên trong và kết nối vào hệ thống quản lý của Telco (nhà cung cấp dịch vụ viễn thông). Lỗi này chủ yếu được các cơ quan an ninh và tình báo khai thác. Tuy nhiên, những người có điều kiện tiếp cận và đủ trình độ khai thác SS7 sẽ không làm những việc như vậy.
Với kinh nghiệm lâu năm trong ngành ngân hàng và kiến thức bảo mật của mình, tác giả đưa ra môt số phân tích sơ bộ sau đây.
Để chuyển tiền trong trong giao dịch Internet banking (IB) cần sở hữu 2 thông tin:
- Thông tin đăng nhập tài khoản (username & password). Một số ngân hàng sử dụng username là số CIF hoặc chuỗi định danh theo quy luật đặt trước để tránh trùng lắp).
- OTP (one time password)  được tạo ra bởi token hoặc gửi đến cho khách hàng qua tin nhắn SMS đến số điện thoại được đăng ký trước và chỉ có giá trị trong vòng vài phút.
Việc làm sao hacker lấy được thông tin tài khoản Internet Banking, tác giả sẽ không đề cập ở đây vì hacker có thể cài sẵn mã độc (malware) lên ĐTDĐ hoặc đơn giản là dụ người sử dụng nhấp vào đường link giả để chiếm đoạt thông tin (phishing). Trong khuôn khổ bài viết, tác giả chỉ phân tích những phương pháp mà hacker có thể chiếm đoạt được nội dung SMS có chứa OTP để thực hiện chuyển tiền.
Thay đổi số điện thoại nhận hoặc phương pháp tạo OTP.
Một số ngân hàng cho phép đổi số điện thoại nhận OTP, hay thay đổi phươn pháp tạo OTP ngay trong giao diện IB. Điều này cho phép hacker sau khi sở hữu thông tin tài khoản sẽ đăng nhập và thay đổi các thông số liên quan đến xác thực OTP mà không cần đến quầy giao dịch. Mặc dù việc thay đổi cần có mã xác nhận từ số điện thoại cũ, tuy nhiên đây vẫn là kẻ hở trong quy trình mà hacker có thể khai thác. Vụ việc tại VCB rơi vào trường hợp này khi VCB cho phép thay đổi phương thức tạo OTP mà không cần đến quầy giao dịch.
Mã OTP được tạo bởi token từ phía người dùng.
Trên hệ thống quản lý của Telco, Mỗi số SIM sẽ được gắn với số điện thoại của người sử dụng. Khi mất SIM hay hỏng SIM, nhà mạng sẽ chuyển đổi số điện thoại tương ứng với số SIM mới. Trước đây một số đại lý lớn được phép làm việc thay đổi SIM. Kẽ hở này đã được lợi dụng tấn công một lần trước đây bằng cách chuyển đổi số điện thoại của khách hàng đến SIM của hacker trong vòng 1 phút thậm chí 30 giây đủ để nhận SMS rồi trả lại. Khách hàng chỉ mất sóng 30 giây và không hề biết. Lỗi này hiện nay khó xảy ra vì các nhà mạng đã quản lý rất chặt và nếu xảy ra sẽ phát hiện ngay người tiếp tay. Việc quản lý chặt số điện thoại bằng CMND cũng hạn chế rất nhiều việc lợi dụng quy trình báo mất và cấp lại SIM mới thông qua việc xác nhận 10 cuộc gọi gần nhất của thuê bao.
Điện thoại người dùng có thể bị nhiễm malware, loại mã độc có thể đánh cắp thông tin cá nhân trên thiết bị di động và chuyển cho đối tượng xấu.
Tấn công dạng Man in the middle.
Giao thức SMS có định dạng là clear text message không mã hóa, vì vậy hoàn toàn có thể chiếm đoạt được thông tin nếu hacker đặt được một chân vào đâu đó trong quá trình luân chuyển nội dung SMS từ ngân hàng đến ICP (Internet content provider) - nhà cung cấp dịch vụ đầu số short code ví dụ 8xxx, 19xx), rồi từ ICP đến Telco. Trong quá trình này thông tin chuyển đến Telco theo kênh truyền dữ liệu riêng. Sau đó Telco chuyển thông tin đến thuê bao qua mạng viễn thông công cộng PSTN bằng giao thức SMS. Vì vậy tồn tại những khả năng sau dẫn đến việc mất thông tin:
- Nếu hacker có thể tấn công vào server quản lý tin nhắn của ICP, họ có thể có được nội dung OTP vì thông thường nó không được mã hóa.
- Về nguyên tắc các hệ thống quản lý của Telco cho phép một số đặc quyền có thể lọc chặn hoặc copy nội dung thoại, tin nhắn và cả dữ liệu trao đổi trên hạ tầng của họ. Tuy nhiên những tính năng này chỉ phục vụ cho công tác an ninh quốc phòng và được quản lý chặt chẽ.
- Dùng trạm phát sóng BTS (base transceiver station) giả mạo để bắt nội dung SMS. Thiết bị ĐTDĐ kết nối đến Telco thông qua các trạm BTS ở gần nhất mà chúng ta thường thấy trên nóc nhà. Một thiết bị chuyên dụng có giá từ vài ngàn USD có thể giả dạng làm trạm chuyển tiếp giao tiếp từ ĐTDĐ đến các trạm BTS thật và dĩ nhiên đón nhận tất cả các thông tin đi qua nó. Lỗ hổng của GSM cho phép hacker dễ dàng làm việc đó nếu họ đặt vị trí BTS giả mạo rất gần với ĐTDĐ của người sử dụng.
- Cài đặt malware vào ĐTDĐ của khách hàng để bắt và chuyển tiếp (forward) các SMS có brandname tương ứng đến thuê bao của hacker. Thực tế có nhiều ứng dụng hợp pháp lẫn malware có thể kiểm soát ứng dụng SMS trong ĐTDĐ, chúng có thể lọc SMS đến từ các brand hoặc số điện thoại được định nghĩa trước và chuyển tiếp đi mà người sử dụng không hề biết. Đây là cách tấn công khá thông dụng được sử dụng tại châu Âu.
Tấn công vào thuật toán tạo OTP.
Một số đơn vị tự thiết kế các hệ thống xác thực hai yếu tố và trong đó có sử dụng một số thuật toán tạo OTP rất đơn giản, thiếu việc sử dụng các tham số được tạo ra bởi những yếu tố ngẫu nhiên. Điều này tạo điều kiện để hacker có thể nhận biết và phán đoán hoặc bẻ khóa được nguyên tắc tạo OTP, từ đó dễ dàng tự tạo ra các mã OTP sử dụng cho mục đích xấu.
Dù có nhiều vấn đề về an toàn đối với việc sử dụng SMS OTP trong các hệ thống xác thực hai yếu tố (two factor authentication), nhưng rõ ràng đây là một trong những giải pháp rất tiện lợi và có độ an toàn tương đối. Những sự cố xảy ra đối với các giao dịch Internet Banking là rất cá biệt và không phản ánh bức tranh chung của loại hình dịch vụ này.
PC WORLD VN, 09/2016.
Võ Văn Khang.
