본문 바로가기

POST/Series Article

[비개발자의 눈] #2 - Security study : 해킹을 손쉽게 하는 비밀 통로, 백도어(Backdoor)

 

IBM의 X-Force 사고 응답 데이터에 따르면, 보고된 모든 사이버 공격에서 백도어(Backdoor)의 공격 비율이 무려 21%를 차지했습니다. 해커들이 가장 일반적으로 사용하는 해킹 방법이 바로 백도어(Backdoor)이고, 랜섬웨어가 17%로 그 뒤를 이었습니다. 이외에는 BEC [각주:1] 6%, 스팸 캠페인과 원격 액세스 도구 및 서버 액세스는 각각 5%였습니다. 

1. 백도어 정의 및 종류

백도어(Backdoor)는 컴퓨터 시스템에 불법적으로 접근하는 데에 사용되는 보안 취약점 입니다. 해커가 시스템에 악성 코드를 설치해 시스템의 보안 절차를 우회하거나 특정 목적을 위해 시스템에 접근할 수 있는 비밀통로를 만들기 때문에 '해커의 비밀통로'라고 불리기도 합니다.

일반적으로 악성 소프트웨어나 해커들이 이용하는 기술이지만, 조직이나 정부가 불법적인 목적으로 백도어를 사용하기도 합니다. 드물지만 일부 백도어는 사용자가 설치한 정상적인 프로그램에서 발견되는 경우도 있습니다. 개발자가 해당 프로그램의 보안을 목적으로 설치한 경우입니다.

대표적인 백도어의 종류는 서버의 셸을 얻어 관리자로 권한을 상승하는 로컬 백도어와 직접 관리자 계정에 패스워드를 입력해 로그인한 것처럼 원격으로 관리자 권한을 획득하는 원격 백도어, 시스템 설정을 공격자 마음대로 변경하는 시스템 설정 변경 백도어 그리고 인증에 필요한 패스워드를 공격자에게 전송하는 패스워드 크래킹 백도어 등이 있습니다. 

2. 백도어가 설치됐을 때의 문제점

일반적으로 백도어는 시스템의 약점을 이용해 설치되기 때문에, 시스템 보안에 취약점이 있는 경우에는 해커가 백도어를 설치할 수 있는 가능성이 높아집니다. 이렇게 설치된 백도어는 해커가 원격으로 시스템에 접속하여 데이터를 탈취하거나 시스템을 제어하는 등의 악의적인 목적을 달성할 수 있는데, 더 심각한 문제점은 최초로 설치한 공격자뿐만 아니라 모든 사람들이 백도어를 이용할 수 있고 대상 시스템에 더욱 쉽게 침투할 수 있다는 점입니다. 

 

일단 백도어가 설치되면 시스템의 보안성이 크게 저하될 수 있고 다음과 같은 문제가 발생합니다. 

(1) 데이터 유출 : 백도어를 통해 해커가 시스템에 접근할 경우 중요한 데이터가 유출될 수 있습니다. 이는 곧 개인정보의 침해, 비즈니스 기밀 노출 등 심각한 문제를 야기할 수 있습니다. 

(2) 시스템 마비 : 백도어는 시스템에 비정상적인 경로로 접근하는 것을 허용할 수 있습니다. 공격자는 이를 이용해서 시스템을 마기시킬 수 있는데 결국 기업은 업무 지연, 시스템 중단, 금전적 손실 등의 피해를 입게 됩니다. 

(3) 악성코드 감염 : 백도어는 악성코드 유포의 수단으로 이용될 수 있습니다. 백도어가 설치된 시스템은 악성코드 감염에 취약하며 시스템 보안성을 떨어뜨릴 수 있습니다. 

(4) 불법적인 활동 : 백도어를 이용한 공격자는 시스템에서 불법적 활동을 수행할 수 있습니다. 계정 도용, DDOS 공격[각주:2], 스팸 메일 발송 등의 문제를 야기할 수 있습니다. 

(5) 기업 이미지 손상 : 백도어 공격으로 시작해 위와 같은 문제들이 발생할 경우 결국 그 피해는 고객에게까지 영향이 끼칩니다. 특히 고객 개인정보 유출 사고와 같은 보안 사고는 고객의 신뢰를 잃게 되는 큰 사건으로 남으며 기업의 평판과 이미지에 직접적인 영향을 줄 수 있습니다. 

 

이와 같은 문제들을 방지하기 위해서는 시스템 보안에 대한 충분한 이해 그리고 대응 능력을 갖추는 것이 중요합니다.

 

3. 백도어 예방 방법

기본적으로 시스템이 백도어의 영향을 받고 난 뒤에 "정당한" 사용자가 시스템의 제어권을 되찾는 것은 매우 어렵습니다. 광대역망에 연결된 PC로 불안전한 마이크로소프트 윈도와 아웃룩을 실행하는 PC가 주 표적이 됩니다. 백도어를 예방하기 위해서는 정기적인 보안 점검 및 업데이트, 보안 교육 등이 필요합니다. 또한 백도어가 발견되면 즉시 제거하는 것이 중요합니다. 조금 더 자세히 살펴보면 다음과 같은 방법들이 있습니다. 

 

(1) 보안 업데이트와 패치 적용 : 시스템, 소프트웨어, 애플리케이션 등의 보안 업데이트와 패치를 정기적으로 적용해 알려진 보안 취약점을 먼저 해결하는 것이 중요합니다. 

(2) 보안 솔루션 도입 : 백도어를 감지하고 차단하는 방화벽, 침입 탐지 시스템, 백신, 악성 코드 검색 도구 등과 같은 보안 솔루션을 도입하여 기업 내부와 외부에서 오는 보안 위협을 방지할 수 있고 허가되지 않은 액세스를 차단할 수 있습니다. 

(3) 인터넷 사용 규칙 준수 : 이메일 및 메신저를 통한 의심스러운 링크, 첨부 파일 등을 열지 않으며 믿을 수 없는 웹 사이트에서 다운로드를 하지 않는 것이 중요합니다. 

(4) 보안 인식 개선 및 주기적인 교육 : 직원들에게 주기적인 보안 교육을 제공하여, 보안 위협에 대한 인식 강화와 사이버 공격을 인지하는 방법을 학습할 수 있습니다. 

(5) 보안 정책 수립 : 기업 내에서 보안 정책을 수립하면서 보안 위협에 대응할 수 있도록 합니다. 보안 위협이 생겼을 때 어떤 조치를 취해야 하는지를 명확하게 정의하고 이를 실행하는 데에 필요한 인력, 도구, 절차 등을 사전에 준비해두어야 합니다. 

(6) 암호화 : 중요한 데이터나 통신 내용을 암호화하여 민감한 정보가 유출되는 것을 방지해야 합니다. 데이터베이스, 이메일, 파일 시스템 등에서 암호화를 적용하고 데이터 전송 시에는 안전한 프로토콜을 사용해야 합니다. 

 

위와 같은 방법으로 백도어와 같은 보안 위협에 대한 대응 능력을 강화할 수 있습니다. 그러나, 완벽한 보안은 불가능하기 때문에 언제든지 보안 위협이 발생할 수 있음을 염두에 두고 지속적으로 보안 상황을 모니터링하며 보안 정책과 절차를 정기적으로 검토하면서 최신 보안 기술과 동향에 대한 업데이트에 노력을 기울여야 합니다. 

4. 백도어 제거 방법

사용자 PC 환경에서의 백도어에 대한 일반적인 보안 대책은 악성코드에 대처하는 방법과 동일하게 백도어를 진단하고 파일을 삭제합니다. 구체적으로 백도어가 이미 설치되었을 때 이를 제거하는 방법은 아래와 같습니다. 

 

(1) 감염된 파일 제거 : 백도어가 존재한다면 우선 해당 파일을 삭제해야 합니다. 백도어 파일은 일반적으로 실행파일, DLL 파일[각주:3] , 바이너리 파일 등으로 저장됩니다. 백도어 파일의 이름을 시스템이나 사용자가 관심을 갖지 않도록 변경되어 있기 때문에 악성 코드가 있는 폴더를 모두 검사하고 실행 파일, DLL 파일 및 바이너리 파일과 같은 실행 가능 파일을 모두 삭제해야 합니다. 

(2) 백도어가 설치된 서비스 및 프로세스 중지 : 백도어가 설치된 서비스 및 프로세스는 시스템에서 백도어를 실행하고 유지하는 데에 사용됩니다. 백도어를 중지하기 위해서는 시스템에 설치된 모든 서비스와 프로세스를 검사해 백도어와 연결된 것을 찾고 해당 서비스 및 프로세스를 중지해야 합니다. 

(3) 사용자 계정 및 암호 변경 : 백도어를 사용해 접근한 공격자가 사용자 계정과 암호를 알고 있다면 즉시 계정 암호를 변경해야 합니다. 또한 백도어를 사용해 시스템에 액세스 할 수 있는 사용자의 권한을 제한해야 합니다. 

5. 결론

과거의 백도어는 일반적인 응용프로그램 수준이 주류였습니다. 따라서 무결성 검사 툴로 쉽게 탐지해 대응할 수 있었습니다. 그러나 최근의 해킹기법을 이용한 백도어는 그 종류가 방대하고 또 교묘히 만들어지면서 한 차원 높은 수준의 커널 백도어가 시스템에 설치되고 있습니다. 이러한 이유로 기존의 탐지 툴이나 방법을 이용해 커널 백도어를 찾아내는 것이 점점 더 어려워지고 있습니다. 특히 리눅스 운영체제의 경우에는 누구나 볼 수 있도록 소스가 공개되어 있기 때문에 공격자가 마음만 먹으면 언제든지 해킹 모듈을 삽입해 해킹 도구로 사용할 수 있다는 문제점도 있습니다. 

 

현재까지 개발되어 사용되고 있는 대부분의 보안 강화 시스템들은 해커의 해킹 시도 자체를 제한하는 것이 아니라, 해커가 해킹을 시도하는 경우 이를 조금 더 어렵게 만드는 수준에 지나지 않습니다. 해커의 해킹 시도를 능동적으로 대처하지 못하고 수동적으로 방어하는 수준인 것입니다. 또 동작하고 있는 여러 보안 강화 시스템들은 해킹에 대한 상호 협력을 통한 대응이 거의 불가능하다고 볼 수 있는 수준이기 때문에 결과적으로 현재의 보안 시스템 환경 때문에 보안 사고가 감소하지 못하고 있는 것이라고 볼 수 있습니다. 

 

백도어를 비롯한 해커의 다양한 해킹 수법에 대한 선제적인 대응을 원한다면 OSC코리아와 함께 적합한 솔루션을 알아보세요. 

 

 

 

참조 

IBM - Security X-Force Threat Intelligence Index 2023

Convergence security journal v.14 no.2 - 동작 메커니즘 진단을 기반으로 한 백도어(backdoor) 행동분석 방법 모델 연구

Convergence security journal v.05 no.2 - 리눅스 커널 백도어 침입자 추적대응시스템 설계 및 구현

 

 

 

  1. 기업 이메일 침해(business email compromise, BEC), 피해자가 평소 신뢰하고 있던 이메일로부터 들어오는 사기 공격 [본문으로]
  2. Distributed Denial of Service. 웹사이트 또는 네트워크 리소스 운영이 불가하도록 악성 트래픽을 대량으로 보내는 사이버 공격 [본문으로]
  3. 데이터베이스의 스키마를 정의하는 데 사용되는 데이터 정의 언어 파일 [본문으로]