141번
문제
IDS 는 내부 트래픽에 대하여 미러 방식으로 사용하고, IPS 는 인라인 방식으로 외부와 내부 접점에 배치하여 사용하는 이유는?
답
IPS 는 실시간 차단을 목적으로 하기 때문에 인라인 방식으로 구성되어야 하며, 외부에서의 악의적인 침입 시도를 차단하는 데 포커스를 두어 내부와 외부의 접점에 배치하는 것이 좋다. IPS 를 내부망에 배치하여 운영하는 경우 오탐으로 인하여 네트워크에 문제가 발생할 수 있으므로, 내부망에는 침입 탐지를 목적으로 하는 IDS 를 배치하는 것이 좋다. IDS 는 포트 미러링 방식으로 업무 데이터 흐름에 영향을 주지 않고 패킷을 분석하여 침입 여부를 탐지할 수 있기 때문이다. 참고로, IPS 는 장애 시 업무에 영향을 줄 수 있으므로 bypass 기능을 지원해야 한다.
142번
문제
IPSec 의 AH, ESP 보안 헤더에 대하여 전송모드/터널 모드로 운영 시 인증 구간, 암호화 구간을 설명하고, 키 교환 프로토콜명을 기술하시오.
답
(1) AH 전송모드
-
인증구간 : IP 헤더에서 전송 중 변경가능 필드(TTL, Checksum 등)를 제외한 IP 패킷 전체를 인증
-
암호화 구간 : (암호화 미지원)
(2) AH 터널모드
-
인증구간 : New IP 헤더에서 전송 중 변경가능 필드를 제외한 New IP 패킷 전체를 인증
-
암호화 구간 : (암호화 미지원)
(3) ESP 전송모드
-
인증구간 : ESP 헤더와 암호화된 데이터(IP Payload + ESP 트레일러)를 인증
-
암호화 구간 : IP Payload 와 ESP 트레일러를 암호화
(4) ESP 터널모드
-
인증구간 : ESP 헤더와 암호화된 데이터(Original IP 헤드 + IP Payload + ESP 트레일러)를 인증
-
암호화 구간 : Original IP 패킷 전체(Original IP 헤드 + IP Payload) + ESP 트레일러를 암호화
(5) 키교환 프로토콜명 : IKE(Internet Key Exchange) 프로토콜 * 실제 문제에서는 AH, ESP 의 헤더 구조를 명확하게 보여 주었기 때문에, 각각에 대하여 인증구간, 암호화 구간을 최대한 상세하게 기술해 주어야 합니다. IKE 는 반드시 맞춰야 합니다.
143번
문제
HeartBleed 취약점 탐지위한 Snort Rule 설정 의미를 설명하시오.
alert tcp any any < > any (1)[443,465,523] ((2)content:"|18 03 00|"; depth: 3;
| (3)content:” | 01 | ”; distance: 2; within: 1; |
| (4) content:!” | 00 | ”; within: 1; (5)msg: “SSLv3 Malicious Heartbleed Request V2”; |
(6) sid: 1;)
답
(1) 탐지 대상 포트 번호를 443, 465, 523 으로 지정
(2) Content 에서 첫 3 바이트를 검사하여 바이너리 값으로 “18 03 00” 이 있는지 검사
(3) (2) 번이 끝난 위치에서 2 바이트 떨어진 위치에서 1 바이트를 검사하여 바이너리 값으로 “01”이 있는지 검사
(4) (3) 번이 끝난 위치에서 바로 1 바이트를 검사하여 바이너리 값으로 “00”이 포함되지 않은 지 여부를 검사
(5) (1)~(4) 의 탐지 룰에 모두 매칭이 되는 경우 로그에 “SSLv3 Malicious Heartbleed Request V2”로 기록
(6) 해당 룰의 식별자를 1 로 지정
144번
문제
Robot.txt 파일에 대하여 다음 물음에 답하시오.
(1) Robot.txt 파일의 용도
(2) 아래 설정값의 의미 useragent : yeti useragent : googlebot (가) allow : /
useragent : googlebot-image (나) disallow : /admin/ (다) disallow : /*.pdf$
답
(1) 검색엔진에서 자동 크롤링 도구에 대하여 접근 허용 여부를 제어하기 위한 파일
(2-가) 검색 엔진 로봇(yeti, googlebot) 에 대하여 root 디렉토리(/) 밑의 모든 파일 및 디렉토리의 크롤링을 허용 (2-나) 검색 엔진 로봇(googlebot-image)에 대하여 /admin 폴더 크롤링을 허용하지 않음. (2-다) 검색 엔진 로봇(googlebot-image)에 대하여 pdf 확장자를 가진 파일에 대하여 크롤링을 허용하지 않음
145번
문제
위험분석 접근법 중 복합접근법의 개념, 장점, 단점을 설명하시오.
답
1) 개념 : 고위험(high risk) 영역을 식별하여 상세 위험분석을 수행하고 다른 영역은 베이스라인 접근법을 사용하는 방식
2) 장점 : 분석의 정확성과 속도의 균형을 유지함으로써 효율적인 보안 정책 적용이 가능함. 보안 수준이 높은 환경에서는 상세위험분석 비중을 높이고, 신속한 대응이 필요한 경우 베이스라인 접근법 중심으로 운용하는 등 기업 상황에 맞게 유연한 적용이 가능
3) 단점 : 두 가지 접근법을 조합하여 사용해야 하므로 명확한 기준이 필요하며 관리 정책이 복잡해질 수 있음. 자산 중요도를 잘못 판단하면 과도한 분석 비용이 들거나, 중요한 시스템의 보안이 부족할 수 있음
146번
문제
정보보호조치에 관한 지침은 정보통신망법 제 45 조 2 항에 따라 정보통신서비스 제공자가 정보통신서비스를 제공하는데 사용되는 정보통신망의 안정성 및 정보의 신뢰성을 확보하기 위한 보호조치의 구체적인 내용에 대하여 정하는 것을 목적으로 한다. 해당 지침에서 규정하고 있는 보호조치의 구체적 내용 중 다음 항목에서 규정하고 있는 내용을 기술하시오.
1) 1.2.1.정보보호 방침의 수립 및 이행
2) 1.2.2.정보보호 실행 계획의 수립 및 이행
답
1.2.1.정보보호 방침의 수립·이행
-
정보보호 목표, 범위, 책임 등을 포함한 정보보호 방침(policy) 수립
-
정보통신서비스와 관련된 모든 법, 규제, 계약, 정책, 기술상의 요구사항을 문서화하고 시행
1.2.2. 정보보호 실행계획의수립·이행
-
정보보호 방침을 토대로 예산, 일정 등을 포함한 당해 연도의 정보보호 실행계획을 수립
-
최고경영층이 실행계획을 승인하고 정보보호 최고책임자가 추진 상황을 매 반기마다 점검
147번
문제
유닉스 시스템에 저장된 파일에 다음과 같은 권한이 설정되었다. 권한의 상세한 의미를 설명하시오.
[설정된 권한] -rwxr-x--x
답
해당 파일의 소유자는 읽고, 쓰고, 실행이 모두 가능함. 해당 파일의 그룹에 속한 사용자들은 읽고, 실행은 가능하나 파일 쓰기(Write)는 불가함. 기타 다른 사용자들은 실행만 가능하며 파일을 읽고, 쓰기(Write)는 불가함.
148번
문제
재해복구시스템 유형에는 미러사이트, 핫사이트, 웜사이트, 콜드사이트가 있다. 다음 물음에 답하시오.
1) 미러 사이트의 정의
2) 미러사이트의 장단점 각 2 개씩 설명
3) RTO 가 가장 오래 걸리는 방식은 무엇이며, 이유는 무엇인가?
답
1) 주센터와 동일한 수준의 시스템을 백업센터에 구축하고, 액티브-액티브 상태로 실시간 동시 서비스를 제공하는 방식
2-장점) 신속한 업무재개 가능(RTO:즉시), 데이터의 최신성 보장(RPO:0) 2-단점) 초기 투자 및 유지 보수 비용이 높음, 데이터 업데이트가 많은 경우 과부하 초래
3) COLD 사이트. 데이터만 원격지에 보관하고 서비스를 위한 정보자원은 최소한으로 확보되어 있어, 재해 시 필요한 자원을 조달하여 복구하는데 오랜 시간이 소요됨.
149번
문제
NTP 서비스 취약점을 이용한 한 DDoS 공격 대응방안 4 가지를 서술하시오.
답
1) 서버측면 대응 방안 2 가지 1-1) NTP 서버 버전 업그레이드 : monlist 기능이 제거된 버전(4.2.8 이상) 으로 업그레이드 하기 1-2) NTP 서버 버전 업그레이드 불가시 monlist 기능 비활성화 : /etc/ntp.conf 파일에 “disable monitor” 설정
2) 네트워크 측면 대응 방안 2 가지 2-1) 보안장비(예:방화벽)에서 인가되지 않은 외부 트래픽 유입 차단 : NTP 서비스 포트(udp 123) 접근 제한 2-2) 보안장비(예:방화벽)에서 비정상 NTP 패킷 차단 : 100 바이트 이상 NTP 응답 패킷 차단(정상 패킷은 40 바이트 이하). 동일 IP 에서 자주 쿼리 요청시 차단.
150번
문제
다음 자바 프로그램은 SQL Injection 에 취약한 소스와 취약점을 해소한 소스코드이다. ( )에 들어갈 코드를 작성하시오.
[취약한 소스코드]
1: //외부로부터 입력받은 값을 검증 없이 사용할 경우 안전하지 않다. 2: String gubun = request.getParameter(“gubun”); 3: …… 4: String sql = “SELECT * FROM board WHERE b_gubun = ‘” + gubun + “’”; 5: Connection con = db.getConnection(); 6: Statement stmt = con.createStatement(); 7: //외부로부터 입력받은 값이 검증 또는 처리 없이 쿼리로 수행되어 안전하지 않다. 8: ResultSet rs = stmt.executeQuery(sql);
[취약점을 해소한 소스코드]
1: String gubun = request.getParameter(“gubun”); 2: …… 3: //1. 사용자에 의해 외부로부터 입력받은 값은 안전하지 않을 수 있으므로, PreparedStatement 사용을 위해 ?문자로 바인딩 변수를 사용한다. 4: String sql = “SELECT * FROM board WHERE b_gubun = ( A ) “; 5: Connection con = db.getConnection(); 6: //2. PreparedStatement 사용한다. 7: PreparedStatement pstmt = con.( B )(sql); 8: //3.PreparedStatement 객체를 상수 스트링으로 생성하고, 파라미터 부분을 setString 등의 메소드로 설정하여 안전하다. 9: pstmt.( C )(1, gubun); 10: ResultSet rs = pstmt.( D );
답
A) ? B) prepareStatement C) setString D) executeQuery()