ISMS-P를 개별 보안 제품의 기능 안전성을 시험하는 제품 인증제도로 본 설명이 옳지 않다.
ISMS-P는 제품이 아니라 조직의 정보보호·개인정보보호 관리체계가 인증 기준에 맞게 수립·운영되는지를 심사하는 제도이다.
- 정보보호와 개인정보보호 관리체계를 함께 심사한다는 설명은 ISMS-P의 정의에 맞다.
- 관리체계의 수립·운영 같은 조직적·관리적 보호 활동이 평가 대상이라는 설명은 옳다.
- KISA가 제도 안내와 심사 관련 정보를 제공한다는 설명은 옳다.
TLS 접속 실패 시 SSL 3.0으로 자동 하향(fallback)하는 기능이 권장된다는 설명이 옳지 않다.
자동 하향을 허용하면 공격자가 일부러 접속을 실패시켜 취약한 프로토콜로 끌어내리는 다운그레이드 공격이 가능해지므로 보안상 피해야 한다.
- SSL 3.0이 기밀성, 변조 방지, 메시지 위조 방지를 목표로 설계되었다는 설명은 역사적 사실에 맞다.
- SSL 3.0은 안전하다고 보기 어려워 현대적 운용에서 사용하지 않아야 한다는 설명은 옳다.
- TLS 1.3이 도청, 변조, 메시지 위조를 방지하는 통신 프로토콜이라는 설명은 옳다.
ESP 전송 모드를 종단점 중 하나만 암호화 종단점이어도 쓸 수 있다고 한 설명이 옳지 않다.
전송 모드는 원본 IP 헤더를 유지한 채 페이로드를 보호하므로, 통신하는 양쪽 종단점 모두가 암호화 종단점이어야 한다. 한쪽만 IPSec을 처리하는 게이트웨이 구성에는 터널 모드를 쓴다.
- AH를 쓰는 터널 모드는 인증과 무결성만 제공하고 암호화를 하지 않으므로 기밀성을 보장하지 못한다.
- AH는 IP 헤더의 불변 필드까지 무결성 검사에 포함하므로, 주소를 바꾸는 NAT를 통과할 때 검증 문제가 생길 수 있다.
- 전송 모드가 원본 IP 헤더를 유지하고 상위 계층 데이터인 페이로드를 보호한다는 설명은 옳다.
| ㄱ.Bell-LaPadula Model: 무결성 보호를 목적으로 하며, “No Read Down, No Write Up” 규칙을 따른다. ㄴ.Biba Model: 기밀성 보호를 목적으로 하며, “No Read Up, No Write Down” 규칙을 따른다. ㄷ.Clark-Wilson Model: 상업적 환경에서 무결성을 보장하기 위해 잘 정의된 트랜잭션과 직무 분리를 사용한다. ㄹ.Chinese Wall Model: 이해 충돌(Conflict of Interest)을 방지하기 위해 경쟁사 정보 접근을 제한한다. |
옳은 설명은 Clark-Wilson Model과 Chinese Wall Model에 관한 것이다.
Clark-Wilson은 상업 환경의 무결성을 위해 잘 정의된 트랜잭션과 직무 분리를 쓰고, Chinese Wall은 경쟁사 정보 접근을 제한해 이해 충돌을 막는다.
- Bell-LaPadula는 기밀성 모델로 No Read Up, No Write Down 규칙을 따르므로, 무결성 보호와 반대 규칙을 적은 설명은 틀렸다.
- Biba는 무결성 모델로 No Read Down, No Write Up 규칙을 따르므로, 기밀성 보호와 반대 규칙을 적은 설명은 틀렸다.
위협을 취약점을 악용해 시도한 공격이라고 한 설명이 옳지 않다.
위협은 취약점을 이용해 피해를 줄 수 있는 잠재적 원인이나 가능성이고, 그것을 실제로 시도한 행위가 공격이다.
- 공격자를 공격하는 사람으로 정의한 설명은 옳다.
- 위험을 특정 위협이 가져올, 확률로 표현한 예상 손실로 정의한 설명은 옳다.
- 취약성을 시스템 상의 오류나 약점으로 정의한 설명은 옳다.
| I(t):시간 t동안 감염된 개체의 수 S(t):시간 t동안 감염에 민감한 개체의 수(취약하지만 아직 감염되지 않은 컴퓨터의 수) b: 감염률 N: 총 컴퓨터의 수, N = I(t) + S(t) |
감염 속도는 감염률, 감염된 개체 수, 민감한 개체 수의 곱인 로 표현한다.
감염은 감염된 개체가 민감한 개체와 만날 때 일어나므로, 속도는 두 개체 수에 각각 비례하고 비례 상수가 감염률 이다.
- 는 감염률 가 빠져 전파 강도를 반영하지 못한다.
- 는 감염된 개체 수가 빠져 전파원의 증가를 반영하지 못한다.
- 는 감염률이 클수록 속도가 느려지는 꼴이 되어 모델의 의미와 반대이다.
IDS가 공격 탐지뿐 아니라 차단까지 수행한다는 설명이 옳지 않다.
IDS의 기본 역할은 탐지와 경보이며, 공격 트래픽을 직접 막는 기능은 침입 방지 시스템인 IPS의 역할이다.
- 감사와 로깅 과정에서 네트워크 자원이 손실되거나 데이터가 변조되지 않는다는 설명은 트래픽을 관찰만 하는 IDS의 특성에 맞다.
- NIDS가 네트워크를 통한 공격을 탐지하는 장비라는 설명은 옳다.
- 설치 위치와 목적에 따라 HIDS와 NIDS로 나뉜다는 설명은 옳다.
RBAC이 역할에 권한을 부여하고 사용자는 역할을 통해 권한을 얻는다는 설명이 옳다.
권한을 사용자 개인이 아니라 역할 단위로 관리하므로, 인사이동 시 역할 배정만 바꾸면 되어 관리가 쉽다.
- DAC은 관리자의 강제 부여가 아니라 객체 소유자의 재량으로 권한을 준다.
- MAC은 소유자의 재량이 아니라 보안 등급 같은 시스템 정책에 따라 접근을 강제한다.
- ABAC은 역할만이 아니라 사용자, 자원, 환경 등의 다양한 속성을 기준으로 접근을 결정한다.
제2역상 저항성은 입력값 x가 주어졌을 때 H(y)=H(x)인 다른 입력값 y를 찾기 어려운 성질이다.
핵심은 첫 입력이 이미 고정되어 있다는 점이다. 두 입력을 모두 자유롭게 고를 수 있는 충돌 저항성과 여기서 구별된다.
- 해시값만 주어지고 이를 출력하는 입력값을 찾기 어렵다는 설명은 역상 저항성이다.
- 입력의 작은 변화가 해시값을 크게 바꾼다는 설명은 쇄도 효과이다.
- 같은 해시값을 내는 서로 다른 두 입력을 찾기 어렵다는 설명은 충돌 저항성이다.
암호화 키와 복호화 키가 반드시 달라야 한다는 설명이 옳지 않다.
대칭 암호는 암호화와 복호화에 같은 비밀 키를 쓴다. 서로 다른 키 쌍을 쓰는 방식은 공개키 암호이다.
- 평문을 암호화될 데이터이자 암호화 알고리즘의 입력값으로 본 설명은 옳다.
- 암호화 알고리즘을 평문을 변화시켜 암호문을 만드는 알고리즘으로 본 설명은 옳다.
- 복호화 알고리즘을 암호문을 평문으로 바꾸는 알고리즘으로 본 설명은 옳다.
< 보 기 >set ok = execute( "SELECT * FROM Users |
SQL Injection이 성공하지 않는 입력은 ' pwd=1234 --이다. 완성된 쿼리가 문법 오류가 되어 실행되지 않기 때문이다.
입력값은 작은따옴표 안에 그대로 이어 붙으므로, 입력의 첫 작은따옴표가 문자열을 닫고 --가 뒤의 비밀번호 조건을 주석 처리한다. 따라서 닫힌 문자열 뒤에 유효한 SQL 구문이 이어져야 공격이 성립한다. 이 입력은 user=' ' pwd=1234가 되어 문자열 뒤에 연산자나 문장 구분자 없이 식이 이어지므로 구문 오류가 난다.
- ' or 1=1 --: 조건이 user=' ' or 1=1이 되어 항상 참이므로 모든 행이 반환되고 ok.EOF가 거짓이 되어 로그인이 우회된다.
- ' ; DROP TABLE Users --: SQL Server는 세미콜론으로 이은 여러 문장을 함께 실행하므로, 앞 SELECT 문 뒤에 Users 테이블 삭제 문장이 실행된다.
- ' ; exec xp_cmdshell … --: 같은 방식으로 확장 저장 프로시저를 호출해 운영체제 명령으로 계정을 추가한다.
큰 정수의 인수분해를 위해 설계된 양자 알고리즘은 쇼어 알고리즘이다.
쇼어 알고리즘은 인수분해를 수론의 주기 찾기 문제로 바꾼 뒤 양자 컴퓨터로 그 주기를 구한다. 그래서 RSA처럼 인수분해의 어려움에 기대는 암호의 위협으로 꼽힌다.
- 그로버 알고리즘은 인수분해가 아니라 정렬되지 않은 데이터의 탐색을 빠르게 하는 양자 알고리즘이다.
- 야오 법칙은 무작위 알고리즘의 복잡도 하한을 분석하는 원리이다.
- 확장 유클리드 알고리즘은 최대공약수와 모듈러 역원을 구하는 고전 알고리즘이다.
시그니처 기반 IDS가 제로데이 공격 탐지에 강점이 있다는 설명이 옳지 않다.
시그니처 기반은 이미 알려진 패턴과 대조하므로 패턴이 없는 미지의 공격에 약하다. 이런 공격에는 정상 기준선에서 벗어난 행위를 찾는 이상 탐지 기반이 상대적으로 유리하다.
- 시그니처 기반이 알려진 공격 패턴 DB와 일치하는 트래픽을 탐지한다는 설명은 옳다.
- 이상 탐지 기반이 정상 행위의 기준선을 학습해 이탈을 탐지한다는 설명은 옳다.
- 이상 탐지 기반의 오탐 비율이 상대적으로 높다는 설명은 정상적인 변동까지 이상으로 볼 수 있으므로 옳다.
상태 기반 검사 방화벽이 연결 상태 테이블로 트래픽 흐름을 동적으로 추적한다는 설명이 옳다.
패킷을 하나씩 따로 보지 않고 연결의 맥락까지 확인하므로, 수립된 연결에 속하는 패킷인지 판단할 수 있다.
- 패킷 필터링 방화벽은 주로 IP·포트 같은 헤더 정보를 검사하며, 응용 계층 데이터까지 검사하지 않는다.
- 애플리케이션 레벨 게이트웨이는 IP 헤더만 보는 것이 아니라 응용 데이터까지 검사한다.
- 회선 레벨 게이트웨이는 연결을 중계할 뿐 각 패킷의 내용을 상세히 분석하지 않는다.
서버 인증과 서버 호스트 키 검증을 사용자 인증 프로토콜이 맡는다는 설명이 옳지 않다.
서버 인증은 그보다 먼저 전송 계층 프로토콜에서 이루어지고, 사용자 인증 프로토콜은 그 위에서 클라이언트 사용자만 인증한다.
- 사용자 인증 프로토콜이 전송 계층 위에서 동작하며 공개키, 패스워드, 호스트 기반 인증을 포함할 수 있다는 설명은 옳다.
- 연결 프로토콜이 암호화된 터널 위에서 여러 논리 채널을 다중화한다는 설명은 옳다.
- 전송 계층 프로토콜이 TCP/IP 위에서 서버 인증, 기밀성, 무결성을 제공한다는 설명은 옳다.
트래픽 분석은 능동적 공격이 아니라 소극적 공격이다.
소극적 공격은 데이터를 바꾸지 않고 통신의 패턴이나 내용을 엿보는 것이고, 능동적 공격은 데이터나 시스템에 직접 개입해 변경을 일으키는 것이다.
- 위장은 다른 주체인 척 행동해 시스템에 개입하는 능동적 공격이다.
- 가장 역시 다른 주체로 속여 접근하는 능동적 공격이다.
- 메시지 위조는 거짓 메시지를 만들어 넣는 능동적 공격이다.
SIP Flood를 IRC에 관한 공격이라고 한 설명이 옳지 않다.
SIP는 인터넷 전화(VoIP) 등에서 세션을 설정하는 프로토콜이고, SIP Flood는 SIP 요청을 대량으로 보내 서버 자원을 소모시키는 공격이다. 채팅 프로토콜인 IRC와는 관계가 없다.
- 반사 공격은 응답이 피해자에게 가도록 패킷의 소스 IP 주소를 피해자 주소로 위조해야 한다.
- 반사체의 응답 트래픽을 DNS 서버로 몰면 DNS 서비스에 대한 DoS 공격도 가능하다.
- DoS 공격은 서비스를 쓰지 못하게 하므로 가용성을 떨어뜨린다.
XSS의 근본 원인은 사용자 입력값의 불충분한 검증·이스케이핑이다.
입력값이 걸러지지 않은 채 웹 페이지에 출력되면, 브라우저가 이를 스크립트 코드로 실행하게 된다.
- 취약한 암호화 알고리즘 사용은 데이터 노출과 관련된 문제로, 스크립트 삽입의 원인이 아니다.
- 세션 타임아웃 미설정은 세션 탈취의 피해를 키울 수 있지만 XSS의 원인은 아니다.
- 잘못된 접근통제 설정은 권한 없는 기능이나 자원 접근의 원인이다.
HTTPS가 HTTP에 더하는 핵심 기능은 전송 계층의 암호화와 서버 인증이다.
HTTPS는 HTTP를 TLS 위에서 동작시켜 통신 내용을 암호화하고, 인증서로 서버의 신원을 확인한다.
- 더 빠른 전송 속도는 HTTPS의 보안 기능이 아니며, 암호화 처리는 오히려 부담을 더한다.
- IP 주소 은닉은 제공하지 않는다. 패킷의 IP 헤더는 암호화 대상이 아니다.
- 바이러스 침투 방지는 통신 구간 보호와 다른 문제로 백신 등의 역할이다.
신뢰 기반(Something you trust)은 사용자 인증의 수단으로 분류되지 않는다.
사용자 인증의 대표 수단은 아는 것, 가진 것, 본인의 신체 특성이다. 인증기관은 인증서를 발급하는 신뢰 주체이지 사용자가 자신을 증명하는 요소가 아니다.
- 지식 기반은 비밀번호, PIN처럼 아는 것으로 인증한다.
- 소유 기반은 스마트카드, 토큰처럼 가진 것으로 인증한다.
- 생체 기반은 지문, 홍채처럼 신체 특성으로 인증한다.
레인보우 테이블 공격이 메모리가 충분할 때 효율적이라는 설명이 옳다.
레인보우 테이블은 미리 계산한 해시 체인을 저장해 두고 찾는 시간-메모리 절충 기법이므로, 저장 공간이 넉넉할수록 탐색 시간을 줄이기 쉽다.
- 오프라인 사전 공격은 비밀번호 파일을 손에 넣어 대조하는 방식이므로 그 파일이 필요하다.
- 특정 계정 공격은 오프라인뿐 아니라 로그인 시도를 반복하는 온라인 방식으로도 가능하다.
- 잘 알려진 비밀번호는 길어도 쓰일 수 있으므로, 짧은 패스워드 금지만으로는 막지 못하고 흔한 비밀번호 차단 등이 필요하다.
SMTP의 기본 포트를 21로 적은 연결이 옳지 않다.
SMTP의 기본 포트는 25이고, 포트 21은 FTP의 제어 연결에 쓰인다.
- SSH의 기본 포트가 22라는 연결은 옳다.
- 원격 데스크톱의 기본 포트가 3389라는 연결은 옳다.
- HTTPS의 기본 포트가 443이라는 연결은 옳다.
디지털 서명이 제공하지 않는 서비스는 기밀성이다.
서명은 서명자의 개인키로 메시지의 해시값 등을 처리해 붙이는 것일 뿐 메시지 내용을 숨기지 않는다. 기밀성이 필요하면 별도의 암호화를 함께 써야 한다.
- 서명자의 공개키로 검증되므로 누가 서명했는지 확인하는 서명자 인증을 제공한다.
- 개인키를 가진 서명자만 만들 수 있으므로 서명 사실을 부인하지 못하는 부인방지를 제공한다.
- 메시지가 바뀌면 검증에 실패하므로 무결성을 제공한다.
완벽한 비밀성을 보장하는 기법은 OTP(One-Time Pad)이다.
평문 이상의 길이를 가진 진정한 난수 키를 한 번만 쓰면, 암호문으로부터 평문에 대한 어떤 정보도 얻을 수 없다.
- 디피-헬만 키 교환은 평문을 암호화하는 기법이 아니라 키를 합의하는 방법이다.
- RSA는 인수분해의 어려움에 기댄 계산적 안전성을 제공한다.
- 트리플 DES는 같은 키를 여러 블록에 반복해 쓰는 블록 암호로 계산적 안전성에 해당한다.
UDP에서는 DDoS 공격이 성립하지 않는다는 설명이 옳지 않다.
UDP는 연결 설정 없이 보낼 수 있어 UDP Flood나 소스 주소를 위조한 반사·증폭 공격에 자주 악용된다.
- 서비스를 쓰지 못하게 하므로 정보보안 3요소 중 가용성이 훼손된다는 설명은 옳다.
- 여러 호스트나 봇넷으로 공격 트래픽을 분산·증폭시키는 경우가 많다는 설명은 옳다.
- 메모리 증설만으로는 대역폭, CPU, 애플리케이션 처리량을 겨냥한 공격을 충분히 막기 어렵다는 설명은 옳다.