우분투 패키지 (deb 파일)는 md5sum 만 보호됩니까?


13

아래 질문에 대한 소개 배경 ###

(질문이 더 많은 사람들에게 더 사용할 수 있도록)
의 내부 우분투 / 데비안 스타일 패키지 (* 이라구 파일)라는 이름의 파일이 /DEBIAN/md5sums이 양식의 내용이 :

212ee8d0856605eb4546c3cff6aa6d35 usr / bin / file1
4131b66dc3913fcbf795159df912809f 경로 / to / file2
8c21de23b7c25c9d1a093607fc27656a 경로 / to / file3
c6d010a475366e0644f3bf77d7f922fd 경로 / to / place / of / file4

필자가 가정 한 것처럼이 파일은 패키지와 함께 제공되는 파일이 어떻게 든 손상되지 않았는지 확인하는 데 사용됩니다. 파일은`/ DEBIAN / md5sums "라고 불리기 때문에 path + filename 앞의 16 진수 는 패키지 파일 의 MD5 Message-Digest Algorithm Hash 라고 가정 합니다.

이제 관심있는 모든 사람들은 MD5 해시가 이미 오래 전에 고장났다는 것을 알고 있습니다. 따라서 패키지의 파일 내용 (예 : 악의적 인)을 완전히 변경하고 여전히 동일한 MD5- 해시를 가진 파일을 가질 수 있습니다 (예 : "Prodicting the winner ...."개념 증명 참조 ).

질문

위의 정보를 염두에두고 다음을 알고 싶습니다.

** 우분투 시스템에 패키지를 설치한다고 가정합니다. 인가 DEBIAN/md5sums확인 데이터가 위조되지 않았 만들 수있는 유일한 수단? **

질문에 대답하면 다음을 알아내는 데 도움이 될 수 있다고 생각합니다.

  • 수신 된 파일이 "안전"/ "비 암호화"되도록하는 다른 방법이 있도록 deb 패키지 전체도 해시 (해시 값으로 작성)입니까?
  • DEBIAN/md5sums무결성을 보장 하는 다른 방법이 파일 이라면 * .deb 패키지에 포함 된 파일은 무엇입니까?
  • Ubuntu는 SHA-1 및 MD5보다 "손상되지 않은"리포지토리 / 패키지 시스템에 해시를 사용합니까?

불행히도 나도 몰라

질문에 불을 붙일 수있는 (또는 하위 질문 만) 응답하는 것은 매우 환영합니다

최신 정보

(1) https://help.ubuntu.com/community/Repositories/Ubuntu#Authentication_Tab 은 (원하는대로) repos와 package 시스템을 유지하기 위해 공개 / 개인 gpg 키가 안전하다는 것을 나타냅니다. 공격으로부터. 연결된 위치의 정보는 그리 많지 않습니다. 패키지 시스템의 보안 측면에 대해서는 거의 알려주지 않습니다. 어쨌든 나는 링크가 이미 질문에 대한 답변이 "적어도-최소한 repo의 deb 패키지는 ...."로 보호된다고 표시한다고 가정합니다. 누군가가 여기에 대한 답변에 사용할 통찰력이 있기를 바랍니다.

(2)이 질문은 우분투 패키지 시스템의 "보안"주제에 관한 것 같습니다. 그래서 누군가가 질문을 알아 내려고 노력한다면 광고 손을 넣으 십시오. 왜 제안 된 BADSIG (Apt-get update) 수정 프로그램이 안전한가요?


1
debian.org/doc/debian-policy/… 는 SHA-1 및 SHA256 파일 별 체크섬에 대한 지원을 나타내지 만 apt체크섬 정책이 무엇인지 모르겠습니다 .
chronitis

1
@chronitis 링크를 주셔서 감사합니다. 실제로 SHA- * 해시가 언급되어 있지만 패키지 (아직 보지 못했던) 또는 패키지 시스템에 어떻게 나타나는지 알아야합니다. 글쎄, 그 적응증은 이미 좋은 단계입니다.
인류

답변:


21

Ubuntu는 RSA 키로 서명 된 매니페스트를 게시합니다. 매니페스트에는 각각 PackagesMD5, SHA-1 및 SHA-256 해시가있는 개별 인덱스 파일이 나열 됩니다. 각 Packages파일은 .debMD5, SHA-1 및 SHA-256 해시가있는 개별 파일을 나열 합니다.

확인을 위해 apt는 지원하는 최상의 해시를 사용하며 다운로드하는 아카이브에서 게시합니다. 우분투 아카이브의 경우 이것은 SHA-256입니다.

따라서 Ubuntu 시스템에 패키지를 설치하는 전체 체인은 RSA 및 SHA-256으로 보호됩니다.

dpkg에 존재하는 MD5 보호는 실제로 우발적 인 손상에만 유용하며 설치 경로를 보호 할 필요는 없습니다.

debsums패키지에 관심이있을 수 있지만 MD5를 사용하므로 우발적 인 손상 여부를 확인하는 데만 유용합니다.

악의적 인 시스템 수정을 확인하려면 적절한 도구가 아닙니다. 시스템을 오프라인으로 전환하고 이전 레코드, 원본 패키지 파일 또는이 파일에서 생성 된 보안 해시를 확인해야합니다.

악의적 인 수정이 성공하면 보안 업데이트 전에 패키지를 단순히 다운 그레이드하는 것이므로 설치된 모든 패키지 파일이 원본과 일치하는지 확인하는 것만으로는 충분하지 않을 수 있습니다.


1
나는 더 명확한 통찰력을 얻었습니다. 내가 찾은 어려움이있는이 모든 정보를 어디서 얻었습니까? 사용한 도쿠 스 / 링크가 있습니까? 또한 귀하가 언급 한 "다운 그레이드 위험"에 대해 언급 해 주셔서 감사합니다. 아직 이것이 어떻게 악용 될 수 있는지 이해하지 못했습니다. 큰! 감사합니다
humanandANDpeace

apt 저장소 형식이 올바르게 지정되거나 문서화되어 있다고 생각하지 않습니다. 이것은 나쁘지 만 그것이 그렇게합니다. 가장 좋은 (내 지식으로는) 문서는 소스입니다. 나는 소스에서 일했기 때문에 세부 사항을 알고 있습니다. 다른 한편으로, dpkg 형식은 데비안 정책에 아주 잘 지정되어 있습니다. 시스템에서 패키지가 끝난 후 발생하는 상황을 다루지 만 패키지가 도착하는 방식은 다루지 않습니다. 후자는 apt에 의해 수행됩니다.
Robie Basak

다운 그레이드 위험 : 이것은 제쳐두고 실제로 원래 질문에 직접 연결되지는 않습니다. 익스플로잇 X가 버전 A에서 발견되면 취약점이 수정 된 버전 B에 대한 보안 업데이트가 제공됩니다. 공격자가 버전 A에서 X를 악용 할 수 있다면 B로 업그레이드했기 때문에 안전합니다. 그러나 공격자가 사용자를 A로 다운 그레이드 할 수 있으면 다시 취약 해집니다. 패키지 데이터베이스에 B가 아닌 A가 설치되어 있다고 가정하기 때문에 모든 보안 해시가 설치 한 패키지와 일치하더라도이 사실을 알 수 없습니다.
Robie Basak

2
@RobieBasak "아파트 저장소 형식이 제대로 지정되거나 문서화되어 있다고 생각하지 않습니다." 분명히 이것은 사실이 아닙니다. 당신은 그것을 찾아야합니다. 데비안 위키 : RepositoryFormat
gertvdijk

6

나는 이것이 주석이되기를 원했지만 상자에 넣을 수 없어 여기에 배치했습니다.

예, md5가 암호 적으로 손상되었지만 이것이 범용 해싱 알고리즘이 나쁜 것은 아닙니다. 같은 해시를 갖도록 파일을 수정하는 것은 매우 어렵고 특정 악의적 인 변경으로 수행하는 것은 불가능합니다. 참조한 예제를 보면 ( Prenering the Winner ) 다음을 참조하십시오.

"먼저 충분한 양의 임의의 비트를 포함하는 숨겨진 이미지 객체가 포함 된 유효한 PDF 문서로 문서를 먼저 준비했습니다. 그런 다음 위에 표시된 다이아몬드 구조에 따라 11 개의 선택된 접두사 충돌을 계산하여 숨겨진 내부에 배치했습니다. 이러한 방식으로 12 개의 문서가 MD5 다중 충돌로 바뀌 었습니다. "

해쉬가 일치하도록 임의의 데이터 로 파일을 채우는 작업이 완료되었습니다 . 이 기술은 파일에 특정 악성 코드를 추가하고 해시를 줄이거 나 파일을 변경하지 않았 음을 분명히 할 수있는 곳이 아닙니다 (적절한 지 잘 모르겠지만 많은 파일 해시가 있습니다) 감지 할 수없는 해시 충돌의 난이도를 높이기 위해 파일 크기와 함께 제공).


3
답변 감사합니다. 나는 그것이 전체 배경에 더 많은 빛을 준다는 점에서 좋은 대답이라고 생각한다. 주제에 대해 자세히 설명합니다.
humanandANDpeace

준비된 PDf 파일은 임의의 데이터를 가지며이 모든 노력으로 104kb에 불과합니다. 왜 이것이 불가능하다고 말하겠습니까? deb 패키지에는> 200kb의 많은 파일이 있어야합니다. 나는 깜짝 놀라게한다는 개념의 증거를 본 후의 그렇게 안전하지 기분이 나 충격
humanityANDpeace

텍스트 파일의 약간의 공백 차이와 같이 미묘한 변경이 이상하게 보이지 않는 합법적 인 파일에는 많은 장소가 있습니다. 합법적으로 보이며 원하는 대상 MD5와 일치하는 악성 파일을 생성 할 수있는 충분한 범위를 갖기 위해이 장소 중 약 128 개만 찾으면됩니다. 이 특정 공격이이 상황에 적용될 수 있는지 확실하지 않습니다.
Robie Basak

@RobieBasak, 당신은 공격을 오해합니다. 파일에서 128 바이트 만 변경하고 md5sum을 보존 할 수는 없습니다. 파일의 두 복사본에 다른 두 세트의 임의 데이터로 표시되는 청크를 삽입해야하며 "랜덤"데이터의 두 청크가 다르더라도 서로 동일한 md5sum을 갖습니다.
psusi

1

md5는 "깨지지 않았습니다". 그들이 찾은 것은 원래 메시지와 동일한 해시를 가진 수정 된 메시지를 신중하게 작성하는 방법이었습니다. (올바른 파일)을 변조하기 위해 특별히 제작되지 않은 원본 메시지를 가져 와서 md5sum을 보존하는 방식으로 수정하는 것은 불가능합니다.


확인. 그러나 현재 "중단되지 않은"MD5 보안 상태를 나타내는 좋은 방법은 무엇입니까? 나는 당신이 말하는 것을 이해할 수 있으며 그것을 지적 해 주셔서 감사합니다. 아직도 MD5 등으로 현재의 안전성을 평가하는 방법이 궁금합니다.
humanandANDpeace

@humanityANDpeace, "괜찮아".
psusi

나는 낙관적 인 태도를 좋아합니다. 나는 결국 개념 증명의 증거에 놀랐다. 감사!
humanandANDpeace

1
"Crypto 전문가는 MD5가 고장난 것으로 간주합니다. 따라서 고장난 것으로 간주해야합니다." 그것은 세상이 작동하는 방식이 아닙니다. @RobieBasak 암호 애호가로서 (나 자신을 "전문가"라고 부를 수는 없지만 몇 년 전에 그것을 파헤쳐 야했습니다.) 체크 아웃할만한 흥미로운 사례가 있지만 이론적으로는 atm 인 것 같습니다. 그러나 그것은 우분투의 포장을 깨뜨리지 않을 것입니다;) 0 psusi로 돌아 가기;)
Rinzwind

1
@jackweirdy는 실제로 존재하기 때문에 그렇게하지 않았습니다. 이 방법은 매우 특정한 속성을 가진 두 데이터 세트에 의존합니다. 공개 키 쌍과 매우 비슷합니다. 서로 일치하는 키 쌍을 생성 할 수 있지만 하나만 제공하면 다른 키를 파악할 수 없습니다.
psusi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.