digi2936
05-09-2019, 10:44 PM
phần nhiều hoc lap trinh web (https://mindx.edu.vn/blog/post/ung-dung-python) những vấn đề bảo mật đều can dự tới các lỗi lập trình. Dù vấn đề đấy tác động đến các cấu phần của hệ điều hành, ứng dụng client/server, áp dụng web hay những đoạn mã nhúng trong trang bị phần cứng, thì những lỗ hổng bảo mật nức danh đều liên quan đến lỗi lập trình.
dù rằng những lập trình viên luôn muốn lớn mạnh ứng dụng không sở hữu lỗi nhưng họ thường ưu tiên để ý tới các chức năng hấp dẫn của áp dụng, hoàn tất Công trình đúng tiến độ để kịp đưa sản phẩm ra thị phần hay những trắc trở khác hơn so mang việc đảm bảo sự an toàn, bảo mật của áp dụng. Mặt khác, do tính phức tạp của những hệ thống khoa học, việc đảm bảo vận dụng không với lỗi bảo mật là hết sức cạnh tranh, ngay cả với các lập trình viên cao cấp.
Liệu mang thể khắc phục vấn đề bằng cách dùng những bản vá lỗi? Đầy đủ công ty lớn nhỏ không thể theo kịp tốc độ xuất hiện chóng mặt của những bản vá. Hãy giả thử phần lớn Internet và các dịch vụ xung yếu của nó chỉ bao gồm 100 ứng dụng chính. Và mỗi vận dụng đó chỉ sở hữu khoảng 100 lỗ hổng bảo mật thì chúng ta đã mang 10 ngàn lỗ hổng sở hữu thể bị tin tặc lợi dụng.
Trên thực tiễn số lỗ hổng còn lớn hơn nhiều. Lập trình viên bảo mật nức tiếng Wietse Venema ước lượng rằng với khoảng 1 lỗi bảo mật trong 1000 dòng lệnh mà ông viết. Mang những hệ điều hành như Linux hay Windows – những sản phẩm bao gồm hàng trăm triệu dòng lệnh – thì số lỗi bảo mật mang thể lên đến hàng trăm nghìn. Theo Báo cáo của CERT, người ta đã phát hiện được khoảng 5000 lỗi bảo mật trong năm 2003. Mang tốc độ ấy, cần phải mất 20 năm để phát hiện hết các lỗi bảo mật của một hệ quản lý. Việc khắc phục các lỗi ấy còn mất phổ quát thời gian hơn và theo Nhìn vào thì khoảng 10-15% những bản vá bảo mật lại sinh ra lỗ hổng mới! Việc áp các bản vá đấy – ngay cả khi những người quản trị hệ thống ko làm việc gì khác – sẽ ko bao giờ giúp chúng ta sở hữu được 1 cơ sở Internet an toàn. Vì vậy, dù việc vá lỗi rất quan yếu, nhưng việc khiến thế nào để giảm bớt những lỗi bảo mật trong phần mềm còn quan yếu hơn.
làm thế nào để giảm bớt số lỗi bảo mật trong phần mềm? Một sai lầm rộng rãi của hồ hết người – từ lập trình viên cho tới cán bộ điều hành – là chạy theo những lỗ hổng. Ý kiến của họ là “hãy đưa tôi danh sách những lỗi bảo mật cần giảm thiểu, tôi sẽ đảm bảo chúng ko xuất hiện trong phiên bản tiếp theo”.
Phát hiện lỗ hổng bảo mật mới? Hãy thông tin cho các nhóm lập trình để biết và giảm thiểu lỗ hổng ấy. Điều đấy ko sai, nhưng không hề là điều quan yếu nhất. Phần lớn lỗ hổng khác nhau lên đường từ cùng 1 kiểu lỗi trong lập trình. Việc xác định và đảm bảo lập trình viên tuân thủ những nguyên tắc cơ bản trong lập trình bảo mật sẽ mang lại hiệu quả cao hơn số đông so sở hữu việc chạy theo từng lỗ hổng cụ thể.
tương tự như thế, những lỗi bảo mật cần được học lập trình cho trẻ Phân tích, phân dòng để đảm bảo những cố gắng được tụ hội để khắc phục những khó khăn quan trọng nhất. 1 Trong những cách tiếp cận ấy là OWASP Top 10 - danh sách các lỗi bảo mật nghiêm trọng nhất của phần mềm web do Open Web Application Security Project lập. Danh sách này được công bố lần đầu năm 2010 và cập nhật năm 2013.
OWASP Top 10 khá nổi danh và được nhiều công ty sử dụng: Microsoft tiêu dùng để Phân tích độ bao phủ của trật tự lớn mạnh an toàn và khả năng tăng độ an toàn bảo mật mà việc áp dụng quy trình đem đến, NSA cũng tiêu dùng nó trong tài liệu hướng dẫn lập trình web an toàn của tổ chức này, PCI Council thì tận dụng để hình thành nên một phần của tiêu chuẩn PCI DSS. Nhưng liệu cách tiếp cận trong khoảng trên xuống sở hữu giúp khắc phục hết các vấn đề của lập trình an toàn bảo mật? Ví như lỗ hổng bảo mật không nằm trong mã nguồn của vận dụng nhưng mà xuất hiện trong các thư viện do bên thứ ba cung cấp hay trong hệ quản lý thì phải khiến thế nào?
Trong trường hợp này, việc phát tán thông báo về lỗ hổng cho từng hàng ngũ lập trình/từng lập trình viên đơn lẻ ko mang ý nghĩa gì đa dạng. Bí quyết tốt nhất là phân công một nhóm hay một cán bộ chuyên trách theo dõi danh sách các lỗ hổng, xác định phương án khắc phục (có thể là cập nhật bản vá lỗi, phiên bản mới, đổi thay cấu hình khai triển hay phát triển bổ sung 1 biện pháp thay thế, vòng tránh) trước lúc gửi phương án đó cho các hàng ngũ vững mạnh. Rõ ràng ở đây việc làm rõ thứ tự và chuyên môn hoá sẽ với hiệu quả hơn phổ thông so với bí quyết làm cho “sai đâu sửa đó”.
XEm thêm =>> https://mindx.edu.vn/blog/post/ung-dung-python
thực tiễn ở đa số các công ty vững mạnh phần mềm cho thấy, các tài liệu về lỗi bảo mật trong phần mềm hay các hướng dẫn công nghệ để giảm thiểu lỗi tuy rất rộng rãi nhưng ko giúp ích phổ thông trong việc nâng cao chất lượng phần mềm giả dụ ko vận dụng thứ tự giám sát, rà soát. Các tổ chức phần mềm đều trông thấy rằng, điều chính yếu để tạo ra bắt buộc bảo mật cho phần mềm là phải khai triển những thứ tự sở hữu thể lặp lại, đảm bảo chất lượng đồng đều và đo kiểm được. Từ ấy, các nhà cung cấp phần mềm tuần tự chuyển sang ứng dụng các thứ tự nghiêm ngặt, tập trung nâng cao độ an toàn cho sản phẩm. Trật tự đó sẽ nhằm giảm thiểu số lỗ hổng bảo mật trong giai đoạn ngoại hình, lập trình và tài liệu, phát hiện và gỡ bỏ những lỗ hổng trong quá trình lớn mạnh càng sớm càng thấp.
Chuyá»n há»c táºp & là m viá»c á» MindX
dù rằng những lập trình viên luôn muốn lớn mạnh ứng dụng không sở hữu lỗi nhưng họ thường ưu tiên để ý tới các chức năng hấp dẫn của áp dụng, hoàn tất Công trình đúng tiến độ để kịp đưa sản phẩm ra thị phần hay những trắc trở khác hơn so mang việc đảm bảo sự an toàn, bảo mật của áp dụng. Mặt khác, do tính phức tạp của những hệ thống khoa học, việc đảm bảo vận dụng không với lỗi bảo mật là hết sức cạnh tranh, ngay cả với các lập trình viên cao cấp.
Liệu mang thể khắc phục vấn đề bằng cách dùng những bản vá lỗi? Đầy đủ công ty lớn nhỏ không thể theo kịp tốc độ xuất hiện chóng mặt của những bản vá. Hãy giả thử phần lớn Internet và các dịch vụ xung yếu của nó chỉ bao gồm 100 ứng dụng chính. Và mỗi vận dụng đó chỉ sở hữu khoảng 100 lỗ hổng bảo mật thì chúng ta đã mang 10 ngàn lỗ hổng sở hữu thể bị tin tặc lợi dụng.
Trên thực tiễn số lỗ hổng còn lớn hơn nhiều. Lập trình viên bảo mật nức tiếng Wietse Venema ước lượng rằng với khoảng 1 lỗi bảo mật trong 1000 dòng lệnh mà ông viết. Mang những hệ điều hành như Linux hay Windows – những sản phẩm bao gồm hàng trăm triệu dòng lệnh – thì số lỗi bảo mật mang thể lên đến hàng trăm nghìn. Theo Báo cáo của CERT, người ta đã phát hiện được khoảng 5000 lỗi bảo mật trong năm 2003. Mang tốc độ ấy, cần phải mất 20 năm để phát hiện hết các lỗi bảo mật của một hệ quản lý. Việc khắc phục các lỗi ấy còn mất phổ quát thời gian hơn và theo Nhìn vào thì khoảng 10-15% những bản vá bảo mật lại sinh ra lỗ hổng mới! Việc áp các bản vá đấy – ngay cả khi những người quản trị hệ thống ko làm việc gì khác – sẽ ko bao giờ giúp chúng ta sở hữu được 1 cơ sở Internet an toàn. Vì vậy, dù việc vá lỗi rất quan yếu, nhưng việc khiến thế nào để giảm bớt những lỗi bảo mật trong phần mềm còn quan yếu hơn.
làm thế nào để giảm bớt số lỗi bảo mật trong phần mềm? Một sai lầm rộng rãi của hồ hết người – từ lập trình viên cho tới cán bộ điều hành – là chạy theo những lỗ hổng. Ý kiến của họ là “hãy đưa tôi danh sách những lỗi bảo mật cần giảm thiểu, tôi sẽ đảm bảo chúng ko xuất hiện trong phiên bản tiếp theo”.
Phát hiện lỗ hổng bảo mật mới? Hãy thông tin cho các nhóm lập trình để biết và giảm thiểu lỗ hổng ấy. Điều đấy ko sai, nhưng không hề là điều quan yếu nhất. Phần lớn lỗ hổng khác nhau lên đường từ cùng 1 kiểu lỗi trong lập trình. Việc xác định và đảm bảo lập trình viên tuân thủ những nguyên tắc cơ bản trong lập trình bảo mật sẽ mang lại hiệu quả cao hơn số đông so sở hữu việc chạy theo từng lỗ hổng cụ thể.
tương tự như thế, những lỗi bảo mật cần được học lập trình cho trẻ Phân tích, phân dòng để đảm bảo những cố gắng được tụ hội để khắc phục những khó khăn quan trọng nhất. 1 Trong những cách tiếp cận ấy là OWASP Top 10 - danh sách các lỗi bảo mật nghiêm trọng nhất của phần mềm web do Open Web Application Security Project lập. Danh sách này được công bố lần đầu năm 2010 và cập nhật năm 2013.
OWASP Top 10 khá nổi danh và được nhiều công ty sử dụng: Microsoft tiêu dùng để Phân tích độ bao phủ của trật tự lớn mạnh an toàn và khả năng tăng độ an toàn bảo mật mà việc áp dụng quy trình đem đến, NSA cũng tiêu dùng nó trong tài liệu hướng dẫn lập trình web an toàn của tổ chức này, PCI Council thì tận dụng để hình thành nên một phần của tiêu chuẩn PCI DSS. Nhưng liệu cách tiếp cận trong khoảng trên xuống sở hữu giúp khắc phục hết các vấn đề của lập trình an toàn bảo mật? Ví như lỗ hổng bảo mật không nằm trong mã nguồn của vận dụng nhưng mà xuất hiện trong các thư viện do bên thứ ba cung cấp hay trong hệ quản lý thì phải khiến thế nào?
Trong trường hợp này, việc phát tán thông báo về lỗ hổng cho từng hàng ngũ lập trình/từng lập trình viên đơn lẻ ko mang ý nghĩa gì đa dạng. Bí quyết tốt nhất là phân công một nhóm hay một cán bộ chuyên trách theo dõi danh sách các lỗ hổng, xác định phương án khắc phục (có thể là cập nhật bản vá lỗi, phiên bản mới, đổi thay cấu hình khai triển hay phát triển bổ sung 1 biện pháp thay thế, vòng tránh) trước lúc gửi phương án đó cho các hàng ngũ vững mạnh. Rõ ràng ở đây việc làm rõ thứ tự và chuyên môn hoá sẽ với hiệu quả hơn phổ thông so với bí quyết làm cho “sai đâu sửa đó”.
XEm thêm =>> https://mindx.edu.vn/blog/post/ung-dung-python
thực tiễn ở đa số các công ty vững mạnh phần mềm cho thấy, các tài liệu về lỗi bảo mật trong phần mềm hay các hướng dẫn công nghệ để giảm thiểu lỗi tuy rất rộng rãi nhưng ko giúp ích phổ thông trong việc nâng cao chất lượng phần mềm giả dụ ko vận dụng thứ tự giám sát, rà soát. Các tổ chức phần mềm đều trông thấy rằng, điều chính yếu để tạo ra bắt buộc bảo mật cho phần mềm là phải khai triển những thứ tự sở hữu thể lặp lại, đảm bảo chất lượng đồng đều và đo kiểm được. Từ ấy, các nhà cung cấp phần mềm tuần tự chuyển sang ứng dụng các thứ tự nghiêm ngặt, tập trung nâng cao độ an toàn cho sản phẩm. Trật tự đó sẽ nhằm giảm thiểu số lỗ hổng bảo mật trong giai đoạn ngoại hình, lập trình và tài liệu, phát hiện và gỡ bỏ những lỗ hổng trong quá trình lớn mạnh càng sớm càng thấp.
Chuyá»n há»c táºp & là m viá»c á» MindX