1. WinVerifyTrust [2][3]

- Window에서 지정된 개체에 대한 신뢰 확인 작업을 수행하는 함수

 

2. 취약점

[사진 1] https://nvd.nist.gov/vuln/detail/CVE-2013-3900

- 취약한 버전의 Window WinVerifyTrust 함수의 서명 유효성 검사 취약점으로인해 발생하는 임의 코드 실행 취약점

- 공격자는 해당 취약점을 악용해 기존 서명을 유지하고, 서명된 파일을 수정하여  파일에 악성 코드 추가 가능

영향받는 버전
① Microsoft Windows XP SP2 및 SP3
② Windows Server 2003 SP2
③ Windows Vista SP2
④ Windows Server 2008 SP2 및 R2 SP1
⑤ Windows 7 SP1
⑥ Windows 8
⑦ Windows 8.1
⑧ Windows Server 2012 Gold 및 R2
⑨ Windows RT Gold 및 8.1

 

3. 대응방안

① 벤더사 제공 업데이트 적용 [5]

- MS는 Windows Authenticode로 서명된 바이너리들의 인증 방식 자체를 변경
> 서명된 바이너리를 누군가 변경하면 해당 바이너리를 더 이상 서명된 바이너리로 윈도우가 인식하지 않도록 한 것
> ‘옵트인’ 방식으로 이루어졌으며, 사용자들이 패치를 적용할 것인지 말 것인지를 선택하도록 함

※ 옵트인: 당사자가 개인 데이터 수집을 허용하기 전까지 당사자의 데이터 수집을 금지하는 제도

 

- 그러나, 2014.07.29 Microsoft는 더 이상 지원되는 Microsoft Windows 릴리스의 기본 기능으로 더 엄격한 확인 동작을 시행할 계획이 없다고 발표

> 사실상 패치가 되지 않은 채(사용자 스스로 패치를 진행하지 않는 이상) 사용 중

 

- 레지스트리 편집을 통해 취약점 수정이 가능 [6][7]

> 해당 취약점에 관한 실질적인 조치 방안이 아닌것으로 확인됨

> 레지스트리를 수정하여도 Window 업데이트 시 해당 레지스트리가 삭제되기 때문

 

- 23.04 Microsoft는 해당 취약점을 포함한 총 97개의 보안 패치를 발표 [8][9]

> 또한 제로데이 취약점과, 초고위험도 취약점 및 랜섬웨어 유포에 악용된 취약점이 포함되어 있어 패치 적용 필수

 

4. 참고

[1] https://nvd.nist.gov/vuln/detail/CVE-2013-3900
[2] https://learn.microsoft.com/en-us/windows/win32/api/wintrust/nf-wintrust-winverifytrust
[3] https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms537361(v=vs.85)?redirectedfrom=MSDN
[4] https://github.com/advisories/GHSA-8cj2-jg77-qj2p
[5] https://learn.microsoft.com/en-us/security-updates/securitybulletins/2013/ms13-098
[6] https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900

[7] https://learn.microsoft.com/en-us/answers/questions/1182542/cve-2013-3900-winverifytrust-signature-validation

[8] https://msrc.microsoft.com/update-guide/releaseNote/2023-Apr

[9] https://www.boannews.com/media/view.asp?idx=117060&page=2&kind=1 

+ Recent posts