-
[정보처리기사] 5과목 정보시스템 구축 관리 : 4장. 시스템 보안 구축정보처리기사 2022. 2. 21. 17:04728x90반응형
1. 서비스 공격 유형 ***
2. 서버 인증
3. 보안 아키텍처 / 보안 프레임워크
4. 로그 분석
5. 보안 솔루션 ***
6. 취약점 분석, 평가1. 서비스 공격 유형 ***
서비스 거부(DoS) 공격의 개념
- 표적이 되는 서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는 시스템에서 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로써, 표적이 되는 서버의 정상적인 기능을 방해하는 것
1) Ping of Death(죽음의 핑)
- Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법
- 공격에 사용되는 큰 패킷은 수백 개의 패킷으로 분할되어 전송되는데, 공격 대상은 분할된 대량의 패킷을 수신함으로써 분할되어 전송된 패킷을 재조립해야 하는 부담과 분할되어 전송된 각각의 패킷들의 ICMP Ping 메시지에 대한 응답을 처리하느라 시스템이 다운되게 함
2) SMURFING(스머핑)
- IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법
- 공격자는 송신 주로를 공격 대상지의 IP 주소로 위장하고 해당 네트워크 라우터의 브로드캐스트 주소를 수신지로 하여 패킷을 전송하면, 라우터의 브로드캐스트 주소로 수신된 패킷은 해당 네트워크 내의 모든 컴퓨터로 전송됨
- 해당 네트워크 내의 모든 컴퓨터는 수신된 패킷에 대한 응답 메시지를 송신 주소인 공격 대상지로 집중적으로 전송하게 되는데, 이로 인해 공격 대상지는 네트워크 과부하로 인해 정상적인 서비스를 제공할 수 없게 됨
- SMURFING 공격을 무력화하는 방법 중 하나는 각 네트워크 라우터에서 브로드캐스트 주소를 사용할 수 없게 미리 설정해 놓는 것임
3) SYN Flooding
- TCP는 신뢰성 있는 전송을 위해 3-way-handshake를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법
- 공격자는 사용할 수 없는 IP 주소를 이용해 가상의 클라이언트로 위장하여 공격 대상지인 서버로 SYN 신호를 보내 3-way-handshake의 첫 번째 과정을 수행함
- 공격 대상지인 서버는 SYN 신호에 대한 응답으로 SYN + ACK 신호를 가상의 클라이언트로 보내면서 클라이언트의 접속을 받아들이기 위해 메모리의 일정 공간을 확보함
- 가상의 클라이언트는 본래 사용할 수 없는 주소였으므로 서버가 보낸 응답이 전송되지 않을 뿐만 아니라 가상의 클라이언트로부터 3-way-handshake의 마지막 과정인 ACK 신호도 전송되지 않으므로 공격 대상지인 서버는 메모리 공간을 확보한 상태에서 대기하게 됨
- 공격자가 사용할 수 없는 IP 주소를 이용해 공격 대상지 서버로 반복적인 3-way-handshake 과정을 요청하면 공격 대상지 서버는 메모리 공간을 점점 더 많이 확보한 상태에서 대기하게 되며, 결국 서버에 설정된 동시 사용자 수가 모두 대기 상태로 채워지게 되어 더 이상 정상적인 서비스를 수행할 수 없게 됨
- 대비하기 위해 수신지의 SYN 수신 대기 시간을 줄이거나 침입 차단 시스템을 활용함
4) TearDrop
- 데이터의 송수신 과정에서 패킷의 크기가 커 여러 개로 분할되어 전송될 때 분할 순서를 알 수 있도록 Fragment Offset 값을 함께 전송하는데, TearDrop은 이 Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법
- 대비하기 위해 Fragment Offset이 잘못된 경우 해당 패킷을 폐기하도록 설정
5) Land
- 패킷을 전송할 때 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 공격 대상에서 전송하는 것으로, 이 패킷을 받은 공격 대상은 송신 IP 주소가 자신이므로 자신에게 응답을 수행하게 되는데, 이러한 패킷이 계속해서 전송될 경우 자신에 대해 무한히 응답하게 하는 공격
- 대비하기 위해 송신 IP 주소와 수신 IP 주소의 적절성을 검사
6) DDoS (분산 서비스 거부) 공격
- 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대한 분산 서비스 공격을 수행하는 것으로, 네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트에 분산 서비스 공격용툴을 설치하여 에이전트로 만든 후 DDoS 공격에 이용함
- 공격의 범위를 확대하기 위해 일부 호스트에 다수의 에이전트를 관리할 수 있는 핸들러 프로그램을 설치하여 마스터로 지정한 후 공격에 이용하기도 함
네트워크 침해 공격 관련 용어
1) 스미싱: 문자 메시지를 이용해 사용자 개인 신용 정보를 빼내는 수법
2) 스피어 피싱: 사회 공학의 한 기법으로, 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도해 사용자의 개인 정보를 탈취함
3) APT (지능형 지속 위협): 다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집한 다음 외부로 빼돌리는 형태의 공격
4) 무작위 대임 공격: 암호화된 문서의 암호키를 찾아내기 위해 적용 가능한 모든 값을 대입하여 공격하는 방식
5) 큐싱: QR코드를 통해 악성 앱의 다운로드를 유도하거나 악성 프로그램을 설치하도록 하는 금융사기 기법의 하나로, QR코드와 개인정보 및 금융정보를 낚는다는 의미의 합성 신조어
6) SQL 삽입: 전문 스캐너 프로그램 혹은 봇넷 등을 이용해 웹사이트를 무차별적으로 공격하는 과정에서 취약한 사이트가 발견되면 데이터베이스 등의 데이터를 조작하는 일련의 공격 방식
7) 크로스 사이트 스크립팅 (XSS): 네트워크를 통한 컴퓨터 보안 공격의 하나로, 웹 페이지의 내용을 사용자 브라우저에 표현하기 위해 사용되는 스크립트의 취약점을 악용한 해킹 기법
정보 보안 침해 공격 관련 용어
1) 좀비 PC: 악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터로, C&C 서버의 제어를 받아 주로 DDoS 공격 등에 이용됨
2) C&C 서버: 해커가 원격지에서 감염된 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한 용도로 사용되는 서버
3) 봇넷: 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태
4) 웜: 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종으로, 분산 서비스 공격, 버퍼 오버플로 공격, 슬래머 등이 웜 공격의 한 형태
5) 제로 데이 공격: 보안 취약점이 발견되었을 때 발견된 취약점의 존재 자체가 널리 공표되기도 전에 해당 취약점을 통하여 이루어지는 보안 공격으로, 공격의 신속성을 의미함
6) 키로거 공격: 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호, 카드번호 등와 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격
7) 랜섬웨어: 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 함
8) 백도어: 시스템 설계자가 서비스 기술자나 유지 보수 프로그램 작성자의 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로로, 컴퓨터 범죄에 악용되기도 함
9) 트로이 목마: 정상적인 기능을 하는 프로그램으로 위장하여 프로그램 내에 숨어 있다가 해당 프로그램이 동작할 때 활성화되어 부작용을 일으키는 것으로, 자기 복제 능력은 없음
2. 서버 인증
보안 서버의 개념
- 인터넷을 통해 개인정보를 암호화하여 송수신할 수 있는 기능을 갖춘 서버
- 개인정보의 기술적, 관리적 보호조치 기준에 따르면 보안 서버는 다음과 같은 기능을 갖춰야 함
(1) 서버에 SSL 인증서를 설치하여 전송 정보를 암호화하여 송수신하는 기능
(2) 서버에 암호화 응용 프로그램을 설치하고 전송 정보를 암호화하여 송수신하는 기능
- 스니핑을 이용한 정보 유출, 피싱을 이용한 위조 사이트 등에 대비하기 위해 보안 서버 구축이 필요함
인증의 개념
- 다중 사용자 컴퓨터 시스템이나 네트워크 시스템에서 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차
- 네트워크를 통해 컴퓨터에 접속하는 사용자의 등록 여부를 확인하는 것과 전송된 메시지의 위변조 여부를 확인하는 것이 있음
1) 지식 기반 인증
- 사용자가 기억하고 있는 정보를 기반으로 인증을 수행하는 것
- 관리 비용이 저렴함
- 사용자가 인증 정보를 기억하지 못하면 본인이라도 인증 받지 못함
(1) 고정된 패스워드: 사용자가 알고 있는 비밀번호를 접속할 때마다 반복해서 입력
(2) 패스 프레이즈: iloveyou와 같이 일반 패스워드보다 길이가 길고 기억하기 쉬운 문장을 활용하여 비밀번호를 구성하는 방법
(3) 아이핀: 인터넷에서 주민등록번호 대신 쓸 수 있도록 만든 사이버 주민등록번호로, 사용자에 대한 신원확인을 완료한 후에 본인확인기관에서 온라인으로 발행
2) 소유 기반 인증
- 사용자가 소유하고 있는 것을 기반으로 인증을 수행함
- 소유물이 쉽게 도용될 수 있으므로, 지식 기반 인증 방식이나 생체 기반 인증 방식과 함꼐 사용됨
(1) 신분증: 사용자의 사진이 포함된 주민등록증, 운전면허증, 여권 등을 사용하여 사용자의 신분을 확인함
(2) 메모리 카드(토큰): 마그네틱 선에 보안 코드를 저장해서 사용하는 것으로, 카드 리더기를 통해서만 읽을 수 있음
(3) 스마트 카드: 마이크로프로세서, 카드 운영체제, 메모리 등으로 구성되어 사용자의 정보 뿐만 아니라 특정 업무를 처리할 수 있는 기능이 내장되어 있음
(4) OTP: 사용자가 패스워드를 요청할 때마다 암호 알고리즘을 통해 새롭게 생성된 패스워드를 사용하는 것으로, 한 번 사용된 패스워드는 폐기됨
3) 생체 기반 인증
- 사용자의 고유한 생체 정보를 기반으로 인증을 수행하는 것
- 지문, 홍채/망막, 얼굴, 음성, 정맥 등
4) 기타 인증 기법
(1) 행위 기반 인증: 사용자의 행동 정보를 이용해 인증 수행 (서명, 동작)
(2) 위치 기반 인증: 인증을 시도하는 위치의 적절성 확인 (콜백, GPS나 IP 주소를 이용한 위치 기반 인증)
3. 보안 아키텍처 / 보안 프레임워크
보안 아키텍처
- 정보 시스템의 무결성, 가용성, 기밀성을 확보하기 위해 보안 요소 및 보안 체계를 식별하고 이들 간의 관계를 정의한 구조
- 관리적, 물리적, 기술적 보안 개념의 수립, 보안 관리 능력의 향상, 일관된 보안 수준의 유지를 기대할 수 있음
- 보안 수준에 변화가 생겨도 기본 보안 아키텍처의 수정 없이 지원할 수 있어야 함
- ITU-T X.805의 보안 표준을 기준으로 구성
1) 보안 계층: 인프라 시스템, 응용 프로그램, 데이터, 단말기, 인터페이스
2) 보안 영역: 정보 시스템, 제어 시스템, 클라우드, 무선, 사물인터넷
3) 보안 요소: 인증, 접근 통제, 데이터 처리 보호, 암호화, 감시 추적, 위협 탐지
보안 프레임워크
- 안전한 정보 시스템 환경을 유지하고 보안 수준을 향상시키기 위한 체계
- ISO 7001은 정보보안 관리를 위한 국제 표준으로, 일종의 보안 인증이자 가장 대표적인 보안 프레임워크
- ISO 7001은 영국의 BSI가 제정한 BSI 7799를 기반으로 구성되어 있음
- ISO 7001는 조직에 대한 정보보안 관리 규격이 정의되어 있어 실제 심사/인증용으로 사용됨
4. 로그 분석
로그의 개념
- 시스템 사용에 대한 모든 내역을 기록해 놓은 것으로, 이러한 로그 정보를 이용하면 시스템 침해 사고 발생 시 해킹 흔적이나 공격 기법을 파악할 수 있음
- 로그 정보를 정기적으로 분석하면 시스템에 대한 침입 흔적이나 취약점을 확인할 수 있음
리눅스 로그
- 시스템의 모든 로그를 var/log 디렉터리에서 기록하고 관리함
- 로그 파일을 관리하는 syslogd 데몬은 etc/syslog.conf 파일을 읽어 로그 관련 파일들의 위치를 파악한 후 로그 작업을 시작함
- syslog.conf 파일을 수정하여 로그 관련 파일들의 저장 위치나 파일명을 변경할 수 있음
리눅스의 주요 로그 파일
- 커널 로그, 부팅 로그, 크론 로그, 시스템 로그, 보안 로그, FTP 로그, 메일 로그
윈도우 로그
- 이벤트 로그 형식으로 시스템의 로그를 관리
- 이벤트 뷰어를 이용하여 이벤트 로그를 확인할 수 있음
윈도우 이벤트 뷰어의 로그
- 응용 프로그램 로그, 보안 로그, 시스템 로그, Setup 로그, Forwarded Events 로그
5. 보안 솔루션 ***
보안 솔루션의 개념
- 접근 통제, 침입 차단 및 탐지 등을 수행하여 외부로부터의 불법적인 침입을 막는 기술 및 시스템
1) 방화벽
- 기업이나 조직 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템
- 내부 네트워크에서 외부로 나가는 패킷은 그대로 통과시키고, 외부에서 내부 네트워크로 들어오는 패킷은 내용을 엄밀히 체크하여 인증된 패킷만 통과시키는 구조
- 해킹 등에 의한 외부로의 정보 유출을 막기 위해 사용
2) 침입 탐지 시스템 (IDS)
- 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
(1) 오용 탐지: 미리 입력해 둔 공격 패턴이 감지되면 이를 알려줌
(2) 이상 탐지: 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원의 사용이 감지되면 이를 알려줌
- 침입 시스템의 위치: 패킷이 라우터로 들어오기 전, 라우터 뒤, 방화벽 뒤, 내부 네트워크, DMZ
3) 침입 방지 시스템 (IPS)
- 방화벽과 침입 탐지 시스템을 결합한 것
- 비정상적인 트래픽을 능동적으로 차단하고 격리하는 등의 방어 조치를 취하는 보안 솔루션
- 침입 탐지 기능으로 패킷을 하나씩 검사한후 비정상적인 패킷이 탐지되면 방화벽 기능으로 해당 패킷을 차단함
4) 데이터 유출 방지 (DLP)
- 내부 정보의 외부 유출을 방지하는 보안 솔루션
- 사내 직원이 사용하는 PC와 네트워크상의 모든 정보를 검색하고 메일, 메신저, 웹하드, 네트워크 프린터 등의 사용자 행위를 탐지, 통제해 외부로의 유출을 사전에 막음
5) 웹 방화벽
- 일반 방화벽이 탐지하지 못하는 SQL 삽입 공격, Cross-Site Scripting (XSS) 등의 웹 기반의 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽
- 웹 관련 공격을 감시하고 공격이 웹 서버에 도달하기 전에 이를 차단함
6) VPN (가상 사설 통신망)
- 가상 사설 네트워크로서 인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션
- 암호화된 규격을 통해 인터넷망을 전용선의 사설망을 구축한 것처럼 이용하므로 비용 부담을 줄일 뿐만 아니라 원격지의 지사, 영업소, 이동 근무자가 지역적인 제한 없이 업무를 수행할 수 있음
7) NAC (Network Access Control)
- 네트워크에 접속하는 내부 PC의 MAC 주소를 IP관리 시스템에 등록한 후 일관된 보안 관리 기능을 제공하는 보안 솔루션
- 내부 PC의 소프트웨어 사용 현황을 관리하여 불법적인 소프트웨어 설치를 방지함
- 일괄적인 배포 관리 기능을 이용해 백신이나 보안 패치 등의 설치 및 업그레이드를 수행함
8) ESM (Enterprise Security Management)
- 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션
- 방화벽, IDS, IPS, 웹 방화벽, VPN 등에서 발생한 로그 및 보안 이벤트를 통합하여 관리함으로써 비용 및 자원을 절약할 수 있음
- 보안 솔루션 간의 상호 연동을 통해 종합적인 보안 관리 체계를 수립할 수 있음
6. 취약점 분석, 평가
취약점 분석, 평가의 개요
- 사이버 위협으로부터 정보 시스템의 취약점을 분석 및 평가한 후 개선하는 일련의 과정
- 안정적인 정보 시스템의 운영을 방해하는 사이버 위협에 대한 항목별 세부 점검항목을 파악하여 취약점 분석을 수행함
- 취약점이 발견되면 위험 등급을 부여하고 개선 방향을 수립
취약점 분석, 평가 범위 및 항목
- 취약점 분석, 평가 범위는 정보 시스템과 정보 시스템 자산에 직, 간접적으로 관여된 물리적, 관리적, 기술적 분야를 포함함
- 기본항목은 상, 중, 하 3단계로 중요도를 분리함
수행 절차 및 방법
1) 취약점 분석, 평가 계획 수립
- 취약점 분석, 평가를 위한 수행 주체, 수행 절차, 소요 예산, 산출물 등의 세부 계획 수립
2) 취약점 분석, 평가 대상 선별
- 정보 시스템의 자산을 식별하고 유형별로 그룹화하여 취약점 분석, 평가 대상 목록을 작성하고 각 자산에 대해 중요도를 산정
3) 취약점 분석 수행
- 관리적, 물리적, 기술적 세부 점검 항목표를 작성
- 관리적 점검은 정보보호 정책이나 지침 등 관련 문서 확인과 정보보호 담당자, 시스템 관리자, 사용자 등과의 면담을 통해 수행함
- 물리적 점검은 전산실, 발전실 등 통제 구역을 직접 찾아가 현장 점검 형태로 수행함
- 기술적 점검은 점검 도구, 모의 해킹 등을 통해 수행함
4) 취약점 평가 수행
- 취약점 분석 세부 결과를 작성
- 위험 등급을 상,중,하 3단계로 표시
- 상은 조기 개선, 중, 하는 중기 또는 장기 개선으로 구분하여 개선 방향 수립
LIST'정보처리기사' 카테고리의 다른 글
[정보처리기사] 4과목 프로그래밍 언어 활용 : 2장. 프로그래밍 언어 활용 (0) 2022.02.22 [정보처리기사] 4과목 프로그래밍 언어 활용 : 1장. 서버 프로그램 구현 (0) 2022.02.22 [정보처리기사] 5과목 정보시스템 구축 관리 : 3장. 소프트웨어 개발 보안 구축 (0) 2022.02.18 [정보처리기사] 5과목 정보시스템 구축 관리 : 2장. IT프로젝트 정보시스템 구축 관리 (1) 2022.02.18 [정보처리기사] 5과목 정보시스템 구축 관리 : 1장. 소프트웨어 개발 방법론 활용 (0) 2022.02.17