다운로드 한 파일의 무결성을 확인해야합니까? [복제]


9

엄청난 양의 파일을 다운로드했지만 최근에는 무결성 검사기로 md5와 sha를 사용하는 것을 발견했습니다. 그때부터 나는 항상 손상된 파일을 찾지 못하더라도 큰 다운로드 파일을 확인하는 것을 선호합니다.

다운로드 한 파일의 무결성을 확인해야합니까?

원하는 경우 방금 다운로드 한 Linux 배포판 (1GB)을 예로 선택하십시오.

감사합니다


많은 다운로드는 http 다운로드이며 서버 시간 제한이나 연결 문제로 인해 오류가 발생하지 않고 중단되는 큰 다운로드는 거의 없습니다. 반면에 토렌트와 ftp는 파일이 완료되었는지 명확히해야합니다.
Dan

5
해시를 비교하는 요점은 "파일을 올바르게 다운로드 한 것"보다는 "누군가가 파일을 악의적으로 변경 한 것"일 수 있습니다. 비공식 / 신뢰할 수없는 출처에서 Windows ISO를 다운로드하고 MD5 해시를 MSDN에 게시 된 Microsoft와 비교하여 파일의 무결성을 확인하는 것이 대표적인 예입니다.
TheUser1024

1
@ TheUser1024 이것은 두 소스가 동일하다고 가정하고 MSDN 버전이 다를 수 있습니다.
Eric G

1
이 질문에는 보안에 대한 답변이 더있을 수 있습니다.
Eric G

3
난 단지는 파일 다운로드에 중요한 포인트입니다 경우에도 신뢰할 수있는 출처에서 다운로드 이후는, 보안보다는 무결성에 실제로 더이었다
maxpesa의

답변:


6

몇 가지 요인에 따라 다릅니다.

  1. 인터넷 연결이 안정적입니까?
    인터넷에 안정적으로 연결되어 있다면 파일의 정확성을 확인할 필요가 없습니다. 해시를 확인하지 않았으며 손상된 파일도 없었습니다. 또는 원격 서버 연결이 끊어진 경우가 있습니다.

  2. 보안상의 이유로 파일을 확인 하시겠습니까?
    다운로드하는 파일의 안전성에 대해 걱정이된다면 MD5 해시를 사용하여 파일이 어떻게 든 변경되지 않았는지 확인할 수 있습니다. 파일을 다운로드했는데 MD5 해시가 일치하지 않으면 서버의 파일이 MD5 해시와 다르고 문제가있는 것입니다. 이것은 다운로드하는 서버를 신뢰하지 않는 경우에만 유효하지만 일반적으로 누군가 해시를 제공하는 경우 업데이트를 유지하기 위해 최선을 다합니다. 그러나 그들의 사이트가 해킹 당하고 MD5 해시를 확인한 경우 약간의 보너스를 얻습니다.

전반적 으로이 2는 대부분의 사람들에게 거부감을 줄 것입니다. 그것이 당신에게 아니오라면, 그것은 전적으로 당신에게 달려 있습니다.


1
인터넷 연결이 충분하지 않습니다. 또한 RAM 및 스토리지 드라이브가 파일을 손상시키지 않아야합니다. 그러나, 그렇습니다. 컴퓨터가 BSOD가 아닌 경우 보안에만 관심이있을 수 있습니다.
ChrisInEdmonton

6
파일 체크섬은 보안 검사가 아닙니다. 파일을 수정할 수있는 공격자가 체크섬을 수정할 수도 있기 때문입니다.
Johnny

1
사이트를 해킹하고 파일을 악의적 인 파일로 교체해야한다면 나열된 해시를 변경할 수있을만큼 똑똑하다고 생각합니다.
Cole Johnson

3
MD5로는 더 이상 파일 내용이 의도적으로 변경되지 않았 음을 확인할 수 없습니다. 의도하지 않은 부패에만 적합합니다. 공격자가 두 가지 모두를 손상시킬 확률은 다양합니다. 대부분의 경우 해시 저장소는 대량 다운로드를위한 대량 파일 저장소와 동일한 채널을 통해 액세스되지 않습니다. 보안을 위해, 특히 해시를 배포 할 보안 채널이없는 경우 암호화 서명이 단순 해시보다 낫습니다.
퍼킨스

해시의 아이디어는 제공된 파일이 다른 사이트에서 해시로 호스팅 될 때라고 생각합니다. 예를 들어 Sourceforge 또는 다른 곳으로의 해시 링크가있는 개발자 사이트.
Matthew Lock

6

답과 선택은 자신의 위험 감수성과 검증 시간과 노력에 대한 고려에 근거 할 것입니다.

MD5 / SHA1 해시를 확인하는 것이 좋은 첫 단계이며 시간이있을 때 수행해야합니다. 그러나 제공된 해시를 신뢰할 수있는 능력을 고려해야합니다. 예를 들어 해시가있는 작성자의 웹 사이트가 해킹 된 경우 공격자가 해시를 변경할 수 있으므로 알 수 없습니다. 계산 한 해시가 제공된 해시와 동일 하지 않은 경우 무언가 문제가있는 것입니다. 그러나 해시 일치로 인해 파일이 양호하다는 것을 보장 하지는 않습니다 .

소프트웨어 작성자가 무결성과 신뢰성을 제공하는 더 나은 대안 은 배포 되는 파일디지털 서명하는 것입니다. 이렇게하면 인증 정보가 파일에 첨부되고 일부 웹 사이트를 신뢰하지 않습니다. 작성자가 파일에 디지털 서명을하는 경우이 파일을 위조하는 유일한 방법은 인증 기관이 손상되었거나 개발자의 서명 키를 도난당한 경우입니다. 이 두 가지 경우 모두 인터넷의 웹 사이트보다 해킹 당할 가능성이 훨씬 낮습니다.

궁극적으로, 자신의 실사를 통해 무언가를 신뢰할 것인지 결정한 다음, 대응 여부 (샌드 박스, 가상 머신 등에서 실행)를 사용하여 신뢰할 수 있는지 여부를 결정할 때 수행 한 알 수없는 요인이나 오해를 완화해야합니다. .


4

보안상의 이유로 예. Tor 종료 노드가 다운로드 중에 바이너리를 패치 하는 것으로 확인 된 후 ISP가 최소한의 도덕성을 가질 수도 있고 없을 수도 있으며 인터넷 연결을 완전히 제어하고 있음을 기억하십시오.


ISP에 대한 귀하의 불만은 그들이 연결 속도와 우선 순위 및 파일을 손상시킬 수있는 다른 것들을 변경할 수 있다는 사실에 있습니다.
maxpesa 2019

@maxpesa-원하는 경우 스트림을 수정할 수 있습니다. 파일은 수정되지 않고 손상되지 않습니다.
Ramhound 2019

@maxpesa-ISP가 링크 기사의 Tor 종료 노드와 동일한 위치에 있음을 지적했습니다. 원하는 경우 즉시 다운로드 한 바이너리를 수정할 수 있습니다.
Michael Kohne

2
침입자가 바이너리를 수정할 수 있다면, 대부분의 likley는 해시도 수정할 수 있습니다. 그래도 모든 바이너리를 패치하는 것보다 더 공격적인 공격이 필요하지만 여전히 가능합니다. 해시를 검사하면 손상 피할 있지만 보장 할 수 는 없습니다. 보안에 관심이 있다면 첫 번째 단계는 HTTPS를 통해서만 다운로드하는 것입니다. 특히 tor와 같은 프록시를 사용할 때!
kapex 2019

1
@kapep의 의견에 추가하려면 암호화 서명 (보안 채널을 통해 분산 된 키 사용)을 사용하여 유효성을 검사하는 것이 훨씬 좋습니다. 그렇게하면 침입자가 바이너리를 변경하기 위해 키 저장소 저장소를 모두 손상시켜야합니다 .
Johnny

4

무결성이 중요한 파일의 경우 예

파일의 무결성이 매우 중요한 작업을 수행 할 때 필요한 경우가 종종 있습니다.

예를 들어 OpenWRT로 라우터를 플래싱하는 것이 있습니다. 파일이 손상되면 해당 라우터가 차단 된 후 다음 중 하나를 수행해야합니다.

  • 교체 (비싸다)
  • 수정하십시오 (시간이 오래 걸립니다. 특히 직렬 케이블 / JTAG를 납땜 해야하는 경우)

해시 확인의 단순성과 비교할 때 두 가지 모두 불편합니다. 따라서 중요한 파일에 대해 수행하는 것이 좋습니다.


0

검색 오프셋이있는 HTTP 요청이 널리 사용되지 않으므로 어리석은 일이 발생했을 수 있기 때문에 일반적으로 다운로드가 중단되었는지 확인하고 나중에 다시 시작했습니다.

대부분의 경우 다운로드는 압축 파일로되어 있어도 압축이 풀리지 않습니다. 그렇지 않은 경우 검사는 나쁜 생각이 아닙니다. 한 번 쓰기 미디어에 굽기 전에 ISO를 확인할 수 있습니다.

내가 얻은 것과 동일한 사이트의 해시로 확인하는 것은 다른 대답과 의견에서 알 수 있듯이 보안 측면에서 거의 유용하지 않습니다. 미러에서 다운로드 한 경우 더 유용 할 수 있지만 해시는 원래 업스트림에서 가져옵니다. 또는 파일 이름이 모호하고 어떤 이유로 원하는 정확한 버전이 있는지 확실하지 않습니다.

요점은 해시 게시가 해시를 호스팅하는 동일한 사이트에서 파일을 다운로드하는 것 외에 많은 특수한 경우에 유용하다는 것입니다.

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