Viết mã an ninh bằng việc sử dụng các chỉ dẫn của Dự án An ninh Ứng dụng Web Mở

Thứ hai - 02/06/2014 07:17

Write secure code using Open Web Application Security Project guidelines

Posted 29 May 2014 by Nitish Tiwar

Theo: http://opensource.com/business/14/5/new-guidelines-writing-secure-code

Bài được đưa lên Internet ngày: 29/05/2014

Lời người dịch: “An ninh đã trở thành khía cạnh rất quan trọng trong phát triển phần mềm gần đây, nhưng không phải ai cũng nhận thức được các cách thức để viết mã an ninh”. Vậy làm thế nào để viết mã cho ứng dụng có được an ninh. Đây chính là nội cung của Dự án An ninh Ứng dụng Web Mở - OWASP (Open Web Application Security Project). Có 4 cách để sử dụng OWASP gồm: (1) Các bảng tính đánh lừa; (2) Chỉ dẫn cho lập trình viên; (3) Loạt chỉ dẫn an ninh ứng dụng và (4) Chỉ dẫn kiểm thử.

Dự án An ninh Ứng dụng Web Mở - OWASP (Open Web Application Security Project) là một tổ chức từ thiện phi lợi nhuận, tập trung vào việc thúc đẩy an ninh phần mềm. OWASP làm việc trên các nguyên tắc của phần mềm nguồn mở (PMNM), đặc biệt ý tưởng rằng cộng đồng là sức mạnh sáng tạo và đóng góp. Khía cạnh độc đặc biệt ở đây là OWASP không phải là phần mềm, mà là một tập hợp các chỉ dẫn được cộng đồng tạo ra để giúp cho các lập trình viên cài cắm các vào các lỗ hổng an ninh trong mã của họ.

An ninh đã trở thành khía cạnh rất quan trọng trong phát triển phần mềm gần đây, nhưng không phải ai cũng nhận thức được các cách thức để viết mã an ninh. Bạn có thể nghĩ, “đội các lập trình viên của tôi rất có kinh nghiệm/kỹ năng/hiệu quả, họ có thể viết 100% mã an ninh”, nhưng nếu bạn theo các tin tức thì bạn nhận thức được rằn thậm chí các website lớn cũng thường xuyên bị đánh sâpọ hoặc có các dữ liệu người sử dụng bị tổn thương. Website của bạn nên được chuẩn bị tốt để tránh các cuộc tấn công như vậy bằng việc tuân theo các chỉ dẫn của OWASP.

Ví dụ: Jim là một lập trình viên làm việc trên một công cụ phần mềm cho phép mọi người lưu thủ tục hàng ngày của họ và theo dõi chế độ phù hợp của chúng. Tất nhiên, ứng dụng này có một cơ chế đăng nhập/đăng ký và một cơ sở dữ liệu để lưu các chi tiết của người sử dụng, và các tính năng khác. Với thời hạn chót sắp tới, Jim có ít thời gian để quan tâm về an ninh của mã, và anh hoàn tất chức năng. Sau đó, trong khi rà soát lại an ninh nội bộ (hoặc tệ hơn trong pha sản xuất) vài lỗ hổng sẽ được thấy. Jim phải hứng chịu vô số chỉ trích, nhưng liệu anh ta có đáng trách?

Lĩnh vực lớn mà sự phát triển phần mềm đã tăng trưởng trong đó, được kết hợp với các thời hạn chót ngày một ngắn lại, là cơn bãod tuyệt vời cho việc sản xuất mã mà có xu thế bị tấn công an ninh. Thậm chí các yếu tố khác như sự bỏ qua và lười biếng ở phía lập trình viên có thể tạo ra các lỗ hổng an ninh. Trong khi có ít điều được làm về kích cỡ của lĩnh vực phần mềm đang gia tăng hoặc về các thời hạn chót bị rút ngắn lại, thì các lập trình viên có thể được huấn luyện để viết mã an ninh bẩm sinh với các chỉ dẫn của OWASP.

Các lập trình viên, các nhà phân tích an ninh, và những người khác có thể sử dụng các chỉ dẫn OWASP và cùng một lúc, đóng góp tri thức ngược trở lại cho các chỉ dẫn. Làm cách nào?

4 cách để sử dụng OWASP

Các bảng tính đánh lừa

Các bảng tính đánh lừa chứa các dữ liệu chất lượng cao, súc tích mả phù hợp với một tính năng cụ thể. Bạn bỏ ra ít thời gian hơn để tìm kiếm các câu trả lời và nhiều thời gian hơn để hiểu chúng.

Giả sử bạn đang phát triển một tính năng “Quên mật khẩu” (Forgot Password) cho website của bạn và tò mò biết được các chỉ dẫn nào nên đi theo. Trong phần “Cheat Sheets” (các bảng tính đánh lừa) trên website OWASP, hãy tra "Forgot Password Cheat Sheet" (Quên mật khẩu bảng tính đánh lừa).

Chỉ dẫn cho lập trình viên

Hãy tìm thông tin toàn diện về phát triển phần mềm, từ "foundation" (thành lập) tới "architecture" (kiến trúc) tới "configuration" (cấu hình) và "operation" (vận hành).

Chỉ dẫn cho lập trình viên là dự án gốc OWASP, được khởi xướng vào năm 2002.

Loạt chỉ dẫn an ninh ứng dụng

Đây là phần hướng dẫn bằng video trên website nhằm phân phối các thông tin phức tạp hơn ở một định dạng số dễ dàng. Video thường khoảng 5-10 phút độ dài và dựa vào các khái niệm, công cụ hoặc phương pháp luận an ninh.

Chỉ dẫn kiểm thử

Giống như chỉ dẫn cho các lập trình viên, cũng có một chỉ dẫn kiểm thử nhằm huấn luyện cho những người kiểm thử cách tìm các lỗi trong các vùng sống còn về an ninh của phần mềm.

The Open Web Application Security Project (OWASP) is a not-for-profit charitable organization focused on improving software security. OWASP works on the principles of open source software, particularly the idea that the community is the force of creation and contribution. The unique aspect here is that OWASP is not software, rather a set of guidelines created by the community to help developers plug security holes in their code.

Security has become a very important aspect of software development lately, but not everyone is aware of ways to write secure code. You may think, "my team of developers is very experienced/skilled/efficient, they can write 100% secure code," but if you follow the news you are aware that even bigshot websites are regularly brought down or have their user data compromised. Your website should be well-prepared to avoid such attacks by following these guidelines by OWASP.

For example: Jim is a developer working on a software tool which lets people save their daily routine and track their fitness regime. Of course, this app has a login/sign up mechanism and a database to save the users' details, among other features. With deadlines closing in, Jim has little time to care about the code security, and he finishes the functionality. Later, during internal security review (or worse in the production phase) several gaping holes are found. Jim had to bear the brunt of the criticism, but was he to blame?

The vast field that software development has grown into, combined with shrinking deadlines, is the perfect storm for producing code that is prone to security attacks. Even other factors like ignorance or laziness on the part of the developer can introduce security holes. While there is little to be done about the size of the growing software field or about shrinking deadlines, developers can be trained to write inherently secure code with OWASP guidelines.

Developers, security analysts, and others can use OWASP guidelines and at the same time, contribute knowledge back to the guidelines. How?

4 ways to use OWASP

Cheat sheets

Cheat sheets contain high quality, concise data that is relevant to a specific feature. You spend less time searching for the answers and more time understanding them.

Suppose you are developing a "Forgot Password" feature for your website and are curious to know what guidelines should be followed. In the "Cheat Sheets" section on the OWASP website, look up the "Forgot Password Cheat Sheet."

Developer guide

Find comprehensive information on software development, from "foundation" and "architecture" to "configuration" and "operation."

The developer guide was the original OWASP project, started in 2002.

Appsec tutorial series

This is the video tutorial section on the website aimed at delivering the more complex information in an easy to digest format. Videos are typically 5 --- 10 minutes in length and based on security concepts, tools, or methodologies.

Testing guide

Like the developer's guide, there is also a tester's guide which aims to train testers on how to find bugs in security critical areas of the software.

Dịch: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Những tin mới hơn

Những tin cũ hơn

Về Blog này

Blog này được chuyển đổi từ http://blog.yahoo.com/letrungnghia trên Yahoo Blog sang sử dụng NukeViet sau khi Yahoo Blog đóng cửa tại Việt Nam ngày 17/01/2013.Kể từ ngày 07/02/2013, thông tin trên Blog được cập nhật tiếp tục trở lại với sự hỗ trợ kỹ thuật và đặt chỗ hosting của nhóm phát triển...

Bài đọc nhiều nhất trong năm
Thăm dò ý kiến

Bạn quan tâm gì nhất ở mã nguồn mở?

Thống kê truy cập
  • Đang truy cập191
  • Máy chủ tìm kiếm3
  • Khách viếng thăm188
  • Hôm nay31,938
  • Tháng hiện tại434,442
  • Tổng lượt truy cập36,493,035
Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây