25 lỗi lập trình nguy hiểm nhất

THE TOP 25 MOST DANGEROUS PROGRAMMING ERRORS
CWE-20:Improper Input Validation
CWE-116:Improper Encoding or Escaping of Output
CWE-89:Failure to Preserve SQL Query Structure
CWE-79:Failure to Preserve Web Page Structure
CWE-78:Failure to Preserve OS Command Structure
CWE-319:Cleartext Transmission of Sensitive Information
CWE-352:Cross-Site Request Forgery
CWE-362:Race Condition
CWE-209:Error Message Information Leak
CWE-119:Failure to Constrain Operations within the Bounds of a Memory Buffer
CWE-642:External Control of Critical State Data
CWE-73:External Control of File Name or Path
CWE-426:Untrusted Search Path
CWE-94:Failure to Control Generation of Code
CWE-494:Download of Code Without Integrity Check
CWE-404:Improper Resource Shutdown or Release
CWE-665:Improper Initialization
CWE-682:Incorrect Calculation
CWE-285:Improper Access Control
CWE-327:Use of a Broken or Risky Cryptographic Algorithm
CWE-259:Hard-Coded Password
CWE-732:Insecure Permission Assignment for Critical Resource
CWE-330:Use of Insufficiently Random Values
CWE-250:Execution with Unnecessary Privileges
CWE-602:Client-Side Enforcement of Server-Side Security
Source: SANS Institute

Cơ quan an ninh quốc gia Hoa Kỳ vừa công bố bản danh sách về những lỗi lập trình nguy hiểm nhất thế giới. Bản liệt kê các lỗi lập trình gây ra những lỗ hổng an ninh mạng hoặc những vùng có thể bị ảnh hưởng vốn dĩ sẽ trở thành mục tiêu tấn công của các tay tội phạm về máy tính.

Các chuyên gia cho biết nhiều lập trình viên hiện vẫn chưa hiểu rõ hết về những lỗi kể trên. Nhiều lỗi thậm chí được xem là không mấy nguy hiểm giờ lại trở nên vô cùng nguy hại. Các lỗi này có thể xuất hiện khi các phần mềm đang được lập trình.

Viện SANS (viết tắt từ SysAdmin, Audit, Networking và Security) chuyên đào tạo an ninh mạng, cấp chứng chỉ chuyên ngành và lưu trữ hồ sơ nghiên cứu có trụ sở tại Maryland cho biết riêng trong năm 2008, 2 trong số các lỗi được liệt kê đã gây ra lỗ hổng an ninh mạng cho hơn 1.5 triệu trang web.

Hơn 30 tổ chức đóng góp thông tin vào bản danh sách quan trọng này bao gồm cả Cơ quan an ninh quốc gia Hoa Kỳ, Bộ Nội Vụ, Microsoft và Synmantec.

Giám đốc công nghệ của Veracode (hãng đi đầu thế giới về cung cấp các ứng dụng bảo mật), ông Chris Wysopal cho biết bản danh sách giúp lập trình viên nhận biết về các lỗi lập trình cần phải được khắc phục trước khi tung phần mềm đến tay người sử dụng.

Giám đốc SANS, ngài Mason Brown cho biết dường như ngày càng nhiều cơ quan, cá nhân lo ngại về lỗi lập trình và cũng đã đến lúc cần bắt tay vào quá trình sửa chúng.

Trước tiên cần đảm bảo rằng mỗi lập trình viên phải tránh gặp 25 lỗi kể trên trong quá trình lập trình.

Sau đó, mỗi nhóm lập trình trải qua quá trình tìm và sửa các lỗi này. Họ đối chiếu với danh sách để xác minh mã lập trình của mình không gặp bất kỳ lỗi nào trong đó.

Giám đốc phòng thí nghiệm khoa học máy tính, ngài Patrick Lincoln trả lời phỏng vấn đài BBC, nếu các lập trình viên chặn được các lỗi kể trên xuất hiện trong quá trình viết mã, phần lớn hacker cũng sẽ bị ngăn chặn. Danh sách này chủ yếu dành cho người có trách nhiệm trong quá trình thiết kế hệ thống.

Giám đốc cơ quan tình báo quốc gia Hoa Kỳ, cố vấn của tổng thống, Hội đồng an ninh quốc gia và hội đồng an ninh nội vụ cũng tham gia đóng góp ý kiến vào danh sách. Họ tin rằng sự đồng bộ giữa sản phẩm phần mềm và phần cứng là một yếu tố chủ đạo trong an ninh mạng  máy tính.

Chính phủ liên bang cho biết việc tạo ra các sản phẩm phần mềm an toàn là một vấn đề cơ bản trong hệ thống và mạng lưới an ninh bởi kết cấu hạ tầng quan trọng của quốc gia phụ thuộc vào các sản phẩm thương mại trong các hoạt động kinh doanh.

25 lỗi nêu trên là một yếu tố vô cùng quan trọng trong quá trình thiết lập các sáng kiến bảo mật nói chung của một quốc gia. Cần ủng hộ và khuyến khích sử dụng danh sách này trong hoạt động giảng dạy về máy tính trên toàn thế giới.

One Trackback

Leave a comment

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Your email is never shared. Required fields are marked *