Tại sự kiện Vietnam Mobile Day 2019 vừa diễn ra, đại diện đến từ CyRadar anh Hà Trung Hiếu – Security Service Director đã chia sẻ với khán giả về chủ đề những lỗ hổng phổ biến trong phát triển ứng dụng di động.

Những năm gần đây, trên các mặt báo đầy rẫy những tin tức về việc rò rỉ dữ liệu nhạy cảm của người dùng trên toàn thế giới. Căn nguyên của việc này là do hệ thống hoặc ứng dụng của các tổ chức bị hacker tấn công thông qua việc khai thác lỗ hổng. Một thống kê nhanh năm 2018 của NowSecure cho biết có tới hơn 5 triệu ứng dụng được phát hành trên cả hai nền tảng Android và iOS. 45,000 ứng dụng trong số đó đã được thực hiện kiểm thử và cho kết quả 85% tồn tại những lỗ hổng nằm trong TOP 10 OWASP.

Với kinh nghiệm kiểm thử nhiều ứng dụng lớn, nhỏ tại Việt Nam, các chuyên gia CyRadar đưa ra 5 loại lỗ hổng mà các nhà phát triển ứng dụng ở Việt Nam hay phải đối mặt.

1. OTP

Nhắc tới OTP là nhắc tới một giải pháp vô cùng quan trọng, được triển khai nhiều ở các ứng dụng phổ biến trong ngành tài chính để đảm bảo an toàn cho các giao dịch trực tuyến. Nhưng việc khai triển giải pháp này đôi khi có những sai sót trong các bước Sinh, Lưu Trữ, Quản Lý, và Xác Thực OTP.

Không chỉ riêng Việt Nam, mà nhiều tổ chức lớn trên thế giới khác cũng mắc phải. Các lỗi sau thường khiến mã xác thực OTP dễ dàng bị vô hiệu lực:

  • OTP quá đơn giản, phổ biến nhất là 4 kí tự (với cấu hình máy tính laptop như hiện tại thì việc dò đoán không quá 2 phút)
  • Thời gian expire của OTP quá dài (có tổ chức sử dụng tới 5 phút)
  • Dùng một lần và dùng mãi mãi
  • Không huỷ OTP khi nhập sai nhiều lần

Kết hợp việc khai thác các lỗi này, hacker có được một chiếc chìa khoá vạn năng trong việc chiếm tài khoản.

2. Lưu trữ quá nhiều thứ nhạy cảm trong ứng dụng khi phát hành.

Các dữ liệu nhạy cảm có thể kể tới như Private Key, các API Key, các tài khoản test, tài khoản mặc định được lưu trong comment của mã nguồn,.. Các thông tin này sẽ được hacker thu thập triệt để làm bàn đạp, xây dựng các kịch bản tấn công dành riêng cho tổ chức trong tương lai.

3. Các ứng dụng chưa được làm rối, mã hoá mã nguồn trước khi phát hành

Rủi ro thứ 3 đó là các ứng dụng chưa được làm rối, mã hoá mã nguồn trước khi phát hành. Trong khi tất cả các ứng dụng trên nền tảng iOS được bảo vệ bởi Digital Right Management, nhưng có tới 62% các ứng dụng trên nền tảng Android không được bảo vệ hoặc không sử dụng triệt để các phương thức làm rối hay mã hoá. Việc này khiến ứng dụng dễ dàng bị phân tích, sao chép. Việc làm rối này trên thực tế không phải là cách tốt nhất để bảo vệ ứng dụng khỏi các tấn công, nhưng chúng lại là một trong những tảng đá lớn gây nản ý chí tấn công của hacker.

4. Ứng dụng di động bị SQL Injection, XSS trong các activity có sử dụng Web View, hay bị Remote Code Excution,…

Ứng dụng di động thì cũng như các ứng dụng web khác, trong quá trình kiểm thử các chuyên gia của CyRadar phát hiện hiện tượng bị SQL Injection, XSS trong các activity có sử dụng Web View, hay bị Remote Code Excution,… Thậm chí các lập trình viên còn viết ra các Activity ẩn để phục vụ cho việc Debug, quản trị ứng dụng dễ dàng hơn nhưng khi phát hành lại quên không xoá bỏ. Đây sẽ là những bước đệm để hacker can thiệp thay đổi dữ liệu, vượt qua các cơ chế xác thực của ứng dụng một cách nhanh chóng.

5. Các API Server có nhiều điểm xấu

Xương sống của các ứng dụng di động bây giờ là các API Server và Backend phía sau. Thường thì các API Server có rất nhiều điểm xấu. Và công việc của Hacker là tìm ra các điểm xấu để làm hại ứng dụng hay cả hệ thống của bạn. Ví dụ như không triển khai SSL/TLS nên người dùng dễ gặp rủi ro bị tấn công nghe lén và đánh cắp dữ liệu (Man in the Middle) thông qua truyền dẫn giữa App và API. Các storage trên Google hoặc Amazon mà các nhà phát triển sử dụng để lưu trữ dữ liệu như Logs, hoặc các dữ liệu tĩnh lại thiết lập các chính sách an ninh yếu để hacker lợi dụng truy cập dữ liệu này một cách dễ dàng. Các API thường phải đối mặt với các rủi ro như SQL Injection, XML Injection do chưa có sự kiểm tra tính đúng đắn của dữ liệu. Hay như trên Web Server xử lý API, còn lưu trữ thư mục [.git] trong quá trình chuyển đổi môi trường develop sang production, hacker có thể dễ dàng pull mã nguồn về và tìm kiếm các lỗ hổng cũng như các dữ liệu nhạy cảm được lưu trữ trong đó.

Ngoài ra, máy chủ của các API Server không được giới hạn truy cập tới các cổng dịch vụ khác. Thông thường quan niệm mở tất cả(Allow ALL) để tiện cho việc sử dụng và quản trị dẫn tới nhiều rủi ro không lường trước, ví dụ như: các cổng dịch vụ SSH, RDP, MySQL, MongoDB, Solr, Elastic Search,..

Trong bài trình bày, anh Hà Trung Hiếu cũng đã đưa ra mô hình phương pháp thủ công và tự động mà CyRadar sử dụng để thực hiện việc kiểm thử ứng dụng được vận hành bởi các chuyên gia có nhiều năm kinh nghiệm và đạt chứng chỉ quốc tế.

Tội phạm mạng ngày càng tinh vi, vậy nên tất cả các lỗ hổng cần được tìm ra và khắc phục trước khi chúng ra tay.

Theo CyRadar

Tin liên quan: