Góc nhìn kỹ thuật về sự cố mất 500 triệu trong tài khoản Vietcombank

Nam Air
16/8/2016 7:39Phản hồi: 224
Góc nhìn kỹ thuật về sự cố mất 500 triệu trong tài khoản Vietcombank
Bài viết sau đây là của anh Dương Ngọc Thái, kỹ sư bảo mật của Google ở Mountain View, bài viết phân tích các khía cạnh kỹ thuật của câu chuyện này dưới con mắt của những chuyên gia bảo mật, mình xin trích nguyên văn để các bạn có thêm một cái nhìn nhé.

Cập nhật 16/08/2016: vì hiểu lầm trong trao đổi giữa hai bên cho nên chúng tôi đã không nhận được tài khoản thử nghiệm, chứ không phải Vietcombank không muốn gửi. Chúng tôi giữ nguyên ý kiến Smart OTP là một thiết kế không tốt, cần phải được điều chỉnh. Dẫu vậy cũng cần phải nói rõ chúng tôi không có lý do để tin rằng lỗ hổng mà chúng tôi phát hiện vẫn có thể khai thác được. Các kỹ sư Vietcombank đã phản hồi rất tích cực, chuyên nghiệp và cầu thị. Chúng tôi đã từng chứng kiến kỹ sư ở Silicon Valley thiết kế các giao thức tệ hơn Smart OTP rất nhiều và không trả lời khi chúng tôi liên lạc báo lỗi. Thiếu kỹ sư chuyên trách an toàn thông tin là căn bệnh lâu năm của Việt Nam, gần đây bắt đầu hành hạ “người bệnh", biểu hiện qua các sự cố bảo mật liên tục. Trao đổi với nhóm kỹ sư Vietcombank chúng tôi nhận thấy đây là một đội ngũ có chuyên môn, chúng tôi tin rằng họ có đủ khả năng cải tiến Smart OTP cũng như đảm bảo an toàn thông tin cho Vietcombank và các khách hàng của ngân hàng.


Nhiều ngày qua các phương tiện thông tin truyền thông tại Việt Nam đăng tải hàng loạt thông tin về việc một khách hàng của Vietcombank bị đánh cắp hơn nửa tỉ đồng . Tin tức này gây hoang mang cho cộng đồng, nhất là các cá nhân và đơn vị sử dụng ngân hàng điện tử (Internet Banking, Mobile Banking, v.v) để giao dịch.

Nhằm góp một tiếng nói độc lập về sự việc này, nhóm nghiên cứu VNSECURITY đã thẩm định quy trình giao dịch trên ngân hàng điện tử của Vietcombank. Trong bài viết này chúng tôi đưa ra hai phương án mà kẻ xấu đã thực hiện để trộm tiền. Chúng tôi đánh giá phương án phishing là khả dĩ nhất. Ngoài ra chúng tôi cũng đã phát hiện một lỗ hổng trong thiết kế của Smart OTP. Chúng tôi không có bằng chứng mạnh mẽ để chứng minh đây là lỗ hổng mà kẻ xấu đã sử dụng, nhưng chúng tôi hi vọng, thông qua các phân tích kỹ thuật, Smart OTP và các sản phẩm Internet Banking khác ở Vietcombank cũng như các ngân hàng khác sẽ được điều chỉnh để an toàn hơn và người dùng cũng hiểu hơn về những rủi ro mà họ đang chịu khi sử dụng các sản phẩm và dịch vụ Internet Banking. Trong bài viết tiếp theo, chúng tôi sẽ bàn về cách triển khai một hệ thống xác thực hai lớp hiện đại chống lại được tấn công phishing.

Giải pháp xác thực 2 lớp của Vietcombank


Trước hết, chúng tôi xin giới thiệu về các bước cơ bản mà một giao dịch chuyển tiền điện tử phải tuân thủ:
  1. Người dùng đăng nhập bằng tên đăng nhập và mật khẩu.
  2. Tạo giao dịch.
  3. Nhận và xác thực one-time password (OTP, mật khẩu dùng một lần, còn gọi là mã xác thực).
  4. Hoàn tất giao dịch.

Vietcombank cung cấp hai sản phẩm OTP: SMS và Smart OTP. Smart OTP là một phần mềm sinh mã OTP, khách hàng tải về cài đặt trên điện thoại di động. Để kích hoạt dịch vụ Smart OTP, khách hàng phải xác thực một lần duy nhất bằng SMS OTP.

Theo như đề cập ở trên, nửa đêm ngày 4 rạng sáng ngày 5, nạn nhân bị đánh cắp hơn nửa tỉ đồng, mà không hề nhận được SMS OTP. Vietcombank và C50 cho rằng kẻ xấu bằng cách nào đó đã kích hoạt thành công dịch vụ Smart OTP của nạn nhân .

Hướng tấn công số 1: phishing


Đây là hướng tấn công đơn giản và dễ thực hiện nhất. Tại một thời điểm nào đó trước khi nạn nhân bị rút nửa tỉ đồng, kẻ xấu đã:
  1. Lừa nạn nhân vào trang web giả mạo để lấy thông tin tên người dùng và mật khẩu.
  2. Tiếp tục lừa nạn nhân trên giao diện trang web giả mạo để lấy SMS OTP.
  3. Sử dụng SMS OTP để âm thầm kích hoạt Smart OTP.
  4. Vì Smart OTP có thể sử dụng song song với SMS OTP, nạn nhân không hề biết tài khoản đã hoàn toàn bị kiểm soát.

Chúng tôi đánh giá khả năng cao đây là cách mà kẻ xấu đã thực hiện để trộm tiền của nạn nhân. Có những phương án khác để tấn công, nhưng kẻ tấn công thường chọn phương án đơn giản và dễ thực hiện nhất. Chúng tôi không thấy có căn cứ kẻ tấn công bằng cách khai thác lỗ hổng mà chúng tôi phát hiện cũng như các điểm yếu đã được biết đến từ lâu của SMS OTP.

sitegiamao.png
Hình ảnh cung cấp bởi C50 cho thấy website giả mạo yêu cầu nạn nhân nhập vào mã OTP.

Quảng cáo


Hướng tấn công số 2: khai thác lỗ hổng của Smart OTP

Vì tò mò, chúng tôi đã tiến hành kiểm tra ứng dụng Smart OTP và phát hiện một lỗ hổng. Lợi dụng lỗ hổng này, chỉ cần biết số điện thoại của nạn nhân, kẻ xấu có thể kích hoạt Smart OTP của các khách hàng chưa đăng ký dịch vụ Smart OTP. Phương án tấn công như sau:
  1. Lừa nạn nhân vào trang web giả mạo để lấy thông tin tên người dùng và mật khẩu.
  2. Sử dụng tên người dùng và mật khẩu để truy vấn số điện thoại của nạn nhân trên trang Internet Banking của Vietcombank.
  3. Khai thác lỗ hổng để kích hoạt Smart OTP.

Để hiểu hơn về quy trình kích hoạt Smart OTP và phương thức tấn công, xin mời tham khảo sơ đồ bên dưới.
tancong.png



Tóm tắt quy trình đăng ký dịch vụ Smart OTP:
  1. Phần mềm Smart OTP gửi số điện thoại và địa chỉ WiFi MAC address của điện thoại đến máy chủ của VCB.
  2. Nếu số điện thoại chưa đăng ký, máy chủ VCB sẽ thực hiện hai thao tác:
  • Gửi mã xác thực, gọi là N, đến số điện thoại.
  • Gửi Encrypt(key=MD5(MD5(N), Y)) về cho ứng dụng, trong đó Y là một chuỗi mà chúng tôi chưa có điều kiện được xác định chính xác. Sau khi trao đổi với Vietcombank, họ cho biết Y là một chuỗi ngẫu nhiên 16 bytes.
  1. Phần mềm Smart OTP nhận mã xác thực từ người dùng và sử dụng nó để giải mã lấy giá trị Y. Sau đó ứng dụng dùng khóa Y để mã hóa N và gửi lại cho máy chủ VCB.
  2. Lúc này máy chủ sẽ kiểm tra, nếu thông tin chính xác, máy chủ sẽ trả về một số thông tin, trong đó quan trọng nhất là thông số được đặt tên XFACTOR.
  3. Tất cả OTP được tạo ra từ XFACTOR. Ai có XFACTOR có thể tự tạo OTP mà không cần thông qua máy chủ VCB nữa.
Lỗ hổng nằm ở bước thứ 2. Để khai thác, kẻ tấn công có thể làm như sau:
  1. Gửi số điện thoại của nạn nhân và một địa chỉ MAC bất kỳ đến máy chủ của VCB.
  2. Lúc này máy chủ sẽ trả về R = Encrypt(key = MD5(MD5(N)), Y). Vì N là một chuỗi rất ngắn, chỉ có 4 chữ số, do đó kẻ tấn công có thể dò N.
    1. Với mỗi giá trị dự đoán N' kẻ tấn công sẽ tính Y' = Decrypt(key=MD5(N’), data=R). Tùy thuộc vào biên giá trị của Y mà quá trình dò này có thể thực hiện offline. Nếu Y là một chuỗi hoàn toàn ngẫu nhiên, kẻ tấn công có thể sử dụng Y' và N' để thực hiện bước 3 và dựa vào phản hồi của máy chủ VCB để tìm N' = N. Máy chủ VCB có thể ngăn chặn sử dụng Y' và N' để dò N, nhưng chúng tôi không có điều kiện để xác minh.
  3. Sau khi đã có N, kẻ tấn công có thể thực hiện tiếp các bước 3, 4 và 5.

Quảng cáo


Tấn công như thế này là một tấn công quen thuộc. Chúng tôi đã từng đề cập trong bài phân tích phần mềm BTalk của BKAV .

Đại diện Vietcombank xác nhận giao thức mà chúng tôi mô tả ở trên là chính xác (tại thời điểm 14:30 ngày 15/8/2016, chúng tôi nhận thấy Vietcombank đã đổi giao thức, cho nên thông tin ở trên có thể không còn chính xác). Lưu ý chúng tôi xác định được giao thức này bằng cách dịch ngược mã phần mềm Smart OTP, hoàn toàn không tác động đến máy chủ của Vietcombank. Trong quá trình thẩm định Smart OTP vì không có tài khoản VCB và vì hệ thống Smart OTP liên tục thay đổi, chúng tôi không có điều kiện thử nghiệm để biết lỗ hổng mà chúng tôi phát hiện nguy hiểm đến mức nào. Vì lo ngại đây là lỗ hổng mà kẻ tấn công sử dụng để đánh cắp tiền của khách hàng Vietcombank, chúng tôi gửi thông tin cho Vietcombank trước khi có kết luận chính thức.

Sau khi liên lạc được với Vietcombank, đại diện ngân hàng cung cấp thêm một số thông tin về giao thức Smart OTP. Theo đó, có khả năng lỗ hổng mà chúng tôi phát hiện khó khai thác.


  • không có tài khoản thử nghiệm (Vietcombank hứa sẽ cung cấp tài khoản thử nghiệm, nhưng chúng tôi không nhận được),
  • hệ thống Smart OTP có nhiều thay đổi kể từ khi chúng tôi gửi thông tin cho Vietcombank,
  • không có thời gian để tiếp tục công việc thiện nguyện này

Cho nên cho đến lúc đang viết những dòng này chúng tôi vẫn chưa thể kết luận chính xác. Chúng tôi nghĩ rằng nếu lỗ hổng khó khai thác, đó là do may mắn, chứ không phải do chủ ý của người thiết kế Smart OTP.


Góc chuyên sâu: tại sao chúng tôi nghĩ rằng lỗ hổng khó khai thác là nằm ngoài dự kiến của người thiết kế Smart OTP? Smart OTP sử dụng thuật toán mã hóa TripleDES/ECB/ZeroBytePadding để mã hóa dữ liệu. Đây là một thuật toán lỗi thời và không an toàn, nhưng kỳ thực nếu đổi thuật toán này bằng các thuật toán hiện đại hơn, an toàn hơn (ví dụ như AES/CBC/PKCS5Padding) thì Smart OTP sẽ sụp đổ.

Thuật toán TripleDES/ECB/ZeroBytePadding được sử dụng để mã hóa chuỗi Y mà chúng tôi mô tả ở trên (xem sơ đồ). Để có thể dò được N, chúng tôi phải biết giá trị nào của chuỗi Y là giá trị đúng. Trường hợp khó nhất là Y là một chuỗi hoàn toàn ngẫu nhiên có chiều dài là bội của 8. Sau khi chúng tôi gửi báo cáo, Vietcombank cho biết Y đúng là một chuỗi ngẫu nhiên có chiều dài là bội của 8. Nếu Y không có đúng cả hai điều kiện này, chỉ cần vài giây là có thể tìm được N.

Thư viện phần mềm mã hóa mà Smart OTP sử dụng không bồi thêm một khối các số 0 vào cuối Y, khi Y có chiều dài là bội của 8. Nếu như Smart OTP sử dụng Bouncy Castle [6], một thư viện mã hóa rất phổ biến trên Android, phía cuối của Y sẽ có một khối toàn các số 0 và khi đó chỉ cần vài giây là có thể tìm được N.

Chúng tôi tin rằng hai đặc điểm kỹ thuật trên đây không phải được thiết kế một cách có chủ đích để phòng ngừa tấn công mà chúng tôi phát hiện, bởi nếu quả thật như thế thì người thiết kế quá chủ quan. Ngoài ra bất kể Y được tạo ra sao, tùy thuộc vào cách mà máy chủ Smart OTP thực hiện bước số 4 mà kẻ tấn công có thể sử dụng nó để dò ra N. Vietcombank cho rằng việc dò này là không thể thực hiện được, vì xác suất đoán trúng chỉ là 3/10.000. Chúng tôi thấy nhận xét này hợp lý, nhưng vì không có tài khoản để thử nghiệm trực tiếp nên chúng tôi không xác nhận được.

Thiết kế của Smart OTP rất mong manh, có nhiều quyết định khó hiểu, đi ngược lại với những nguyên tắc cơ bản của an toàn thông tin và mật mã học hiện đại. Thiết kế này vừa thừa vừa thiếu. Thừa vì có những bước vừa không cần thiết vừa tạo lỗ hổng, ví dụ như bước sử dụng N để mã hóa Y. Thiếu vì không đảm bảo được những yêu cầu cơ bản của một giao thức bảo mật. Thứ nhất, để bảo vệ kênh truyền dữ liệu giữa máy chủ và phần mềm, Smart OTP sử dụng giao thức TLS, nhưng phần mềm lại hoàn toàn không kiểm tra chứng chỉ của máy chủ. Thứ hai, thuật toán TripleDES/ECB/ZeroBytePadding không đảm bảo được sự toàn vẹn của dữ liệu. Thứ ba, một thiết kế hiện đại phải đảm bảo tính forward-secrecy [5] của dữ liệu, nhưng thiết kế của Smart OTP không làm được như vậy.

Thiết kế giao thức bảo mật là công việc nên dành cho các chuyên gia. Sau khi đã được thiết kế, giao thức chỉ được chấp nhận và đưa vào sử dụng khi có sự thẩm định độc lập của các chuyên gia khác. Ngay cả các giao thức do chuyên gia thiết kế và thẩm định như SSL/TLS còn có nhiều vấn đề, thành ra có rất ít hi vọng cho những giao thức nghiệp dư. Thật tế vấn đề mà Smart OTP muốn giải quyết đã được thế giới giải quyết từ lâu, chúng tôi không hiểu tại sao Vietcombank không sử dụng lại những kết quả này mà phải "phát minh lại cái bánh xe".

Trao đổi với chúng tôi đại diện Vietcombank đồng ý rằng giao thức mà họ đang sử dụng không phải là một giao thức đúng chuẩn và sẽ xem xét phương án thay thế. Chúng tôi đánh giá đại diện Vietcombank (mới chuyển về thì phải 😃 là người có chuyên môn tốt nên hi vọng thời gian tới Smart OTP sẽ có một thiết kế mới, an toàn và đáng tin cậy hơn, và thiết kế này sẽ được thẩm định độc lập bởi các chuyên gia trong ngành.

Trong phần tiếp theo của loạt bài này, chúng tôi sẽ bàn về cách thiết kế một hệ thống xác thực hai lớp an toàn.

Nhật ký phát hiện và thông báo lỗ hổng


Theo thông lệ quốc tế, chúng tôi công bố toàn bộ nhật ký phát hiện và thông báo lỗ hổng (ngày giờ ước lượng theo giờ VN)
  • 22:30, 12/8/2016: tải app Smart APK về.
  • 02:30, 13/8/2016: tìm thấy lỗ hổng thông qua việc dịch ngược app.
  • 11:39, 13/8/2016: gửi email thông báo lỗ hổng đến địa chỉ webmaster@vietcombank.com.vn. Đây là địa chỉ email duy nhất mà VNSECURITY tìm thấy trên website http://www.vietcombank.com.vn. Trang “Bảo mật" trên website này “đang được xây dựng".
  • 11:40, 13/8/2016: nhận được thông báo địa chỉ webmaster@vietcombank.com.vn không tồn tại.
  • 11:55, 13/8/2016: hỏi thông tin liên lạc của Vietcombank trên diễn đàn Viet-InfoSec.
  • 12:40, 13/8/2016: một thành viên Viet-InfoSec cung cấp địa chỉ email của một cán bộ trung tâm CNTT Vietcombank.
  • 12:48, 13/8/2016: gửi báo cáo lỗ hổng đến Vietcombank.
  • 14:30, 13/8/2016: Vietcombank trả lời đã nhận được thông tin, sẽ trao đổi nội bộ rồi báo lại sớm. Vietcombank hỏi có phải VNSECURITY đã reverse engineer phần mềm Smart OTP.
  • 14:39, 13/8/2016: xác nhận với Vietcombank lỗ hổng được phát hiện bằng phương thức reverse engineering.
  • 17:04, 13/08/2016: công bố phiên bản đầu tiên của bài viết này, thông tin chi tiết của lỗ hổng được giữ kín.
  • 19:15, 13/08/2016: nhận được yêu cầu gián tiếp từ phía Vietcombank đề nghị gỡ bỏ bài viết này xuống. Đề nghị Vietcombank trực tiếp liên lạc qua email.
  • 19:40, 13/08/2016: Vietcombank trả lời qua email, cảm ơn VNSECURITY, xác nhận giao thức được mô tả là chính xác, cung cấp thêm một số thông tin, đề nghị VNSECURITY kiểm tra lại.
  • 20:03, 13/08/2016: trả lời Vietcombank, chỉ ra sự mong manh dễ vỡ của Smart OTP, bất kể lỗ hổng có khai thác được hay không. Đề nghị Vietcombank cung cấp tài khoản để kiểm tra.
  • 20:18, 13/08/2016: nói thêm cho Vietcombank biết cách thiết kế một giao thức OTP an toàn.
  • 21:30, 13/08/2016: Vietcombank hứa đến sáng thứ hai ngày 15/08/2016 sẽ cung cấp tài khoản thử nghiệm. Cho đến thời điểm bài viết này được công bố, VNSECURITY vẫn chưa nhận được tài khoản thử nghiệm.
  • 23:52, 13/08/2016: Vietcombank xác nhận giao thức Smart OTP không đúng chuẩn và sẽ xem xét phương án thay thế. Vietcombank cho rằng đưa ra giả thuyết về lỗ hổng là hơi sớm.
  • 00:22, 14/08/2016: Vietcombank cung cấp thêm thông tin về Y và số lần người dùng có thể thực hiện bước số 3 trong giao thức Smart OTP.
  • 00:28, 14/08/2016: một đại diện khác của Vietcombank xác nhận thông tin về Y và số lần người dùng có thể thực hiện bước số 3 trong giao thức Smart OTP. Đề nghị VNSECURITY hỗ trợ “trong thời điểm nhạy cảm này" (nguyên văn).
  • 00:45, 14/08/2016: nhận thấy máy chủ Smart OTP đã có một số thay đổi, đề nghị Vietcombank cho biết thêm thông tin về tình trạng hiện tại.
  • 00:55, 14/08/2016: Vietcombank cho biết đã thay đổi quy trình đăng ký Smart OTP theo yêu cầu của ngân hàng nhà nước. Vietcombank tái xác nhận sẽ cung cấp tài khoản thử nghiệm vào thứ hai 15/08/2016.
  • 00:57, 14/08/2016: cập nhật bài viết này, ghi chú “việc khai thác lỗ hổng với hệ thống hiện tại là rất khó có thể thành công”.
  • 15:36, 14/08/2016: Vietcombank xác nhận thêm lần nữa Smart OTP vẫn đang hoạt động, chỉ có một chút thay đổi về quy trình đăng ký, kích hoạt dịch vụ. Đề nghị VNSECURITY hỗ trợ chống phishing.
  • 14:30, 15/08/2016: phát hiện Vietcombank đã thay đổi giao thức Smart OTP trên máy chủ, nâng cấp từ phiên bản "22" lên phiên bản "24". VNSECURITY không được thông báo trước về những thay đổi này.
  • 01:30, 16/08/2016: thông báo cho Vietcombank biết VNSECURITY đã dừng việc thẩm định Smart OTP vì không có đủ thời gian để chạy theo những thay đổi không báo trước của Vietcombank. Cảm ơn Vietcombank vì những trao đổi rất cởi mở và cho biết dự định VNSECURITY sẽ công bố thông tin về lỗ hổng trong vài ngày tới.
  • 07:30, 16/08/2016: cập nhật bài viết này với thông tin chi tiết về lỗ hổng.

    Nguồn Blog tác giả
224 bình luận
Chia sẻ

Xu hướng

ý kiến của mình:
Vụ 500Tr đồng, cá nhân mình nghĩ là không đổ tội hết cho VCB được, vì người dùng có khả năng bị lừa trao chìa khóa cho kẻ cắp (phishing) trong trường hợp này thì bank hỗ trợ được đến đâu hay đến đó, nhưng cố gắng tối đa, cao nhất, hỗ trợ tốt nhất cho khách hàng, không bao giờ bị thiệt đâu.

Còn ví dụ nếu mà user ngồi không, không làm gì cả, không truy cập vào link lạ, không giao du với kẻ cắp (dù cố tình hay vô tình) thì khi có chuyện mất mát, trách nhiệm của bank là 100%.
@Airblade14 Bạn sai nhé, không có nơi nào là thiên đường.
mrkn
TÍCH CỰC
8 năm
@Airblade14 "Có khả năng" ===> phải chứng minh được người dùng bị "phishing". Còn ko thì đó phải là lỗi của mình , tức ngân hàng
RedPhantom
ĐẠI BÀNG
8 năm
@Airblade14 Nói như cậu thì đừng gửi tiền ngân hàng luôn đi cho gọn!
Còn vụ truy cập link lạ thì đã bị bác bỏ bao lần rồi, vcb cứ lôi ra nói để đánh lạc hướng nhằm tránh trách nhiệm à?
Dennis N
ĐẠI BÀNG
8 năm
@khiembp không phải nó chừa mà là do hạn mức chuyển khoản trong ngày có giới hạn. Nó lựa thời điểm nữa đêm giao ngày là vì vậy (tận dụng tối đa hạn mức chuyển khoản của 2 ngày) ^^!
Ước gì tài khoản của mình bây giờ tự dưng có 1 Billion xong cho bọn nó hack 500 Million 😁:D:D
@nano_8x Bác cho e số TK. E đốt cho bác 10 bi luôn. Dưới đấy tha hồ tiêu nhoè.!!!
May vẫn hồi lại được 300tr khi tiền còn chưa kịp ra khỏi ngân hàng Vietcombank o_O
(Sent from CRAZYSEXYCOOL1981 using Blackberry PASSPORT.se)
@crazysexycool1981 Nghe tin vỉa hè là 300tr này ngân hàng tự bỏ ra đền chứ bọn nó rút hết 500tr rồi :v để còn ra đều đc là ngân hàng ra tay, phản ứng kịp thời
chỉ cần hiểu quy trình 1 tí là hiểu dc cái này lỗi do ai liền, quy trình của vcb dễ hack lắm ak, dễ ăn thế thì đâu chỉ mất 1 tk mà mất cả nùi rồi.
mình ko phải dân chuyên nghiệp chỉ là dân biết cntt thôi, nhìn vào cũng biết do chị này bị bẫy, ko thể đổ lỗi cho vcb dc
haind.lmp111
ĐẠI BÀNG
8 năm
@rongden_2005_tv Vậy phải đặt ngược vấn đề: nếu hệ thống đc bảo mật tốt hơn, quy trình, quy định về an toàn thông tin và các giao dịch tốt hơn theo bác liệu khi bị phishing thì liệu có xảy ra rủi ro như trên ko?
Vấn đề cốt lõi nằm ở đó, và e biết VCB k chỉ 1 lần mà bị nhiều lần roài. Bản thân e đã chứng kiến bạn e bị rút từ thẻ giả từ 1 cây ATM của ngân hàng khác và rút đc tiền từ tk của bạn e ở VCB cơ. Vậy theo bác thì đó cũng là do Social Engineering (người dùng thiếu hiểu biết ---> bị lừa)????
@haind.lmp111 Cái chị bị mất tiền kia rõ gàng là chị vào nhầm website, tự cung cấp tài khoản, mật khẩu, kiểu đó thì sao bảo vệ dc nữa bạn. Cái này là pó tay, nếu như đang ở nhà chơi game, ăn cơm, chả làm gì mà bị mất tiền mất tài khoản thì cái đó mới gọi là hack, mới gọi là ko an toàn, thì trách nhiệm đó hoàn toàn thuộc về VCB.
Bạn ơi, ko gì là tuyệt đối, trước khi để người khác bảo vệ mình, thì mình cần phải có những kiến thức để bảo vệ mình trước đã.
Mình đang nói đến việc trên còn mấy cái khác lỏng lẻo thì mình ko biết nha ^^.
life_in_mono
ĐẠI BÀNG
8 năm
like bài này của tinhte và tác giả
thangcoi123
ĐẠI BÀNG
8 năm
giờ mới biết thần tượng Dương Ngọc Thái không những là ca sĩ mà còn là kĩ sư của google 😔(
@thangcoi123 hacker nổi tiếng của việt nam 😁
@thangcoi123 xẹt nước với bác
Trước hết người dùng phải biết cách bảo vệ thông tin cá nhân của mình trước đã rồi hãy đổ lỗi cho ngân hàng. Thiết nghĩ ở VN dùng visa thanh toán thật dễ, thậm chí ko hề có bước xác nhận mã OTP/ 3D Code nữa (Vietjet air), chỉ cần biết được số thẻ, tên, ngày hết hạn, 3 số sau thẻ, nhập vào thanh toán cái rẹc. Ví dụ, đi ăn nhà hàng, đưa thẻ cho nhân viên để thanh toán, trong quá trình họ cẩm thẻ của mình, nhân viên nào có chủ ý, thì rất dễ dàng ghi lại thông tin thẻ trong 30s. Thế là coi như xong, thanh toán online dễ hơn ăn kẹo.

Knghiem của em là nên tích hợp thẻ ngân hàng vào 1 bên thứ 3 uy tín như paypal, alipay, qua đó thanh toán thì dùng tải khoản paypal thanh toán. Cảm giác an toàn hơn là nhập thông tin thẻ trực tiếp lên web mua hàng.Ở VN thì nói thật chưa có bên payment nào tạo cho e cảm giác an toàn để dám tích hợp thẻ ngân hàng vào.
@anh_pc Xác nhận đúng như bạn nói ! Mới mua Apple developer 2/8/2016 không cần số CCV.
ntson
TÍCH CỰC
8 năm
@featherchickens Có một cách để không bị mất thẻ kiểu lãng xẹt đi mua đồ thanh toán bằng thẻ bị đá hình cvv là cạo cvv đi, cvv thì viết vào đâu đó, hoặc cạo thật mờ làm sao cho nó phải cầm thẻ mình nhìn thật kỹ mới thấy số.
@tuanthat Mua hàng amazon không nhập cvv
*HERO*
TÍCH CỰC
8 năm
@tuanthat
Amazon add thẻ tín dụng kg đòi hỏi ccv
Bác thử coi
Nêu hacker chuyển tiền vào tài khoản khác thì phải lưu lại lịch sử giao dịch hoặc nếu xóa được thì trên hệ thống máy chủ cũng phải còn chứ. Thắc mắc.
_ Cảm ơn bài phân tích / bài dịch khá chi tiết và mang tính kỹ thuật ở mức độ vừa đủ để không quá lộ liễu nhưng khiến người đọc nắm bắt được vấn đề.

_ Mình hoàn toàn đồng ý về phương án 1, khả năng rất lớn là user đã bị lừa mật khẩu và OTP khi đăng nhập vào web giả mạo khiến hacker có thể kích hoạt smart OTP sau đó chuyển tiền. Đây là cách tấn công rất đơn giản, trực tiếp, dễ thực hiện và khả năng thành công rất cao. 90% lỗi lầm xảy ra cách màn hình 30-50 cm, đó là một châm ngôn trong giới IT rồi.

_ Nhưng VCB cũng ko thể ko có lỗi, vì họ quá thiếu phương tiện bảo mật : ví dụ gửi mail thông báo về an toàn khi tắt kích hoạt sms OTP, bật smart OTP, đổi mật khẩu hay đổi email etc, mail về giao dịch không phải giờ hành chính, giao dịch với số tiền lớn cũng cần email thông báo etc ( đừng nói user tạo tài khoản ko ghi email, VIP ko thể ko được tư vấn kích hoạt mấy cái này để gia tăng bảo mật ) Mấy cài này đều rất nhỏ, nhưng lại cực kỳ hiệu quả trong việc bảo mật hay cảnh báo trước.

_ Còn về kỹ thuật phá mã code Smart OTP ở phần sau thì mình không quá am hiểu nhưng nếu đã có kỹ thuật phá giải tốt thì họ sẽ không chỉ lừa có 500 triệu, mà sẽ đợi làm 1 cú lớn trước khi ngân hàng kịp thời phát hiện, với số lượng user lớn hơn nhiều so với chỉ 1 người. Nếu tìm ra lỗ hổng lớn như vậy mà lừa có 1 user để rồi bị phát hiện thì quá thiệt thòi cho đồng chí hacker =))

p/s: Không loại trừ khả năng lỗi lầm còn có thể do người thân cận user nếu họ có thể vào được điện thoại user ...
@iceteazz ngay cả công ty lớn như Sony, mình bị hack mất tài khoản rất đơn giản (thằng ôn hacker nó bruteforce vào acc rồi đơn giản là đổi email của mình thành của nó là xong) (mới đây thôi) mình liên lạc với support, được phục hồi tk, có mất tiền, nhưng vấn đề đáng nói là, khi nó vào được tk mình và đổi email đăng nhập thành email của nó, thì sony thậm chí chẳng xác nhận gì với mình mà cứ để cho nó làm, chuối kinh dị luôn
trungtintn
TÍCH CỰC
8 năm
Cái này do mình dùng Smart OTP thôi, nếu dùng Sms OTP one-time thì sẽ khó vì có giới hạn thời gian.
Lúc trước mình có download smart OTP về dùng thử 1 lần, thấy mã OTP này có thời gian sử dụng dài (mình nhớ không nhằm là được 24h) thì mình nhận thấy nguy hiểm vì có thể dùng mã đó để giao dịch nhiều lần trong ngày mà từ lần thứ 2 trở đi thì không cần xác nhận nữa.
Từ đó mình xóa và tuyệt đối không sử dụng tới giờ.
Còn vụ 500tr mình cũng nghĩ do bất cẩn người dùng hơn, đăng nhập vào web giả, bị đánh cấp tài khoản và mật khẩu, sau đó bị đánh cấp mã OTP và khi đó thì một người bình thường cũng có thể giao dịch online bằng tài khoản đó ngay.
Một vài ý kiến của mình là người đang dùng VCB giao dịch là chính, và theo kiến thức của mình phân tích.
Có gì sai các bác bỏ qua....^ . ^
@trungtintn 60s thôi ông ơi
nforce
TÍCH CỰC
8 năm
@trungtintn 1. OTP là One time password nha bác. Tức là mã đấy chỉ dùng dc đúng 1 lần thôi.
2. Chị này cũng không dùng smart OTP, mà chị đăng ký cho thằng kia xài smart OTP cơ. Đỉnh cao rồi.
alexdang28
ĐẠI BÀNG
8 năm
@trungtintn Bác à, trong bài viết có ghi rõ là nạn nhân ko sử dụng smart otp nên tội phạm đã âm thầm kích hoạt smart otp, cho nên ko sử dụng smart otp mới bị lấy cắp dễ vậy đó.
tuan_anh_ng
ĐẠI BÀNG
8 năm
@trungtintn Chả biết bác dùng smart otp của nh nào, lúc nào, nhưng t đang dùng của vcb đây. Ko nhớ chính xác lắm nhưng chỉ có hiệu lực trong 60 hay 70s thôi nhé
Cho mình hỏi ngoài lề một tí.

Mình thấy bên ngân hàng HSBC, có một token cứng, không kết nối internet gì cả. Vậy thì làm sao 6 con số OTP có thể dùng để xác nhận giao dịch được vậy các bác?

Token cứng đó đưa ra 6 con số đó theo nguyên tắc gì mà không cần kết nối mạng internet?
ngoanrazo
TÍCH CỰC
8 năm
@Pisces.Mist như thế phải có cơ chế sync thời gian bác ah, còn cái này nếu dùng như thế sẽ ko đc, dao động nội của thạch anh sẽ bị ảnh hưởng bởi nhiệt độ và thời gian tạo mã sẽ lệch.
tmn123
CAO CẤP
8 năm
@ngoanrazo Lệch là đương nhiên, nên tokenkey nó mới có hạn sử dụng, dùng lâu thì phải mang ra đồng bộ lại hoặc thay cái khác. Và cũng vì thời hạn của cái mã nó sinh ra khoảng từ 30-60s nên lệch vài giây vẫn có thể dùng được.
@ngoanrazo lệch chắc cỡ <5% giây cho 1 ngày thôi . cơ mà điện thoại kiểu gì chả trong tuần là lại kết nối internet , và khi có internet nó tự động đồng bộ rồi nên gần như là không có chuyện nhập không được đâu . thời gian cho keychain trung bình là 30-60s cho nên thoải mái nếu nó lệch tầm 10s
tuan_anh_ng
ĐẠI BÀNG
8 năm
@doinho Với góc độ của dân IT thì mình nghĩ trên cái token đó nó lưu thông tin tk của bạn, và key nó tạo ra sẽ có thông số gồm thông tin đó và dữ liệu thời gian thực để đồng bộ với thời gian máy chủ. Nhưng mình thấy nó ko an toàn bằng smart otp vì khi bị lấy cắp coi như xong, còn smart otp nó có thêm mk của app nữa (tính trong trường hợp các thông tin khác đã lộ nhé, nhất là với người thân cận)
Phía VCB làm ăn mập mờ, không có ý muốn hợp tác, có dấu hiệu che dấu một cái gì đó
-CMT của đứa 15 năm xem phim cho biết
rất thích điều này, IT chuyên nghiệp là phải thế 😃
chả bù với mấy thằng bên cty mình, feedback lỗi rành rành ra đó mà vẫn cứ vênh cái bản lề mặt lên, nản
sonanh2030
ĐẠI BÀNG
8 năm
@thedeath1883 Lương kỹ sư ngân hàng bao nhiêu và lương IT công ty bạn là bao nhiêu?
@sonanh2030 bình quân mỗi người 13tr/tháng, theo bạn vậy có quá ít ko?
huydancmit
TÍCH CỰC
8 năm
90% lỗi do khách hàng và 10% lỗi của VCB. Vì sao?

1. Ngân hàng tạo ra ứng dụng bất kỳ tạo sự đơn giản nhưng phải tạo ra cơ chế pháp lý đầy đủ, giả định ra hướng mà hacker có thể lừa khách hàng.
2. KH phải biết tiền mình để trong đó là phải cẩn thận giao dịch trên smartphone và khai báo thông tin có sự do dự. Ở đây là cách nhận thức an toàn thông tin bị xem thường.

Kết lại: đây là bài học cho cả người trong cuộc và người ngoài cuộc nhìn nhận lại vấn đề. Không có cái ổ khoá nào an toàn cả.
Thiết nghĩ: Vào link lạ, cung cấp key cho kẻ trộm thì mất ráng chịu. Ngân hàng chặn và trả lại được 1 phần là may rồi
noblemanhp
TÍCH CỰC
8 năm
Lỗi là do bà này để nhiều tiền trong TK quá làm cho nó nhìn đã muốn thịt, mà muốn thịt thì tìm mọi cách để thịt, không cách này thì cách khác. Nhớ trước có vụ nó còn lừa cấp lại cả số đt để lấy mã SMS OTP cơ mà. Nên tốt nhất đừng để chúng nó đưa mình vào tầm ngắm là tốt nhất
nhiều khi ngồi phân tích các bước OTP lỗ hỗng chỗ nào cho loạn lên, có khi lỗi lại ở mỗi chỗ dòng lệnh cuối:
Code:
if (userOTPInput == generatedOTPCode || true) { // hack thành luôn luôn true
     chuyenTien()
}
@Methylamine Bỏ đi bác, đơn giản thế thì em đã ko ở đây chém gió rồi 😁:D
@ConCaKoBietBoi nhìn code thì đơn giản nhưng quá trình hack được mệnh đề if cuối đó không đơn giản
@Methylamine Nói như bác, hack zô hệ thống như này được thì chả việc j nó phải chuyển tiền từ tk này qua tk khác cho dễ bị phát hiện cả (do khách hàng khiếu nại), nó chỉ cần âm thầm tăng số dư tài khoản ảo nào đó của nó thôi chẳng hạn.
cona88
ĐẠI BÀNG
8 năm
Ví dụ người dùng bị phishing , mất toàn bô thông tin người dùng, nhưng đồi với khoản tiền lớn, chuyển tiền vào bạn đêm, số tiền lại chạy vòng vòng trong hệ thống... thì tại sao VCB không nghi ngờ giao dịch này mà cảnh báo người dùng.
P/S: mình xài HSBC, đói với mọi giao dịch bất thường đều được nhân viên HSBC gọi để xác nhận dù 11h đêm
@cona88 Với ngân hành thì 500tr có gì là lớn 😆

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019