$ uname -a
Linux mypcname 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) i686 GNU/Linux
이것을 확인하고 싶습니다 ^^ 내 컴퓨터의 Linux 커널은 악의적으로 변조되지 않았습니다. 존재한다고 의심할 이유는 없었지만 어쨌든 확인하고 싶었습니다. 내 생각에는 내 커널 소프트웨어를 소프트웨어의 원래 개발자가 공개적으로 제공한 동일한 버전과 비교하는 것이 내 목적에 "충분히 좋은" 검사가 되어야 한다고 생각합니다. 이러한 사고 방식에 눈에 띄게 잘못된 점이 있으면 알려주시기 바랍니다. 커널 외에 다른 악성 프로그램도 컴퓨터에서 실행될 수 있다는 것을 알고 있지만 이 질문의 목적상 커널에만 관심이 있습니다.
커널이 실행 중일 때는 검사가 필요하지 않습니다. 컴퓨터를 종료하고 다른 커널이나 운영 체제를 부팅하는 것, 심지어 하드 드라이브를 꺼내서 다른 컴퓨터에 연결하여 검사를 실행하는 것까지 막을 수 있는 것은 없습니다. 하지만 실제로는 빠른 확인만 하고 싶기 때문에 모든 확인에 기존 커널을 사용할 것입니다. 완벽한? 아니요. 내 목적에 충분합니까? 틀림없이.
다음과 같이 커널의 해시를 얻습니다.
$ apt-cache show linux-image-3.16.0-4-686-pae
Package: linux-image-3.16.0-4-686-pae
Source: linux
Version: 3.16.7-ckt25-2
Installed-Size: 118358
Maintainer: Debian Kernel Team <[email protected]>
Architecture: i386
Provides: linux-modules-3.16.0-4-686-pae
Depends: kmod | module-init-tools, linux-base (>= 3~), debconf (>= 0.5) | debconf-2.0, initramfs-tools (>= 0.110~) | linux-initramfs-tool
Pre-Depends: debconf | debconf-2.0
Recommends: firmware-linux-free (>= 3~), irqbalance, libc6-i686
Suggests: linux-doc-3.16, debian-kernel-handbook, grub-pc | extlinux
Breaks: at (<< 3.1.12-1+squeeze1), initramfs-tools (<< 0.110~)
Description-en: Linux 3.16 for modern PCs
The Linux kernel 3.16 and modules for use on PCs with one or more
processors supporting PAE.
.
This kernel requires PAE (Physical Address Extension). This feature is
supported by the Intel Pentium Pro/II/III/4/4M/D, Xeon, Core and Atom; AMD
Geode NX, Athlon (K7), Duron, Opteron, Sempron, Turion or Phenom;
Transmeta Efficeon; VIA C7; and some other processors.
.
This kernel also runs on a Xen hypervisor. It supports both privileged
(dom0) and unprivileged (domU) operation.
Description-md5: b2c3f405aab9f0fe07863b318891f277
Homepage: https://www.kernel.org/
Section: kernel
Priority: optional
Filename: pool/main/l/linux/linux-image-3.16.0-4-686-pae_3.16.7-ckt25-2_i386.deb
Size: 33408936
MD5sum: ce730b36742b837e3990889f2d897b60
SHA1: 6f0816a4f4a2a24e7b74e9fa903dde778d825e63
SHA256: 63a59e3a09afa720ce1c9b71bb33176e943e59aa90a9e3d92100b1d3b98cd1c6
그래서 몇 가지 질문이 있습니다.
- 이것이 파일의 해시입니까
pool/main/l/linux/linux-image-3.16.0-4-686-pae_3.16.7-ckt25-2_i386.deb
? - 내 해시가 올바른지 확인하기 위해 온라인에서 이러한 해시를 어디에서 찾을 수 있나요?
.deb
(1)에 대한 대답이 "예"라고 가정하면 내 컴퓨터에서 실제로 실행 중인 커널이 이 파일에 의해 설치된 커널과 동일한 지 어떻게 확인할 수 있습니까 ?
댓글에서 이 질문에 대한 반대표를 발견했습니다...
토론을 하려고 이 질문을 올리는 것이 아닙니다. 이 질문에서 제가 요구하는 검사는 일률적으로 적용되는 것이 아닙니다(컴퓨터 보안에는 그런 것이 없습니다). 이 문제에 대해 궁금한 점이 있으면 Linux 커널 개발자가 PGP 키를 사용하여 소프트웨어에 서명하고 다음을 권장한다는 점을 고려하세요.
모든 커널 버전은 OpenPGP 호환 서명을 사용하여 암호화 서명됩니다. 모든 사람은 해당 서명을 확인하여 다운로드한 커널 버전의 무결성을 확인하는 것이 좋습니다.
(원천:https://www.kernel.org/signature.html)
내가 아는 한, PGP 서명은 수정 사항을 확인하기 위해 파일을 해싱하는 것과는 다른 기능을 수행하지만, 보안 관점에서 보면 유사점이 있습니다. 특히 손상된 시스템의 데이터 출력을 신뢰하는 경우에는 더욱 그렇습니다. 이 비유를 통해 이 질문을 읽는 독자가 이를 무시하는 일이 없기를 바랍니다. 왜냐하면 지금까지는 대부분 그랬기 때문입니다.
답변1
이것은 pool/main/l/linux/linux-image-3.16.0-4-686-pae_3.16.7-ckt25-2_i386.deb 파일의 해시입니까?
예.
내 해시가 올바른지 확인하기 위해 온라인에서 이러한 해시를 어디에서 찾을 수 있나요?
(1)에 대한 대답이 "예"라고 가정하면 내 컴퓨터에서 실제로 실행 중인 커널이 이 .deb 파일에 의해 설치된 커널과 동일한지 어떻게 확인할 수 있습니까?
나는 이것을 수행하는 쉬운 방법을 모릅니다. deb 파일이 아닌 dpkg --verify
(조작하기 쉬운) 체크섬을 사용하기 때문에 문제가 있습니다 !/var/lib/dpkg/info/
deb 파일에서 직접 파일의 md5sum을 얻을 수 있습니다.
dpkg-deb -e linux-image-3.16.0-4-686-pae_3.16.7-ckt25-2_i386.deb
이렇게 하면 패키지에 있는 파일의 md5sums DEBIAN
라는 파일이 포함된 디렉터리에 제어 파일이 추출됩니다 . 이 파일은 설치된 버전에 따라 확인할 수 있습니다.md5sums
물론 이는 교육 목적일 뿐입니다. 나는 보안에 대해 잘 모른다! 갖고 싶은 게 있다면진짜분석해야 할 안전상의 이점모두시스템이 실행되지 않을 때 부트로더를 사용하여 시작됩니다...