CISA 및 FBI, OS 명령 인젝션 취약성에 대한 경보 발령
CISA와 FBI는 2024년 7월 10일 소프트웨어 회사에 제품을 검토하고 OS 명령어 주입 취약점을 원천적으로 제거할 것을 촉구하는 중요 권고를 발표했습니다. 이 긴급한 요청은 최근 여러 OS 명령 주입 결함(CVE-2024-20399, CVE-2024-3400, CVE-2024-21887)을 악용하여 Cisco, Palo Alto, Ivanti 등 유명 벤더의 네트워크 에지 디바이스를 손상시킨 공격이 발생한 이후 나온 것입니다.
OS 명령 인젝션이란 무엇인가요?
OS 명령 인젝션은 공격자가 취약한 애플리케이션을 통해 호스트 시스템에서 임의의 운영 체제(OS) 명령을 실행할 수 있도록 하는 취약점의 한 유형입니다. 이러한 취약점은 소프트웨어가 기본 운영 체제에서 실행할 명령을 구성하는 데 사용되는 사용자 입력을 적절하게 검증하고 살균하지 못할 때 발생합니다. 이러한 감독 소홀로 인해 공격자는 임의의 잠재적으로 유해한 명령을 실행하여 사용자와 조직에 심각한 위험을 초래할 수 있습니다.
공동 권고문에서 언급했듯이 "적절한 검증이나 위생 처리 없이 사용자 입력을 신뢰하는 소프트웨어를 설계 및 개발하면 위협 행위자가 악성 명령을 실행하여 고객을 위험에 빠뜨릴 수 있습니다."
예방 및 모범 사례
CISA는 OS 명령어 인젝션 취약점을 방지하기 위한 몇 가지 주요 조치를 강조합니다:
내장 라이브러리 함수 사용: 가능하면 개발자는 범용 시스템 명령에 공급되는 원시 문자열을 구성하는 대신 명령과 인수를 분리하는 기본 제공 라이브러리 함수를 사용해야 합니다.
입력 매개변수화: 이 기술은 데이터를 명령어와 분리하고 사용자가 제공한 모든 입력이 철저하게 검증되고 위생 처리되도록 하는 것을 포함합니다.
명령어 구성 제한: 사용자 입력으로 구성되는 명령의 일부를 필요한 부분으로만 제한하여 악의적인 입력이 실행될 위험을 최소화합니다.
기술 리더의 역할
기술 리더는 소프트웨어 보안을 보장하는 데 중요한 역할을 합니다. 이들은 개발 프로세스에 적극적으로 참여하여 의도한 구문과 인수를 유지하면서 안전하게 명령을 생성하는 함수를 사용하도록 지지해야 합니다. 또한
위협 모델 검토: 위협 모델을 지속적으로 분석하고 업데이트하여 새로운 위협과 취약점을 반영하세요.
최신 컴포넌트 라이브러리 사용: 보안을 염두에 두고 설계된 최신 컴포넌트 라이브러리를 채택하고 유지하세요.
코드 검토를 수행하세요: 엄격한 코드 검토 프로세스를 구현하여 개발 수명 주기 초기에 보안 취약점을 식별하고 수정하세요.
엄격한 테스트를 구현하세요: 철저한 제품 테스트를 통해 코드의 보안과 품질을 검증하세요.
최종 생각
OS 명령어 인젝션 취약점은 잘 알려져 있고 예방 가능한 문제임에도 불구하고 계속해서 만연하고 있으며, MITRE의 가장 위험한 소프트웨어 취약점 상위 25개 중 5위에 랭크되어 있습니다. 이러한 취약점의 지속적인 특성은 보안 설계 원칙과 강력한 예방 조치를 채택하는 것이 중요하다는 점을 강조합니다. 최근 몇 달 동안 CISA는 기술 경영진과 개발자에게 경로 통과 및 SQL 인젝션(SQLi) 취약점을 제거할 것을 촉구하는 '설계에 의한 보안' 경보를 여러 차례 발령했습니다.
이 글의 출처는 BleepingComputer의 기사입니다.