Chuyên gia Lê Nguyên Khang hiện đang làm việc tại VCCorp đã trả lời phỏng vấn về vấn đề bảo mật trên ứng dụng Money Lover sau khi VCB đưa ra cảnh báo về ứng dụng này

Techsign.in xin trích đăng toàn bộ nội dung buổi phỏng vấn này

Vừa qua Vietcombank đưa ra lời cảnh báo ứng dụng Money Lover (ML) 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?

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ố kết luận 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, gọi một trang giả mạo giao diện gần giống logo, màu sắc của các ngân hàng, để người dùng nhập vào username và password. Sau đó, bằng các giao thức kết nối, phía server trung gian sẽ tiến hành “thay người dùng đăng nhập” vào các ngân hàng và get thông tin về số dư, các khoản giao dịch…

Chuyên gia bảo mật VCCorp nêu mối nghi ngờ ứng dụng Money Lover

Ở đâ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 thì việc bị nghe lén hay hacker chỉ cần chiếm quyền điều khiển server 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:

Chuyên gia bảo mật VCCorp nêu mối nghi ngờ ứng dụng Money Loverhuyên gia bảo mật VCCorp nêu mối nghi ngờ ứng dụng Money Lover

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/)

Chuyên gia bảo mật VCCorp nêu mối nghi ngờ ứng dụng Money Lover Chuyên gia bảo mật VCCorp nêu mối nghi ngờ ứng dụng Money Lover

– Thứ 3, rất nguy hiểm ở chỗ phần rencent 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

Chuyên gia bảo mật VCCorp nêu mối nghi ngờ ứng dụng Money Lover

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": "[email protected]",
"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"
}

Còn về vấn đề liệu ML có làm cho người dùng mất tiền hay không thì hầu hết các ngân hàng việt nam đều có OTP hoặc thẻ xác thực cộng với SMSBanking nên việc bị chiếm tài khoản để làm việc xấu thì khá khó trừ khi clone được SIM hay sniff được OTP qua sóng GSM.

Góc quảng cáo