Ready to Boost Your Startup? Click to Start Up Your Free Subscription!

Servers

SSH 프록시 구조를 통한 Shell Native 명령어 제어

저자: Ryan Chae, Kevin So

November 22, 2024

White Paper Thumbnail

서문

서버 접근 제어 솔루션은 기업의 중요 자산인 서버를 보호하는 핵심적인 보안 솔루션입니다. 서버 접근 제어 솔루션의 핵심은 어떤 사용자가 어떤 서버에 접속하여 어떤 명령어를 실행했는지를 추적하고 제어하는 것입니다. 일반적인 서버 접근 제어 솔루션은 명령어 제어를 위해 마치 가상 터미널처럼 사용자가 엔터키를 입력하기 전까지 입력했던 문자 하나 하나를 버퍼링하여 사용자가 실행하고자 하는 명령어를 조합하는 방식을 사용합니다. 하지만 이러한 방식은 개발에 막대한 시간과 비용이 들 뿐만 아니라 사용자가 단축키 등 다양한 키 조합으로 명령어를 입력할 경우, 정확한 명령어를 파싱해내는 것이 매우 어렵습니다. 따라서 QueryPie에서는 명령어 파싱에 대한 정확성을 높이기 위해 Shell Script를 이용한 명령어 오딧 및 제어 기술을 개발했습니다.

문제

Issue to Solve

SSH 세션이 수립되고 클라이언트와 서버간의 데이터 통신은 기본적으로 사용자가 키 입력을 할때마다 한 글자 한 글자씩 전송되며, 그 형식은 터미널에서 출력 형식을 제어하기 위해 사용되는 제어 시퀀스인 ANSI 코드입니다. ANSI 코드는 다양한 ANSI 이스케이프 시퀀스를 포함하고 있어 이러한 문자열 스트림 상에서 사용자가 입력한 명령어만 정확히 파싱해 내는 것은 가상 터미널을 하나 만드는 것처럼 어렵습니다. 그래서 대부분의 서버 접근 제어 솔루션들은 정확한 명령어 파싱을 통해 위험한 명령어를 차단하는 것 보다는 증적을 남기는 쪽에 더욱 중점을 두고 있으며, 이는 서버 보안에 대한 취약점이 여전히 존재함을 의미합니다. 특히 서버 명령어의 경우 단축키 이용 또는 alias 설정 등 다양한 방식으로 명령어를 우회 실행하는 것이 가능한데, 대표적으로 서버 접근 제어 솔루션을 통해 금지 명령어를 지정하더라도 스크립트 안에 해당 명령어를 포함하여 실행하는 것이 그 방법입니다. MITM을 하는 프록시 서버에서 사용자 키 입력을 조합하여 명령어를 파싱하는 일반적인 서버 접근 제어 방식으로는 이러한 우회 공격들에 대하여 대응을 할 수 없습니다. 따라서 보안을 위해서는 서버에 에이전트를 설치하여 프로세스 감시용 데몬을 띄우는 등 프록시 레벨보다는 서버 레벨에서 제어하는 것이 보안성을 높일 수 있습니다.

목표 설정

보안성을 높이고자 보호 대상인 서버에 무언가를 설치하여 명령어에 대한 제어를 하는 것은 EDR과의 영역과의 경계가 모호할 뿐더러 속도 저하 및 다른 부작용을 초래할 수 있어 SSH 사용에 있어서 불편함을 줄 수 있습니다. 그래서 QueryPie에서는 서버에 에이전트를 설치하지 않으면서도 보안 측면에서는 서버 레벨의 수준으로 명령어 제어를 할 수 있는 방법에 대해 고민했습니다.

솔루션 개요

QueryPie에서는 정교한 명령어 탐지를 위해 script injection을 통해 사용자가 실제로 실행한 명령어를 파악하여 로깅 및 차단을 수행합니다. 해당 기술을 통해 기존 방식으로는 파악할 수 없었던 스크립트 안에 포함된 금지명령어, alias된 명령어, 심볼릭 링크된 명령어 등을 정확하게 알아낼 수 있습니다.



결론

기존의 서버 접근 제어 솔루션들은 Proxy 서버에서 스니핑한 SSH의 데이터 메세지를 재조합하는 방식으로 사용자가 입력한 명령어를 재조합하고 통제하는 방식을 사용했다면, 이 솔루션은 보호 대상이 되는 서버에서 스크립트를 통해 실행되는 명령어를 캐치하고 차단하는 것으로 명령어가 잘못 파싱될 가능성을 차단합니다.

그리고 SSH 세션 수립시 QueryPie Script를 주입하는 기술과 스크립트에서 명령어가 차단된 사실을 QueryPie Proxy 서버로 전달할 수 있는 기술을 통해서 에이전트 없이 서버에 프로세스 감시용 데몬을 설치하는 기능으로 확장할 수 있습니다.

사용자 명령어 감시용 데몬은 다음과 같은 기술들로 구현될 수 있습니다.

  • LD_PRELOAD
  • ptrace
  • ebpf

이러한 확장 기능들은 조직의 보안 요구사항과 사용자 편의성에 맞춰 단계적으로 구현할 수 있습니다. 쿼리파이는 고객의 니즈에 맞는 새로운 보안 기능을 지속적으로 발굴하고 개발하여 더욱 안전한 시스템 환경을 만들어가는 파트너가 되겠습니다. 도움을 원하거나 같이 해보고 싶은 제안이 있다면 언제든 연락주세요.

3 Minutes to Wow !

Let us show you how QueryPie can transform the way you govern and share your sensitive data.

Take a Virtual Tour