웹브라우저 파일 다운로드, 백신 및 Windows Defender Smart Screen을 거치지 않기 위해서는 프로그램에 서명이 필요하다. 이는 업체를 통해 인증서를 구매하여 프로그램에 private 키로 서명하여 인증서를 부여하는 방식으로 진행된다. 인증서가 부여되더라도 인증서가 안전하다는 명성을 획득하기 전까지는 Smart Screen이 계속 발생한다. 인증서가 안전하다는 것은 인증서가 부여된 프로그램에 신고가 없다는 말과 같다.
1. 서명된 프로그램 배포 > 실행(Smart Screen 발생) > 프로그램 신고X > 해당 서명의 명성 개선 > Smart Screen 미 발생
이와 같은 인증서 명성 부여 로직을 생각해 볼 수 있다. 그러나 프로그램은 배포되는 도중에 악성코드를 포함한 S/W로 변경 되더라도, 배포자의 Private Key로 코드서명이 되어 있으면, 사용자는 원 배포자가 배포한 것임으로 확신한다고 한다. 도난의 핵심은 코드서명에 사용되는 Private-Key 가 탈취된 것이다.
즉, 회사가 발급한(Private Key) 인증서에 대하여 신뢰도가 필요하다. 신뢰가 있는 인증서를 적용한 프로그램도 같이 신뢰하겠다는 말이된다.
관련 뉴스
코드서명인증서를 도난 당한 회사는 대만의 D-Link(디링크) 라고 하며, ESET는 D-Link사에 코드서명인증서가 해커에 의해 도용되고 있는 사실을 알렸으며, D-Link사는 해당 코드서명인증서를 곧 바로 취소시켰다고 합니다(취소시킨 날짜는 2018.7.3.)
Stuxnet은, 2010년도에 악성프로그램을 사용하여, 이란의 핵 원심 분리기를 과부하시켜 파괴한 사건입니다. 실험실에서 사용되고 있는, 대만의 Jmicron(또는 Realtek)사가 개발한 chip이 장착된 컴퓨터에, chip을 구동하는 Driver S/W를 update 하는 과정에서, 초기 악성코드가 설치됨으로 인해 발생된 사건입니다. 배포된 Driver S/W에 악성코드가 심겨져 있었는데도, 제조사의 Private Key로 코드서명이 되어있었기 때문에, 악성코드 탐지 System을 피해 나갈 수 있었다고 합니다. 즉 핵심은 대만의 Jmicron(또는 Realtek) 사가 자사의 코드서명 Private Key를 탈취 당했기 때문에 발생된 것입니다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=aepkoreanet&logNo=221316980738
https://d2.naver.com/helloworld/744920
https://docs.microsoft.com/ko-kr/windows/win32/seccrypto/signtool?redirectedfrom=MSDN