Vì sao SMS OTP không còn an toàn nữa?

  1. An ninh mạng

  2. Nguyễn Mạnh Hùng

Mình thấy các ngân hàng đang khuyến khích khách hàng dùng Smart OTP (nhận mã OTP ngay trên app) thay vì nhận qua SMS. Vì sao dùng SMS OTP không còn được khuyến khích nữa ạ?

Từ khóa: 

an ninh mạng

,

chuyên gia bảo mật - an toàn thông tin

Chào Ly,

Nhận định của bạn rất chính xác: SMS OTP không còn an toàn. Do đó, Ngân hàng nhà nước đã yêu cầu các Ngân hàng hạn chế khách hàng sử dụng SMS OTP (giới hạn theo số tiền giao dịch/ngày).

Nguyên nhân, đối với giao dịch SMS OTP, Ngân hàng cần sinh và gửi SMS OTP đến người dùng qua 4 bước và cả 4 bước này đều có rủi ro, kém an toàn. Chúng ta hãy cùng điểm danh 4 bước và các rủi ro trong các bước này:

Bước 1: sinh mã SMS OTP và gửi đi trong các hệ thống của ngân hàng. SMS OTP có thể bị lộ trong quá trình này có thể do vô tình hoặc do chưa đủ nhận thức an ninh khi thiết kế thống ghi log, hệ thống tra cứu hoặc server sinh, truyền SMS OTP bị hack.

Bước 2: mã SMS OTP được gửi đi qua các nhà cung cấp dịch vụ tin nhắn SMS OTP. Đây là 1 bước mà các bạn có thể ít biết đến. Các Ngân hàng truyền tin nhắn cho người dùng đến nhà mạng thường qua 1 bên cung cấp dịch vụ trung gian. Hệ thống của nhà cung cấp dịch vụ trung gian có thể bị hack hoặc thiết kế thiếu an toàn dẫn đến lộ SMS OTP. Trong quá trình làm việc, tôi được biết các hệ thống của nhà cung cấp dịch vụ tin nhắn SMS OTP có thể bị các lỗi bảo mật nghiêm trọng và không an toàn như chúng ta tưởng.

Bước 3: mã SMS OTP được nhà mạng gửi đi trong hệ thống của nhà mạng đến điện thoại của người dùng. Hệ thống của nhà mạng có thể không an toàn và tin nhắn SMS OTP có thể bị tiết lộ. Đặc biệt, một thông tin không mới nếu các bạn theo dõi bản tin về an ninh,

giao thức truyền nhận SS7 dùng để truyền nhận tin nhắn SMS của một số nhà mạng không an toàn
. Attacker có thể tấn công và đánh cắp thông tin SMS OTP từ tín hiệu truyền nhận sử dụng giao thức này.

Bước 4: nhận và nhập thông tin SMS OTP trên điện thoại có rủi ro nếu bạn dùng smartphone và bị nhiễm mã độc, phần mềm độc hại; thông tin SMS OTP có thể bị đánh cắp.

Trái với SMS OTP các giải pháp Smart OTP thường được thiết kế an toàn. Trong quá trình thiết kế triển khai Smart OTP, chúng tôi cần đảm bảo token của các giao dịch chỉ sinh ra và đồng bộ giữa server smart otp của ngân hàng và ứng ụng smart otp trên điện thoại. Smart OTP không truyền qua bất kỳ thành phần nào như SMS OTP và thậm chí Smart OTP được thiết kế để hiển thị chỉ duy nhất bạn nhìn thấy, dù tin tặc có cài được mã độc trên điện thoại cũng "rất khó" để có thể bẻ khóa và thấy được token do smart OTP sinh ra.

Một lý do thú vị khác ngoài khía cạnh an ninh, các ngân hàng khuyến khích khách hàng dùng Smart OTP do dùng Smart OTP tiết kiệm hơn SMS OTP :D. Với các ngân hàng lớn có hàng triệu khách hàng thì số tiền dịch vụ SMS OTP phải trả cho các nhà cung cấp dịch vụ mỗi năm là một con số rất lớn không kém gì một giải độc đắc Vietlot.

Regards.

Trả lời

Chào Ly,

Nhận định của bạn rất chính xác: SMS OTP không còn an toàn. Do đó, Ngân hàng nhà nước đã yêu cầu các Ngân hàng hạn chế khách hàng sử dụng SMS OTP (giới hạn theo số tiền giao dịch/ngày).

Nguyên nhân, đối với giao dịch SMS OTP, Ngân hàng cần sinh và gửi SMS OTP đến người dùng qua 4 bước và cả 4 bước này đều có rủi ro, kém an toàn. Chúng ta hãy cùng điểm danh 4 bước và các rủi ro trong các bước này:

Bước 1: sinh mã SMS OTP và gửi đi trong các hệ thống của ngân hàng. SMS OTP có thể bị lộ trong quá trình này có thể do vô tình hoặc do chưa đủ nhận thức an ninh khi thiết kế thống ghi log, hệ thống tra cứu hoặc server sinh, truyền SMS OTP bị hack.

Bước 2: mã SMS OTP được gửi đi qua các nhà cung cấp dịch vụ tin nhắn SMS OTP. Đây là 1 bước mà các bạn có thể ít biết đến. Các Ngân hàng truyền tin nhắn cho người dùng đến nhà mạng thường qua 1 bên cung cấp dịch vụ trung gian. Hệ thống của nhà cung cấp dịch vụ trung gian có thể bị hack hoặc thiết kế thiếu an toàn dẫn đến lộ SMS OTP. Trong quá trình làm việc, tôi được biết các hệ thống của nhà cung cấp dịch vụ tin nhắn SMS OTP có thể bị các lỗi bảo mật nghiêm trọng và không an toàn như chúng ta tưởng.

Bước 3: mã SMS OTP được nhà mạng gửi đi trong hệ thống của nhà mạng đến điện thoại của người dùng. Hệ thống của nhà mạng có thể không an toàn và tin nhắn SMS OTP có thể bị tiết lộ. Đặc biệt, một thông tin không mới nếu các bạn theo dõi bản tin về an ninh,

giao thức truyền nhận SS7 dùng để truyền nhận tin nhắn SMS của một số nhà mạng không an toàn
. Attacker có thể tấn công và đánh cắp thông tin SMS OTP từ tín hiệu truyền nhận sử dụng giao thức này.

Bước 4: nhận và nhập thông tin SMS OTP trên điện thoại có rủi ro nếu bạn dùng smartphone và bị nhiễm mã độc, phần mềm độc hại; thông tin SMS OTP có thể bị đánh cắp.

Trái với SMS OTP các giải pháp Smart OTP thường được thiết kế an toàn. Trong quá trình thiết kế triển khai Smart OTP, chúng tôi cần đảm bảo token của các giao dịch chỉ sinh ra và đồng bộ giữa server smart otp của ngân hàng và ứng ụng smart otp trên điện thoại. Smart OTP không truyền qua bất kỳ thành phần nào như SMS OTP và thậm chí Smart OTP được thiết kế để hiển thị chỉ duy nhất bạn nhìn thấy, dù tin tặc có cài được mã độc trên điện thoại cũng "rất khó" để có thể bẻ khóa và thấy được token do smart OTP sinh ra.

Một lý do thú vị khác ngoài khía cạnh an ninh, các ngân hàng khuyến khích khách hàng dùng Smart OTP do dùng Smart OTP tiết kiệm hơn SMS OTP :D. Với các ngân hàng lớn có hàng triệu khách hàng thì số tiền dịch vụ SMS OTP phải trả cho các nhà cung cấp dịch vụ mỗi năm là một con số rất lớn không kém gì một giải độc đắc Vietlot.

Regards.