이 페이지에서

Qt Positioning 보안 고려 사항

이 페이지에서는 모듈 사용 시 발생할 수 있는 잠재적인 보안 문제를 다루고, 이를 방지하는 방법을 제안합니다.

플러그인

이 모듈은 런타임에 백엔드를 선택하기 위해 플러그인 시스템을 사용합니다. 이 선택은 플랫폼에 기반하거나 애플리케이션의 명시적인 요청에 따라 이루어질 수 있습니다.

악성 플러그인 로딩 방지

플러그인 시스템은 공격자가 악성 플러그인을 애플리케이션에 로드할 수 있는 기회를 제공합니다. 플러그인은 애플리케이션 프로세스 내에서 실행되는 공유 라이브러리이므로, 애플리케이션의 권한으로 임의의 코드를 실행할 수 있습니다.

Qt 플러그인 문서는 플러그인이 어떻게 위치하고 로드되는지, 그리고 검색 경로에 어떤 요소가 영향을 미치는지에 대한 개요를 제공합니다. 해당 경로를 통해 신뢰할 수 없는 플러그인에 접근할 수 없도록 하는 것은 애플리케이션 개발자의 책임입니다. 애플리케이션을 배포할 때 다음 사항을 확인하십시오:

  • 신뢰할 수 없는 사용자가 Qt 설치 디렉터리와 애플리케이션 디렉터리를 수정할 수 없어야 합니다.
  • 애플리케이션이 ` qt.conf ` 파일을 사용하는 경우, 해당 파일의 내용이 정확해야 하며 신뢰할 수 없는 사용자가 파일을 수정할 수 없어야 합니다.
  • QT_PLUGIN_PATH 와 같은 변수가 플러그인 검색 경로를 확장하므로, 신뢰할 수 없는 주체가 프로세스 환경을 제어할 수 없어야 합니다.

또한 애플리케이션은 시작 시 ` QCoreApplication::setLibraryPaths()`를 호출하여 검색 경로를 명시적으로 설정할 수 있습니다. 이 방식으로 설정된 경로도 신뢰할 수 없는 사용자의 수정으로부터 보호되어야 합니다.

프로덕션 환경에서는 테스트 모드 사용을 피하십시오

자동화된 테스트의 결정성을 유지하기 위해, QT_QTESTLIB_RUNNING 환경 변수가 설정되어 있으면 모듈은 모든 프로덕션 플러그인을 무시합니다. 그 결과, 애플리케이션은 위치 정보나 위성 소스를 사용할 수 없게 됩니다. 프로덕션 환경에서는 이 변수가 설정되어 있지 않은지 확인하십시오.

© 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.