Nghe chuyên gia bảo mật hàng đầu VN nhận định về vụ VCB cảnh báo ứng dụng Money Lover làm mất tài khoản NHĐT

    Truật Xích,  

    Chúng tôi đã có cuộc trò chuyện ngắn với anh Lê Nguyên Khang, Trưởng phòng An toàn Thông Tin VCCORP.

    Ngay sau khi có thông tin Vietcombank cảnh báo nguy cơ mất tài khoản NHĐT đến từ ứng dụng Money Lover, chúng tôi đã liên hệ với Chuyên gia bảo mật hàng đầu Việt Nam, hiện đang làm việc tại VCCORP, anh Lê Nguyên Khang để tìm hiểu kỹ hơn về trường hợp này:

    - Hỏi:Vừa qua Ngân hàng Vietcombank đưa ra lời cảnh báo ứng dụng Money Lover tiềm ẩn nguy cơ làm mất tài khoản ngân hàng. Bằng nghiệp vụ của mình sau khi phân tích ứng dụng, anh nhận xét như thế nào về lời cảnh báo của VCB? Có đúng là Money Lover có thể làm mất tài khoản ngân hàng không và bằng cách nào?

    - Đáp: Chào bạn.

    Sau khi thấy thông tin đăng tải trên mạng về ML, vì người thân mình xài phần mềm này khá nhiều nên mình có xem qua phần mềm này. Sau đây là một số nhận định của mình.

    Mình không rõ ngoài VCB đã đăng thông cáo thì các ngân hàng còn lại như DAB, ABBank, MaritimeBank… có thỏa thuận với phần mềm này không. Chứ khi mình thử phần liên kết dịch vụ, thay vì gọi trực tiếp đường liên kết tới các trang ebanking của các ngân hàng thì phần mềm lại gọi một trang trung gian là zero.finsify.com, với giao diện có màu sắc và logo gần giống như của ngân hàng mà người dùng muốn kết nối tới, để người dùng nhập vào username và password. Sau đó, bằng các giao thức connect, phía máy chủ trung gian sẽ tiến hành “thay người dùng đăng nhập” vào các ngân hàng và lấy thông tin về số dư, các khoản giao dịch…

    Ở đây bạn sẽ thấy có 3 mối nguy hại cụ thể:

    - Đầu tiên: Liệu ML có tư cách pháp nhân gì để quản lý, tài khoản đăng nhập trực tiếp vào ngân hàng trực tuyến mà không dùng các giao thức của ngân hàng quy định cho các bên thứ 3. Mình trích ý kiến của một bạn trên Tinhte có hỏi chủ phần mềm nhưng không nhận được trả lời thỏa đáng

    “Sự thật là các bạn chưa hề ký kết với đối tác nào cả, Uber, Paypal họ tự xây dựng OAuth cho tất cả các bên thứ 3, mọi người đều có thể kết nối mà không cần xin phép gì cả.

    Với các ngân hàng thì thông tin khách hàng là điều quan trọng nhất , nên không có chuyện tự liên kết mà không có xác nhận từ phía ngân hàng, nên cách làm hiện tại của các bạn là tự đi quét giao dịch bằng cách parser HTML mà không có sự cho phép của ngân hàng, sau này số lượng tài khoản nhiều lên thì chẳng khác gì các bạn DDOS hệ thống của ngân hàng cả.

    Việc các bạn lưu username/password của các ngân hàng vào hệ thống rất nguy hiểm, là miếng mồi rất ngon cho các hacker nên mình nghĩ các bạn nên gỡ bỏ các dịch vụ, bank chưa hỗ trợ chuẩn OAuth ra ngay.

    Nếu các bạn thực sự muốn làm thì nên ký kết hợp tác với ngân hàng để kết nối theo chuẩn OAuth hoặc tích hợp ở phần Backend cho phép ngân hàng notify về hệ thống của các bạn một cách an toàn và user muốn liên kết phải xác nhận 2 chiều: Xác nhận với Bank cho phép Bank gửi thông tin giao dịch sang MoneyLover và cho phép MoneyLover nhận thông tin giao dịch, user chủ động bật tắt khi cần thiết.”

    - Thứ hai, do sử dụng trang trung gian nên việc bị nghe lén hay hacker chỉ cần chiếm quyền điều khiển máy chủ trung gian thì sẽ có tất cả thông tin khách hàng để làm điều xấu. Vào tháng 3/2016 thậm chí trang này còn không dùng https để forward user/pass của người dùng:

    Tới nay thì sử dụng https nhưng server này lại dính bug khá nghiêm trọng OpenSSL Padding Oracle vuln. (CVE-2016-2107) (https://blog.cloudflare.com/yet-another-padding-oracle-in-openssl-cbc-ciphersuites/)

    - Thứ 3, rất nguy hiểm ở chỗ, phần đăng nhập gần đây (recent login), trang này lại để public cho phép mọi người xem được các user login với các thông tin khá nhạy cảm

    Mình demo lại một user:

    "accounts": [

    {

    "login_id": 15345,

    "name": "0081001186336",

    "nature": null,

    "balance": "227036",

    "currency_code": "VND",

    "last_update": null,

    "id": 16641,

    "createdAt": "2016-04-17T00:48:19.385Z",

    "updatedAt": "2016-07-22T01:45:15.232Z",

    "type": "Tiền gửi thanh toán",

    "extra": null

    }

    ],

    "customer": {

    "identifier": "(thông tin đã được ẩn đi)@gmail.com",

    "customer_id": "d4bb5c0e-99ff-45b6-8ae9-69e006ba62ea",

    "secret": "8272be07-9941-4b60-8145-4072b82fd166",

    "id": 11149,

    "createdAt": "2016-04-17T00:36:18Z",

    "updatedAt": "2016-04-17T00:36:18Z",

    "client": 1

    },

    "provider": {

    "id": 8,

    "name": "Vietcombank",

    "status": true,

    "type": "bank",

    "meta": [

    {

    "type": "text",

    "name": "username"

    },

    {

    "type": "password",

    "name": "password"

    }

    ],

    "country_code": "VN",

    "provider_code": "vietcombank_vn",

    "instruction": "Nhập tài khoản iB@nking của bạn.",

    "cover_path_small": "/images/provider/provider_8-cover-small.png",

    "cover_path_medium": "/images/provider/provider_8-cover-medium.png",

    "cover_path_large": "/images/provider/provider_8-cover-large.png",

    "logo_path": "/images/provider/provider_8-logo.png",

    "primary_color": "0b5912",

    "login_type": "crawl",

    "crawlPeriod": 60,

    "hasBalance": true,

    "cronLimit": 30,

    "action": {

    "prompt": "Chưa có tài khoản?",

    "text": "Đăng ký ngay!",

    "url": "http://www.vietcombank.com.vn/ebanking/ibanking/"

    },

    "needs_categorize": true,

    "channel": "normal",

    "min_separation_time": 0,

    "current_separation_time": 0,

    "createdAt": "2016-01-05T08:22:19Z",

    "updatedAt": "2016-06-06T03:28:32Z",

    "latest_request": 6464319

    },

    "latest_request": {

    "state": "successful",

    "script": "recent",

    "metadata": null,

    "priority": "low",

    "mode": "auto",

    "executionTime": "14.68",

    "id": 6459408,

    "createdAt": "2016-07-22T01:45:00Z",

    "updatedAt": "2016-07-22T01:45:00Z",

    "provider": 8,

    "login": 15345

    "secret": "f761f558-d805-4523-aa2c-29cb51d4b8df",

    "status": "active",

    "crawlPeriod": 0,

    "numberCrawl": 0,

    "lastFetchTime": "2016-07-12T10:00:26.038Z",

    "lastRefreshTime": null,

    "nextRepeatTime": "2016-07-22T02:45:01.674Z",

    "extra": null,

    "last_successful_crawl_time": "2016-07-22T01:45:15.22Z",

    "last_notify_hook_time": "2016-07-12T10:00:25.936Z",

    "last_data_changed_time": "2016-07-12T10:00:24.763Z",

    "id": 15345,

    "createdAt": "2016-04-17T00:48:05Z",

    "updatedAt": "2016-05-05T08:06:06Z"

    }

    Trên đây là nhận định mang tính chuyên môn của một nhân sự có tên tuổi trong làng công nghệ Việt Nam. Chúng tôi sẽ tiếp tục cập nhật thông tin về sự việc này trong thời gian sớm nhất.

    Tin cùng chuyên mục
    Xem theo ngày

    NỔI BẬT TRANG CHỦ