Theo nghiên cứu về ngành an toàn thông tin toàn cầu năm 2017, thì đến năm 2022 sẽ chỉ có khoảng 1,8 triệu chuyên gia an ninh trên thế giới, điều đó sẽ dẫn đến việc khan hiếm trầm trọng nhân lực trong lĩnh vực này.

Đối với đa số những người quan tâm đến ngành an ninh, thì đây có thể là một cơ hội tuyệt vời. Khoảng 87% các chuyên gia bảo mật mạng đã bắt đầu đổi hướng sang ngành khác, với 30% là ngoài ngành CNTT, theo kết quả khảo sát hai năm một lần.

Mặc dù để trở thành một chuyên gia bảo mật chỉ cần tìm hiểu nền tảng và các nguyên tắc bảo mật chung, nhưng những công nghệ cụ thể như các ngôn ngữ lập trình thì tùy thuộc vào mỗi quốc gia cần phải hiểu lại rất khác nhau. Jeff Williams, Founder và CTO của Contrast Security cho biết, có thể rất khó để theo kịp với những thay đổi trong ngành công nghiệp phần mềm, bám theo agile và DevOps.

“Đó là một lĩnh vực khá khó để trở thành chuyên gia, bởi vì có rất nhiều công nghệ khác nhau phát triển liên tục. Vì vậy, bạn cần được đào tạo tốt về các công nghệ mới và áp dụng vào các vấn đề an ninh.” -Jeff Williams

JavaScript là lựa chọn cho newbie

JavaScript là ngôn ngữ lập trình phổ biến nhất, với 62,5% các lập trình viên sử dụng nó, theo khảo sát của Stack Overflow vào năm 2017. Đây là kết quả không gây ngạc nhiên, vì 72% người được khảo sát xác nhận họ làm lập trình web, điểm mạnh của JavaScript.

Sự phổ biến của JavaScript khiến các chuyên gia bảo mật ứng dụng cần phải tập trung vào các framework dựa trên ngôn ngữ này, ông Keith Hoodlet, kỹ sư bảo mật và an ninh của công ty nghiên cứu lỗ hỏng, Bugcrowd. Ông hướng dẫn phương pháp tìm ra lỗ hỏng đối với các thí nghiệm bảo mật ứng dụng trong các đợt tập huấn của mình, ông luôn khuyên họ nên kết hợp Node.js cùng với environment mà họ sử dụng.

“Node.js giúp khắc phục những vấn đề bạn thấy, cùng với sự phục hưng của JavaScript thì Node cũng đang phát triển, mọi thứ đang được xây dựng dựa trên nó”. Teith Hoodlet

Node.js và AngularJS là hai framework hàng đầu được sử dụng bởi các lập trình viên, với hơn 47% và 44% các lập trình viên sử dụng các công nghệ trên, theo kết quả khảo sát của Stack Overflow.

Mặc dù các framework ứng dụng web dựa trên PHP như Laravel và CodveIgniter có được quan tâm đáng kể, tuy nhiên PHP bị JavaScript bỏ quá xa. Vì chỉ có 28% các lập trình viên sử dụng ngôn ngữ này và chỉ có 14.700 công việc trên Indeed.com yêu cầu PHP. Trong khi số vị trí yêu cầu JavaScript được các nhà tuyển dụng chọn nhiều hơn 2,5 lần con số của PHP.

Ruby, ngôn ngữ sử dụng framework Ruby on Rails, thì phổ biến trong một cộng đồng nhỏ các lập trình viên ứng dụng web. Nó được sử dụng bởi ít hơn 10% các lập trình viên, mặc dù Ruby luôn nằm trong top 10 ngôn ngữ lập trình của năm năm qua.

Tập trung vào database và SQL

Mặc dù không phải là ngôn ngữ lập trình, nhưng Structured Query Language, hay còn gọi là SQL – ngôn ngữ phổ biến thứ hai được liệt kê trong cuộc khảo sát Stack Overflow. Khoảng 51% các lập trình viên cho biết họ đã sử dụng nó trong công việc của họ. Đối với các nhà tuyển dụng, SQL là yêu cầu hàng đầu, với hơn 99.000 vị trí.

Williams nói với dù là ngôn ngữ gì, bạn vẫn cần kết nối với cơ sở dữ liệu, vì vậy bạn phải hiểu cách thực hiện các truy vấn.

“Mặc dù có nhiều sự khác nhau giữa các ngôn ngữ, tuy nhiên yếu tố chung là SQL luôn xuất hiện trong tất cả các trường hợp.” -Williams

Các phần mềm nội bộ thì cần tập trung vào Java và C#

Trong các doanh nghiệp, thì Java và C # là các ngôn ngữ từ lâu đã thống trị bởi vì chúng là nền tảng lập trình cho hai framework phổ biến nhất trong lịch sử ứng dụng kinh doanh là: Java Enterprise Edition và. NET Core.

Tuy nhiên, thời thề đã đổi thay. Bây giờ, hai framework Spring MVC và Spring Boot phổ biến nhất trong giới Java. Khoảng 43% và 29% các lập trình viên sử dụng các framework trên, dựa theo báo cáo tổng quan về Java năm 2016.

.NET Core vẫn là lựa chọn phổ biến trong các doanh nghiệp, tuy nhiên. Chỉ có một phần ba các lập trình viên sử dụng framework này, theo cuộc khảo sát của Stack Overflow. Gần 40% các lập trình viên sử dụng Java và 34% sử dụngC #.

Python phù hợp với những công việc hằng ngày

Python, ban đầu là một scripting language, tuy nhiên ngày càng được sử dụng như là một ngôn ngữ hoàn chỉnh và phân tích dữ liệu. Nó cũng thường xuyên được sử dụng để thiết lập tự động hóa việc bảo mật, phần mềm độc hại (malware) và phân tích mật mã. Khoảng 32% các lập trình viên sử dụng ngôn ngữ này thường xuyên, theo cuộc khảo sát của Stack Overflow.

Derek Week, phó chủ tịch và là người ủng hộ DevOps tại Sonatype, nói rằng Python được sử dụng để viết các phần mềm khai thác.

Các ngôn ngữ lập trình “cổ điển” được sử dụng để tạo phần mêm khai thác

Học các ngôn ngữ “cổ điển” hơn như C và C ++ có thể giúp các chuyên gia bảo mật ứng dụng, tạo ra nhiều phần mềm khai thác hơn. Có khoảng 1/5 lập trình viên sử dụng cả hai ngôn ngữ trên, theo cuộc khảo sát Stack Overflow, trong khi C ++ là ngôn ngữ được đề cập nhiều thứ năm trong các công việc, và C là thứ bảy.

Đối với những trường hợp các chuyên gia bảo mật muốn mã hóa trực tiếp cho phần cứng, thì assembly là quan trọng. Chỉ có 5% các lập trình viên sử dụng assembly, nhưng chúng cực kỳ hữu ích để tạo phần mềm khai thác.

Dùng container thay cho máy ảo

Ngoài các framework, các chuyên gia bảo mật ứng dụng nên tìm hiểu về DevOps và cơ sở hạ tầng chung. Đặc biệt, khả năng tạo và triển khai các container có thể rất quan trọng. Mặc dù các máy ảo thường là cách phổ biến nhất để chạy các trường hợp kiểm tra an ninh, nhưng số lượng các chuyên gia bảo mật đang chuyển sang sử dụng các container ngày càng tăng.

Khi Hoodlet của Bugcrowd đào tạo cho các lập trình viên và các chuyên gia an ninh về thínghiệm xâm nhập và tìm lỗ hỏng, thì thường lấy container làm ví dụ.

Làm sao để theo kịp thời đại

Hằng ngày, bảo mật ứng dụng là những điều mà các chuyên gia cần luôn phải rèn luyện. Cũng như các lập trình viên cũng nên tự ép bản thân tìm hiểu các nguyên tắc an ninh, quản lý những cửa ra lối vào ứng dụng của mình.

Hiểu rõ nền tảng phát triển đã chọn và ngôn ngữ có thể là một vấn đề khó. Ngoài ra còn có các vấn đề khác, như việc công nghệ nhanh chóng trở nên lỗi thời.

Để sở hữu các kỹ năng bảo mật thực tiễn, các lập trình viên và các chuyên gia bảo mật nên khai thác kỹ hơn đối với nền tảng phát triển đã chọn. Theo dõi trên YouTube có thể là một ý tưởng hay, đặc biệt nếu bạn follow được các chuyên gia bảo mật nổi tiếng tại đó, những người giúp bạn hiểu hơn về công việc bạn muốn làm.

Bất kỳ framework nào mà bạn chọn và bất kỳ ngôn ngữ nào mà bạn học, thì việc nắm rõ các vấn đề bảo mật rất quan trọng. Tuy nhiên thật không may, hầu hết các công ty hiện nay sẽ không đầu tư cho các lập trình viên hiểu hơn về vấn đề bảo mật.

Trong số 20 triệu lập trình viên trên thế giới, chỉ có khoảng 5.000 người đang được đào tạo về các nguyên tắc và công nghệ bảo mật.

“Hầu hết các công ty chỉ bỏ ra ba ngày để đào tạo về an ninh, bởi vì họ muốn các lập trình viên chỉ chuyên tâm viết code.” – Williams nói

Theo Techtalk via Techbeacon