64 비트 버전의 Windows가보다 안전한 이유
대부분의 신형 PC는 Windows 7과 8 모두 64 비트 버전으로 출하되었습니다. 64 비트 비트 버전의 Windows는 추가 메모리를 이용하는 데 그치지 않습니다. 32 비트 버전보다 안전합니다..
64 비트 운영 체제는 맬웨어의 영향을받지 않지만 더 많은 보안 기능을 제공합니다. 이 중 일부는 Linux와 같은 64 비트 버전의 다른 운영 체제에도 적용됩니다. Linux 사용자는 Linux 배포판의 64 비트 버전으로 전환하여 보안 이점을 얻을 수 있습니다..
주소 공간 레이아웃 무작위 화
ASLR은 프로그램의 데이터 위치가 메모리에서 임의로 정렬되도록하는 보안 기능입니다. ASLR 이전에는 메모리상의 프로그램 데이터 위치를 예측할 수 있었기 때문에 프로그램에 대한 공격이 훨씬 쉬워졌습니다. ASLR을 사용하면 침입자는 프로그램의 취약점을 악용하려고 시도 할 때 메모리에서 정확한 위치를 추측해야합니다. 잘못된 추측은 프로그램이 충돌 할 수 있으므로 공격자는 다시 시도 할 수 없습니다.
이 보안 기능은 32 비트 버전의 Windows 및 다른 운영 체제에서도 사용되지만 64 비트 버전의 Windows에서 훨씬 강력합니다. 64 비트 시스템은 32 비트 시스템보다 훨씬 큰 주소 공간을 가지므로 ASLR이 훨씬 효율적입니다..
필수 드라이버 서명
64 비트 버전의 Windows는 필수 드라이버 서명을 시행합니다. 시스템의 모든 드라이버 코드에는 디지털 서명이 있어야합니다. 여기에는 커널 모드 장치 드라이버 및 프린터 드라이버와 같은 사용자 모드 드라이버가 포함됩니다.
필수 드라이버 서명은 맬웨어가 제공하는 서명되지 않은 드라이버가 시스템에서 실행되는 것을 방지합니다. 맬웨어 작성자는 부팅 과정 루트킷을 통해 서명 프로세스를 우회하거나 합법적 인 드라이버 개발자로부터 도난당한 유효한 인증서로 감염된 드라이버에 서명해야합니다. 이로 인해 감염된 드라이버가 시스템에서 실행하기가 더 어려워집니다..
드라이버 서명은 32 비트 버전의 Windows에서도 시행 될 수 있지만 서명되지 않은 기존 32 비트 드라이버와의 지속적인 호환성은 없습니다..
64 비트 버전의 Windows에서 개발 중에 드라이버 서명을 사용하지 않도록 설정하려면 커널 디버거를 연결하거나 시스템을 다시 부팅해도 지속되지 않는 특수 시작 옵션을 사용해야합니다.
커널 패치 보호
PatchGuard라고도하는 KPP는 64 비트 버전의 Windows에서만 발견되는 보안 기능입니다. PatchGuard는 커널 모드에서 실행중인 드라이버도 소프트웨어가 Windows 커널을 패치하지 못하게합니다. 이것은 항상 지원되지 않지만 32 비트 버전의 Windows에서는 기술적으로 가능합니다. 일부 32 비트 안티 바이러스 프로그램은 커널 패치를 사용하여 안티 바이러스 보호 조치를 구현했습니다..
PatchGuard는 장치 드라이버가 커널을 패치하지 못하게합니다. 예를 들어 PatchGuard는 루트킷이 Windows 커널을 수정하지 못하게하여 운영 체제에 포함시킵니다. 커널 패치 시도가 감지되면 Windows가 즉시 파란색 화면 또는 종료로 종료됩니다.
이 보호는 32 비트 버전의 Windows에서 실행될 수 있지만이 액세스에 의존하는 레거시 32 비트 소프트웨어와 계속 호환 될 가능성은 없습니다.
데이터 실행 보호
DEP는 운영 체제가 "NX 비트"를 설정하여 메모리의 특정 영역을 "실행 불가능"으로 표시하도록 허용합니다. 데이터를 보유하기로되어있는 메모리 영역은 실행 가능하지 않습니다.
예를 들어 DEP가없는 시스템에서 공격자는 일종의 버퍼 오버 플로우를 사용하여 응용 프로그램의 메모리 영역에 코드를 쓸 수 있습니다. 이 코드는 실행될 수 있습니다. DEP를 사용하면 공격자가 응용 프로그램의 메모리 영역에 코드를 작성할 수 있지만이 영역은 실행 불가능으로 표시되고 실행되지 않아 공격을 막을 수 있습니다.
64 비트 운영 체제에는 하드웨어 기반 DEP가 있습니다. 이 기능은 최신 CPU를 사용하는 경우 32 비트 버전의 Windows에서도 지원되지만 기본값 설정은 더욱 엄격하며 DEP는 항상 64 비트 프로그램에 대해 사용하도록 설정되어 있지만 호환성 문제로 인해 기본적으로 32 비트 프로그램에서는 사용할 수 없습니다.
Windows의 DEP 구성 대화 상자가 약간 잘못된 것입니다. Microsoft의 설명서에서 알 수 있듯이 DEP는 항상 모든 64 비트 프로세스에 사용됩니다.
"시스템 DEP 구성 설정은 32 비트 또는 64 비트 버전의 Windows에서 실행될 때 32 비트 응용 프로그램 및 프로세스에만 적용됩니다. 64 비트 버전의 Windows에서 하드웨어 적용 DEP를 사용할 수있는 경우 64 비트 프로세스와 커널 메모리 공간에 항상 적용되며이를 사용하지 않도록 설정하는 시스템 구성 설정은 없습니다. "
WOW64
64 비트 버전의 Windows에서는 32 비트 Windows 소프트웨어가 실행되지만 WOW64 (Windows 64 비트에서는 Windows 32 비트)라는 호환성 계층을 통해 수행됩니다. 이 호환성 레이어는 이러한 32 비트 프로그램에 몇 가지 제한 사항을 적용하여 32 비트 맬웨어가 올바르게 작동하지 못하게 할 수 있습니다. 32 비트 맬웨어도 커널 모드에서 실행될 수 없으며 64 비트 프로그램에서만 64 비트 프로그램에서만 64 비트 프로그램 만 실행할 수 있습니다. 따라서 일부 오래된 32 비트 맬웨어가 제대로 작동하지 않을 수 있습니다. 예를 들어 Sony 루트킷이있는 오래된 오디오 CD가있는 경우 64 비트 버전의 Windows에 자체 설치가 불가능합니다.
64 비트 버전의 Windows에서도 이전 16 비트 프로그램에 대한 지원이 중단됩니다. 고대의 16 비트 바이러스가 실행되는 것을 방지 할뿐만 아니라, 취약한 패치가 적용될 수있는 고대의 16 비트 프로그램을 업그레이드해야합니다..
현재 64 비트 버전의 Windows가 널리 보급되어 있기 때문에 64 비트 Windows에서 새로운 맬웨어가 실행될 수 있습니다. 그러나 호환성이 없으면 야생에서 오래된 맬웨어로부터 보호 할 수 있습니다..
낡은 16 비트 프로그램을 사용하지 않는 한, 32 비트 드라이버 만 제공하는 고대 하드웨어 나 상당히 오래된 32 비트 CPU를 사용하는 컴퓨터는 64 비트 버전의 Windows를 사용해야합니다. 사용중인 버전을 모르지만 Windows 7 또는 8을 실행하는 최신 컴퓨터를 사용중인 경우 64 비트 버전을 사용하고있을 가능성이 큽니다..
물론 이러한 보안 기능은 절대 안전한 것은 아니며 64 비트 버전의 Windows는 여전히 맬웨어에 취약합니다. 그러나 64 비트 버전의 Windows는 확실히 안전합니다..
이미지 크레디트 : Flickr의 William Hook