집 폭탄으로부터 컴퓨터를 안전하게 지키는 방법

작업이 마무리되고, 먼지가 완전히 제거된 후에도, 새로운 유형의 압축 파일 공격이 보안 연구자들을 계속해서 긴장하게 만들고 있습니다.

클릭 한 번으로 압축이 해제되는 무해해 보이는 작은 수 킬로바이트의 zip 파일이 순식간에 시스템을 마비시키는 페타바이트 혹은 엑사바이트 단위의 부하를 발생시킨다고 상상해 보세요.

이것이 바로 ‘zip 폭탄’, 또는 ‘압축 해제 폭탄’이라고 불리는 위험한 공격 방식입니다.

zip 폭탄이란 무엇일까요?

zip 폭탄은 여러 겹으로 중첩된 레이어나 단일 레이어로 이루어진 압축 파일로, 압축을 풀면 일반적인 컴퓨터가 감당할 수 없을 정도로 엄청난 양의 저장 공간을 필요로 합니다.

이 공격의 핵심은 악성 코드가 시스템에 침투하는 동안, zip 파일의 압축 해제 또는 검사 과정에서 CPU와 백신 프로그램에 과부하를 유발하는 데 있습니다.

하지만 대부분의 백신 소프트웨어는 zip 파일 압축을 해제하지 않고도 내용을 미리 볼 수 있으며, 여러 압축 레이어를 감지하면 zip 폭탄으로 분류하여 검사를 중단합니다.

대표적인 예로, 압축된 크기가 42kb인 ‘.42.zip’ 파일이 있습니다. 이 파일은 6개의 압축 레이어를 가지고 있으며, 처음 5개 레이어에는 각각 16개의 파일이, 마지막 레이어에는 4.3GB의 파일이 들어 있습니다.

그러나 이 파일을 완전히 압축 해제하면 총 4.5PB의 저장 공간이 필요합니다.

참고로, 1PB는 1,000,000GB, 즉 1,000TB에 해당합니다.

일반적으로 개인 노트북의 저장 공간은 512GB, 즉 0.5TB 정도이며, 외장 하드 드라이브도 1TB를 넘지 않는 경우가 많습니다. 따라서 대부분의 개인용 컴퓨터는 ‘.42.zip’ 파일을 재귀적으로 열려고 할 때 시스템이 멈출 수 있습니다. 흥미롭게도, 이 파일은 인터넷에서 쉽게 다운로드할 수 있다는 점입니다 (물론, 책임은 사용자에게 있습니다).

하지만 대부분의 zip 폭탄 자체는 아무런 해를 끼치지 않습니다. 다만, 악성 목적을 달성하기 위해 이러한 zip 파일과 함께 재귀적 압축 해제 스크립트가 동반될 수 있습니다.

zip 폭탄의 다양한 유형

다른 악성코드와 마찬가지로 zip 폭탄도 다양한 형태와 방식으로 진화하고 있습니다.

#1. 재귀적 zip 폭탄

이 유형의 폭탄은 단일 zip 파일 내부에 여러 겹의 압축 레이어를 포함하고 있습니다. 앞에서 언급한 ’42.zip’ 파일이 대표적인 재귀적 zip 폭탄입니다.

특히 재귀적 zip 폭탄 중에서도 ‘zip 퀸’이라는 특수한 유형이 있습니다. 이 파일은 압축 해제 작업을 할 때마다 자신의 내용을 복사하여 무수히 많은 중첩 레이어를 생성합니다. 이론적으로는 어떤 컴퓨팅 자원을 사용하든 ‘zip 퀸’을 완전히 압축 해제하는 것은 불가능합니다.

하지만 재귀적 zip 폭탄은 비교적 오래된 공격 방식이며, 최신 백신 프로그램들은 파일 구조를 분석하여 이러한 유형의 공격을 처리하지 않도록 훈련되어 있습니다.

#2. 비재귀적 zip 폭탄

비재귀 아카이브의 개발자인 데이비드 피필드(David Fifield)는 이를 ‘더욱 진화된 zip 폭탄’이라고 칭합니다.

과거의 공격 방식과는 달리 여러 번의 압축 해제 과정을 거치지 않고, 한 번에 모든 내용을 압축 해제합니다. 이는 zip 파일에서 일반적으로 볼 수 있는 압축률보다 훨씬 높은 압축률을 통해 가능합니다.

일반적으로 zip 파일이 달성할 수 있는 최대 압축률은 표준 크기보다 1032배 작은 파일을 만드는 것입니다 (DEFLATE 압축 알고리즘 활용). 그러나 데이비드 피필드는 비재귀 zip 폭탄이 단 한 번의 압축 해제 과정에서 2800만 배 이상(1kb➡26.7GB)의 저장 공간을 요구하도록 만드는 기술을 개발했습니다.

결과적으로, 이러한 비재귀적 폭탄은 탐지하기 어렵고 더 큰 위험을 초래합니다.

zip 폭탄의 작동 원리

앞서 언급했듯이, zip 폭탄은 압축을 풀지 않는 한 안전합니다. 따라서 다운로드한 모든 zip 파일을 자동으로 압축 해제하는 프로그램이 있을 때만 위험에 노출될 수 있습니다.

또한, 구형 백신 프로그램은 파일 구조를 제대로 확인하지 못해 최근에 다운로드한 zip 폭탄을 검사하는 데 과도한 시간을 소모할 수 있으며, 그 결과로 대상 시스템이 멈출 수 있습니다.

특히 재귀적 zip 폭탄은 백신 프로그램이 쉽게 탐지할 수 없는 깊은 레이어 내부에 악성코드를 숨길 수 있습니다.

하지만 이는 재귀적 zip 폭탄에 한정된 이야기입니다.

대부분의 최신 백신 소프트웨어는 비재귀적 zip 폭탄을 제대로 탐지하지 못하고, 이러한 유형의 폭탄은 단 한 번의 압축 해제만으로 시스템 자원을 직접적으로 손상시킬 수 있습니다.

zip 폭탄으로부터 안전하게 보호하는 방법

zip 폭탄으로부터 안전을 유지하는 가장 좋은 방법은 인터넷을 안전하게 이용하는 습관을 갖는 것입니다. 무엇보다도, 신뢰할 수 없는 웹사이트에서 파일을 다운로드하지 않아야 합니다. 특히, 브라우저가 위험을 감지하고 경고하는 경우에는 더욱 주의해야 합니다.

스팸 메일도 마찬가지로 위험합니다. 출처가 확실하지 않은 경우 첨부 파일을 열지 마십시오. Gmail과 같은 이메일 제공업체에서 첨부 파일에 대한 경고 메시지를 표시하는 경우, 파일을 열기 전에 출처를 반드시 확인해야 합니다.

첨부 파일의 이름과 관련된 정보를 구글과 같은 검색 엔진에 입력해 보면, 해당 파일이 zip 폭탄과 관련이 있는지 여부를 확인할 수 있습니다. 대부분의 zip 폭탄은 이미 문서화되어 있으며, 동일한 파일 이름을 검색했을 때 관련 정보를 얻을 수 있습니다.

다음은 안전한 인터넷 사용을 위한 추가적인 방법들을 정리한 목록입니다.

백신 프로그램

악성코드가 더욱 교묘해지는 시대에, 성능 좋은 백신 프로그램은 필수입니다. 무료 백신 프로그램도 있지만, 대부분 사용자를 유료 제품으로 유도하려는 경향이 있습니다.

또한 백신 프로그램은 컴퓨터를 켤 때마다 자동으로 실행되므로, 프리미엄 백신 프로그램에 투자하는 것이 좋습니다. 유료 백신 프로그램은 고급 방화벽, 시스템 최적화 도구, VPN, 암호 관리자 등과 같은 다양한 도구를 제공하여 궁극적인 사이버 보안을 보장합니다.

만약 무료 백신 프로그램을 사용하고 싶다면, PC용 무료 백신 프로그램 목록을 참고하시기 바랍니다.

보안 교육

백신 프로그램은 악성 컴퓨터 프로그램으로부터 사용자를 보호할 수 있지만, 사회 공학적 공격에는 무력할 수 있습니다.

사회 공학 공격은 사용자를 속여 zip 파일이 악성 파일이 아니라고 믿게 만든 다음, zip 폭탄을 다운로드하고 압축을 해제하도록 유도하는 방식입니다. 일부 사용자들은 이러한 함정에 속아 시스템에 악성코드를 설치하게 됩니다.

이후 피해자는 스파이웨어, 랜섬웨어, 피싱 등 사이버 범죄자들이 개인 정보를 탈취하거나 금전적인 피해를 입히려는 다양한 위협에 직면할 수 있습니다.

이러한 위협으로부터 자신을 보호하는 가장 좋은 방법은 보안 교육을 통해 사기 수법을 인지하고, 이를 다른 사람들과 공유하는 것입니다.

마무리

zip 폭탄은 전체 하드 디스크 공간을 차지하고 시스템을 멈추게 할 수 있는, 자원 고갈 공격의 일종입니다.

정확히 악성코드는 아니기 때문에 (특히 비재귀적) zip 폭탄을 항상 식별하기는 쉽지 않습니다. 이러한 이유로, zip 폭탄으로부터 스스로를 보호하는 가장 좋은 방법은 예방입니다.

인터넷을 안전하게 이용하고, 성능 좋은 백신 프로그램을 사용하고, 사회 공학적 공격에 속지 않도록 주의하면, zip 폭탄의 위협으로부터 자신을 보호할 수 있습니다.

추신: 저희 koreantech.org 보안 섹션에서는 개인 및 비즈니스 보안과 관련된 흥미로운 정보를 정기적으로 업데이트하고 있습니다. 이 섹션을 즐겨찾기에 추가하고, 시간이 날 때마다 관련된 정보를 읽어보시기를 권장합니다.