Vụ mất tiền trong tài khoản ngân hàng do liên kết với ví điện tử | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Vụ mất tiền trong tài khoản ngân hàng do liên kết với ví điện tử

moitinhdaukiss

Rìu Chiến Bạc Chấm
Nguồn ở đây
Mình vừa bị hack hơn 43 triệu từ tài khoản Vietcombank 1 cách thần kỳ.
Ý mình là hack thật sự chứ k phải bị lừa đảo click link, cài app, chia sẻ thông tin linh tinh đâu ạ.
Mình vốn là dân IT, nên hiểu biết về mạng mẽo, bảo mật, máy tính cũng gọi là có chút ít căn bản. Đến số điện thoại lạ mình còn k bao giờ nghe máy, cho gọi nhỡ xong check zalo trước mới gọi lại, thế nên cái việc lừa đảo qua mạng đối với mình là mình miễn nhiễm rồi.
Thế mà hôm 23/12 vừa rồi, mình đang ngồi cafe với bạn, tay vẫn cầm cái đt cài app VCB Digibank thì notify báo tài khoản bị trừ 43tr155k, lúc đó là tầm gần 3h chiều. Mình giật mình đầu nảy số trong đúng 1s, lập tức biết có vấn đề mình gọi luôn tổng đài khóa tài khoản và tra soát giao dịch. Bé tổng đài check qua tài khoản mình thì chỉ thấy liên kết với duy nhất 1 tài khoản Momo. E ý đề nghị ngắt liên kết, khóa tài khoản + thẻ cũ và hướng dẫn mình ra cây ATM thực hiện 1 giao dịch chứng minh ko bị mất thẻ. Mình làm y nguyên xong xuôi định ra phòng giao dịch VCB trình báo thì hôm đó là thứ 7 ngân hàng nghỉ.
Nghĩ suốt ruột nhưng mình vẫn phải chờ sang thứ 2 mới xử lý được. Trong 2 ngày cuối tuần chờ thì mình ngồi suy nghĩ lại thì thấy vấn đề về bảo mật của ngân hàng ko ổn. Sau đây là 1 vài nhận định của mình về vấn đề này:
- Đầu tiên là mình xem lại khoản trừ thì thấy hacker sử dụng số thẻ ngân hàng để thực hiện giao dịch, mà thẻ của mình là thẻ ATM, ko có visa debit hay credit gì hết, như vậy tiền ko đi qua cổng visa, bắt buộc phải đi qua Napas. Nếu đi qua Napas thì chắc chắn phải có OTP.
- Mình dùng 2 máy đt, 1 máy có sim nhận OTP thì mình luôn để ở nhà, k dùng public wifi, k cài app linh tinh. Còn 1 máy mình hay cầm thì cài VCB Digibank, mà cơ chế của VCB là 1 khi dùng app + smart otp thì sẽ khóa các kênh đăng nhập khác như web và sms otp. Vì vậy khả năng mà hacker có cùng lúc 2 dữ liệu là số thẻ ngân hàng và SMS OTP của mình cùng 1 lúc là cực kỳ thấp.
- Mình check máy sms otp thì đúng là nhận được otp thật, nhưng thời gian giữa 2 tin nhắn otp và giao dịch thành công gần như tức thì. Tức là nếu con người thực hiện giao dịch này thì k thể nào nhanh như thế được. Ít ra cũng cần vài giây.
Từ suy luận trên, mình đoán đây là 1 giao dịch tự động. Giống như khi anh em nạp tiền vào momo ấy. Mà giao dịch tự động này chỉ có thể thực hiện từ hệ thống của chính VCB, nếu không thì rõ ràng hệ thống OTP của ngân hàng có vấn đề bảo mật thì mới để lộ OTP cho hacker được như vậy.
Đến thứ 2 mình ra phòng giao dịch VCB thì họ bảo do lỗi của mình, ngân hàng ko có trách nhiệm (phủi tay vô lý). Mình hỏi lại bạn giao dịch viên là thế ngân hàng có trách nhiệm gì, bạn ấy bảo ngân hàng có trách nhiệm mở tài khoản thôi =)) Mình lại hỏi thế tiền khách gửi thì mặc kệ k quản lý à. Lúc ấy PGD đông xong bạn GDV thấy lỡ mồm rồi liền lảng tránh sang việc hướng dẫn mình đi trình báo công an.
Mình cũng đi trình báo các bạn ạ, đi lên phường thì hướng dẫn lên quận, đi lên quận thì hướng dẫn đi C02 với A05. Mình đi hết nhưng chung quy lại bên CA phản hồi là không rõ đối tượng lừa đảo, k cấu thành được án. Vấn đề vẫn là ở phía ngân hàng.
Mình lại về ngân hàng trình báo tiếp, bên VCB vẫn phủi tay. Mình có ghi âm của bạn trưởng phòng giao dịch luôn. Sau đó bạn biết Mình ghi âm nên hạ giọng rồi đẩy cho nhân viên ra tiếp nhận đơn trình báo của mình.
Dữ liệu tra soát cho thấy, hacker sử dụng tiền hack đc mua 90 cái thẻ Vina 500k, được discount nên còn 43tr155k. Từ dữ liệu này mình lại thấy được bọn này rất thông minh, có tổ chức đàng hoàng chứ k phải kiểu mèo mù vớ cá rán. Bạn nào biết rikvip và các hình thức rửa tiền từ game bài thì sẽ biết vụ quy đổi thẻ đt ra tiền này. 1 khi đã dùng hình thức này là hacker xóa vết, ẩn danh hoàn toàn. Sau vụ rikvip đã khóa rồi mà bác Hùng lên cái bộ 4T lại mở ra, tạo điều kiện cho giao dịch ẩn danh. Hacker nó rửa tiền = số thẻ đt này bét nhất cũng lấy về được 37-38tr.
Đợt giữa năm nghe ngóng thấy momo bị lộ database. Không biết có liên quan gì tới vụ của mình k. Nhưng momo có back là VCB là điều chắc chắn.
Cho tới thời điểm mình viết bài này thì mình vẫn chưa nhận được thông tin nào từ ngân hàng hết.
Nghĩ cay thật chứ!
Mọi người share mạnh cho mình phát nhé, để cảnh báo người thân về việc liên kết momo và để tiền trong tk VCB.

Đính chính thông tin]
Sau bài post lúc trước của mình về vụ việc mình bị hack 43tr thì đã có rất nhiều người hiểu sai về những thông tin mình cung cấp trong bài viết, đặc biệt là thông tin mình bị hack thông qua Momo. Sự thực là, Momo chỉ là 1 thông tin có liên quan trong vụ việc và nằm ở chi tiết tài khoản ngân hàng của mình có liên kết duy nhất với Momo.
Mục đích mình nêu tên Momo trong bài viết thì thứ nhất là để tường trình sự việc, thứ 2 là để cung cấp thông tin toàn cảnh vụ việc nhằm tìm kiếm những trường hợp tương tự để tìm hiểu cách xử lý sự vụ.
Tất cả thông tin về khoản tiền bị hack đã được giải thích chi tiết trong hình ảnh kết quả tra soát từ phía ngân hàng Vietcombank mà mình đã up từ đầu.
Thông qua bài post này, link báo bên dưới và tránh để sự việc bị đẩy đi quá xa, mình xác nhận lại việc Momo không liên quan trực tiếp tới giao dịch bị hack trong tài khoản ngân hàng của mình.
P/s: Cho tới thời điểm này, phía Vietcombank vẫn chưa có bất kỳ phản hồi chính thức nào tới mình. Mình không nghĩ 1 ngân hàng lớn như Vietcombank lại có sự chậm trễ trong việc xử lý thông tin liên quan tới lợi ích hợp pháp của khách hàng và của chính họ.



Vụ này đang hot, anh/em có ý kiến gì về thông tin này không? dạo này công nghệ phát triển quá, cứ sơ hở là mất tiền, đang sử dụng khá nhiều Ví điện tử nên hơi hoang mang.
1.jpg
 

Attachments

  • 2.jpg
    2.jpg
    104.2 KB · Lượt xem: 232

trinhlebela

Rìu Sắt
bài viết lq gì momo đâu, thèn phốt k biết chửi ai úp úp mở mở vụ momo leak db xong mấy thần đọc xong suy ra momo :)) ảo lòi
VCB thẻ naspas mua card vina qua VTCpay, momo năm hạn phốt lấy phốt để dù chã liên quan lắm
 

duongdx

Búa Gỗ
Nguồn ở đây
Mình vừa bị hack hơn 43 triệu từ tài khoản Vietcombank 1 cách thần kỳ.
Ý mình là hack thật sự chứ k phải bị lừa đảo click link, cài app, chia sẻ thông tin linh tinh đâu ạ.
Mình vốn là dân IT, nên hiểu biết về mạng mẽo, bảo mật, máy tính cũng gọi là có chút ít căn bản. Đến số điện thoại lạ mình còn k bao giờ nghe máy, cho gọi nhỡ xong check zalo trước mới gọi lại, thế nên cái việc lừa đảo qua mạng đối với mình là mình miễn nhiễm rồi.
Thế mà hôm 23/12 vừa rồi, mình đang ngồi cafe với bạn, tay vẫn cầm cái đt cài app VCB Digibank thì notify báo tài khoản bị trừ 43tr155k, lúc đó là tầm gần 3h chiều. Mình giật mình đầu nảy số trong đúng 1s, lập tức biết có vấn đề mình gọi luôn tổng đài khóa tài khoản và tra soát giao dịch. Bé tổng đài check qua tài khoản mình thì chỉ thấy liên kết với duy nhất 1 tài khoản Momo. E ý đề nghị ngắt liên kết, khóa tài khoản + thẻ cũ và hướng dẫn mình ra cây ATM thực hiện 1 giao dịch chứng minh ko bị mất thẻ. Mình làm y nguyên xong xuôi định ra phòng giao dịch VCB trình báo thì hôm đó là thứ 7 ngân hàng nghỉ.
Nghĩ suốt ruột nhưng mình vẫn phải chờ sang thứ 2 mới xử lý được. Trong 2 ngày cuối tuần chờ thì mình ngồi suy nghĩ lại thì thấy vấn đề về bảo mật của ngân hàng ko ổn. Sau đây là 1 vài nhận định của mình về vấn đề này:
- Đầu tiên là mình xem lại khoản trừ thì thấy hacker sử dụng số thẻ ngân hàng để thực hiện giao dịch, mà thẻ của mình là thẻ ATM, ko có visa debit hay credit gì hết, như vậy tiền ko đi qua cổng visa, bắt buộc phải đi qua Napas. Nếu đi qua Napas thì chắc chắn phải có OTP.
- Mình dùng 2 máy đt, 1 máy có sim nhận OTP thì mình luôn để ở nhà, k dùng public wifi, k cài app linh tinh. Còn 1 máy mình hay cầm thì cài VCB Digibank, mà cơ chế của VCB là 1 khi dùng app + smart otp thì sẽ khóa các kênh đăng nhập khác như web và sms otp. Vì vậy khả năng mà hacker có cùng lúc 2 dữ liệu là số thẻ ngân hàng và SMS OTP của mình cùng 1 lúc là cực kỳ thấp.
- Mình check máy sms otp thì đúng là nhận được otp thật, nhưng thời gian giữa 2 tin nhắn otp và giao dịch thành công gần như tức thì. Tức là nếu con người thực hiện giao dịch này thì k thể nào nhanh như thế được. Ít ra cũng cần vài giây.
Từ suy luận trên, mình đoán đây là 1 giao dịch tự động. Giống như khi anh em nạp tiền vào momo ấy. Mà giao dịch tự động này chỉ có thể thực hiện từ hệ thống của chính VCB, nếu không thì rõ ràng hệ thống OTP của ngân hàng có vấn đề bảo mật thì mới để lộ OTP cho hacker được như vậy.
Đến thứ 2 mình ra phòng giao dịch VCB thì họ bảo do lỗi của mình, ngân hàng ko có trách nhiệm (phủi tay vô lý). Mình hỏi lại bạn giao dịch viên là thế ngân hàng có trách nhiệm gì, bạn ấy bảo ngân hàng có trách nhiệm mở tài khoản thôi =)) Mình lại hỏi thế tiền khách gửi thì mặc kệ k quản lý à. Lúc ấy PGD đông xong bạn GDV thấy lỡ mồm rồi liền lảng tránh sang việc hướng dẫn mình đi trình báo công an.
Mình cũng đi trình báo các bạn ạ, đi lên phường thì hướng dẫn lên quận, đi lên quận thì hướng dẫn đi C02 với A05. Mình đi hết nhưng chung quy lại bên CA phản hồi là không rõ đối tượng lừa đảo, k cấu thành được án. Vấn đề vẫn là ở phía ngân hàng.
Mình lại về ngân hàng trình báo tiếp, bên VCB vẫn phủi tay. Mình có ghi âm của bạn trưởng phòng giao dịch luôn. Sau đó bạn biết Mình ghi âm nên hạ giọng rồi đẩy cho nhân viên ra tiếp nhận đơn trình báo của mình.
Dữ liệu tra soát cho thấy, hacker sử dụng tiền hack đc mua 90 cái thẻ Vina 500k, được discount nên còn 43tr155k. Từ dữ liệu này mình lại thấy được bọn này rất thông minh, có tổ chức đàng hoàng chứ k phải kiểu mèo mù vớ cá rán. Bạn nào biết rikvip và các hình thức rửa tiền từ game bài thì sẽ biết vụ quy đổi thẻ đt ra tiền này. 1 khi đã dùng hình thức này là hacker xóa vết, ẩn danh hoàn toàn. Sau vụ rikvip đã khóa rồi mà bác Hùng lên cái bộ 4T lại mở ra, tạo điều kiện cho giao dịch ẩn danh. Hacker nó rửa tiền = số thẻ đt này bét nhất cũng lấy về được 37-38tr.
Đợt giữa năm nghe ngóng thấy momo bị lộ database. Không biết có liên quan gì tới vụ của mình k. Nhưng momo có back là VCB là điều chắc chắn.
Cho tới thời điểm mình viết bài này thì mình vẫn chưa nhận được thông tin nào từ ngân hàng hết.
Nghĩ cay thật chứ!
Mọi người share mạnh cho mình phát nhé, để cảnh báo người thân về việc liên kết momo và để tiền trong tk VCB.

Đính chính thông tin]
Sau bài post lúc trước của mình về vụ việc mình bị hack 43tr thì đã có rất nhiều người hiểu sai về những thông tin mình cung cấp trong bài viết, đặc biệt là thông tin mình bị hack thông qua Momo. Sự thực là, Momo chỉ là 1 thông tin có liên quan trong vụ việc và nằm ở chi tiết tài khoản ngân hàng của mình có liên kết duy nhất với Momo.
Mục đích mình nêu tên Momo trong bài viết thì thứ nhất là để tường trình sự việc, thứ 2 là để cung cấp thông tin toàn cảnh vụ việc nhằm tìm kiếm những trường hợp tương tự để tìm hiểu cách xử lý sự vụ.
Tất cả thông tin về khoản tiền bị hack đã được giải thích chi tiết trong hình ảnh kết quả tra soát từ phía ngân hàng Vietcombank mà mình đã up từ đầu.
Thông qua bài post này, link báo bên dưới và tránh để sự việc bị đẩy đi quá xa, mình xác nhận lại việc Momo không liên quan trực tiếp tới giao dịch bị hack trong tài khoản ngân hàng của mình.
P/s: Cho tới thời điểm này, phía Vietcombank vẫn chưa có bất kỳ phản hồi chính thức nào tới mình. Mình không nghĩ 1 ngân hàng lớn như Vietcombank lại có sự chậm trễ trong việc xử lý thông tin liên quan tới lợi ích hợp pháp của khách hàng và của chính họ.

Khả năng ông này bị hack điện thoại
 

Elliwood123

Gà con
Mình IT mà làm bank đây. Mất tiền từ ngân hàng là mình chưa từng thấy. Toàn là do thiết bị KH bị remote hoặc KH tự cung cấp otp thôi
 
các vụ hack đa số bị từ ngân hàng VCB nhỉ? tôi gặp các trường hợp điều là VCB. hệ thống của VCB ai xây dựng là mỏng đến vậy sao nhỉ? đọc chị tiết bào 2 điểm chưa rõ là tại sao ngồi quán cà phế cài app VCB trên đt online. rồi đt nhận OTP ở nhà ko kết nối mạng vậy rồi lúc bt có kết nối mạng xem sẽ ko? :(
 

bungbao

Rìu Chiến Bạc
các vụ hack đa số bị từ ngân hàng VCB nhỉ? tôi gặp các trường hợp điều là VCB. hệ thống của VCB ai xây dựng là mỏng đến vậy sao nhỉ? đọc chị tiết bào 2 điểm chưa rõ là tại sao ngồi quán cà phế cài app VCB trên đt online. rồi đt nhận OTP ở nhà ko kết nối mạng vậy rồi lúc bt có kết nối mạng xem sẽ ko? :(
1. ko phải là ngồi quán cà phê cài, mà máy cầm lúc ngồi quán cà phê là máy cài sẵn app vcb
2. máy nhận otp ko kết nối vs wifi công cộng ( wifi ở quán cà phê, nhà hàng...) chứ ko phải là ko kết nối với wifi
 

bungbao

Rìu Chiến Bạc
Mình IT mà làm bank đây. Mất tiền từ ngân hàng là mình chưa từng thấy. Toàn là do thiết bị KH bị remote hoặc KH tự cung cấp otp thôi
cái này thì phải điều tra rõ mới biết dc, vì biết đâu hacker tìm dc lỗ hổng thì sao, có hệ thống nào là an toàn 100% đâu.
 

anhtuanpham87

Rìu Bạc
Vụ này khả năng cao là lỗi từ người dùng. VCB kém ở chỗ support chán quá nên bị phàn nàn. Còn ông Momo chả biết sao tự nhiên bị kéo vào.
 

tqk2811

Gà con
Ổng bảo đt otp để ở nhà, không kết nối mạng -> chỉ có người ở nhà (hoặc tới nhà) thôi. Máy nhận otp có khóa màn thì 99% người thân (hoặc dựa trên dấu mờ in trên màn hình)
 

yeuwapviet

Búa Gỗ
Vụ này khả năng cao là lỗi từ người dùng. VCB kém ở chỗ support chán quá nên bị phàn nàn. Còn ông Momo chả biết sao tự nhiên bị kéo vào.
momo cơ bản là cũng dễ bị đẩy tiền đi bạn tôi 4,5 người cũng bị từ cái momo lk mà ra nên tốt nhất liên kết tránh nó ra cho chắc cú
 

bungbao

Rìu Chiến Bạc
Ổng bảo đt otp để ở nhà, không kết nối mạng -> chỉ có người ở nhà (hoặc tới nhà) thôi. Máy nhận otp có khóa màn thì 99% người thân (hoặc dựa trên dấu mờ in trên màn hình)
Ko kết nối mạng public chứ ko phải là ko kết nối mạng
 

anhtuanpham87

Rìu Bạc
vụ này mình nhớ đến vụ VCB rất lâu trước đây
ài đã đăng trên www.vnsecurity.net/research/2016/08/13/Ve-su-vu-khach-hang-Vietcombank-bi-mat-tien.html, thực hiện chung với superkhungcrazyboy)
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 [1]. 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 [4].

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.
B_lQS5dv10s1OYJN3sDEF-73RbT8R4-fWgp-KKh5o9Gbhe5MYD5gdf19HqyZRzObC1mV0wJP-BY4iIimeiE0RhpmVhv4jHbv0jNiVofeZSZvZcMm7aaU1tbu6vOyUIlplNnLo8Pv

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.

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.

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 [3].

Đạ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ỉ [email protected]. Đâ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ỉ [email protected] 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.

tienpp, thaidn, Kha Nguyen - VNSecurity
 

anhtuanpham87

Rìu Bạc
Screen-Shot-2020-01-07-at-10.15.56-PM.png

January 03, 2020


Nhắc lại: trong một hội thảo gần đây, tôi có nói đầu năm 2017 tôi tìm được một lỗ hổng cho phép trộm tiền từ bất kỳ tài khoản nào của 4-5 ngân hàng ở Việt Nam.

Hình ở trên là một slide trong bài nói chuyện của tôi. Đây là một buổi giảng dạy về an ninh mạng, nên tôi dùng form này để hướng dẫn cho khách tham dự cách suy nghĩ như một hacker. Tôi thấy đây là một cách tiếp cận hiệu quả, mà không cần phải đi sâu vào các chi tiết kỹ thuật, bởi vì không phải ai nhìn vào ô số tiền cũng có thể nghĩ ngay đến "àh, tôi sẽ nhập vào số âm".

Lỗ hổng mà tôi phát hiện là có thật, nó không nằm ở chỗ số tiền chuyển khoản âm, mà là ở chỗ hoán đổi tài khoản của người nhận và người gửi. Một số bạn đọc thắc mắc, nghi ngờ về lổ hổng này. Tôi thấy nghi ngờ là đúng, chính tôi cũng không tin vào mắt mình khi tìm thấy lỗ hổng này.

Tôi không thể tiết lộ ngân hàng nào hoặc sản phẩm nào, vì lý do hiển nhiên, nhưng tôi có thể giải thích thêm về chi tiết kỹ thuật lỗ hổng khá thú vị này. Thiền sư gamma95 từng nói thật khó để thuyết phục người khác mía đường có vị ngọt, nếu họ chưa từng nếm thử bao giờ. Do đó, tin hay không thì tùy duyên vậy ;-).

---

Một giải pháp Mobile Banking thường bao gồm mobile app và một máy chủ API cung cấp các chức năng như truy vấn tài khoản hay chuyển tiền.

Câu hỏi: nếu được giao nhiệm vụ thiết kế API chuyển tiền trên máy chủ, API của bạn sẽ như thế nào?

Câu trả lời không khó, nhưng nếu chưa làm bao giờ thì cũng có nhiều thứ phải suy nghĩ. Trước khi xem tiếp, bạn hãy thử viết ra câu trả lời của riêng bạn.

Để chuyển tiền, máy chủ cần ít nhất 3 thông số:

1/ Tài khoản nhận

2/ Tài khoản gửi

3/ Số tiền

Tài khoản nhận và số tiền sẽ do người dùng nhập vào mobile app, rồi mobile app chuyển lên máy chủ. Nhưng tài khoản gửi thì lấy ở đâu ra?

Nếu cho phép người dùng chọn, lỡ họ nhập vào tài khoản của người khác thì sao? Tức là máy chủ phải kiểm tra người dùng có quyền chuyển tiền ra khỏi tài khoản đó hay không (authorization). Muốn như vậy thì trước tiên máy chủ phải xác thực người dùng (authentication).

Trên web, sau khi khách hàng đăng nhập, máy chủ sẽ trả về một HTTP cookie, browser ghi nhớ và sử dụng cookie để xác thực các yêu cầu tiếp theo. Thường các công nghệ làm web phổ biến (như .NET, Spring, PHP, hay Ruby On Rails) đã làm sẵn phần này, lập trình viên không cần phải làm gì thêm.

Vấn đề là trên mobile không có sẵn công nghệ nào như HTTP cookie, nên các lập trình viên thường phải tự chế ra cách xác thực. Có người sử dụng các giải pháp như OAuth hay JWT. Trong trường hợp này, sản phẩm dùng một giải pháp xác thực tự chế.

Trước khi nói về giải pháp đó, sẵn đang ở đây, tôi muốn nói thêm một chút về các giải pháp như cookie, OAuth, hay JWT. Tựu trung lại thì các giải pháp này đều giống nhau ở chỗ sau khi khách hàng đăng nhập, máy chủ sẽ cấp phát cho mobile app một token đại diện cho khách hàng. Mobile app sẽ đính kèm token khi gửi yêu cầu đến máy chủ. Máy chủ kiểm tra token như thế nào là mấu chốt của vấn đề.

Thí dụ thế này cho dễ hiểu nhé. Mỗi lần bạn gửi xe máy, nhà xe cho bạn một cái phiếu. Cái phiếu này có vai trò giống như token mà tôi nói ở trên. Muốn lấy lại xe, bạn phải đưa lại cái phiếu và nhà xe sẽ phải kiểm tra như sau:

1/ Cái phiếu còn hợp lệ. Như thế nào là hợp lệ thì tùy chỗ, thường thì họ sẽ dựa vào ngày tháng năm, con dấu, chữ ký ghi trên phiếu. Ví dụ như nếu nơi đó không gửi xe qua đêm mà bạn đưa phiếu ngày hôm qua thì tức là phiếu có vấn đề.

2/ Cái phiếu được phát cho chiếc xe mà bạn đang muốn lấy ra. Chỗ này quan trọng nha, vì nếu không, tôi có thể gửi vô một chiếc xe đạp, dùng phiếu của chiếc xe đạp để trộm một chiếc xe máy xịn. Để bịt lỗ hổng này, nhà xe thường ghi số phiếu lên yên xe. Khi bạn dắt xe ra, họ sẽ kiểm tra xem số trên phiếu và số trên yên xe có giống nhau không. Ai suy nghĩ như một hacker sẽ thấy ngay lỗ hổng: lỡ ai xóa số trên yên xe, ghi lại số khác thì sao? Giải pháp thường gặp là ghi số xe vào phiếu giữ xe. Khi bạn dắt xe ra, nhà xe sẽ kiểm tra số xe trên phiếu có trùng với số xe trên biển số hay không.

Quay trở lại câu chuyện thiết kế API chuyển tiền. Ngoài 3 thông số tài khoản người nhận, tài khoản người gửi và số tiền, mobile app cần phải đính kèm token của khách hàng. Máy chủ sẽ phải kiểm tra như sau:

1/ Token hợp lệ. Tương tự như phiếu gửi xe, token hợp lệ sẽ có, ví dụ như, chữ ký điện tử hợp lệ, còn hạn sử dụng, chưa bị thu hồi (revoked), v.v. Nhiều nơi sử dụng các giải pháp stateless như OAuth hay JWT, nhưng các giải pháp này có nhiều vấn đề. Vấn đề gì thì tôi muốn để dành làm bài tập về nhà cho bạn đọc.

2/ Token là của một người dùng và người đó được phép chuyển tiền ra khỏi tài khoản gửi. Trường hợp mỗi khách hàng chỉ có một tài khoản, trên token có thể ghi luôn số tài khoản đó (giống như trên phiếu gửi xe có ghi số xe). Trường hợp mỗi khách hàng có thể có nhiều tài khoản, trên token có thể ghi một user ID (là một số điện thoại chẳng hạn). Từ user ID này có thể lấy ra (từ core banking chẳng hạn) danh sách tài khoản mà người dùng có thể chuyển tiền ra. Máy chủ sẽ phải kiểm tra để đảm bảo số tài khoản gửi nằm trong danh sách này.

Tôi phát hiện máy chủ đã không thực hiện bước thứ 2. Nói nôm na, tôi sử dụng một token hợp lệ của chính tôi để vượt qua bước kiểm tra thứ 1, nhưng tôi đổi số tài khoản gửi bằng số tài khoản của nạn nhân mà tôi muốn trộm tiền. Trước khi chuyển tiền, máy chủ có yêu cầu phải xác thực OTP qua SMS. Nhưng, thay vì gửi OTP đến số điện thoại của tài khoản gửi, máy chủ lại gửi OTP đến số điện thoại nằm trong token, tức là số điện thoại của tôi.

Tôi viết là "hiểu nôm na" vì sản phẩm này không xác thực bằng token, mà dùng một giải pháp "nhà trồng được" khá rối rắm, nhưng có thể tóm tắt thế này:

1/ Giải pháp sử dụng chữ ký điện tử để xác thực khách hàng.

2/ Máy chủ tạo ra một bộ khóa RSA cho mỗi khách hàng.

3/ Mobile app dùng khóa riêng (private key) của khách hàng để ký tất cả các yêu cầu gửi đến máy chủ, kể cả các yêu cầu xác thực.

Câu hỏi hiển nhiên là: làm sao mobile app có được khóa riêng của khách hàng? Vì bộ khóa được tạo trên máy chủ (đây là một lỗ hổng khác), nên mobile app sẽ phải tải khóa riêng từ máy chủ. Ai có suy nghĩ như một hacker sẽ thấy ngay một vấn đề con gà và quả trứng ở đây: để xác thực thì cần phải có khóa riêng, nhưng để có khóa riêng thì cần phải xác thực trước đã!

"Giải pháp" mà họ sử dụng là thêm vào một API cho phép mobile app tải về khóa riêng của bất kỳ khách hàng nào, chỉ cần biết số điện thoại của khách hàng đó. Nói cách khác, đây là một unauthenticated API giúp tôi có thể lấy khóa riêng và từ đó giả danh (impersonate) bất kỳ tài khoản nào.

Tóm lại thì giải pháp này chỉ an toàn khi người ta không hiểu được giao thức giữa máy chủ và mobile app. Đây là một sự vi phạm nguyên lý Kerckhoff khi thiết kế giao thức bảo mật.

Một hệ thống an toàn là một hệ thống mở, ai cũng biết cách thức nó hoạt động, nhưng không ai có thể phá vỡ nó. Nếu sự an toàn của hệ thống phụ thuộc vào giả định rằng không ai biết cách nó hoạt động ra sao, không sớm thì muộn hệ thống đó sẽ bị tấn công. Làm rối rắm mã hay che dấu cách thức hoạt động của phần mềm không phải là không có tác dụng trong việc tăng cường bảo mật cho hệ thống, nhưng chúng không thể là phương thức bảo vệ duy nhất. Dịch ngược mã phần mềm khó, nhưng rất nhiều người làm được.

Thiết kế của hệ thống cần phải là thiết kế mở vì chỉ như vậy mới chống lại được các hành vi phá hoại, xâm nhập từ bên trong, vốn là mối nguy lớn nhất cho các hệ thống ngân hàng. Rất nhiều nhân viên ngân hàng hiểu giao thức giữa mobile app và máy chủ, nếu những người này muốn trộm tiền, làm sao để ngăn chặn họ? Ngày hôm nay họ còn là nhân viên, nhưng nếu sau này họ nghĩ việc thì sao? Chỉ có thể trả lời được câu hỏi này bằng cách xây dựng hệ thống với giả định rằng kẻ tấn công đã biết rõ mã nguồn và tài liệu thiết kế.

Happy hacking!

---

Cập nhật: tôi muốn viết thêm một chút về thiết kế giải pháp an ninh mạng (security engineering) vì đề tài này liên quan đến tuyến bài chính về tình hình và chính sách an ninh mạng ở Việt Nam.

Thiết kế và xây dựng giải pháp xác thực cho một sản phẩm mobile banking là một công việc lai giữa applied security và product security. Việc này không dễ cũng không khó, nhưng tôi nghĩ ở Việt Nam chưa có mấy người làm. Đa số người làm security ở Việt Nam tập trung vào tìm kiếm lỗ hổng, hoặc network security, rất ít người có thể xây dựng giải pháp để giải quyết các vấn đề security thường gặp như identity access management bao gồm authentication, authorization và auditing, key/secret management hay data protection.

Những gì tôi viết ở trên, những câu hỏi tôi đặt ra chứa đựng nhiều gợi mở cho những ai mới bắt đầu trong lĩnh vực này. Nếu có chỗ khó hiểu, bạn hãy để lại còm, tôi sẽ tìm cách giải thích, nhưng tôi khuyên là nên đọc kỹ, suy ngẫm, rồi tự thiết kế một giải pháp xác thực, tìm cách phá vỡ nó và lặp lại. Đây là cách học tốt nhất.
nguồn https://vnhacker.blogspot.com
 

mrJaden

Rìu Bạc
Phishing còn lâu mới lừa đc tôi, mỗi app, mỗi tk của tôi là 1 pw khác nhau, quản lý bằng bitwarden, kết hợp F2A, tôi còn chẳng biết pw tk là gì 😅
 

GoodWeb

Búa Đá Đôi
Ghê sợ quá! Không biết có nên quay lại xài TM hay ko nữa???
 
Kinh nghiệm là tui có 1 acc ngân hàng liên kết với momo hay zalopay chỉ có khoảng 1 triệu thôi, khi nào cần tiền hơn tui sẽ chuyển tiền từ 1 acc vô đây.
 


Top