압축 EXE 파일이 Linux 서버에 무해합니까?


49

내 사이트에서 악성 코드 스캐너를 실행했으며 압축 된 EXE 파일을 잠재적 인 위험 파일 (사용자가 업로드 한 파일)로 표시했습니다. Mac에서 파일을 압축 해제 할 수 있기 때문에이 파일은 이름이 바뀐 PHP 파일이 아니라 실제 ZIP 파일이라고 가정합니다.

따라서 ZIP 파일은 웹 서버에 아무런 위험이 없어야합니다.


1
가비지 맬웨어 스캐너처럼 들립니다.
Nick T

11
당신은 그들이 ZIP 형식 file foo.zip인지 테스트 할 수도 있고 , 7z t foo.zip테스트하기에 유효한지 테스트 할 수도 있습니다 (즉, 디스크의 로컬 파일로 추출하지 않고 CRC 체크섬을 압축 해제하고 확인하십시오). ( 7z와 다소 유사한 구문을 사용합니다 tar.) 또는 unzip -l foo.zip내용을 나열합니다. 어쨌든, 서버에서 쉽게 확인할 수있을 때 다른 컴퓨터에서 파일을 확인하는 것에 대해 이야기하는 것이 이상하다고 생각했습니다.
Peter Cordes

6
어떤 종류의 웹 사이트를 호스팅하고 있습니까? 사용자가 제출 한 콘텐츠와 앞으로 향하는 웹 서버를 같은 상자에 넣는 것은 좋은 생각이 아닙니다.
oldmud0

@NickT 자동 압축 풀기 ZIP 파일에는 실행 가능한 부분에 추가 악성 코드가 첨부 될 수 있습니다.
chrylis

답변:


85

실제로 Windows exe 파일이 압축되어 있으면 해당 파일을 실행하려고 할 때 Wine과 같은 것이 없으면 Linux 시스템에 아무런 영향을 미치지 않습니다.

그러나 이들이 웹 경로에 있다면 악성 코드 일 수 있으며 웹 사이트 방문자 에게 위험을 초래할 수 있습니다 (그리고 결국 악성 코드 소스로 표시되고 사용자가 웹 사이트를 방문 할 때 추악한 경고를 받게되면 대지).


3
이러한 '사용자'업로드 쓰레기를 호스팅하면 Google이 귀하의 사이트를 '이 사이트가 해킹되었을 수 있습니다'로 브랜딩하거나 Chrome에 빨간색 경고 페이지가 표시되는지 궁금합니다. "무해한"은 약간 잘못된 이름 일 수 있습니다.
Nick T

11
@ NickT : 가장 확실하게 할 수 있으며, 그것은 두 번째 단락에서 언급 한 것입니다.
Sven

4
이론적으로 누군가는 .zip특정 압축 해제 구현에서 결함을 대상으로하는 조작 된 파일을 만들 수도 있습니다 .
jamesdlin

3
Mono는 Wine보다 서버에 설치 될 가능성이 높으며 CLR .exe 파일을 실행할 수 있습니다.
Rhymoid

62

내 Mac에서 파일을 압축 해제 할 수 있기 때문에 파일 이름이 변경된 PHP 파일이 아니라 실제 zip 파일이라고 가정합니다.

당신이있는 동안 아마 이 경우 권리, 당신의 가정은 항상 유지되지 않을 수 있습니다. ZIP 아카이브 는 임의의 데이터를 앞에 추가해도 유효 하므로 무고한 데이터와 악의적 인 PHP 스크립트를 포함하는 유효한 ZIP 아카이브 인 파일을 생성 할 수 있습니다. 특히 어렵지는 않습니다. PHP 코드와 ZIP 파일을 연결하고 PHP __halt_compiler()가 추가 된 ZIP 아카이브 데이터를 구문 분석하지 않도록하십시오 (예 : 사용 ).

이 방법은 자동 압축 풀기 ZIP 파일을 생성하는 데 합법적으로 사용되지만 다른 숨겨진 데이터 나 실행 코드를 ZIP 파일에 동일한 방식으로 추가 할 수 있습니다. 일부 프로그램은 수정 된 ZIP 파일 열기를 거부 할 수 있지만 (기술적으로 ZIP 형식 사양을 위반하는 경우) 기본적으로 ZIP 파일 이외의 파일로 식별 할 수 있지만 일반적으로 ZIP 파일이 필요한 코드로 파일을 저장하는 경우 하나로 허용 될 수 있습니다.

이러한 트릭을보다 악의적으로 사용하는 것은 ZIP 기반 컨테이너 (예 : JAR 파일)의 익스플로잇 코드를 무해한 것으로 위장 하는 것입니다 ( GIFAR 익스플로잇 에서와 같이 GIF 이미지와 같이 ). 예를 들어 PHP 스크립트 업로드를 금지하지만 ZIP 파일을 허용하는 순진한 파일 업로드 필터를 무시하고 업로드 된 파일이 동시에 있는지 여부를 확인하지 않고 다른 방향으로도 사용됩니다.


GIFAR의 경우 +1이며 실제로이 익스플로잇의 특정 예에 대해 알고 싶습니다.
caesay

11

고려해야 할 최소한 두 가지 고려해야 할 사항이 있습니다.

  1. 이러한 파일이 웹 사이트에 배포 된 경우 다른 사람이 귀하의 사이트에서 맬웨어를 얻는 경우 책임을 져야 할 수 있습니다. 최소한 귀하의 사이트는 악성 코드로 신고 될 수 있습니다. 맬웨어 스캐너 경고를 무시하기로 결정한 경우, 인터넷에서 다운로드 한 EXE 파일이 때때로 유해하기 때문에 파일이 유해 할 수 있음을 업 로더와 가능한 다운로더에게 알려야합니다.
  2. 멀웨어 검사 이외의 파일에서 처리합니까? 첨부 파일 또는 기타 업로드의 자동 처리는 파일 내용이 무엇이든 될 수 있기 때문에 항상 위험 할 수 있습니다. 유틸리티 소프트웨어가 일부 악용에 취약하고 멋진 zip / exe에 유틸리티를 대상으로하는 유해한 콘텐츠가 포함되어 있으면 EXE 파일을 실행할 필요조차 없습니다. 서버에서 멀웨어 검사에 실패한 항목을 처리하지 못하게합니다.

따라서 서버의 기능에 따라 파일이 서버 나 다른 사용자에게 해로울 있습니다. 인터넷에서 다운로드 한 EXE에 대해서는 매우 조심 스러우므로 가능한 다운로더가 여기에서 가장 위험한 사용자라고 말합니다.


2

Linux 서버에서 파일을 실행할 수 있는지 file FILENAME.exe명령 으로 간단히 확인하여 파일을 확인할 수 있습니다 . Elf 바이너리 (리눅스에서 사용되는 실행 파일 형식) .exe는 의심없이 Linux 관리자를 혼동하기 위해 확장명 으로 명명 될 수 있으므로 이러한 파일을 실행할 수 없다는 것을 맹목적으로 신뢰하기 전에 확인하는 것이 좋습니다.


2

어떤 데이터도 (버기) 프로그램에 해로울 수 있다고 언급 한 사람이 아무도 없습니다. 이것이 퍼지의 기초입니다. 예를 들어 JPEG 디코더 (또는 특정 JPEG)에서 버퍼 오버플로를 유발하는 JPEG (또는 JPEG와 같은) 파일이 있으면 서비스 거부에서 임의 코드 실행에 이르는 모든 문제가 발생할 수 있습니다. 이것은 기존의 데이터 처리 프로그램을 파괴하는 것입니다. 새로운 실행 파일을 가져올 필요가 없습니다! 그리고 이것이 샌드 박싱, 입력 소독 및 최소 권한 원칙이 필요한 이유입니다.

따라서 귀하의 경우 ZIP 파일로 인해 (특정?) ZIP 디코딩 엔진에 문제가 발생할 수 있습니다. ZIP 파일에 유해한 기본 실행 파일이 포함되어 있지 않아도됩니다.

그러나 스캐너가 더 거칠고 다른 수준에서 작동하고 있습니다. 내가 말하는 종류의 위험이 해당 파일에 존재하면 처리 한 순간에 이미 맞았습니다. :).


1

Mac에서 파일을 압축 해제 할 수 있기 때문에이 파일은 이름이 바뀐 PHP 파일이 아니라 실제 ZIP 파일이라고 가정합니다.

데이터를 포함하고 파일을 여전히 유효한 것으로 표시하는 공격이있었습니다. 잘못 구성된 서버 또는 잘못 코딩 된 앱에서는 서버에서 코드가 실행될 수 있습니다.

따라서 조심하십시오.



-6

압축이 풀린 .exe는 Linux 서버에도 무해합니다.


23
반드시 .exe그런 것은 아닙니다. 파일 이름의 일부일 뿐이며 ELF 바이너리의 이름으로 선택 될 수도 있습니다.
Sven

또한 WINE이 설치되었을 수 있습니다. 물론 대부분의 Windows 대상 맬웨어는 WINE에서 제대로 작동하지 않지만 위험이 있습니다. 기껏해야 Linux에서 압축이 풀린 .exe는 대부분 무해합니다.
Ray

@Ray 구성에 따라 다릅니다. 어떤 이유로 Mono 또는 Wine이 설치되어 있으면 binfmt_misc 가 .exe가 실제로 실행되도록 구성 될 수 있습니다.
Rhymoid
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.