Độ Mixi cũng đã bị hacker gửi email mạo danh nhà phát hành game để đề nghị hợp tác, trong email có chứa đường link tải file có mã độc. Streamer đã click vào đường link này dẫn đến máy tính cá nhân bị tấn công.

Hậu quả là cả kênh Youtube và Steam của Độ Mixi đều bị hacker chiếm quyền kiểm soát, gây nhiều thiệt hại cho streamer này.

Hiện nay, các nhà cung cấp như Google đều yêu cầu nhập mã xác thực 2 bước (nếu người dùng có cài đặt) để tăng cường bảo mật cho phiên đăng nhập. Tuy nhiên, như vậy là chưa đủ và bạn vẫn có nguy cơ bị hack mất tài khoản. Nguyên nhân chi tiết sẽ được phân tích dưới đây.

Vì sao có xác thực 2 bước nhưng hacker vẫn vào được tài khoản?

Trong một phiên đăng nhập vào các website sẽ có 3 đối tượng chính là: user, trình duyệt và máy chủ.

  • Khi người dùng đăng nhập vào 1 website, trình duyệt sẽ gửi thông tin gồm tài khoản và mật khẩu về máy chủ.
  • Máy chủ sẽ kiểm tra và yêu cầu người dùng nhập mã xác thực 2 bước.
  • Sau khi người dùng nhập mã được gửi về từ SMS hoặc các ứng dụng Authentication thì máy chủ sẽ tạo ra 1 cookie và gửi về trình duyệt. Trình duyệt sẽ lưu thông tin của cookie này.
  • Từ đó, mỗi khi user này quay lại truy cập các page bất kỳ trên website này, trình duyệt sẽ gửi cookie và các truy vấn kèm theo lên máy chủ. Nhờ đó, máy chủ xác nhận được danh tính của người dùng và không yêu cầu đăng nhập lại nữa mà trả về thông tin người dùng muốn truy cập ngay lập tức.

⇒ Điều này có nghĩa là, việc nhập mã xác thực 2 bước đã xảy ra trong quá trình đăng nhập và trước khi máy chủ tạo ra cookie đại diện cho một phiên đăng nhập hợp lệ gồm cả việc kiểm tra xác thực 2 bước. Nên nếu hacker chiếm được thông tin cookie này của người dùng thì có thể đăng nhập vào tài khoản mà không cần xác thực 2 bước.

Vậy làm sao để đảm bảo an toàn cho mỗi phiên đăng nhập?

Nếu cookie có nguy cơ bị hacker tấn công như vậy, chẳng lẽ sau mỗi phiên đăng nhập chúng ta lại cần log out tài khoản và xóa sạch cookie, lần sau đăng nhập lại phải thực hiện các công đoạn từ đầu?

Các trình quản lý mật khẩu là giải pháp tối ưu cho vấn đề này. Tôi sẽ lấy ví dụ với trình quản lý mật khẩu Locker để giúp bạn hiểu rõ hơn.

Theo như những phân tích ở trên, lộ cookie đồng nghĩa với thông tin đăng nhập và tài khoản sẽ bị bộ và hacker có thể dùng cookie để đăng nhập vào tài khoản người dùng. Để tiết kiệm thời gian và giúp người dùng tiện lợi hơn, không phải xác minh lại mỗi lần, các nhà cung cấp sẽ lưu thông tin đăng nhập của người dùng ở 3 nơi sau là:

  • Session storage
  • Browser storage
  • Cookie

Trong đó lưu ở cookie là phương thức kém an toàn và dễ bị hacker tấn công nhất. Trong khi đó, session Session storage là phương pháp lưu trữ hiệu quả hơn cả mà các password manager như Locker hiện nay đang sử dụng.

Xem thêm: Chương trình affiliate của Locker Password Manager với commission lên tới 30%

Session storage được đánh giá là an toàn hơn vì thời gian của 1 session (phiên đăng nhập) sẽ ngắn hơn (khoảng 30 phút). Khi F5 lại trang web các thông tin đăng nhập cũng sẽ biến mất theo.

Rủi ro duy nhất để hacker khai thác được session storage là nếu hacker chiếm quyền được trên thiết bị của người dùng, từ đó kiểm soát được cả trình duyệt. Điều này có thể xảy ra nếu thiết bị của bạn bị cài mã độc. Tuy nhiên, nếu bạn sử dụng Locker Password Manager thì giả sử hacker truy cập được vào session storage, tải về data liên quan đến tài khoản thì cũng không thể sử dụng và truy cập được nếu không có master password (thông tin master password không được lưu ở bất cứ đâu, kể cả session storage).

Dữ liệu của người dùng sẽ được mã hóa thế nào trong Locker password manager?

Khi sử dụng Locker Password Manager, tất cả người dùng sẽ được yêu cầu tạo một Master Password. Nếu bạn quên Master Password, đồng nghĩa với việc bạn sẽ không thể truy cập được dữ liệu của mình nữa (trừ khi bạn đã thiết lập tính năng Emergency Access trước đó).

Khi Master Password được tạo, Locker sẽ:

  1. Băm Master Password để tạo ra Master Key dài 256 bit.
  2. Mở rộng độ dài Master Key từ 256 bit thành Stretched Master Key dài 512 bit.
  3. Sinh ngẫu nhiên ra một giá trị Symmetric Key dài 256 bit.
  4. Sử dụng AES-256-CBC để mã hóa Symmetric Key với khóa là Stretched Master Key để thu về Encrypted Symmetric Key.
  5. Giá trị Encrypted Symmetric Key sẽ được lưu vào máy chủ Locker.
Quá trình khởi tạo khoá khi tạo Master Password của Locker

Từ bước 1 đến 4 ở trên, tất cả hoàn toàn được diễn ra trên máy tính/thiết bị di động của bạn và phía Locker cũng không thể biết hay lưu lại các giá trị Master Password hay Symmetric Key.

Sau khi bạn đã đăng nhập thành công vào Locker, và bạn chọn lưu một mật khẩu hoặc một dữ liệu bí mật khác (tạm gọi là Item), đây là những gì thực sự sẽ diễn ra trên chính thiết bị của bạn (không phải máy chủ Locker):

  1. Tải Encrypted Symmetric Key từ máy chủ Locker về.
  2. Tính toán Stretched Master Key từ Master Password tương tự như các bước phía trên.
  3. Sử dụng AES-256-CBC để giải mã Encrypted Symmetric Key với khóa là Stretched Master Key để thu về Symmetric Key.
  4. Sử dụng AES-256-CBC để mã hóa Item với khóa là Symmetric Key để thu về Encrypted Item.
  5. Gửi Encrypted Item vào máy chủ Locker để lưu.
Quá trình mã hoá dữ liệu của Locker

Bạn có thể thấy, Locker chỉ lưu Encrypted Symmetric Key và Encrypted Item vào máy chủ Locker. Và những dữ liệu này là các ciphertext vô nghĩa và không có khả năng sử dụng được.

Vậy Locker có thể xem được dữ liệu của người dùng không?

Để có thể đọc được dữ liệu của bạn, tức là đọc được Item, Locker cần phải giải mã được Encrypted Item, điều này sẽ đòi hỏi phải có Symmetric Key trước.

Tưởng tượng bạn có một chiếc nhẫn kim cương. Bạn để chiếc nhẫn trong một chiếc hộp có 3 lớp khoá bao gồm: FaceID của bạn, vân tay của bạn, và một mã PIN chỉ có bạn biết. Sau đó bạn để chiếc hộp đó vào két sắt rồi khoá lại, sau đó đưa chìa khoá cho quản gia.

Có 4 yếu tố cần được quan tâm ở đây.

- Chìa khoá để mở két sắt chỉ có quản gia của bạn có. Mặc dù người đó có chìa khoá, nhưng cũng chỉ mở được lớp đầu tiên. Lớp này đại diện cho Encrypted Symmetric Key mà Locker nắm giữ.

- Ba yếu tố còn lại để mở chiếc hộp thứ hai: FaceID của bạn, vân tay của bạn, và mã PIN chỉ có bạn biết. Ba yếu tố này đại diện cho Symmetric Key, Stretched Master Key và Master Key.

Điều này hoàn toàn bất khả thi nếu quản gia muốn lấy nhẫn kim cương của bạn, họ không có khả năng để mở chiếc hộp thứ 2, cũng giống như việc Locker không thể xem được dữ liệu của người dùng vậy.

Tuy nhiên Locker chỉ có Encrypted Symmetric Key, vì thế sẽ phải tìm cách giải mã được giá trị này. Như phân tích trước, Encrypted Symmetric Key bị mã hóa bởi Stretched Master Key, vốn là giá trị được mở rộng từ chính Master Password của bạn. Đồng nghĩa với việc, Locker phải biết được Master Password mới có thể giải mã Encrypted Symmetric Key để thu về Symmetric Key.

Điều này hoàn toàn bất khả thi với Locker khi Master Password chỉ tồn tại trong trí nhớ của bạn và trên thiết bị của bạn (trong ngắn hạn).

Xem thêm: Mã độc Infostealer là gì? Làm sao để phòng chống hiệu quả?

Chúng ta không thực sự biết data của mình có giá trị thế nào cho đến khi bị hacker khai thác. Nếu vẫn tiếp tục chủ quan với việc bảo vệ các dữ liệu, tài khoản cá nhân của mình, đừng bất ngờ nếu một ngày nào đó bạn phát hiện ra bị bay acc Facebook, mất tài khoản ngân hàng hoặc tệ hơn nữa là bản thân đang đứng tên cho một khoản nợ tín dụng nào đó.

Chia sẻ bài viết này