리눅스 악성 소프트웨어

리눅스 악성 소프트웨어는 리눅스 운영 체제에 영향을 주는 바이러스, 트로이의 목마, 웜 등 여러 종류의 악성 소프트웨어이다. 리눅스, 유닉스 및 여러 유닉스 계열의 컴퓨터 운영 체제들은 일반적으로 공격에 잘 보호된다고 여겨지나, 컴퓨터 바이러스에게서 면역된 것은 아니다. 마이크로소프트 윈도우에서처럼 널리 퍼진 리눅스 악성 소프트웨어는 없다. 이러한 상황은 악성 소프트웨어의 루트 접근 권한 제한, 및 취약점에 대한 빠른 업데이트 때문으로 여겨진다. 유닉스 운영 체제처럼, 리눅스는 사용자가 특정 권한을 부여받는 다중 사용자환경을 사용하고 일부 형태의 접근권한 제어를 사용한다. 리눅스 시스템의 제어 권한을 얻거나, 심각한 영향을 주고싶으면 악성 소프트웨어는 시스템에 대한 루트 접근권한을 얻어야 한다. 과거에는, 낮은 시장점유율로 매력이 없다고 느껴져 리눅스는 악성 소프트웨어가 거의 없다고 여겨졌다. 경험이 풍부한 리눅스 시스템 관리자인 Rick Moen 다음과 같은 상황과 직면한다. [위 주장]은 비 데스크탑환경 즉, 웹서버와 과학 연구분야에서의 워크스테이션에서의 유닉스 시스템의 점유율 우위를 무시하는 것이다. 바이러스/트로이의 목마/웜을 만드는 자들은 극도로 먹이감이 되기 쉽고, 급격시 성장할수도 있지만, 아직 그러지 못한 Apache httpd를 구동하는 리눅스/x86기반의 웹서버들을 성공적으로 공격했다." 리눅스를 공격하는 악성 소프트웨어들이 최근 몇년 새 급격하게 증가했지만, 카스퍼스키 랩의 수석 기술 고문인 Shane Coursen은 "리눅스 악성 소프트웨어의 성장은 단지 점유율의 증가, 특히 데스크탑 운영 체제로서의 성장 때문으로, 운영 체제의 사용은 악성 소프트웨어 개발자의 개발 의욕과 연관되어있다." Security Protocols의 연구원인 Tom Ferris는 카스퍼스키의 보고서에 "사람들은 속으로 비윈도 환경이면 안전하고 악성 소프트웨어는 실제 사례가 아니라고 생각한다. 누구도 리눅스나 맥 OS에서 작동하는 악성 소프트웨어를 만들지 않을 것이라고 생각한다. 하지만 그건 무조건 적인 사실은 아니다" 아래 나열된 바이러스들은 최소한이지만 잠재적인 리눅스 시스템의 위협으로 간주된다. 만약 저 바이러스들이 포함된 바이너리가 실행되면, 시스템은 감염될 것이다. 감염 수위는 바이너리를 실행한 유저의 권한에 따라 달라진다. 루트 계정 아래서 실행된 바이너는 시스템 전체에 영향을 미칠 수 있다. 소프트웨어 저장소(Software Repository)는 관리자가 항상 저장소를 점검하기 때문에 소프트웨어 저장소의 사용은 악성 소프트웨어 설치의 위협을 상당히 줄여준다. 뒤이어 안전한 소프트웨어의 배포를 위해 체크섬이라는 것을 사용할 수 있게 되어있다. 이러한 것들은 중간자 공격을 이용한 상호간 통신 탈취, ARP poisoning이나 DNS poisoning같은 방향 전환 공격에서 침투될 수 있는 악성 소프트웨어를 찾아 낼 수 있다. 디지털 서명의 적절한 사용은 공격자의 범위를 상당히 줄여 추가적은 방어선을 구축해준다. 고전적인 유닉스 계열 시스템에대한 공격은 SSH나 웹서버같은 네트워크 데몬에 대한 취약점을 이용한 공격이다. 이러한 공격은 웜 또는 특정 대상에 대한 공격의 수단으로 이용될 수 있다. 취약점이 발견되었을 때 서버를 빠르게 패치함으로써 이런 종류의 웜의 증식은 거의 없다. 특정 대상 공격은 제로데이 공격과 같은 취약점을 통해 이루어지며, 이러한 것은 누구도 프로그램을 설치하는 것이 안전하다고 보장해 주지 않는다. 또한 취약점이 없는 서버들은 미약한 암호를 통해 공격당할 수 있다. 웹 컨텐츠와 스크립트들이 적절히 제한되거나 검사되지 않으면 리눅스 서버들은 시스템 자체에 공격을 당하지 않고도 서버에 접속하는 사용자를 공격하는 목적으로 악성 소프트웨어들에게 이용될 수 있다. 일반적으로 CGI 스크립트는 착오로 인해 웹서버의 취약점을 이용하는 코드를 포함할 수 있다. 구식 리눅스 배포판들은 버퍼 오버런공격에 예민하다:프로그램이 자체의 버퍼 크기에 제대로 신경쓰지 않는다면, 커널은 제한된 보호수단만 제공하기 때문에 공격자가 공격자가 취약한 응용 프로그램을 공격해 자신이 원하는 코드를 실행할 수 있을 정도로 취약해진다. 루트권한 없이 실행되었더라도 루트 접근권한을 얻은 프로그램(setuid를 통한)은 공격당하기 쉽다. 그러나 2009년에 이르러 대부분의 커널들은 주소 공간 배치 난수화(ASLR)과 향상된 메모리 보호와 언급한 공격들을 더 어렵게 만드는 확장기능들을 포함하고 있다. 이 부분에 대한 우려는 2007년에 크로스플랫폼 응용 프로그램들의 사용 증가로 인해 생긴 바이러스로 인식되었다. 오픈오피스를 감염시키는 Badbunny라는 바이러스로 이러한 위협은 최전방으로 나오게 되었다. 리눅스 운영 체제상에서 구동되는 수많은 안티바이러스 응용 프로그램들이 있으며 대부분은 마이크로소프트 윈도우유저들에게 영향을 미치는 취약점을 찾는다. 이 응용 프로그램들은 윈도 사용자들에게 파일을 전송해 주는 컴퓨터들(일반적으로 서버들)에게 유용하다. 이들은 리눅스에 대한 위협을 감지하지 못한다. Avast! (상용; 프리웨어프리웨어) AVG (상용; 프리웨어) Avira (상용; 프리웨어) BitDefender (상용; 프리웨어) Comodo (상용; 프리웨어) ClamAV (free and open source software) Dr.Web (상용) EScan for Linux (상용) F-Prot (상용; 프리웨어) F-Secure Linux (상용) Kaspersky Linux Security (상용) McAfee VirusScan Enterprise for Linux (상용) Panda Security for Linux (상용) Symantec AntiVirus for Linux (상용) Trend Micro ServerProtect for Linux (상용) 아래 응용 프로그램들은 실제 리눅스 컴퓨터에대한 위협을 찾는다. chkrootkit (무료, 오픈 소스 소프트웨어) ESET (proprietary) ( OS X, 윈도 대상 악성프로그램 또한 감지) rkhunter (무료, 오픈 소스 소프트웨어) Sophos (상용) (윈도 악성프로그램또한 감지) 리눅스 악성프로그램들은 아래와 같은 메모리 감식툴을 통해 감지(또는 분석)할 수 있다. Second Look (상용) Volatility (무료, 오픈 소스 소프트웨어) 다음은 리눅스 악성프로그램으로 알려진 것들의 일부이다. 그러나, 적지만 이 악성프로그램들이 퍼져있다 해도, 리눅스 업데이트로 인해 무용지물이 되었거나, 더 이상 위협이 되지 않는다. 알려진 악성프로그램들은 더 이상 위협이 되지 않는다:새로운 악성프로그램이나 특정 지점에 대한 공격은 알려지지 않은취약점을 사용할 수 있다. Snakso-A - 64-bit Linux webserver 루트킷 Hand of Thief - Banking trojan, 2013, Kaiten - Linux.Backdoor.Kaiten trojan horse Rexob - Linux.Backdoor.Rexob trojan Waterfall screensaver backdoor - on gnome-look.org Tsunami.gen — Backdoor.Linux.Tsunami.gen 42 Arches Alaeda - Virus.Linux.Alaeda Binom - Linux/Binom Bliss - requires root privileges Brundle Bukowski Caveat Coin Diesel - Virus.Linux.Diesel.962 Hasher Kagob a - Virus.Linux.Kagob.a Kagob b - Virus.Linux.Kagob.b Lacrimae (일명 Crimea) MetaPHOR (Simile로 알려짐) Nuxbee - Virus.Linux.Nuxbee.1403 OSF.8759 PiLoT Podloso - Linux.Podloso (아이팟 바이러스) RELx Rike - Virus.Linux.Rike.1627 RST - Virus.Linux.RST.a (2005년 9월애 배포된 한국어 Mozilla Suite 1.7.6 and Thunderbird 1.0.2를 감염시키는 것으로 알려짐) Satyr - Virus.Linux.Satyr.a Staog Vit - Virus.Linux.Vit.4096 Winter - Virus.Linux.Winter.341 Winux (Lindose와 PEElf로 알려짐) Wit virus ZipWorm - Virus.Linux.ZipWorm Adm - Net-Worm.Linux.Adm Adore Bad Bunny - Perl.Badbunny Cheese - Net-Worm.Linux.Cheese Devnull Kork Linux/Lion Linux.Darlloz - 라우터, 셋탑박스, CCTV또는 산업 제어 시스템을 노리는 것으로 알려짐. Linux/Lupper.worm Mighty - Net-Worm.Linux.Mighty Millen - Linux.Millen.Worm Ramen worm - 레드햇 리눅스 배포판 버전 6.2 과 7.0만을 공격함 Slapper SSH Bruteforce 봇넷 컴퓨터 바이러스 웜 랜섬웨어 스파이웨어 트로이 목마 (컴퓨팅) Granneman, Scott (October 2003). “Linux vs. Windows Viruses”. 2008년 3월 6일에 확인함.  Yeargin, Ray (July 2005). “The short life and hard times of a linux virus”. 2012년 2월 27일에 원본 문서에서 보존된 문서. 2008년 6월 24일에 확인함.  “Virus Department”. 2010년 1월 13일에 원본 문서에서 보존된 문서. 2009년 10월 11일에 확인함.  Patrizio, Andy (April 2006). “Linux Malware On The Rise”. 2008년 3월 8일에 확인함.  Comodo Group (2012). “Comodo Antivirus for Linux”. 2012년 10월 17일에 확인함.  “ClamAV”. 2011년 2월 22일에 확인함.  “Dr.Web anti-virus for Linux”. Dashke. 2010년 5월 25일에 확인함.  FRISK Software International (2011). “F-PROT Antivirus for Linux x86 / BSD x86”. 2011년 12월 4일에 원본 문서에서 보존된 문서. 2011년 12월 13일에 확인함.  “Kaspersky Linux Security - Gateway, mail and file server, workstation protection for Linux/FreeBSD”. Kaspersky Lab. 2009년 2월 11일에 확인함.  “McAfee VirusScan Enterprise for Linux”. McAfee. 2012년 12월 27일에 확인함.  “Panda Security Antivirus Protection for Linux”. Panda Security. 2009년 1월 29일에 원본 문서에서 보존된 문서. 2009년 1월 13일에 확인함.  Symantec (January 2009). “System requirements for Symantec AntiVirus for Linux 1.0”. 2007년 4월 29일에 원본 문서에서 보존된 문서. 2009년 3월 7일에 확인함.  “Chkrootkit”.  “ESET File Security - Antivirus Protection for Linux, BSD, and Solaris”. Eset. 2008년 5월 10일에 원본 문서에서 보존된 문서. 2008년 10월 26일에 확인함.  “ESET Mail Security - Linux, BSD, and Solaris mail server protection”. Eset. 2008년 5월 12일에 원본 문서에서 보존된 문서. 2008년 10월 26일에 확인함.  “ESET NOD32 Antivirus for Linux Gateway Devices”. Eset. 2008년 5월 10일에 원본 문서에서 보존된 문서. 2008년 10월 26일에 확인함.  “Root Kit Hunter”. 2013년 3월 5일에 원본 문서에서 보존된 문서. 2013년 3월 5일에 확인함.  “Botnets, a free tool and 6 years of Linux/Rst-B | Naked Security”. Nakedsecurity.sophos.com. 2008년 2월 13일. 2013년 8월 11일에 확인함.  “Second Look”. 2017년 8월 9일에 원본 문서에서 보존된 문서. 2020년 6월 23일에 확인함.  “volatilesystems.com”. 2011년 2월 17일에 원본 문서에서 보존된 문서. 2013년 2월 9일에 확인함.  “Volatility”.  Leyden, John ( 21 November 2012), Evildoers can now turn all sites on a Linux server into silent hell-pits, The Register, retrieved 21 November 2012 https://blogs.rsa.com. “Thieves Reaching for Linux—"Hand of Thief" Trojan Targets Linux #INTH3WILD » Speaking of Security - The RSA Blog and Podcast”. Blogs.rsa.com. 2013년 8월 15일에 원본 문서에서 보존된 문서. 2013년 8월 11일에 확인함.  Vaughan, Steven J. “Linux desktop Trojan 'Hand of Thief' steals in”. ZDNet. 2013년 8월 11일에 확인함.  Florio, Elia (February 2006). “Linux.Backdoor.Kaiten”. 2008년 3월 8일에 확인함.  Florio, Elia (December 2007). “Linux.Backdoor.Rexob”. 2008년 3월 8일에 확인함.  Vervloesem, Koen (December 2009). “Linux malware: an incident and some solutions”. 2010년 9월 16일에 확인함.  “Backdoor.Linux.Tsunami.gen”. Securelist. 2014년 5월 12일에 원본 문서에서 보존된 문서. 2014년 5월 9일에 확인함.  herm1t (August 2008). “Linux.42: Using CRC32B (SSE4.2) instruction in polymorphic decryptor”. 2012년 2월 27일에 원본 문서에서 보존된 문서. 2010년 1월 17일에 확인함.  Ferrie, Peter (September 2008). “Life, the Universe, and Everything”. 2012년 2월 27일에 원본 문서에서 보존된 문서. 2014년 5월 15일에 확인함.  herm1t (August 2006). “Infecting ELF-files using function padding for Linux”. 2012년 1월 22일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  Kaspersky Lab (May 2007). “Virus.Linux.Alaeda”. 2009년 7월 13일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  McAfee (December 2004). “Linux/Binom”. 2005년 1월 24일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Rieck, Konrad and Konrad Kretschmer (August 2001). “Brundle Fly 0.0.1 - A Good-Natured Linux ELF Virus”. 2008년 5월 14일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  de Almeida Lopes, Anthony (July 2007). “Project Bukowski”. 2008년 3월 8일에 확인함.  herm1t (February 2008). “Caveat virus”. 2018년 12월 23일에 원본 문서에서 보존된 문서. 2014년 5월 15일에 확인함.  Ferrie, Peter (July 2009). “Can you spare a seg?”. 2012년 1월 17일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  herm1t (October 2007). “Reverse of a coin: A short note on segment alignment”. 2012년 2월 27일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  Ferrie, Peter (September 2009). “Heads or tails?”. 2012년 2월 27일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  Kaspersky Lab (February 2002). “Virus.Linux.Diesel.962”. 2007년 10월 28일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  herm1t (October 2007). “Hashin' the elves”. 2014년 10월 10일에 원본 문서에서 보존된 문서. 2014년 5월 15일에 확인함.  Ferrie, Peter (August 2009). “Making a hash of things”. 2012년 1월 17일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  Kaspersky Lab (April 2001). “Virus.Linux.Kagob.a”. 2009년 7월 13일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Kaspersky Lab (undated). “Virus.Linux.Kagob.b”. 2009년 7월 13일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  다음 날짜 값 확인 필요: |date= (도움말) herm1t (June 2008). “README”. 2012년 2월 6일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  Ferrie, Peter (February 2008). “Crimea river”. 2012년 1월 17일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  The Mental Driller (February 2002). “Metamorphism in practice or "How I made MetaPHOR and what I've learnt"”. 2007년 6월 2일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Kaspersky Lab (December 2001). “Virus.Linux.Nuxbee.1403”. 2012년 3월 2일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  herm1t (November 2007). “INT 0x80? No, thank you!”. 2018년 12월 23일에 원본 문서에서 보존된 문서. 2014년 5월 15일에 확인함.  Ferrie, Peter (September 2009). “Flying solo”. 2012년 1월 17일에 원본 문서에서 보존된 문서. 2010년 2월 2일에 확인함.  Ferrie, Peter (April 2007). “Linux.Podloso”. 2013년 6월 27일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Ferrie, Peter (April 2007). “The iPod virus”. 2008년 3월 2일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  herm1t (December 2009). “From position-independent to self-relocatable viral code”. 2019년 5월 24일에 원본 문서에서 보존된 문서. 2014년 5월 15일에 확인함.  Kaspersky Lab (August 2003). “Virus.Linux.Rike.1627”. 2012년 3월 2일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Kaspersky Lab (January 2002). “Virus.Linux.RST.a”. 2007년 11월 7일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  “The ways of viruses in Linux HOW SAFE?” (PDF). 2014년 5월 17일에 원본 문서 (PDF)에서 보존된 문서. 2009년 8월 21일에 확인함.  Kaspersky Lab (March 2001). “Virus.Linux.Satyr.a”. 2012년 3월 2일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Kaspersky Lab (March 2000). “Virus.Linux.Vit.4096”. 2007년 11월 7일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Kaspersky Lab (October 2000). “Virus.Linux.Winter.341”. 2007년 11월 10일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Rautiainen, Sami; 외. (March 2001). “F-Secure Virus Descriptions: Lindose”. 2008년 6월 21일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  CS1 관리 - et al.의 직접적인 사용 (링크) “The Wit Virus: A virus built on the ViT ELF virus” (PDF). 2008년 12월 31일에 확인함.  Kaspersky Lab (January 2001). “Virus.Linux.ZipWorm”. 2009년 7월 13일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Kaspersky Lab (May 2001). “Net-Worm.Linux.Adm”. 2007년 10월 30일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Rautiainen, Sami (April 2001). “F-Secure Virus Descriptions: Adore”. 2008년 3월 8일에 확인함.  Smith, Stuart (May 2007). “Perl.Badbunny”. 2008년 3월 8일에 확인함.  Kaspersky Lab (May 2001). “Net-Worm.Linux.Cheese”. 2007년 10월 28일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Rautiainen, Sami (April 2001). “F-Secure Virus Descriptions: Kork”. 2008년 3월 8일에 확인함.  Mohit Kumar (2013년 11월 30일). “Linux worm targeting Routers, Set-top boxes and Security Cameras with PHP-CGI Vulnerability”. The Hacker News. 2013년 12월 4일에 확인함.  Joe Casad (2013년 12월 3일). “New Worm Attacks Linux Devices”. Linux Magazine. 2013년 12월 4일에 확인함.  McAfee (June 2005). “Linux/Lupper.worm Description”. 2005년 11월 24일에 원본 문서에서 보존된 문서. 2010년 10월 10일에 확인함.  Kaspersky Lab (October 2002). “Net-Worm.Linux.Mighty”. 2007년 11월 7일에 원본 문서에서 보존된 문서. 2008년 3월 8일에 확인함.  Perriot, Frederic (February 2007). “Linux.Millen.Worm”. 2008년 3월 8일에 확인함.  Rautiainen, Sami; 외. (September 2002). “F-Secure Virus Descriptions: Slapper”. 2008년 3월 8일에 확인함.  CS1 관리 - et al.의 직접적인 사용 (링크) Voss, Joel (December 2007). “SSH Bruteforce Virus by AltSci Concepts”. 2008년 3월 13일에 확인함. [깨진 링크] (영어) Linuxvirus on the Official Ubuntu Documentation