OWASP là gì?
OWASP (Open Web Application Security
Project) là 1 dự án mở về bảo mật ứng dụng web, dự án là sự cố gắng
chung của cộng đồng với mục đích giúp các doanh nghiệp có thể phát
triển, mua và bảo trì các ứng dụng web một cách an toàn. OWASP cung cấp
cho công đồng nhiều nguồn “tài nguyên” khác nhau:
- Công cụ và tiêu chuẩn về an toàn thông tin
- Các bộ chuẩn về kiểm tra bảo mật ứng dụng, lập trình an toàn và kiểm định mã nguồn
- Các thư viện và tiêu chuẩn điều khiển an toàn thông tin
- Các nghiên cứu mới nhất về bảo mật ứng dụng web
- Các maillist uy tín về thông tin bảo mật
- …
Tất cả những gì OWASP cung cấp đều là
miễn phí và mở cho bất cứ ai có nhu cầu nâng cao bảo mật thông tin. Điều
này giúp OWASP ko bị phụ thuộc vào các nhà tài trợ, đưa ra những thông
tin chính xác, khách quan, không thiên vị và có giá trị ứng dụng cao.
Các thành viên chủ chốt của OWASP đều là các tình nguyện viên, bao gồm
Ban quản trị, Ban điều hành toàn cầu, lãnh đạo các chi nhánh, lãnh đạo
các dự án, thành viên các dự án.
Top 10 OWASP 2013
OWASP Top 10 là danh sách được OWASP
tổng hợp và công bố theo từng năm, nhằm đưa ra các cảnh báo rủi ro an
ninh của ứng dụng web một cách ngắn gọn và xúc tích, giúp các doanh
nghiệp, cá nhân xây dựng, phát triển, hay đánh giá các ứng dụng web có
thể tự đưa ra được các giải pháp phù hợp, nâng cao bảo mật thông tin.
Danh sách này luôn được thay đổi và cập nhật liên tục, do sự thay đổi về
các tác động ảnh hưởng của các lỗ hổng.
Theo OWASP trong năm 20 13, 10 rủi ro an ninh cao nhất là:
- Injection: Sai sót trong nhập liệu, chẳng hạn như SQL injection, OS injection hay LDAP injection… Điều này xảy ra khi các thông tin sai lệch được đưa vào cùng với các biến dữ liệu đầu vào như 1 phần của lệnh hay câu truy vấn. Kẻ tấn công có thể lợi dụng sơ hở này để thực hiện các lệnh không mong muốn hay truy cập các dữ liệu bất hợp pháp.
- Broken Authentication and Session Management: Xác thực hay quản lý phiên thiếu chính xác. Sơ hở này cho phép kẻ tấn công có thể lợi dụng để đạt được mật khẩu, khóa hay phiên làm việc, từ đó mạo danh phiên làm việc và danh tính của người dùng thông thường.
- Cross-Site Scripting (XSS): Sai sót trong kiểm duyệt nội dung đầu vào cũng dẫn đến rủi ro này. Các dữ liệu bất hợp pháp được gửi đến trình duyệt web mà ko cần sự xác nhận thông thường. Nó cho phép kẻ tấn công thực thi các kịch bản trên trình duyệt web của nạn nhân làm thay đổi nội dung trang web, chuyển hướng nạn nhân hay đánh cắp phiên làm việc được lưu trên trình duyệt.
- Insecure Direct Object References: Điều này xảy ra thì nhà phát triển cho thấy có các tham chiếu trực tiếp đến một đối tượng nội bộ hay của người dùng khác, ví dụ như một tập tin, thư mục, hay cơ sở dữ liệu quan trọng, mà ko có sự kiểm tra hay bảo vệ an toàn cần thiết. Điều này cho phép kẻ tấn công có thể truy cập các tài liệu này một cách trái phép.
- Security Misconfiguration: Một hệ thống bảo mât tốt là hệ thống triển khai cho khung ứng dụng, máy chủ ứng dụng, máy chủ cơ sở dữ liệu, nền tảng… các phương phảp bảo mật cần thiết, thống nhất và liên kết với nhau. Điều này nhằm tránh những nguy cơ bị khai thác vào ứng dụng, ví dụ để lộ ra những thông tin quan trọng khi trao đổi các gói tin.
- Sensitive Data Exposure: Các dữ liệu nhạy cảm không được lưu trữ và bảo vệ cẩn thận, dẫn đến khi bị kẻ tấn công khai thác gây ra những ảnh hưởng to lớn cho hệ thống máy chủ, doanh nghiệp, khách hàng. Ví dụ như việc lưu trữ thẻ tín dụng mà ko thông qua các khâu mã hóa, hay các gói tin TLS bị bẻ khóa và nghe lén thông qua lỗ hổng CRIME.
- Missing Function Level Access Control: Thiếu các điều khoản trong việc phân quyền quản trị các mức, dẫn đến việc kẻ tấn công có thể lợi dụng và truy ra các điểm yếu trên hệ thống, hay lợi dụng để leo thang đặc quyền.
- Cross-Site Request Forgery (CSRF): Lợi dụng sơ hở của nạn nhân, kẻ tấn công có thể lừa nạn nhân thực hiện các hành động nguy hiểm mà nạn nhân không hề hay biết, ví dụ như chuyển tiền từ tài khoản nạn nhân sáng tài khoản kẻ tấn công, thông qua các lỗ hổng XSS.
- Using Known Vulnerable Components: Sử dụng các thư viện, plugin, module… có chứa các lỗ hổng đã được công khai, dễ dàng dẫn đến việc bị kẻ tấn công lợi dụng để tấn công vào hệ thống một cách nhanh chóng.
- Unvalidated Redirects and Forwards: Chuyển hướng không an toàn người dùng đến một đường dẫn bên ngoài có thể bị kẻ tấn công lợi dụng để chuyển hướng nạn nhân đến một trang đích được chuẩn bị sẵn của kẻ tấn công.