Thử nghiệm bảo mật của web và ứng dụng của một số ngân hàng tại VN

Thử nghiệm bảo mật của web và ứng dụng của một số ngân hàng tại VN

Thông tin công nghệ, 24/7/16. Trả lời: 181, lượt xem: 60,092.

mrpaint mrpaint

Thử nghiệm bảo mật của web và ứng dụng của một số ngân hàng tại VN

Thảo luận trong 'Thông tin công nghệ' bắt đầu bởi mrpaint, 24/7/16. Trả lời: 181, Xem: 60092.

Chia sẻ

  1. mrpaint

    mrpaint Bà nà nà, ba na ná

    Tham gia:
    13/12/08
    Được thích:
    441
    Nhân dịp vấn đề an toàn giao dịch ngân hàng trực tuyến đang nóng, mình làm một vài bài thử nghiệm với các dịch vụ của 5 ngân hàng lớn trong nước: BIDV, Vietcombank, ACB, Techcombank, Sacombank và 2 ngân hàng nước ngoài là Citibank và HSBC. Mình sẽ chạy một số bài test về bảo mật trên cả web lẫn ứng dụng di động chính chủ do các ngân hàng này phát hành, cũng như kiểm tra các cách mà họ mã hóa dữ liệu và bảo vệ đường truyền thông tin giữa người dùng với máy chủ.

    Các bài test được tiến hành bao gồm
    1. Trang web
      • TLS: phải bật
      • SSL Server Test: phải từ A trở lên
      • HPKP: phải sử dụng
      • hoặc phải mã hóa tên và mật khẩu bằng Javascript trước khi đăng nhập
    2. Ứng dụng di động: lúc đầu mình tính kiểm tra riêng Android và iOS nhưng thực tế thấy ứng dụng mỗi ngân hàng ở hai nền tảng khá giống nhau nên gom lại chung cho gọn
    Giải thích một số khái niệm cơ bản:

    Mã hóa: biến một dữ liệu bình thường, ví dụ duyluandethuong, thành một chuỗi các kí tự, ví dụ bfruifJfrieYFGUR13fnyfi. Có kiểu hai chiều (giải mã được) và một chiều (không giải mã được) thường dùng nhất là trong quá trình đăng nhập nhằm kiểm tra password.

    TLS (Transport Layer Security): là người kế nhiệm cho giao thức bảo mật SSL trước đây nhưng đôi khi cũng được gọi chung là SSL hoặc SSL / TLS. Đây là giao thức dùng để mã hóa dữ liệu trong quá trình truyền thông tin. Mục đích của TLS là nhằm đảm bảo an toàn cho dữ liệu, theo lý thuyết thì không có bên thứ ba nào có thể lấy trộm hay chỉnh sửa dữ liệu khi nó đang được gửi đi. Nếu có lấy được thì nó cũng chỉ là dữ liệu đang được mã hóa và không thể sử dụng được. TLS đang được triển khai trong rất nhiều trang web, trình gửi file, email, ứng dụng chat, gọi thoại...

    Man In The Middle (người trung gian): là dạng tấn công mà tin tặc sẽ đứng giữa hai điểm gửi nhận dữ liệu và bí mật chuyển các dữ liệu đó đi đường khác trong nỗ lực đánh cắp thông tin. Tin tặc cũng có thể nhận gói dữ liệu, chỉnh sửa lại theo kiểu có hại trước khi đưa dữ liệu về cho điểm nhận.

    Giới thiệu về các bài kiểm tra

    TLS
    cần có chứng chỉ, trước đây còn có rào cản về chi phí để duy trì chứng chỉ đó (giá tham khảo trên trang web GoDaddy vào khoảng 70$ đến vài trăm đô tùy loại, check vào tháng 7/2016). Tuy nhiên gần đây đã có chứng chỉ miễn phí từ các dịch vụ ví dụ như Let's Encrypt nên không còn lý do gì nữa để không làm việc này. TLS là bước cơ bản nhất để bảo mật thông tin giữa ngân hàng và người sử dụng.

    SSL Server Test là bài kiểm tra máy chủ web bao gồm phần mềm, cấu hình TLS và chứng chỉ. Bài kiểm tra này sẽ cho điểm trang web, tối đa là điểm A. Điểm càng cao càng tốt. Mình sử dụng dịch vụ test miễn phí của trang Qualys SSL Labs.

    HPKP (Public Key Pinning Extension for HTTP) là một phần mở rộng cho HTTP cho phép các trang web bảo vệ mình khỏi các cuộc tấn công dạng MITM (man in the middle / người trung gian). Cách tấn công này nôm na là kẻ tấn công can thiệp vào giữa kết nối của người dùng và ngân hàng sau đó bí mật ngăn chặn và thay đổi thông tin qua lại giữa hai bên. HPKP vẫn còn khá mới và chưa được hỗ trợ rộng khắp, người dùng cần sử dụng phiên bản khá mới của các trình duyệt để được bảo vệ (ví dụ: Chrome 46, Firefox 35 trở lên).

    Certificate/Public Key Pinning có ý tưởng gần giống HPKP nhưng thay vì thực hiện kiểm tra ở trình duyệt thì mỗi ứng dụng tự kiểm tra khi kết nối với máy chủ. Lợi điểm của việc này là không phụ thuộc nhiều vào app / web ở phía người dùng. Do ứng dụng được phát hành bởi chính ngân hàng nên đội phát triển có thể nắm rõ máy chủ ngân hàng sử dụng chứng chỉ gì, phát hành bởi đơn vị nào, từ đó thực hiện Pinning đảm bảo thông tin của người sử dụng không bị lộ với bên thứ ba.

    Trong trường hợp không sử dụng Pinning thì ứng dụng cần phải mã hóa tất cả các thông tin nhạy cảm như tên, mật khẩu đăng nhập theo cả hai hướng (gửi lên / nhận về) để bảo vệ người sử dụng.

    Kết quả: Mỗi bước kiểm tra có thể có kết quả là
    • PASS: đạt, yêu
    • BAD: yêu cầu nên có mà không sử dụng
    • FAIL: yêu cầu phải có mà không sử dụng
    Kết quả kiểm tra

    Trang web
    Web.png

    Ứng dụng di động
    App.png
    Ghi chú: không thử mã hóa vì đã áp dụng pinning, không thấy được các request

    Kết luận

    Như vậy là chỉ có 1 trang web qua được bài kiểm tra (Sacombank) và cả 7 trang đều không xài HPKP. Như đã nói ở trên, đây là chức năng khá mới và đa số người dùng cũng chưa sử dụng trình duyệt phiên bản đủ mới để hưởng lợi từ việc này. Trên thế giới cũng còn nhiều trang web tài chính chưa bắt đầu sử dụng HPKP (ví dụ như PayPal, HSBC US).

    Về ứng dụng di động, 2 ứng dụng không qua được bài kiểm tra (ACB, Techcombank) và 1 ứng dụng duy nhất có sử dụng kỹ thuật Pinning là BIDV. Ứng dụng HSBC và Citibank là do mình rảnh quá test thêm, anh em tham khảo chơi.

    Một số ghi chú thêm

    Trang web của ACB bị điểm B vì nhiều lý do tuy nhiên nặng nhất là do cấu hình chưa an toàn (chi tiết xem thêm trang tổng hợp về ACB tại SSL Labs).
    ACB_web.png

    Thông báo lỗi của app BIDV và HSBC khi bị tấn công​

    Thong_bao_loi.jpg


    Kết luận chung cuộc
    1. Sacombank: chưa áp dụng các công nghệ mới nhất nhưng vẫn an toàn
    2. BIDV, Vietcombank: ứng dụng của 2 ngân hàng này an toàn hơn web của họ
    3. ACB, Techcombank: về chót. Nên hạn chế sử dụng nếu đang kết nối qua mạng công cộng (wifi quán cà phê, wifi không bảo mật).
    Bài này đã được thay đổi do lỗi khi chạy thử web của BIDV dẫn đến thay đổi thứ tự bảng tổng kết cuối cùng (kết quả cũ là BIDV số 1, kết quả cập nhật là Sacombank vượt lên!).

    Tham khảo thêm: Blog của mình, ảnh minh họa: Gemalto
     

    File đính kèm:

    Chia sẻ

    #1 24/7/16
    Sửa lần cuối: 25/7/16
    ufdb, buitrongdat, dstream27 người khác thích nội dung này.
  2. Airblade14

    Airblade14 Nam Air

    Tham gia:
    15/11/07
    Được thích:
    65,985
    Wow hay quá, lần đầu em mới biết mấy cái này, vậy mà xưa giờ cứ ngồi cafe onlinebanking Goài! Cám ơn mấy anh

    (mình vô link nguồn đọc thấy nhiều thông tin hơn bài ở đây và có vẻ dễ hiểu hơn 1 xíu, anh em nào chưa thấy hiểu thì có thể tham khảo thử nhé)
     
    #2 25/7/16
    Sửa lần cuối: 25/7/16
    o0XBOX0o, tetepro, mrsugarvn1 người khác thích nội dung này.
  3. boybl1990

    boybl1990 Thành viên

    Tham gia:
    4/10/09
    Được thích:
    3,847
    Cái chỗ SSL của BIDV không kiểm tra đc vậy nên xếp loại ntn nhỉ ?
     
  4. baggio021084

    baggio021084 Thành viên

    Tham gia:
    21/2/11
    Được thích:
    228
    Kiểm tra giùm ứng dụng của Agribank và Vietinbank cái ad!!!
     
    ruacon208 thích nội dung này.
  5. htrung18

    htrung18 Thành viên

    Tham gia:
    26/1/16
    Được thích:
    40
    bạn có thể test thử SHB được không
     
  6. sonlazio

    sonlazio Người

    Tham gia:
    23/9/07
    Được thích:
    103,890
    @mrpaint haahah 2 ngân hàng nhìu ng xài mà
     
    haibop thích nội dung này.
  7. Stone Breaker

    Stone Breaker Thành viên

    Tham gia:
    29/6/16
    Được thích:
    73
    ACB và HSBC Việt Nam là nghe có vẻ hiện đại và chuyên nghiệp mà kém nhỉ? Mình phải cẩn thận mới được.
    P/s: Đợt này Tinh Tế làm xấu mặt một vài ngân hàng rồi!
     
    anticafehalay_1986_2062 thích nội dung này.
  8. tin_truc22

    tin_truc22 Thành viên

    Tham gia:
    11/6/09
    Được thích:
    274
    Pinning certificate là cái nhãm nhí nhất, cũng đi test, man in the middle chỉ cần SSL là chống được rồi, mã hoá Username với password với SSL làm gì, nếu đã không trust được máy tính của mình thì có mã hoá cũng như không, bài viết không có chút giá trị lại gây hoang mang dư luận.
     
    whisky_x, Không Giới Hạn, bravia10 người khác thích nội dung này.
  9. Airblade14

    Airblade14 Nam Air

    Tham gia:
    15/11/07
    Được thích:
    65,985
    Xấu mặt là sao bác
    Những Thông tin này cực kỳ hữu ích để người dùng biết, và bản thân lãnh đạo ngân hàng nếu đọc được cũng biết để khắc phục. Vì có khi họ được báo cáo là A nhưng thực tế là C mà họ không biết
     
    tetepro, quang577long.nd thích nội dung này.
  10. obscurite

    obscurite Thành viên

    Tham gia:
    1/6/10
    Được thích:
    194
    Đang sài Techcombank và ACB, nhọ quá
     
  11. talk114

    talk114 Thành viên

    Tham gia:
    28/9/10
    Được thích:
    19
    Bác pentest cái agribank ấy, cái đó mới đầy tiền
     
  12. bakabon

    bakabon Thành viên

    Tham gia:
    16/6/11
    Được thích:
    10
    Cái quan trọng nhất là phải cso số điện thoại của mình để lấy code mỗi lần giao dịch, cái này quan trọng nhất. Mấy cái khác không quan trọng lắm.
     
  13. quanqw

    quanqw Thành viên

    Tham gia:
    3/10/11
    Được thích:
    106
    Mấy cái kiểm tra này hình như chỉ là cơ bản thôi.
     
  14. spsp

    spsp Thành viên

    Tham gia:
    28/5/09
    Được thích:
    6,860
    View attachment 3354226

    KLQ nhưng bác nào biết giúp em cái.
    Hôm bữa tự dưng có 1 giao dịch lạ như hình.
    Em gọi lên ngân hàng họ nó ko tra được.
    Thank 20160725_120850.jpg
     
    #14 25/7/16
    Sửa lần cuối: 25/7/16
    guanghua thích nội dung này.
  15. blueweasley

    blueweasley Thành viên

    Tham gia:
    30/5/12
    Được thích:
    148
    Hay và hữu ích quá. Mod kiểm tra giúp mình TienPhongBank với được không? :D Hi vọng bạn vẫn đang rảnh. Cảm ơn bạn :D
     
  16. dotapro

    dotapro Thành viên

    Tham gia:
    22/8/09
    Được thích:
    295
    Không liên quan đến bảo mật, nhưng xài VCB thấy họ rất quan tâm đến trải nghiệm người dùng, khi gõ mã giao dịch thì phần kí tự chỉ gồm những phím có thể gõ bằng tay trái, tay trái giữ nguyên, tay phải đặt bên numpad là ko cần nhìn bàn phím vẫn gõ dc. dù 1 điểm rất nhỏ (hầu như ko ai nhận ra) nhưng cho thấy họ quan tâm đến trải nghiệm người dùng. rất đáng khen.
     
    Triệu Dũng Phú thích nội dung này.
  17. sonlazio

    sonlazio Người

    Tham gia:
    23/9/07
    Được thích:
    103,890
    thử hình dung ngữ cảnh thế này:

    Hacker biết được mật khẩu 1 loạt khách hàng, dùng tools quét cho ra số dư trong tk
    Chọn ra 10 khách hàng nhiều tiền nhất, vô kiểm tra thông tin cá nhân (nhà, số dth).

    Họ sẽ target bạn ngoài đời thực, ko phải là trong thế giới ảo nữa.

    Bạn thấy vấn đề chưa?
     
    zajhn8x, deadknight_1412, Rola5 người khác thích nội dung này.
  18. vinhphucng25

    vinhphucng25 Thành viên

    Tham gia:
    14/12/07
    Được thích:
    2,242
    vậy thì để bảo mật hơn thì phải như thế nào vậy bác @mrpaint ???
     
  19. blueweasley

    blueweasley Thành viên

    Tham gia:
    30/5/12
    Được thích:
    148
    Đã thấy. Giống "13 tên cướp thế kỉ" quá. Hồi hộp ...
     
    sonlazio thích nội dung này.
  20. Duy Luân

    Duy Luân Không có gì!

    Tham gia:
    16/2/08
    Được thích:
    187,419
    Rồi máy tính bị cài malware hay bị cái gì đó đại loại thế thì sao bạn?
     
    mrkn thích nội dung này.

Chia sẻ

Đang tải...
Đang tải...