클라이언트가 접속을 하게 되면 httpd 가 root 권한으로 실행됨 = 클라이언트 역시 root 권한
클라이언트가 접속하면 httpd 를 nobody 로 실행되게 설정해야 함
발생원인
제거하는 것을 잊어버린 경우
테스트를 위해 고의적으로 남겨두는 경우
완성된 프로그램의 유지보스를 위해 고의적으로 남겨두는 경우
대응책
인터넷 취약점을 이용하는 스니핑과 달리 백도어 프로그램은 사용자들이 조금만 주의를 기울이면 쉽게 예방할 수 있으며 방법 또한 바이러스 예방과 크게 다르지 않음
프로그램이 개발되어 실제의 작업환경에서 사용될 때 트랩도어로써 활용될 수 있는 루틴들의 제거 여부를 확인하여야 하며, 실제 프로그램에 대한 테스트를 하면서 중간에 이상한 출력이 나오는지 검토해 보아야 함
윈도우/유닉스의 정상적인 프로세스를 기억, 현재 실행중인 프로세스 확인
윈도우 : Ctrl+Alt+Del 후 Windows 작업관리자 확인
자주 사용하는 프로세스 (윈도우)
csrss : Client/Server Runtime SubSystem
윈도우 콘솔 관리
쓰레드의 생성, 삭제
32비트의 가상 MS/DOS 지원
svchost : Service Host - 30:44
dll (동적라이브러리) 파일로 실행되는 프로세스의 기본 프로세스
백도어 탐지법
소스코드 리뷰
HIDS 설치
Host-based IDS (S/W)
백도어를 탐지하는 최선의 방법
백도어가 임의의 포트에 대기하고 있을 때 해당 포트를 탐지함
최초의 권한획득을 최소화 (허가 X)
지속적인 점검이 필요
루트킷 (rootkit)
개요
시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어
트로이목마 설치, 원격접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 프로그램 모음
루트킷이 설치되면 자신이 뚫고 들어온 모든 경로를 바꾸어 놓고, 명령어들을 은폐해 놓음
해커가 시스템을 원격으로 해킹하고 있어도 루트킷이 설치되어 있는지 사실조차 감지하기 어려움
침입자는 먼저 암호를 크래킹하거나 시스템 취약점을 찾아내어서 사용자용 접근 권한을 획득한 뒤, 컴퓨터에 루트킷을 설치함
루트의 권한을 쉽게 획득하게 돕는 도구, 자신을 은폐, 삭제할 수 없도록 함
유저모드
Application (커널모드 함수호출 / 응답받기)
커널모드
원본코드 / 원데이터
루트킷은 User 모드의 Application, 커널모드의 원본코드, 원데이터를 공격 (경로 변형-Hooking)
은닉채널
개요
은닉채널 (Covert Channel) : 정보 전송이 목적이 아닌 채널
통신 채널은 은닉 채널과 공개 채널(Overt Channel) 로 구분됨.
은닉 채널은 다계층 보안 시스템(Multi-level Security System) 이 존재하는 경우 계층 간의 보안 허점을 이용하여 공개 채널의 사용자에게는 노출되지 않는 통신 채널을 구성함. 이러한 성격 때문에 디지털 워터마크나 디지털 서명 등에 사용되고 있음
악성코드 간의 통신 등에도 사용되기 때문에 은닉 채널의 탐지가 주요 이슈가 되고 있음
유사한 용어로 스테가노그래피(Steganography), 잠재적인 채널(Subliminal Channel) 등이 있음
은닉 채널의 모델은 The Prisoners’ Problem 모델이 사실상의 표준 모델(De-facto Model) 이 되었음
색출이 어려움
컴퓨터 네트워크 프로토콜에서의 은닉 채널
개요
네트워크 트래픽에 대한 은닉 채널 형성 기법은 Open Systems Interconnection (OSI) 모델에서 데이터 링크 계층(4), 네트워크 계층과 전송 계층(5), 응용 계층(6)(7) 등 각 계층 별로 다양한 방법이 보고되고 있음. 컴퓨터 네트워크 프로토콜에서의 은닉 채널의 형성 기법을 분류하면 아래와 같음
사용하지 않는 헤더 비트
프로토콜 명세 상에서 특정 값을 사용하도록 명시하지 않음
수신자가 값을 확인하지 않음
추후 사용하기 위해 예약해둔(Reserved) 영역을 이용
확장 기능 및 패딩
많은 프로토콜들이 확장성을 고려해 헤더에 확장 기능(Extension Header) 을 정의하여 필요한 경우에 선택적으로 사용하고 있음
대부분의 헤더 확장 기능은 앞으로 추가될 기능을 충분히 고려하지 못하였기 때문에 보안에 잠재적인 위협이 될 수 있음
프로토콜 필드
프로토콜 명세에 정의된 필드를 임의의 값으로 수정, 패킷의 전송에 직접적으로 관련이 있는 필드인 경우 예상치 못한 에러를 가져올 수 있음
패킷 전송 타이밍 : 전송된 패킷의 시간 간격이나 유실을 이용한 낮은 속도의 은닉 채널을 구성할 수 있음
터널링
현 프로토콜(보통 IP프로토콜)을 다른 프로토콜로 전환하는 과정 중에 은닉 채널을 삽입할 수 있음. 이를 통해 방화벽 등의 보안 장비를 우회할 수 있음.
댓글남기기