2009-03-22 13 views
3

인터넷에서 다양한 실행 파일이나 zip 파일을 다운로드 할 때 체크섬을 사용한 적이 없습니다. 일관성을 검사하고 약간의 보안을 추가하는 데 사용된다는 것을 알고 있습니다. 그러나 아파치 나 마이크로 소프트 같은 훌륭한 프로젝트에서 다운로드 할 때 필요합니다. 얼마나 많은 사람들이 내용을 확인하기 위해 체크섬이나 해시 코드를 실제로 사용합니까?다양한 프로젝트의 다운로드에 해시 코드 또는 체크섬이있는 이유는 무엇입니까?

참고하시기 바랍니다, 내가 너무 멀리 StackOverflow의 허용되는 콘텐츠에서 벗어난 경우 알려 주시기 바랍니다.

답변

8

무결성이 중요한 파일 (예 : 리눅스 배포판의 iso)을 다운로드 할 때 나는 다운로드를 md5sum하는 경향이 있습니다.

원본은 신뢰할 수 있지만 자신의 NIC 하드웨어가 오작동하기 시작할 수 있는지 알 수 없습니다.

+1

공용 웹 사이트에서 FTP 또는 HTTP로 파일을 가져 오는 경우 TCP를 사용한다고 가정하면 하드웨어 계층이 실패해도 파일의 오류 수정에 영향을 미치지 않습니다. – mozboz

+1

과거에 다운로드 한 ISO 이미지에서 작성한 CD를 실행하는 데 문제가있었습니다. ISO 파일에서 항상 손상된 부분을 추적합니다. 다운로드 한 모든 ISO 이미지에서 체크섬을 확인하기로 결정했기 때문에 모든 CD가 정상적으로 작동했습니다. –

+1

실제로 이론적으로 TCP 체크섬은 데이터의 오류를 감지해야하지만 오류가 발생할 수있는 시나리오가 있습니다. 예 : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.7611. 또한, 오작동 프록시는 모든 종류의 전송을 손상시킬 수 있습니다. – sleske

1

다운로드 한 파일이 좋은 파일이고 악의적 인 의도가있는 다른 파일로 수정되지 않았는지 확인하십시오. Apache의 this 정보는 다음과 같습니다 :

"모든 공격자는 공개 키를 생성하여 공개 키 서버에 업로드 할 수 있으며,이 위조 키로 서명 된 악성 릴리스를 생성 할 수 있습니다. 이 손상된 릴리스의 서명은 키가 실제 키가 아니기 때문에 성공할 수 있으므로이 키의 정품 여부를 확인해야합니다. "

here 단계를 수행 할 수 있는지 확인하려면 다음을 수행하십시오.

1

이렇게하면 파일의 무결성을 확인할 수 있습니다. 나는 항상 그것을 사용한다. 기본적으로 MD5 체크섬을 생성하는 프로그램이나 파일에 사용 된 해싱 방법이 무엇이든간에 프로그램을 실행하여 두 체크섬이 일치하는지 확인하십시오. 그렇지 않으면 파일이 다릅니다. 그러나 동일한 체크섬을 생성하는 두 개의 파일을 가질 수는 있지만 예제를 고안하지 않는 한 동일한 크기의 두 파일을 비교할 가능성은 매우 낮습니다.

매우 유용합니다. 최근에 CD 굽기 프로그램에서 버그를 발견했습니다. 특정 컴퓨터의 특정 파일에 문제가 발생했습니다. 마지막으로 CD의 파일과 원본 컴퓨터의 파일의 체크섬을 비교해 보았습니다.이 파일들은 서로 다르므로 문제를 해결할 수있었습니다!

1

큰 파일을 다운로드하고 다운로드하기 전에 손상된 파일이 있는지 (예 : 응용 프로그램이 올바르게 설치되지 않은 경우) 확인하고 싶을 때만 유용합니다.

5

또 다른 용도는 이미 가지고있는 파일이 신뢰할 수있는 출처에서 다운로드 할 수있는 파일과 동일 (즉, 변경되지 않고 손상되지 않고 최신 파일 임)하는지 확인하는 것입니다.

이 이전에 다른 사이트

  • 에서 파일을 가지고 파일
  • 을 다운로드 당신은
  • 누군가가 당신에게 파일을 준 네트워크 공유에서 파일을 가지고

    • 경우 발생할 수 있습니다 CD/플래시 드라이브/etc
    • 잠재적으로 긴 다운로드를 피할 수있는 다른 방법을 사용했습니다.
  • 1

    신뢰할 수있는 출처 (예 : 아파치.org)에서 다운로드 요청은 mirror 사이트에서 제공 될 것입니다. 문제의 신뢰할 수있는 사이트에는 모든 요청을 처리 할 수있는 리소스가 있으므로 미러는 중요한 기능을 수행합니다. 그러나 신뢰할 수있는 사이트가 미러 사이트를 완벽하게 제어 할 수있는 것은 아니며 미러의 소유자 (또는 타사)가 미러 된 실행 파일을 악성 코드로 바꿀 수 있습니다. 다운로드 한 파일에 대한 신뢰할 수있는 소스의 해시를 확인하면 어떤 이유로 든 전송 중에 변경되지 않았 음을 보증합니다.

    1

    무결성을 이유로 (특히 ascii 모드에서 실수로 다운로드 한 FTP 사이트). 또한 위치 a에서 다운로드하고 위치 b에서 체크섬을 받았다고 가정하면 다운로드가 변경되지 않았는지 확인하는 데 사용할 수 있습니다 (종종 미러에서 다운로드하고 공식 사이트에서 해시하는 경우).

    그러나 무결성을 위해 파일을 서명하면 해싱하는 것보다 유용 할 것입니다.

    0

    나는 소스 기반 패키지 관리자 인 Mac OS X에서 MacPorts을 사용합니다. 각 Portfile에는 Mac OS X에서 소프트웨어를 다운로드, 패치, 컴파일 및 설치하는 방법에 대한 설명이 들어 있습니다. Portfile에는 다운로드 할 특정 버전의 tarball의 체크섬이 포함되어 있습니다. 이렇게하면 여러 가지 가능한 문제에서 파일의 무결성을 보장 할 수 있습니다. 때로 사람들은 버전 번호를 증가시키지 않고 패치를 적용하지 않거나 특정 조건에서 코드를 깨뜨릴 수있는 tarball을 업데이트하거나 때로는 패키지가 손상되거나 희망에 따라 소프트웨어를 침해 할 수 있습니다 당신이 그것을 설치할 것입니다.

    그렇기 때문에 소프트웨어를 설치할 때마다 체크섬을 사용합니다 (패키지 관리자는 자동으로 자동으로 수행하지만 직접하지는 않습니다). 존경할만한 프로젝트에서 수동으로 다운로드하더라도 더 빠르고 가까운 미러에서 코드 자체를 다운로드 한 다음 신뢰할 수있는 마스터 서버에서 다운로드 한 복사본에 대해 체크섬을 확인하고자합니다. 이는 하나의 미러가 아닌 여러 서버가 손상되면 공격하기가 더 어려워집니다.