정보통신 · 정보보안 ·
마이크로소프트, 파워셸 5.1 보안 업데이트 발표...웹 콘텐츠 스크립트 실행 차단
악성 웹 콘텐츠로부터 시스템 보호 강화, 사용자 동의 없이 스크립트 실행 방지
[한국정보기술신문] 마이크로소프트가 12월 9일부터 윈도우 파워셸 5.1에 대한 주요 보안 업데이트를 배포했다고 밝혔다. 이번 업데이트는 웹 콘텐츠에서 스크립트가 자동으로 실행되는 것을 차단해 악성 코드로부터 시스템을 보호하는 것을 목표로 한다.
새로운 업데이트가 적용되면 파워셸 5.1에서 웹 페이지를 가져오는 Invoke-WebRequest 명령을 실행할 때 보안 확인 프롬프트가 표시된다. 이 프롬프트는 웹 페이지 내 스크립트가 파싱 과정에서 실행될 수 있다는 경고와 함께, 스크립트 실행을 방지하는 UseBasicParsing 매개변수 사용을 권장한다.
기존 동작 방식의 보안 위협
기존 파워셸 5.1은 인터넷 익스플로러 컴포넌트를 사용한 전체 DOM 파싱 방식을 채택했다. 이 방식은 다운로드한 콘텐츠에 포함된 스크립트를 실행할 수 있어 보안상 취약점이 존재했다. 공격자는 이를 악용해 사용자가 모르는 사이 악성 코드를 실행시킬 수 있었다.
새로운 보안 프롬프트는 파워셸 콘솔에 스크립트 실행 위험에 대한 경고를 표시하며, 사용자가 엔터키를 누르거나 아니오를 선택하면 안전을 위해 작업이 취소된다. 파워셸은 취소 메시지와 함께 UseBasicParsing 매개변수를 사용한 안전한 처리 방법을 제안한다.
예를 선택할 경우 기존 방식대로 전체 HTML 파싱이 진행되며 내장 스크립트가 로드될 수 있다. 마이크로소프트는 이 옵션을 신뢰할 수 있는 웹 콘텐츠에만 제한적으로 사용할 것을 권고했다.
대응 방안 및 스크립트 수정 필요
마이크로소프트는 이번 변경 사항에 대응하기 위한 세 가지 옵션을 제시했다. 첫 번째는 새로운 보안 기본값을 사용하는 것으로, 파일 다운로드나 정적 텍스트 읽기 등 일반적인 용도에서는 별도 조치 없이 사용 가능하다. 대화형 사용 시에는 프롬프트에서 아니오를 선택하고 UseBasicParsing 매개변수를 추가해 명령을 다시 실행하면 된다.
자동화 스크립트나 예약 작업의 경우 Invoke-WebRequest 호출에 UseBasicParsing 매개변수를 추가해 프롬프트가 나타나지 않도록 업데이트해야 한다. 이를 통해 중단 없이 안전하게 자동화를 실행할 수 있다.
두 번째 옵션은 장기 보안을 위한 스크립트 리팩토링이다. 신뢰할 수 없는 공개 웹 콘텐츠를 다루는 스크립트의 경우, 대체 파싱 방법이나 라이브러리를 사용하거나 파워셸 코어 7.x 버전으로 현대화하는 방안을 고려할 수 있다.
마지막으로 신뢰할 수 있는 시나리오에서만 레거시 동작을 선택할 수 있다. HTML 양식 필드와의 상호작용이나 구조화된 데이터 스크래핑 등 전체 HTML 파싱 기능이 필요하고 웹 콘텐츠의 출처를 신뢰할 수 있는 경우, 대화형 세션에서 예를 선택해 작업을 진행할 수 있다.
파워셸 7과의 일관성 확보
이번 변경사항은 파워셸 7에서 이미 적용된 보안 파싱 기본값과 일치한다. 마이크로소프트는 파워셸 5.1과 7 간의 보안 동작을 통일함으로써 전반적인 윈도우 생태계의 보안을 강화했다.
업데이트는 표준 업데이트와 핫패치 업데이트 모두에 적용되며, 동일한 동작 변경이 적용된다. 마이크로소프트는 서드파티 스크립트나 모듈 사용자들에게 모듈 소유자에게 지원 계획을 문의하고, 마이그레이션하는 동안 신뢰할 수 있는 콘텐츠에 대해서만 임시로 레거시 옵션을 사용할 것을 권장했다.
파워셸 5.1과 Invoke-WebRequest 명령은 주로 엔터프라이즈나 IT 관리 시스템에서 스크립팅 및 자동화 작업에 사용된다. 개인용 윈도우 홈 에디션 사용자는 일반적으로 매개변수 없이 웹 콘텐츠를 가져오는 파워셸 스크립트를 실행하지 않기 때문에, 이러한 변경사항은 자동화된 대규모 배포 환경의 위험을 완화하기 위해 설계됐다.
한국정보기술신문 정보보안분과 이승기 기자 news@kitpa.org