RAR

Alexander Roshal이 만든 무손실 압축 포맷. RAR이라는 이름은 Roshal ARchive에서 유래했다.

RAR 포맷에는 LZSSPPMd에 기반한 압축 알고리즘이 사용된다.

1993년에 처음 공개되었다. 당시 DOS에서 사용되던 ARJ나 PKZIP 등의 압축 프로그램들은 커맨드 라인으로 명령어를 직접 쳐넣는 형식이 주류였으나, RAR이라는 이름으로 공개된 이 압축포맷과 압축 프로그램은 자체 셸을 제공하여 메뉴를 통해서 파일을 압축하거나 압축을 풀 수 있는 편의성을 제공했다. 물론 기존과 같은 커맨드 라인 형식도 가능.

기존 포맷들보다 압축율이 좋았던데다 편리한 분할압축 기능과, 파일이 깨져도 어느 정도 복구할 수 있는 리커버리 레코드 기능 등 많은 장점 덕분에 인기를 끌어 순식간에 보급되었다. 특히 그때까지 가장 분할압축 기능에 특화되어 많이 사용되었던 ARJ는 순식간에 밀려나는 신세로... 커맨드 라인 파라미터도 ARJ와 비슷해 갈아타기 쉬웠다.

윈도우가 보급되면서 WinRAR로 이름을 바꾸어 나오고 있으나, 기타 다른 OS로는 여전히 RAR의 이름으로 나오고 있다. 당시 대부분의 압축 프로그램들이 윈도우 지원을 등한시하던 시기에 발빠르게 WinRAR를 내놓았던 것도 점유율을 높이는 데 한몫.

2012년 현재 RAR과 비슷한 특징을 지니는 7zip 포맷이 보급되고 있지만 워낙 오랫동안 사용되어 온 데다가 7z이 오류 정정에 매우 약하기 때문에 여전히 대용량 파일을 압축하는 데 있어서는 표준에 가까울 정도로 많이 이용되고 있다.

트위터에 RAR 파일이 보안에 취약하며, 압축을 풀 때 자동으로 악성 소프트웨어가 설치될 수 있어 위험하다는 일정 부분은 사실인 루머가 있었다. 다른 압축 파일 포맷에는 없는 RAR 포맷의 잘 알려지지 않은 부분 중 하나로, RAR 파일은 데이터 압축을 로우 레벨에서 제어할 수 있는 x86과 상당히 비슷한 rarvm이라고 하는 가상 머신을 지원한다. 2012년에 rarvm 분석 블로그 글이 올라오고 WinRAR에 포함된 rarvm에서 임의의 코드를 실행할 수 있는 취약점이 발견되자, WinRAR에서 rarvm의 지원을 중단하는 것으로 끝났다. RAR 파일 형식에만 있는 상당히 강력한 기능을 악용하는 공격이기 때문에, 단순히 압축 파일 내부를 수정해서 압축 소프트웨어가 오작동하게 만드는 것과는 다른 종료의 문제이다.

rarvm을 제외하더라도 과거에는 압축 해제 프로그램에서 이상값에 대해 제대로 처리하지 못했던 적이 있었다. 2005년에 나온 시만텍 백신의 RAR 관련 취약점 링크를 참고하자. 요컨대, 압축 파일 내부 검사 도중 백신이 해킹의 입구가 되어버린 사연. (영문) [1] 이런 유형의 문제점은 여타 압축파일을 푸는 라이브러리나 모듈 속에도 언제나 숨어있다. ZIP 파일이라고 이런 취약점에서 100% 안전한 것은 아니다. 소프트웨어 업데이트 잘 해주고, 바이러스 백신 꼭 돌릴 수 있도록 하자.

또한 autorun.inf(CD나 이동식 디스크 등의 자동 실행 파일)가 RAR 파일에 포함된 경우, 압축을 풀 때 자동으로 실행되기 때문에 위험하다는 이야기도 있으나 이는 사실이 아니다. 아마도 EXE 실행 파일로 나오는, SFX (스스로 압축이 풀리는 압축 파일) 파일에 바이러스가 감염된 경우를 오해한 경우가 아닐까 싶다. 감염된 파일을 받지 않도록 주의하고, 가능한 압축 파일을 따로 받아 안전한 압축 해제 프로그램을 사용해서 풀자.

더 자세한 사항은 WinRAR 항목을 참고할 것.