- Common Vulnerabilities and Exposures - 공개적으로 알려진 보안 취약점에 대한 공통 식별자 목록 - 생성 규칙: CVE-[해당 취약점 리포팅 연도]-[일련번호] - 동일한 취약점에 대해 해커와 보안업체간 다르게 사용해온 명칭을 표준화한 목록이며, 미국의 비영리기관인 MITRE의 테스트를 거쳐 호환성이 충족된 보안제품과 서비스에 한해 등록이 가능
- Common Weakness Enumeration - 소프트웨어 취약점 목록으로 소스코드 취약점 정의
- Common Vulnerability Scoring System - 공통 취약점 등급 시스템 - MITRE에서 발표하였으며, 취약점과 연동하여 점수 계산할 수 있는 사이트는 NIST에서 관리하고 있는 NVD에서 제공됨 - CVE의 요소 중 하나
- APT를 대비하기 위한 대책으로 록히드마틴사가 정식 명칭을 특허로 등록 - 정찰 > 무기화 > 전달 > 공격 > 설치 > 명령 및 제어 > 목표 장악
- Adversarial Tactics, Techniques, and Common Knowledge - MITRE에서 실제 공격 사례를 바탕으로 Cyber Kill Chain 단계를 자체적으로 개발하여 정리한 것
- 지능형 지속 위협 - 특정 대상을 겨냥해 다양한 공격기법을 동원하여 장기간 지속적으로 공격하는 기법
- 바이러스 토탈(Virustotal)에서 제작하였고, 악성코드의 특성과 행위에 포함된 패턴을 이용하여 악성코드를 분류하는 툴
- 공격자가 두 당사자 간의 통신을 가로채 메시지를 도청하거나 조작할 수 있는 공격 - 대응방안: 암호화 구현(SSL/TLS), 보안 통신 프로토콜 사용(HTTPS), 소프트웨어 최신 버전 유지, 보안되지 않은 공용 WIFI 방지
- 바이러스, 웜, 트로이 목마는 악성 소프트웨어로서 확산 방법과 목표에 차이를 갖고 있음 - 바이러스: 일반적으로 확산되려면 감염된 파일을 다운로드하는 등 사용자 상호작용이 필요, 시스템 손상시키거나 제어함 - 웜: 사용자 개입 없이 네트워크나 인터넷을 통해 확산되는 자가 복제 프로그램, 네트워크 정체 및 시스템 충돌 일으킴 - 트로이 목마: 무해한 프로그램이나 파일로 위장하고 시스템 감염시키는 프로그램으로 합법적인 것처럼 보이거나 사용자를 속여 설치하게 하고 백도어 생성하거나 정보 도용함 - 멀버타이징(Malvertising): 합법적인 온라인 광고에 악성 코드를 삽입하거나 사용자가 클릭하도록 속이는 가짜 광고를 생성하는 것
- 전사적 IT인프라에 대한 위협정보 들을 수집·분석·경보·관리하는 정보보호 통합관리 시스템이며 실시간으로 공신력 있는 대외 정보보호기관의 위협정보들을 수집·분석하여 정보보호관리자에게 제공함으로써 각종 보안위협으로 부터 사전 대응 및 예·경보 체계를 구축하고 이를 통해 APT 등 알려지지 않은 공격들에 대한 조기 대응을 유도한다. - EDR 등 다른 솔루션에 밀려서 제품 없음
- 정적 분석: 소스코드를 대상으로 그 안에 내재된 잠재적인 취약점을 분석, 실제로 실행하지는 않으면서 분석 - 동적 분석: 공격자가 사용하는 방식으로 접근하여 웹 애플리케이션의 취약점을 분석, 실제 실행하여 결과를 직접 관찰
- 클라우드 환경: 퍼블릭 클라우드, 프라이빗 클라우드, 하이브리드 클라우드 - 클라우드 서비스: IaaS(Infra구조 레벨을 제공하는 서비스), PaaS(플랫폼 및 환경 제공), SaaS(SW 사용)
- 소프트웨어 공급망에 침투하여 악성코드를 배포하는 공격으로, SW빌드 및 배포 과정에 악성코드를 삽입하여 선의의 소프트웨어를 통해 이용자들을 공격
- /proc: 현재 실행되고 있는 프로세스 정보 기록
- Set-UID(SUID): 권한이 부여된 파일을 실행하면 실행하는 동안 해당 파일의 소유자 권한으로 인식함 - Set-GID(SGID): 권한 실행하는 동안 해당 파일의 소유자 그룹 권한으로 인식한다 - Sticky-Bit: 디렉터리에만 적용되는 권한으로, 이 권한이 적용된 디렉터리엔 일반 사용자들이 자유롭게 파일 생성, 수정, 읽기 가능하다. 다만 파일 소유자나 root 외에는 삭제가 불가능함 - 권한 : r 읽기(4), w 쓰기(2), x 실행(1)
- -r-sr-xr-x root sys /etc/chk/passwd : 소유자의 실행권한이 s이므로 setuid 설정이 되어있다. 따라서 일반 사용자 계정으로 해당 파일 실행하더라도 소유자인 root 권한으로 실행된다. - -r-xr-sr-x root mail /etc/chk/mail : 그룹의 실행권한이 s이므로 setgid 설정이 되어 있다. 따라서 일반 사용자 계정으로 해당 파일 실행하더라도 mail 그룹 권한으로 실행된다. - drwxrwxrwt sys sys /tmp : 모든 사용자가 읽기, 쓰기, 실행 권한이 주어져있으며, 제3자의 실행권한이 t로 sticky bit 설정되어있다. 따라서 누구나 해당 디렉터리에 자유롭게 파일 생성, 수정, 읽기 가능하다. 다만 파일 소유자나 root 외에는 삭제 불가능하다.
- 사용자 계정 아이디, 비밀번호 등 계정 정보 포함 - [계정명:비밀번호:UID:GID:주석:홈디렉터리:쉘]
- 암호화된 비밀번호, 정책 설정 정보 포함 - [계정명:비밀번호:마지막 변경일:최소사용일:최대사용일:만료경고일:유예기간:만료일] - shadow 활성화/비활성화(pwconv/pwunconv) > pwconv: /etc/passwd 방식을 /etc/shadow로 변환해줌 - 두번째 필드 분석 (예: $6$CWA90qcuqNsVFrEw$NvfCN4S1iJH...) > 첫번째 $항은 해시암호 알고리즘 종류 - > $6 ($1 : MD5, $5 : SHA256, $6 : SHA512) > 두번째 $항은 Salt 값 - > $CWA90qcuqNsVFrEw > 세번째 $항은 암호화된 비밀번호 - > $NvfCN4S1iJHbRfgDGrzaFGOxVJ0jv0 > ! or !! : 계정에 비밀번호가 설정되어 있지 않아 잠가놓은 상태 > * : 이 계정을 통해서 아예 로그인을 할 수 없음을 의미 > 빈 값 : 비밀번호 없이 로그인을 할 수 있는 상태를 의미
- 로그인 시 적용되는 기본 정보 구성 파일 - 최소 및 최대 비밀번호 길이, 비밀번호 만료 정책 및 계정 잠금 정책 설정 포함 - 비밀번호 정책 설정하는 파일은 login.defs로 이해하기(shadow는 비밀번호 정책을 확인하는 파일)
- utmp: 현재 로그인한 사용자 상태 정보 담고 있는 로그파일(who 명령어) - wtmp: 사용자 로그인/로그아웃 정보 및 시스템 boot/shutdown 기록을 담고 있는 로그파일(last 명령어) - btmp: 5번 이상 로그인에 실패했을 경우에 로그인 실패 정보를 담고 있는 로그파일(lastb 명령어) - last log: 마지막으로 성공한 로그인 정보를 담고 있는 로그파일
- log 저장 및 관리 시 크기 커지는걸 방지하기 위해 분산시키는 명령어 설정 파일 - 옵션 > rotate [숫자]: log 파일이 [숫자] 이상이 되면 삭제 > maxage [숫자]: log 파일이 [숫자]일 이상이 되면 삭제 > size [숫자]: 지정된 용량보다 클 경우 rotate 실행 > create [권한] [유저] [그룹]: rotate 되는 로그파일 권한 지정, 예) create 644 root root > compress: rotate되는 로그파일 압축 > dateext: 백업 파일 이름에 날짜 입력 > monthly, weekly, daily: 월, 주, 일 단위 rotate 실행
- strace: 특정 프로그램의 시스템 콜과 시그널을 추적하는 툴 > 예시 strace -e trace=open ps |more - history: 명령어 이력을 볼 수 있음. 로그인 후 입력했던 명령어들과 명령어 뒤에 입력한 parameter까지 확인 가능 - umask: 파일 생성 시 기본 권한 설정 가능 > 예시: umask 022인 경우, 파일 최대 권한 666 - umask = 644가 된다. - chmod: 파일 허가권 변경 > chmod 400 test.txt - chown: 파일 소유자 변경 > chown redstone test.txt - 계정관리모듈 PAM의 계정 임계값 설정 옵션 > deny=5 #5회 틀릴 시 계정 잠금 > unlock_time=120 #계정잠금 후 120초 후 잠금 해제 > no_magic_root #루트계정 잠금설정 안함 > reset #접속 성공 시 실패횟수 초기화 - find: 파일 검색 명령어 > find / -mtime -7 #최근 7일 이내 변경된 모든 파일 검색 > find / -user root -perm -4000 #사용자가 root이면서 접근권한이 setuid로 설정된 모든 파일 검색
- Windows 전용으로 제공되는 볼륨 암호화 기능 - TPM(신뢰할 수 있는 플랫폼 모듈)을 사용하며 AES-128 알고리즘을 사용
- Shell Code : 어셈블리어/기계어로 구성되어 있는 익스플로잇 코드의 본체에 해당하는 프로그램 - 0x90 : NOP(No Operation)에 해당하는 x86 Hex code - RET EIP ESP : ESP 레지스터에 있는 값을 EIP 레지스터로 옮기는 어셈블리 명령어
- 집성 공격: 낮은 보안등급의 정보조각을 조합하여 높은 등급의 정보 알아내는 것 - 추론 공격: 보안사항이 아닌 정보로 기밀번호를 유추하는 것 - 데이터 디들링: 입력값/출력값을 위변조하여 잘못된 결과가 나오도록 유도하는 것
- 접근통제: 사용자에 대한 인증 및 권한에 따라 정보 접근 허용 - 추론통제: 데이터 추론할 수 없도록 방지(질의 길이 제한 등) - 흐름통제: 보안등급이 높은 객체에서 낮은 객체로의 정보흐름 제어
- 네트워크 계층에서 데이터를 보호하는 프로토콜 - IP패킷을 암호화하고 인증하여 안전한 통신 채널을 제공하는 것이 목적
- IP의 내용(payload)만을 보호하는가, 또는 헤더까지 모두 보호하는가에 따라 모드가 나뉨
- 종단 간 데이터 보호가 필요할 때 사용 - 전송 계층과 네트워크 계층 사이에 전달되는 payload를 보호함 - 전송 계층에서 IPSec 계층을 거쳐서 IPSec헤더가 붙고 이것이 payload 취급되서 네트워크 계층에서 IP헤더 붙어서 전달됨
- 라우터간, 호스트와 라우터간 등 송수신자 양쪽 모두가 호스트는 아닌 경우에 사용됨 - IP헤더를 포함한 IP계층의 모든 것을 보호함 - 네트워크 계층에서 붙은 IP헤더까지를 payload 취급하여 IPSec헤더가 붙고 새로운 IP헤더 추가됨
- IPSec은 두가지 보안 프로토콜을 제공
- 발신지 호스트를 인증하고 IP패킷의 무결성을 보장 - 다만, AH는 인증과 무결성은 보장하지만 비밀은 보장하지 않음
- 페이로드 전체를 보호하여 인증, 무결성, 기밀성 제공
- 기밀성(ESP 대칭키 암호화): 암호화된 트래픽을 통해 데이터 노출 방지 - 무결성(AH 메시지 인증 코드 MAC): 메시지 위변조되지 않음을 보장 - 인증(AH 메시지 인증 코드 MAC): 정상 사용자로부터 송신된 데이터임을 보장 - 재전송 공격 방지(보안 연관 순서번호): 순서번호를 유지하여 재전송 공격 방지 - 접근제어(보안정책): 패킷의 허용, 폐기 보호 등 적용
- AH: IP패킷에 무결성 및 인증 제공 - ESP: IP패킷 무결성, 인증 제공하고 암호화하여 기밀성 제공 - SA: 두 IPSec 장치 간 통신을 보호하는데 사용되는 보안 매개변수 집합 - IKE: 키 관리 프로토콜로서, UDP 500포트 사용 - SPD: 보안 정책 데이터베이스, 보호할 트래픽과 보호 방법을 결정
- AH는 전송되는 필드와 인증되는 필드 동일, 암호화 기능 없음 - ESP는 전송, 암호화, 인증 필드가 다름 - TCP 헤더와 데이터를 합쳐서 IP Payload로 이해하기
- 기본: [IP 헤더] [TCP 헤더] [데이터] - 전송시: [IP 헤더] [AH 헤더] [TCP 헤더] [데이터] - 암호화 기능 없음 - 인증되는 필드: [IP 헤더] [AH 헤더] [TCP 헤더] [데이터]
- 기본: [IP 헤더] [TCP 헤더] [데이터] - 전송시: [New IP 헤더] [AH 헤더] [IP헤더] [TCP헤더] [데이터] - 암호화 기능 없음 - 인증되는 필드: [New IP 헤더] [AH 헤더] [IP헤더] [TCP헤더] [데이터]
- 기본: [IP 헤더] [TCP 헤더] [데이터] - 전송시: [IP 헤더] [ESP 헤더] [TCP 헤더] [데이터] [ESP Trailer] [ESP Auth] - 암호화되는 필드: [TCP 헤더] [데이터] [ESP Trailer] - 인증되는 필드: [ESP 헤더] [TCP 헤더] [데이터] [ESP Trailer]
- 기본: [IP 헤더] [TCP 헤더] [데이터] - 전송 시: [New IP 헤더] [ESP헤더] [IP헤더] [TCP헤더] [데이터] [ESP Trailer] [ESP Auth] - 암호화되는 필드: [IP 헤더] [TCP 헤더] [데이터] [ESP Trailer] - 인증되는 필드: [ESP헤더] [IP헤더] [TCP헤더] [데이터] [ESP Trailer]
- 기밀성, 무결성, 인증 기능을 제공하는 웹 브라우저 보안 프로토콜 - 전송 계층 위에 TLS 계층을따로 두어 동작함 - TLS 사용하는 애플리케이션 프로토콜은 끝에 S가 붙게됨(HTTP > HTTPS) - SSL과 TLS의 차이는 버전과 암호화 알고리즘을 처리하는 방식에 있다.
- 사용자가 SSL로 보호되는 웹 사이트 접속하면 브라우저와 웹 사이트 서버는 SSL 핸드쉐이크를 통해 보안 연결 협상 - 세션 키 합의함으로서 전송되는 데이터 암호화하고 무결성 보장하는 보안 채널 제공
- 클라이언트가 암호화 알고리즘 및 매개변수 목록을 서버로 전송 - 서버는 클라이언트가 제공한 목록 중 암호화 알고리즘과 매개변수 선택하고 공개키와 디지털 인증서를 전송 - 클라이언트는 서버의 디지털 인증서 확인 후 임의의 암호화된 메시지 생성하여 서버로 전송 - 서버는 개인 키로 복호화하여 클라이언트와 서버 모두 고유한 세션키 생성 완료
- TLS 1.3에 추가된 기능으로 세션키를 합의하는 핸드 셰이크 과정을 간소화하여 암호화 시간을 줄여주는 기능
- Datagram Transport Layer Security - UDP 기반으로 통신을 수행하는 경우 SSL/TLS와 유사한 보안 기능을 제공하는 프로토콜
- Padding Oracle On Downgraded Legacy Encryption - TLS 연결을 SSL 3.0으로 낮춰 SSL 3.0 취약점을 이용하여 암호문을 해독하는 공격 기법
- CVE-2014-0160 - 통신 구간 암호화를 위해 사용하는 OpenSSL 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있는 취약점 - SSL 프로토콜의 취약점이며, OpenSSL 1.01f 이전 버전이 영향 받음
- 논리적인 주소(IP주소)를 물리적인 주소(MAC주소)로 변환하는 프로토콜 - 반대로 MAC주소를 IP주소로 변환하는 것은 RARP
- 목적지 IP주소는 알지만 MAC주소는 모를때, 목적지 MAC주소를 00:00:00:00:00:00으로 하고 패킷 목적지를 Broadcast(FF:FF:FF:FF:FF:FF)로 하여 네트워크 상 모든 노드한테 뿌려서 목적지 MAC주소를 획득 - 획득한 목적지 MAC주소를 ARP cache에 저장
- 피해자의 MAC 주소로 위조 - 피해자의 IP로 전달되는 데이터를 중간에서 가로채는 공격 - 예) 서로 다른 IP가 같은 MAC주소를 가지고 있는 경우 - 대응방안: ARP cache 테이블 정보를 정적(static)으로 설정하여 ARP 프로토콜을 통한 변조 발생하지 않도록 함 > arp -s [게이트웨이 IP] [게이트웨이 MAC]
- 공격자가 피해자에게 자신의 MAC주소를 게이트웨이(서버 등)의 주소인 것처럼 속인다. - 공격자가 게이트웨이에게 자신의 MAC주소를 피해자의 MAC주소인 것처럼 속인다. - 공격자는 피해자 및 게이트웨이로부터 메시지를 받게 되고, 이를 정상적으로 보내주면 통신은 정상적으로 이루어지면서 공격자는 모든 메시지를 읽을 수 있다.
- Gateway의 MAC주소로 위조 - 공격자가 피해자들에게 자신이 라우터라고 속여서 피해자들의 패킷이 자신에게 한번 거친 후 라우터로 가도록 하는 공격
- 네트워크에 있는 장비들을 관리하기 위한 프로토콜
- 162/UDP 사용 - Manager가 Agent에게 필요한 정보를 요청하는 역할
- 161/UDP 사용 - Agent가 Manager에게 주기적으로 보고(설치된 시스템의 정보나 네트워크 정보) - Trap: 에이전트가 매니저에게 보고하는 과정
- 재전송 공격 방지: msgAuthoritativeEngineID, msgAuthoritativeEngineBoots, msgAuthoritativeEngineTime - 위장 공격 방지: msgUserName, msgAuthenticationParameters - 기밀성: msgPrivacyParameters
- Router# configure terminal - Router(config)# no snmp-server
- PSK(Pre Shared Key): 별도의 인증서버 없는 소규모 망에서 사용되며, 초기 인증에 사용되는 PSK값을 이용해 4웨이 핸드쉐이킹 과정을 통해 무선AP와 무선단말기가 동일한 값 가지고 있는지 확인 - EAP(Extensible Authentication Protocol): 초기에는 PPP에서의 사용을 위해 개발되었으나 현재는 무선랜 표준인 IEEE 802.1x에서 사용자 인증 방법으로 사용되며, 어떤 링크에도 접속 가능함
- WEP(Wired Equivalent Privacy): 초기 무선랜 보안 기술, RC4 알고리즘 사용 - WPA(Wifi Protection Access): EAP를 통해 인증을 수행하고 RC4-TKIP 알고리즘으로 암호화 - WPA2: EAP를 통해 인증을 수행하고 AES-CCMP 알고리즘으로 암호화 지원
- 실시간 트래픽 분석과 네트워크 패킷 처리가 가능한 오픈소스 IDS SW - 리눅스에 Snort 설치 시 /etc/snort 디렉터리 밑에 설정 파일 등이 위치함
- 크게 헤더(Header)와 바디(Body)로 구성됨
- Header 구조: [action]+[Protocol]+[IP주소]+[Port번호] - 예) alert udp 0.0.0.0/0 any - > 192.168.10.0/24 any - action 유형 > alert: 알람 발생, 패킷을 로그에 기록 > log: 패킷 로그에만 기록 > pass: 아무런 처리없이 통과 > activate: 알람 발생, dynamic 룰 동작 > dynamic: activate 룰에 의해 트리거, 패킷 로그에만 기록 > drop: 패킷 차단하고 로그 기록 > reject: 패킷 차단하고 로그 기록하며 Reset or ICMP port unreachable 메시지 전송 > sdrop: 패킷 차단만 하고 로그 기록하지 않음
- 패킷 검출을 위한 다양한 옵션 설정 가능 - msg: 룰 타이틀 명으로 이벤트 발생 시 로그에 기록되는 항목 - content: 패킷의 payload에서 검사할 문자열 지정 - nocase: payload 검사 시 대소문자 구분안함 - offset : payload에서 패턴 매칭할 시작 위치(0 부터 시작), offset 바이트만큼 띄우고 검사 시작 - depth : payload에서 패턴 매칭할 끝 위치(0+offset 시작), depth 바이트만큼 검사 - distance: 이전 검색 마친 위치에서 해당 숫자만큼 띄우고 검사 시작
- 오픈소스 IDS/IPS로, 기존의 Snort의 장점을 수용하고, 대용량 트래픽을 실시간으로 처리하는데 특화된 소프트웨어
- 리눅스 OS 방화벽 - 네트워크 방화벽과 동일하게 IP/Port 기반으로 패킷 차단/허용 가능
- iptables [테이블명] [체인명] [룰] [타겟]
- Filter: default, 패킷 필터링 담당 - Nat: IP 주소 변환 처리(SNAT, DNAT) - Mangle: 성능 향상을 위한 TOS 설정
- INPUT: 외부에서 들어오는 패킷 담당 - OUTPUT: 외부로 나가는 패킷 담당 - FORWARD: 방화벽을 경유하여 외부에서 다른 시스템으로 전달되는 패킷
- 프로토콜: -p TCP, -p UDP - SYN 플래그: --syn - IP 주소: -s IP주소, -d IP주소 - Port 번호: --sport 포트번호, --dport 포트번호
- -j: ACCEPT(허용), DROP(차단), REJECT(차단 후 ICMP 에러 전송), LOG(탐지 로그만 남김)
- service iptables stop #iptables 끄기 - service iptables start #iptables 켜기
- iptables -A INPUT -s 아이피 -j DROP - iptables -A INPUT -p TCP --syn --dport 80 -m recent --update --seconds 2 --hitcount 30 --name SYN_DROP -j DROP
- 공격 대상 시스템이 정상적인 서비스를 할 수 없도록 만드는 공격
- 여러 대의 컴퓨터를 동작시켜 특정 사이트나 시스템을 공격하여 정상적인 서비스를 할 수 없도록 하는 공격 - DoS는 공격자가 단일 컴퓨터를 통해 공격하는 경우, DDoS는 공격자가 물리적으로 분산된 다수의 컴퓨터(좀비 PC)를 이용하여 공격하는 형태
- 공격 원리: 공격자는 Source IP를 공격대상의 IP로 위조하여 다수의 반사서버로 요청을 보내고, 공격대상 서버는 반사서버로 부터 다수의 응답을 받아 서비스 장애 - 기존 DoS와의 차이점 > 출발지 IP가 위조되고, 반사서버를 통해 공격이 수행되므로 공격의 출처를 파악하기 어려움 > 다수의 좀비 PC를 동원하지 않더라도 대량의 공격 패킷을 만들어 낼수 있어 효율이 높음
- 네트워크에서 IP Spoofing을 방지하는데 사용됨 - 패킷의 source IP를 라우팅 테이블과 비교하여 들어오는 패킷의 Source IP를 확인
- DDoS 공격의 하나로, ICMP 특성을 이용한 공격 - 공격 대상자의 IP로 스푸핑된 IP를 Source로 하여 브로드캐스트 도메인으로 ICMP 메세지를 전송하는 공격 (ICMP Echo Request > Echo Reply) - 대응방안: 패킷 필터링을 통해 Echo Reply message의 rate-limit 설정하여 한꺼번에 동일한 ICMP Echo Reply message 들어오는 것을 막기, 라우터에서 Direct Broadcast를 Disable 시키기 - 신뢰할 수 있는 네트워크 범위에 대해서만 ip direct broadcast 활성화하기 > (config)# access-list 100 permit udp [신뢰할 수 있는 네트워크 범위] any > (config)# interface FastEthernet 0/0 > (config-if)# ip directed-broadcast 100 - ip direct broadcast 비활성화하기 > no ip directed-broadcast
- Local Area Network Denial Attack - DDoS 공격의 하나로, IP 스푸핑을 이용한 SYN 공격 - 출발지와 목적지의 IP 주소를 공격대상의 IP주소와 동일하게 설정하여 보내는 공격 - 대응방안: 네트워크로 유입되는 패킷 중 source IP가 내부 IP인 패킷 차단
- RUDY라고 불리는 공격 기법으로, 헤더 필드의 Content-Length를 비정상적으로 크게 설정한 후, 매우 작은 데이터를 천천히 웹 서버에 전송하여 연결 상태를 유지하여 웹 서버의 가용량을 침해하는 공격 - 예) HTTP Request 메시지 내 Content-Length는 매우 크나, 패킷 분석 도구(Wireshark Pachet)에서는 Length가 작게 보이는 경우 - 대응방안: Connection Timeout 설정, Read Timeout, 서버 방화벽 설정하여 동일한 소스 IP에서 동시 연결가능한 개수의 임계치를 설정하여 초과 시 차단
- HTTP 관련 공격 중 헤더의 CRLF(개행문자) 필드 부분을 조작함으로써 웹서버로 조작된 HTTP 헤더를 지속적으로 보내 서비스의 가용성을 떨어뜨리는 공격 - 예) 헤더 끝을 알리는 개행 문자열 \r\n\r\n (Hex: 0d 0a 0d 0a)을 포함하지 않고 전송 - 대응방안: 방화벽 등을 통해 동시 연결에 대한 임계치 설정
- DDoS 공격의 하나로, TCP 핸드쉐이크를 이용한 공격 - 다수의 SYN 패킷을 전송하여 다수의 SYN RECEIVED 상태를 발생시키는 공격 - 대응방안: SYN Cookie 설정, 방화벽을 통해 동일 클라이언트 IP에 대해 SYN 임계치 설정
- 다량의 SYN 패킷을 공격 대상에게 전송하여 다수의 ESTABLISHED 상태를 발생시키는 공격 - SYN Flooding은 해당 공격의 일종
- 공격자가 대량의 UDP/ICMP 패킷을 공격대상 서버로 전송하는 공격
- 공격자가 핸드쉐이크 후 HTTP GET 또는 POST 요청을 대량 반복 수행함으로서 이루어지는 공격 - 좀비 PC의 IP를 변조하지 않고, 적은 개수의 패킷으로 효과적인 공격 가능
- UPnP 프로토콜을 이용하여 IoT 시스템 공격 - UPnP: 네트워크 장치들이 서로 연동될 수 있도록 하는 프로토콜 - SSDP: 네트워크 서비스나 정보 찾기 위하여 사용하는 네트워크 프로토콜 - Reflection 공격의 일종으로 1900번 포트를 사용하여 IoT 시스템을 공격하는 기법 - 대응방안: 방화벽을 통해 1900번 포트 트래픽 차단, 노출된 SSDP 장치가 있는지 확인
- 다수의 매개변수(&)를 이용하여 컴퓨팅 리소스를 고갈시키는 공격
- Window Size를 줄여서 서버의 데이터를 적게 받는 공격 ※ 혼동주의!! HTTP 응답 분할 공격은 DoS가 아님 > HTTP Request에 있는 파라미터가 HTTP Response의 응답헤더로 다시 전달되는 경우 파라미터 내 개행문자 CR(Carriage Return, %0D) 혹은 LF(Line Feed %0A)가 존재하면 HTTP 여러개로 나누어질 수 있음 > 응답 메시지에 악의적인 코드를 주입함으로써 XSS 및 캐시를 훼손하는 취약점
- 해당 호스트에서 어떤 포트가 열려있는지 확인하는 것 - 이를 통해 해당 네트워크가 사용하고 있는 시스템과 서비스 등을 알 수 있음
- 완전한 TCP 연결 맺어서 포트 활성화 여부 판단 - 신뢰성 있는 결과 얻지만 속도 느리고 로그 남음 - 포트 열려있는 경우: 공격자가 SYN 패킷 송신, 대상으로부터 SYN/ACK 패킷 수신, 공격자가 ACK 송신, 공격자가 RST/ACK 송신 - 포트 닫혀있는 경우: 공격자가 SYN 패킷 송신하면 대상으로부터 RST/ACK 패킷 받음
- 세션을 완전히 연결하지 않고 포트 활성화 여부 판단(로그 안남김) - 포트 열려있는 경우: 공격자가 SYN 패킷 송신, 대상으로부터 SYN/ACK 패킷 수신, 공격자가 RST 패킷 송신 - 포트 닫혀있는 경우: 공격자가 SYN패킷 보내면 대상으로부터 RST/ACK 패킷받음 - 응답이 없는 경우 포트 사용 중이나 보안장비 등에 의하여 필터링됨
- TCP 헤더 조작하여 특수한 패킷 보내고 응답받아 포트 활성화 여부 판단(로그 안남김) - 포트 열려있는 경우: 공격대상으로부터 응답 없음 - 포트 닫혀있는 경우: RST 패킷 받음
- 포트의 오픈 여부를 판단하는 것이 아닌, 방화벽과 같은 보안장비의 필터링을 확인하기 위함 - 필터링되고 있으면 응답이 없거나 ICMP 메시지 받고, 필터링 없다면 RST 응답 받음
- 각 포트에 UDP 패킷을 보내고 응답 수신되면 포트 열린 것으로 간주, 다만 응답 수신되지 않는 경우 불확실하다. - 대신 TCP 스캔보다 빠르다. * SMTP(TCP 25), HTTPS(TCP 443), POP3(TCP 110)
- Public Network를 사설망처럼 사용할 수 있게 해주는 기술
- 2계층: L2TP VPN, PPTP VPN - 3계층: IPSec VPN - 4계층: SSL VPN
- CISCO사에서 개발한 터널링 프로토콜로 데이터 링크 계층에서 캡슐화를 지원
- 마이크로소프트社와 3Com社 등 여러 회사가 공동개발한 터널링 프로토콜로 RFC 2637으로 표준화됨
- 장점을 결합한 프로토콜로, 기밀성과 인증 기능의 부족으로 IPSec 프로토콜과 함께 사용되는 경우 많음
- 인터넷 계층에서 동작하는 대표적인 VPN 프로토콜
- Ingress 필터링: 라우터 외부에서 내부로 유입되는 패킷 필터링, 인터넷 상에서 사용되지 않는 IP 대역은 차단, 존재하지 않는 외부 IP 이용한 Spoofing 공격 차단 - Egress 필터링: 라우터 내부에서 외부로 나가는 패킷 필터링, source IP는 반드시 라우터와 같은 대역이어야 함 - stateful 방화벽: 동일한 출발지 IP주소, 포트번호, 목적지 IP주소, 포트번호 등을 갖는 패킷들의 상태 저장하고 그룹으로 필터링하여 정교하게 차단 가능
- 공격자가 패킷을 소형 단편화하여 공격하는 것 - 쪼개진 패킷을 재조합하는 기능이 없는 방화벽에서는 탐지하거나 차단 불가 - 대응방안: 단편화된 패킷 재조합 기능있는 방화벽 사용
- 오탐: 정상적인 행위를 이상행위로 판단하여 탐지하는 상황 - 미탐: 이상행위를 탐지하지 못하는 상황
- 오용탐지 > 잘 알려져 있는 공격패턴을 룰로 등록하고, 패턴과 일치여부에 따라 침입여부를 판단하는 방식 > 등록된 공격패턴에 의하여 탐지되므로 오탐률 낮음 > 새로운 공격은 탐지 불가하며, 지속적으로 패턴 업데이트 필요 - 이상탐지(비정상행위 탐지) > 정상행위와 이상행위 분석하고, 통계적 분석을 통하여 침입여부를 판단하는 방식
- 패킷의 목적지 주소(MAC, IP, Port 등)를 확인하여, 목적지가 연결된 스위치의 포트로만 패킷을 전송하는 장치 - 패킷의 고속 전송, 로드 밸런싱, QoS 기능을 수행 - 동작 원리 > Leaning: 테이블에 정보 저장 > Flooding: 모르는 정보를 모든 호스트에 전달 > Forwarding: 알고있는 목적지로 정보 전달 > Filtering: 다른 목적지로 넘어가지 못하게 제어 > Aging: 오래된 정보 삭제
- 질의에 대한 응답 패킷만을 보기 위한 필터링 구문: dns.flags.response==1 - 질의만을 보기 위한 옵션: dns.flags.response==0
- 3 way 핸드쉐이크 과정: SYN 전송 > SYN-ACK 전송 > ACK 전송 - SYN seq값은 앞에 ack값이 있으면 그 값 그대로 가져감 - ack값은 seq+1 - ex) SYN seq(100) 전송 > SYN/ACK seq(200)/ack(101) 전송 > ACK seq(101)/ack(201)
- 네트워크 카드의 특정 인터페이스로 들어오는 모든 패킷을 수신하게 된다. > ex) device eth0 entered Promiscuous mode : eth0 인터페이스로 들어오는 모든 패킷 수신 - 해당 모드 진입 시 패킷 스니핑 공격 가능 - 대응방안: 통신시 SSH, HTTPS와 같은 암호화 통신 사용
- Access 로그: 웹 서버가 클라이언트 요청에 대해 반환한 응답에 대한 정보 기록 - Error 로그: 웹 서버에서 발생한 오류와 경고에 대한 정보 기록 - httpd.conf: 로그파일 경로 확인 가능한 파일 > Errorlog "/var/log/httpd/error_log"
- KeepAlive On: KeepAlive 옵션 켜기 - MaxKeepAliveRequests 100: KeepAlive 허용하는 유저 수 100명 설정 - KeepAliveTimeout 100: KeepAlive 유지시간 100초 설정 - DirectoryIndex index.htm index.html: 디렉터리 접근 시 index.htm 먼저 읽고 없으면 index.html 읽기 - CustomLog /www/logs/access_log common: 로그파일을 /www/logs/access_log 경로에 저장
- LimitRequestBody: httpd.conf 파일에서 디렉터리에 업로드 가능한 최대 파일크기 제한하는 명령어
- DB와 연결되어 있는 애플리케이션의 입력값을 조작하여 의도하지 않은 결과를 반환하도록 하는 공격 기법 - 대응방안: prepared statement > 최초에 한번 쿼리를 분석해 최적화 수행 후 메모리에 저장해두고, 다음 요청부터는 저장된 결과를 재사용하여 쿼리를 수행하는 방식 > 사용자가 입력한 값이 SQL 쿼리가 아닌 매개 변수로 처리되기 때문에 SQL 인젝션 공격을 막을 수 있음 > 성능 측면 효율이 높고 SQL 인젝션 방지 가능
- SQL의 잘못된 문법이나 자료형 불일치 등에 의해 데이터베이스가 알려주는 오류 메시지에 의존하여 수행되는 공격 기법
- 데이터베이스 오류 메시지를 표시하지 않을 경우 사용 - 기존 정상쿼리와 악성쿼리를 합집합으로 출력하여 정보 획득하는 기법
- HTTP 응답이나 데이터베이스 오류 메시지를 표시하지 않는 경우 사용 - 요청이 참인지 거짓인지만 확인할 수 있을 때 사용 - 입력값 바꿔가면서 계속 시도하여야 함
- 게시판, 웹, 메일 등에 삽입된 악의적인 스크립트에 의해 쿠키 및 기타 개인정보를 특정 사이트로 전송시키는 공격 기법 - 대응방안: 사용자 입력 문자열에서 HTML 코드로 인식될 수 있는 특수문자(<, >,&,/,(,))를 일반문자로 치환하여 이스케이프 처리
- 특정 디렉터리에 초기 페이지(index.html, home.html 등)의 파일이 존재하지 않을 때 자동으로 디렉터리 리스트를 출력하는 취약점 - 대응방안: 디렉터리 인덱싱을 비활성화하도록 웹 서버 구성하여 방지 가능, Apache 웹 서버의 .htaccess 파일에 Options에서 Indexes 문구 삭제
- 실행 가능한 스크립트 파일(jsp, php, sh)을 첨부하여 원격에서 제어하는 공격 - 웹쉘: 첨부되는 스크립트 파일 - 대응방안: .htaccess 파일 설정하기 > FilesMatch: 특정 확장자들을 deny하거나 allow 설정할 수 있는 지시자 > AddType: 특정 확장자들을 html로 해석되도록 만들 수 있는 지시자
- 사용자가 접속한 웹페이지에서 팝업, ifram, 리다이렉트 등을 통해 사용자가 인식하지 못하게 악성코드 다운로드시키는 유형
- 정상 애플리케이션인 것처럼 배포된 뒤 자신의 내부에 압축해서 가지고 있던 코드를 이용하여 새로운 악성코드를 생성하여 시스템을 감염
- XML 문서 안에서 외부의 개체를 참조하게 되는데 이때 외부 개체에 삽입된 악의적인 코드가 실행되어 데이터 유출, 서비스 거부 공격 등을 수행 가능 - 예시: <!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
- 엔티티 참조를 반복하면서 메모리 고갈, 이로 인한 서비스 불가 - 예시: <!ENTITY lol "lol"><!ENTITY lol2 "&lol;&lol;&lol;&lol;&lol;&lol;&lol;&lol;">
- 서버에서 클라이언트 데이터를 저장하는 방법 중 하나 - 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일 - Secure: 쿠키 옵션 중 하나로, true이면 HTTPS 프로토콜을 이용하는 경우에만 쿠키 전송 가능, 전송 중 평문 쿠키 노출을 방지 가능 - HttpOnly: 쿠키 옵션 중 하나로, true이면 자바스크립트에서 쿠키 접근이 제한됨, 허용하면 XSS 공격에 취약하게 되므로 주의 - 예시 Set-Cookie: ID=redstone; Path=/; secure > 클라이언트가 HTTPS 통신일 경우에만 해당 쿠키 전송함
- SPF(Send Policy Framework): > 이메일 발송 도메인의 DNS에 txt레코드로 등록된 IP주소와 실제 메일의 송신 IP를 비교하여 메일 도메인의 정당성을 검증 > 일치하는 경우 정상 처리하고, 일치하지 않을 경우 차단하는 대표적인 이메일 스팸 차단 기술 - DKIM(DomainKeys Identified Mail): > 메일 헤더가 변조되지 않았고 실제 해당 도메인에서 발송된 것을 확인 가능 > 이메일 서버의 개인키로 이메일 헤더를 전자서명하고, 메일 도메인서버의 txt레코드로 등록된 공개키로 검증하도록 함 - DMARC(Domain-based Message Authentication, Reporting and Conformance): SPF와 DKIM을 혼합한 기법 - PGP(Pretty Good Pricacy): 필 짐머만 독자 개발, PEM에 비해 보안성은 떨어지나 구현이 용이하고 무료로 배포되어 많이 사용됨
- 도메인을 IP로 변환하거나 IP를 도메인으로 변환하는 프로토콜 - /etc/hosts: DNS 정보를 담고 있는 파일 - 53/UDP(기본), 53/TCP(512Byte이상)
- 호스트 별칭: 하나 이상의 별명 가질 수 있음 ex) redstone.com과 www.redstone.com등 - 부하 분산: 같은 도메인에 대하여 여러 IP 지정 가능, 따라서 DNS서버는 IP 번갈아가면서 알려줄 수 있음
- 상위 DNS 서버에 질의하는 부하를 줄이기 위함 - TTL: DNS 서버 정보를 캐시에 보관하는 기간(통상 2일)
- 영역 등록: 도메인 DNS서버를 등록하는 절차 - 호스트 등록: DNS서버에 서비스 정보 입력하는 절차
- allow-transfer { 슬레이브 서버 IP };
- 사용자에게 전달되는 DNS 서버의 캐시 정보를 조작하여 의도치않은 사이트로 접속하게 만드는 공격 - 사용자가 사이트에 접속 시도(DNS 질의) > 공격자가 정상 응답보다 빠르게 희생자에게 조작된 DNS 응답을 보냄 > 캐시 DNS 서버에 조작된 주소 정보가 저장됨 > 먼저 수신한 응답 신뢰 특성으로 인해 이후 들어온 정상 응답 폐기 > 사용자는 조작된 주소 사이트로 접속
- DNS 질의는 인증 절차가 없다는 점을 이용 - DNS 질의 트래픽은 요청량보다 DNS서버로부터의 응답량이 많다는 점을 이용 - 공격자가 중계DNS서버에 DNS 쿼리의 Type을 ANY로 변경한 후 출발지를 피해자 IP로 수정 > 중계DNS서버는 ANY요청에 따라 A, NS, CNAME 등 모든 정보 응답 - IP 기반 DNS 증폭 공격: IP Spoofing을 사용하여 출발지 IP를 피해자 IP로 위조한 후 다수의 DNS 질의 수행하는 공격 * ANY 또는 TXT 쿼리 타입 이용: 요청 패킷 크기보다 응답 패킷 크기가 크기 때문
- 인터넷 기반 파일 전송 프로토콜
- FTP 서비스 제공하는 서버와 접속하는 클라이언트 사이에 2개의 연결이 생성됨 - 21/TCP: 데이터 전송을 제어하기 위한 신고 주고 받기 위함 - 20/TCP: 실제 데이터 전송에 사용됨
- FTP 서버가 데이터 채널(20) 생성 시 목적지를 검사하지 않는 프로토콜 구조적 취약점 이용 - 익명 FTP 서버를 이용해 공격자가 Port 명령을 조작하여 공격 대상의 네트워크 및 포트 스캔, 거짓 메일, 데이터 전송 등이 가능 - 대응방안: FTP 서버 업데이트, 자료 전송할 때 1024번 포트보다 낮은 포트번호로 접속하지 않도록 설정
- anonymous 접속이 허용된 상태에서는 누구든지 anonymous 또는 ftp라는 이름으로 FTP 실행해 접근 가능. 이를 통해 악성코드 업로드 가능 - 판단방법: 21번 포트에서 탐지되었으며, 사용자명이 본래 계정이 아닌 경우 - 대응방안: anonymous FTP 불필요한 경우 비활성화 > userdel ftp > userdel anonymous > vsFTP인 경우, vi /etc/vsftpd.conf 들어가서 anonymous_enable=NO 설정하기
- 69/UDP 사용하고 인증절차 없기 때문에 접근제어 여부에 따라 임의로 디렉터리 및 파일 접근 가능 - 대응방안: TFTP 불필요한 경우 비활성화
- 포트 22번 사용 - SSH 방식을 이용하여 안전하게 암호화된 구간에서 FTP 기능 이용
- password에 대한 hash값을 사용하는 환경에서, hash값을 획득한 후 해당 값을 사용하여 인증을 통과하는 공격 - 즉, 원격 서버나 서비스에 접속할 때 사용자의 실제 password를 모르는 상태에서 hash값을 사용하여 접속 인증을 받는 공격 기법 - 윈도우의 LM(LAN Manager) 또는 LTLM 인증 프로토콜을 사용하는 서버나 서비스의 경우 Pass the Hash 공격이 가능함 - 주로 mimikatz 툴을 이용함
- 무차별 대입 공격의 일종으로 공격자가 미리 확보해 놓은 로그인 자격 증명을 다른 계정에 무작위로 대입해 사용자 계정을 탈취하는 공격 방식
- 웹 사이트에 로봇 에이전트(agent)가 접근하여 크롤링 하는 것을 제한하기 위한 파일의 파일명
- MS Office 프로그램에 내장된 정상기능으로 프로그램 간 데이터를 공유하기 위해 사용 - 해당 기능을 활성화 시 악용될 수 있음
- DDoS, APT 등 공격 수행 시 공격 대상 시스템에 설치된 악성코드가 C&C와 통신하는 과정에서 특정한 규칙에 따라 도메인명을 임의로 생성하는 알고리즘 - 보안장비의 탐지를 우회하기 위한 기법
- 적법한 절차로 도메인을 소유하고 있는 도메인 관리자의 개인 정보를 탈취하여, 도메인 소유자 몰래 많은 서브도메인을 등록시켜 놓고 사용하는 기법
- 모바일 앱의 특정화면으로 바로 이동할 수 있도록 지원하는 기능 - 공격자에 의하여 악용되는 경우 앱내 민감한 개인정보(카드정보, 주소 등)가 노출될 수 있는 취약점 존재
- 공격 대상이 이미 시스템에 접속되어 세션이 연결되어 있는 상태를 가로채는 공격 기법
- 클라우드 서비스 이용을 위해 서브 도메인에 CNAME 설정하여 사용 중, 서비스 이용을 중지 했지만 DNS의 CNAME 설정은 삭제하지 않아 공격자가 피싱 사이트로 악용하는 공격 - 대응방안: 미사용 도메인의 sub DNS 삭제
- 웹 서버를 대신하여 자신이 마치 웹 서버인 것처럼 동작을 대행해준다. 브라우저로부터 연결 요청에 대하여 대신 응답함 - 대표 툴: paros, burp suite 등
- my.cnf: MySQL 설정파일 - skip-networking: 설정파일 내 옵션으로, 외부 네트워크 접근 차단(로컬에서만 접근 가능)
- 데이터베이스 로드를 줄여 웹 애플리케이션 속도를 높이는데 사용되는 오픈소스 분산 메모리 캐싱 시스템 - 웹 애플리케이션의 임시 데이터 저장용 메모리로 이해하기 - 최근 Github의 memcached 서버가 DDoS 공격을 받음
- 정보자산의 기밀성·무결성·가용성을 보장하기 위한 절차와 과정을 체계적으로 수립, 문서화하고 지속적으로 관리·운영하는 체계
- 정보보호 정책수립 > 범위설정 > 위험관리 > 구현 > 사후관리 * 정보보호정책 공식문서로 인증받기 위한 절차: 이해관계자 검토 > 최고경영자 승인 > 모든 임직원 및 관련자에게 이해하기 쉬운 형태로 전달 및 최신본 유지
- 계획단계(Plan): 조직의 종합적인 정책과 목표에 따른 결과 산출하기 위하여 위험관리 수행하고 정보보호 개선하기 위한 정책, 목표, 프로세스, 절차를 수립 - 실행단계(Do): 보안 정책, 통제, 프로세스, 절차를 구현하고 운영 - 검토단계(Check): 보안 정책, 목표에 대한 프로세스 성과를 평가하고, 그 결과를 경영진에게 보고하여 검토 - 조치단계(Act): 관리체계 지속적 개선을 달성하기 위해 검토 결과에 근거하여 시정 및 예방조치 실시
- 관리체계 기반 마련 - 위험 관리 - 관리체계 운영 - 관리체계 점검 및 개선
- 정책, 조직, 자산 관리 - 인적 보안 - 외부자 보안 - 물리 보안 : 보호구역 지정, 출입통제, 보호설비 운영, 반출입 기기 통제, 업무환경 보안 - 인증 및 권한관리 - 접근통제 - 암호화 적용 - 정보시스템 도입 및 개발 보안 - 시스템 및 서비스 운영관리 - 시스템 및 서비스 보안관리 - 사고 예방 및 대응 - 재해복구
- 정책기관: 과학기술정보통신부, 개인정보보호위원회 - 인증기관: 한국인터넷진흥원, 금융보안원 - 인증위원회: 인증심사 결과에 대한 심의 및 의결 수행 조직
- 정보의 무결성, 서비스의 연속성, 정보자산의 보호를 위한 것으로 기업 거버넌스의 부분집합으로서 전략적 방향을 제시하며 목적 달성, 적절한 위험관리, 조직 자산의 책임 있는 사용, 기업 보안 프로그램의 성공과 실패가 모니터링됨을 보장하는 것
- 정보의 무결성, 서비스의 연속성, 정보 자산의 보호 - 정보보안 거버넌스는 이사회와 경영진의 책임 - 정보보호, 재해복구 등 관련 규정 준수
- 통제환경 > 위험평가 > 통제활동 > 정보 및 의사소통 > 실행계획수립
- 자산식별 > 위험분석(자산가치 평가, 중요도 평가, 기존 보안대책 평가, 취약성 평가) > 위험평가 > 정보보호 대책수립 > 정보보호 계획수립 > 주기적 검토
- 자산 중요도 평가: CIA 측면에서 자산의 가치를 평가하여 중요도를 산정함으로써 정보보호의 우선순위를 결정할 수 있는 기준을 마련하기 위함 - 취약점: 공격자가 접근권한을 얻거나 악의적인 작업 수행하기 위해 악용할 수 있는 시스템 또는 응용프로그램의 약점 - 위협: 시스템이나 조직에 손실을 끼칠 수 있는 사건이나 행동 - 우려사항: 자산에 발생할 수 있는 위협과 취약성을 하나의 통합된 고려요소로 평가하도록 하고 이를 ‘우려사항’이라는 용어로 표현함
- 프로젝트에 대한 위험관리 활동을 어떻게 접근하고 계획할 것인지를 결정하는 프로세스, 선택된 통제 목적과 통제방안이 무엇인지와 선택한 이유 등을 문서로 정리한 것
- 자산, 위협, 취약점, 기존 보호대책 등을 분석하여 위험의 종류와 규모를 결정
- 베이스라인 접근법, 비정형 접근법, 상세 위험분석, 복합 접근법
- 노출계수(Exposure Factor): 자산에 대한 손실 가능성(%) - SLE(Single Loss Expectancy): 한번의 사건으로 발생할 수 있는 손실액, 자산가치*노출계수 - ARO(Annual Rate of Occurrence): 연간 위험 발생 가능성(%) - ALE(Annual Loss Expectancy): 연간 발생 가능한 손실액, SLE*ARO - ROI(Return Of Investment): 투자 대비 수익, 수익*100/투자금 = (ALE - 투자 비용)/투자 비용 * 100
- 과거자료 분석법, 수학공식법, 확률분포법, 점수법
- 델파이법, 시나리오법, 순위결정법 - 퍼지행렬법: 자산, 위협, 보안체계 등 위험분석 요인들을 정성적 언어로 표현된 값을 사용하여 기대손실을 평가하는 방법
- 위험분석 결과를 바탕으로 대응여부와 우선순위 결정
- 위험수용: 위험 정도가 수용 가능한 수준이라 판단하고 프로세스 유지하거나 사업 추진 - 위험감소: 정보보호대책 효과(가치)는 보호대책 적용으로 감소한 ALE에서 대책 운영 비용을 뺀 금액으로 계산 > 정보보호대책 효과(가치) = 감소한 ALE - 보호대책 운영 비용 - 위험전가: 보험 가입 또는 외주 위탁 - 위험회피: 위험이 있는 프로세스나 사업을 축소 또는 포기하는 방향으로 추진 * DoA(Degree of Assurance) 수용 가능한 위험 수준 * 위험대응: 위험에 대응하여 자산을 보호하기 위한 물리적, 기술적, 관리적 대응책
- Discretionary Access Control(임의적 접근통제) - 접근주체 신분 기반으로 권한 부여 - 특징: ACL 사용
- Mandatory Access Control(강제적 접근통제) - 주체, 객체 등급 기반으로 권한 부여 - 주체의 레이블과 주체가 접근하고자 하는 객체의 레이블을 이용 - 특징: 규칙이 단순하여 관리가 용이
- Rule-Based Access Control(역할기반 접근통제) - 주체, 객체 역할 기반으로 권한 부여 - 비 임의적 접근통제 모델, 임무기반 접근통제 모델 - 특징: 최소권한 원칙, 직무분리 원칙 지켜짐, 효율적
- 각종 재해, 재난으로부터 위기관리를 기반으로 업무 연속성을 보장하는 계획
- 범위설정 및 기획 > 사업영향평가 > 복구전략 개발 > 복구계획 수립 > 수행테스트 및 유지보수
- 각종 재난, 재해로부터 정보시스템 중단을 가정하여 시간흐름에 따른 영향도 조사하여 복구우선순위를 정의하고, 업무를 재개하기 위한 최소 필요자원을 도출하는 절차
- 재해, 재난 발생시 취할 행동절차를 미리 준비하는 계획
- 미러사이트: 주 센터와 동일한 수준으로 백업센터 구축하고, 액티브-액티브 상태로 실시간 동시 서비스 제공, 높은 비용 발생, 대신 백업이 빠르고 데이터 최신성이 보장됨 - 핫사이트: 동일한 수준으로 백업센터 구축하되, 액티브-스텐바이 상태로 수시간 내 가동, 데이터를 최신으로 유지 - 웜사이트: 디스크, 주변기기 등 부분적 설비만 보유, 수일~수주 내 가동 - 콜드사이트: 데이터만 원격지에 보관, 장소만 준비, 비용 가장 저렴하나 데이터 손실 가능, 필요한 자원 구하여 복구하는데 오랜 시간 소요
- 국가마다 서로 다른 정보보호제품 평가기준을 연동하고 평가결과를 상호 인증하기 위해 제정된 정보보안 평가기준 - ISO/IEC 15408에 등록된 국제 표준 정보보호제품 평가·인증제도 - 정책기관(과학기술정보통신부), 인증기관(IT보안인증사무국(ITSCC)), 평가기관(KISA, TTA 등) - 보안성 낮은 EAL1부터 EAL7까지 있으며, EAL0은 부적합
- 보호프로파일(PP, Protection Profile): 보안솔루션의 기능 및 보증과 관련된 공통요구사항 - 보안목표명세서(ST, Security Target): PP에서 정의된 요구사항이 실제제품으로 평가되기 위한 기능명세서 - 평가대상(TOE, Target of Evaluation): 평가대상이 되는 제품 또는 시스템 - 평가보증등급(EAL): 보증요구와 관련된 컴포넌트의 집합으로 구성된 패키지의 일종
PP: IDS제품군 ST: (주)강아지는 IDS제품군 PP의 요구사항 만족을 위해 기능과 특징, 동작구조를 기술한 강IDS에 대한 ST 작성 TOE: 강IDS
- 사고 전 준비 과정 > 사고 탐지 > 초기 대응 > 대응전략 수립 > 사고 조사 > 보고서 작성 > 해결
- 정당성 원칙: 증거가 적법절차에 의해 수집되어야 함 - 재현 원칙: 같은 조건과 상황에서 항상 같은 결과가 나와야 함 - 신속성 원칙: 전 과정이 신속하게 진행되어야 함(휘발성 데이터 등) - 연계보관성 원칙: 증거 획득부터 법정 제출까지 각 단계별 담당자 및 절차가 명확히 해야 함 (증거획득 > 이송 > 분석 > 보관 > 법정제출) - 무결성 원칙: 수집된 증거가 위변조가 없어야 함
- 정상 > 관심 > 주의 > 경계 > 심각
- 예방통제: 발생가능한 잠재적인 문제들을 식별하여 사전에 대응하기 위한 통제 - 탐지통제: 예방통제를 우회하여 발생하는 위협을 찾아내기 위한 통제 - 교정통제: 탐지통제에 따라 발견한 위협에 대처하거나 줄이는 통제
- 정상적인 보호ㆍ인증 절차를 우회하여 정보통신기반시설에 접근할 수 있도록 하는 프로그램이나 기술적 장치 등을 정보통신기반시설에 설치하는 방법으로 정보통신망 또는 이와 관련된 정보시스템을 공격하는 행위
- 정보통신망의 구축 또는 정보통신서비스의 제공 이전에 계획 또는 설계 등의 과정에서 정보보호를 고려하여 필요한 조치를 하거나 계획을 마련하는 것
- 정보의 수집․저장․검색․송신․수신시 정보의 유출, 위․변조, 훼손 등을 방지하기 위한 하드웨어 및 소프트웨어 일체
- 국가안전보장ㆍ행정ㆍ국방ㆍ치안ㆍ금융ㆍ통신ㆍ운송ㆍ에너지 등의 업무와 관련된 전자적 제어ㆍ관리시스템
- 취약점 및 침해요인, 대응방안에 관한 정보 제공하며 침해사고 발생하는 경우 실시간 경보, 분석체계 운영 - 금융, 통신 등 분야별 정보통신기반시설을 보호하기 위하여 업무 수행
- 개인정보 보호법 - 정보통신망 이용 촉진 및 정보보호등에 관한 법률 - 정보통신기반 보호법: 민간, 공공 시설을 불문하고 침해사고 등이 발생할 경우 국가안정보장과 경제사회에 미치는 피해규모 및 범위가 큰 시설의 보호에 대해 다루는 법률 - 위치정보의 보호 및 이용 등에 관한 법률 - 전자서명법
- 정보주체의 동의를 받은 경우 - 법률에 특별한 규정이 있거나 법령상 의무 준수하기 위하여 불가피한 경우 - 공공기관이 법령 등에서 정하는 업무 수행을 위하여 불가피한 경우 - 정보주체와의 계약 체결 및 이행을 위하여 불가피하게 필요한 경우 - 개인정보처리자의 정당한 이익을 달성하기 위하여 필요한 경우로서 명백히 정보주체의 권리보다 우선하는 경우
- 개인정보 처리 목적, 처리하려는 개인정보 항목, 처리 및 보유기간 - 개인정보의 파기절차 및 파기방법 - (해당되는 경우)위탁에 관한 사항, 제3자 제공에 관한 사항 - 정보주체의 권리, 의무, 행사방법에 관한 사항 - 개인정보 보호책임자 성명 또는 개인정보 보호업무를 하는 부서명, 연락처 - 개인정보의 안전성 확보조치에 관한 사항 - 인터넷 접속정보파일 등 개인정보를 자동으로 수집하는 장치의 설치, 운영, 거부에 관한 사항
- 인터넷 홈페이지에 지속적으로 게재 - 사업장 등 보기 쉬운 장소에 게시 - 관보나 신문에 싣기 - 재화나 용역 제공하기 위하여 개인정보처리자와 정보주체가 작성한 계약서 등에 실어 정보주체에게 발급
- 설치 장소 및 목적 - 촬영 범위 및 시간 - 관리책임자 성명 및 연락처 - 그 밖에 대통령령으로 정하는 사항
- 비밀번호 복잡도 및 길이 충족(영문, 숫자, 특수 문자 중 2종류 이상 조합 시 10자리 이상, 3종류 이상 조합 시 8자리 이상의 길이로 구성) - 유추하기 어려운 비밀번호 사용(연속적인 숫자나 생일, 전화번호 등 추측하기 쉬운 것은 사용하지 않기) - 비밀번호 최대 사용기간 설정(반기별로 변경)
- 개인정보취급자의 계정, 접속일시, 접속장소, 수행업무 등(+ 처리한 정보주체 정보)