Qt의 보안
Qt의 보안은 Qt Group과 Qt Project가 구축하고 유지 관리하는 인프라에 기반을 두고 있습니다. 이 인프라에는 개발, 테스트 및 빌드 환경이 포함됩니다. 예를 들어, 확립된 코드 검토 프로세스, 정적 분석기 및 퍼징 도구를 활용한 테스트 프로세스, 타사 구성 요소 테스트, 그리고 각 릴리스에 대한 추가적인 안티바이러스 테스트가 있습니다. 또한 Qt에는 보안 취약점을 처리하기 위한 확립된 프로세스가 마련되어 있습니다.
Qt를 사용하는 애플리케이션이나 장치의 보안은 애플리케이션 개발자, Qt 프레임워크 제공자인 Qt 그룹 및 Qt 프로젝트, 그리고 운영자나 장치 제조업체가 공동으로 책임집니다. 각 주체의 의무와 책임 범위에 대한 개요는 Qt 공유 보안 모델을 참조하십시오.
Qt 프로젝트 보안 정책
Qt 프로젝트는 QUIP 15에서 보안 정책을 명시하고 있습니다. 보안 정책의 요약은 다음과 같습니다.
- Qt Core 보안 팀은 보안 정책을 시행하고 문제를 해결합니다.
- 보안 문제를 예방하기 위한 선제적 조치 — 코드 검토, 코드 분석, 퍼즈 테스트 등.
- 보안 문제 보고: Qt Core 팀은 Qt 모듈 및 영향을 받는 타사 구성 요소의 보안 문제를 모니터링합니다.
- 보안 문제 처리: 유지보수자, 핵심 보안 팀, 수석 유지보수자 및 Qt 그룹이 보안 문제를 공유하고 처리합니다.
- 확인된 보안 문제는 Common Vulnerabilities and Exposures(CVE) 데이터베이스에 공개되며, Qt announce@qt-project.org 메일링 리스트를 통해 공지됩니다.
Qt 프로젝트 메일링 리스트 정보 페이지를 방문하여 메일링 리스트를 구독할 수 있습니다.
보안 문제 신고
오픈 소스 Qt의 취약점은 security@qt-project.org으로 보고해 주십시오. Qt Group 상용 제품의 경우 psirt@qt.io으로 문의할 수도 있습니다.
Qt Group의 ‘조정된 취약점 공개 정책(Coordinated Vulnerability Disclosure Policy )’에는 이용 가능한 신고 채널, 책임감 있게 취약점을 공개한 연구자에 대한 Qt Group 및 Qt Project의 약속, 그리고 대응 및 공개 일정이 명시되어 있습니다.
Qt는 현재 버그 바운티 프로그램을 운영하고 있지 않습니다.
Qt 취약점
기술 전문가가 Qt 제품 중 하나에서 보안 문제를 확인하면, CVE(Common Vulnerabilities and Exposures) 항목이 생성됩니다. CVE는 ID와 설명으로 구성되며, 시간이 지남에 따라 추가 메타데이터가 보완됩니다.
Qt 제품의 경우, The Qt Company가 책임 있는 CVE 번호 부여 기관(CNA)으로서 CVE 생성 과정을 관리하고 있습니다. 이 회사는 ‘Qt 제품의 알려진 취약점 목록’에 새로운 CVE를 등재할 뿐만 아니라, 중앙 CVE 데이터베이스에도 정보를 제공합니다.
취약점의 영향을 받는 제품을 고유하게 식별하기 위해, CVE에는 공통 플랫폼 열거 (CPE) 형식의 항목이 포함됩니다. Qt 프레임워크의 문제의 경우, 해당 CPE의 공급업체 및 제품 부분은 qt:qt 입니다. 예를 들어, Qt 6.12.0에 영향을 미치는 가상의 CVE는 다음과 같은 CPE를 갖게 됩니다:
cpe:2.3:a:qt:qt:6.12.0:*:*:*:*:*:*:*소프트웨어 부품 명세서(SBOM)
Qt 6.8부터 Qt 설치 패키지에는 설치된 Qt 모듈, 패키지 및 타사 구성 요소에 대한 정보가 SPDX 형식으로 포함된 소프트웨어 부품 명세서(SBOM) 문서가 포함됩니다. Qt 6.11부터는 SBOM 문서를 CycloneDX 형식으로도 이용할 수 있습니다. 취약점 관리 및 라이선스 준수를 위해 Qt 설치 패키지를 추적할 때 이 두 형식 중 하나를 사용하여 문서를 활용하십시오.
신뢰할 수 없는 데이터
여러 Qt 모듈은 사용자 입력 및 실행 가능 리소스와 같은 데이터를 처리합니다. Qt는 애플리케이션 개발자가 신뢰할 수 없는 데이터를 적절히 처리할 것을 기대합니다. 애플리케이션이 처리를 수행하기 전에 Qt API가 신뢰할 수 없는 데이터를 가져와 처리하는 경우, Qt는 해당 API를 보안상 중요한 것으로 간주합니다. 보안상 중요한 API는 개발 과정에서 추가적인 검토와 테스트를 거칩니다.
일반적으로 가능한 경우 출처를 알 수 없는 처리되지 않은 데이터는 피하고, 데이터를 다룰 때는 안전 절차를 수행해야 합니다. Qt는 사용자 입력에 대한 유효성 검사기 등 데이터 처리를 위한 여러 메커니즘을 제공합니다.
자세한 내용은 ‘신뢰할 수 없는 데이터 처리’를 참조하십시오.
개발자 도구
Qt 프레임워크에는 Qt 애플리케이션을 빌드하는 동안 빌드 머신에서 실행되는 개발자 도구(예: moc(Meta-Object Compiler ), rcc(Resource Compiler ), 다양한 코드 및 자산 생성기 등)가 포함되어 있습니다. 이러한 도구는 처리하는 프로젝트를 신뢰할 수 있는 입력으로 간주하며, 보안 경계를 형성하지 않습니다. 따라서 신뢰할 수 없는 프로젝트를 빌드하면 빌드 머신에서 코드가 실행될 수 있습니다.
자세한 내용은 ‘Qt 개발자 도구를 안전하게 사용하는 방법’을 참조하십시오.
권한
Qt 6.5에서는 권한을 처리하기 위한 크로스 플랫폼 권한 API가 도입되었습니다. 이 권한 API는 연락처 목록, 캘린더, 카메라, 마이크와 같은 사용자 관련 개인 데이터 및 하드웨어를 다루기 위한 것입니다.
자세한 내용은 애플리케이션 권한을 참조하십시오.
확장된 보안 유지 관리
당사는 귀사의 제품 수명 주기가 특정 Qt 릴리스에 대한 당사의 일반적인 지원 기간보다 길 수 있음을 인지하고 있습니다. 이제 당사는 지원 종료(EoS) 버전의 Qt를 사용하는 고객을 위한 유지보수 서비스를 제공합니다.
확장 보안 유지보수(ESM) 구독 서비스를 이용하면, 지원 종료(EoS) 이후에도 선별된 장기 지원(LTS) 릴리스에 대한 Qt 라이브러리와 관련된 중대한 취약점 및 보안(CVS) 유지보수 패치를 이용할 수 있습니다.
ESM 서비스는 다음 버전에 대해 이용 가능합니다:
| 버전 | ESM 적용 시작일 |
|---|---|
| Qt 5.15 LTS | 2025-05-26 |
| Qt 6.5 LTS | 2026년 3월 30일 |
자세한 내용은 Qt 지원을 참조하십시오.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.