Dự án Rust đã phát hành bản cập nhật cho thư viện tiêu chuẩn của mình, sau khi một nhà nghiên cứu lỗ hổng phát hiện ra một chức năng cụ thể được sử dụng để thực thi các tệp bó trên hệ thống Windows có thể bị khai thác bằng cách sử dụng lỗ hổng chèn.
Tập hợp các chức năng phổ biến có trong ngôn ngữ lập trình Rust, được gọi là thư viện tiêu chuẩn, cung cấp khả năng — trong số nhiều khả năng khác — để thực thi các tệp bó Windows thông qua Command API. Tuy nhiên, hàm này không xử lý dữ liệu đầu vào của API đủ nghiêm ngặt để loại bỏ khả năng đưa mã vào quá trình thực thi, theo tư vấn của Nhóm làm việc về phản ứng bảo mật của Rust xuất bản ngày 9 tháng XNUMX.
Yair Mizrahi, nhà nghiên cứu lỗ hổng cấp cao tại công ty bảo mật ứng dụng JFrog, cho biết mặc dù Rust nổi tiếng với các tính năng an toàn bộ nhớ nhưng vụ việc này nhấn mạnh rằng ngôn ngữ lập trình không phải là bằng chứng chống lại các lỗi logic.
Ông nói: “Nhìn chung, tính an toàn trong bộ nhớ của Rust là một lợi thế đáng chú ý, nhưng các nhà phát triển cũng phải hết sức chú ý đến khả năng xảy ra các lỗi logic để đảm bảo tính bảo mật và độ tin cậy tổng thể của các ứng dụng dựa trên Rust của họ”. “Để giải quyết các vấn đề logic như vậy, Rust khuyến khích quy trình kiểm tra và đánh giá mã nghiêm ngặt, cũng như sử dụng các công cụ phân tích tĩnh để xác định và giảm thiểu các lỗi logic.”
Rust đã nổi tiếng là ngôn ngữ lập trình rất an toàn vì nó không để các ứng dụng gặp phải loại lỗi thường nghiêm trọng được gọi là lỗ hổng an toàn bộ nhớ. Google đã quy kết giảm mã không an toàn cho bộ nhớ đến việc chuyển sang các ngôn ngữ an toàn bộ nhớ, chẳng hạn như Rust và Kotlin, trong khi Microsoft nhận thấy rằng cho đến năm 2018, khi họ chuyển sang ngôn ngữ an toàn bộ nhớ, những lỗ hổng như vậy thường xuyên xuất hiện. chiếm 70% tất cả các vấn đề bảo mật.
Windows đặt ra một loạt vấn đề
Vấn đề mới nhất không phải là lỗ hổng an toàn bộ nhớ mà là vấn đề với logic được sử dụng để xử lý dữ liệu đầu vào không đáng tin cậy. Một phần thư viện tiêu chuẩn của Rust cho phép nhà phát triển gọi một hàm để gửi một tập tin batch tới máy Windows để xử lý. Joel Marcey, giám đốc công nghệ tại Rust Foundation, tổ chức hỗ trợ những người duy trì ngôn ngữ lập trình và hệ sinh thái Rust, cho biết có nhiều lý do để gửi mã đến máy chủ dưới dạng tệp bó.
Ông nói: “Các tệp hàng loạt được chạy vì nhiều lý do trên hệ thống và Rust cung cấp API để cho phép bạn thực thi những tệp đó khá dễ dàng”. “Vì vậy, mặc dù đây không hẳn là trường hợp sử dụng phổ biến nhất đối với Rust, nhưng API, trước khi bản vá cố định được triển khai, đã cho phép các tác nhân độc hại về mặt lý thuyết chiếm quyền kiểm soát hệ thống của bạn bằng cách chạy các lệnh tùy ý và đây chắc chắn là một lỗ hổng nghiêm trọng.”
Thông thường, nhà phát triển có thể chuyển tiếp khối lượng công việc đến máy chủ Windows để thực thi dưới dạng quy trình hàng loạt thông qua giao diện lập trình ứng dụng lệnh (API), một phần của thư viện chuẩn. Thông thường, Rust đảm bảo sự an toàn cho bất kỳ lệnh gọi nào tới Command API, nhưng trong trường hợp này, Rust Project không thể tìm ra cách ngăn chặn việc thực thi tất cả các đối số, chủ yếu là do Windows không tuân thủ bất kỳ loại tiêu chuẩn nào và rằng API có thể cho phép kẻ tấn công gửi mã để thực thi mã sau đó.
Theo Rust Security Response WG, “Thật không may, có thông tin cho rằng logic thoát của chúng tôi không đủ kỹ lưỡng và có thể vượt qua các đối số độc hại dẫn đến việc thực thi shell tùy ý”.
Dự án Rust chứng tỏ khả năng đáp ứng
Các chuyên gia cho biết, mặc dù việc xử lý bất kỳ lỗ hổng nào có thể là một vấn đề đau đầu, nhưng Rust Project đã cho thấy rằng nhóm này giải quyết vấn đề nhanh chóng. Lỗ hổng thư viện tiêu chuẩn, CVE-2024-24576, cuối cùng là sự cố xảy ra với sự cố xử lý hàng loạt của Windows và ảnh hưởng đến các ngôn ngữ lập trình khác nếu chúng không phân tích đầy đủ các đối số được gửi đến quy trình hàng loạt của Windows. Mizrahi của JFrog cho biết: Dự án Rust dường như là dự án đầu tiên đưa ra bản sửa lỗi để chuyển các đối số sang quy trình Windows CMD.exe.
Rust Project cho biết các nhóm không thể loại bỏ hoàn toàn vấn đề, nhưng Command API sẽ không trả về lỗi khi bất kỳ phần bổ sung nào được chuyển đến chức năng có thể không an toàn.
Mizrahi của JFrog kêu gọi Rust mở rộng việc sử dụng thử nghiệm bảo mật ứng dụng tĩnh và mở rộng việc sử dụng thử nghiệm làm mờ và thử nghiệm động.
Ông nói: “Nhìn chung, Rust đang đi đúng hướng bằng cách nhấn mạnh đến sự an toàn của bộ nhớ và khuyến khích thực hành kiểm tra nghiêm ngặt”. “Kết hợp những nỗ lực này với những tiến bộ liên tục trong phân tích tĩnh và làm mờ có thể giúp cộng đồng Rust và ngành công nghiệp phần mềm nói chung đạt được những bước tiến đáng kể trong việc giải quyết các lỗi logic và lỗi xác thực đầu vào trong những năm tới.”
- Phân phối nội dung và PR được hỗ trợ bởi SEO. Được khuếch đại ngay hôm nay.
- PlatoData.Network Vertical Generative Ai. Trao quyền cho chính mình. Truy cập Tại đây.
- PlatoAiStream. Thông minh Web3. Kiến thức khuếch đại. Truy cập Tại đây.
- Trung tâmESG. Than đá, công nghệ sạch, Năng lượng, Môi trường Hệ mặt trời, Quản lý chất thải. Truy cập Tại đây.
- PlatoSức khỏe. Tình báo thử nghiệm lâm sàng và công nghệ sinh học. Truy cập Tại đây.
- nguồn: https://www.darkreading.com/application-security/critical-rust-flaw-poses-exploit-threat-in-specific-windows-use-cases
- : có
- :là
- :không phải
- $ LÊN
- 2018
- 7
- 9
- a
- có khả năng
- Theo
- diễn viên
- địa chỉ
- giải quyết
- đầy đủ
- tham gia
- tiến bộ
- Lợi thế
- Sau
- chống lại
- Tất cả
- cho phép
- cho phép
- cho phép
- Ngoài ra
- trong số
- an
- phân tích
- và
- bất kì
- api
- xuất hiện
- Các Ứng Dụng
- bảo mật ứng dụng
- các ứng dụng
- Tháng Tư
- tùy ý
- LÀ
- đối số
- AS
- At
- kẻ tấn công
- sự chú ý
- gia tăng
- BE
- bởi vì
- trước
- được
- nới rộng
- rộng hơn
- lỗi
- nhưng
- by
- cuộc gọi
- CAN
- khả năng
- trường hợp
- trường hợp
- tốt nghiệp lớp XNUMX
- Đóng
- mã
- Đánh giá mã
- kết hợp
- Đến
- lệnh
- Chung
- cộng đồng
- hoàn toàn
- tiếp tục
- có thể
- quan trọng
- xử lý
- chắc chắn
- Nhà phát triển
- phát triển
- ĐÃ LÀM
- Giám đốc
- phát hiện
- do
- làm
- Cửa
- Rơi
- năng động
- dễ dàng
- hệ sinh thái
- những nỗ lực
- loại bỏ
- nhấn mạnh
- khuyến khích
- khuyến khích
- đủ
- đảm bảo
- lôi
- thi hành
- Thực thi
- thực hiện
- Mở rộng
- các chuyên gia
- Khai thác
- khai thác
- khá
- Tính năng
- Tập tin
- Các tập tin
- Tìm kiếm
- Công ty
- Tên
- Sửa chữa
- cố định
- lỗ hổng
- sai sót
- Trong
- Forward
- tìm thấy
- Nền tảng
- chức năng
- chức năng
- đạt được
- Nhóm
- Các nhóm
- bảo đảm
- he
- giúp đỡ
- chủ nhà
- Tuy nhiên
- HTML
- HTTPS
- xác định
- if
- thực hiện
- in
- sự cố
- bao gồm
- ngành công nghiệp
- đầu vào
- đầu vào
- Giao thức
- trong
- vấn đề
- Ban hành
- các vấn đề
- IT
- ITS
- joel
- jpg
- nổi tiếng
- Ngôn ngữ
- Ngôn ngữ
- mới nhất
- Rời bỏ
- Thư viện
- logic
- hợp lý
- máy
- làm cho
- độc hại
- nhiều
- Bộ nhớ
- microsoft
- Giảm nhẹ
- hầu hết
- phải
- nhất thiết
- Nổi bật
- of
- Cung cấp
- on
- mở
- Nền tảng khác
- vfoXNUMXfipXNUMXhfpiXNUMXufhpiXNUMXuf
- ra
- kết thúc
- tổng thể
- một phần
- vượt qua
- thông qua
- Đi qua
- Vá
- Trả
- plato
- Thông tin dữ liệu Plato
- PlatoDữ liệu
- đặt ra
- khả năng
- có thể
- tiềm năng
- thực hành
- ngăn chặn
- chủ yếu
- Vấn đề
- quá trình
- xử lý
- Lập trình
- ngôn ngữ lập trình
- dự án
- bằng chứng
- chứng minh
- cung cấp
- công bố
- Mau
- lý do
- thường xuyên
- độ tin cậy
- Báo cáo
- danh tiếng
- nhà nghiên cứu
- giải quyết
- phản ứng
- đáp ứng
- kết quả
- trở lại
- xem xét
- ngay
- nghiêm ngặt
- chạy
- chạy
- Rust
- s
- Sự An Toàn
- Nói
- nói
- nói
- an toàn
- an ninh
- gửi
- cao cấp
- gởi
- định
- Shell
- thay đổi
- thay đổi
- thể hiện
- có ý nghĩa
- So
- Phần mềm
- riêng
- Tiêu chuẩn
- tĩnh
- sải bước
- trình
- trình
- như vậy
- Hỗ trợ
- hệ thống
- hệ thống
- Hãy
- Công nghệ
- Kiểm tra
- việc này
- Sản phẩm
- cung cấp their dịch
- sau đó
- Đó
- Kia là
- họ
- điều này
- triệt để
- những
- mối đe dọa
- Thông qua
- đến
- công cụ
- theo dõi
- thường
- Cuối cùng
- gạch
- không may
- cho đến khi
- Cập nhật
- thúc giục
- sử dụng
- ca sử dụng
- đã sử dụng
- sử dụng
- xác nhận
- rất
- Lỗ hổng
- dễ bị tổn thương
- là
- Đường..
- TỐT
- khi nào
- cái nào
- trong khi
- sẽ
- cửa sổ
- với
- đang làm việc
- Tổ công tác
- sẽ
- năm
- Bạn
- trên màn hình
- zephyrnet