본문 바로가기
개발 및 운영/프로그래밍

Microsoft SmartScreen 테스트

by Joseph.Lee 2024. 4. 19.

OV 코드사인에 비해 EV 코드사인은 비용도 비용이고 검증 과정이 매우 까다롭다.

 

EV 코드사인의 경우 기본적으로 평판이 좋게 주어지기 때문에 초기 평판을 올려놓으면

동일한 인증서(혹은 인증서의 회사 명)로 서명한 모든 exe 가 SmartScreen 에 안걸리는 것 같다.

회사 프로그램도 EV 코드사인으로 서명한건 한번도 (심지어 인증서 재발급 이후에도)

SmartScreen 에 걸리는걸 본 적이 없는 것 같다. 아마 이미 많이 다운받아서 회사명이 평판에 올라가있는 것 같다. 

 

나는 다운로드 할 때 커스텀마이징정보 (할당 할 그룹 등) 을 설정해서 exe 에 포함시키는 방법을 종종 사용한다.

지금까지 이러한 방법을 사용했을 떄 문제가 생긴 적은 없었다. (Chrome 도 비슷한 방법을 사용하는 것 같다)

OV 코드사인을 사용하는 경우에도 이러한 방법을 사용할 수 있는지 확인해보고 싶었다.

 

(더불어 인증서로 평판이 관리되는지 - 그렇다면 EV 를 사용하지 않더라도 평판이 올라가면 새로운 프로그램도 SmartScreen 을 넘어갈 수 있을 것이다 - 아니면 파일 해시 별로 평판이 관리되는지를 확인해보고 싶었다.)

 

 

 

1. OV 코드사인 + 평판 좋은 샘플

원본:  Release Release v7.3.4 · storj-archived/storjshare-gui · GitHub

5037151ce1358fad0cca83cedc44ac69da5668239456c149721152687c6c1f2d *storjshare-gui.win64.exe

 

Edge 다운로드 결과:

 

실행 시 UAC 화면:

 

 

2. 1번파일에 Tag 를 추가한 파일

tag 추가 방법 : smartscreen-test/taginjector at master · jclab-joseph/smartscreen-test · GitHub

(코드사인 CMSSignedData 에 더미 인증서를 넣는 방식)

e121ee11a2db90b665c0609d723ff68ccbf70254593c119aac4f9d9c5d302096 *storjshare-gui.patched.exe

 

Edge 다운로드 결과:

오 SmartScreen에 안걸림!

 

실행 시 UAC 화면:

동일하다

 

 

3. 1번 파일의 끝에 더미 데이터를 추가한 파일

fa60aff826e319b81162d27fdbbbca39ff905aeb4928f0a3633b4b3439dba94b *storjshare-gui.tail-appended.exe

 

Edge 다운로드 결과:

UAC 실행 시:

예상대로이다.

 

4. 신규 인증서 (OV) 로 서명한 샘플

56ac255cee1a0f9473a8c0e43495dc2a46402beb7155966d51c644eeb6b9eee7 *sample.ov-signed.exe

 

아직 평판이 올라가기 전이라 Smart Screen 에서 기본적으로 차단한다.

 

 

결론

SmartScreen 은 코드사인이 되어있는 경우에는 OV CodeSign 인증서 + PE Hash 를 통해 평판을 관리하고
(혹은 OV CodeSign 인증서만으로도 평판이 관리될수도 있을 것 같다. 새롭게 서명한 파일을 테스트할 방법이 없어서 못해봄..)

코드사인이 되지 않은 경우에는 파일 전체 Hash 로 평판을 관리하는 듯 하다.

 

 

테스트한 파일들은 https://github.com/jclab-joseph/smartscreen-test/releases/tag/r01 에 있습니다.

 

 

반응형

댓글