--
네트워크 보안은 본질적으로 네트워크 정보 보안입니다. 넓은 의미에서 네트워크에 있는 정보의 기밀성, 무결성, 가용성, 신뢰성 및 제어력과 관련된 모든 기술과 이론은 네트워크 보안 연구 분야입니다. 네트워크 시스템의 정보 보안을 보장하는 것이 네트워크 보안의 목표입니다. 정보 보안은 정보 스토리지 보안과 정보 전송 보안의 두 가지 측면으로 구성됩니다. 정보의 저장 보안이란 권한 없는 사용자가 정보를 호출할지 여부와 같은 정적 저장 상태의 정보 보안을 말합니다. 정보 전송의 보안이란 동적 전송 중 정보의 보안을 말합니다. 네트워크 정보 전송의 보안을 보장하기 위해 다음과 같은 문제가 있습니다.
(1) 네트워크의 모니터링 정보
(b) 가짜 사용자 신원;
(c) 네트워크 정보 변조;
(4) 보낸 메시지를 부인한다.
(5) 메시지를 다시 보냅니다.
접는 것은 일반적인 침입 방식에 주로 있다.
1. 암호 침입
암호 침입이란 일부 소프트웨어를 이용하여 암호화된 암호 파일을 잠금 해제하는 것을 의미하지만, 많은 해커들은 암호 보호를 우회하거나 차단할 수 있는 많은 프로그램을 사용하여 이 작업을 수행합니다. 암호 보호를 잠금 해제하거나 차단할 수 있는 프로그램을 "해독" 이라고 합니다. 이러한 소프트웨어의 광범위한 전파로 인해 컴퓨터 네트워크 시스템에 침입하는 것은 때때로 상당히 간단하다. 일반적으로 시스템 내부 구조에 대한 심층적 인 이해가 필요하지 않으며 초보자에게는 좋은 방법입니다.
트로이 목마
목마에 대해 말하자면, 이 이야기를 아는 사람은 모두 이해하기 어렵지 않다. 가장 일반적인 방법은 합법적인 사용자의 일반 프로그램에 해커가 특정 동작을 수행하는 데 도움이 되는 프로그램을 첨부하고 합법적인 사용자의 프로그램 코드를 변경하는 것입니다. 사용자가 프로그램을 트리거하면 함께 제공되는 해커 명령 코드가 동시에 활성화되므로 해커가 지정한 작업을 수행하는 경우가 많습니다. 해킹 방식은 해커가 프로그래밍 경험이 뛰어나고 코드를 수정해야 하며 일정한 권한이 있어야 하기 때문에 파악하기 어렵다. (윌리엄 셰익스피어, 햄릿, 해킹, 해킹, 해킹, 해킹, 해킹, 해킹, 해킹, 해킹) 그러나 복잡성으로 인해 일반 시스템 관리자는 찾기가 어렵습니다.
3. 예시법
이것은 매우 실용적이지만 위험한 해커 수단이지만, 여전히 많은 해커들이 이런 수단을 이용하여 시스템을 침범하고 있다. 예술가들이 대담하다고 말한다.
네트워크 노드 또는 워크스테이션 간의 통신은 정보 흐름의 전달을 통해 이루어지며, 허브가 없는 네트워크에서는 데이터 전송이 특정 방향을 나타내지 않을 때 각 네트워크 노드 또는 워크스테이션이 인터페이스입니다. 한 노드가 "안녕! 당신들은 내가 메세지를 보낼 워크스테이션입니다. "
이때 모든 시스템 인터페이스가 이 메시지를 받았는데, 일단 워크스테이션이 있으면 "안녕! 바로 저입니다. 데이터를 보내주세요. " 연결이 즉시 완료됩니다.
현재 인터넷에는 대량의 스니핑 소프트웨어가 전해지고 있다. 이러한 소프트웨어를 사용하면 암호 파일까지 포함하여 데이터를 쉽게 모니터링할 수 있습니다. 일부 서비스는 전송 파일에서 직접 일반 텍스트 전송을 사용하므로 매우 위험합니다.
4. 전자 메일 기술
이메일과 트로이 목마 프로그램을 사용하는 것은 해커들이 많이 사용하는 방법이며 매우 효과적이다. 일반 사용자, 심지어 네트워크 관리자, 네트워크 보안 인식이 너무 적어 많은 해커들이 탈 수 있는 기회를 준다.
5. 바이러스 기술
해커로서, 이렇게 쓰는 것은 창피한 일이지만, 모두 참고해 볼 수 있다. (윌리엄 셰익스피어, 템페스트, 해커, 해커, 해커, 해커, 해커) 결국 일종의 공격 방식이기 때문에 특별한 시간과 장소에서 사용할 수 있다.
6. 숨겨진 기술
접는 공격 준비 단계
가장 먼저 설명해야 할 것은 침입자에게 두 가지 출처가 있다는 것이다. 하나는 내부자가 자신의 일자리와 권한을 이용하여 획득해서는 안 되는 권한을 얻는 공격이다. 다른 하나는 원격 침입 및 네트워크 노드 액세스 침입을 포함한 외부 침입입니다. 이 섹션에서는 주로 원격 공격에 대해 설명합니다.
사이버 공격 구현은 정보 수집, 원격 공격, 원격 로그인, 일반 사용자 권한 획득, 수퍼사용자 권한 획득, 뒷문 유지, 로그 삭제와 같은 매우 체계적인 작업입니다. 주요 내용에는 목표 분석, 문서 수집, 암호 해독, 로그 삭제 등의 기술이 포함되며 아래에 설명되어 있습니다.
1. 공격의 목적 결정
공격자는 완전한 공격을 실시하기 전에 먼저 공격이 어떤 목적을 달성해야 하는지, 즉 상대방에게 어떤 결과를 초래할 것인지 결정해야 한다. 일반적인 공격의 목적은 파괴적이고 침입적이다. 파괴적인 공격이란 대상만 파괴하여 제대로 작동하지 않고 대상 시스템의 작동을 마음대로 통제할 수 없는 것을 말한다. 파괴적인 공격의 목적을 달성하기 위해, 주요 수단은 서비스 공격을 거부하는 것이다. 또 다른 일반적인 공격 목적은 목표물을 침입하는 것입니다. 즉, 목표를 통제할 수 있는 권한을 얻는 것입니다. 이런 공격은 파괴적인 공격보다 더 보편적이고 위협이 더 크다고 말해야 한다. 해커가 목표에 대한 관리자 권한을 얻으면 이 서버에서 파괴적인 공격을 포함한 모든 동작을 할 수 있기 때문이다. 이러한 공격은 일반적으로 서버 운영 체제, 애플리케이션 소프트웨어 또는 네트워크 프로토콜의 취약점을 이용하여 발생합니다. 물론, 이런 공격의 또 다른 원인은 비밀번호 유출이다. 공격자는 추측이나 철저한 방법으로 서버 사용자의 비밀번호를 얻을 수 있으며 실제 관리자처럼 서버에 액세스할 수 있습니다.
2. 정보 수집
공격의 목적을 결정하는 것 외에 공격 전 가장 중요한 임무는 가능한 한 많은 대상의 정보를 수집하는 것이다. 이 정보에는 주로 대상의 운영 체제 유형과 버전, 대상이 제공하는 서비스, 각 서버 프로그램의 유형과 버전, 관련 사회 정보가 포함됩니다.
기계를 공격하려면 먼저 위에서 실행 중인 운영 체제를 확인해야 합니다. 운영 체제마다 시스템 취약점이 매우 다르기 때문에 공격 방식도 완전히 다릅니다. 동일한 운영 체제의 다른 버전도 시스템 취약점이 다릅니다. (존 F. 케네디, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제, 운영 체제) 일반적으로 경험에 따라 서버의 운영 체제를 결정하고 일부 서버의 일부 서비스는 운영 체제를 노출시킵니다. 예를 들어, 우리가 텔넷을 통해 컴퓨터에 연결할 때,
유닉스 시스템 v 버전 4.0
로그인:
그런 다음 경험에 따르면 이 시스템에서 실행되는 운영 체제가 SUN OS 5.5 또는 5.5.L 인지 확인할 수 있습니다. 그러나 일부 역장이 의도적으로 디스플레이 정보를 변경하여 공격자를 미혹시켜 착각을 일으키기 때문에 운영 체제의 유형을 판단하는 것은 정확하지 않습니다.
DNS 에 대한 호스트 정보 (그다지 신뢰할 수 없음) 를 쿼리하여 도메인 이름을 등록할 때의 응용 프로그램 유형 및 운영 체제 유형, 또는 사회공학적인 방법으로 얻은 것과 같이 그다지 효과적이지 않은 방법도 있습니다. 일부 호스트 오픈 SNMP 의 public 그룹을 사용하여 질의합니다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 과학명언)
또 다른 비교적 정확한 방법은 네트워크 운영 체제의 TCP/IP 스택을 특수 "지문" 으로 사용하여 시스템의 실제 신원을 확인하는 것입니다. 운영 체제에 따라 기본 네트워크 프로토콜의 다양한 구현 세부 사항이 약간 다르기 때문입니다. 대상에 원격으로 특수 패키지를 보낸 다음 반환된 패키지를 통해 운영 체제 유형을 확인할 수 있습니다. 예를 들어, FIN 패킷 (또는 ACK 또는 SYN 레이블이 없는 모든 패킷) 을 타겟 호스트의 오픈 포트로 보내고 응답을 기다립니다. Windows, BSDI, Cisco, HP /UX, IRIX 와 같은 많은 시스템이 리셋을 반환합니다. SYN 패킷을 전송하면 TCP 플래그가 정의되지 않은 TCP 헤더가 포함됩니다. 그러면 Linux 시스템의 응답 팩에는 정의되지 않은 레이블이 포함되며, 다른 시스템에서는 SYN+ Bogu 패키지를 받으면 연결이 닫힙니다. 또는 특정 운영 체제와 일치하는 초기화 시퀀스 길이의 템플릿을 찾는 방법. 많은 시스템을 분류하는 데 사용할 수 있습니다. 예를 들어, 초기 유닉스 시스템의 길이는 64K 였고 일부 새로운 유닉스 시스템의 길이는 무작위로 증가했습니다. 반환 패키지에 포함 된 창 길이를 확인하는 것도 있습니다. 이 기술은 각 운영 체제에 따라 초기화 창 크기에 따라 고유하게 결정됩니다. 이 기술을 사용하는 도구는 매우 많은데, 그중에서도 비교적 유명한 것은 NMAP, CHECKOS, QUESO 등이다.
대상이 제공하는 서비스와 각 서비스의 데몬 유형 및 버전을 이해하는 것도 중요합니다. 알려진 취약점은 일반적으로 서비스에 대한 것이기 때문입니다. 여기서 서비스를 제공하는 것은 우리가 일반적으로 말하는 것을 가리킨다. 예를 들면 텔넷은 23 포트, FTP 는 2 1 포트, WWW 는 80 또는 8080 포트. 이는 일반적인 상황일 뿐, 사이트 관리는 자신의 뜻에 따라 서비스 수신 포트 번호를 수정할 수 있다. 서버마다 동일한 서비스를 제공하는 소프트웨어도 다를 수 있습니다. 우리는 이 소프트웨어를 daemon 이라고 부른다. 예를 들면 FTP 서비스도 제공하고, wuftp, proftp, ncftp 등 다양한 종류의 daemon 을 사용할 수 있다. Daemon 의 유형과 버전을 확인하는 것도 해커가 시스템 취약점을 이용해 웹 사이트를 공격하는 데 도움이 됩니다.
또한 시스템에 대한 정보는 웹 사이트 소속 회사의 이름, 규모, 인터넷 관리자의 생활습관, 전화번호 등 컴퓨터 자체와 무관한 사회정보입니다. 이 정보는 웹 사이트 공격과 관련이없는 것 같습니다. 사실, 많은 해커들이 이 정보를 이용하여 웹사이트를 파괴한다. 예를 들어 일부 역장은 자신의 전화번호를 시스템 비밀번호로 사용한다. 전화 번호를 파악하면 관리자가 정보를 수집할 수 있는 권한이 있는 것이며, 수동으로 또는 도구를 통해 수행할 수 있습니다. 정보를 수집하는 도구를 스캐너라고 합니다. 스캐너를 사용하여 정보를 수집하면 속도가 빨라서 한 번에 여러 대상을 스캔할 수 있다는 장점이 있다.
접는 공격의 구현 단계
1. 라이센스 받기
충분한 정보가 수집되면 공격자가 공격을 시작합니다. 파괴적인 공격으로서 도구로 공격을 개시하면 된다. 침입 공격으로서 수집된 정보를 활용하여 시스템 취약점을 파악한 다음 이 취약점을 이용하여 특정 권한을 얻어야 하는 경우가 많습니다. 때로는 일반 사용자가 홈페이지를 수정할 수 있는 권한을 얻는 것으로 충분하지만, 완전한 공격으로서 시스템의 최고 권한을 얻어야 한다. 이는 어떤 목적을 달성하기 위해서뿐만 아니라 공격자의 능력을 증명하는 것도 해커의 추구에 부합한다.
공격자가 이용할 수 있는 취약점에는 시스템 소프트웨어 설계의 보안 취약점뿐만 아니라 부적절한 관리 구성으로 인한 취약점도 포함됩니다. 얼마 전 인터넷에서 가장 인기 있는 www 서버 공급업체인 Apache 의 홈페이지가 검게 변했고, 홈페이지에 있는 Powered Biapache 의 패턴은 Powered Bimicrosoft Back Office 의 패턴으로 바뀌었다. 공격자는 관리자가 웹 서버에서 사용하는 데이터베이스에 대한 잘못된 구성을 활용하여 가장 높은 권한을 성공적으로 획득했습니다.
물론, 대부분의 성공적인 공격 사례는 시스템 소프트웨어 자체의 허점을 이용한다. 소프트웨어 취약점의 주요 원인은 소프트웨어를 컴파일하는 프로그래머들이 안전의식이 부족하기 때문이다. 공격자가 소프트웨어에 예외 호출 요청을 실행하면 버퍼 오버플로 또는 파일 불법 액세스가 발생할 수 있습니다. 버퍼 오버플로를 이용한 공격이 가장 흔하다. 통계에 따르면 성공적인 공격의 80% 이상이 버퍼 오버플로우 취약점을 이용하여 불법 권한을 획득하는 것으로 집계됐다. 버퍼 오버플로는 다음 특수 장에서 자세히 설명합니다.
해커든 네트워크 관리자든 가능한 한 많은 시스템 취약점을 파악해야 한다. 해커는 공격을 완료하기 위해 그것을 사용해야 하고, 관리자는 허점에 따라 서로 다른 방어 조치를 취해야 한다. 최신, 가장 많은 허점 정보를 보려면 Rootshell, Packetstorm, Securityfocus 등의 웹사이트를 방문하시면 됩니다.
2. 권력의 확대
시스템 취약점은 원격 취약점과 로컬 취약점의 두 가지 유형으로 나눌 수 있습니다. 원격 취약점이란 해커가 다른 기계에서 직접 이 허점을 이용해 공격하여 일정한 권한을 얻을 수 있다는 것을 말한다. 이런 허점은 위협성이 상당히 커서 해커의 공격은 일반적으로 원격 허점으로 시작된다. 하지만 원격 취약점을 이용해 얻는 것이 반드시 최고 권한인 것은 아니며, 보통 사용자의 권한일 뿐이기 때문에 해커가 하고 싶은 일은 종종 할 수 없는 경우가 많다. 이때 로컬 취약점에 맞춰 획득한 권한을 확대해야 하는데, 왕왕 시스템에 대한 관리자 권한이다.
최고 관리자 권한을 받아야 네트워크 모니터링, 흔적 정리 등의 일을 할 수 있다. 권한 확장을 완료하려면 얻은 권한을 사용하여 시스템의 로컬 취약점을 활용하는 프로그램을 실행할 수 있을 뿐만 아니라 트로이 목마와 같은 기만적인 프로그램을 넣어 관리자 비밀번호를 얻을 수 있습니다. 이런 트로이는 현지에서 가장 높은 권력을 얻기 위해 사용되며 원격으로 통제할 수 없다. 예를 들어 해커가 한 대의 기계에서 일반 사용자의 계정과 로그인 권한을 얻으면 이 기계에 가짜 su 프로그램을 넣을 수 있다. 해커가 가짜 su 프로그램을 배치하면 실제 합법적인 사용자가 로그인할 때 su 를 실행하고 비밀번호를 입력합니다. 루트 비밀번호가 기록되고 해커는 다음 로그인 시 su 를 사용하여 루트가 될 수 있습니다.
공격의 결과
65438+
공격자가 공격을 마친 후 정리 작업을 하지 않고 즉시 시스템을 떠나는 경우, 모든 네트워크 운영 체제에서 일반적으로 로깅 기능을 제공하여 시스템에서 발생하는 동작을 기록하기 때문에 시스템 관리자가 그의 행방을 곧 발견할 수 있습니다. 그래서 해커들은 자신의 은폐성을 위해 일지에 남아 있는 흔적을 지우는 경우가 많다. 해커가 흔적을 지우는 방법을 이해하려면 먼저 일반적인 운영 체제의 로그 구조와 작동 패턴을 이해해야 합니다. 유닉스 로그 파일은 일반적으로 운영 체제에 따라 약간 다른 다음 위치에 배치됩니다.
/usr/ADM-Unix 의 이전 버전.
새 버전의 /Var/adm 에서 이 위치를 사용합니다.
/Varflort 일부 버전의 Solaris, Linux BSD 및 무료 BSD 에서 이 위치를 사용합니다.
/etc, 대부분의 유닉스 버전은 Unix 를 여기에 두고, 일부 유닉스 버전은 Wtmp 를 여기에 두고, 여기도 Syslog.conf 의 위치입니다
다음 파일은 위치한 디렉토리에 따라 다를 수 있습니다.
Acct 또는 pacct-각 사용자가 사용하는 명령의 기록입니다.
Accesslog 는 주로 NCSA HTTP 서버를 실행하는 서버에 사용됩니다. 이 로그 파일에는 서버에 연결된 사이트가 기록됩니다.
Aculo 는 전화 접속 모뎀의 기록을 저장합니다.
Lastlog 는 각 사용자의 최신 로그인 레코드와 초기 대상을 기록하며, 경우에 따라 마지막으로 실패한 로그인 레코드도 기록합니다.
Loginlog 는 몇 가지 비정상적인 로그인 기록을 기록했습니다.
Messages- 시스템 콘솔에 출력되는 레코드를 기록하고 추가 정보는 Syslog 에서 생성합니다.
보안 부서에서는 UUCP 시스템을 사용하여 제한 범위에 들어가려는 몇 가지 사례를 기록했습니다.
Ulog 는 su 명령을 사용하여 레코드를 기록합니다.
Utmp 는 현재 시스템에 로그인한 모든 사용자를 기록하며 사용자가 시스템에 들어가고 나갈 때 파일이 변경됩니다.
Utmpx, utmp 의 확장.
Wtmp 는 사용자 로그인 및 로그아웃 이벤트를 기록합니다.
Syslog 가장 중요한 로그 파일은 syslogd 데몬을 사용하여 얻습니다.
종적을 감추다
공격자는 시스템에 대한 최고 관리자 권한을 얻은 후 로그 파일을 포함하여 시스템의 파일 (일반 Unix 시스템에만 해당) 을 임의로 수정할 수 있습니다. 따라서 해커가 자신의 흔적을 숨기려 하면 로그를 수정할 수 있다. (윌리엄 셰익스피어, 해커, 해커, 해커, 해커, 해커, 해커, 해커) 물론 가장 쉬운 방법은 로그 파일을 삭제하는 것이지만, 이는 시스템 관리자가 IP 에 따라 자신을 추적하는 것을 막았지만, 관리자 시스템이 침입했다는 것을 분명히 알려준다. 따라서 가장 일반적인 방법은 로그 파일에서 자신에 대한 부분만 수정하는 것입니다. 수정 방법의 구체적인 세부 사항은 운영 체제에 따라 다릅니다. 인터넷에는 zap, wipe 와 같은 이런 기능을 가진 프로그램이 많이 있습니다. 주요 방법은 utmp, wtmp, Lastlog, Pacct 등의 로그 파일에서 사용자의 정보를 지워서 W, who, last 등의 명령으로 로그 파일을 볼 때 해당 사용자의 정보를 숨기는 것입니다.
관리자는 로그 시스템이 해커에 의해 수정되는 것을 막기 위해 프린터를 사용하여 네트워크 로그 정보를 실시간으로 기록하는 것과 같은 조치를 취해야 합니다. 하지만 단점도 있습니다. 해커가 당신이 무엇을 하고 있는지 알게 되면, 그는 쓸모없는 정보를 계속 로그에 기록하여 모든 종이가 다 떨어질 때까지 프린터에서 계속 일기를 인쇄하게 할 것이다. (존 F. 케네디, 공부명언) 따라서 로그가 수정되지 않도록 하는 더 좋은 방법은 모든 로그 파일을 보다 안전한 호스트, 즉 loghost 로 보내는 것입니다. 그렇다고 로그 수정 가능성을 완전히 피할 수는 없다. 해커가 이 호스트에 침입할 수 있다면 loghost 에 침입할 가능성이 높기 때문이다.
일지를 수정하는 것만으로는 충분하지 않다. 모든 비밀에 구멍이 있기 때문이다. 네가 모든 일지를 수정했다고 생각하더라도, 너는 여전히 약간의 단서를 남길 것이다. 예를 들어, 일부 뒷문 프로그램은 실행 후 관리자가 발견할 수 있습니다. 따라서 해커는 일부 시스템 프로그램을 교체하여 자신의 흔적을 더 숨길 수 있습니다. 정상적인 시스템 프로그램을 대체하는 해커 프로그램을 rootkit 이라고 합니다. 이 프로그램은 일부 해커 사이트에서 찾을 수 있다. 일반적으로 LinuxRootKit 은 현재 5.0 버전으로 발전했습니다. Ls, PS, netstat, inetd 등 일련의 중요한 시스템 프로그램을 대체할 수 있습니다. Ls 가 교체되면 지정된 파일을 숨길 수 있으므로 관리자가 ls 명령을 사용할 때 해당 파일을 볼 수 없으므로 자신을 숨길 수 있습니다.
3 단계: 뒷문
일반 해커가 시스템에 침입하면 시스템에 한 번 이상 진입한다. 다음에 시스템에 더 쉽게 들어가기 위해 해커는 뒷문을 남기는데, 트로이마는 뒷문의 가장 좋은 예이다. 유닉스에서는 뒷문을 남길 수 있는 여러 가지 방법이 있다. 다음은 네트워크 관리자가 참조할 수 있는 몇 가지 일반적인 뒷문입니다.
비밀번호를 접어서 뒷문을 해독하다
이것은 침입자가 사용하는 가장 오래되고 오래된 방법이다. 유닉스 시스템에 액세스할 수 있을 뿐만 아니라 비밀번호를 해독하여 뒷문을 만들 수도 있다. 약한 비밀번호를 사용하는 계정입니다. 앞으로 관리자가 침입자의 현재 계정을 차단하더라도 이러한 새 계정은 다시 침입할 수 있는 뒷문이 될 수 있습니다. 대부분의 경우 침입자는 사용되지 않는 약한 암호 계정을 찾고 비밀번호를 변경하기가 더 어렵습니다. 관리자는 비밀번호가 약한 계정을 찾을 때 비밀번호가 수정된 계정을 찾을 수 없습니다. 따라서 관리자가 어떤 계정을 압수할지 결정하기가 어렵습니다.
Rhosts ++ 후면 도어
네트워크로 연결된 Unix 시스템에서 Rsh 및 Rlogin 과 같은 서비스는 rhosts 파일의 호스트 이름을 기반으로 하는 간단한 인증 방법을 사용합니다. 사용자는 암호 없이 쉽게 설정을 변경할 수 있습니다. 침입자가 액세스할 수 있는 사용자의 rhosts 파일에 "+"를 입력하기만 하면 누구나 암호 없이 어디에서나 이 계정에 들어갈 수 있습니다. 특히 홈 디렉토리가 NFS 를 통해 공유될 때 침입자는 이에 더 관심이 있습니다. 이 계좌들은 또한 침입자가 다시 침입하는 뒷문이 되었다. 많은 사람들은 일반적으로 로깅 기능이 부족하기 때문에 Rsh 사용을 선호합니다. 많은 관리자들이'++'를 자주 점검하기 때문에 침입자는 실제로 인터넷에서 다른 계정의 호스트 이름과 사용자 이름을 설정해 쉽게 발견되지 않는다.
체크섬 및 타임 스탬프 백도어 축소
초기에는 많은 침입자들이 자신의 트로이 목마 프로그램으로 이진 파일을 대체했습니다. 시스템 관리자는 타임스탬프와 시스템 체크섬 프로그램에 의존하여 바이너리 파일이 변경되었는지 여부를 인식합니다 (예: Unix 의 sum 프로그램). 침입자는 트로이 목마 파일의 타임스탬프를 원본 파일과 동기화할 수 있는 새로운 기술을 개발했습니다. 시스템 시계를 원래 파일 시간으로 다시 설정한 다음 트로이 목마 파일의 시간을 시스템 시간으로 조정하면 됩니다. 이진 트로이 목마 파일이 원본 파일과 정확하게 동기화되면 시스템 시간을 다시 현재 시간으로 설정할 수 있습니다. Sum 프로그램은 CRC 검증을 기반으로 하며 쉽게 속일 수 있습니다. 침입자는 트로이 목마의 체크섬을 원본 파일의 체크섬로 조정하는 프로그램을 설계했다. MD5 는 대부분의 사람들이 추천하는 것으로, 현재 MD5 가 사용하는 알고리즘을 속일 수 있는 사람은 아무도 없다.
접이식 로그인 백도어
Unix 에서 로그인 프로그램은 일반적으로 텔넷에서 사용자의 비밀번호를 인증하는 데 사용됩니다. 침입자는 login.c 의 원본 코드를 가져와 입력 암호와 저장 암호를 비교하기 전에 뒷문 암호를 확인하도록 수정했습니다. 사용자가 뒷문 비밀번호를 입력하면 관리자가 설정한 비밀번호를 무시하고 바로 들어갈 수 있습니다. 이를 통해 침입자는 루트 계정까지 모든 계정에 액세스할 수 있습니다. 뒷문 암호는 사용자가 실제로 로그인하여 utmp 및 wtmp 에 로그인하기 전에 액세스를 생성하므로 침입자는 계정을 노출하지 않고 로그인하여 셸을 얻을 수 있습니다. 관리자는 이 뒷문을 알아차린 후' strings' 명령을 사용하여 로그인 프로그램에서 텍스트 정보를 검색합니다. 많은 경우 뒷문 비밀번호가 노출된다. 침입자는 비밀번호를 암호화하거나 더 잘 숨기기 시작하여 문자열 명령을 무효화합니다. 그래서 더 많은 관리자들이 MD5 체크섬을 사용하여 이 뒷문을 탐지합니다.
접이식 원격 로그인 백도어
사용자 텔넷이 시스템에 연결되면 수신 포트의 inetd 서비스가 연결을 수락하고 로그인을 실행하는 in.telnetd 에 전달합니다. 일부 침입자는 관리자가 로그인이 수정되었는지 확인할 것을 알고 in.telnetd 를 수정하기 시작했고, 사용자가 어떤 터미널을 사용했는지 등 사용자 정보에 대한 몇 가지 테스트가 있었다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성공명언) 일반적인 터미널 설정은 Xterm 또는 VT 100 입니다. 침입자는 이러한 뒷문을 만들 수 있으며, 터미널이 "letmein" 으로 설정되어 있으면 인증 없이 셸이 생성됩니다. 침입자는 특정 서비스에 대한 뒷문을 만들고 특정 소스 포트의 연결에 대한 셸을 생성합니다.
접이식 서비스 백도어
거의 모든 인터넷 서비스는 침입자가 뒷문을 이용했다. Finger, rsh, rexec, rlogin, FTP, 심지어 inetd 까지 여러 가지 버전을 만들었습니다. 하나의 셸만 하나의 TCP 포트에 연결되어 뒷문 비밀번호를 통해 액세스할 수 있습니다. 이 프로그램들은 때때로 가시덤불을 사용합니까? Ucp 와 같은 사용되지 않는 서비스나 inetd.conf 에 새 서비스로 추가된 서비스의 경우 관리자는 실행 중인 서비스를 매우 잘 알고 MD5 를 사용하여 원본 서비스 프로그램을 확인해야 합니다.
크랑조브 뒷문
Unix 의 Cronjob 은 일정에 따라 특정 프로그램이 실행되도록 예약할 수 있습니다. 침입자는 뒷문 셸에 가입하여 1AM 과 2AM 사이에서 실행되도록 할 수 있으므로 매일 밤 한 시간 동안 액세스할 수 있습니다. Cronjob 에서 자주 실행되는 뒷문을 넣는 합법적인 절차도 확인할 수 있습니다.
후문
거의 모든 유닉스 시스템은 * * * 공유 라이브러리를 사용하여 동일한 함수를 재사용하고 코드 길이를 줄입니다. 일부 침입자들은 crypt.c 와 _crypt.c 와 같은 함수에서 뒷문을 만들었습니다. Login.c 와 같은 프로그램을 crypt () 라고 합니다. 백도어 암호를 사용할 때 셸을 생성합니다. 따라서 관리자가 MD5 를 사용하여 로그인 프로그램을 확인하더라도 백도어 함수를 생성할 수 있으며, 많은 관리자는 라이브러리가 백도어인지 여부를 확인하지 않습니다. 많은 침입자에게 한 가지 문제가 있습니다. 일부 관리자는 모든 것에 대해 MD5 검사를 했습니다. 한 가지 방법은 침입자가 open () 및 파일 액세스 함수에 대한 뒷문을 만드는 것입니다. 백도어 기능은 원본 파일을 읽지만 목마 백도어 프로그램을 실행합니다. 따라서 MD5 가 이러한 파일을 읽을 때 체크섬은 정상이지만 시스템이 실행 중일 때 트로이 목마 버전이 실행되고 트로이 목마 라이브러리 자체도 MD5 검증을 피할 수 있습니다. 관리자에게 뒷문을 찾을 수 있는 한 가지 방법은 MD5 유효성 검사기를 정적으로 컴파일하고 실행하면 정적 연결 프로그램이 트로이 목마 * * * 를 사용하지 않는다는 것입니다.
커널 백도어
커널은 유닉스 작업의 핵심이며, 라이브러리에서 MD5 검사를 피하는 데 사용하는 방법은 커널 수준에도 적용되며 정적 연결도 인식하지 못합니다. 좋은 뒷문이 있는 커널은 관리자가 가장 찾기 어려운 것이다. 다행히도 커널의 뒷문 프로그램은 쉽게 구할 수 있는 것이 아니며, 그것이 실제로 전파되는 범위가 얼마나 넓은지 모두가 알고 있다.
파일 시스템 백도어
침입자는 약탈물이나 데이터를 서버에 저장해야 하는데, 관리자는 찾을 수 없습니다. 침입자의 문장 중에는 일반적으로 취약성 스크립팅 툴, 백도어 세트, 스니퍼 로그, e-메일 백업 복제본, 소스 코드 등이 포함됩니다! 경우에 따라 관리자가 이렇게 큰 파일을 찾지 못하도록 침입자는' ls',' du',' fsck' 패치를 걸어 특정 디렉토리와 파일을 숨겨야 한다. 매우 낮은 수준에서 침입자는 하드 드라이브의 일부를 독점 형식으로 잘라내어 불량 섹터로 표시하는 취약점을 만들었습니다. 따라서 침입자는 이러한 숨겨진 파일에 액세스하기 위해 특수 도구만 사용할 수 있습니다. 일반 관리자의 경우 이러한 "불량 섹터" 에서 파일 시스템을 찾기가 어렵고 실제로 존재합니다.
트렁크 뒷문
PC 세계에서는 많은 바이러스가 루트 영역에 숨겨져 있습니다. 바이러스 백신 소프트웨어는 루트 영역이 변경되었는지 확인하는 것입니다. 유닉스에서는 대부분의 관리자가 루트 영역의 소프트웨어를 확인하지 않으므로 일부 침입자가 루트 영역에 뒷문을 남겼습니다.
프로세스 백도어 숨기기
침입자는 일반적으로 그들이 실행하는 프로그램을 숨기려고 하는데, 이러한 프로그램은 대개 암호 해독기와 스니퍼입니다. 이를 수행하는 방법에는 여러 가지가 있습니다. 프로그램을 작성할 때 자신의 argv[] 를 수정하여 다른 프로세스 이름처럼 보이게 합니다. 스니퍼 프로그램은 실행 전에 in.syslog 와 유사한 이름을 바꿀 수 있으므로 관리자가' PS' 를 사용하여 실행 중인 프로세스를 확인할 때 표준 서비스 이름이 나타납니다. 라이브러리 함수를 수정하여 "PS" 가 모든 프로세스를 표시할 수 없도록 할 수 있습니다. 인터럽트 드라이브에 백도어 또는 프로그램을 포함시켜 프로세스 테이블에 나타나지 않도록 할 수 있습니다. 이 기술을 사용하는 뒷문의 한 예는
Amod.tar.gz:
네트워크 트래픽. 이 네트워크의 뒷문은 때때로 침입자가 방화벽을 통해 들어갈 수 있도록 허용한다. 침입자가 포트 번호를 설정하고 일반 서비스 없이 액세스할 수 있도록 허용하는 많은 네트워크 백도어 프로그램이 있습니다. 비표준 네트워크 포트를 통한 트래픽이기 때문에 관리자는 침입자의 발자국을 무시할 수 있습니다. 이 백도어는 일반적으로 TCP, UDP 및 ICMP 를 사용하지만 다른 유형의 메시지일 수도 있습니다.
Tcp 셸 백도어
침입자는 방화벽에 의해 차단되지 않는 높은 TCP 포트에 이러한 TCP 셸 백도어를 설정할 수 있습니다. 대부분의 경우 관리자가 연결 직후 셸 액세스를 볼 수 없도록 암호로 보호합니다. 관리자는 netstat 명령을 사용하여 현재 접속 상태, 수신 중인 포트 및 현재 접속 컨텍스트를 확인할 수 있습니다. 일반적으로 이러한 뒷문을 통해 침입자는 TCP 패키징 기술을 피할 수 있습니다. 이러한 뒷문은 SMTP 포트에 놓을 수 있으며 많은 방화벽이 이메일을 허용합니다.
Udp 셸 백도어
관리자는 종종 TCP 연결에 관심을 갖고 이상한 상황을 관찰하지만 UDP Shell 의 뒷문에는 이러한 연결이 없으므로 netstat 은 침입자의 액세스 흔적을 표시할 수 없습니다. 많은 방화벽이 DNS 와 유사한 UDP 메시지를 통과할 수 있도록 설정되어 있습니다. 일반적으로 침입자는 UDP 셸을 이 포트에 배치하고 방화벽을 통과할 수 있습니다.
ICMP 셸 후면 도어
Ping 은 ICMP 패킷을 송수신하여 기계 활동을 감지하는 일반적인 방법 중 하나입니다. 많은 방화벽에서 외부 세계가 내부 시스템에 대해 Ping 을 수행할 수 있으며 침입자는 ping ICMP 패킷에 데이터를 넣어 ping 된 시스템 사이에 셸 채널을 형성할 수 있습니다. 관리자는 패킷 폭풍에 대해 ping 을 알아차릴 수 있지만 패킷의 데이터를 볼 때까지 침입자는 노출되지 않습니다.
연결을 암호화합니다
관리자가 일부 데이터에 액세스를 시도하도록 스니퍼를 설정했을 수 있지만 침입자가 네트워크 백도어를 암호화할 때 두 시스템 간의 전송 내용을 확인할 수 없습니다.