하드 드라이브-맬웨어 감염 후 HPA 및 DCO와 같은 "숨겨진 영역"을 제거합니다


9

배경:

Windows에 일부 맬웨어, 아마도 루트킷 또는 부트 킷이 있습니다. 나는 기회를 원하지 않았기 때문에 어리석게 DBAN (PRNG, 8 패스)으로 드라이브를 닦았습니다. 나중에 DBAN은 일부 하드 드라이브에서 사용하는 "숨겨진 영역"인 HPA (Host Protected Area) 또는 DCO (Drive Configuration Overlay)를 제거하지 않습니다.

나는 톱 HDDErase가 존재하는 경우 HPA와 DCO를 제거 할 수 있습니다 CMRR에 의해 만들어진,하지만이 프로젝트는 2005 또는 2007 그래서에서 중단되었습니다, 나는 리눅스에 와서 hdparm그것이 내가 Windows를 설치할 수있는 내 HDD 100 % 깨끗한 정도 닦아 것이라는 희망에 다시 100 % 깨끗한 하드 드라이브에서. 또한 HPA 및 DCO를 제거하지만 $ 50의 "BC Wipe Total Wipeout"도 살펴 보았습니다.

나는 Bash 기술이 거의없는 평범한 컴퓨터 사용자입니다.

질문 :

내 드라이브는 320GB 7200RPM Seagate 드라이브입니다.

의 출력 sudo hdparm --dco-identify /dev/sda:

/dev/sda:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
    Transfer modes:
         mdma0 mdma1 mdma2
         udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
    Real max sectors: 625142448
    ATA command/feature sets:
         SMART self_test error_log security HPA 48_bit
         (?): selective_test conveyance_test write_read_verify
         (?): WRITE_UNC_EXT
    SATA command/feature sets:
         (?): NCQ interface_power_management SSP
  1. 이 결과는 무엇을 의미합니까? HPA DCO에 맬웨어가 남아 있지 않도록하려면 어떻게해야합니까?

  2. 섹터 대신 GB 단위로 크기를 찾는 방법이 있습니까?

  3. hdparm완전한 할 모든 악성 코드 닦아 그 HPA와 DCO에있는?

나는 또한 Wiki 페이지에서 이것을 보았고 조금 걱정했다.

hdparm은 더 심각한 단점이 있습니다. 특정 매개 변수를 잘못 사용하면 컴퓨터가 충돌하여 디스크의 데이터에 액세스 할 수 없게됩니다. 대략 69 개의 ​​매개 변수 중 일부는 위험하며 무차별 적으로 사용될 경우 "대량 파일 시스템 손상"을 초래할 수 있습니다.


hy hdd는 보안 삭제 유닛을 강화했습니다. HPA와 DCO를 지우는 데 유용합니까?
Deen

3
방금 모든 파일 시스템을 포함하여 전체 디스크를 지우고 파일 시스템 손상이 걱정됩니까?
Hennes

분명히 하드 디스크가에 따라, 하드 디스크를 삭제에서 악성 코드를 방지하기 위해 "냉동"입니다 - forums.seagate.com/t5/Desktop-HDD-Desktop-SSHD/...
디나

이런 식으로 고정 해제? - techsupportforum.com/forums/f15/...
디나

@Hennes-죄송합니다. 이해가되지 않습니다. 당신은 내가 평균 사용자라는 것을 놓쳤을 수도 있습니다. 당신이 말한 것을 설명하십시오.
Deen

답변:


10

따라서 DBAN으로 드라이브를 어리석게 닦았습니다 (PRNG, 8 패스). 나중에 DBAN이 HPA (호스트 보호 영역) 및 DCO (드라이브 구성 오버레이)를 종료하지 않음을 알게되었습니다.

따라서 드라이브가 초기화되었으므로 드라이브에 파티션 테이블, 파일 시스템 또는 데이터가 없습니다. 따라서 데이터 손상이나 파일 시스템 손상이 존재하지 않으므로 DBAN이이를 보장하므로 다음 HDPARM 경고는 적용되지 않습니다.

hdparm은 더 심각한 단점이 있습니다. 특정 매개 변수를 잘못 사용하면 컴퓨터가 충돌하여 디스크의 데이터에 액세스 할 수 없게됩니다. 대략 69 개의 ​​매개 변수 중 일부는 위험하며 무차별 적으로 사용될 경우 "대량 파일 시스템 손상"을 초래할 수 있습니다.

Linux 부팅 디스크를 시작하고 실행 hdparm


HDPARM을 사용하여 HPA를 지우려면

대상으로하는 x = 장치의 경우 다음 HDPARM 명령을 사용하여 HPA가 활성화되어 있는지 표시하십시오.

# hdparm -N /dev/sdx

HPA가 정의 된 경우 다음과 같은 내용이 다시 표시됩니다.

/dev/sdx:
max sectors   = 78125000/78165360, HPA is enabled

HPA를 제거하고 가시 영역을 드라이브의 전체 크기로 확장하려면 위 보고서의 분모를 사용하십시오 (표시 영역 / 최대 섹터).

# hdparm -N p78165360 /dev/sdx

보이는 영역이 최대 섹터와 같고 HPA가 비활성화되었다는 보고서를 다시 표시합니다.

/dev/sdx:
setting max visible sectors to 78165360 (permanent)
max sectors   = 78165360/78165360, HPA is disabled

HDPARM을 사용하여 DCO가 있는지 확인하고 공장 기본값으로 다시 설정하려면

DCO는 제조업체에서 설정하므로 DCO를 엉망으로 만들면 드라이브가 손상 될 수 있습니다. 그러나 실제로 엉망이 될 수있는 정교한 악성 코드가 있다고 생각하면 문제가 가장 적습니다. DCO를 보려면 다음 HDPARM 명령을 사용하십시오.

# hdparm --dco-identify /dev/sdx

귀하의 예에서, 그것은 당신에게 주었다 :

/dev/sda:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
    Transfer modes:
         mdma0 mdma1 mdma2
         udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
    Real max sectors: 625142448
    ATA command/feature sets:
         SMART self_test error_log security HPA 48_bit
         (?): selective_test conveyance_test write_read_verify
         (?): WRITE_UNC_EXT
    SATA command/feature sets:
         (?): NCQ interface_power_management SSP

따라서 드라이브 제조업체는 DCO를 사용하여 허용 가능한 데이터 전송 모드 (MDMA, UDMA), 실제 드라이브 크기 (최대 섹터) 및 비활성화 할 수있는 ATA / SATA 명령을 정의합니다.

DCO를 공장 기본값으로 되돌리려면 다음 HDPARM 명령을 사용할 수 있습니다.

# hdparm --dco-restore /dev/sdx

DCO를 변경하면 총 데이터 손실이 발생한다는 다음 경고가 표시됩니다. 파티션 크기를 변경하거나 파티션 테이블을 지우고 잘못된 매개 변수로 복원하는 것으로 생각하십시오. 닦은 디스크에서 이미 데이터를 잃어 버렸습니다. 기본적으로 죄송합니다. 진행하기 전에 데이터를 백업하지 않았습니다. 명령 실행 후 DCO가 일치하지 않고 크기 재 할당으로 인해 드라이브에서 어떤 것도 복구 할 수 있다고 생각하면 SOL입니다.

/dev/sdx:
Use of --dco-restore is VERY DANGEROUS.
You are trying to deliberately reset your drive configuration back to
the factory defaults.
This may change the apparent capacity and feature set of the drive,
making all data on it inaccessible.
You could lose *everything*.
Please supply the --yes-i-know-what-i-am-doing flag if you really want this.
Program aborted.

지침에 따라 다음 "결과에 동의합니다"스위치를 추가하십시오.

# hdparm --yes-i-know-what-i-am-doing --dco-restore /dev/sdx

그리고 그것은 당신에게 알려줍니다 :

/dev/sdx:
issuing DCO restore command

2
linux.die.net/man/8/hdparm- 맨 페이지 hdparm는 내가 본 것 중 가장 무서운 것입니다.
LawrenceC

1
그렇습니다. 명확하게 이해되지 않는 펌웨어를 엉망으로 만드는 것은 결과적으로 발생할 수 있으며 경우에 따라 둥근 원반 모양의 광택이있는 알루미늄 벽돌과 매우 강력한 자석 생길 수 있습니다 .
Fiasco Labs

DCO 복원 명령을 실행하지 않도록 드라이브를 브릭 킹하고 싶지 않습니다. 나는 창문 복원으로 가서 어떤 일이 일어나는지 볼 것입니다. 맬웨어가 발생하면 HDD를 버리고 새 하드 디스크를 가져옵니다. "Rakshasa"멀웨어가 BIOS를 감염시키고 훨씬 더 지속적으로 유지할 수 있다고 주장하지 않는 한 잘 작동 할 것입니다 :) google.com/…
Deen

다시 시작하지 않고 HPA를 복구하는 방법에 대한 유용한
akostadinov

2

1KB로보고 된 1TB 드라이브에 최근 문제가 있었고 디스크 관리자가 미디어를보고하지 않았습니다. Passmark.com의 DiskCheckup이라는 무료 프로그램을 사용했습니다.

프로그램을 실행하고 영향을받는 디스크를 선택한 후 '숨겨진'탭을 클릭하여 3 개의 입력 상자를 찾았습니다. 첫 번째 '최대 사용자 LBA'는 1 만 표시했습니다. 두 번째 및 세 번째 (기본 및 디스크)는 올바른 숫자를 나타냅니다. 확인란을 선택하여 변경을 허용하고 첫 번째 상자에 올바른 숫자를 입력하여 3 개 모두 동일한 수의 LBA를 표시했습니다. 그런 다음 '적용'버튼을 클릭하십시오. 모두 완료되었습니다.

디스크 관리자로 돌아가서 Actions 메뉴에서 'rescan'을 클릭하면 전체 파티션 정보가 드라이브에 완전히 액세스 할 수있게되었습니다. EasyRE와 같은 것을 사용하여 부팅 가능한 드라이브 인 경우 MBR을 교체해야 할 수도 있습니다.

죄송합니다. 이전에 답변을 찾아 보았는데 이것이 Linux 사이트이고 내 답변이 Windows에만 적용된다는 것을 인식하지 못했습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.