모두가 묵인하던 명령어 우회, 이제 터놓고 얘기해봅시다!
November 22, 2024
서버접근제어 명령어: 우회 제어의 맹점
기업에서 기술보안을 담당하는 정보보호실무를 경험해봤던 사람으로서, 기업에서 서버접근제어 솔루션을 운영할 때 보안 취약점을 이용한 공격을 차단하려는 목적에서 sudo
, rm -rf
와 같은 위험한 명령어의 사용을 금지합니다.
하지만 일부(꽤 많은) 사용자는 우회 방법을 통해 이를 우회하여 실행할 수 있습니다. 즉, 제어가 명확하게 설정되어 있더라도, 몇몇 사용자들은 여전히 시스템 보안을 뚫고 금지된 명령어를 실행하는 방법을 찾아냅니다.
가장 쉬운 방법으로, shell script를 활용한 우회를 예로 들어보겠습니다.
귀사의 테스트 서버에 금지된 명령어를 포함한 shell script를 업로드 한 뒤, 서버접근제어를 적용한 서버에 접속하여 이를 실행할 경우, 실행이 막히는지 확인을 해볼 수 있을 것 입니다.
또한 잘 찾아보면, 회사에 승인 받은 작업 계획서에는 특정 script를 사용하는 명령어만 작성하여 제출되어 있지만, 실제 script 내에는 어떤 작업들이 이루어지는지 알 수 없는 상황이 빈번할 것 입니다. 심지어 배치 파일 또는 크론탭 등을 통해 주기적으로 특정 스크립트를 실행하도록 설정하고, 스크립트 내용물을 변경하는 방식으로 작업계획서와 서버접근제어 설정등을 모두 우회하는 형태의 인프라 관리를 찾은 보안 담당자도 있을 것 입니다.
때문에, 요즘 엔터프라이즈급 기업의 기술보안 담당자와 서버 접근제어 관련 미팅을 하고 나면 항상 받는 질문이 있습니다.
“Shell Script를 통한 명령어 우회 실행을 어떻게 막나요?”
“…”
그래서, 오늘은 서버 오디터와 기술보안 실무자들이 애써 외면하고 있는 ‘서버 권한관리’에 대한 판도라의 상자를 열어보려 합니다.
명령어 우회 실행을 막는 서버 접근 제어 솔루션의 중요성
명령어 우회 실행을 차단하려면, 명령어 우회 실행 차단을 지원하는 서버접근제어 솔루션을 활용하는 것이 핵심입니다. 이를 통해 서버에서 명령어 우회를 제어하고, 불법적인 명령어 실행을 차단할 수 있습니다.
QueryPie는 명령어 우회 실행을 차단하는 대표적인 솔루션 중 하나로, 다음과 같은 방식으로 동작합니다.
- 사용자가 QueryPie(Gateway)를 통해 서버에 접속한 뒤 명령어를 실행하면
- 실제로 실행될 명령어(Script의 내용 등)는 서버에서 다시 QueryPie 서버로 전달되고
- 차단할 명령어 목록에 포함된 항목이 있는지 확인하는 절차를 거칩니다.
이런 방식을 통해, 사용자가 서버에 접속해도 사전 정의된 차단 목록을 바탕으로 우회 명령어가 실행되기 전에 차단할 수 있습니다.
이 방식의 장점은 서버에 직접적인 Agent를 설치할 필요 없이, 중앙 집중화된 관리를 통해 모든 서버에서 일관된 보안 정책을 적용할 수 있다는 것입니다. 서버 환경에 추가적인 소프트웨어를 설치하지 않아도 되므로, 배포 및 관리 과정 없이 보안 정책을 빠르게 적용할 수 있는 장점이 있습니다.
물론, 이러한 방법에도 기술적 제약이 존재합니다. 예를 들어,
- Script 내부에서 차단한 명령어를 포함한 Script를 호출하거나
- Bash Shell이 아닌 다른 Shell에서 명령어 우회를 시도하는 경우
- Base64등을 이용해 서버 사이드에서 명령어를 복호화 실행하는 경우
이러한 문제를 해결하기 위해, QueryPie는 Script 내부 다른 Script 호출시 명령어를 차단하거나, Shell 호출 및 암복호화 명령어를 차단하는 방법을 제안하고 있습니다.
차세대 명령어 차단 기능으로: QueryPie의 보안성과 사용성 강화
QueryPie는 보안성과 사용성을 지속적으로 개선하고 있으며, 명령어 차단 기능에서 한 차원 높은 보안을 제공하기 위해 꾸준히 발전하고 있습니다. 현재는 Bash Shell만을 지원하고 있지만, 고객의 요구에 맞춰 Zsh를 포함한 다양한 셸(Shell)을 점차적으로 지원할 계획입니다. 이를 통해 고객은 자신이 사용하는 환경에 맞는 셸을 선택하고, 더욱 안전한 서버 환경을 구축할 수 있게 됩니다.
또한, QueryPie는 Script 내에서 다른 Script를 여러 번 호출하는 경우에도 명령어 우회를 차단할 수 있는 기술적 준비가 완료되었습니다. 이로 인해 QueryPie는 다른 보안 솔루션에서는 제공하지 않는 독창적인 명령어 차단 방법을 제공하며, 더 강력한 보안 기능을 실현할 수 있습니다.
QueryPie만의 3가지 명령어 차단 방법론
- 기존 명령어 차단 로직
- Script Injection 방식
- 실행 프로세스 추적을 통한 원천 차단
이 세 가지 방법론은 QueryPie만의 차별화된 기술로, 명령어 우회를 방지하고, 다양한 보안 위협으로부터 서버를 보호합니다. 각 방식에 대한 자세한 기술적인 내용은 QueryPie의 White Paper에서 확인하실 수 있습니다.
QueryPie의 차별화된 가치: 서버 명령어 우회 차단의 혁신적 접근
QueryPie는 3가지 명령어 차단 방법론을 독자적으로 설계하고 구현하여 서버 명령어 우회 실행을 원천적으로 차단합니다. 특히, 실행 프로세스를 추적하는 기술을 통해 Script나 서버 내에서 명령어를 조합하는 우회 기법을 완벽하게 차단할 수 있습니다.
서버 명령어 제한 기술은 한국의 강력한 컴플라이언스 요구 사항에 따라 서버 접근 제어 솔루션의 핵심 기능으로 자리잡았으며, 그 결과 한국의 서버 접근 제어 솔루션 제품은 가장 진보된 명령어 제어 기술을 제공합니다. 특히, 글로벌 동종 업계 제품들과 비교할 때, 한국 제품은 관련 기술에 대한 연구가 훨씬 더 심도 있게 이루어졌습니다.
그럼에도 불구하고 명령어 우회 문제는 현재까지 업계에서 완벽하게 해결되지 않은 주요 과제였습니다. 이를 해결하기 위해, 국내 시장에서는 서버 접근 제어 솔루션이 크게 Agent 기반과 Agentless 방식으로 나뉘어 왔습니다. Agent 기반 제품은 명령어 우회를 차단하기 위해 별도의 Agent 설치가 필요하며, 이로 인해 추가적인 관리 부담이 발생합니다. 반면, Agentless 방식으로 제공되는 제품들은 Agent 설치가 불필요하지만, Script를 통한 명령어 우회나 Script 내에서 다른 Script 호출을 통한 명령어 우회를 차단하지 못하는 한계가 있습니다.
QueryPie는 Agent 기반과 Agentless 방식의 장점을 모두 살려서 Agentless 방식에서 뛰어난 명령어 차단 기술을 제공합니다. Agent 설치와 같은 불편함 없이, 실행 프로세스를 추적하는 고유의 기술을 통해 명령어 우회 시도를 완벽하게 차단할 수 있습니다. 이러한 기술은 현재까지 업계에서 제공되지 않은 기능으로 고객들로부터 큰 호응을 얻고 있습니다.
맺음말
명령어 우회 실행 차단은 서버 보안의 핵심 요소입니다. 명령어 우회 시도를 차단하지 않으면, 악의적인 사용자나 실수로 인한 보안 취약점이 발생할 수 있으며, 이는 시스템 침해와 데이터 유출로 이어질 가능성이이 매우 높아집니다. 효율적인 명령어 우회 차단을 위해서는, 복잡한 시스템 환경에서도 일관되게 보안 정책을 적용할 수 있는 솔루션이 필요합니다.
QueryPie와 같은 차세대 보안 솔루션은 설치의 부담을 최소화하면서도 실시간으로 명령어 실행을 추적하고 우회 시도를 효과적으로 차단하여, 기업이 보다 안전한 IT 환경을 구축할 수 있도록 지원합니다. 이러한 솔루션을 통해 기업은 보안 관리의 복잡성을 줄이고, 새로운 보안 관리 기준을 세우며, 기존의 보안 한계를 뛰어넘을 수 있습니다. 따라서, 명령어 우회 실행 차단은 기업의 IT 환경을 안전하게 지키기 위한 필수적인 투자로, 기업의 장기적인 성공과 신뢰성을 보장하는 중요한 요소입니다.