Linux에서 신뢰할 수없는 실행 파일을 안전하게 실행하려면 어떻게해야합니까?


34

타사에서 컴파일 한 실행 파일을 다운로드했으며 CPU 및 GPU와 같은 HW 리소스 (nVidia 드라이버를 통해)에 대한 전체 액세스 권한이있는 내 상자 (Ubuntu 16.04-x64)에서 실행해야합니다.

이 실행 파일에 바이러스 나 백도어가 포함되어 있다고 가정하면 어떻게 실행해야합니까?

새 사용자를 작성하여 실행 한 다음 사용자 자체를 삭제해야합니까?

편집하다

firejail 이 작동하지 않을 수 있기 때문에 아래 답변을 아직 승인하지 않았습니다 .

편집 2

firejail은 괜찮지블랙리스트화이트 리스트 측면에서 모든 옵션을 지정하는 데 매우 신중해야합니다 . 기본적 으로이 리눅스 잡지 기사에 인용 된 내용은 수행하지 않습니다 ( firejail 저자의 의견 참조 ).

사용할 때 매우주의하십시오. 올바른 옵션이 없으면 잘못된 보안 감각이 생길 수 있습니다.


답변:


56

무엇보다 위험도가 높은 바이너리라면 ... 격리 된 실제 머신을 설정하고 바이너리를 실행 한 다음 HDD, 마더 보드 및 기본적으로 나머지 모든 것을 물리적으로 파괴해야합니다. 요즘 시대에는 로봇 진공조차도 맬웨어를 유포 할 수 있습니다. 그리고 프로그램이 고주파 데이터 전송을 사용하여 PC 스피커를 통해 이미 전자 레인지에 감염된 경우 어떻게해야합니까?!

그러나, 은박지 모자를 벗고 현실로 조금 뛰어 갑시다.

가상화 없음, 빠른 사용 : Firejail

그것은 우분투에 이미 패키지되어 있으며 매우 작으며 거의 ​​의존성이 없습니다.
우분투에 설치하는 방법 :sudo apt-get install firejail

웹 사이트 : https://firejail.wordpress.com/

패키지 정보 :

Package: firejail
Priority: optional
Section: universe/utils
Installed-Size: 457
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Reiner Herrmann <reiner@reiner-h.de>
Architecture: amd64
Version: 0.9.38-1
Depends: libc6 (>= 2.15)
Filename: pool/universe/f/firejail/firejail_0.9.38-1_amd64.deb
Size: 136284
MD5sum: 81a9a9ef0e094e818eb70152f267b0b6
SHA1: 41d73f8b9d9fd50ef6520dc354825d43ab3cdb16
SHA256: f1cbc1e2191dbe6c5cf4fb0520c7c3d592d631efda21f7ea43ab03a3e8e4b194
Description-en: sandbox to restrict the application environment
 Firejail is a SUID security sandbox program that reduces the risk of
 security breaches by restricting the running environment of untrusted
 applications using Linux namespaces and seccomp-bpf.  It allows a
 process and all its descendants to have their own private view of the
 globally shared kernel resources, such as the network stack, process
 table, mount table.
Description-md5: 001e4831e20916b1cb21d90a1306806f
Homepage: https://firejail.wordpress.com
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu  

며칠 전에 비슷한 "신뢰할 수없는"바이너리를 실행해야했습니다. 그리고 나의 검색은이 매우 멋진 작은 프로그램으로 이어졌습니다.

가상화 : KVM , Virtualbox .
이것이 가장 안전한 내기입니다. 이진에 따라. 그러나 이봐 요.
블랙 벨트-블랙 햇 프로그래머 인 "Mr. Hacker"가 보낸 경우 바이너리가 가상 환경을 벗어날 수 있습니다.

멀웨어 바이너리, 비용 절약 방법 : 머신 대여! 가상의 것. 가상 서버 공급자의 예 : Amazon (AWS), Microsoft (Azure), DigitalOcean, Linode, Vultr, Ramnode. 기계를 빌려서 필요한 것을 운영하면 닦습니다. 더 큰 공급자는 대부분 시간 단위로 청구하므로 실제로 저렴합니다.


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
저니 긱

2

별도의 설치로 실행하기 만하면됩니다. 외장 드라이브 나 다른 하드 드라이브에 별도의 설치를 설정하고 기본 설치의 파티션이 마운트 되지 않았는지 (또는 아직 분리 하지 않았 는지) 확인한 다음 테스트하십시오. 다시 필요할 때를 대비하여이 사전 설치를 백업하고 완료되면 핵화 할 수 있습니다.

샌드 박스 / 자이 링보다 훨씬 강력한 방법이며, 두 번째 설치를 일회용으로 취급하거나 필요할 때만 사용할 수 있습니다.


2

Firejail 매뉴얼 페이지에서 :

   Without  any  options,  the sandbox consists of a filesystem build in a
   new mount namespace, and new PID and UTS namespaces. IPC,  network  and
   user  namespaces  can  be  added  using  the  command line options. The
   default Firejail filesystem is based on the host  filesystem  with  the
   main  system directories mounted read-only. These directories are /etc,
   /var, /usr, /bin, /sbin, /lib, /lib32, /libx32 and /lib64.  Only  /home
   and /tmp are writable.

이것은 높은 수준의 설명입니다. 예를 들어 / boot가 블랙리스트에 올랐으며 / sbin 및 / usr / sbin도 있습니다.

https://firejail.wordpress.com/features-3/man-firejail/

https://firejail.wordpress.com/documentation-2/firefox-guide/ 이 문서를 볼 수도 있습니다. 파일 시스템에 대해 아주 잘 설명되어 있습니다.

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