
즉, 패치가 이루어지는 '시차'가 문제인 것입니다. 한 번에 전 세계 모든 컴퓨터가 업데이트되면 좋은데, 그럴 수가 없으니까요.
관련 문서에 따르면, 이러한 문제를 완화하기 위한 방식으로 크게 세 가지를 제시하고 있습니다.
1. 난해한 패치(Patch Obfuscation): 무엇이 수정되었는지 정확히 알기 어렵게 합니다. 실제 문제점 말고도 의미 없는 부분을 다량으로 패치하여, 해커를 혼동스럽게 합니다. 단, 패치에서 익스플로잇을 뽑아내는 알고리즘이 좋아지면 무용지물이 되고, 의미 없는 부분이 너무 많아지면 관리하기 어려워져서 역효과가 날 수도 있습니다.
2. 패치 암호화(Patch Encryption): 암호화된 패치를 배포합니다. 그리고 모든 사용자가 패치를 받았다는 생각이 들면, 그때 암호화 해제 코드를 배포하여 모든 컴퓨터에서 패치가 '동시에' 일어나도록 합니다. 다만, 이 방식으로도 무언가 문제가 있다는 사실은 숨길 수 없고, 오히려 지연 시간이 생기게 되므로, 해커가 고전적인 방식을 사용하여 익스플로잇을 만들 여지가 늘어나게 됩니다.
3. 빠른 패치 배포(Fast Patch Distribution): 패치를 빠르게 배포하기 위해 P2P 등을 사용합니다. 문제는, 컴퓨터가 꺼져 있을 경우 적용할 수 없고, 공유기 사용 등으로 P2P를 사용할 수 없는 시스템도 있다는 점입니다.
따라서 위에서 언급한 방식 중 어느 것도 완벽한 해결책은 될 수 없겠지요.
이것은 비단 윈도우의 자동 업데이트에만 해당하는 사항은 아닙니다. 모든 자동 업데이트에 비슷한 문제가 있겠지요. 특히 소스 코드가 공개되어 패치 내용이 한 눈에 보이는 리눅스는 더욱 심할 듯하네요. 이러한 문제에 대해 확실한 해결책이 있을까요? 현재로서는 딱히 생각나는 것이 없군요.
Posted by 랜덤여신

