Ra mắt Secure coding guideline - “Must-read guideline” dành cho các lập trình viên Sun*
Secure coding guideline (hay còn gọi là tài liệu Hướng dẫn lập trình an toàn) là cẩm nang toàn diện về bảo mật trong dự án, được sản xuất bởi đội ngũ Cyber Security - R&D Unit. Đây là bộ tài liệu quan trọng, trang bị cho các lập trình viên kiến thức và kỹ năng cần thiết, nhằm đối phó với các thách thức an ninh mạng đang gia tăng và lấp đầy các khoảng trống bảo mật trong quá trình phát triển phần mềm, từ đó thể hiện rõ hơn vai trò đồng hành với Business khách hàng của người Sun*.
Bối cảnh ra đời
Vừa qua, Công ty đã chia sẻ rộng rãi về định hướng quan trọng và cấp thiết trong giai đoạn này, đó là mở rộng từ tư duy thuần chuyên môn sang tư duy hướng Business dựa trên thế mạnh chuyên môn sẵn có, chúng ta đẩy mạnh việc đề xuất ý tưởng và tư vấn các giải pháp cho sản phẩm/business của đối tác khách hàng, đem đến giá trị vượt trội so với kỳ vọng ban đầu. Từ đó giúp cho doanh thu và business của Sun* phát triển, khẳng định vai trò của một Digital Creative Studio, khác với vai trò gia công phần mềm.
Phát hiện và đề xuất các biện pháp giảm thiểu rủi ro bảo mật, tăng cường tính bảo mật khi code cũng như vận hành hệ thống chính là những hành động thể hiện tư duy hướng Business kể trên. Secure coding guideline ra đời như một giải pháp vô cùng đắc lực để các lập trình viên nhà Sun* thể hiện tư duy này một cách rõ nét.
Trong bối cảnh khách hàng ngày càng đòi hỏi sự bảo vệ mạnh mẽ hơn cho hệ thống và dữ liệu của họ, an ninh thông tin góp phần quyết định thành công của các dự án phần mềm. Thực tế này càng được minh chứng qua các dự án kiểm thử bảo mật (pentest), khi những lỗ hổng bảo mật như Broken Access Control hay Cross-Site Scripting (XSS) tại các dự án của chúng ta vẫn xuất hiện liên tục, lặp lại trong nhiều dự án.
Ngay lúc này, chúng ta cần một phương pháp tiếp cận toàn diện hơn trong quá trình phát triển phần mềm. Đội ngũ phát triển tại Sun* nhận ra rằng, để đảm bảo an toàn cho sản phẩm và dịch vụ, các lập trình viên không chỉ cần am hiểu công nghệ mà còn phải trang bị kiến thức sâu rộng về bảo mật ngay từ giai đoạn đầu của dự án. Từ đó, bộ tài liệu Secure Coding ra đời với sứ mệnh cung cấp nền tảng kiến thức chuẩn mực cho lập trình viên và các quản trị viên hệ thống.
Mục tiêu của bộ tài liệu
Mục tiêu chính của bộ tài liệu này là trang bị cho các lập trình viên kiến thức và kỹ năng cần thiết để phát triển phần mềm an toàn, hạn chế tối đa nguy cơ tạo ra các lỗ hổng bảo mật ngay từ những khâu đầu tiên. Đồng thời, tài liệu cũng đóng vai trò là cẩm nang cho các quản trị viên hệ thống, giúp họ nắm vững quy trình triển khai và vận hành hệ thống một cách an toàn nhất.
Secure coding guideline không chỉ dừng lại ở việc cung cấp các lý thuyết về bảo mật, mà còn đưa ra các biện pháp thực tế giúp lập trình viên có thể áp dụng trực tiếp vào công việc hàng ngày. Bộ tài liệu này hướng tới việc xây dựng một khung kiến thức bảo mật đồng nhất cho tất cả các thành viên trong đội ngũ phát triển, từ đó nâng cao ý thức về bảo mật trong toàn bộ quy trình phát triển phần mềm.
Tài liệu được xây dựng dựa theo tiêu chuẩn OWASP Secure Coding Practices kết hợp với các ví dụ minh họa cụ thể, dễ hiểu.
Đối tượng hướng đến
Secure coding guideline được thiết kế để phục vụ:
|
Nội dung chính của Secure coding guideline
Điểm nhấn quan trọng nhất của bộ tài liệu này chính là hướng dẫn cụ thể về các biện pháp bảo mật thiết thực trong việc phát triển ứng dụng. Tài liệu không chỉ dừng lại ở những lý thuyết khô khan, mà còn cung cấp các tình huống thực tế để minh họa cho từng khái niệm bảo mật. Điều này giúp các lập trình viên dễ dàng hình dung và áp dụng kiến thức vào các dự án mà họ đang thực hiện.
Chính các tình huống thực tế này cũng là điểm nổi bật nhất, chiếm nhiều thời gian sản xuất nhất của đội ngũ.
Trải qua các khóa học về secure coding cho các lập trình viên tại công ty, team sản xuất nhận thấy một tài liệu hướng dẫn chi tiết, cụ thể là hết sức cần thiết.
Số lượng ví dụ nhiều và logic của từng ngôn ngữ lập trình cũng rất khác nhau, việc hiểu và đưa ra một ví dụ minh họa cụ thể đòi hỏi phải có sự hiểu sâu về cả mặt ngôn ngữ và cách thức hoạt động của ứng dụng. Thêm nữa, theo yêu cầu từ phía công ty, bộ tài liệu cần được áp dụng rộng rãi và có thể sử dụng cho nhiều ngôn ngữ khác nhau.
“Do đó, để giải quyết vấn đề này, team đã thực hiện review chi tiết trên một ngôn ngữ chính là Python, là ngôn ngữ team có nhiều kinh nghiệm nhất, đồng thời có tham khảo ý kiến chuyên môn của các Senior Developer giàu kinh nghiệm để đọc tài liệu dưới góc nhìn của họ, giúp cho ra các ví dụ và giải thích phù hợp nhất.
Cùng với sự phát triển nhanh chóng và không ngừng của AI, chúng tôi cũng đã tận dụng sức mạnh đó để từ một ví dụ của một ngôn ngữ (Python), AI có thể tạo ra những ví dụ cho ngôn ngữ khác như (Ruby, Golang, TypeScript..). Vì là công cụ tự động nên có thể có đôi chút sai sót nhưng chúng tôi đã có kế hoạch để cải thiện dần dần ở những phiên bản tiếp theo. Đích đến cuối cùng là một tài liệu chuẩn và có thể đáp ứng được hầu hết nhu cầu về lập trình an toàn cho lập trình viên.” - Đại diện team sản xuất chia sẻ.
Hiện tại, Secure coding guideline đã được triển khai và có thể truy cập tại https://secure-coding.sun-asterisk.vn/ (yêu cầu đăng nhập bằng tài khoản Github của Sun*).
Trong tương lai, ngoài việc bổ sung những ví dụ và best practices secure coding đậm chất “Sun*”, team còn dự định bổ sung những best practice liên quan đến việc bảo vệ dữ liệu, mã hóa dữ liệu, ẩn danh hóa dữ liệu, đây đều là những yêu cầu mà đội phát triển có thể gặp phải khi làm việc với những khách hàng yêu cầu cao về bảo mật.
Secure coding guideline là một tài nguyên quý giá được sản xuất bởi Sun*, không chỉ giúp lập trình viên, quản trị viên hệ thống nâng cao kỹ năng bảo mật, mà còn tạo ra một văn hóa bảo mật trong toàn bộ quy trình phát triển phần mềm. Thông qua việc áp dụng các hướng dẫn từ tài liệu này, Sun* đang từng bước khẳng định vị thế của mình trong lĩnh vực công nghệ, với cam kết mang đến cho khách hàng những giải pháp an toàn, tin cậy nhất.