[컴퓨터 보안] 서버 보안 -1
서버 보안의 개요
- 일반적인 정보 시스템
- 서버 : 서비스를 제공하는 컴퓨터
- 클라이언트 : 서버에 접근하여 서비스를 제공받는 컴퓨터
- 통신 채널 : 인터넷
- 서버 : 서비스를 제공하는 컴퓨터
인터넷 공격에 대한 방어 지점
- 응용 프로그램 계층
- 서버 프로그램은 종종 백도어나 버그 같은 취약성을 가짐
- 이러한 보안취약성을 이용하여 운영체제에 대한 접근권한을 획득
- 서버 프로그램은 종종 백도어나 버그 같은 취약성을 가짐
- 운영체제
- 보안의 가장 근본적인 레벨로 컴퓨터의 모든 행위를 관장
- 대부분의 공격목적은 운영체제의 제어권을 확보하는 것
- 보안의 가장 근본적인 레벨로 컴퓨터의 모든 행위를 관장
- 네트워크 제어
- 시스템의 in/out 트래픽을 제어하여 잠재적으로 유해한 네트워크 트래픽을 줄일 수 있음
- 운영체제 내 또는 별도의 독립된 장비에서 수행될 수 있음
- 시스템의 in/out 트래픽을 제어하여 잠재적으로 유해한 네트워크 트래픽을 줄일 수 있음
- 전송 데이터 제어
- 인터넷을 통해 전송되는 정보는 누구나 열람 가능
- 전송자는 정보를 암호화하여 전송한 뒤 수신자 쪽에서 복호화하여 확인하는 것이 바람직
- 인터넷을 통해 전송되는 정보는 누구나 열람 가능
서버의 침입 및 정보 유출 단계
- 정보 획득 단계
- 공격 대상 시스템 설정
- 공격 대상 시스템 설정
- 권한 획득 단계
- 관리자 권한 획득
- 일반 사용자 획득 (이후 우회적으로 관리자 권한 획득)
- 관리자 권한 획득
- 공격 단계
- 침입 흔적 지움
- 백도어 설치
- 침입 흔적 지움
- 재침입 단계
- 다른 시스템 공격
- 정보 변경 또는 유출
- 다른 비권한 행위 수행
- 다른 시스템 공격
서버 공격의 유형
계정 크랙 공격
-
공격자가 서버에 접속할 수 있는 계정의 ID와 패스워드를 알아내는 공격
- 전수 공격
- 계정의 ID, 패스워드를 자동 조합하여 크랙하는 공격
- 사용할 수 있는 문자의 종류와 길이 제한에 맞게 시도
- 많은 시간 소요
- 계정의 ID, 패스워드를 자동 조합하여 크랙하는 공격
- 사전(Dictionary) 공격
- ID와 패스워드가 될 가능성이 있는 단어를 사전 파일로 만들어 놓고 사전 파일의 단어를 대입하여 크랙하는 공격
- 사전 파일 : 서버를 이용하는 사람의 다양한 정보로 생성. (이름, 생년월일, 전화번호, 가족정보, 차량정보, 취미 등)
- 사전 파일의 단어를 다양하게 조합하여 시도
- 전수 공격보다 공격 시간이 훨씬 단축됨
- ID와 패스워드가 될 가능성이 있는 단어를 사전 파일로 만들어 놓고 사전 파일의 단어를 대입하여 크랙하는 공격
네트워크 공격
- 스푸핑
- IP 주소, MAC 주소 등의 정보를 속임으로써 권한을 획득하여 중요 정보를 가로채고 서비스 방해까지 행하는 공격
- IP 주소, MAC 주소 등의 정보를 속임으로써 권한을 획득하여 중요 정보를 가로채고 서비스 방해까지 행하는 공격
- 스니핑
- 네트워크 패킷으로 전달되는 중요 정보를 도청하는 공격
- 네트워크 패킷으로 전달되는 중요 정보를 도청하는 공격
- 서비스 거부 공격 (Dos)
- 대량의 패킷을 이용하여 네트워크를 마비시키거나 특정 서비스의 수행을 방해하는 공격
- 대량의 패킷을 이용하여 네트워크를 마비시키거나 특정 서비스의 수행을 방해하는 공격
시스템 취약점을 이용한 공격
- 버퍼 오버 플로 공격
- 메모리에 할당된 버퍼의 양을 초과하는 데이터를 입력하여 프로그램의 복귀주소를 조작함으로써 공격자가 원하는 코드를 실행하는 공격
1) 스택오버플로
- 서브프로그램이 호출될 때 복귀주소를 스택에 저장
- 프로그램이 변수의 할당된 공간에 저장될 데이터의 크기를 검사하지 않고 제한을 두지 않는다면
- 데이터의 길이와 내용을 적절히 조정하여 변수 공간을 넘치게 함
- 오버플로가 발생하면 저장된 데이터는 복귀주소 영역까지 침범
2) 힙 오버플로 공격 - malloc이나 new 등 메모리를 동적으로 할당할 때 힙 영역을 사용
- 프로그램이 변수의 크기를 검사하지 않고 제한을 두지 않는다면
- 데이터의 길이와 내용을 적절히 조정하여 변수 공간을 넘치게 함
- 오버플로가 발생하면 저장된 데이터는 다른 영역까지 침범
- 공격자가 원하는 특정 코드가 실행되게 할 수 있음
- 서브프로그램이 호출될 때 복귀주소를 스택에 저장
- 메모리에 할당된 버퍼의 양을 초과하는 데이터를 입력하여 프로그램의 복귀주소를 조작함으로써 공격자가 원하는 코드를 실행하는 공격
- 레이스 컨디션 공격
- 두 프로세스가 동일한 자원을 사용하기 위해 경쟁하는 것을 이용한 공격
- 시스템 프로그램과 공격 프로그램이 경쟁상태에 이르게 하여 시스템 프로그램의 권한을 획득해 공격 프로그램이 원하는 파일에 접근 가능하게 하는 방법
- 두 프로세스가 동일한 자원을 사용하기 위해 경쟁하는 것을 이용한 공격
- 기본 설정 오류를 이용한 공격
- 시스템을 활용하기 위한 다양한 설정 중 잘못된 설정에 대한 공격
- 공유폴더나 관리자 암호를 취약한 암호로 설정해 사용하는 경우
- IIS 웹 서버 설정에서 쓰기 권한을 부여한 경우 등
- 시스템을 활용하기 위한 다양한 설정 중 잘못된 설정에 대한 공격
사회공학적인 공격
- 사람을 속여서 민감한 정보를 유출하게 하는 기술
- 설득과 회유를 통해 자신의 신분을 속이거나 사람들을 교묘히 조종하는 것
- 설득과 회유를 통해 자신의 신분을 속이거나 사람들을 교묘히 조종하는 것
- 내부자와 결탁으로 인한 정보 유출
- 내부자의 부주의로 인한 정보 유출
- 피싱, 파밍 등으로 인한 정보 유출