IIS는 마이크로소프트의 웹 서버 소프트웨어로, 서버 측 스크립트 언어가 아니다.
SSS(Server Side Script) 언어는 웹 서버에서 실행되어 동적으로 HTML을 생성하는 언어로, PHP·ASP·JSP 등이 대표적이다. IIS는 이런 스크립트(예: ASP)를 실행하는 서버 쪽에 해당한다.
- PHP: 서버에서 실행되는 대표적인 스크립트 언어다.
- ASP: 마이크로소프트의 서버 측 스크립트 기술이다.
- JSP: 자바 기반 서버 측 스크립트 기술이다.
누가, 언제, 어떤 방법으로 정보를 사용했는지 추적할 수 있게 하는 것은 책임추적성(Accountability)이다.
책임추적성은 사용자 식별·인증과 감사 로그를 통해 행위의 주체를 추적하고 책임을 물을 수 있게 하는 보안 목표다.
- 인증성: 사용자나 메시지 출처가 진짜인지 확인하는 것이다.
- 가용성: 필요할 때 정보와 시스템을 사용할 수 있게 하는 것이다.
- 부인방지: 송수신 사실을 나중에 부인하지 못하게 하는 것이다.
수집된 증거가 위변조되지 않았음을 증명하는 것은 무결성의 원칙이므로, 이를 연계성의 원칙으로 설명한 것이 옳지 않다.
연계성(연계 보관성)의 원칙은 증거물의 획득·이송·분석·보관·법정 제출의 각 단계에서 담당자와 책임자를 명확히 해 증거 관리의 연속성을 보장하는 원칙이다.
- 적법한 절차로 입수되어야 하며 위법하게 수집된 증거에서 파생된 증거도 무효라는 정당성의 원칙 설명은 옳다.
- 같은 조건에서 같은 결과가 나와야 한다는 재현의 원칙 설명은 옳다.
- 휘발성 정보를 빠르게 수집해야 한다는 신속성의 원칙 설명은 옳다.
- 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」에 의한 정보보호 관리체계 인증과 「개인정보 보호법」에 의한 개인정보보호 관리체계 인증에 관한 사항을 통합하여 한국인터넷진흥원과 금융보안원에서 인증하고 있다.
- 한국정보통신진흥협회, 한국정보통신기술협회, 개인정보보호협회에서 인증심사를 수행하고 있다.
정보보호 관리체계 인증과 개인정보보호 관리체계 인증을 통합한 국내 인증 제도는 ISMS-P(정보보호 및 개인정보보호 관리체계 인증)이다.
정보통신망법의 ISMS와 개인정보 보호법의 PIMS가 통합된 제도로, 한국인터넷진흥원·금융보안원이 인증기관, 지정된 협회 등이 심사기관 역할을 한다.
- CC: 정보보호 제품의 보안성을 평가하는 국제 공통평가기준이다.
- BS7799: 영국에서 제정한 정보보호 관리 표준으로 ISO/IEC 27001의 전신이다.
- TCSEC: 미국 국방부가 제정한 시스템 평가 기준이다.
- 제1항 개인정보처리자는 통계작성, 과학적 연구, 공익적 기록보존 등을 위하여 정보주체의 (가) 가명정보를 처리할 수 있다.
- 제2항 개인정보처리자는 제1항에 따라 가명정보를 제3자에게 제공하는 경우에는 특정 개인을 알아보기 위하여 사용될 수 있는 정보를 포함 (나) .
| (가) | (나) | |
|---|---|---|
| ① | 동의를 받아 | 할 수 있다 |
| ② | 동의를 받아 | 해서는 아니 된다 |
| ③ | 동의 없이 | 해서는 아니 된다 |
| ④ | 동의 없이 | 할 수 있다 |
(가)에는 동의 없이, (나)에는 해서는 아니 된다가 들어간다.
「개인정보 보호법」 제28조의2는 통계작성·과학적 연구·공익적 기록보존 등의 목적이면 정보주체의 동의 없이 가명정보를 처리할 수 있게 하되, 가명정보를 제3자에게 제공할 때에는 특정 개인을 알아보는 데 쓰일 수 있는 정보를 포함하지 못하게 한다.
- 동의를 받아·할 수 있다: (가)는 동의 없는 처리를 허용하는 규정과, (나)는 재식별 정보 포함을 금지하는 규정과 모두 맞지 않는다.
- 동의를 받아·해서는 아니 된다: (나)는 맞지만 (가)가 동의 없는 처리를 허용하는 규정과 맞지 않는다.
- 동의 없이·할 수 있다: (가)는 맞지만 (나)가 재식별 정보 포함을 금지하는 규정과 반대된다.
양측이 ChangeCipherSpec 메시지를 보내면 대기 상태의 암호 매개변수가 현재 상태로 활성화된다는 설명이 옳다.
핸드셰이크로 협상된 암호 명세는 처음에는 대기(pending) 상태로 있다가, ChangeCipherSpec을 주고받은 뒤부터 실제 서명(MAC)·암호화에 사용된다.
- Handshake 프로토콜은 두 단계가 아니라 여러 단계(보안 능력 협상, 서버 인증·키 교환, 클라이언트 인증·키 교환, 종료)로 이루어진다.
- Record 프로토콜의 처리 순서는 단편화 → 압축 → 서명(MAC) → 암호화 → 헤더 추가로, 압축이 암호화보다 먼저다.
- Alert 프로토콜은 Record 프로토콜의 하위가 아니라 그 위에서 동작하는 상위 프로토콜이다.
하이퍼레저 패브릭은 트랜잭션 정렬(합의)에 지분 증명(PoS) 방식을 사용하지 않으므로 옳지 않다.
패브릭은 참여자가 인증된 허가형 블록체인이라 경쟁적 채굴·지분 증명이 필요 없고, 별도의 정렬 서비스(Ordering Service)가 Raft 등 합의 알고리즘으로 트랜잭션 순서를 정한다.
- MSP에 등록된 사용자만 참여하는 허가형 프라이빗 블록체인이라는 설명은 옳다.
- 체인코드라는 스마트 컨트랙트로 원장 데이터를 읽고 쓴다는 설명은 옳다.
- 원장이 현재 상태를 담는 월드 스테이트와 전체 이력을 담는 블록체인으로 구성된다는 설명은 옳다.
- 1. 본인확인업무의 안전성 확보를 위한 물리적ㆍ기술적ㆍ관리적 조치계획
- 2. 본인확인업무의 수행을 위한 기술적ㆍ재정적 능력
- 3. 본인확인업무 관련 설비규모의 적정성
정보통신망법 제23조의3에 따라 본인확인기관을 지정하는 기관은 방송통신위원회이다.
방송통신위원회는 조치계획, 기술적·재정적 능력, 설비규모의 적정성을 심사해 주민등록번호를 대신하는 대체수단의 개발·제공·관리 업무를 수행할 능력이 있는 자를 본인확인기관으로 지정한다.
- 과학기술정보통신부: 정보통신망법의 정보보호 관리체계 등 다른 업무를 맡지만 본인확인기관 지정 주체는 아니다.
- 개인정보보호위원회: 「개인정보 보호법」 소관 기관이다.
- 금융위원회: 금융 분야 감독 기관이다.
악성 코드의 정적 분석은 파일을 (가) 하여 상세한 동작을 분석하는 단계로 악성 코드 파일을 역공학 분석하여 그 구조, 핵심이 되는 명령 부분, 동작 방식 등을 알아내는 것을 목표로 한다. 이를 위하여 역공학 분석을 위한 (나) 와/과 같은 도구를 활용한다.
| (가) | (나) | |
|---|---|---|
| ① | 패킹 | OllyDbg |
| ② | 패킹 | Regshot |
| ③ | 디스어셈블링 | Regshot |
| ④ | 디스어셈블링 | OllyDbg |
(가)에는 디스어셈블링, (나)에는 OllyDbg가 들어간다.
정적 분석은 악성 코드를 실행하지 않고 기계어를 어셈블리어로 바꾸는 디스어셈블링을 통해 구조와 핵심 명령을 파악하며, OllyDbg는 이런 역공학 분석에 널리 쓰이는 디스어셈블러 겸 디버거다.
- 패킹·OllyDbg: 패킹은 실행 파일을 압축·난독화하는 기법으로, 분석을 어렵게 하는 쪽이지 분석 단계가 아니다.
- 패킹·Regshot: 패킹이 분석 단계가 아니고, Regshot은 실행 전후의 레지스트리 변화를 비교하는 동적 분석 도구다.
- 디스어셈블링·Regshot: (가)는 맞지만 Regshot은 악성 코드를 실행해 보는 동적 분석에 쓰여 역공학 도구가 아니다.
HTTP GET 플러딩은 정상적인 GET 요청을 대량으로 보내 서버 자원을 고갈시키는 서비스 거부 공격으로, 입력 값 검증 문제와는 관계가 없다.
나머지는 모두 프로그램이 입력 값을 제대로 검증하지 않아 발생하는 대표적 취약점이다.
- SQL 삽입: 검증되지 않은 입력이 SQL 질의문에 삽입되어 DB를 조작한다.
- 크로스사이트 스크립트: 검증되지 않은 입력에 포함된 스크립트가 다른 사용자의 브라우저에서 실행된다.
- 버퍼 오버플로우: 입력 길이를 검증하지 않아 버퍼 경계를 넘어 메모리를 덮어쓴다.
정보의 무결성에 중점을 둔 보안 모델은 Biba 모델이다.
Biba 모델은 무결성 등급을 기준으로 낮은 등급 읽기 금지(no read down)와 높은 등급 쓰기 금지(no write up) 규칙을 두어 무결성 오염을 막는다.
- Bell-LaPadula: 기밀성에 중점을 둔 모델이다.
- Chinese Wall: 이해 충돌 방지에 중점을 둔 모델이다.
- Lattice: 보안 등급을 격자 구조로 표현한 정보 흐름 모델이다.
허니팟은 방화벽 내부망에도 설치할 수 있으므로 내부망에는 설치할 수 없다는 설명이 옳지 않다.
허니팟은 목적에 따라 방화벽 외부, DMZ, 내부망 등 여러 위치에 둘 수 있으며, 내부망에 두면 내부로 침투한 공격자의 행위를 탐지하는 데 쓸 수 있다.
- 공격자를 실제 시스템처럼 보이는 곳으로 유인한다는 설명은 옳다.
- 공격자의 행동 패턴 정보를 수집한다는 설명은 옳다.
- 공격자를 오래 머물게 하고 그사이 관리자가 대응을 준비한다는 설명은 옳다.
- 구조적인 방법론에 기반하지 않고 분석가의 경험이나 지식을 사용하여 위험 분석을 수행한다.
- 중소 규모의 조직에는 적합할 수 있으나 분석가의 개인적 경험에 지나치게 의존한다는 단점이 있다.
구조적 방법론 없이 분석가의 경험과 지식으로 위험을 분석하는 방법은 비정형 접근법이다.
비정형 접근법은 빠르고 비용이 적게 들어 중소 규모 조직에 맞지만, 결과가 분석가 개인의 경험에 크게 좌우된다는 단점이 있다.
- 기준선 접근법: 표준화된 보안 대책 목록(체크리스트)을 기준으로 최소한의 보호 수준을 적용하는 방법이다.
- 상세 위험 분석: 자산·위협·취약점을 구조적 절차에 따라 자세히 분석하는 방법이다.
- 복합 접근법: 중요한 시스템에는 상세 위험 분석을, 나머지에는 기준선 접근법을 함께 적용하는 방법이다.
RSA의 곱셈 동형성을 이용하면 245의 암호문은 215이다.
RSA에서 두 암호문의 곱은 두 평문의 곱의 암호문과 같다.
값을 대입하면 다음과 같다.
검산으로 이므로 가 되어 215와 일치한다.
- KpuX: 사용자 X의 공개키
- KprX: 사용자 X의 개인키
- KS: 세션키
- H(): 해시 함수
- E(): 암호화
- ||: 연결(concatenation) 연산자
세션키 KS로 문서 M을 암호화하고, KS를 B의 공개키로 암호화해 함께 보내는 (M) || (KS)가 옳다.
미리 공유한 비밀키가 없으므로 A가 세션키를 만들어 B의 공개키로 감싸 보내면, B의 개인키를 가진 B만 세션키를 꺼내 M을 복호화할 수 있다(전자봉투 방식).
- M || (H(M))은 M을 평문 그대로 보내므로 기밀성이 없고 서명만 제공한다.
- (M || H(M))은 A의 개인키로 암호화한 것이라 누구나 A의 공개키로 풀 수 있어 기밀성이 없다.
- (M) || (KS)는 세션키를 A의 개인키로 암호화해 누구나 A의 공개키로 세션키를 꺼낼 수 있으므로 기밀성이 없다.
메시지 인증 코드(MAC)는 부인방지를 제공하지 못하므로 부인방지와 연결한 것이 잘못되었다.
MAC은 송신자와 수신자가 같은 비밀키를 공유하므로 수신자도 같은 MAC을 만들 수 있어, 누가 만들었는지 제3자에게 증명할 수 없다. 부인방지는 개인키로 만드는 전자 서명이 제공한다.
- 데이터 무결성을 암호학적 해시로 확인하는 연결은 옳다.
- 신원 인증을 인증서로 제공하는 연결은 옳다.
- 메시지 인증을 전자 서명으로 제공하는 연결은 옳다.
쿠키는 HTTP 응답 메시지의 상태 라인이 아니라 헤더 라인(Set-Cookie)으로 전달되므로 옳지 않다.
상태 라인에는 HTTP 버전·상태 코드·상태 메시지만 들어간다. 서버는 응답 헤더의 Set-Cookie로 쿠키를 보내고, 브라우저는 이후 요청 헤더의 Cookie 헤더로 이를 되돌려 보낸다.
- HTTP 요청 메시지의 헤더 라인으로 쿠키를 전달하는 것은 옳다.
- 클라이언트 브라우저가 쿠키를 쿠키 저장소(디렉터리)에 저장하는 것은 옳다.
- 웹 서버가 클라이언트에 관해 수집한 정보로 쿠키를 생성하는 것은 옳다.
수집·이용 근거는 공공기관과의 계약이 아니라 정보주체와의 계약의 체결·이행을 위해 불가피한 경우이므로, 이것이 해당하지 않는다.
시험 당시 「개인정보 보호법」 제15조는 동의, 법률의 특별한 규정·법령상 의무, 공공기관의 소관 업무 수행, 정보주체와의 계약 체결·이행, 생명·신체·재산의 급박한 이익, 개인정보처리자의 정당한 이익 등을 수집·이용 근거로 두었다.
- 정보주체의 동의를 받은 경우는 수집·이용 근거에 해당한다.
- 법률에 특별한 규정이 있거나 법령상 의무 준수를 위해 불가피한 경우는 해당한다.
- 공공기관이 법령 등에서 정하는 소관 업무 수행을 위해 불가피한 경우는 해당한다.
- (가) 스택에 저장되어 있는 복귀 주소(return address)를 pop한다.
- (나) 스택 포인터를 프레임 포인터의 값으로 복원시킨다.
- (다) 이전 프레임 포인터 값을 pop하여 스택 프레임 포인터를 P의 스택 프레임으로 설정한다.
- (라) P가 실행했던 함수 호출(function call) 인스트럭션 다음의 인스트럭션을 실행한다.
함수 Q의 복귀 과정은 스택 포인터 복원 → 이전 프레임 포인터 pop → 복귀 주소 pop → 호출 다음 명령 실행 순으로, (나)→(다)→(가)→(라)이다.
함수 에필로그에서 먼저 스택 포인터를 프레임 포인터 값으로 되돌려 지역 변수 영역을 해제하고(나), 저장해 둔 이전 프레임 포인터를 꺼내 P의 프레임을 복구한다(다).
그다음 ret 명령이 복귀 주소를 pop해(가) P에서 함수 호출 인스트럭션 다음 명령으로 실행을 이어간다(라). 스택에는 복귀 주소가 먼저, 이전 프레임 포인터가 나중에 쌓였으므로 꺼낼 때는 역순이다.
WPA-개인 모드는 PSK에서 유도된 키를, WPA-엔터프라이즈 모드는 RADIUS 인증 서버와 EAP를 이용한다는 설명이 옳다.
엔터프라이즈 모드는 IEEE 802.1X 구조로 사용자별 인증을 수행해, 모두가 같은 사전 공유키를 쓰는 개인 모드보다 인증과 키 관리가 강화된다.
- WPA·WPA2·WPA3는 IETF가 아니라 Wi-Fi Alliance가 정의했다.
- WPA는 WEP의 CRC 방식 대신 Michael이라는 별도의 메시지 무결성 코드를 도입했다.
- WPA2가 충족하려는 무선 LAN 보안 표준은 IEEE 802.1X가 아니라 IEEE 802.11i이다.