Linux Mint 패키지는 소프트웨어 관리자에게 제출되기 전에 어떤 형태로든 수동 검토를 거치나요?
여러 번 다운로드해야 하는 discord와 같은 앱의 리뷰는 53개에 불과한 반면, Rider와 같은 앱의 리뷰는 2개에 불과하기 때문에 이 질문을 드립니다. 이 패키지를 조사하여 해당 패키지가 실제로 올바른 소스에서 왔으며 트로이 목마가 아닌지 확인한 사람이 있습니까?
답변1
댓글은 안전과 아무런 관련이 없으며 인기투표가 아닙니다. 패키지 관리자는 github, gitlab, sourceforge 등과 같은 애플리케이션 소스 코드 저장소에서 생성한 패키지의 소스 코드를 얻습니다.
Mint에는 3가지 주요 패키지 소스가 있습니다. 첫 번째는 Debian sid 패키지 풀입니다. 여기서 Ubuntu는 다음 우분투를 빌드할 때 많은 패키지를 얻습니다. 둘째, 우분투는 자체 패키지를 많이 만듭니다. 셋째, Mint는 자체 패키지도 일부 만듭니다.
무작위로 다양한 소스에서 프로그램(일명 소프트웨어 패키지)을 설치할 때 혼란스러울 수 있는 점은 Windows의 보안이 완전히 부족하다는 것입니다. 소프트웨어를 설치하는 사람은 일반적으로 누가 실행 파일을 만들고, 누가 배포하는지 거의 알지 못합니다. 이러한 문제는 적은 수의 GNU/Linux 패키지 저장소에는 존재하지 않습니다. 패키지를 만든 사람이 누구인지, 승인된 패키저인지, Debian(공식 Debian 패키저가 되기는 매우 어렵습니다), Ubuntu(다시 말하지만, 주요 Ubuntu 패키저는 쉽지 않습니다.) 그리고 마지막으로 Mint는 패키저를 제어하는 방법에 대해 잘 모릅니다. 우분투와 거의 비슷하다고 생각합니다.
Packager는 패키지 관리자 유형, apt, pacman, 포트 등에 관계없이 모두 거의 동일하며 프로젝트 기본 소스 코드 저장소로 이동하고 일반적으로 저장소에서 가져오기를 복제하고 패키지 코드를 사용하여 빌드합니다.
패키지가 배포 패키지 테스트 프로토콜(Debian은 내가 아는 모든 배포판 중에서 가장 엄격함)을 통과한 후 테스트 및 디버깅을 위해 배포 패키지 풀로 전송됩니다(이것은 Debian sid 패키지입니다. 풀의 목적은 다음을 찾는 것입니다. 새로 도입된 기존 패키지 버전의 버그를 디버그하고 수정합니다. 이는 서명된/보안이 제거된 패킷만 패킷 풀에 허용하는 시스템에 의해 제어되며 보안 채널을 통해 수행됩니다.
내가 말하려는 것은 GUI 패키지 관리자에 있는 패키지에 대한 주석 수를 믿습니까? 내가 사용한 적이 있는 관리자) 연락처)는 패키저, 패키지 또는 패키지 풀과 전혀 관련이 없습니다. 이는 실제로 보안이 무엇인지에 대해 기본적인 혼란이 있을 수 있음을 의미합니다.
체인을 엄격하게 제어하는 이 프로세스는 예를 들어 github의 경우 ssl/ssh가 github에 연결되고, 프로그램 작성자는 보안 시스템을 통해 변경 사항을 github 저장소에 제출하고, github는 소스 코드를 제어한 다음 패키저를 배포하여 가져옵니다. 해당 소스 코드는 동일한 보안 채널을 사용하여 패키지를 빌드한 다음 배포 패키지 풀 관리자에 제출합니다. 데비안에서는 "ftp 마스터"입니다. 여기에서 패키지 해시를 사용하여 제출된 패키지가 맞는지 확인합니다. 원본 패키지와 동일한 패키지를 만든 다음 로컬 시스템(예: 컴퓨터)이 가져오고 패키지 관리자가 사용하는 풀로 이동합니다. 패키지 관리자는 패키지의 서명도 확인합니다(제 생각에는 그렇습니다. 물론입니다) 그런 다음 설치하십시오.
이제 분명히 임의의 타사 리포지토리(Ubuntu 및 해당 PPA 또는 Arch Linux 및 AUR에서 일반적임)를 설치하면 해당 특정 사람과 해당 기술 및 보안에 익숙하지 않기 때문에 보안이 급락합니다. 기능이 있지만 거기에서도 일반적으로 무작위 Windows 다운로드 및 설치 .exe 파일, 계보, 전송 체인 또는 모든 것에 대한 지식을 통해 AUR 패키지(일반적으로 git 소스에서 직접 생성됨)를 얻습니다.
따라서 여기서 우려되는 점은 실제로 Linux를 먼저 사용하고 snap, Flatpak 또는 기본 인증 시스템에 속하지 않는 한 전체 보안 및 제어 시스템을 우회하는 기타 패키지와 같은 패키지 설치 프로그램을 건너뛰는 가장 좋은 이유 중 하나입니다. 알려진 신뢰할 수 있는 소스로 인해 배포용 패키지 프로그램에서 만든 Linux 또는 BSD 패키지보다 Windows .exe 또는 Apple .dmg 파일과 더 유사합니다.
보안이 걱정된다면 검증된 패키지 관리자가 패키지를 생성하는 배포판에서 실행하는 패키지 관리자는 Linux를 사용하는 가장 큰 이유 중 하나입니다. 인기투표나 투표는 보안을 검증하는 최악의 방법 중 하나가 아닐까 싶습니다.
엄밀히 기술적인 수준에서 이는 설치 가능한 바이너리 .exe를 생성하는 모든 방법에 적용된다는 점을 명심하십시오. .dmg, .deb, .tcz 등의 경우 가장 큰 위험은 저장소 자체가 손상되는 것입니다. 예를 들어 누군가가 저장소에 대한 쓰기 액세스 권한을 얻은 다음 이러한 상황이 발생했다는 사실을 누구도 깨닫지 못한 채 프로젝트에 악성 코드를 푸시합니다. 이는 모든 코드(Microsoft/Apple에서 생성한 코드부터 github, gitlab 등의 모든 코드까지)에 대한 위험입니다. 하지만 git과 같은 버전 제어 시스템을 사용하면 이러한 변경 사항이 커밋 기록에 흔적을 남기기 때문에 감지하고 수정할 수 있습니다. 그러나 이는 바이너리가 생성되는 방법 및 해당 바이너리의 설치 프로그램 방법과는 아무런 관련이 없습니다.
.exe/.dmg 기반 설치 프로그램을 사용하는 Windows/Apple 시스템에서는 사용자가 일반적으로 다운로드 소스가 합법적인지 알 수 없고 다운로드 소스를 확인할 방법이나 이해가 없기 때문에 이러한 위험이 훨씬 더 높습니다. 좋은 해시 값으로 알려진 경우 일반적으로 설치 프로그램을 클릭하고 팝업 "확인" 대화 상자를 클릭하여 Windows에 설치한 다음 Windows에 설치했다는 사실을 인식하지 못한 채 트로이 목마로 강화된 실행 파일을 Windows에 설치할 수도 있습니다. 이제 완전히 타협되었습니다. 다시 말하지만, 이는 Windows를 사용하지 않고, 임의 다운로드 및 설치 .exe 파일을 사용하지 않고, 설치 프로그램에 포함된 모든 쓸모없고, 쓸모없고 안전하지 않은 .dll을 우회하는 이유입니다(역시 snap 또는 flatpak과 매우 유사함).
Linux 패키지 관리자가 이 모든 것을 처리하며 일반적인 사용을 위해 기본적으로 제공되는 더 안전한 시스템을 상상하기 어렵다는 사실로 인해 snap이나 flatpak을 통해 비대하고 안전하지 않은 blob을 설치하는 경향이 매우 실망스럽습니다. 특히 사용자가 안전에 전혀 관심이 없습니다.