개발자에 대한 최선의 보안 방법Adobe AIR 1.0 이상 웹 기술을 사용하여 AIR 응용 프로그램을 작성하는 경우에도 개발자는 브라우저 보안 샌드박스 내에서 작업하고 있지 않음을 인식해야 합니다. 즉, 로컬 시스템에 의도적으로 또는 예기치 않게 손상을 줄 수 있는 AIR 응용 프로그램을 작성할 수 있습니다. AIR은 이러한 위험을 최소화하려고 하지만 취약성이 발생할 수 있는 경우가 여전히 존재합니다. 이 항목에서는 중요한 잠재적 보안 문제를 다룹니다. 파일을 응용 프로그램 보안 샌드박스로 가져올 위험응용 프로그램 디렉토리에 있는 파일은 응용 프로그램 샌드박스에 할당되고 런타임의 전체 권한을 가집니다. 로컬 파일 시스템에 쓰는 응용 프로그램은 app-storage:/에 쓰는 것이 좋습니다. 이 디렉토리는 사용자 컴퓨터에 있는 응용 프로그램 파일과 별개로 존재하므로 파일이 응용 프로그램 샌드박스에 할당되지 않고 다소 약화된 보안 위험을 제공합니다. 개발자는 다음 사항을 고려하는 것이 좋습니다.
외부 소스를 사용하여 경로를 결정할 위험AIR 응용 프로그램은 외부 데이터 또는 내용을 사용할 때 손상될 수 있습니다. 따라서 네트워크 또는 파일 시스템의 데이터를 사용할 때 특별한 주의를 기울여야 합니다. 신뢰의 책임은 전적으로 개발자 및 개발자가 만드는 네트워크 연결에 있지만 외부 데이터를 로드하는 것은 본질적으로 위험하므로 중요한 작업에 대한 입력에는 사용하지 않습니다. 개발자는 다음 작업은 수행하지 않는 것이 좋습니다.
안전하지 않은 자격 증명을 사용, 저장 또는 전송할 위험사용자의 로컬 파일 시스템에 사용자 자격 증명을 저장하면 본질적으로 이러한 자격 증명이 손상될 수 있는 위험이 발생합니다. 개발자는 다음 사항을 고려하는 것이 좋습니다.
다운그레이드 공격 위험응용 프로그램을 설치하는 동안 런타임은 응용 프로그램 버전이 현재 설치되어 있지 않은지 확인합니다. 응용 프로그램이 이미 설치되어 있으면 런타임은 설치 중인 버전에 대해 버전 문자열을 비교합니다. 이 문자열이 다른 경우 사용자는 설치를 업그레이드하도록 선택할 수 있습니다. 런타임은 새로 설치된 버전이 기존 버전보다 새 버전임을 보장하지 않고 단지 두 버전이 서로 다른지 여부만 확인합니다. 공격자는 사용자에게 이전 버전을 배포하여 보안 약점을 피할 수 있습니다. 따라서 개발자는 응용 프로그램이 실행될 때 버전 감지를 수행하는 것이 좋습니다. 응용 프로그램이 네트워크에서 필수 업데이트를 검사하도록 지정하는 것이 좋습니다. 그렇게 하면 공격자로 인해 사용자가 기존 버전을 실행하게 된 경우에도 해당 기존 버전은 업데이트해야 함을 인식합니다. 또한 응용 프로그램에 대해 분명한 버전 지정 스킴을 사용하면 사용자에게 다운그레이드된 버전을 설치하도록 속이는 것이 보다 어려워집니다. |
|