Secure Scrum có thể giúp bạn xây dựng phần mềm tốt hơn như thế nào

Ngoc Huynh

Một phương pháp luận mới tỏ ra có triển vọng trong việc giúp các nhóm Scrum nhận biết và giải quyết các sự cố bảo mật trong quá trình phát triển phần mềm.

Agile và đặc biệt là Scrum luôn là những phương pháp luận phổ biến dành cho việc quản lý phát triển phần mềm. Nhưng đối với tầm quan trọng của chúng về việc tạo ra lập trình nhanh chóng, thì có phải Agile và Scrum dẫn đến các sự cố bảo mật mà thường không được chú trọng đến không? Hai nhà nghiên cứu người Đức trong lĩnh vực khoa học máy tính cũng có cùng suy nghĩ như vậy và đã phát triển một phiên bản mới của Scrum mà có những hỗ trợ tốt hơn dành cho phát triển phần mềm an toàn.

Tại sao là Secure Scrum?

“Khi tìm hiểu tại sao các ứng dụng web hiện nay thường có mức độ bảo mật thấp, thì chúng tôi nhận thấy rằng trong số các lý do, thì có một nguyên nhân gây nên lỗ hổng bảo mật đó là sự phụ thuộc vào tính linh hoạt của các quá trình phát triển phần mềm ứng dụng web,” ông Hans-Joachim Hof, giáo sư làm việc tại Munich IT Security Research Group ở đại học Munich cho biết. “Chúng tôi đã quyết định cần phải có một cái nhìn cẩn thận hơn đối với vấn đề này và nhận định Scrum như là một quá trình lập trình linh hoạt phổ biến mà cần có một loại framework cho bảo mật.”

Hof đã cùng hợp tác với Christoph Pohl, một nghiên cứu sinh tiến hành nghiên cứu đề tài có tên gọi là Secure Scrum: Development of Secure Software with Scrum. Và họ sẽ giới thiệu về đề tài nghiên cứu vào cuối tháng này tại SECURWARE ở Venice, Hof và Pohl cho rằng kể từ khi Scrum giúp cho việc lập trình trở nên nhanh chóng, và đưa ra các quyết định thiết kế, thì vẫn có một chút ít thời gian dành cho việc lên kế hoạch và phân tích bảo mật một cách chi tiết. “Theo ý kiến của tôi, trong nhiều dự án Scrum, thì các vấn đề bảo mật đã thay đổi các mục tiêu và đó là lý do tại sao thật khó để có được sự bảo mật đúng nghĩa,” Hof cho biết. “Bảo mật có lẽ là một trong những yêu cầu phi chức năng (non-functional requirements) khó đạt được nhất với Scrum.”

Secure Scrum làm việc như thế nào

Nhằm mục đích chỉ ra các vấn đề bảo mật xuyên suốt chu trình phát triển, Hof và Pohl đã phát triển một sự biến động của Scrum mà họ gọi là Secure Scrum. Đối với Secure Scrum, các mối lo lắng về bảo mật được nhận diện trong quá trình lên kế hoạch ban đầu của những đầu mục công việc có độ ưu tiên cao trong danh sách các đầu mục công việc (được gọi là Product Backlog). Như vậy các câu chuyện của người dùng có liên quan đến bảo mật được đánh dấu một cách rõ ràng trong backlog; khi các câu chuyện đó có sẵn trong một sprint, thì các mối quan tâm về bảo mật liên quan cũng vậy. Các câu chuyện của người dùng sẽ được xếp thứ bậc theo những thiệt hại về mặt tiền tệ nếu các mối quan tâm về bảo mật được nhận thức rõ.

Secure Scrum cho phép các chuyên gia bảo mật thuộc bên thứ ba được đưa vào theo nhiều cách, chẳng hạn như thông qua việc đào tạo các nhóm Scrum, nhận diện các mối nguy bảo mật, và thậm chí là cung cấp các giải pháp black box cho các sự cố bảo mật trong các chu kỳ sprint (Sprint là những chu kỳ nhỏ để phát triển sản phẩm. Trong Sprint, nhóm sẽ tập trung phát triển những chức năng cụ thể nào đó và hoàn hiện nó vào cuối mỗi Sprint. Mỗi Sprint sẽ có thời gian cố định được thống nhất, thường là 2 tuần và thường không hơn 4 tuần).

Hof và Pohl cho rằng, không giống như các phương pháp tiếp cận khác để Scrum cố gắng tích hợp các mối quan tâm về bảo mật tốt hơn, chẳng hạn như S-Scrum hay phát triển Security Backlog riêng biệt, thì Secure Scrum giảm thiểu tác động lên quá trình Scrum thông thường trong khi khuyến khích các lập trình viên xem xét các sự cố bảo mật xuyên suốt quá trình phát triển.

Một nghiên cứu theo kinh nghiệm

Để kiểm thử lý thuyết cho rằng Secure Scrum sẽ đưa đến nhiều phần mềm an toàn hơn Scrum thông thường, Hof và Pohl đã thuê 16 sinh viên năm 3 đang học ngành khoa học máy tính, chia các sinh viên ra thành ba nhóm nhỏ, và giao cho mỗi nhóm một nhiệm vụ phát triển một prototype cho một mạng xã hội. Mỗi nhóm đã được đưa 6 yêu cầu chức năng và một tuần để phát triển prototype của họ. Một nhóm có thể tiếp cận sự phát triển bằng bất kỳ phương pháp nào ngoài Scrum, đồng thời một nhóm khác sẽ sử dụng Scrum truyền thống, và nhóm còn lại sẽ sử dụng Secure Scrum.

Các nhà nghiên cứu đã thấy rằng nhóm Secure Scrum nhanh chóng hiểu rõ về Secure Scrum và đã nhận diện nhiều yêu cầu bảo mật hơn các nhóm khác, và lập trình của họ ít có lỗ hổng hơn. Mặt hạn chế của Secure Scrum là tổng chi phí thêm vào cho việc xem xét các mối nguy bảo mật, mà chính bản thân nó được biểu thị bằng ít dòng code hơn so với các nhóm khác.

“Nghiên cứu này chỉ ra được Secure Scrum giúp mọi người chú ý đến bảo mật phần mềm,” tác giả cho biết. Đặc biệt, các tác giả rất ấn tượng khi các lập trình viên có thể hiểu về Secure Scrum. “Tôi khá ngạc nhiên khi có những lập trình viên tuy chưa có kinh nghiệm, nhưng đã có thể tránh được các lỗ hổng bảo mật nghiêm trọng nhất,” Hof cho biết.

Hof và Pohl dự định sẽ tiếp tục nghiên cứu của họ về tính hiệu quả của Secure Scrum bằng cách tiến hành thực nghiệm với một công ty phát triển phần mềm. Nếu công ty của bạn có hứng thú tham gia, thì có thể liên lạc với Hof qua email.

Chia sẻ bài viết ngay

Nguồn bài viết : http://news.zing.vn/