Chrome은 PDF 파일이라도 다운로드하려고 할 때 '이 유형의 파일은 컴퓨터에 해를 끼칠 수 있습니다'라고 경고하는 경우가 많습니다. 그러나 PDF 파일이 어떻게 그렇게 위험 할 수 있습니까? PDF가 단순히 텍스트와 이미지가있는 문서가 아닙니까?
Adobe Reader와 같은 PDF 리더는 수년 동안 많은 보안 취약점의 원인이었습니다. PDF 파일은 단순한 문서가 아니라 스크립트, 포함 된 미디어 및 기타 의심스러운 내용을 포함 할 수 있기 때문입니다.
PDF는 단순한 문서가 아닙니다
PDF 파일 형식은 실제로 매우 복잡합니다. 예상대로 텍스트와 이미지뿐만 아니라 많은 것을 포함 할 수 있습니다. PDF는 과거에 많은 보안 허점을 열었던 틀림없는 많은 기능을 지원합니다.
- 자바 스크립트 : PDF에는 브라우저의 웹 페이지에서 사용하는 것과 동일한 언어 인 JavaScript 코드가 포함될 수 있습니다. PDF는 동적 일 수 있으며 PDF의 내용을 수정하거나 PDF 뷰어의 기능을 조작하는 코드를 실행할 수 있습니다. 역사적으로 Adobe Reader를 악용하기 위해 JavaScript 코드를 사용하는 PDF로 인해 많은 취약점이 발생했습니다. Adobe Reader의 JavaScript 구현에는 Adobe 고유의 JavaScript API도 포함되어 있으며 그중 일부는 안전하지 않고 악용되었습니다.
- 임베디드 플래시 : PDF에는 포함 된 Flash 콘텐츠가 포함될 수 있습니다. Flash의 모든 취약점은 Adobe Reader를 손상시키는 데 사용될 수도 있습니다. 2012 년 4 월 10 일까지 Adobe Reader에는 번들로 제공되는 Flash Player가 포함되었습니다. 기본 Flash Player에서 수정 된 보안 결함은 몇 주가 지나야 Adobe Reader의 번들 Flash Player에서 수정되지 않았기 때문에 악용을위한 보안 허점이 크게 열렸습니다. Adobe Reader는 이제 내부 플레이어가 아닌 시스템에 설치된 Flash Player를 사용합니다.
- 실행 조치 : PDF 파일은 확인 창을 띄운 후 모든 명령을 실행할 수 있습니다. 이전 버전의 Adobe Reader에서 PDF 파일은 사용자가 확인을 클릭하는 한 위험한 명령을 실행하려고 할 수 있습니다. Adobe Reader에는 이제 PDF 파일이 실행 파일을 시작하지 못하도록 제한하는 블랙리스트가 포함되어 있습니다.
- 각 그림 : PDF 파일에는 암호화 할 수있는 임베디드 PDF 파일이 포함될 수 있습니다. 사용자가 기본 PDF 파일을로드하면 포함 된 PDF 파일을 즉시로드 할 수 있습니다. 이를 통해 공격자는 다른 PDF 파일 내부에 악성 PDF 파일을 숨길 수 있으며 숨겨진 PDF 파일을 검사하지 못하도록 바이러스 백신 스캐너를 속일 수 있습니다.
- 임베디드 미디어 컨트롤 : Flash 외에도 PDF에는 역사적으로 Windows Media Player, RealPlayer 및 QuickTime 미디어가 포함될 수 있습니다. 이렇게하면 PDF가 이러한 내장형 멀티미디어 플레이어 컨트롤의 취약점을 악용 할 수 있습니다.
PDF 파일 형식에는 PDF 내부에 파일을 포함하고 3D 그래픽을 사용하는 기능을 포함하여 공격 표면을 증가시키는 더 많은 기능이 있습니다.
PDF 보안이 향상되었습니다
이제 Adobe Reader 및 PDF 파일이 많은 보안 취약점의 원인이 된 이유를 이해해야합니다. PDF 파일은 단순한 문서처럼 보일 수 있지만 속지 마십시오. 표면 아래에서 훨씬 더 많은 일이 진행될 수 있습니다.
좋은 소식은 PDF 보안이 향상되었다는 것입니다. Adobe는 Adobe Reader X에 "보호 모드"라는 샌드 박스를 추가했습니다. 이렇게하면 전체 운영 체제가 아닌 컴퓨터의 특정 부분에만 액세스 할 수있는 제한된 잠금 환경에서 PDF가 실행됩니다. Chrome의 샌드 박싱이 컴퓨터의 나머지 부분에서 웹 페이지 프로세스를 분리하는 방식과 유사합니다. 이것은 공격자에게 훨씬 더 많은 작업을 생성합니다. PDF 뷰어에서 보안 취약점을 찾을 필요가 없습니다. 보안 취약점을 찾은 다음 샌드 박스에서 두 번째 보안 취약점을 사용하여 샌드 박스를 벗어나 컴퓨터의 나머지 부분을 손상시켜야합니다. 이것이 불가능한 것은 아니지만, 샌드 박스가 도입 된 이후 Adobe Reader에서 훨씬 적은 수의 보안 취약점이 발견되고 악용되었습니다.
일반적으로 모든 PDF 기능을 지원하지는 않는 타사 PDF 리더를 사용할 수도 있습니다. 이것은 PDF에 의심스러운 기능이 너무 많이 포함 된 세상에서 축복이 될 수 있습니다. Chrome에는 샌드 박스를 사용하는 통합 PDF 뷰어가 있으며 Firefox에는 완전히 JavaScript로 작성된 자체 통합 PDF 뷰어가 있으므로 일반 웹 페이지와 동일한 보안 환경에서 실행됩니다.
PDF가 이러한 모든 작업을 실제로 수행 할 수 있어야하는지 궁금 할 수 있지만 PDF 보안은 적어도 향상되었습니다. Java 플러그인에 대해 말할 수있는 것 이상입니다. 끔찍하다 현재 웹의 주요 공격 벡터입니다. Chrome은 Java 플러그인도 설치되어있는 경우 Java 콘텐츠를 실행하기 전에 경고를 표시합니다.