Tấn công đe dọa các hệ thống giao dịch trực tuyến

13:57 | 29/03/2012

Khi đề cập đến các hệ thống giao dịch trực tuyến (GDTT), bảo mật luôn là vấn đề được quan tâm nhất. Đặc biệt là trong những năm gần đây, khi các phương thức tấn công mới liên tục xuất hiện và được cập nhật trên các phương tiện thông tin đại chúng.

Tuy nhiên, mức độ nguy hại của các mối đe dọa đó đến đâu, tương quan giữa khả năng của tin tặc và các biện pháp bảo mật hiện có như thế nào thì rất nhiều người, kể cả những người làm công tác bảo mật vẫn chưa hình dung một cách cụ thể. Để vượt qua các hệ thống bảo mật tinh vi, tin tặc đã kết hợp rất nhiều biện pháp khác nhau, tấn công vào tất cả các giai đoạn của quá trình giao dịch: từ trước khi người dùng đăng nhập, khi người dùng đăng nhập, sau khi đăng nhập, khi người dùng thực hiện giao dịch và sau khi giao dịch. Dưới đây chúng ta sẽ cùng điểm qua một số trường hợp.

Tấn công trước khi đăng nhập
Ngay từ trước khi người dùng đăng nhập vào các hệ thống GDTT, tin tặc đã tìm mọi cách để lây nhiễm mã độc, chiếm quyền điều khiển hệ thống. Thay vì “thụ động” đợi người dùng tải mã độc xuống thông qua thư rác hay phần mềm trò chơi, tin tặc đã chủ động lợi dụng những lỗ hổng của trình duyệt bằng cách “đầu độc” các máy tìm kiếm (để đưa người dùng đến với những trang web độc hại), tấn công gài mã độc vào các trang web nghiêm túc (website của các nhà cung cấp giải pháp bảo mật lại càng là miếng mồi “danh giá”).

Các kiểu tấn công khi người dùng đăng nhập
- “Vượt mặt” bàn phím ảo: Để phòng tránh các chương trình đánh cắp mật khẩu bằng cách bắt phím (keylogger), nhiều tổ chức đã triển khai giải pháp bàn phím ảo (virtual keyboard hay on - screen keyboard). Ý tưởng của cách làm này là thay vì nhập mật khẩu bằng bàn phím, người dùng sẽ kích chuột vào các phím trên một hình ảnh bàn phím do ứng dụng hiển thị trên màn hình. Nhưng ngay từ năm 1997, khá nhiều loại mã độc “cao cấp” đã tìm được cách bắt các vùng màn hình quanh vị trí kích chuột (ví dụ như họ W32/Dumaru). Ở đây có một lưu ý nhỏ là những loại mã độc đơn giản có thể bị người dùng đánh lừa bằng cách “sửa đi sửa lại” mật khẩu. Chẳng hạn mật khẩu của người dùng là “s3curity”, để đánh lừa mã độc anh ta nhấn chuột theo thứ tự sau:
567[clear all]3[backspace]s5[backspace]3curity
Mã độc “thô sơ” sẽ bỏ qua các thao tác phụ và ghi nhận mật khẩu sai (5673s53curity).
Vì không thể trông chờ vào lỗi lập trình của tin tặc, một số kiểu bàn phím ảo cao cấp đã hoán đổi vị trí các phím để tăng cường khả năng bảo mật. Nhưng tất cả các phương pháp trên đều không có giá trị khi mã độc câu móc (hook) vào IE để thực hiện các lệnh COM, giám sát trực tiếp ô User/Password trên màn hình trình duyệt. Do thao tác đăng nhập chỉ xảy
ra khi có lệnh form POST, mã độc tiết kiệm được rất nhiều công sức (và dung lượng đĩa cứng) nhờ việc “bắt” mật khẩu cuối cùng trong ô Password.
- Lấy cắp mã xác thực hai thành tố thời gian thực: Khi những biện pháp xác thực cổ điển đã bị tin tặc vô hiệu hoá, các tổ chức bắt đầu tìm đến sự trợ giúp của phương thức xác thực hai thành tố. Trong số đó, mã dùng một lần (OTP) gửi qua SMS là phương pháp phổ biến nhất. Do thời hạn hiệu lực của OTP rất ngắn nên giới tội phạm buộc phải tìm ra phương thức ăn trộm mới. Mã độc sẽ chặn mọi truy cập của người dùng tới website giao dịch sau khi đã bắt được mã OTP. Trong khi người dùng nghĩ rằng truy cập bị lỗi thì tin tặc sử dụng mã OTP để thực hiện giao dịch gian lận.

Các kiểu tấn công sau khi người dùng đăng nhập
- Tạo form giả để thu thập thông tin cá nhân: Do xác thực bằng mật khẩu không còn đảm bảo an toàn, nhiều tổ chức đã tăng cường mức độ bảo mật bằng cách kiểm tra thêm các thông tin cá nhân như địa chỉ, số chứng minh thư.... Trong khi hầu hết mọi người đều đã được cảnh báo về những thủ đoạn lừa đảo, thu thập thông tin cá nhân qua thư điện tử, rất ít người nghi ngờ khi thấy yêu cầu tương tự xuất phát từ website có uy tín. Các mã độc kiểm soát trình duyệt thực hiện kiểu tấn công Man- in- the- Browser (MITB) đã lợi dụng sự tin tưởng của người dùng với các phiên làm việc đã được xác thực. Đợi đến khi người dùng đã đăng nhập vào website đích (ví dụ như site VPN của doanh nghiệp hay trang giao dịch trực tuyến của ngân hàng), mã độc mới hiển thị một trang HTML đề nghị người dùng cung cấp thông tin cá nhân với mục đích tăng cường bảo mật. Khi đó, người dùng sẽ sẵn lòng cung cấp thông tin mà không hề nghi ngờ. Những thông tin cá nhân sẽ có thể bị sử dụng để thực hiện các giao dịch gian lận qua những kênh khác như điện thoại, thư, để chuyển tiền, mở tài khoản mới hay đơn giản là vượt qua các hàng rào xác thực bổ sung. Dưới đây là một ví dụ về giao diện giả nhằm thu thập thông tin cá nhân của người dùng:
- Chuyển hướng các tin nhắn SMS tới điện thoại của kẻ gian: Gửi mã OTP qua SMS được coi là biện pháp xác thực mạnh để chống lại các hành vi gian lận trực tuyến. Vì hành vi đánh cắp mã OTP thời gian thực như đã nêu ở trên tương đối khó thực hiện nên gần đây đã xuất hiện một kiểu tấn công mới, tin tặc tìm cách chuyển hướng các tin nhắn SMS. Một số ngân hàng cho phép cập nhật số điện thoại mới với điều kiện nhập mã xác nhận do ngân hàng gửi tới số điện thoại cũ của khách. Tuy nhiên, cách làm này không khả thi trong trường hợp khách hàng đánh mất điện thoại. Một trong những cách mà chúng đã áp dụng là:
Khi khách hàng đăng nhập thành công vào trang giao dịch trực tuyến, mã độc lưu giữ thông tin đăng nhập và tự động chuyển tới trang cập nhật số điện thoại (mà không để khách hàng phát hiện và gửi yêu cầu cập nhật số điện thoại (để chuyển thành một số thuê bao trả trước không thể truy vết được).



Để lấy mã OTP xác nhận, mã độc hiển thị một thông báo về tính năng bảo mật mới miễn phí, theo đó ngân hàng cung cấp một SIM miễn phí dành riêng cho giao dịch trực tuyến. Khách hàng phải nhập mã OTP nhận được qua SMS để xác nhận việc đồng ý nhận “quà”.
Một thông điệp thực tế bằng tiếng Tây Ban Nha mà mã độc đã dùng để đánh lừa người dùng có nội dung như sau:
Khách hàng... sẽ hưởng lợi từ dịch vụ mới này. Thủ tục đơn giản này sẽ bảo mật các giao dịch chuyển tiền, chống đánh cắp mật khẩu và các giao dịch gian lận với tài khoản của công ty bạn. Bạn cần làm gì để đăng ký sử dụng? Một số điện thoại ngẫu nhiên sẽ được gán cho bạn và SIM card sẽ được gửi tới qua đường bưu điện, bạn cũng sẽ nhận được một mã xác nhận để dùng cho các giao dịch tài chính.
Dịch vụ này hoàn toàn miễn phí.
Hãy Đăng ký Ngay, rất đơn giản.
Với mỗi giao dịch chuyển tiền, bạn sẽ nhận được một mã xác nhận duy nhất qua SMS để xác nhận giao dịch.
Chúng tôi khuyên bạn bắt đầu sử dụng dịch vụ này ngay lập tức, đó là một dịch vụ miễn phí và đáng tin cậy!

Tấn công khi thực hiện giao dịch
Một số ngân hàng đã triển khai các hệ thống xác thực giao dịch để đảm bảo rằng ngay cả khi mã độc thay đổi nội dung giao dịch trực tuyến thì khách hàng vẫn có kênh giao tiếp khác để nhận ra giao dịch đã bị chỉnh sửa. Tuy nhiên, giả thiết mã độc không thể can thiệp tới kênh giao tiếp ngoài không phải luôn luôn đúng. Tháng 5/2011, công ty Trusteer nhận thấy loại mã độc Man in the Mobile (MitMo) đã từng tấn công Symbian, Blackberry và Windows được chuyển sang Android. Kiểu tấn công này có thể qua mặt phương pháp xác thực và quy trình xác nhận giao dịch bằng cách gửi mã qua SMS. Ý tưởng của việc xác thực qua một kênh giao tiếp khác (out- of- band verification) là giả thiết mã độc không thể tạo giao dịch gian lận vì người dùng không nhập mã xác nhận từ điện thoại vào màn hình giao dịch. Mã độc MitMo phá vỡ giả định đó bằng cách sau: khi thiết bị của người dùng đã nhiễm mã độc mà truy cập hệ thống giao dịch trực tuyến, mã độc sẽ yêu cầu người dùng tải xuống một cấu phần bảo mật và nạp vào điện thoại di động để hoàn tất quá trình đăng nhập. Khi người dùng đã mắc lừa (cài mã độc vào điện thoại di động), tin tặc sẽ nắm quyền kiểm soát cả máy tính và điện thoại của họ. Mã độc trên PC khởi tạo các giao dịch gian lận, mã độc trên điện thoại di động sẽ đọc các tin nhắn do ngân hàng gửi, chuyển cho mã độc trên PC để xác nhận giao dịch. Tất nhiên, mã độc trên điện thoại sẽ xóa các tin nhắn gửi mã xác nhận, tin nhắn thông báo hoàn tất giao dịch để người dùng không thể đọc được.
Nhưng đó không phải là cách duy nhất và cũng không phải là cách hay nhất. Tin tặc có thể “đi vòng” để đánh lừa người dùng nhập mã xác nhận giao dịch. Đã có rất nhiều kiểu lừa đảo như vậy và dưới đây là cách thức lừa mới nhất mà SpyEye đã dùng để thực hiện giao dịch gian lận tại một ngân hàng Tây Ban Nha như sau:
Mã độc đợi cho đến khi người dùng đăng nhập xong vào trang web của ngân hàng rồi hiển thị một thông báo về việc nâng cấp hệ thống bảo mật. Người dùng (khách hàng) được mời tham gia khóa đào tạo/thực tập trực tuyến. Trong quá trình đó, họ được yêu cầu thử thực hiện một giao dịch chuyển tiền tới một tài khoản giả định và xác thực giao dịch bằng mã xác thực do ngân hàng gửi qua SMS. Tuy người dùng được (mã độc) đảm bảo rằng đây chỉ là một giao dịch thử và số dư tài khoản sẽ không bị ảnh hưởng, nhưng đến khi họ nhận ra rằng tiền của mình thực sự bị trừ thì tin tặc đã hoàn thành công việc.

Tấn công sau khi thực hiện giao dịch

Gửi thư điện tử và SMS thông báo hoàn tất giao dịch là phương thức phổ biến để xác nhận tính hợp lệ của giao dịch. Do một số ngân hàng chủ ý trì hoãn việc hạch toán thực sự, khách hàng có thể phát hiện giao dịch gian lận khi đọc thông báo hoàn tất giao dịch và liên hệ ngay với ngân hàng để chặn đứng hành vi gian lận. Các thông báo thường có dạng như sau:
“Bạn vừa gửi yêu cầu chuyển số tiền... đến tài khoản... Nếu giao dịch này không phải do bạn thực hiện, hãy liên hệ ngay với ngân hàng qua số điện thoại...”.
Mới đây, người ta đã phát hiện loại mã độc Zeus có thể cấu hình để chèn mã vào các hệ thống web- mail phổ biến như AOL, Yahoo! và Hotmail để che giấu các thư có chứa những thông điệp như “Payment Confirmation” hay “Payee Update”. Và như vậy, các giao dịch gian lận sẽ tiếp diễn mà không bị người dùng phát hiện.

Tấn công vào những lỗ hổng trong logic của ứng dụng trực tuyến
Có rất nhiều lỗ hổng bảo mật trong lôgic ứng dụng mà chúng ta chưa phát hiện ra và tin tặc có thể lợi dụng chúng để thu lợi. Sau đây là một ví dụ đơn giản, trong đó bị hại có thể không phải là người dùng mà chính là chủ của website: Một website đấu giá trực tuyến ngăn chặn việc dò mật khẩu của người dùng bằng cách tạm thời khóa tài khoản sau n lần đăng nhập sai liên tiếp. Khi tài khoản bị khóa, người dùng phải đợi ít nhất 1 giờ để tiếp tục đăng nhập. Mặc dù đây là phương pháp hiệu quả để phòng chống việc dò mật khẩu, nó có thể bị lợi dụng để hưởng lợi bất hợp pháp. Hãy hình dung kịch bản sau: sau khi đăng nhập, người dùng có thể xem các món hàng đang được đấu giá và những người đang tham gia đấu giá (cùng với mức giá mà họ đặt). Khi đặt lệnh, người dùng sẽ phải nhập mật khẩu để xác thực lại. Mặc dù các biện pháp bảo mật có vẻ đầy đủ, hệ thống vẫn có thể bị lợi dụng một cách dễ dàng. Người dùng gian xảo sẽ đăng nhập thật sớm và đặt giá thật thấp. Sau đó, nếu có người đặt giá cao hơn, anh ta sẽ đặt giá cao hơn một chút rồi liên tục đăng nhập bằng tên của người kia (với mật khẩu sai) để ngăn chặn họ đặt giá cao hơn. Mặc dù cách làm này không đảm bảo thắng cuộc đấu giá 100% nhưng nó cũng tăng khả năng mua hàng với giá hời của người dùng gian xảo lên rất nhiều. Để phòng chống kiểu tấn công này, có thể thực hiện các biện pháp: Không hiện tên tài khoản tham gia đấu giá, Dùng hệ thống CAPTCHA để ngăn chặn khả năng tấn công tự động thay cho việc khóa tài khoản người dùng, Chỉ định mức giá tối thiểu để hạn chế lòng tham của những người dùng gian xảo.

Thay cho lời kết

Bảo mật là một cuộc chiến không có hồi kết, giới tội phạm liên tục tìm ra những phương pháp mới để vượt qua các hệ thống bảo mật. Và như chúng ta đã thấy, tội phạm trực tuyến đang có thể vượt mặt các giải pháp bảo mật hiện có (ít nhất là ở một số khía cạnh, trong một số trường hợp cụ thể). Để đảm bảo an ninh cho các hệ thống giao dịch trực tuyến, những người thiết kế và xây dựng hệ thống cần chú ý tuân thủ nguyên tắc phòng thủ nhiều lớp, chủ động tìm kiếm những giải pháp bảo mật mới, cập nhật các phương thức gian lận của tội phạm. Việc các kiểu tấn công mới có thể vượt qua những giải pháp xác thực phức tạp đã cho chúng ta thấy rõ hơn thực tế là khi môi trường máy khách không được kiểm soát thì không có cách nào đảm bảo an toàn tuyệt đối cho các giao dịch. Một số chuyên gia đã đề xuất phương án cấp LiveCD cho người dùng cuối, nhưng khi tin tặc có thể can thiệp vào firmware của máy tính thì ngay cả điều đó cũng không đảm bảo giải quyết 100% nỗi lo về bảo mật. Mặt khác, những ví dụ thực tế đó cũng làm nổi bật tầm quan trọng của phương thức triển khai hệ thống. Cùng triển khai những giải pháp bảo mật như nhau nhưng mức độ bảo mật của mỗi hệ thống sẽ phụ thuộc cách thức triển khai thực tế, một giải pháp/cách làm có thể phù hợp với hệ thống này nhưng có thể làm nảy sinh những lỗ hổng khi áp dụng với một hệ thống khác (ví dụ như việc khoá tài khoản sau một số lần đăng nhập sai)