Microsoft, 차세대 Windows 11 드라이버 개선 사항 자세히 공개

Microsoft, 차세대 Windows 11 드라이버 개선 사항 자세히 공개

Windows 드라이버 개발에 Rust를 통합한 Microsoft

2023년 중반부터 마이크로소프트는 Rust를 윈도우 운영 체제에 통합하는 데 주력해 왔습니다.이 계획은 Rust가 윈도우 커널에 성공적으로 통합되면서 시작되었으며, 현재는 드라이버 개발자들이 이 혁신적인 프로그래밍 언어를 채택하도록 장려하는 방향으로 발전했습니다.

오픈소스 windows-drivers-rs프로젝트 시작

7월, 마이크로소프트는 서피스 팀이 Rust를 사용하여 윈도우 드라이버 개발을 간소화하기 위해 개발한 오픈소스 windows-drivers-rs프로젝트를 공개했습니다.이 프레임워크는 Rust로 드라이버를 개발하는 효율성을 높이고 C와 같은 기존 언어에 대한 더욱 현대적인 대안을 제공하도록 설계되었습니다.

cargo-wdk크레이트 소개

최근 Microsoft는 이 이니셔티브의 개선 사항, 특히 크레이트 출시를 발표했습니다 cargo-wdk.이 새로운 Cargo 확장 기능은 미리 구성된 빌드 단계, 종속성 및 링크가 포함된 빈 드라이버 프로젝트를 생성하여 드라이버 생성 프로세스를 간소화합니다.또한 InfVerif와 같은 Windows Driver Kit(WDK) 도구를 활용하여 Visual Studio에서 C 언어로 드라이버를 빌드하는 것과 동일한 경험을 제공합니다.

Rust 사용의 장점

Rust는 뛰어난 메모리 안전성 기능을 제공한다는 점에서 C와 같은 기존 프로그래밍 언어와 차별화됩니다.이러한 특징은 메모리 관련 보안 취약점의 위험을 크게 줄여줍니다.또한, Rust는 C 및 C++ 드라이버 코드와의 뛰어난 호환성을 자랑하여 개발자의 전환을 더욱 간편하게 만들어 줍니다.

미래 목표 및 개발

Microsoft의 장기적인 비전은 Cargo 생태계 내 Rust 개발자에게 Visual Studio에서 제공하는 것과 동일한 빌드 도구와 구성 옵션을 제공하는 것입니다.중기적으로는 Windows Driver Kit 자동 설치, NT_TARGET_VERSION 지원, 그리고 ARM64와의 완벽한 호환성을 비롯한 다양한 기능 향상을 목표로 합니다.

드라이버 개발에 있어서 Rust의 현재 상태

현재 이 windows-drivers-rs프레임워크는 Rust에서 특정 드라이버 유형을 지원하지만, 여전히 상당한 양의 안전하지 않은 코드를 필요로 합니다. Microsoft는 커널 모드 드라이버(KMD)와 사용자 모드 드라이버(UMD) 모두에 대해 더욱 안전한 추상화를 개발하기 위해 Rust 전문가들과 적극적으로 협력하고 있습니다.또한 여러 팀이 핵심 커널 기능과 타사 드라이버 개발 모두에 적합한 안전한 구조체와 API를 개발하고 있으며, 이러한 혁신 중 일부는 이미 Windows 커널에 통합되어 있습니다.

드라이버 개발의 추상화 이해

이 용어에 익숙하지 않은 분들을 위해 설명드리자면, 이 맥락에서 추상화는 사용자 모드와 커널 모드 간의 안전한 전환 과정을 의미합니다.커널 모드는 가장 높은 권한 수준에서 작동하는 반면, 사용자 모드는 가장 낮은 권한 계층에서 작동하며, 이는 안전하고 효율적인 전환의 중요성을 강조합니다.

다음 단계 및 모범 사례

앞으로 Microsoft는 정적 분석을 위한 CodeQL 사용을 포함하여 드라이버 개발에 대한 추가적인 통찰력과 모범 사례를 제공할 계획입니다.특히, Microsoft는 7월에 Windows 11 버전 25H2 출시에 맞춰 타사 드라이버 정적 분석에 대한 지침을 업데이트했습니다.

이러한 개발에 대해 자세히 알아보려면 Microsoft 공식 기술 커뮤니티 웹사이트에서 전체 블로그 게시물을 확인하세요.

출처 및 이미지

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다