Trong nền kinh tế ứng dụng hiện nay, chúng ta đang chứng kiến nhu cầu ngày càng tăng cao đối với phát triển phần mềm. Phần mềm và ứng dụng đã trở thành một phần quan trọng trong hoạt động của doanh nghiệp, nơi việc trễ hạn dẫn đến mất doanh thu và chức năng kém có thể dẫn đến mất khách hàng. Ngày càng nhiều doanh nghiệp đang áp dụng DevOps để đáp ứng nhu cầu về tốc độ, kết nối các nhóm phát triển và vận hành trước đây vốn tách biệt.
Đồng thời, những tin tức liên tục về phần mềm dễ bị tổn thương và các vụ vi phạm dữ liệu liên quan đến ứng dụng đang củng cố vai trò của DevSecOps, phương pháp tích hợp bảo mật vào quá trình phát triển và thử nghiệm phần mềm để đạt được kết quả nhanh hơn, chất lượng tốt hơn và an toàn hơn.
Theo truyền thống, việc đảm bảo mã nguồn hoạt động là nhiệm vụ của nhà phát triển. Thực tiễn này được củng cố bởi sự phân chia trước đây giữa các nhóm phát triển, vận hành và bảo mật – miễn là ứng dụng được bàn giao đúng hạn và hoạt động tốt, thì công việc của họ đã hoàn thành. Sau đó, nhóm bảo mật sẽ đảm bảo tính an toàn và nhóm vận hành sẽ duy trì hoạt động.
Tuy nhiên, sự chuyển đổi sang DevOps đã khiến các nhà phát triển hiện phải đóng vai trò tích cực hơn trong việc đảm bảo cả chất lượng và bảo mật cho mã nguồn của họ. Điều này tạo ra những thách thức mới cho các nhà phát triển, những người trước đây chỉ coi bảo mật mã nguồn là vấn đề thứ yếu.
Những thiếu sót của giáo dục chính quy
Sự chuyển đổi sang DevOps – và ngày càng nhiều hơn là DevSecOps – đã cho thấy giáo dục chính quy hiện nay dành cho các chuyên gia CNTT và phát triển phần mềm chưa phát triển phù hợp với thực tiễn doanh nghiệp. Một cuộc khảo sát gần đây, [được Veracode và DevOps.com ủy thác](https://info.veracode.com/analyst-report-devsecops-global-skill-survey.htmlMột nghiên cứu cho thấy, trong khi 65% chuyên gia DevOps khẳng định kiến thức về DevOps rất quan trọng khi bước chân vào lĩnh vực CNTT, thì ba phần tư số người được hỏi lại cho biết họ không nhận được sự đào tạo cần thiết trong quá trình học tập chính quy để có thể thành công trong DevSecOps.
Nhiều khóa học khoa học máy tính tại các trường đại học hiện nay không cung cấp được hướng dẫn thực tiễn về cách giảm thiểu các lỗ hổng bảo mật trong mã nguồn – một yếu tố quan trọng trong vai trò của nhà phát triển DevSecOps mới. Mặc dù gần 80% số người được hỏi có bằng cử nhân hoặc thạc sĩ, nhưng 70% cho biết chương trình giáo dục về bảo mật của họ không đáp ứng được yêu cầu của vị trí hiện tại.
Trong khi vẫn còn câu hỏi liệu các trường đại học có nên đưa thêm kiến thức thực hành vào các khóa học của mình, cũng như tập trung vào lý thuyết như hiện nay hay không, thì trong ngắn hạn, cần một giải pháp khác.
Cho đến khi chúng ta thấy giáo dục chính quy chú trọng hơn vào việc dạy các nhà phát triển và kỹ sư phần mềm cách xây dựng mã nguồn an toàn hơn, thì việc nâng cao kỹ năng cho các nhà phát triển trong việc xác định và giảm thiểu mã nguồn dễ bị tổn thương sẽ phụ thuộc vào chính các tổ chức áp dụng DevOps.
Nâng cao kỹ năng cho đội ngũ phát triển
Kinh nghiệm cá nhân của tôi trong việc quản lý các đội ngũ phát triển để giải quyết khoảng cách về kỹ năng bảo mật cho thấy không có giải pháp nhanh chóng nào. Bên cạnh bất kỳ yêu cầu đào tạo kỹ thuật nào, các nhà quản lý đội ngũ phát triển hiểu rằng việc ưu tiên bảo mật trong văn hóa hiện tại có lẽ là trở ngại lớn nhất.
Vậy, các nhà quản lý đội ngũ phát triển có thể làm gì để nâng cao kỹ năng lập trình viên về bảo mật mã nguồn và tránh phản ứng tiêu cực về văn hóa? Dưới đây là ba phương pháp mà tôi thấy hiệu quả nhất.
Đào tạo bên thứ ba
Cho dù là trong lớp học hay thông qua eLearning, đào tạo bên thứ ba được một phần ba số người được khảo sát xác định là cách hiệu quả nhất để có được các kỹ năng mới. Thật không may, chỉ có bốn phần trăm số người được khảo sát có cơ hội này.
Đào tạo trong lớp học chắc chắn là tốn kém, vì vậy nhiều tổ chức lựa chọn eLearning, nhưng điều quan trọng là những tổ chức đầu tư vào hình thức này cần có quy trình đảm bảo lợi tức đầu tư (ROI) tối thiểu.
Đối với các kỹ năng quan trọng như lập trình an toàn, các tổ chức nên đưa ra các khóa học bắt buộc cho nhân viên mới để thiết lập khả năng tối thiểu cho toàn đội. Việc đặt ra các mục tiêu hàng năm cũng sẽ đảm bảo mọi người tham gia các khóa học nhất định.
Tích hợp quét tĩnh vào quy trình DevOps
Cách tốt nhất để đảm bảo các nhà phát triển tạo ra mã an toàn trong quá trình làm việc là cung cấp cho họ phản hồi liên tục về những gì họ đang viết – giống như dấu gạch chân màu đỏ của Microsoft Word đã giúp chúng ta tránh lỗi chính tả trong hơn một thập kỷ qua.
Việc tích hợp quét tĩnh vào quy trình DevOps có thể cung cấp phản hồi liên tục đó để đảm bảo các nhà phát triển có thể khắc phục các lỗ hổng mã ngay trong quá trình làm việc, thay vì tạo ra các báo cáo bảo mật dài dòng sau khi hoàn thành việc phát hiện các lỗ hổng mà họ phải quay lại và giải quyết. Điều này không chỉ giúp các nhà phát triển phát hiện lỗi và sửa chữa chúng ngay trong quá trình làm việc, mà còn giúp tránh việc bất kỳ người quản lý phát triển nào phải quyết định xem có nên bỏ lỡ thời hạn hay phát hành một ứng dụng hoặc bản cập nhật không an toàn.
Tạo ra những người tiên phong về bảo mật
Không phải mọi nhà phát triển đều cần phải là chuyên gia bảo mật. Tuy nhiên, họ cần có người có kiến thức về bảo mật và hiểu rõ cách thức làm việc của các nhà phát triển. Một nhóm nhỏ các chuyên gia bảo mật có thể tận dụng kỹ năng của họ bằng cách đào tạo một số nhà phát triển về các nguyên tắc cơ bản của việc lập trình an toàn, tạo ra những người tiên phong về bảo mật để nâng cao nhận thức về bảo mật cho toàn bộ nhóm.
Trong mô hình này, nhóm sẽ tìm đến chuyên gia bảo mật của họ để được tư vấn thường xuyên về thiết kế và lập trình an toàn. Chuyên gia bảo mật có thể giúp đảm bảo các nhóm Scrum ưu tiên bảo mật trong vòng đời phát triển phần mềm (SDLC), cũng như hỗ trợ giải quyết các vấn đề bảo mật đặc biệt khó khăn. Chuyên gia bảo mật đảm bảo rằng không có lỗ hổng nào không được khắc phục do thiếu kỹ năng, và các nhà phát triển nhận được lời khuyên về bảo mật từ những người đồng nghiệp hiểu rõ vấn đề và thông cảm với những thách thức của họ.
Đã đến lúc hành động
Khi ngày càng nhiều tổ chức áp dụng các phương pháp DevOps và DevSecOps, các quy trình bảo mật truyền thống sẽ bị coi là không còn phù hợp. Không thể phủ nhận rằng với mối đe dọa từ tội phạm mạng khai thác các ứng dụng và phần mềm dễ bị tổn thương, các tổ chức cần phải hành động ngay bây giờ để nâng cao kỹ năng cho các nhà phát triển của mình nhằm đáp ứng các yêu cầu mới do sự thay đổi trong thực tiễn phát triển này đặt ra. Cho dù họ áp dụng phương pháp nâng cao kỹ năng bảo mật nào, thì nhu cầu này là không thể phủ nhận.
Tác giả: Maria Loughlin