카메라, DVR 등 인터넷에 연결된 IoT 기기를 감염시켜 봇넷을 구성한 뒤 디도스 공격에 활용하는 대표적인 악성코드는 미라이(Mirai)다.
미라이는 기본 계정과 취약한 패스워드가 설정된 IoT 장치를 스캔해 감염시키고, 확보한 대규모 봇넷으로 대상 서버에 대량 트래픽을 전송하는 디도스 공격을 수행한 것으로 알려져 있다.
리눅스 시스템에서 계정의 패스워드를 암호화된 형태로 저장하는 파일은 /etc/shadow다.
초기 유닉스 체계에서는 /etc/passwd에 암호화된 패스워드를 함께 저장했으나, 일반 사용자도 읽을 수 있어 오프라인 크래킹에 취약했기 때문에 이후 root만 읽을 수 있는 shadow 파일로 패스워드 정보를 분리했다.
인터넷 익스플로러의 검색 및 방문 히스토리는 index.dat 파일에 저장된다.
index.dat은 사용자가 직접 열지 않아도 브라우저 종료 이후에도 남아 있어, 포렌식 조사에서 웹 사용 기록을 복원하는 핵심 증거 파일로 다뤄진다.
FTP 접속 및 파일 송수신 내역을 검토할 수 있는 로그 파일은 xferlog다.
xferlog는 파일 전송이 이루어질 때마다 전송 시각, 접속 계정, 전송 파일명 등을 기록해 FTP 접근 여부를 확인하는 근거가 된다.
인증 없이 세션을 맺을 수 있는 Null Session 취약점과 관련된 윈도우 공유는 IPC$다.
IPC$는 프로세스 간 통신을 위한 특수 공유로, 과거 윈도우 환경에서는 익명 사용자도 이 공유를 통해 계정·공유 목록 등의 정보를 열람할 수 있는 취약점이 있었다.
유닉스/리눅스 시스템에서 root 계정과 동일한 권한을 갖는지는 UID(사용자 식별번호) 값으로 결정되며, UID가 0이면 계정 이름과 무관하게 root 권한을 갖는다.
chalie 계정은 GID가 200이라도 UID가 0이므로 파일 소유권이나 프로세스 실행 권한 면에서 root와 동일하게 취급된다.
- UID 100인 sally 계정은 GID가 0이어도 사용자 권한 자체는 root가 아니다.
- UID 10인 johny, sara 계정도 마찬가지로 root 권한을 갖지 않는다.
다음 지문에서 설명하는 크래킹 방법은?
패스워드에 사용될 수 있는 문자열의 범위를 정하고, 그 범위 내에서 생성 가능한 모든 패스워드를 생성하며 이를 하나씩 대입, 패스워드 일치 여부를 확인한다.
가능한 문자 집합에서 만들 수 있는 모든 조합을 빠짐없이 생성해 하나씩 대입하는 방식은 Brute Force Attack(전수조사 공격)이다.
지문의 "사용될 수 있는 문자열의 범위를 정하고, 그 범위 내에서 생성 가능한 모든 패스워드를 생성"이 결정적 단서로, 시간만 충분하면 반드시 성공하지만 자릿수와 문자 종류가 늘수록 경우의 수가 기하급수로 커진다.
- 미리 만들어 둔 사전 파일의 단어와 그 변형만 시도하는 방식은 Dictionary Attack이다.
- 평문과 해시값 쌍을 미리 계산해 표로 저장해 두고 조회하는 방식은 Rainbow Table Attack이다.
- Hash Attack은 패스워드 크래킹 기법으로 따로 정의된 명칭이 아니다.
공격자가 ifconfig를 변조하는 목적은 특정 IP의 접속을 숨기기 위해서가 아니라, 네트워크 카드가 프로미스큐어스(PROMISC) 모드로 동작 중임을 나타내는 표시를 감추어 스니퍼 실행 사실을 은폐하기 위한 것이다.
특정 IP에서의 접속 내역을 숨기는 작업은 보통 연결 상태를 보여주는 netstat과 같은 도구를 변조해 이루어진다.
- ps, top 변조는 특정 프로세스를 목록에서 감추기 위한 것이다.
- ls, du 변조는 특정 파일이나 디렉터리를 감추기 위한 것이다.
- w, who 변조는 특정 사용자의 접속 정보를 감추기 위한 것이다.
소유자에게만 읽기와 쓰기 권한이 있으려면 그룹과 기타 사용자에게는 쓰기 권한이 없어야 하며, 소유자에게는 쓰기 권한이 주어져야 한다.
소유자가 rwx, 그룹과 기타 사용자가 각각 r--로 설정된 권한은 오직 소유자만 파일을 수정할 수 있고 그룹과 기타 사용자는 읽기만 가능한 상태를 나타낸다.
나머지 보기들은 소유자가 쓰기 권한을 갖지 못하거나 그룹 또는 기타 사용자에게도 쓰기 권한이 함께 부여되어 있어 조건을 충족하지 못한다.
다음 빈 칸 들어갈 서비스명으로 적절한 것은?
( ㉠ ) 서비스는 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 해주는 프로세스 간 프로토콜로써 어떤 프로그램이 네트워크상의 다른 컴퓨터에서 작동하는 프로그램에 서비스를 요청하는 데 사용되는 프로토콜이다.
XML( ㉠ )라는 서비스는 XML 기반의 분산시스템 통신방법으로, ( ㉠ ) 호출에 대해 XML 형태로 매개변수나 리턴값을 반환하는 방식이다.
다른 주소 공간의 함수·프로시저를 마치 로컬 호출처럼 실행하게 해 주는 프로세스 간 통신 프로토콜은 RPC(Remote Procedure Call)이다.
빈칸을 그대로 대입하면 두 번째 문단이 XML-RPC가 되는 것이 결정적 단서로, RPC 호출의 매개변수와 리턴값을 XML로 인코딩해 주고받는 분산 통신 방식이다. 유닉스에서는 portmapper(111번)가 RPC 서비스의 포트를 중개한다.
- SSHD는 암호화된 원격 접속 셸을 제공하는 데몬으로 함수 단위 원격 호출과는 성격이 다르다.
- Bluetooth는 근거리 무선 통신 규격이다.
- NFS는 원격 파일시스템 공유 서비스로, 내부적으로 RPC를 이용할 뿐 RPC 자체는 아니며 XML을 앞에 붙인 서비스명도 존재하지 않는다.
다음 지문에서 설명은?
- MINIX File System을 보완하여, 최대 2G까지 파일시스템 크기를 지원한다.
- 255byte까지 파일명을 지원한다.
- 접근제어, inode 수정, 타임스탬프 수정 등의 기능이 불가능하다.
- 사용할수록 단편화가 심해진다.
MINIX 파일시스템의 한계를 보완해 만든 리눅스 최초의 파일시스템은 EXT(Extended File System)이다.
볼륨 크기를 2GB까지, 파일명을 255byte까지 늘렸지만 접근제어·inode 수정·타임스탬프 수정을 지원하지 못했고, 연결 리스트로 빈 블록을 관리해 쓸수록 단편화가 심해지는 결함 때문에 곧 ext2로 대체됐다.
- FAT16과 FAT32는 MS-DOS·Windows 계열 파일시스템이라 MINIX 보완과 무관하고 inode라는 개념 자체가 없다.
- NTFS는 저널링과 ACL 기반 접근제어, 압축·암호화까지 갖춘 Windows NT 계열 파일시스템이므로 "접근제어가 불가능하다"는 설명과 정면으로 어긋난다.
개체 액세스 감사는 특정 파일, 디렉터리, 레지스트리 키 같은 객체에 대한 접근 시도나 속성 변경을 탐지하는 기능이 맞다.
나머지 보기는 로그 종류와 설명이 서로 뒤바뀌어 있다.
- 사용자 권한 할당·감사·신뢰 정책의 변경을 기록하는 것은 계정 관리 감사가 아니라 정책 변경 감사의 역할이다.
- 권한 설정 변경이나 관리자 권한이 필요한 작업을 로깅하는 것은 정책 변경 감사가 아니라 권한 사용 감사의 역할이다.
- 시스템의 시작·종료나 보안 로그 삭제 등을 기록하는 것은 로그인 이벤트 감사가 아니라 시스템 이벤트 감사의 역할이다.
tcpwrapper의 설정파일의 내용이 다음과 같을 때, 어떤 현상이 발생하는가?
/etc/hosts.deny
All: All
/etc/hosts.allow
All: All
TCP Wrapper는 hosts.allow를 먼저 읽어 일치하면 그 자리에서 허용으로 판정을 끝내므로, 두 파일에 똑같이 "All: All"이 들어 있으면 결과는 모든 접속 허용이다.
판정 순서는 hosts.allow 일치 시 허용 → 불일치면 hosts.deny 일치 시 차단 → 양쪽 모두 불일치면 허용이다. 따라서 hosts.deny의 "All: All"은 앞 단계에서 이미 허용 결론이 났기 때문에 아예 평가되지 않는다.
차단을 의도했다면 hosts.deny에만 전체 거부를 두고 hosts.allow에는 허용할 대상만 한정해 적어야 하며, 지금처럼 양쪽을 모두 전체 허용으로 두면 거부 규칙이 무력화된다.
로그인 실패 정보는 wtmp가 아니라 btmp 파일에 기록되므로, 이를 wtmp의 특징으로 설명한 것은 옳지 않다.
wtmp는 성공한 로그인·로그아웃 기록과 시스템의 부팅·종료 이력을 바이너리 형태로 담고 있는 로그 파일이다.
- 사용자의 로그인·로그아웃 정보를 포함한다는 설명은 wtmp의 특징이 맞다.
- 바이너리 형태로 저장된다는 설명도 wtmp의 특징이 맞다.
- 시스템 종료 및 부팅 정보를 포함한다는 설명도 wtmp의 특징이 맞다.
다음 지문에서 설명하고 있는 것은?
리눅스에서 시스템 관리자가 응용프로그램들이 사용자를 인증하는 방법을 선택할 수 있도록 해주는 공유라이브러리 묶음으로 이것을 사용하는 응용프로그램을 재컴파일 하지 않고, 인증방법을 변경할 수 있다.
인증 로직을 응용프로그램에서 분리해 끼워 넣을 수 있는 공유 라이브러리 모듈로 제공하는 구조는 PAM(Pluggable Authentication Modules)이다.
login·su·sshd 같은 프로그램은 PAM API만 호출하고, 실제 인증 방식은 /etc/pam.d/ 아래 설정에서 pam_unix·pam_cracklib 등 모듈을 갈아 끼워 결정한다. 그래서 프로그램을 다시 컴파일하지 않고도 인증 방법을 교체할 수 있다.
- sudo는 일반 사용자가 지정된 명령을 관리자 권한으로 실행하게 해 주는 권한 위임 도구다.
- Shell script와 Batch file은 명령을 모아 실행하는 스크립트 파일일 뿐, 인증 프레임워크가 아니며 공유 라이브러리도 아니다.
Sticky bit가 부여된 디렉터리에서 기타 사용자의 실행 권한 표시는 x에서 t(또는 실행 권한이 없을 때 T)로 바뀌는 것이지 s로 바뀌는 것이 아니다.
s는 SetUID·SetGID에서 사용하는 표시이며, Sticky bit는 이와 구분되는 별도의 특수 권한 표시를 사용한다.
- SetGID가 부여된 파일에서 소유 그룹의 실행 권한이 x에서 s로 바뀐다는 설명은 옳다.
- SetUID가 부여된 파일에서 소유자의 실행 권한이 x에서 s로 바뀐다는 설명도 옳다.
- Sticky bit가 /tmp처럼 누구나 쓸 수 있는 디렉터리에서 다른 사용자의 파일이 함부로 삭제되는 문제를 막는다는 설명도 옳다.
파일 확장자와 이를 열 응용프로그램 간의 연결 정보를 담고 있는 윈도우 레지스트리 키는 HKEY_CLASSES_ROOT다.
이 키에는 확장자별 파일 형식(ProgID)과 그 형식을 실행할 프로그램 경로, 아이콘 등의 연결 정보가 저장되어 있어 파일을 더블클릭했을 때 어떤 프로그램으로 열릴지를 결정한다.
다음 지문에서 설명하는 것은?
이것은 실시간 트래픽 분석과 IP 네트워크상에서 패킷 로깅이 가능한 가벼운(Lightweight) 네트워크 침입탐지시스템이다. 또한 프로토콜 분석, 내용 검색/매칭을 수행할 수 있으며, 오버플로우, Stealth 포트스캔, CGI 공격, SMB 탐색, OS 확인 시도 등의 다양한 공격과 스캔을 탐지할 수 있다.
"가벼운(Lightweight) 네트워크 침입탐지시스템"이라는 표현은 Snort의 공식 소개 문구를 그대로 옮긴 것이다.
Snort는 룰(rule) 기반으로 패킷 헤더와 페이로드를 검사해 버퍼 오버플로우·Stealth 포트스캔·CGI 공격·SMB 탐색·OS 핑거프린팅 시도를 탐지하며, 스니퍼·패킷 로거·네트워크 침입탐지 세 가지 모드로 동작한다.
- wireshark는 캡처한 패킷을 사람이 분석하도록 보여 주는 프로토콜 분석기로, 공격 시그니처 룰 매칭 기능이 없다.
- tripwire는 파일의 해시를 기준선과 대조하는 호스트 기반 무결성 점검 도구다.
- iptables는 리눅스 커널의 패킷 필터링 방화벽으로 접근 차단이 목적이며 침입 탐지 기능은 수행하지 않는다.
빈칸 ㉠, ㉡에 들어갈 용어를 바르게 짝지은 것은?
( ㉠ ) 공격 기법이란 해커가 홈페이지를 해킹한 후, 취약점에 따른 ( ㉡ ) 코드가 있는 악성 스크립트를 은닉시키고 취약한 PC 환경의 이용자가 접속할 경우 악성코드가 다운로드 되는 공격 기법으로, 사용자의 개입 없이 접속만으로도 악성코드에 감염될 수 있다.
웹사이트에 악성 스크립트를 숨겨 두고 방문만 해도 악성코드가 내려받아지게 하는 기법이 Drive By Download이며, 그 스크립트가 브라우저·플러그인의 취약점을 파고드는 코드가 Exploit 코드다.
클릭이나 설치 같은 행위를 전혀 하지 않아도 페이지 접속만으로 감염된다는 지문의 마지막 문장이 이 기법의 정의 그 자체다.
- Web Shell은 침해한 서버에 올려 두고 공격자가 원격으로 명령을 내리는 스크립트로, 방문자를 감염시키는 수단이 아니다.
- Spear Phishing은 특정 대상에게 맞춤 메일을 보내 첨부파일이나 링크를 열게 하는 공격이라 "사용자의 개입 없이"와 맞지 않는다.
- File Upload 공격은 서버에 악성 파일을 직접 올려 실행시키는 서버 침해 기법으로, 홈페이지 방문자의 PC를 감염시키는 지문의 설명과 다르다.
- Fuzzing은 무작위·변형 입력을 대량 주입해 취약점을 찾아내는 시험 기법이지 악성 스크립트에 심는 코드가 아니다.
cron 테이블은 분 시 일 월 요일 순서로 실행 시각을 지정하며, 토요일은 요일 필드에서 6으로 표기한다.
매주 토요일 오전 10시 정각에 실행하려면 일과 월 필드는 특정 값을 지정하지 않는 * 로 두고, 분 필드에 0, 시 필드에 10, 요일 필드에 6을 넣어야 한다.
다음 지문에서 설명하고 있는 보안 기술은?
이 기술은 정보유출 사고들이 증가함에 따라 내부의 모든 문서의 중요한 자료에 대한 정보유출을 방지하기 위한 기술로, 매체제어(USB, 하드디스크 등), 통신규격 제어(블루투스, LTE 등)를 통해 기밀 자료가 유출되는 것을 막는 솔루션이다.
USB·하드디스크 같은 매체 제어와 블루투스·LTE 같은 통신 규격 제어로 내부 자료의 반출 경로를 차단하는 솔루션은 DLP(Data Loss Prevention)다.
DLP는 저장·전송되는 문서의 내용을 검사해 기밀로 판정되면 복사·전송·출력 자체를 막는, 유출 방지 관점의 기술이다.
- DRM은 문서를 암호화해 배포한 뒤 권한 있는 사용자만 열람·편집하도록 사용 권한을 통제하는 기술로, 반출 경로 차단이 아니라 파일 자체의 이용 통제가 목적이다.
- IPS는 외부에서 유입되는 공격 트래픽을 탐지·차단하는 침입방지시스템이다.
- Firewall은 IP·포트 단위의 접근통제 장비로 내부 자료의 내용을 판별하지 못한다.
디도스 공격의 유입 트래픽 자체를 확보하기 위해 사용하는 도구는 tcpdump다.
tcpdump는 네트워크 인터페이스를 지나는 패킷을 그대로 캡처해 저장하는 도구이며, argus나 tcpdstat 같은 도구는 이렇게 확보된 트래픽 데이터를 가공해 흐름 통계를 뽑아내는 분석 도구에 가깝다.
폭탄 메일이나 스팸 메일 차단은 NAC(Network Access Control)의 주요 기능에 해당하지 않는다.
NAC는 PC 및 네트워크 장치를 통제하고 접근제어·인증을 수행하며, 해킹·웜 등 유해 트래픽을 탐지·차단해 내부 네트워크 접근 자체를 관리하는 솔루션이다.
스팸이나 폭탄 메일을 걸러내는 기능은 메일 보안(스팸 필터링) 솔루션의 영역이지 네트워크 접근 통제의 영역이 아니다.
스머프 공격은 위조된 발신지 주소로 보낸 ICMP echo request를 서브넷 전체 호스트에 전달해 다수의 응답이 피해자에게 몰리게 하는 공격으로, 이때 라우터가 브로드캐스트 주소로 향하는 패킷을 서브넷 내부로 전달하도록 하는 설정이 바로 IP Directed Broadcast다.
라우터 인터페이스에서 이 기능이 켜져 있으면 외부에서 보낸 브로드캐스트 주소행 패킷이 해당 서브넷의 모든 호스트에 전달되어 증폭 공격이 가능해진다.
Signature-based Detection은 이미 알려진 공격 패턴(시그니처)과 일치하는지를 비교하는 방식이므로, 알려지지 않은 새로운 공격은 이 방식으로 탐지할 수 없다는 점이 옳지 않은 설명이다.
알려지지 않은 공격을 탐지하려면 정상 행위를 기준으로 삼아 벗어난 행위를 잡아내는 Anomaly Detection 방식이 필요하다.
- 문자열 비교로 패킷을 검사하는 방식이 Signature-based Detection의 일종이라는 설명은 옳다.
- Anomaly Detection이 정상 행위를 규정해 공격을 탐지한다는 설명도 옳다.
- 침입방지시스템이 침입자의 시스템·네트워크 사용을 능동적으로 차단할 수 있다는 설명도 옳다.
데이터 필터링과 축약은 방화벽의 핵심 기능과는 거리가 멀다.
방화벽은 정해진 규칙에 따라 트래픽을 허용·차단하는 접근제어, 통신 기록을 남기는 로깅과 감사추적, 사용자나 시스템을 확인하는 인증 기능을 수행하는 장비다.
대량의 데이터를 걸러내고 축약해 분석에 활용하는 작업은 로그 분석이나 침입탐지 체계의 영역에 가깝다.
다음 빈칸 ㉠에 들어갈 알맞은 용어는?
( ㉠ )는/(은) 산업제어시스템(Industrial Control System)에 대한 공정, 기반 시설, 설비를 바탕으로 한 작업공정을 감시하고 제어하는 컴퓨터 시스템으로, 최근 이를 대상으로 이루어진 사이버 공격으로 인해 전력공급체계 등 사회기반시설 운영에 피해가 발생하고 있다.
산업제어시스템의 공정과 설비를 원격에서 감시하고 제어하는 상위 컴퓨터 시스템은 SCADA(Supervisory Control And Data Acquisition)다.
현장의 센서·제어기에서 데이터를 수집해 중앙 HMI에 표시하고 제어 명령을 내려보내는 계층으로, 전력·상하수도·가스 같은 사회기반시설 운영의 핵심이라 사이버 공격의 표적이 된다.
- PLC는 현장 설비를 직접 구동하는 제어기로, 감시·수집을 총괄하는 시스템이 아니라 관리 대상이 되는 하위 장치다.
- Modbus는 제어기 사이에서 쓰이는 통신 프로토콜이다.
- Stuxnet은 이란 원심분리기 제어 설비를 노렸던 악성코드의 이름으로, 시스템이 아니라 공격 도구다.
IMAP의 잘 알려진 포트 번호는 134가 아니라 143이다.
134번 포트로 표기된 것은 실제 IMAP 서비스와 맞지 않는 잘못된 정보다.
- HTTPS가 443번 포트를 사용한다는 설명은 옳다.
- SMTP가 25번 포트를 사용한다는 설명도 옳다.
- FTP가 20, 21번 포트를 사용한다는 설명도 옳다.
다음 괄호에 들어갈 내용으로 올바르게 순서대로 나열한 것은?
DHCP에서는 전송계층으로 ( ㉠ ) 프로토콜을 사용하는데, 서버는 잘 알려진 ( ㉡ ) 포트를 사용하고, 클라이언트는 잘 알려진 ( ㉢ ) 포트를 사용한다.
DHCP는 전송계층에서 UDP를 사용하며, 서버가 67번, 클라이언트가 68번 포트를 쓴다.
주소를 아직 받기 전 단계라 클라이언트에 IP가 없고, DHCP DISCOVER를 0.0.0.0에서 255.255.255.255로 브로드캐스트해야 한다. 연결 설정(3-way handshake)이 필요한 TCP로는 이런 브로드캐스트가 불가능해 비연결형인 UDP를 쓴다.
포트 번호는 서버가 클라이언트보다 작은 번호(67 < 68)를 갖는다고 외우면 되고, DHCP가 BOOTP의 확장이라 BOOTP의 67·68을 그대로 물려받았다는 점도 함께 기억해 두면 좋다.
디도스 공격은 공격 대상 서버로 몰려드는 유입(인바운드) 트래픽이 폭증하는 현상이므로, 서버에서 밖으로 나가는 유출 트래픽을 샘플링해 분석하는 방법으로는 공격 발생 여부를 파악하기 어렵다.
디도스 공격을 인지하려면 들어오는 트래픽의 크기와 동시 접속 정보, 웹서버 접속 로그처럼 유입 방향의 지표를 살펴보는 것이 적절하다.
- 방화벽·IDS에서 유입 트래픽 크기를 조사하는 방법은 적절하다.
- 동시 접속정보의 평시 대비 증감율을 비교하는 방법도 적절하다.
- 웹서버 접속로그로 비정상 접속 증가 여부를 확인하는 방법도 적절하다.
다음 지문에서 설명하는 DDoS 공격은?
TCP/IP 스택(Stack) 자원을 소모하는 특징이 있으므로 소스 IP별로 PPS 임계치를 설정하거나 패킷 헤더 검사를 통해 정상적인 옵션 필드값을 갖지 않는 비정상 패킷을 차단한다.
회선 대역폭이 아니라 TCP/IP 스택의 연결 대기 큐(백로그)를 고갈시키는 공격은 SYN Flooding이다.
출발지 IP를 위조한 SYN을 대량으로 보내 서버를 SYN_RECEIVED 상태로 묶어 두는 방식이라, 대응도 소스 IP별 PPS 임계치 설정과 헤더 검사로 이뤄진다. 공격 도구가 생성한 SYN은 MSS·Window Scale 같은 정상적인 TCP 옵션 필드가 빠져 있어 헤더 검사만으로 걸러낼 수 있다.
- UDP Flooding과 ICMP Flooding은 큰 패킷을 쏟아부어 회선 대역폭을 소진시키는 공격이라 스택 자원 소모로 설명하지 않는다.
- Slow Header Flooding은 HTTP 헤더를 조금씩 나눠 보내 웹 서버의 연결을 오래 점유하는 응용계층 공격으로, TCP 연결 자체는 정상적으로 맺은 뒤 진행된다.
네트워크 기반 공격 기술 중 DDoS 공격의 설명으로 옳은 것은?
㉠ DDoS 공격이란 다수의 컴퓨터를 이용하여 특정 사이트를 공격하는 방식이다.㉡ DDoS 공격의 목표는 공격 대상 서버가 처리할 수 없는 과도한 접속(트래픽)을 유발하여 시스템을 마비시키는 것이다.
㉢ 일반적으로 좀비 PC들이 이 공격에 활용된다.
제시된 세 설명이 모두 옳다.
DDoS(Distributed Denial of Service)는 다수의 감염 PC를 동시에 동원해 특정 사이트를 공격하는 분산형 서비스 거부 공격이며, 목표는 정보 탈취가 아니라 서버가 감당하지 못할 접속과 트래픽을 유발해 서비스를 마비시키는 것이다.
이때 동원되는 감염 PC가 이른바 좀비 PC이고, 공격자는 C&C 서버를 통해 이들로 구성된 봇넷에 일제히 명령을 내린다. 단일 호스트에서 공격하는 DoS와 달리 출발지가 널리 분산돼 있어 차단이 어렵다는 점이 핵심 차이다.
윈도우 명령어는?
| 공유 이름 | 리소스 | 설명 |
|---|---|---|
| C$ | C:\ | 기본 공유 |
| D$ | D:\ | 기본 공유 |
| E$ | E:\ | 기본 공유 |
| IPC$ | 원격 IPC | |
| print$ | C:\WINDOWS\system32\spool\drivers | 프린터 드라이버 |
| ADMIN$ | C:\WINDOWS | 원격 관리 |
명령을 잘 실행했습니다.
화면은 공유 이름·리소스·설명 세 열로 이 컴퓨터가 제공 중인 공유 자원 목록을 출력하고 있으므로, 이 결과를 보여 주는 명령은 net share다.
목록의 C$·D$·E$는 각각 C:\·D:\·E:\에 대응하는 관리 목적 기본 공유이고, IPC$는 원격 IPC, ADMIN$는 C:\WINDOWS에 연결된 원격 관리 공유, print$는 C:\WINDOWS\system32\spool\drivers의 프린터 드라이버 공유다. 윈도우가 자동으로 만드는 숨은 공유라 이름 끝에 $ 가 붙는다.
나머지 명령과의 차이는 이렇다.
- net use는 원격 컴퓨터의 공유 자원을 내 드라이브 문자에 연결·해제하는 명령이라, 내가 제공 중인 공유 목록을 나열하지 않는다.
- net computer는 도메인에 컴퓨터 계정을 추가·삭제하는 명령으로 공유 자원과 무관하다.
slowloris 공격은 다수의 HTTP 연결을 맺어 헤더를 아주 느리게 전송하며 연결을 계속 점유하는 방식의 공격으로, IP 주소를 위조하는 기법과는 직접적인 관련이 없다.
반면 SYN Flooding, RST를 이용한 접속 끊기, 순서번호 추측은 모두 위조된 발신지 주소나 추측한 시퀀스 번호를 이용해 상대방을 속이는 IP Spoofing 계열의 공격 기법이다.
FTP의 기본 전송 모드는 액티브(active) 모드이며, 이를 패시브(passive) 모드로 전환할지는 FTP 클라이언트가 PASV 명령을 보내 결정한다.
서버가 임의로 모드를 바꾸는 것이 아니라, 방화벽이나 NAT 환경 때문에 클라이언트 쪽에서 필요에 따라 패시브 모드 사용을 요청하는 구조다.
TCP SYN 스캔은 포트가 열려 있을 때 대상 호스트가 SYN/ACK로 응답을 보내는 방식이어서, 응답이 없는 나머지 스캔 방식과 결과 확인 방법이 다르다.
NULL, FIN, XMAS 스캔은 모두 TCP 표준 동작을 이용한 스텔스 스캔으로, 포트가 열려 있으면 아무 응답도 오지 않고 닫혀 있을 때만 RST 응답이 오는 방식이라 서로 동일한 패턴을 보인다.
WPA2의 CCMP 모드에서 무선 구간 데이터를 암호화하는 데 사용되는 알고리즘은 AES다.
CCMP는 AES를 카운터 모드(CTR)와 CBC-MAC 기반의 메시지 인증을 결합해 구현한 방식으로, 이전 세대인 WPA/TKIP가 RC4 계열을 사용한 것과 대비된다.
⚠️ 이 문항은 원본 출처에서 문제 또는 보기 내용이 정확하지 않다고 밝힌 문항입니다. 지문이 원래 시험 문제와 다를 수 있으니 개념 확인용으로만 활용하시기 바랍니다.
실제 시스템과 격리된 가상 환경을 만들어 그 안에서 의심스러운 프로그램을 실행시키고, 시스템에 피해를 주지 않은 채 동작을 관찰·분석하는 기법은 샌드박스(Sandbox)다.
알려지지 않은 악성코드는 이미 알려진 패턴 비교만으로 걸러내기 어렵기 때문에, 샌드박스에서 직접 실행시켜 파일 생성, 레지스트리 변경, 외부 통신 같은 실제 행위를 확인하는 방식으로 판별한다.
- 휴리스틱 분석은 코드의 구조나 명령 패턴에서 악성 가능성을 추정하는 기법이다.
- 위협 프로파일링은 공격 주체와 수법, 공격 대상 등을 정리해 위협 상황을 분석하는 활동이다.
- 인젝터는 악성코드를 다른 프로세스나 시스템에 주입·설치하는 역할을 하는 구성요소다.
다음 지문이 설명하는 컴퓨팅 기술은? <17.10회.기사>
기존 기술에 없었던 가상화와 공유 및 임대 서비스 등은 시스템 체계 및 네트워크 체계에 큰 변화를 예고하고 있다. 컴퓨팅 서비스로 IaaS, PaaS, SaaS 등이 대표적이다.
가상화를 바탕으로 자원을 공유·임대하고 IaaS·PaaS·SaaS 형태로 제공하는 컴퓨팅 기술은 클라우드 컴퓨팅이다.
지문이 예로 든 IaaS(인프라)·PaaS(플랫폼)·SaaS(소프트웨어)는 클라우드 서비스 모델을 나누는 표준 구분이다. 서버·스토리지·네트워크를 가상화해 두고 필요한 만큼만 빌려 쓰는 임대형 과금이 이 기술의 핵심이다.
나머지 후보는 서비스 제공 형태가 아니라 통신 주체 사이의 역할 구조를 가리키는 말이다.
- 클라이언트/서버는 요청자와 제공자를 분리한 구조, 피어 투 피어는 단말끼리 대등하게 주고받는 구조다.
- 마스터/슬레이브는 한쪽이 다른 쪽을 제어하는 종속 구조로, 가상화나 임대 서비스 개념과는 관계가 없다.
빈 칸에 들어갈 용어를 바르게 짝지은 것은?
802.11 무선 표준에서는 무선랜의 구성에 따라 2개의 구성유형이 제시되고 있다. 첫 번째는 ( ㉠ ) 모드로 무선 AP와 무선 단말기로 구성되는 방식과, 두 번째는 무선 단말기 사이에 직접 통신이 이뤄지는 ( ㉡ ) 모드이다.
무선 AP를 거쳐 통신하는 구성이 Infrastructure(㉠) 모드, AP 없이 단말끼리 직접 통신하는 구성이 Ad Hoc(㉡) 모드다.
IEEE 802.11은 무선랜 구성을 이 두 가지로만 규정한다. Infrastructure 모드는 AP가 만든 BSS에 단말이 결합해 유선망까지 이어지고, Ad Hoc 모드는 AP 없이 단말만으로 IBSS를 구성한다.
나머지 용어는 802.11이 말하는 구성 유형의 이름이 아니다.
- WLAN은 무선랜 기술 전체를 가리키는 상위 용어이고, VPN은 공중망 위에 암호화 터널을 만드는 별개의 기술이다.
- Broadcast는 전송 방식, Peer to Peer는 응용 수준의 대등 통신 모델이라 표준이 정의한 구성 유형과 층위가 다르다.
다음 지문에서 설명하고 있는 공격은?
FTP 서버에 PORT 명령을 전송하여 서버로 하여금 공격 대상 호스트에 접속하게 하는 공격
공격자 호스트의 IP를 숨긴 채 공격 대상 호스트의 포트를 모두 조사하는 데 사용될 수 있음
FTP의 PORT 명령을 악용해 서버가 제3의 호스트로 데이터 연결을 맺게 만드는 공격은 FTP bounce attack이다.
능동 모드 FTP에서 클라이언트는 PORT 명령으로 데이터 연결을 받을 IP와 포트를 직접 지정하는데, 이 값에 공격 대상 주소를 넣으면 FTP 서버가 대신 그 호스트에 접속한다. 접속 출발지가 FTP 서버이므로 공격자 IP는 드러나지 않고, 포트마다 돌아오는 성공·실패 응답으로 대상 포트를 훑을 수 있다.
결과만 보면 포트 스캔과 비슷하지만, 스캔 행위 자체가 아니라 FTP 서버를 경유(bounce)시키는 것이 이 기법의 정의다. 송신 주소를 위조하는 IP Spoofing 과도 달리, 주소를 조작하지 않고 정상 PORT 명령을 그대로 이용한다.
디지털 증거 수집·조사의 5원칙은 정당성의 원칙(적법한 절차로 수집), 무결성의 원칙, 재현의 원칙, 신속성의 원칙, 연계보관성의 원칙(증거의 이동·보관 이력 유지)이다.
'기밀성의 원칙'은 이 5원칙에 포함되지 않는 명칭이므로, 수집 증거를 허가된 대상에게만 제공해야 한다는 서술을 포렌식 조사 원칙으로 제시한 항목이 틀렸다.
위·변조되지 않았음을 증명해야 하는 무결성, 같은 조건에서 항상 같은 결과가 나와야 하는 재현, 전 과정을 지체 없이 진행해야 하는 신속성은 모두 실제 정의와 일치한다.
파밍(Pharming) 공격은 도메인을 탈취하거나 DNS 정보를 조작해, 사용자가 정확한 주소를 입력해도 가짜 사이트로 연결되도록 유도하는 공격이다.
- 피싱 공격은 이메일·메신저로 가짜 사이트 링크를 보내 접속을 유도하는 방식으로 DNS 조작이 핵심은 아니다.
- 스피어 피싱 공격은 특정 개인·조직을 표적으로 한 맞춤형 피싱이다.
- 워터링 홀 공격은 표적이 자주 방문하는 정상 사이트를 미리 감염시켜 놓고 기다리는 방식이다.
따라서 도메인·DNS를 직접 조작해 가짜 사이트로 유도한다는 점이 이 공격을 다른 선택지와 구분 짓는 핵심이다.
액티브 콘텐츠(Active contents) 공격은 ActiveX·자바스크립트 등 HTML 기반 실행 콘텐츠를 처리하는 클라이언트나 웹브라우저를 표적으로 악성 코드를 실행시키는 이메일 공격 기법이다.
- 버퍼 오버플로 공격은 메모리 처리 취약점을 이용하는 공격으로 HTML 콘텐츠 자체가 핵심은 아니다.
- 스팸메일 공격은 대량 발송을 통한 시스템 부담·피싱 유도가 목적이다.
- 트로이목마 공격은 정상 프로그램으로 위장한 첨부파일 실행을 유도하는 방식이다.
즉 HTML 실행 콘텐츠를 처리하는 브라우저 환경 자체를 노린다는 점이 액티브 콘텐츠 공격의 핵심이다.
FTP 보안 권고에서는 평문 인증을 쓰는 일반 FTP 대신 SFTP·FTPS 같은 보안 강화 프로토콜을 사용해야 한다.
TFTP(Trivial FTP)는 인증 절차 자체가 없는 프로토콜이라 보안 대체재로 권장할 수 없으므로, Secure FTP와 나란히 Trivial FTP를 권장하는 설명이 부적절하다.
관리자 외 읽기권한만 부여, 연결시간 제한, 중요 문서 미저장은 모두 실제 FTP 보안 지침에 해당한다.
포맷 스트링 취약점은 printf 계열 함수에 사용자 입력이 그대로 형식 문자열로 들어갈 때 발생하며, %x로 메모리를 읽고 %n으로 메모리를 변조해 임의 코드 실행까지 이어질 수 있는 메모리 조작형 취약점이다.
프로세스 권한 상승은 이런 메모리 열람·변조·코드 실행이 성공한 뒤에 나타날 수 있는 부차적 결과일 뿐, 포맷 스트링 취약점이 직접 일으키는 동작은 아니어서 가장 거리가 멀다.
메모리 내용 변경, 프로세스 메모리 보기, 임의의 코드 실행은 모두 실제 포맷 스트링 공격이 직접 유발하는 전형적 결과다.
XSS(교차 사이트 스크립팅)는 악성 스크립트를 파라미터 값이나 게시글에 삽입해, 이를 열람하는 사용자의 브라우저에서 검증 없이 실행되게 하는 공격이다.
- 파일명 필터링 미비로 인한 다운로드 취약점은 경로 조작을 이용한 파일 다운로드 취약점 설명이다.
- 통신 내용을 도청·조작하는 설명은 스니핑·중간자 공격에 해당한다.
- DB로 스크립트를 전송해 반응을 이용하는 설명은 SQL 인젝션에 해당한다.
즉 스크립트가 사용자 브라우저에서 검증 없이 실행된다는 점이 XSS를 규정하는 핵심 조건이다.
웹 브라우저가 도메인 주소로 IP를 얻는 순서는 브라우저 캐시 확인 → hosts 파일 확인 → 로컬 DNS 서버 질의 순이다.
이미 방문한 사이트라면 캐시를 먼저 참조하고, 캐시에 없으면 시스템의 hosts 파일에서 매핑을 찾은 뒤, 그래도 없으면 비로소 로컬 DNS 서버에 질의해 IP를 받아온다.
SET(Secure Electronic Transaction)에서 주문정보 해시와 지불정보 해시를 결합해 다시 해시한 뒤 고객의 개인키로 서명하는 절차를 이중 서명(Dual Signature)이라 한다.
이중 서명 덕분에 상점은 지불정보의 구체적 내용은 볼 수 없으면서도, 주문정보와 지불정보가 서로 연결되어 있음을 검증할 수 있다.
Spectre는 CPU가 성능 향상을 위해 쓰는 추측 실행(speculative execution)과 캐시 기능을 악용해, 프로세스 경계를 넘어 메모리 내용을 간접적으로 유추해내는 부채널 공격이다.
Merkle tree는 해시 트리 자료구조, man-in-the-middle은 통신 중간에서 가로채는 공격, covert channel은 정상 경로를 우회해 은밀히 정보를 전달하는 채널로 CPU 캐싱·추측 실행과는 직접 관련이 없다.
SQL 인젝션 대응의 기본 원칙은 최소 권한 부여다. DB 애플리케이션 계정에는 업무에 필요한 최소한의 권한만 주어야 인젝션이 성공해도 피해를 줄일 수 있다.
따라서 접근권한을 최대한 허용하는 것은 오히려 피해를 키우는 방향이라 효과적인 대응책이 될 수 없다.
내장 프로시저 사용, ODBC 에러 메시지 은닉, 입력 파라미터 검증은 모두 실제로 권장되는 SQL 인젝션 대응책이다.
다음에서 설명하는 웹 서비스 공격은?
공격자가 사용자의 명령어나 질의어에 특정한 코드를 삽입하여 DB 인증을 우회하거나 데이터를 조작한다.
질의어에 코드를 끼워 넣어 DB 인증을 우회하고 데이터를 조작하는 공격은 SQL Injection이다.
응용프로그램이 사용자 입력을 그대로 이어 붙여 질의문을 만들면, 입력에 섞인 따옴표·논리연산자·주석 기호가 질의문의 구조 자체를 바꿔 버린다. 그 결과 항상 참이 되는 조건으로 로그인 인증을 통과하거나 테이블 내용을 읽고 변조할 수 있다.
다른 후보와는 이렇게 갈린다.
- Cross Site Scripting은 DB가 아니라 피해자 브라우저에서 스크립트를 실행시키고, Cross Site Request Forgery는 인증된 사용자의 권한으로 원치 않는 요청을 보내게 만든다.
- 직접 객체 참조는 파라미터의 식별자를 바꿔 남의 자원에 접근하는 권한 검증 누락 문제로, 질의문에 코드를 삽입하는 것과 다르다.
다음 지문에서 설명하는 공격 기법은?
이것은 보안장비에서 사용하는 도메인네임 기반 탐지/차단을 우회하기 위하여 사용하는 기법으로 희생자를 악성코드 유포서버에 접속시키고자 유도할 때, 바로 악성코드 유포서버로 접속시키지 않고, 먼저 중간 단계의 서버에 접속시킨 다음, 그곳으로부터 악성코드 유포서버로 접속시키는 기법을 사용한다. 이때 중간 단계의 서버 및 유포 서버를 지정할 때 사용되는 기법이다.
탈취한 등록 계정으로 정상 도메인 아래에 하위 도메인을 만들어 경유지와 유포지를 지정하는 기법은 도메인 섀도잉(Domain Shadowing)이다.
보안장비는 도메인 이름과 평판을 기준으로 탐지·차단하므로, 공격자는 평판이 좋은 정상 도메인의 관리 계정을 훔쳐 임의의 서브도메인을 대량으로 만들어 쓴다. 지문처럼 희생자를 중간 서버로 먼저 보낸 뒤 유포 서버로 넘길 때, 그 두 주소를 모두 정상 도메인의 서브도메인으로 지정해 차단을 피한다.
혼동하기 쉬운 기법과는 이렇게 구분한다.
- DNS Spoofing은 질의 응답을 위조해 엉뚱한 IP를 돌려주는 공격이고, DNS Zone transfer는 영역 정보를 통째로 얻어 내는 정보수집 행위다.
- Fast Flux Hosting은 도메인은 그대로 두고 대응 IP를 짧은 주기로 계속 바꾸는 방식이라, 도메인 이름 자체를 새로 만들어 내는 섀도잉과 다르다.
WIM(Wireless Identity Module)은 무선 환경(WAP)에서 인증·전자서명에 쓰이는 보안 모듈로, 보안 프로토콜인 WTLS의 인증·키 관리와 연계되어 동작하도록 설계되었다. 따라서 'WIM은 WTLS와 연계하여 사용할 수 없다'는 설명이 틀렸다.
WIM이 사용자 식별·인증에 필요한 정보를 저장·관리하는 모듈이라는 것, USIM이 개인 이동성과 서비스 이동성을 겸비한 이동통신용 스마트카드라는 것, USIM이 ME(Mobile Equipment)와의 인터페이스에 T=0 통신 프로토콜을 쓴다는 것은 모두 맞는 내용이다.
SSL은 핸드셰이크·암호규격변경·Alert·Record 네 가지 프로토콜로 구성되며, 통신 중 오류나 이상 상황을 상대방에게 알리는 역할은 Alert 프로토콜이 담당한다.
핸드셰이크 프로토콜은 세션 협상, 암호규격변경 프로토콜은 합의된 암호 규격 적용 시점 통지, Record 프로토콜은 실제 데이터의 암호화·전송을 담당해 서로 역할이 다르다.
RADIUS는 원격 접속 사용자에 대한 인증·인가·과금(AAA)을 처리하는 프로토콜로, 한 번의 인증으로 여러 서비스에 접근하는 SSO(Single Sign-On) 방식과는 목적이 다르다.
SPNEGO, Kerberos, SESAME은 모두 한 번의 인증으로 여러 시스템에 접근할 수 있게 하는 대표적인 SSO 관련 기술이다.
HTTP/2를 TLS 위에서 사용할 때(h2) 대부분의 구현은 보안을 위해 TLS 1.2 이상을 요구하며 TLS 1.0/1.1 조합은 사실상 지원하지 않으므로, 'TLS 1.0 이상이면 된다'는 설명은 틀렸다.
SSL/TLS가 메시지의 기밀성·무결성을 보장한다는 것, Null cipher suite가 암호화를 제공하지 않는다는 것, SSL 2.0/3.0이 취약해 더 이상 쓰지 않는 것이 좋다는 설명은 모두 맞는 내용이다.
다음 지문에서 설명하는 테스트 방식은?
모의해킹 중 프로그램 내부 구조에 대한 타당성 여부를 시험하는 방식으로 프로그램 내부 구조를 분석하여 프로그램의 모든 처리 루틴을 테스트 하는 방식
프로그램 내부 구조를 분석해 모든 처리 루틴을 시험하는 방식은 화이트박스 테스트다.
소스코드와 내부 로직을 아는 상태에서 수행하므로 분기·경로·조건을 기준으로 커버리지를 따질 수 있고, 모의해킹에서는 설계·구현 정보를 제공받은 상태의 점검이 여기에 해당한다.
나머지와의 차이는 다음과 같다.
- 블랙박스 테스트는 내부 구조를 모르는 상태에서 입력과 출력만 비교해 타당성을 확인한다.
- 코드 리뷰는 실행 없이 코드를 읽어 결함을 찾는 정적 점검이고, 시스템 하드닝은 시험이 아니라 불필요한 서비스·계정을 제거하는 보안 강화 조치다.
IRC(Internet Relay Chat)는 실시간 채팅을 위한 프로토콜로 이메일과는 관련이 없다.
S/MIME은 이메일 암호화·서명 표준, IMAP과 SMTP는 각각 메일 수신·발신에 쓰이는 대표적인 이메일 프로토콜이다.
HTTP 401 상태 코드의 정식 명칭은 Unauthorized(인증되지 않음)이며 'Authorized'가 아니다.
400 Bad Request, 403 Forbidden, 404 Not Found는 모두 표준 명칭과 일치하는 정확한 설명이다.
MAC(메시지 인증 코드)은 송신자와 수신자가 공유한 비밀키로 생성하므로 메시지의 무결성과 발신처 인증은 제공하지만, 부인 방지(non-repudiation)는 제공하지 못한다.
전자서명은 서명자만 아는 개인키로 생성되어 부인 방지까지 보장하므로, MAC이 전자서명과 동일한 보안 서비스를 준다는 설명은 틀렸다.
MAC 값이 메시지와 공유키를 함께 해시해 계산된다는 것, 검증 성공 시 무결성·출처를 확인할 수 있다는 것, 해시값만 쓸 때보다 변조 위협에 강하다는 설명은 모두 맞다.
BLP(Bell-LaPadula) 모델은 군사적 보안 등급 체계를 기반으로 한 기밀성 보호에 초점을 맞춘 접근통제 모델이며, 무결성 보호가 목적인 모델은 별도로 Biba 모델이다. 따라서 BLP의 목적을 비밀성과 무결성 둘 다로 설명한 것은 틀렸다.
보안 레이블에 의한 접근 통제, write 시 적용되는 *(star) 규칙, read 시 적용되는 simple security 규칙에 대한 설명은 모두 BLP의 실제 규칙과 일치한다.
다음 지문에서 설명하는 대칭키 암호 공격방식은?
일종의 선택된 평문공격법으로 두 개의 평문 블록들의 비트의 차이에 대하여 대응되는 암호문 블록들의 비트의 차이를 이용하여 사용된 비밀키를 찾아내는 방법이다.
두 평문 블록의 비트 차이가 암호문 블록의 차이로 어떻게 이어지는지를 이용해 키를 찾는 선택 평문 공격은 차분 공격(Differential Cryptanalysis)이다.
공격자는 차이가 정해진 평문 쌍을 직접 골라 암호화시킨 뒤, 라운드를 지나도 특정 차분이 높은 확률로 살아남는 성질을 관찰해 라운드 키 후보를 좁힌다. 지문의 '선택된 평문'과 '비트의 차이'가 바로 이 기법을 가리키는 단서다.
다른 분석법과는 이렇게 구분된다.
- 선형 공격은 차이가 아니라 평문·암호문·키 비트 사이의 선형 근사식이 성립할 확률의 치우침을 이용하며, 보통 알려진 평문 공격으로 수행된다.
- 전수 공격은 가능한 키를 모두 대입할 뿐 암호 구조의 성질을 쓰지 않고, 통계적 분석은 암호문의 빈도 편향을 보는 더 일반적인 접근이다.
A5는 GSM 이동통신에서 음성 트래픽을 암호화하는 스트림 암호 알고리즘으로, 전자서명과는 관련이 없다.
DSA, KCDSA, ECDSA는 모두 공개키 기반의 대표적인 전자서명 알고리즘이다.
일회용 패스워드 생성방식은?
- 사용자가 OTP 인증 요청 시 인증서버로부터 받은 질의값을 직접 OTP 토큰에 입력하여 응답값(난수 형태)을 생성한다.
- OTP 토큰과 인증서버 간에 동기화해야 할 기준 정보가 없기 때문에, 동기화할 필요가 없다.
- 사용자와 서버 간에 상호 인증을 제공하는 방식으로 쉽게 확장이 가능하다.
- 인증서버도 해당 사용자의 질의값을 관리해야 하는 부담이 있다.
인증서버가 보낸 질의값을 사용자가 토큰에 입력해 응답값을 만들어 내는 OTP 생성 방식은 질의/응답(Challenge-Response) 방식이다.
맞출 기준 정보가 없어 시각이나 계수값을 동기화할 필요가 없고 상호 인증으로 확장하기 쉬운 반면, 사용자가 질의값을 손으로 입력해야 하고 인증서버도 사용자별 질의값을 관리해야 하는 부담이 지문에 그대로 나열돼 있다.
나머지 방식은 모두 동기화를 전제로 한다는 점에서 지문과 어긋난다.
- 시간 동기화 방식은 현재 시각을, 이벤트 동기화 방식은 인증 횟수(계수값)를 토큰과 서버가 같은 값으로 유지해야 한다.
- S/KEY 방식은 초기 비밀값에 해시를 반복 적용해 만든 패스워드를 역순으로 사용하는 방식이라, 매번 질의값을 받아 입력하지 않는다.
ElGamal 암호는 이산대수 문제를 기반으로 하며, 이 문제를 타원곡선 위의 연산으로 치환하면 그대로 타원곡선 암호(ECC)로 확장할 수 있는 구조다.
Rabin과 RSA는 소인수분해 문제를 기반으로 해 타원곡선으로 대체하기 적합하지 않고, HIGHT는 애초에 공개키가 아닌 대칭키(경량 블록 암호) 알고리즘이다.
사용자 인증방식 중 동일한 기술로 바르게 짝지어진 것은?
㉠ 홍채㉡ 스마트 카드
㉢ OTP
㉣ 음성
㉤ 지문
㉥ USB 토큰
홍채·음성·지문은 생체인식(존재 기반)이고, 스마트 카드·OTP·USB 토큰은 소유 기반 하드웨어 토큰이라 두 무리로 갈린다.
생체인식은 사람의 신체적·행동적 특징을 등록해 둔 값과 비교하는 기술이다. 홍채·지문은 신체 특징, 음성은 행동 특징이라는 차이만 있을 뿐 측정한 특징으로 본인을 확인한다는 원리가 같다.
반면 스마트 카드·OTP 토큰·USB 토큰은 사용자가 물리적으로 지니는 장치가 비밀키나 일회용 값을 만들어 내는 방식이어서, 장치를 잃어버리면 인증 수단 자체를 잃는다는 성질을 공유한다.
강제적 접근통제(MAC)는 보안관리자가 정한 정책에 따라 중앙 집중적으로 접근을 통제하고, 사용자와 데이터 모두에 보안 등급(보안 레이블)을 부여해 규칙 수가 적고 통제가 용이한 것이 특징이다.
반면 '이직률이 높은 기업에 적합'하다는 것은 사람이 아니라 직무·역할 단위로 권한을 묶어 담당자가 바뀌어도 권한을 그대로 승계시킬 수 있는 역할기반 접근통제(RBAC)의 장점이므로, MAC의 특징과는 가장 거리가 멀다.
인증서 폐지 요청은 소유자 본인뿐 아니라 인증기관(CA)이나 등록기관(RA) 등 권한을 가진 주체도 할 수 있어, '소유자에 의해서만 가능하다'는 설명은 틀렸다.
CRL로 폐지된 인증서 목록을 공개·보관하는 것, 폐지 목록을 주기적 또는 실시간으로 생성할 수 있는 것, OCSP로 실시간 유효성 검증을 하는 것은 모두 실제 인증서 관리 방식과 일치한다.
RC4는 바이트 단위로 키스트림을 생성해 XOR 하는 스트림 암호이며, 고정 크기 블록 단위로 암호화하는 블록 암호가 아니다.
3DES, AES, SEED는 모두 고정된 블록 단위로 데이터를 처리하는 대표적인 블록 암호 알고리즘이다.
안전한 해시함수는 제2 역상 저항성(2nd-preimage resistance)을 만족해야 하므로, x1과 h(x1)을 알고 있어도 h(x1)=h(x2)를 만족하는 다른 x2를 찾는 것은 계산적으로 어려워야 한다. 따라서 '용이하다'는 설명은 틀렸다.
임의 길이 입력을 고정 길이로 출력하는 것, 결과값에서 입력값을 역산하기 어려운 것(역상 저항성), 서로 다른 x1≠x2에 대해 h(x1)=h(x2)를 찾기 어려운 것(충돌 저항성)은 모두 안전한 해시함수의 실제 요구 성질이다.
AES는 미국 NIST가 공모·표준화한 블록 암호로, 국내에서 개발된 알고리즘이 아니다.
ARIA와 SEED는 국내에서 개발된 표준 블록 암호이고, LEA는 국내에서 개발된 경량 블록 암호로 모두 국산 암호 알고리즘에 해당한다.
재전송(replay) 공격을 막는 대표적인 방법은 순서번호, 타임스탬프, 비표(nonce)처럼 매번 다른 값을 메시지에 포함시켜 이전 메시지의 재사용을 탐지하는 것이다.
CBC는 블록 암호의 운영 모드일 뿐, 메시지 재전송 여부를 판별하는 값을 제공하지 않으므로 재전송 공격 방지책으로는 적절하지 않다.
다음 지문에서 설명하고 있는 접근통제 모델은?
- 허가되지 않은 방식의 접근을 방지하는 모델이다.
- 정보흐름 모델 최초의 수학적 모델이다.
- 주체는 보다 높은 보안 수준의 데이터를 읽을 수 없다.
정보흐름 모델 최초의 수학적 모델이면서 주체가 자신보다 높은 등급의 데이터를 읽지 못하게 하는 접근통제 모델은 벨-라파듈라(BLP) 모델이다.
군사 기밀의 기밀성을 지키려고 만들어진 모델로, 높은 등급을 읽지 못하게 하는 No Read Up과 낮은 등급에 쓰지 못하게 하는 No Write Down 두 규칙으로 정보가 아래로 새는 흐름을 막는다.
다른 모델과는 이렇게 구분된다.
- 비바 모델은 방향이 반대인 무결성 모델이라 낮은 등급 데이터를 읽지 못하게 하고, 클락-윌슨 모델은 잘 짜인 트랜잭션과 직무분리로 상용 환경의 무결성을 다룬다.
- 상태머신 모델은 시스템이 언제나 안전한 상태로만 전이하도록 규정하는 상위 개념으로, 등급 간 읽기·쓰기 방향 자체를 정의하지 않는다.
CRL(인증서 폐지 목록)은 폐지되어 더 이상 유효하지 않은 인증서 목록을 게시해, 인증서의 유효성을 확인하는 것이 주된 기능이다.
PKI는 인증서 발급·관리 체계 전체를 가리키는 개념이고, CA는 인증서를 발급하는 기관, RA는 신원 확인 등록 업무를 대행하는 기관으로 각각 역할이 다르다.
FDS(이상금융거래 탐지시스템)는 거래 패턴을 분석해 이상 징후가 발생했는지 감시·식별하는 역할을 하므로 탐지 통제에 해당한다.
예방 통제는 사고 자체를 막는 사전 조치, 교정 통제는 발견된 문제를 바로잡는 조치, 복구 통제는 피해 발생 후 원상 복구를 위한 조치로 FDS의 탐지 기능과는 성격이 다르다.
생체인증 특성의 표준 요구사항은 보편성(누구나 보유), 유일성(개인마다 고유), 지속성(시간이 지나도 변하지 않음), 획득 용이성 등이다.
'시간의존성'은 생체 정보가 시간에 따라 달라진다는 뜻으로, 안정적 인증을 위해 요구되는 지속성과 오히려 반대되는 개념이라 생체인증 요구 특성에 해당하지 않는다.
RC4는 키스트림을 생성해 평문과 XOR 하는 스트림 암호 방식이라, 고정 블록 단위로 처리하는 블록 암호로 분류되지 않는다.
3DES, AES, SEED는 모두 정해진 블록 크기로 데이터를 나눠 암호화하는 대표적인 블록 암호다.
인가된 사용자가 필요할 때 정보자산에 문제없이 접근해 업무를 수행할 수 있도록 보장하는 정보보호 요소는 가용성(availability)이다.
기밀성은 인가되지 않은 자의 접근·노출을 막는 것, 무결성은 정보가 변조되지 않고 정확함을 유지하는 것, 인증성은 신원을 확인하는 것으로 각각 목적이 다르다.
CAPTCHA는 사람만 풀 수 있고 자동화된 프로그램은 풀기 어려운 문제(왜곡된 문자·이미지 등)를 제시해, 접속 주체가 실제 사람인지 봇인지 구별하는 데 쓰인다.
무결성 점검 도구는 파일 변조 여부 확인, PKI는 인증서 기반 공개키 인프라, 전자서명은 신원 확인·부인 방지를 위한 서명 기술로 목적이 다르다.
다음 빈 칸에 들어가야 할 내용으로 올바르게 나열된 것은?
정보보호관리를 이행하기 위해서 조직은 ( ㉠ ) 및 조직수립, 범위설정 및 ( ㉡ ), ( ㉢ ), 구현, 사후관리활동으로 구성된 5단계의 논리적이고 체계적인 정보보호관리 ( ㉣ )를 수립하고, 기획, 관리하여야 한다.
빈칸에는 차례로 정보보호 정책 · 정보자산 식별 · 위험관리 · 프레임워크가 들어간다.
지문이 말하는 5단계는 정책 및 조직 수립 → 범위설정 및 정보자산 식별 → 위험관리 → 구현 → 사후관리로 이어지며, 이 순환 구조 전체를 묶어 부르는 이름이 정보보호관리 프레임워크다.
보호할 자산을 먼저 식별해야 그 자산의 위협·취약점을 따지는 위험관리가 성립하므로 두 단계의 순서는 바뀔 수 없다. 취약점은 위험관리 과정에서 평가되는 요소일 뿐 독립된 단계가 아니어서 빈칸에 들어갈 수 없다.
정보자산에 대한 위협·취약점을 분석해 비용 대비 적절한 대책을 마련하고, 남은 위험을 감내할 수 있는 수준으로 유지하는 일련의 과정을 위험관리(risk management)라 한다.
업무 연속성 계획은 장애·재해 발생 시 업무를 지속시키기 위한 계획, 정책과 절차는 조직의 보안 규범 문서, 탐지 및 복구 통제는 사고 발생 후 대응 활동으로 위험관리의 하위 요소이거나 별개 개념이다.
「정보통신망 이용촉진 및 정보보호 등에 관한 법률」은 해킹·컴퓨터바이러스·논리폭탄·메일폭탄·서비스 거부·고출력 전자기파 등으로 정보통신망이나 관련 정보시스템을 공격해 발생한 사태를 침해사고로 정의한다(출제 당시 기준 조문).
보안사고·물리적 공격·사이버 공격은 일상적으로 쓰이는 일반 용어일 뿐, 해당 법률이 정의하는 법정 용어는 아니다.
자산 가치 평가의 대상에는 하드웨어·소프트웨어뿐 아니라 데이터베이스, 계약서 같은 문서, 유지보수 인력까지 조직이 보호해야 할 자산으로 폭넓게 포함된다. 따라서 이런 항목들이 평가 범위에서 제외된다는 설명은 틀렸다.
위험 수용·회피·전가 같은 처리 방안, 구입·유지보수 비용을 고려한 가치 평가, 소유자·책임소재 지정을 통한 책임추적성 확보는 모두 실제 위험 분석의 올바른 설명이다.
프로젝트의 범위·설정·기획 → ( ㉠ ) → ( ㉡ ) → ( ㉢ ) → 프로젝트의 수행 테스트 및 유지 보수
빈칸에는 순서대로 사업영향평가 → 복구전략 개발 → 복구계획 수립이 들어간다.
BCP 5단계 방법론은 '프로젝트의 범위 설정 및 기획 → 사업영향평가(BIA) → 복구전략 개발 → 복구계획 수립 → 프로젝트의 수행 테스트 및 유지보수' 순으로 진행된다. 지문의 첫 단계가 기획, 마지막 단계가 수행 테스트 및 유지보수이므로 가운데 세 칸이 나머지 세 단계에 해당한다.
순서의 근거는 업무 중요도와 목표복구시간을 먼저 산정해야(BIA) 그에 맞는 복구전략을 고를 수 있고, 전략이 정해져야 구체적인 절차서인 복구계획을 문서화할 수 있다는 점이다. 따라서 복구계획 수립이 사업영향평가나 복구전략 개발보다 앞서는 배열은 성립하지 않는다.
이것은 정보보호 및 개인정보보호를 위한 일련의 조치와 활동이 인증기준에 적합함을 한국인터넷진흥원 또는 인증기관이 증명하는 제도이다.
지문은 정보보호 및 개인정보보호 관리체계 인증(ISMS-P)의 정의다.
결정적인 단서는 '정보보호 및 개인정보보호를 위한 일련의 조치와 활동'이라는 표현이다. 정보보호 영역만 인증하면 정보보호 관리체계 인증이고, 여기에 개인정보 수집부터 파기까지의 보호조치를 더해 인증하면 ISMS-P가 된다.
나머지는 성격이 다르다.
- 정보보호 관리체계 인증: 개인정보보호 영역이 빠져 있어 지문의 '개인정보보호' 부분을 설명하지 못한다.
- 개인정보보호 관리체계(PIMS): 2018년 정보보호 관리체계 인증과 통합되어 ISMS-P로 흡수된 옛 제도다.
- 공통평가기준(CC): 관리체계가 아니라 IT 제품·시스템의 보안기능을 평가·인증하는 국제표준이다.
정보통신서비스 제공자의 정보보호 최고책임자는 일정 규모 이상의 사업자에 해당하면 다른 업무를 겸직할 수 없고 정보보호 업무만 전담해야 한다.
정보통신망법령은 자산총액·매출액 등 일정 기준을 충족하는 사업자에게 겸직금지 의무를 부과하므로, 기업 형편에 따라 자유롭게 다른 업무를 겸할 수 있다는 설명은 모든 사업자에 적용되는 원칙이 아니다.
임원급 지정·신고 의무, 협의회 구성·운영, 관리체계 수립 등 나머지 업무 범위에 관한 설명은 법령이 정한 최고책임자의 지위·역할과 일치한다.
비밀번호는 반드시 복호화가 불가능한 일방향(해시) 암호화로 저장해야 하며, 양방향 암호화로 저장하는 것은 안전성 확보조치 기준에 어긋난다.
인터넷 구간·DMZ에 고유식별정보를 저장할 때의 암호화, 정보통신망을 통한 송신 시 암호화, 업무용 컴퓨터·모바일 기기 저장 시 상용 암호화 소프트웨어 사용 등은 모두 개인정보의 안전성 확보조치 기준이 요구하는 내용과 일치한다.
하이레벨 포맷은 디스크의 파일 할당 정보만 초기화할 뿐 실제 데이터는 복구 가능한 상태로 남으므로, 개인정보 파기를 위한 적절한 조치로 볼 수 없다.
데이터가 복원되지 않도록 초기화·덮어쓰기를 수행하거나 전용 소자장비로 완전히 삭제하는 방법, 종이 기록물의 일부만 파기할 때 마스킹·천공 등을 이용하는 방법은 모두 개인정보의 안전한 파기 방법에 해당한다.
클라우드컴퓨팅서비스 제공자가 예고 없이 일정 기간 이상 서비스를 중단한 경우, 그 사실을 알려야 하는 대상은 해당 이용자이지 과학기술정보통신부장관이 아니다.
이용자 정보 유출 시 장관에게 알리는 것, 유출 사실을 지체 없이 이용자에게 알리는 것, 정보통신망법상 침해사고 발생 시 이용자에게 알리는 것은 모두 클라우드컴퓨팅법이 정한 이용자 보호 통지 의무와 일치한다.
개인정보보호법의 기본 원칙은 익명처리가 가능한 경우 가능한 한 익명으로 처리하여 정보주체의 사생활 침해를 최소화하는 것이지, 식별 가능한 형태로 처리하도록 요구하지 않는다.
처리 목적에 필요한 범위에서 적합하게 처리하는 것, 정확성·완전성·최신성을 보장하는 것, 처리방침 등을 공개하는 것은 모두 개인정보 보호 원칙에 해당한다.
경력직 채용 과정에서 수집하려는 지원자의 종교·질병(건강)·범죄경력은 모두 민감정보에 해당하므로, 법령에 근거가 없는 한 정보주체에게 별도의 동의를 받아야만 수집·이용할 수 있다.
도난·화재 예방을 위한 CCTV 설치, 계약 이행을 위한 배송지·연락처 수집, 급박한 생명·신체의 이익을 위한 보호자 연락처 수집은 개인정보보호법이 동의 없이도 개인정보를 수집·이용할 수 있도록 정한 예외 사유에 해당한다.
개인정보 영향평가 시 고려사항은 처리하는 개인정보의 수, 개인정보의 제3자 제공 여부, 정보주체의 권리를 해할 가능성과 그 위험 정도, 그 밖에 보유기간·민감정보 처리 여부 등이며 개인정보 처리 방법 자체는 별도의 고려 항목으로 열거되어 있지 않다.
따라서 처리 건수·보유기간·권리침해 위험 정도는 법령이 명시한 고려사항이지만, 처리 방법은 여기에 포함되지 않는다.
<보기1>
제17조(개인정보의 제공) ① 개인정보처리자는 다음 각 호의 어느 하나에 해당되는 경우에는 정보주체의 개인정보를 제3자에게 제공(공유를 포함한다. 이하 같다)할 수 있다.
<보기2>
ㄱ. 정보주체와의 계약의 체결 및 이행을 위하여 불가피하에 필요한 경우
ㄴ. 공공기관의 법령 등에서 정하는 소관 업무의 수행을 위하여 불가피한 경우
ㄷ. 법률에 특별한 규정이 있거나 법령상 의무를 준수하기 위하여 불가피한 경우
수집한 목적 범위 안에서 별도 동의 없이 제3자 제공이 가능한 것은 공공기관의 소관 업무 수행을 위해 불가피한 경우와, 법률에 특별한 규정이 있거나 법령상 의무 준수를 위해 불가피한 경우 두 가지다.
개인정보보호법 제17조제1항제2호는 '제15조제1항에 따라 개인정보를 수집한 목적 범위에서 제공하는 경우'만 허용하는데, 여기서 인용하는 호는 제2호(법률의 특별한 규정·법령상 의무 준수), 제3호(공공기관의 소관 업무 수행), 제5호 이하(급박한 생명·신체·재산의 이익 등)다.
반면 정보주체와의 계약 체결·이행을 위한 경우는 제15조제1항제4호여서 수집 근거는 되지만 제17조제1항제2호가 인용한 호에 들어 있지 않다. 따라서 이 항목은 목적 범위 내 제3자 제공 사유가 되지 못한다.
정량적 위험분석 방법으로는 연간 예상 손실, 과거자료 분석법, 수학공식 접근법, 확률 분포법 등이 있다.
이 중 예상 손실은 단일 예상 손실과 연간 예상 손실을 계산할 수 있는데, 단일 예상 손실을 산출하기 위한 공식은 다음과 같다.
( ㉠ ) * ( ㉡ ) 계수 = 단일 예상 손실
빈칸은 각각 자산 가치와 노출 계수다.
단일 예상 손실(SLE)은 '자산 가치(AV) × 노출계수(EF)'로 구한다. 노출계수는 위협이 실현됐을 때 자산 가치 중 손실되는 비율이므로, 자산 가치에 그 비율을 곱하면 사고 1회당 손실액이 나온다.
여기에 연간 발생률(ARO)을 곱한 값이 연간 예상 손실(ALE = SLE × ARO)이다. '소비'나 '생산'은 정량적 위험분석 공식에 등장하는 항이 아니어서 빈칸에 들어갈 수 없다.
개인정보 유출 시 신고 방법
- 대상: ( ㉠ ) 이상의 정보주체에 관한 개인정보가 유출된 경우
- 기관: 행정안전부, 전문기관( ㉡ )
- 시기: 지체없이
- 방법: 전화, 전자우편, 팩스
- 내용: 통지내용, 유출피해 최소화 대책 및 조치 결과
빈칸은 1천명과 한국인터넷진흥원이다.
개인정보 유출 신고를 접수하는 '대통령령으로 정하는 전문기관'은 개인정보보호법 시행령이 한국인터넷진흥원(KISA)으로 지정하고 있다. 한국정보화진흥원은 정보화 진흥 업무를 맡던 기관이어서 유출 신고 접수 기관이 아니다.
신고 대상 규모는 시행령 개정으로 기준이 낮아져 현재는 1천명 이상의 정보주체에 관한 개인정보가 유출된 경우 신고해야 한다(개정 전 기준은 1만명 이상).
지문의 '행정안전부'와 '지체없이'도 출제 당시 표기다. 현행은 개인정보보호위원회 또는 한국인터넷진흥원에 72시간 이내 신고한다.
정보보호 내부감사를 수행하는 구성원을 정보보호 전문가로만 한정하면 업무·법규·프로세스 전반에 대한 폭넓은 시각을 확보하기 어려워 감사의 객관성과 포괄성이 떨어질 수 있다.
감사 범위를 다양한 위험을 검토할 수 있도록 포괄적으로 설정하는 것, 위험을 파악해 개선사항을 제시하는 것, 기업 내외부로부터 독립성을 유지하는 것은 내부감사가 갖추어야 할 바람직한 요건이다.
여권번호는 개인을 고유하게 식별하기 위한 고유식별정보에 해당할 뿐, 개인정보보호법령이 정한 민감정보의 범위에는 포함되지 않는다.
범죄경력자료, 성생활에 관한 정보, 유전정보는 사상·신념이나 건강 등과 함께 법령상 민감정보로 열거되어 있어 원칙적으로 별도의 동의 없이는 처리할 수 없다.
개인정보보호법이 정한 공개된 장소의 영상정보처리기기 설치·운영 허용 사유는 교통단속, 교통정보의 수집·분석·제공, 시설안전 및 화재 예방 등 법령이 구체적으로 열거한 경우로 한정되며, 단순히 소관 업무 수행을 위해 불가피하다는 포괄적 사유는 그 예외에 포함되지 않는다.
따라서 교통단속·교통정보 수집·시설안전 및 화재 예방을 위한 경우는 법령이 정한 허용 사유이지만, 소관 업무 수행을 위한 불가피성만으로는 설치가 정당화되지 않는다.
피의자 K씨는 어느 사이트를 운영하며 이용자의 개인정보를 수집하였다. 이에 그치지 않고 경품 추첨을 진행한다는 거짓 이벤트를 통해 이용자의 민감한 정보까지 수집하였다. 하지만 K씨는 이를 동의 없이 개인정보 목적 외 이용 및 제3자에게 제공한 사실이 드러났고, 사이트를 통해 악성 프로그램을 유포하였다.
사이트 운영자가 이용자 개인정보를 동의 없이 목적 외로 이용·제공하고 악성 프로그램까지 유포한 행위는 정보통신망 이용촉진 및 정보보호 등에 관한 법률이 규율한다.
정보통신망법은 정보통신서비스 제공자가 이용자 동의 없이 개인정보를 목적 외로 이용하거나 제3자에게 제공하는 것을 금지했고(해당 개인정보 조항은 2020년 개정으로 개인정보보호법에 이관), 제48조제2항에서 정보통신시스템을 훼손·변조할 수 있는 악성 프로그램의 전달·유포도 금지한다. 지문의 두 행위가 모두 이 법의 금지 규정에 걸린다.
나머지 법률은 사안과 맞지 않는다.
- 통신비밀보호법: 우편물 검열·전기통신 감청 등 통신 비밀 침해를 규율한다.
- 정보통신기반 보호법: 국가안보·국민경제에 중대한 영향을 주는 주요정보통신기반시설의 보호가 대상이다.
- 사행행위 등 규제 및 처벌 특례법: 복표·현상 등 사행행위 영업 규제가 대상이어서 거짓 경품 이벤트만으로는 적용되지 않는다.