Sticky bit가 부여된 디렉터리는 기타 사용자의 실행 권한이 x에서 t로 표시되며, s로 표시된다는 설명은 틀렸다.
SetUID는 소유자 실행 권한이 x에서 s로, SetGID는 소유 그룹 실행 권한이 x에서 s로 바뀌지만, Sticky bit는 별도로 t(또는 실행 권한이 없을 때 T)로 표시된다.
/tmp처럼 777 권한의 공용 디렉터리에서 다른 사용자가 만든 파일을 함부로 삭제하지 못하도록 통제하는 용도라는 설명은 옳다.
악성코드 유형은 무엇인가?
- 하드디스크 내에 악성코드 파일을 설치하지 않고, 시스템 메모리에 곧바로 로드되어 실행된다.
- OS에 내장된 정상적인 도구 PowerShell, WMI(Windows Management Instrumentation)를 이용하여 실행되므로 백신 프로그램을 정상 실행으로 판단한다.
- E-Mail의 첨부파일, PDF 문서, JPEG 파일 등에 삽입되어 배포된다.
디스크에 실행 파일을 남기지 않고 메모리에서만 동작하는 파일리스(Fileless) 악성코드에 대한 설명이다.
하드디스크에 파일을 설치하지 않고 시스템 메모리에 곧바로 로드되며, OS에 내장된 PowerShell·WMI 같은 정상 도구를 빌려 실행되므로 백신이 정상 실행으로 오인한다.
E-Mail 첨부파일·PDF·JPEG 문서에 삽입되어 유포된다는 점도 실행 파일 형태로 배포되지 않는 이 유형의 특징이다.
- 루트킷 — 시스템 파일·커널 모듈을 교체해 침입 흔적을 숨기는 도구 모음으로 디스크에 실체가 남는다
- 트로이 목마 — 정상 프로그램으로 위장해 디스크에 설치되는 실행 파일이다
- 스파이웨어 — 몰래 설치되어 사용자 정보를 수집·전송하는 프로그램이다
CDR(Content Disarm & Reconstruction)이 가장 적합한 솔루션이다.
CDR은 첨부파일에서 매크로·스크립트 등 잠재적으로 악성일 수 있는 활성 콘텐츠를 제거하고 문서를 재구성해 전달하는 기술로, 사칭 이메일에 숨겨진 악성코드 실행을 원천적으로 차단하는 데 특화되어 있다.
WAF는 웹 애플리케이션 공격 방어, TMS·DLP는 위협 통합관리·정보유출 방지에 초점이 맞춰져 있어 이메일 첨부파일 자체의 무해화 목적과는 거리가 있다.
다음 지문이 설명하는 파일 시스템은?
마이크로소프트사가 윈도우 CE 6.0 장치와 데스크톱 운영체제인 윈도우 비스타 및 윈도우 7 그리고 윈도우 서버 2008에 도입하기 위해 만들었다. 자료구조의 오버헤드 문제나 파일 크기/디렉터리 제약 문제에 효과적이다.
마이크로소프트가 플래시 저장매체를 겨냥해 만든 exFAT(Extended File Allocation Table)에 대한 설명이다.
윈도우 CE 6.0에서 처음 도입되어 윈도우 비스타·7·서버 2008로 확대되었고, FAT32의 4GB 파일 크기 한계와 디렉터리 엔트리 제약을 풀면서도 NTFS보다 자료구조 오버헤드가 작다.
나머지는 지문의 개발사·도입 시점과 맞지 않는다.
- ext4 — 리눅스의 저널링 파일 시스템으로 마이크로소프트 제품이 아니다
- HFS — 애플 매킨토시의 계층적 파일 시스템이다
- ReFS — 마이크로소프트가 만들었으나 윈도우 서버 2012에서 NTFS를 대체할 목적으로 나온 것이라 윈도우 CE·비스타 도입이라는 설명과 어긋난다
사용자 계정 컨트롤(UAC)이 시스템에 대한 비인가 변경을 통제하는 기술이다.
UAC는 관리자 권한이 필요한 작업이 수행될 때 사용자에게 동의나 자격 증명 입력을 요구해 악성코드나 사용자의 실수로 인한 무단 시스템 변경을 막는다.
커널 모드는 운영체제 실행 권한 수준, 윈도우 디펜더는 악성코드 탐지, 보안 업데이트는 취약점 패치 기능으로 비인가 변경 통제 자체를 목적으로 하는 기능은 아니다.
시간 동기화 방식 OTP가 시간 오차를 전혀 허용하지 않는다는 설명은 틀렸다.
실제 시간 동기화 방식 OTP 시스템은 서버와 단말 간 시계 오차를 감안해 일정한 허용 오차 범위(윈도)를 두고 그 범위 내의 패스워드를 유효한 것으로 인정한다.
해시함수 기반 예측 불가능성, 생성된 패스워드의 재사용 불가, 사전에 공유한 비밀값을 이용한 패스워드 생성이라는 나머지 설명은 옳다.
다음 지문에서 설명하는 파일은?
이 파일은 미디어 장치의 루트 디렉터리에 위치하며 미디어(CD/DVD, USB) 연결 시 특정 프로그램이 자동으로 실행되도록 제어한다. 해당 미디어가 악성코드에 감염되었을 때 감염 확산 또는 정보 유출 등의 피해가 발생할 수 있다.
이동식 미디어의 루트에 놓여 자동 실행을 지시하는 autorun.inf다.
윈도우는 CD/DVD나 USB가 연결되면 루트 디렉터리의 autorun.inf를 읽어 그 안에 지정된 프로그램을 자동 실행하는데, 이 동작이 그대로 이동식 매체를 통한 악성코드 전파 통로가 된다.
그래서 자동실행 기능을 끄고 매체 연결 시 백신 검사를 강제하는 것이 기본 대응이다. 보기의 나머지 이름들은 윈도우가 실제로 참조하는 자동실행 설정 파일이 아니다.
chmod u=rx, o-r secure.txt가 요구사항에 맞는 명령이다.
소유자 권한을 정확히 읽기·실행(rx)으로 지정(u=rx)하고, 다른 사용자의 읽기 권한만 제거(o-r)해 그 외 기존 권한은 그대로 유지하는 방식이라 조건을 정확히 충족한다.
chmod 401은 소유자에게 실행 권한을 주지 못하고, chmod o+rx, a-r은 오히려 다른 사용자에게 실행 권한을 부여하면서 소유자의 읽기 권한까지 없애며, chmod 504는 다른 사용자의 읽기 권한이 그대로 남아 요구사항과 맞지 않는다.
다음 중 빈칸 ㉠에 들어갈 알맞은 용어는?
“온라인 소스코드 ( ㉠ ) 보안 강화 권고”는 IT 개발 프로젝트에서 사용되는 온라인 소스코드 ( ㉠ )에 대한 취약한 보안설정으로 인해 프로젝트가 외부에 공개되어 공격자가 소스코드를 열람하거나 정보가 탈취되어 공급망 공격 등에 활용될 수 있는 상황을 방지하기 위한 것이다. 소스코드 ( ㉠ )로는 GitHub, GitLab, Bitbucket 등이 있다.
GitHub·GitLab·Bitbucket을 한데 묶어 부르는 말이므로 빈칸에는 저장소(Repository)가 들어간다.
이들은 소스코드를 보관하고 버전을 관리하는 온라인 소스코드 저장소 서비스로, 접근 권한을 공개로 잘못 설정하면 프로젝트 전체와 하드코딩된 인증정보까지 노출되어 공급망 공격의 출발점이 된다.
- 클라우드 — 인프라 제공 형태를 가리키는 말이라 세 서비스를 묶는 이름이 되지 못한다
- 젠킨스 — 빌드·배포를 자동화하는 CI 도구로 코드를 보관하는 곳이 아니다
- 빌드 — 소스를 실행 가능한 산출물로 만드는 공정 자체를 뜻한다
LSA(Local Security Authority)가 모든 계정의 로그인 검증, 비밀번호 변경 처리, 자원 접근 토큰 생성을 담당한다.
SAM은 로컬 계정 정보를 저장하는 데이터베이스, SRM은 접근 권한 검사를 수행하는 구성요소, NTLM은 인증 프로토콜로 각각 LSA와 역할이 구분된다.
계정 로그인 이벤트 감사를 활성화해야 도메인 계정의 로그인 성공·실패 이벤트가 기록된다.
계정 관리 감사는 계정 생성·변경 등 관리 작업을, 개체 액세스 감사는 파일·폴더 등 개체에 대한 접근을, 시스템 이벤트 감사는 시스템 재시작·종료 등을 기록 대상으로 하여 로그인 이벤트와는 목적이 다르다.
레지스트리 백업 및 복구를 shell.exe로 수행한다는 설명은 틀렸다.
레지스트리 편집과 백업·복구는 일반적으로 regedit.exe의 내보내기·가져오기 기능이나 시스템 복원 기능을 이용하며, shell.exe라는 도구는 존재하지 않는다.
레지스트리가 시스템 구성정보를 저장하는 데이터베이스이고 버전에 따라 저장 위치가 다르다는 점, HKEY_CLASSES_ROOT 등의 주요 키 구성은 실제와 일치한다.
㉠, ㉡, ㉢에 들어갈 내용이 올바르게 짝지어진 것은?
리눅스 서버 관리자 A는 ( ㉠ ) 공격에 대응하기 위해 PAM 모듈을 활용하고자 한다.
(계정보안 정책은 패스워드 3회 입력 실패 시, 10분간 계정을 잠금)
auth required pam_tally2.so ( ㉡ ) =3 unlock_time = ( ㉢ )
3회 실패 시 계정을 잠그는 정책이므로 ㉠은 패스워드 무차별 대입, ㉡은 deny, ㉢은 600이다.
pam_tally2 모듈에서 로그인 실패 허용 횟수를 지정하는 옵션 이름이 deny이며, disable이라는 옵션은 존재하지 않는다.
unlock_time은 초 단위이므로 10분 = 10 × 60 = 600이 들어간다.
부채널 공격은 전력·시간 등 물리적 부수정보를 분석하는 기법이라 로그인 실패 횟수 제한으로 막을 수 있는 공격이 아니다.
쿠키값이 웹서버에 저장된다는 전제 자체가 옳지 않다.
쿠키는 웹서버가 발급해 웹브라우저(클라이언트) 측에 저장되었다가 이후 요청 시 서버로 다시 전송되는 정보이므로, 웹서버에 저장된 쿠키값을 정기적으로 삭제한다는 서술은 저장 주체를 잘못 지칭한 것이다.
방문 이력 등 다양한 정보 기록, 서버 요청 시 재전송되는 동작, 만료기한이 없으면 브라우저 종료 시 삭제된다는 나머지 설명은 옳다.
관리자 계정의 비밀번호 갱신주기에 예외를 적용한다는 설명이 잘못되었다.
관리자 계정은 권한이 크기 때문에 오히려 일반 계정보다 더 엄격한 비밀번호 정책과 갱신 주기를 적용해야 하며, 갱신주기 예외를 두는 것은 보안상 바람직하지 않다.
전용 계정 분리 운영, 비밀번호 재사용 제한, 관리자 단말의 망분리 운영이라는 나머지 설명은 안전한 AD 관리 방안에 해당한다.
솔라리스 계열에서 스택 영역의 코드 실행을 막으려면 /etc/system 파일을 수정한다.
이 파일에 스택 비실행(non-executable stack) 관련 설정을 추가하면 스택에 삽입된 공격 코드가 실행되는 것을 차단할 수 있어, 스택 기반 버퍼 오버플로 공격에 대한 대응책으로 활용된다.
버스를 통해 전달되는 정보를 엿보고 가로채는 공격이라는 설명은 Heap Overflow와 무관하다.
Heap Overflow는 동적으로 할당되는 메모리 영역(힙)을 대상으로, malloc 등 메모리 할당 함수로 확보한 공간을 오버플로우시켜 임의 코드를 실행하는 공격 기법이다.
버스를 통한 정보 가로채기는 하드웨어 도청·스니핑 계열의 공격에 해당하며, 힙 영역의 동적 메모리 오남용과는 성격이 다르다.
다음 지문의 설정사항이 의미하는 것은?
[Linux 환경]
“/etc/securetty” 파일에서 pts/0 ~ pts/x 설정 제거 또는 주석 처리
[HP-UX 환경]
vi 편집기를 이용하여 “/etc/securetty” 파일을 연 후 아래와 같이 주석 제거 또는 신규 삽입
(수정 전) #console
(수정 후) console
root 계정의 원격 접속을 제한하는 설정이다.
/etc/securetty는 root 로그인이 허용되는 터미널 목록인데, 여기에 pts/0~pts/x 같은 가상 터미널이 남아 있으면 원격 접속으로도 root 직접 로그인이 가능하다. 그래서 해당 줄을 지우거나 주석 처리한다.
HP-UX 쪽은 반대로 console 줄의 주석을 풀어 콘솔에서만 root 로그인을 허용하게 만든다.
이 파일은 로그인 허용 단말을 통제할 뿐이어서 패스워드 임계치 설정이나 암호화 접속 활성화와는 관련이 없다.
윈도우 터미널 서비스(원격 데스크톱)를 이용할 때 사용하는 명령어는 mstsc이다.
vnc·realvnc·teamviewer는 윈도우에 기본 내장된 명령어가 아니라 별도로 설치해야 하는 원격제어 프로그램으로, 운영체제에 포함된 터미널 서비스 클라이언트와는 구분된다.
RSVP는 VPN 터널링 프로토콜이 아니다.
RSVP는 네트워크 경로상의 대역폭 등 자원을 예약해 QoS(서비스 품질)를 보장하기 위한 프로토콜로, 가상사설망 터널을 구성하는 용도가 아니다.
PPTP·L2F·IPSec은 모두 VPN 구간의 데이터를 캡슐화·보호하는 터널링 프로토콜에 해당한다.
아래 지문에서 강조(밑줄)된 프로토콜의 기능과 가장 거리가 먼 것은?
- ‘DoubleDirect’라고 명명된 공격기법은 iOS, MAC OS X, Android에 이르기까지 상용화 되었던 대부분의 모바일 운영체제를 대상으로 하는 중간자 공격(Man-in-the-Middle attack) 기술이었다. 무선 네트워크 공격에 널리 사용되는 ICMP 프로토콜을 이용했다.
- 공격대상의 DNS 트래픽을 스니핑(Sniffing)하여 IP 주소를 예측하고, 해당 IP를 대상으로 ICMP Redirect 패킷을 이용해 공격대상 기기의 라우팅 테이블을 변경하고 트래픽을 우회시킨다.
밑줄 친 프로토콜은 ICMP이고, 멀티캐스트 그룹의 가입·탈퇴를 제어하는 일은 IGMP의 역할이므로 ICMP의 기능과 가장 거리가 멀다.
ICMP는 IP 통신 중 발생한 오류와 상태를 알리는 프로토콜이다. Echo Request/Reply로 장치의 동적 상태를 점검하고, Destination Unreachable·Time Exceeded 같은 진단 데이터를 전달한다.
지문처럼 ICMP Redirect 메시지로 라우팅 테이블 변경을 요청하는 것도 ICMP의 기능이며, DoubleDirect는 바로 이 기능을 악용한 중간자 공격이다.
단순 로그 수집·분석을 넘어 상관분석과 포렌식 기능까지 제공하는 조기경보 체계는 SIEM(Security Information and Event Management)이다.
SIEM은 방대한 로그를 통합 수집한 뒤 이벤트 간 상관관계를 분석해 위협을 조기에 탐지하고, 사후 추적조사에 필요한 근거 자료를 남기는 데 특화되어 있다.
IPS는 실시간 공격 차단, TMS는 위협 통합관리, UTM은 다양한 보안 기능의 통합 장비로 각각 SIEM과 목적이 다르다.
다음 지문은 네트워크 공격기술에 대한 설명이다. 적절하지 못한 것으로 짝지어진 것은?
㉠ Boink 공격은 불완전한 IP 단편 처리 로직을 악용하여 시스템 장애를 발생시킨다.㉡ 랜드(LAND) 공격은 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소를 똑같이 만들어 공격 대상에게 보내는 방식이다.
㉢ SYN 플러딩(flooding) 공격은 ICMP 패킷과 네트워크에 존재하는 임의의 시스템을 이용하여 패킷을 증폭함으로써 서비스 거부 공격을 수행한다.
㉣ 스머프(Smurf) 공격은 동시 사용자 수 제한을 이용하는 것으로, 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 제공 받지 못하도록 하는 공격이다.
SYN 플러딩과 스머프의 설명이 서로 뒤바뀌어 있어 이 두 항목이 잘못된 설명이다.
ICMP 패킷을 브로드캐스트로 증폭해 서비스 거부를 일으키는 것은 스머프(Smurf) 공격이고, 동시 사용자 수 제한을 노려 존재하지 않는 클라이언트의 연결로 백로그 큐를 채우는 것은 SYN 플러딩이다.
나머지 두 항목은 설명이 맞다. Boink는 오프셋이 어긋난 IP 단편을 보내 재조합 로직을 망가뜨리고, 랜드(LAND) 공격은 출발지와 목적지 IP를 동일하게 만들어 대상이 자기 자신에게 응답하도록 유도한다.
다음 지문은 라우팅에 관한 설명이다. 빈칸에 들어갈 내용을 순서대로 나열한 것은?
(가)는 입력된 패킷의 목적지 IP를 바탕으로 (나)에 등록된 서브넷 정보와 일치하는 레코드의 인터페이스 정보와 게이트웨이 정보를 확인하여 패킷을 (나)에 전달한다. (가)에서 패킷을 수신하면 (나)상의 상대방 네트워크 IP 주소를 검색하여 패킷을 어디로 보낼 것인가를 결정하는데 라우터에 (다)가 설정되어 있으면 (나)상에서 등록되어 있지 않은 목적지 IP 주소들에 대해서는 설정된 경로로 전송하게 된다.
(가)는 라우터, (나)는 라우팅 테이블, (다)는 Default route다.
목적지 IP를 보고 라우팅 테이블에서 서브넷이 일치하는 레코드를 찾아 인터페이스와 게이트웨이를 결정하는 장비는 3계층 장비인 라우터다. 스위치는 MAC 주소로 전달하는 2계층 장비라 목적지 IP 기반 경로 결정을 하지 않는다.
테이블에 등록되어 있지 않은 목적지 전부를 한 경로로 흘려보내는 설정은 Default route(0.0.0.0/0)다. Static route는 관리자가 특정 목적지의 경로를 수동으로 지정하는 것이라 미등록 주소 전체를 처리하지 못한다.
SYN Flooding은 스위칭 환경의 스니핑 공격과는 거리가 멀다.
SYN Flooding은 TCP 연결 요청을 대량으로 보내 시스템 자원을 고갈시키는 서비스 거부(DoS) 공격으로, 트래픽을 도청하는 스니핑과는 목적과 방식이 다르다.
Switch jamming, ICMP Redirect, ARP Spoofing은 모두 스위치의 정상 동작을 교란하거나 속여 트래픽을 자신에게 우회시켜 도청하는 스니핑 기법에 해당한다.
지문에서 설명한 공격의 대응 방안으로 옳지 않은 것은?
DDoS 공격의 에이전트 설치상의 어려움을 보완한 공격 기법으로 TCP 프로토콜 및 라우팅 테이블 운영상의 취약성을 이용하며, 정상적인 서비스를 제공 중인 서버를 Agent로 활용하는 공격기법이다.
외부 인터넷 서버 접속이 잦다는 이유로 HTTP 프로토콜을 차단하는 것은 정상 웹 서비스를 통째로 막는 조치라 대응 방안이 될 수 없다.
지문은 에이전트를 심지 않고 정상 서버를 반사체로 삼는 DRDoS(분산 반사 서비스 거부) 공격이다. 출발지 IP를 피해자로 위조한 요청을 여러 서버에 뿌려 되돌아오는 응답이 피해자에게 집중되게 만든다.
따라서 대응의 핵심은 출발지 IP 위조 차단이다. ISP 구간에서 위조 패킷을 걸러내고, 반사·증폭에 악용되는 취약한 DNS 서버를 보완하고, 사용하지 않는 ICMP를 차단하는 것은 모두 유효한 조치다.
다음 지문에서 설명하는 것은?
윈도우의 소프트웨어 취약점을 악용하는 것으로 NSA가 개발한 것으로 추정되는 공격도구로서 새도 브로커스에 의해 2017년도에 공개되었다. 이는 미국 볼티모어시 정부에 대한 랜섬웨어 공격에서 다시금 부상하게 되었다. 문제는 많은 컴퓨터가 구식의 윈도우 운영체제를 계속 사용하고 있다는 것이다. 마이크로소프트의 SMB 구현의 취약점을 공격한다.
NSA가 만든 것으로 알려진 윈도우 SMB 취약점 공격도구 이터널블루(EternalBlue)에 대한 설명이다.
2017년 섀도 브로커스가 유출·공개했고, SMBv1의 원격 코드 실행 취약점(MS17-010)을 이용해 패치되지 않은 구형 윈도우를 원격 장악한다. 워너크라이 확산과 볼티모어시 정부 랜섬웨어 사고 모두 이 도구를 전파 수단으로 썼다.
나머지는 공격도구가 아니라 악성코드나 공격 방식의 이름이다.
- 페트야·갠드크랩 — 각각 랜섬웨어 자체의 이름으로, NSA가 개발한 취약점 공격도구가 아니다
- 공급망 공격 — 협력업체나 배포 경로를 경유해 침투하는 공격 방식의 분류명이다
다음 괄호 안에 들어갈 수 있는 적절한 용어는?
라우터를 활용하여 네트워크 보안을 강화하기 위한 방법으로 access-list와 함께 유용하게 사용할 수 있는 기법으로는 ( )이 있다. 이는 access-list와 비슷한 효과를 내면서도 더욱 간편하게 사용할 수 있는데, 다음과 같은 경우를 생각해보자. 만약 시스템이나 네트워크를 모니터링 하던 중 특정 ip 또는 특정 대역에서 비정상적인 시도가 감지되었을 경우, 해당 ip를 차단하기 위해 매번 기존 access-list를 지우고 새롭게 ip를 추가하여 작성하는 것은 여간 번거로운 일이 아닐 수 없다. 이 필터링은 이때 사용될 수 있는데 명령어 자체는 특정한 목적지 ip 또는 ip 대역에 대하여 라우팅 테이블을 생성하는 방식과 동일하다. 다만 특정한 ip 또는 ip 대역에 대해 Null0이라는 가상의 쓰레기 인터페이스로 보냄으로써 패킷의 통신이 되지 않도록 하는 것이다.
차단할 목적지를 Null0 인터페이스로 라우팅해 버리는 기법이므로 빈칸에는 Blackhole 필터링(널 라우팅)이 들어간다.
특정 ip나 대역의 다음 홉을 Null0으로 지정하는 정적 경로를 한 줄 넣으면 해당 트래픽이 조용히 폐기된다. ACL처럼 규칙을 매번 지우고 다시 쓸 필요가 없고, 라우팅 조회 단계에서 버려지므로 처리 부하도 가볍다.
나머지는 동작 방식이 다르다.
- Unicast RPF — 수신 패킷의 출발지 IP로 역방향 경로가 성립하는지 검사해 위조 출발지를 걸러내는 기법이라 목적지 기반 폐기가 아니다
- Ingress filtering — 망 진입 지점에서 출발지 주소 대역을 검사해 차단하는 정책이다
- Multicast RPF — 멀티캐스트 트래픽의 루프를 막기 위한 역경로 검사다
다음 지문에서 설명하는 용어는?
이것은 사이버 공격을 프로세스 상으로 분석해 각 공격 단계에서 조직에 가해지는 위협 요소들을 파악하고 공격자의 목적과 의도, 활동을 분쇄 완화해 조직의 회복 탄력성을 확보하는 전략이다. 한 마디로 공격자의 관점에서 사이버 공격 활동을 파악, 분석해 공격 단계별로 조직에 가해지는 위협 요소를 제거하거나 완화하자는 것이다.
지문은 공격을 단계별 프로세스로 쪼개 각 단계의 위협을 파악·차단한다는 개념이므로 사이버 킬 체인(Cyber Kill Chain)을 설명한 것이다.
록히드마틴이 제시한 모델로 정찰 → 무기화 → 유포 → 취약점 공격 → 설치 → 명령·제어(C2) → 목표 달성의 7단계로 공격을 분해하고, 어느 한 단계만 끊어도 공격이 완성되지 않는다는 점을 이용해 방어 전략을 세운다. 지문의 '공격 단계별로 위협 요소를 제거하거나 완화'가 바로 이 개념이다.
혼동하기 쉬운 용어들과 구분하면 다음과 같다.
- 멀버타이징은 정상 광고 네트워크에 악성코드를 실어 배포하는 공격 수법이지 분석 프레임워크가 아니다.
- 익스플로잇은 취약점을 실제로 이용하는 코드·기법으로, 위 단계 중 '취약점 공격' 하나에 해당할 뿐이다.
- 사이버 위협 인텔리전스는 위협 데이터를 수집·가공해 의사결정용 정보로 만드는 활동으로, 공격 단계 분해 모델과는 다르다.
다음 지문에서 설명하는 용어는?
라우터나 스위치에서 DDoS 또는 DoS를 차단하는 경우 패킷이 특정 인터페이스로 보내져 패킷이 필터링 될 때마다 패킷의 출발지 ip로 ICMP Unreachable이라는 에러 메시지를 보내게 되는데, 필터링 하는 패킷이 많을 경우에는 라우터나 스위치에 과부하를 유발할 수 있기 때문에 ICMP 에러 메시지를 보내지 않도록 이것을 설정하는 것이 좋다.
차단 대상 트래픽을 특정 인터페이스(Null 인터페이스)로 보내 버리는 방식이므로 Null Routing(블랙홀 라우팅)이다.
라우터는 보낼 곳이 없는 패킷을 버릴 때 출발지 IP로 ICMP Destination Unreachable을 돌려주는데, DDoS처럼 폐기량이 많으면 이 응답을 만드는 것 자체가 장비 부하가 된다. 그래서 Null 인터페이스에는 ICMP 에러 응답을 보내지 않도록 설정하는 것이 권장된다.
나머지 용어는 성격이 다르다. HA는 장비 이중화로 가용성을 확보하는 구성, Cut-Through는 프레임 앞부분만 읽고 곧바로 전달하는 스위칭 방식, Load Balancing은 트래픽을 여러 서버로 분산하는 기법으로 모두 패킷 폐기와 ICMP 응답 억제와는 무관하다.
열린 포트에 대해 두 스캔 모두 SYN+ACK 응답이 온다는 설명은 옳지 않다.
TCP Half Open(SYN) 스캔은 열린 포트에서 SYN+ACK 응답을 받지만, TCP FIN/NULL/XMAS 스캔은 열린 포트에서 보통 응답이 오지 않는다(무응답을 열림·필터링으로 판단한다).
두 스캔 모두 대상 호스트에 로그를 잘 남기지 않는다는 점, 사용 옵션(-sS, -sF, -sN, -sX), 닫힌 포트에서 각각 RST+ACK와 RST 응답이 온다는 설명은 옳다.
무선망 트래픽이 유선망과 동일한 패킷 프레임 구조로 구성된다는 설명이 잘못되었다.
무선랜(802.11)은 유선 이더넷과 프레임 구조 자체가 다르며, 전파를 매체로 사용해 물리적 접근 통제가 어렵고 도청·인증 우회 등 무선 환경 고유의 취약점을 가진다.
불법 AP 설치·교체를 통한 침입, 관리자의 눈을 피한 접속 용이성, WEP/WPA를 통한 인증·암호화 보강이라는 나머지 설명은 타당하다.
모바일 기기의 애플리케이션 배포, 환경설정 변경, 분실·도난 단말 관리를 통합적으로 제공하는 체계는 MDM(Mobile Device Management)이다.
ESM은 전사 보안정책·자산을 통합 관리하는 개념이고, NAC은 네트워크 접근통제, DLP는 정보 유출 방지에 특화되어 있어 모바일 기기 통합관리라는 목적과는 다르다.
은닉(비공개) SSID라도 완전히 숨겨지지는 않는다 — AP가 브로드캐스팅을 꺼도 클라이언트의 프로브 요청·응답이나 인증·연결 프레임에 SSID 값이 평문으로 실려 전송되므로 무선 패킷을 스니핑하면 알아낼 수 있다.
따라서 브로드캐스팅하지 않으면 접속 방법이 없다는 설명은 틀렸다.
MAC 인증의 사전 등록 필요성, WEP의 암호화·인증 기능 제공, EAP 인증을 통한 세션키 기반 도청 방어는 모두 맞는 설명이다.
IPSec의 Transport 모드는 원본 IP 헤더를 유지한 채 데이터 부분만 암호화하는 종단간(host-to-host) 통신 방식으로, 방화벽 같은 게이트웨이를 경유하는 VPN 구성에는 맞지 않는다.
방화벽이 VPN 게이트웨이 역할을 할 때는 IP 헤더까지 캡슐화해 새 헤더를 씌우는 Tunnel 모드를 쓰는 것이 일반적이므로, Transport 모드 IPSec VPN 구현을 방화벽 기능으로 설명한 것이 가장 부적절하다.
허가되지 않은 접근 통제, IP·PORT 차단, NAT 기능은 방화벽의 통상적인 기능이 맞다.
KRACK(Key Reinstallation Attack)은 WPA2의 4-way handshake 키 재설치 취약점을 이용해 이미 사용된 논스·키스트림을 재사용하게 만드는 공격으로, 이를 통해 TCP 연결 하이재킹, HTTP 콘텐츠 삽입, 패킷 재전송 등이 가능해진다.
SSID 브로드캐스팅은 AP가 자신의 네트워크 이름을 알리는 기본 동작일 뿐 키 재설치·재사용 취약점과는 관련이 없어 KRACK 공격 범주에 해당하지 않는다.
TCP SYN Flooding은 3-way handshake의 미완성 연결(Half Open Connection)을 대량으로 만들어 백로그 큐를 고갈시키는 공격으로, 다수의 좀비 PC를 이용한 분산 DoS 형태나 응답 패킷을 제3의 피해자에게 반사시키는 Reflector 방식으로도 수행된다.
Teardrop 공격은 IP 패킷의 조각화(fragmentation) 오프셋 값을 조작해 재조합 과정에서 시스템을 다운시키는 공격으로, SYN 패킷 자체를 이용하지 않으므로 SYN Flooding과는 관련이 없다.
Snort의 offset 옵션은 content로 지정한 패턴을 탐색할 시작 위치를 바이트 단위로 지정하는 것이지, 검사할 byte 수를 지정하는 옵션이 아니다 — 검사 범위(바이트 수)를 지정하는 것은 depth 옵션의 역할이다.
sid는 규칙 식별 ID, nocase는 대소문자 무시 탐지, distance는 이전 패턴의 끝 이후 검색 시작 위치를 지정하는 옵션으로 모두 맞는 설명이다.
L4 스위치는 TCP/UDP 포트 등 전송계층 정보를 바탕으로 여러 서버에 트래픽을 분산시키는 로드 밸런싱 기능을 제공하는 대표적인 장비다.
L2 스위치는 MAC 주소 기반 프레임 전달, L3 스위치는 IP 기반 라우팅이 주된 기능이며, 허브는 단순 신호 중계 장비로 로드 밸런싱 기능이 없다.
SSO는 한 번의 인증으로 여러 서비스를 이용하게 해주는 만큼, 최초 인증에 사용되는 시스템이 뚫리면 연계된 모든 서비스가 함께 노출되는 단일 실패점 구조가 된다.
따라서 사이트별로 개별 인증 시스템을 운영하는 방식보다 SSO가 보안이 강화된다고 단정할 수 없으며, 오히려 최초 인증 시스템에 대한 보안 강화가 별도로 요구된다.
편의성 증진, 여러 응용 로그인 간소화, 최초 인증 대상에 대한 보안 강화 필요성은 모두 맞는 설명이다.
DNSSEC은 DNS 응답에 전자서명을 붙여 응답의 출처 인증과 무결성을 검증하게 하는 확장이다. 따라서 DNS 응답을 위조해 가짜 사이트로 유도하는 파밍(DNS 스푸핑·캐시 포이즈닝)은 방어할 수 있다.
반면 웜바이러스에 의한 hosts 파일 변조는 단말이 DNS 질의를 보내기도 전에 로컬에서 주소가 결정되므로 검증할 DNS 응답 자체가 없어 DNSSEC으로 막을 수 없다 — 이를 방어 가능한 것으로 본 분석이 잘못됐다.
이용자를 속이는 피싱, 가용성을 겨냥한 DDoS 역시 DNSSEC의 방어 범위 밖이다.
다음은 KISA의 리눅스 Wi-Fi 보안취약성에 대한 보안권고문 중 일부이다. 빈칸 ㉠에 공통적으로 들어갈 용어는?
리눅스의 특정 드라이버에서 발생하는 ( ㉠ ) 취약점 (CVE-2019-17666)
▶ 취약점 내용
- 리눅스 커널의 "rtlwifi" 드라이버에서 경계값 체크가 미흡하여 ( ㉠ ) 발생
※ rtlwifi 드라이버 : 특정 Realtek Wi-Fi 모듈이 리눅스OS 시스템과 통신할 수 있도록 허용해주는 컴포넌트 - 공격자가 경계값을 넘어서는 길이의 "NoA" 패킷을 전송하면 ( ㉠ )로 인해 시스템 장애(crash) 발생
경계값(길이) 검사가 미흡한 드라이버에 경계값을 넘어서는 길이의 패킷을 보내 시스템을 죽인다는 서술이므로 ㉠은 버퍼 오버플로우이다.
CVE-2019-17666은 리눅스 커널 rtlwifi 드라이버가 P2P 처리 과정에서 NoA(Notice of Absence) 속성의 길이를 검증하지 않아 생긴 결함으로, 규정보다 긴 NoA 패킷이 들어오면 할당된 버퍼 바깥 커널 메모리를 덮어써 커널 패닉이나 원격 코드 실행까지 이어질 수 있다.
다른 용어는 이 상황에 맞지 않는다.
- XML injection과 SSRF는 웹 애플리케이션 계층의 입력 조작 공격이라, 커널 드라이버의 길이 검증 누락과는 계층 자체가 다르다.
- Brute force는 키·비밀번호를 무차별 대입하는 공격이어서 '경계값 체크 미흡'이라는 원인 서술과 연결되지 않는다.
SSL/TLS의 Record 프로토콜은 상위 프로토콜에서 전달받은 데이터를 암호화·복호화하고 메시지 인증 코드(MAC)를 생성·검증해 무결성을 보장하는 계층이다.
Handshake 프로토콜은 세션 파라미터·키 협상, Change Cipher Spec은 이후 통신에 협상된 암호 규격 적용을 알림, Alert 프로토콜은 오류·경고 메시지 전달을 담당해 실제 데이터 암복호화·MAC 처리와는 역할이 다르다.
MS SQL 서버의 혼합 인증 모드에서는 윈도우 인증과 SQL 서버 인증을 모두 쓸 수 있지만, 일반적으로 윈도우 인증이 도메인 계정·Kerberos 기반 인증을 활용해 SQL 서버 자체 인증보다 보안성이 더 높다고 평가된다.
따라서 SQL 서버 인증이 더 안전하다는 설명은 틀렸다. 기본 인증 모드가 윈도우 인증이라는 점, 윈도우 인증 모드에서는 SQL 서버 인증을 쓸 수 없다는 점, 혼합 모드에서 둘 다 사용 가능하다는 점은 모두 맞는 설명이다.
쿠키는 웹 서버가 아니라 클라이언트(웹브라우저)에 저장되는 정보이므로, 웹 서버에 저장된 쿠키값을 정기적으로 삭제해야 한다는 설명은 저장 주체 자체가 잘못되어 틀렸다.
방문 기록 저장, 유효기간 설정(미설정 시 브라우저 종료 시 삭제), 서버가 브라우저에 전달해 재방문 시 다시 전송되는 동작은 모두 쿠키의 맞는 설명이다.
DRM 구성요소 중 클리어링 하우스(Clearing House)는 콘텐츠 이용자에 대한 권한 정책을 적용해 사용 권한을 결정하고 라이선스를 발급·관리하며 그 내역을 추적하는 역할을 한다.
패키저는 콘텐츠를 암호화해 포장하는 구성요소, 시큐어 컨테이너는 암호화된 콘텐츠가 담기는 보안 패키지 형식, DRM 제어기는 이용자 단말에서 발급받은 라이선스대로 콘텐츠 이용을 제어하는 모듈로 라이선스 발급·관리와는 역할이 다르다.
strcpy()는 대상 버퍼의 크기를 검사하지 않고 문자열을 복사해 버퍼 오버플로우를 유발할 수 있는 대표적인 취약 함수로, 시큐어 코딩에서 사용을 지양하도록 권고된다.
strncat(), fgets(), snprintf()는 복사·입력할 길이(바이트 수)를 지정할 수 있어 버퍼 크기를 초과하지 않도록 제어할 수 있는 권장 함수다.
디지털 포렌식의 무결성 원칙이 수집된 증거가 위·변조되지 않았음을 증명하는 원칙이며, 정당성의 원칙은 증거가 적법한 절차를 통해 수집되었는지를 다루는 원칙이다.
따라서 정당성의 원칙을 위변조 여부 증명으로 설명한 것은 틀렸다. 증거의 손상·훼손 가능성, 식별·수집·분석 등의 처리 과정, 연계보관성(관리연속성) 원칙에 대한 설명은 모두 맞다.
전자메일이 발신지에서 수신지까지 거쳐온 메일 서버 경로를 기록하는 Received 헤더를 역추적하면 실제 발송 서버(발송자)의 IP 등을 확인할 수 있다.
Message-ID는 메일의 고유 식별자, Content-Type은 본문 형식, From은 발신자가 임의로 지정 가능한 표시 항목이어서 실제 발송자 추적의 근거로는 신뢰하기 어렵다.
데이터베이스 보안 유형은 일반적으로 접근 제어, 가상 테이블(뷰), 암호화 등으로 분류된다.
집계연산(Aggregation)은 개별적으로는 민감하지 않은 데이터들을 조합해 민감한 정보를 유추해낼 수 있는 추론 공격의 한 형태(위협)이지 보안 대응 유형이 아니므로 거리가 멀다.
전자금융거래에서 단말정보·접속로그·거래정보 등을 분석해 이상금융거래·부정거래를 탐지·예방하는 시스템은 FDS(Fraud Detection System)다.
IDS는 네트워크·시스템 침입 탐지, POS는 매장 결제 단말 시스템, HDS는 특정 제조사의 데이터 저장장치를 가리켜 금융 이상거래 탐지 목적과는 무관하다.
다음 지문에서 설명하는 보안 솔루션은?
잠재적인 데이터 또는 정보(데이터)의 유출 전송을 감지하며, 사용 중 또는 이동 중 정지 상태에 있는 민감한 데이터 또는 정보를 모니터링 하거나 감지, 차단함으로써 이를 방지한다.
데이터의 유출 전송을 감지하고 차단하는 데 초점이 있으므로 DLP(Data Loss Prevention)를 설명한 것이다.
DLP는 사용 중(in use)·이동 중(in motion)·정지 상태(at rest)라는 민감 데이터의 세 가지 상태 전부를 대상으로, 내용 검사와 패턴 매칭으로 유출 시도를 탐지하고 메일·웹·USB 등 반출 경로를 통제한다.
비슷해 보이는 솔루션과의 차이는 다음과 같다.
- DRM은 문서 자체를 암호화해 권한 있는 사용자만 열람·편집하게 하는 사용권한 관리로, 유출 경로 감시가 목적이 아니다.
- NAC은 네트워크에 접속하는 단말의 자격을 검사·통제하는 것이고, MLS는 보안등급 라벨에 따라 접근을 제한하는 다단계 보안 모델이다.
다음 지문에서 설명하는 공격 기법은 무엇인가?
익명 FTP 서버를 이용하여 공격 대상의 네트워크를 포트 스캐닝하는 데 사용하는 공격 기법으로서 FTP 서버가 데이터 포트로 데이터를 전송할 때 목적지가 어디인지 검사하지 않는다는 취약점을 이용한다.
FTP 서버가 데이터 전송 목적지를 검증하지 않는 점을 악용해 제3자 포트 스캔에 이용하는 것이므로 FTP Bounce 공격이다.
FTP 액티브 모드에서는 클라이언트가 PORT 명령으로 데이터를 받을 IP와 포트를 지정하는데, 서버가 그 주소를 접속해 온 클라이언트인지 확인하지 않는다. 공격자는 익명 FTP 서버에 접속한 뒤 PORT 값에 스캔 대상의 IP와 포트를 넣고, 연결 성공 여부로 대상 포트의 개방 상태를 알아내면서 자신의 IP는 대상 로그에 남기지 않는다.
나머지는 상황이 다르다. XSS는 웹 페이지에 스크립트를 삽입해 이용자 브라우저에서 실행시키는 공격이고, Anonymous FTP의 문제는 익명 계정 허용 자체로 인한 무단 접근이며, 디렉터리 리스팅은 파일 목록이 그대로 노출되는 설정 결함으로 FTP 서버를 경유한 포트 스캐닝과는 무관하다.
WPKI에서 등록기관(RA)은 사용자의 신원 확인과 인증서 발급 요청 접수·전달을 담당하는 기관이며, 인증서의 발급·폐지는 인증기관(CA)의 권한이다.
따라서 등록기관의 역할을 인증서 폐지로 기술한 것이 잘못됐다. 인증기관의 인증서 발급, 사용자의 발급·관리 요청, 디렉터리의 인증서 정보 저장 설명은 모두 맞다.
XPath·XQuery 인젝션은 공격자가 조작한 입력값이 질의문에 그대로 삽입되면서 발생한다. 따라서 대응 설계는 공통 검증 컴포넌트·필터 컴포넌트를 이용한 입력값 필터링과, 개별 코드에서도 필터링 규칙을 지키도록 하는 시큐어코딩 규칙에 초점을 둔다.
필터를 이용한 출력값 검증은 결과가 화면에 표시될 때의 XSS류 대응 방식으로, 질의문 생성 단계에서 발생하는 인젝션을 막는 고려사항으로는 적절하지 않다.
FREAK는 서버가 취약한 수출용(Export) 등급의 약한 RSA 키로 다운그레이드하도록 유도해 짧은 키를 깨는 공격이며, CBC 모드 암호화의 패딩 오류를 이용한 공격은 POODLE이다.
따라서 'CBC mode encryption + padding - FREAK' 쌍은 잘못됐다.
DHE 수출용 키 다운그레이드는 Logjam, CBC 모드의 예측 가능한 IV를 노리는 것은 BEAST, Heartbleed는 OpenSSL의 하트비트 확장 구현 결함으로 메모리 내용이 노출되는 취약점이어서 OpenSSL과 짝지어진 설명은 맞는 쌍으로 본다.
SSL은 암호화된 세션, 서버 인증, (옵션인) 클라이언트 인증 기능을 제공하지만, 서명한 행위 자체를 부인하지 못하게 하는 부인 방지(Non-repudiation) 기능은 제공하지 않는다.
부인 방지는 전자서명 등 별도의 메커니즘을 통해 제공되는 기능으로 SSL의 기본 보안 기능 범위에 포함되지 않는다.
다음 지문에서 웹 로그파일에 저장되는 내용을 모두 고른 것은?
가. 클라이언트 IP나. 클라이언트 접속시간
다. 클라이언트 ID
라. 클라이언트 요청내용
마. 클라이언트 요청종류
웹 로그파일에는 클라이언트 IP·접속시간·클라이언트 ID·요청종류가 기록되고, 요청내용은 남지 않는다.
아파치 공통 로그 형식(CLF)은 호스트(IP) - 식별자 - 인증 사용자 ID - 접속 일시 - 요청라인 - 상태코드 - 전송 바이트 순으로 한 줄씩 남는다. 여기서 요청라인에 GET·POST 같은 메소드(요청종류)와 대상 URL이 들어가므로 IP·시간·ID·요청종류는 모두 기본 항목이다.
반면 POST 본문처럼 실제로 주고받은 요청내용(데이터 본문)은 기본 로그에 기록되지 않는다. 이를 확인하려면 별도 모듈이나 WAF·프록시로 페이로드를 따로 수집해야 하므로, 기본 웹 로그의 저장 항목에서는 제외된다.
OTP의 생성·인증 방식은 일회성 비밀번호를 발생시키는 이벤트 동기화, 시간 동기화, 질의/응답(챌린지-리스폰스) 방식이 대표적이다.
캡차(CAPTCHA)는 사람과 자동화된 프로그램(봇)을 구분하기 위한 기술로, 일회용 비밀번호를 생성·인증하는 방식이 아니므로 OTP 방식에 해당하지 않는다.
Needham-Schroeder 프로토콜은 키 분배 센터(KDC)를 이용해 질의-응답(challenge-response) 방식으로 세션키를 분배하는 초기 프로토콜로, 재전송 공격에 취약하다는 문제가 있다.
시간 순서상 Kerberos가 Needham-Schroeder 프로토콜을 기반으로 개선·발전한 것이지, 반대로 Needham-Schroeder가 Kerberos의 취약점을 개선한 것이 아니므로 이 설명은 틀렸다.
다음 지문에서 공유 폴더에 적용된 접근통제 방식은?
IT 팀장이 직원으로부터 공유 폴더에 접근할 수 없다는 보고를 받은 후 조사를 했더니 다음과 같은 사실을 발견하였다.
- 해당 직원 또는 직원이 속한 그룹에게 공유 폴더에 대한 접근 권한이 부여되어 있지 않았다.
- 다른 직원 또는 그룹에게 공유 폴더에 대한 접근 권한이 부여되어 있었다.
- IT팀 내 다른 직원이 최근에 공유 폴더에 대한 접근 권한을 갱신하였다.
자원 관리자가 개별 사용자와 그룹 단위로 권한을 직접 부여하고 임의로 변경한 정황이므로 임의적 접근통제(DAC)가 적용된 것이다.
지문의 세 가지 사실이 그대로 DAC의 특징이다.
같은 조직 안에서도 어떤 직원·그룹에는 권한이 있고 어떤 직원에게는 없으며, 무엇보다 IT팀의 다른 직원이 최근에 권한을 갱신할 수 있었다. 즉 접근 허용 여부가 소유자·관리자의 재량으로 결정된다.
다른 모델이라면 이런 상황이 생기지 않는다.
- 강제적 접근통제는 관리자가 정한 보안등급(라벨)로만 판정하므로 일반 담당자가 권한을 임의로 갱신할 수 없다.
- 역할기반은 직무 역할에 권한이 묶여 같은 역할이면 동일한 권한을 갖고, 규칙기반은 시간·IP 같은 사전 규칙으로 일괄 판정하므로 '사람마다 다르고 개인이 갱신함'과 맞지 않는다.
Kerberos는 신뢰하는 키 분배 센터(KDC)를 통해 비밀키 기반으로 온라인 인증·키 분배를 수행하는 프로토콜로, 그 목적은 인증된 사용자만 서버에 접근하도록 하는 것이다.
따라서 인증되지 않은 클라이언트도 서버에 접속할 수 있도록 하는 것이라는 설명은 Kerberos의 목적과 정반대여서 틀렸다.
비밀키 기반 온라인 키 분배 방식이라는 점, 데이터 기밀성·무결성 보장, KDC 장애 시 전체 서비스 중단 가능성은 모두 맞는 설명이다.
다음은 커버로스 프로토콜의 세션키 전송 절차에 필요한 단계이다. 이 단계의 순서가 올바르게 나열된 것은?
㉠ 클라이언트는 티켓을 이용하여 서버에 접속㉡ 티켓 발급서버는 인증된 클라이언트에게 티켓을 발급
㉢ 서버는 티켓을 확인 후 클라이언트를 인증하며 접속을 허락
㉣ 클라이언트는 서버에 접속하기 위해 인증서버와 인증(패스워드)
㉤ 인증서버는 인증된 클라이언트에게 티켓 발급서버로부터 티켓 발급을 허용
올바른 순서는 ㉣ → ㉤ → ㉡ → ㉠ → ㉢이다.
커버로스는 인증서버(AS) → 티켓발급서버(TGS) → 응용서버 순으로 진행된다. 먼저 클라이언트가 인증서버에 패스워드로 본인을 인증(㉣)하고, 인증서버는 티켓발급서버에서 티켓을 받을 수 있게 해 주는 티켓(TGT)을 내준다(㉤).
이어서 티켓발급서버가 서비스용 티켓을 발급(㉡)하면 클라이언트는 그 티켓을 제시해 서버에 접속하고(㉠), 마지막으로 서버가 티켓을 검증해 접속을 허락(㉢)한다. 사용자의 비밀번호를 응용서버에 직접 보내지 않고 티켓으로 대신 인증하는 것이 이 구조의 핵심이다.
제시된 암호화 과정은 CBC(Cipher Block Chaining) 모드다. 평문 블록을 직전 암호문 블록(첫 블록은 초기화 벡터 IV)과 XOR한 뒤 블록 암호로 암호화하므로, 같은 평문 블록이라도 매번 다른 암호문이 나오고 블록 간 연쇄가 형성된다.
ECB는 각 평문 블록을 독립적으로 암호화해 연쇄가 없고, CFB·OFB는 블록 암호의 출력을 키스트림으로 만들어 평문과 XOR하는 스트림 방식(평문이 블록 암호의 입력으로 들어가지 않음)이라는 점에서 구분된다.
스트림 암호는 긴 주기(long period)와 높은 선형 복잡도를 갖는 키스트림이 요구되며, 이를 위해 주로 LFSR(선형 궤환 시프트 레지스터)을 이용해 구현한다.
'짧은 주기'라는 설명은 실제 요구사항과 반대여서 틀렸다.
일회성 패드(One-Time Pad)를 실용적으로 구현하려는 목적, 비트 단위 암호화로 인한 빠른 처리 속도, 블록 암호 OFB 모드가 스트림 암호와 유사하게 동작한다는 설명은 모두 맞다.
전자서명은 원문(정확히는 원문의 해시값)에 서명자의 개인키를 적용해 만들어 내는 정보이고, 그 결과물이 서명문이다.
서명 대상을 '서명문'으로 기술한 설명은 서명의 입력과 결과를 뒤바꾼 것이어서 옳지 않다.
위조 불가·부인 방지 제공, 은닉서명이 서명자가 내용을 모른 채 서명해 제공자(서명 요청자)의 익명성을 보장한다는 점, DSA가 이산대수 문제의 어려움에 기반한 대표적 전자서명 알고리즘이라는 점은 맞는 설명이다.
KDC를 이용하면 사용자 간 직접 키를 합의할 필요 없이 사용자마다 KDC와의 마스터키 하나씩만 관리하면 되지만, 이 키의 개수는 사용자 수(n)에 비례해 늘어나므로 사용자가 아무리 많아도 관리할 키의 수가 동일하다는 설명은 틀렸다.
사용자가 상대방과의 통신키를 직접 생성할 필요가 없다는 점, 키 관리가 KDC에 집중되는 점, KDC에 많은 키가 몰려 있어 공격 시 피해가 크다는 설명은 모두 맞다.
PKI의 등록기관(RA)은 사용자 신분 확인, 인증서 발급 대행(요청 접수·전달), 인증 요청서 보관 등 발급 전 단계의 업무를 수행한다.
인증서 폐지 목록(CRL)의 저장은 인증기관(CA)이 생성한 CRL을 보관·공개하는 디렉터리(저장소)의 역할이지 RA 고유의 기능이 아니다.
아래 지문은 긴 메시지에 전자서명하는 방법에 대한 설명이다. 이렇게 하는 가장 근본적인 이유는?
긴 메시지의 해시값을 생성하고, 이를 자신의 개인키로 전자서명 한다. 검증자는 수신된 긴 메시지로부터 해시값을 계산하고, 전자서명자의 공개키로 전자서명된 해시값으로부터 해시값을 복원한다. 이렇게 얻어진 2개의 해시값을 비교하여 동일성 여부로 전자서명을 검증한다.
메시지를 통째로 서명하지 않고 고정 길이 해시값만 서명하는 이유는, 공개키 기반 서명·검증 연산이 느려 데이터 양이 커질수록 처리 시간이 급격히 늘어나기 때문이다.
RSA나 ECDSA 같은 서명 알고리즘은 모듈러 지수승·타원곡선 연산을 사용해 대칭키 연산보다 수백 배 이상 느리다. 반면 해시함수는 입력이 아무리 길어도 160~512비트의 고정 길이 출력을 빠르게 만들어 주므로, 실제 서명 대상은 항상 이 짧은 값 하나로 고정된다.
나머지 설명은 근본 이유가 되지 못한다. 국제표준에 규정되어 있다는 것은 그렇게 정해진 결과이지 원인이 아니고, 해시값 자체가 서명의 안전성을 보장하지도 않으며(안전성은 서명 알고리즘과 키에서 나온다), 전자서명에 쓰이는 것은 대칭암호가 아니라 공개키 암호다.
AES는 키 길이에 따라 라운드 수가 정해지는데, 128비트 키는 10라운드, 192비트 키는 12라운드, 256비트 키는 14라운드를 수행한다.
따라서 256비트 키 길이 AES의 라운드 수는 14다.
인증서를 신뢰하려면 발급기관의 전자서명 검증과 유효기간 확인 외에도, 그 인증서가 폐지(CRL)되지 않았는지를 함께 확인해야 한다.
따라서 서명이 올바르고 유효기간이 유효하면 신뢰한다는 설명은 폐지 여부 확인 절차를 빠뜨려 틀렸다.
개인키가 안전해도 다른 사유로 인증서가 폐지될 수 있다는 점, 폐지 시 CRL에 등재되고 인증기관이 서명한다는 점, 공개키 검증에 인증기관의 공개키가 필요하다는 점은 모두 맞는 설명이다.
HMAC은 내장된 해시함수를 손쉽게 교체할 수 있고, 기존 해시함수의 원래 성능을 거의 그대로 유지하며, 키를 간단한 방법으로 사용·처리할 수 있도록 설계하는 것을 목표로 한다.
'사용되는 해시함수를 손쉽게 구할 수 있어야 한다'는 해시함수의 가용성(구하기 쉬움)에 대한 조건일 뿐, HMAC이 표방하는 설계 목적(교체 용이성·성능 유지·간단한 키 처리)과는 성격이 달라 올바른 설명으로 보기 어렵다.
다음 블록 암호 운영 모드 중 메시지 인증에 사용될 수 있는 것들로 올바르게 짝지어진 것은?
㉠ ECB㉡ CBC
㉢ CFB
㉣ CTR
메시지 인증(MAC)에 활용할 수 있는 운영 모드는 CBC(㉡)와 CTR(㉣)이다.
CBC는 각 블록을 앞 블록의 암호문과 연쇄시키므로 마지막 암호문 블록 하나에 메시지 전체가 반영된다. 이를 인증 태그로 쓰는 것이 CBC-MAC이고 표준화된 형태가 CMAC이다. CTR은 인증암호 모드의 토대가 되어 GCM(GMAC)이 CTR로 암호화하면서 동시에 인증 태그를 생성하고, CCM은 CTR과 CBC-MAC을 결합한 구조다.
나머지 두 모드가 제외되는 이유는 다음과 같다.
- ECB는 블록을 서로 독립적으로 암호화해 같은 평문 블록이 항상 같은 암호문이 되므로, 블록 순서를 바꾸거나 교체해도 드러나지 않아 무결성 보증에 쓸 수 없다.
- CFB는 스트림처럼 동작하는 기밀성 전용 모드로, 이를 기반으로 표준화된 MAC 알고리즘이 없다.
인증서 폐지는 소유자 본인의 요청뿐 아니라, 개인키 유출·침해가 의심되거나 발급기관의 정책 위반 등 다양한 사유로 인증기관(CA)이 직권으로 처리할 수도 있어 본인만 가능하다는 설명은 틀렸다.
탈퇴·개인키 침해·유출 의심 등이 폐지 사유가 된다는 점, X.509 기반 CRL로 관리된다는 점, 폐지 목록이 디렉터리에 공개돼 네트워크로 조회 가능하다는 점은 모두 맞는 설명이다.
순방향 기밀성(Forward Secrecy)은 현재 사용 중인 세션키나 마스터키가 나중에 노출되더라도, 그 이전에 암호화되어 있던 통신 내용의 기밀성에는 영향을 주지 않는 성질을 말한다.
WPA3는 이 성질을 지원해, 과거에 저장해둔 암호화 트래픽을 나중에 키가 유출되더라도 복호화할 수 없도록 한다.
다음 지문의 괄호 안에 들어갈 용어를 순서대로 나열한 것은?
공개키 알고리즘으로 정보화 서비스와 전자서명 서비스를 제공할 때 암호화에 사용하는 키는 수신자의 ( )이고, 서명 검증에 사용하는 키는 송신자의 ( )이다.
암호화에 쓰는 키는 수신자의 공개키, 서명 검증에 쓰는 키는 송신자의 공개키이므로 두 괄호 모두 공개키가 들어간다.
공개키 암호에서 기밀성은 '수신자 공개키로 암호화 → 수신자 개인키로 복호화'로 얻는다. 받는 사람만 가진 개인키가 있어야 풀리므로 암호화 단계에는 개인키가 등장하지 않는다.
전자서명은 방향이 반대로 '송신자 개인키로 서명 생성 → 송신자 공개키로 검증'이다. 서명은 본인만 만들 수 있어야 해서 개인키로 생성하고, 검증은 누구나 할 수 있어야 하므로 공개된 송신자의 공개키를 사용한다.
인증서에는 사용자의 공개키만 담기며 개인키는 포함되지 않는다. 개인키는 소유자가 비밀로 보관해야 하는 정보이므로 인증서 발급 대상이 아니다.
인증서는 인증기관이 공개키와 소유자 정보를 묶어 서명한 전자문서이며, 등록기관은 신원 확인과 발급 대행을 수행하고, X.509 버전 3부터 확장영역이 도입되어 CRL 배포지점 등 부가 속성을 표현할 수 있게 됐다.
트래픽 분석은 메시지 내용을 가로채 노출시키는 공격이 아니라, 암호화된 트래픽의 양과 빈도, 통신 패턴을 분석해 정보를 추정하는 수동적 공격이다. 제시된 설명은 메시지를 가로채 내용을 드러낸다고 되어 있어 도청(가로채기)의 정의에 가깝다.
재생 공격, 삽입 공격, 메시지 변조에 대한 나머지 설명은 각각의 정의에 부합한다.
주어진 입력값 x에 대해 을 만족하는 다른 입력 x'을 찾기 어려운 성질을 두 번째 역상저항성(second preimage resistance)이라 한다.
일방향성은 해시값에서 원래 입력을 역산하기 어려운 성질이고, 강한 충돌 저항성은 입력을 고정하지 않고 임의의 두 입력의 충돌을 찾기 어려운 성질이라는 점에서 구분된다.
빈칸 ㉠, ㉡에 들어갈 용어를 순서대로 나열한 것은 무엇인가?
위험관리의 정보자산 식별 활동에서는 조직의 ( ㉠ )에 따라 정보자산 분류기준을 수립하여 관리체계 범위 내 모든 정보자산을 식별/분류하고, ( ㉡ ) 산정한 후 그 목록을 최신으로 관리하여야 한다.
㉠에는 업무특성, ㉡에는 중요도를이 들어간다.
ISMS-P 인증기준의 정보자산 식별 항목 문구로, 조직의 업무특성에 맞춰 분류기준을 세우고 관리체계 범위 안의 모든 자산을 식별·분류한 다음 기밀성·무결성·가용성 평가로 중요도를 산정하고 목록을 최신 상태로 유지하라는 요구사항이다.
㉠에 '목표'를 넣으면 자산 분류기준을 조직의 목표에서 끌어내는 말이 되어 기준의 취지와 어긋나고, ㉡의 '위협 수준'은 자산 식별이 아니라 뒤따르는 위험평가 단계에서 산정하는 값이다. 자산 식별 단계의 산출물은 자산 목록과 자산별 중요도다.
정책·지침·절차 개정 사항은 게시판 공지만으로 전달하기보다 집합교육이나 온라인교육으로 구성원이 실제로 이해하도록 하는 것이 바람직하다. 게시만으로는 인지 여부를 확인하기 어려워 교육 효과가 떨어진다.
위험분석 결과를 관련 부서·담당자와 공유하는 것, 최근 침해사고 동향을 지속적으로 교육하는 것, 정기교육을 놓친 인력에게 보충교육을 제공하는 것은 모두 적절한 운영 방식이다.
다음 지문이 설명하는 것은?
이것은 정보자산의 기밀성, 무결성, 가용성을 실현하기 위한 절차와 과정을 체계적으로 수립, 문서화하고 지속적으로 관리, 운영하는 시스템을 말한다.
지문이 정의한 것은 정보보호관리체계(ISMS)다.
정보자산의 기밀성·무결성·가용성을 실현하기 위한 절차와 과정을 체계적으로 수립·문서화하고 지속적으로 관리·운영하는 체계라는 서술이 곧 정보보호관리체계의 법령상 정의이며, 수립 → 문서화 → 지속적 관리·운영이라는 순환 구조가 핵심 표지다.
- 업무연속성관리체계는 재해·장애 상황에서도 핵심 업무를 이어가기 위한 체계로 가용성과 업무 연속성에 초점이 있다.
- 재난복구체계는 재해 발생 이후 시스템과 데이터를 복구하는 설비·절차를 다루는 좁은 개념이다.
- 보안성평가체계는 제품이나 시스템의 보안 기능을 평가·인증하는 제도로, 조직 전반의 관리 체계가 아니다.
정량적 위험분석은 자산가치와 손실 규모를 화폐 단위로 산출해야 해서 정성적 분석보다 오히려 시간과 비용이 많이 든다. 따라서 시간과 비용 절약은 정량적 분석의 장점으로 볼 수 없다.
위험을 금전적 가치·백분율·확률 등 수치로 표현할 수 있어 결과 이해가 쉽고, 위험관리 활동의 성능평가나 비교가 용이하다는 점이 실질적인 장점이다.
개인정보 영향평가는 처리하는 개인정보의 수, 제3자 제공 여부, 정보주체의 권리를 침해할 가능성과 그 위험의 정도 등을 고려 요소로 삼는다.
반면 개인정보처리의 위탁 여부 자체는 영향평가의 고려 요소로 규정되어 있지 않다.
안전한 소프트웨어·하드웨어 개발 기술의 적용과 검증은 IoT 제품·서비스를 설계·개발하는 단계의 보안 요구사항이지, 운영·관리·폐기 단계의 요구사항이 아니다.
운영·관리·폐기 단계에서는 침해사고 대응체계와 책임추적성 확보, 정보보호·프라이버시 관리체계 운영, 보안패치와 업데이트의 지속 이행처럼 이미 배포된 장치를 안전하게 유지·종료하는 활동이 핵심이다.
개인정보보호 관련 법령·정책을 직접 수립하거나 집행하는 것은 출제 당시 보호위원회의 기능으로 보지 않았다. 당시 보호위원회는 개인정보 보호에 관한 사항을 심의·의결하는 기구로 이해되었고, 정책의 실행은 각 소관 행정기관이 담당했다.
법령 해석·운영에 관한 사항 심의, 공공기관 간 의견조정 사항 의결, 관계 기관에 대한 자료제출·사실조회 요구는 모두 보호위원회의 기능에 해당한다.
다만 2020년 8월 개정으로 보호위원회가 국무총리 소속 중앙행정기관이 되면서 개인정보 보호 정책·제도·계획의 수립·집행이 소관 사무에 포함됐으므로, 현행 기준으로는 이 지문도 보호위원회의 사무에 해당한다.
정보통신서비스 제공자가 이용자 정보를 수집·이용하기 위해 고지하고 동의받아야 하는 사항은 수집·이용 목적, 수집 항목, 보유·이용 기간 세 가지다.
동의를 거부할 권리와 거부에 따른 불이익 내용은 이와 별도의 고지 의무 사항으로, 이 조항이 요구하는 동의 시 고지사항에는 포함되지 않는다.
출제 당시 정보통신망법 제22조 기준이며, 데이터 3법 개정으로 이 규정은 개인정보보호법으로 이관됐고 현행법은 동의 거부 권리와 그 불이익 내용도 고지사항으로 함께 규정한다.
제시된 설명은 웜사이트가 아니라 콜드사이트에 대한 설명이다. 콜드사이트는 재난 발생 시 사용할 공간만 미리 확보해 두고 별도의 장비를 갖추지 않는 방식이다.
웜사이트는 핵심 장비 일부를 미리 설치해 두어 콜드사이트보다 빠르게, 핫사이트보다는 저렴하게 복구할 수 있는 중간 단계의 체계다.
업무연속성계획의 5단계 방법론, 재해복구테스트의 종류, 업무영향분석의 목적에 대한 나머지 설명은 정의에 부합한다.
개인정보파일 등록사항에는 개인정보를 통상적 또는 반복적으로 제공하는 경우 그 제공받는 자가 포함되며, 일시적으로 제공하는 경우는 등록 대상이 아니다.
개인정보파일의 명칭, 기록되는 개인정보 항목, 정보주체 수는 모두 보호위원회에 등록해야 하는 사항에 해당한다.
위험수용은 식별된 위험을 별도 조치 없이 그대로 받아들이는 전략인데, 제시된 사례는 수탁사를 선별해 관리·감독을 수행하는 것이므로 위험을 줄이기 위한 통제, 즉 위험감소에 가깝다.
비밀번호 복잡도 강제 설정, 손해배상 관련 보험 가입, 위험이 큰 회원관리 기능 자체를 없애는 조치는 각각 위험감소·위험전가·위험회피 사례로 올바르게 대응된다.
경영진 참여는 보고와 의사결정의 책임·역할을 문서화하여 운영하는 것이 원칙이며, 문서화 없이 정기 보고만 이루어지는 것은 부적절하다.
정보보호위원회를 통한 의사결정, 조직 규모·특성에 맞춘 보고·의사결정 절차 설계, 내부 위임전결 규정에 따른 책임자의 의사결정 대행은 모두 인정되는 참여 방식이다.
주요정보통신기반시설 취약점의 분석·평가는 정보통신기반보호법에 따라 관리기관의 장이 정기적으로 수행해야 하는 법정 의무제도다.
정보보호 준비도 평가, 클라우드 보안인증제, 정보보호 공시제도는 출제 당시 사업자가 필요에 따라 신청하거나 공시하는 자율제도로 운영됐다. 다만 정보보호 공시는 이후 법 개정으로 일정 요건에 해당하는 기업에 한해 의무화됐다.
개인정보처리자는 다음 지문의 사항이 포함된 것을 정하고 이를 정보주체가 쉽게 확인할 수 있게 공개하도록 되어 있다. 다음 지문의 사항이 포함된 문서의 법률적 명칭은 무엇인가?
- 개인정보의 처리 목적
- 개인정보의 처리 및 보유 기간
- 개인정보의 제3자의 제공에 관한 사항(해당되는 경우에만 정한다.)
- 개인정보처리의 위탁에 관한 사항(해당되는 경우에만 정한다.)
- 정보주체의 권리의무 및 그 행사방법에 관한 사항
- 그 밖에 개인정보의 처리에 관하여 대통령령으로 정한 사항
지문의 항목들을 담아 정보주체가 쉽게 확인할 수 있도록 공개해야 하는 문서의 법률상 명칭은 개인정보 처리방침이다.
개인정보 보호법은 처리 목적, 처리 및 보유 기간, 제3자 제공, 처리위탁, 정보주체의 권리의무 및 행사방법, 그 밖에 대통령령으로 정한 사항을 포함해 개인정보 처리방침을 정하고 공개하도록 개인정보처리자에게 의무를 지운다. 지문의 나열이 이 조문의 각 호와 그대로 대응한다.
- 표준 개인정보 보호지침은 감독기관이 개인정보처리자에게 권장하는 처리 기준·절차를 정한 행정규칙이지, 처리자가 각자 공개하는 문서가 아니다.
- 개인정보 보호정책·개인정보 보호지침은 법률이 명칭을 정해 공개를 강제한 문서가 아니라 조직 내부 방침을 가리키는 일반적 표현에 가깝다.
휴대전화 앱의 푸시 알람 ON/OFF 설정은 광고성 정보 수신에 대한 별도의 명시적 동의로 보지 않는다. 푸시 알람을 켜 두었다는 사실만으로 광고성 정보 전송이 허용되는 것은 아니다.
서비스 조건·특징 변경 안내가 광고성 정보의 예외에 해당한다는 점, 전송 전 문서나 구술로 명시적 동의를 받아야 한다는 점, 오후 9시부터 다음 날 오전 8시까지는 별도의 사전 동의가 필요하다는 점은 모두 옳은 설명이다.
재화나 서비스를 홍보하거나 판매를 권유하는 업무를 위탁하는 경우에는 위탁하는 업무의 내용과 수탁자를 정보주체에게 알려야 하며, 별도의 동의를 받아야 하는 것은 아니다.
업무위탁 시 일정 사항이 포함된 문서에 의해야 한다는 점, 위탁자가 수탁자를 교육하고 처리 현황을 감독해야 한다는 점, 수탁자의 법 위반에 따른 손해배상책임에서 수탁자를 개인정보처리자의 소속 직원으로 본다는 점은 모두 옳은 설명이다.
취약점·침해요인 정보 제공과 실시간 경보·분석체계 운영 업무는 '사이버안전센터'가 아니라 분야별 정보공유·분석센터(ISAC)가 구축·운영하는 것으로 규정되어 있다.
주요정보통신기반시설보호계획에 취약점 분석·평가 사항이 포함된다는 점, 보완 명령 시 기술지원을 요청할 수 있다는 점, 침해사고로 시설이 교란·마비·파괴된 사실을 인지하면 관계기관 등에 통지해야 한다는 점은 모두 옳은 설명이다.
다음은 개인정보처리시스템을 기획하는 단계에서 개인정보보호를 위해 검토하고 확인하여야 할 기본원칙에 관한 설명이다. 잘못된 것끼리 묶은 것은?
가. 개인정보보호 관련 법령 및 지침 등 관련 규정을 세부적으로 검토
나. 개인정보 수집 최소화를 위해 개인정보 처리 목적을 명확히 하고 수집
다. 개인정보 목적 달성 시 파기 방법은 사업진행 상황에 따라 결정
라. 주민등록번호 인증을 통한 회원가입 방법 제공
마. 개인정보처리시스템에 대한 접근권한 등 기본적인 보안대책 마련
바. 개인정보 전송 및 저장 시 적용할 암호화 알고리즘과 방식 결정
사. 개인정보처리시스템과 관련된 개인정보 처리방침 수립
아. 공공기관 개인정보처리시스템과 관련하여서는 개인정보 영향평가 고려
기본원칙에 어긋나는 것은 파기 방법을 사업진행 상황에 따라 결정한다는 설명과 주민등록번호 인증으로 회원가입을 받는다는 설명이다.
개인정보는 보유기간이 지나거나 처리 목적을 달성하면 지체 없이 파기해야 하며, 복구·재생이 불가능한 파기 방법을 기획 단계에서 미리 정해 두어야 한다. 사업 진행 상황을 보아 그때그때 정할 사항이 아니다.
또한 주민등록번호는 법령에 구체적 근거가 있는 경우로만 처리가 허용되므로, 회원가입 본인확인에는 아이핀·휴대전화 인증 등 대체수단을 제공해야 한다. 주민등록번호 인증을 회원가입 방법으로 제공하는 것은 수집 최소화 원칙과 정면으로 충돌한다.
나머지 항목은 관련 법령·지침 검토, 처리 목적 명확화를 통한 수집 최소화, 접근권한 등 기본 보안대책, 암호화 알고리즘·방식 결정, 처리방침 수립, 공공기관의 개인정보 영향평가 고려로 모두 기획 단계에서 검토해야 할 정당한 사항이다.
개인정보보호법 상 개인정보 유출 시 개인정보 처리자가 정보 주체에게 알려야 할 사항으로 옳은 것만을 모두 고르면?
㉠ 유출된 개인정보의 위탁 현황
㉡ 유출된 시점과 그 경위
㉢ 개인정보 보관 폐기 기간
㉣ 정보 주체에게 피해가 발생한 경우 신고 등을 접수할 수 있는 담당 부서 및 연락처
통지 사항으로 옳은 것은 유출된 시점과 그 경위, 그리고 신고 등을 접수할 수 있는 담당 부서 및 연락처다.
개인정보 유출 통지 항목은 유출된 개인정보의 항목, 유출된 시점과 그 경위, 피해를 최소화하기 위해 정보주체가 할 수 있는 방법, 개인정보처리자의 대응조치 및 피해 구제절차, 피해 신고를 접수할 담당 부서와 연락처로 정해져 있다.
- 유출된 개인정보의 위탁 현황은 통지 항목이 아니다. 알려야 하는 것은 유출된 개인정보의 항목이다.
- 개인정보 보관·폐기 기간은 개인정보 처리방침에 공개할 사항일 뿐 유출 통지 대상이 아니다.
유출된 개인정보 항목이나 발생 시점을 24시간 내에 정확히 파악하지 못했다는 사정만으로는 통지·신고 지연의 정당한 사유로 인정되지 않는다. 이 경우에도 우선 파악된 사항을 토대로 통지·신고하고 이후 확인되는 사항을 추가로 알려야 한다.
천재지변으로 신고가 물리적으로 불가능한 경우, 수사기관이 통지 보류를 요청한 경우, 물리적·기술적·관리적 사유로 통지가 불가능한 경우는 정당한 지연 사유로 인정된다.
출제 당시 정보통신망법 기준이며, 데이터 3법 개정으로 유출 통지·신고 규정은 개인정보보호법으로 이관됐다.