'자격증' 카테고리의 다른 글
[CCNA] 문제 풀이 사이트 (0) | 2016.08.31 |
---|---|
정보보안기사 기출문제 - 정보보호 관리법규 (0) | 2016.08.31 |
정보보안기사 기출문제 - 시스템 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 네트워크 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 어플리케이션 보안 (0) | 2016.08.31 |
[CCNA] 문제 풀이 사이트 (0) | 2016.08.31 |
---|---|
정보보안기사 기출문제 - 정보보호 관리법규 (0) | 2016.08.31 |
정보보안기사 기출문제 - 시스템 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 네트워크 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 어플리케이션 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 정보보호 관리법규 (0) | 2016.08.31 |
---|---|
정보보안기사 기출문제 - 정보보안 일반 (0) | 2016.08.31 |
정보보안기사 기출문제 - 네트워크 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 어플리케이션 보안 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part2 (0) | 2016.08.31 |
정보보안기사 기출문제 - 정보보안 일반 (0) | 2016.08.31 |
---|---|
정보보안기사 기출문제 - 시스템 보안 (0) | 2016.08.31 |
정보보안기사 기출문제 - 어플리케이션 보안 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part2 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part1 (0) | 2016.08.31 |
정보보안기사 기출문제 - 시스템 보안 (0) | 2016.08.31 |
---|---|
정보보안기사 기출문제 - 네트워크 보안 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part2 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part1 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 4과목 정보보안 일반 정리 (0) | 2016.08.31 |
※ 정보보안기사에 나오는 법 종류
- 정보통신망 이용촉진 및 정보보호 등에 관한법률(줄여서 정보통신망법 또는 망법 / 개인 정보보호, 기타 정보보호에 관한 조항만)
-- 개인정보 기술적/관리적 보호조치 기준(2012/08/23) : 걍 참고만
- 정보통신기반 보호법
- 정보통신산업 진흥법
- 전자서명법
- 개인정보보호법
-- 개인정보의 안전성 확보 조치 기준(2014-229호)
- 우리나라 법률 정보는 국가법령정보센터(http://www.law.go.kr/main.html)에서 쉽게 열람가능!! PDF로도 추출가능
2. 정보보호 관련법규(6문제/20문제)
(1) 정보통신망 이용촉진 및 정보보호 등에 관한 법률(※ 개인정보보호, 기타 정보보호 관련조항에 한정)
1) 용어의 정의
- 정보통신망
- 정보통신서비스
- 정보통신서비스 제공자
- 이용자
- 전자문서
- 개인정보 : 생존하는 개인에 관한 정보로써(성명/주민번호 등), 특정한 개인을 알아볼수 있는 부호/문자/음성 등의 정보
-- 각각 정보 하나하나로 개인을 구분못해도, 다른 정보와 결합해 구분이 가능하면 그것도 개인정보
- 침해사고 : 해킹/바이러스 등으로 정보통신망 또는 관련된 정보시스템을 공격하는 행위
- 정보보호산업
- 전자적 전송매체
2) 정보통신망이용촉진 및 정보보호 등 시책
- 미창부장관 또는 방통위는 정보통신망 이용촉진 및 안정적 관리 운영과 이용자의 개인정보보호 등을 통해 정보사회의 기반을 조성하기 위한 시책을 마련해야 함
-- 정보통신망에 관련된 기술의 개발/보급
-- 정보통신망 표준화
-- 정보내용물 및 11조에 따른 정보통신망 응용서비스의 개발 등 정보통신망의 이용 활성화
-- 정보통신망을 통하여 수집/처리/보관/이용되는 개인정보 보호 및 그와 관련된 기술의 개발 보급
-- 정보통신망에서의 청소년 보호
-- 정보통신망의 안전성 및 신뢰성 제고
-- 그 밖의 정보통신망 이용촉진 및 정보보호 등을 위하여 필요한 사항
- 미창부장관과 방통위가 위에 제시한 시책을 만들 때, 국가정보화기본법 제6조에 따른 정보화 기본 계획과 연계되도록해야함
3) 개인정보보호 / 4) 정보통신망의 안정성 확보 / 5) 정보통신망 침해행위
- 개인정보보호법과 유사하지만 차별적인 요소가 있음
- 개인정보수집/이용 및 제공(22조)
-- 정보통신 서비스 제공자가 개인정보 이용을 위해 수집할 때, 알리고 동의받아야 하는 것
--- 개인정보의 수집 이용 목적
--- 수집하려는 개인정보의 항목
--- 개인정보의 보유이용기간
--- ※ 개인정보보호법에서는, 거부할 권한이 있다는것과 이에 따른 불이익도 알리고 동의받아야해
-- 다음은 동의없이도 수집이용가능
--- 정보통신서비스 제공에 관한 계약을 이행하기 위해 필요한 개인정보로서 경제적, 기술적은 사유로 통상적인 동의받는게 뚜렷하게 곤란할 때
--- 정보통신서비스 제공에 따른 요금정산을 위하여 필요한 경우
--- 이 법(망법) 또는 다른 법률에 특별한 규정이 있는 경우
- 개인정보수집 제한 등(23조)
-- 개인정보수집금지 : 사상/신념/가족 및 친인척관계/학력/병력 등 권리 이익이나 사생활을 뚜렷하게 침해할 우려가 있는 경우
-- 수집 허용 : 이용자의 동의나 다른 법률에 허용된 경우
-- 서비스 거부 : 이용자가 최소한의 개인정보 밖에 안알려줬다고 서비스 거부 안됨
- 주민등록번호 사용제한(23조의 2)
-- 다음의 경우를 제외하고 이용자의 주민등록번호를 수집/이용 불가
--- 본인확인기관
--- 법령에서 이용자의 주민등록번호의 수집/이용을 허용하는 경우
--- 주민등록번호의 수집/이용이 불가피한 정보통신서비스 제공자로서 방통위에서 고시한 경우
-- 주민등록번호를 수집/이용 가능하여도, 대체수단(주민번호말고 따른 인증수단)을 제공해야 함
--- 아이핀 / 공인인증서 / 원타임패스워드(OTP)
- 개인정보 이용제한(24조)
-- 수집한 개인정보를, 동의받지 않은 목적(이용목적)으로 이용해서는 안됨
-- 이용목적이 변경되었을 땐 다시 동의받아야 해
- 개인정보의 제공동의(24조의 2)
-- 개인정보를 제 3자에게 제공할 때, 다음의 내용을 이용자에 알리고 동의받아야 함
--- 개인정보를 제공받는 자
--- 개인정보를 제공받는 자의 개인정보의 이용목적
--- 제공하는 개인정보의 항목
--- 개인정보를 제공받는 자의 개인정보 보유 및 이용기간
- 개인정보취급위탁(25조)
-- 위탁은 걍 하청업체에다가 정보주고 너네 이부분 알아서해시키는거
-- 취급위탁의 경우에도 다음의 내용을 이용자에게 알리고 동의를 받아야 함
--- 개인정보 취급위탁을 받는자(수탁자)
--- 개인정보 취급위탁을 하는 업무의 내용
-- ※ 망법에서는 취급 위탁시 동의를 받아야 하지만 개인정보보호법에서는 고지만 함
- 개인정보의 양도 양수(26조)
-- 정보통신서비스 제공자 등이 영업의 전부나 일부가 양도/합병으로 개인정보를 타인에게 이전하는 경우 다음의 내용을 알려야함
--- 개인정보를 이전하려는 사실
--- 개인정보를 이전받는자의 성명(법인명) / 주소 / 전화번호 및 그 밖의 연락처
--- 개인정보의 이전을 원치않은 경우, 그 동의를 철회할 수 있는 방법과 절차
-- 인터넷 홈페이지의 게시 / 전자우편 등 대통령령으로 정하는 방법에 따라 이용자에게 알림(바로 아래 시행령에 정의)
-- 양도자가 개인정보의 이전 사실을 알린경우, 양수자는 할 필요는 X
- 개인정보 동의 받는 방법(동법 시행령 12조) : 바로 위의 개인정보 양도 양수할 때 알리는 방법
-- 인터넷 사이트에 게재하고 동의 여부를 표시하도록
-- 동의 내용이 기재된 서면을 이용자에게 직접 교부/우편/모사 전송 → 이용자가 동의 내용에 대해 서명날인 후 제출하도록
-- 동의 내용이 담긴 전자우편 발송해 이용자로부터 동의의 의사표시가 적힌 전자우편 받는 방법
-- 전화를 통해 동의 내용을 알리고 동의 얻기
- 개인정보 관리책임자 지정(27조)
-- 정보통신서비스 제공자 등은 개인정보를 보호하고 개인정보와 관련한 이용자의 고충을 처리하기 위해 개인정보 관리 책임자를 지정
--- 예외 : 인터넷으로 사업시 5명 미만 / 전년도 말 기준 직전 3개월 일일평균 이용자 1천명 이하
-- 자격 : 임원 / 개인정보와 관련해 이용자의 고충처리를 담당하는 부서의 장 이 될 수 있음
-- 지정안하면 사업주나 대표자가 개인정보 관리책임자
- 개인정보 취급방침의 공개(27조의 2)
-- 개인정보 취급방침은 인터넷 홈페이지 첫 화면 제일 하단에 '개인정보취급방침'이라고 볼드체, 다른 색상으로 표현
--- 인터넷 홈페이지가 없으면 점포나 사무실에 써 붙이거나 비치
-- 개인정보 취급방침의 내용
--- 개인정보의 수집/이용 목적, 수집하는 개인정보의 항목 및 수집방법
--- 제 3자에게 제공시, 제공받는 자의 성명(법인명) / 제공받는자의 이용목적 / 제공하는 개인정보의 항목
--- 개인정보의 보유 및 이용 기간 / 개인정보의 파기절차 및 파기 방법
--- 개인정보 취급위탁을 하는 업무의 내용 및 수탁자
--- 이용자 및 법정대리인의 권리와 행사방법
--- 개인정보를 자동으로 수집하는 장치의 설치/운영 및 거부에 관한 사항
--- 개인정보 관리책임자의 성명 / 개인정보보호 업무를 하는 부서의 명칭과 연락처
- 개인정보 누출 등의 통지 신고(27조 3)
-- 개인정보 털린사실(분실/도난/누출) 알고나면, 지체없이 다음 내용 이용자에게 알리고 방통위나 KISA에 신고
--- 분실/도난/누출이 된 개인정보 항목
--- 분실/도난/누출이 발생한 시점
--- 이용자가 취할 수 있는 조치
--- 정보통신서비스 제공자 등의 대응 조치
--- 이용자가 상담 등을 접수할 수 있는 부서 및 연락처
-- 물론, 확인된 내용만 우선적으로 신고/통지하고 이후에 알게 되자마자 바로 신고/통지
-- 정당한 사유가 있는 경우, 위의 내용을 인터넷 홈페이지에 30일 이상 게시함으로써 대체 가능
-- 천재지변이나 정당한 이유로 홈페이지가 불가능하면, 전국에 보급되는 둘 이상의 일반일간신문에 1회 이상 공고
-- 신고받은 KISA는 방통위에게 즉시 알려야 함
- 개인정보의 보호조치(28조)
-- 다음의 기술적/관리적 보호 조치를 해야 함
--- 내부관리계획수립시행 / 접근통제장치설치운영 / 접속기론위변조방지 / 전송저장 암호화 / 바이러스침해방지 / 기타 안정성 확보
- 개인정보의 파기(29조)
-- 개인정보는 목적을 달성하면 지체없이 복구/재생할 수 없도록 파기
-- 특별한 사유 없을 때, 보유기간은 최소 1년에서 3년
-- 개인정보 파기 통지는 30일전에 개인정보가 파기되는 사실과 언제 파기하는지 알림
--- 우편 / 서면/ 모사전송 / 전화와 같은 유사한 방법으로 알려야 함
- 개인정보 이용내역의 통지(30조 2)
-- 다음의 기준을 만족하는 정보통신서비스 제공자 등은 주기적으로 이용자에게 개인정보 이용내역을 통지해야 함
--- 전년도 말 기준 직전 3개월간 일일평균 100만명 이상
--- 정보통신서비스부분 매출액이 100억원 이상 정보통신서비스 제공자
-- 통지 내역
--- 수집/이용 목적 및 수집한 개인정보 항목
--- 개인정보를 제공받은 자와, 그 제공 목적 및 제공한 개인정보 항목
--- 개인정보 취급위탁을 받은자와 그 취급위탁을 하는 업무 내용
-- 통지 횟수 : 연 1회 이상 (우편 / 서면 / 모사전송 / 전화와 같은 유사한 방법으로)
- 손해배상 및 법정 손해배상청구(32조, 32조의 2)
-- 고의/과실에 따른 개인정보 분실/도난/누출의 경우, 이용자가 정보통신서비스제공자를 상대로 300만원 이하의 손해배상 청구 가능
--- 정보통신서비스 제공자는 고의나 과실 책임이 없음을 입증해야 함
- 정보보호 사전점검(45조 2)
-- 정보통신서비스 제공자가 새로 정보통신망을 구축하고나 제공하고자 할때, 정보보호와 관련된 사항을 고려해야 해
- 정보보호 최고 책임자의 지정(45조 3)
-- 정보통신시스템 등 보안 및 정보의 안전한 관리르 위해 임원급의 정보보호 최고책임자를 지정가능
--- 종업원 수, 이용자 수 등이 기준에 해당하면 필수로 지정하고 미창부장관에게 신고해야 함
-- 정보보호 최고책임자의 업무
--- 정보보호관리체계의 수립 및 관리/운영
--- 정보보호 취약점 분석/평가 및 개선
--- 침해사고의 예방 및 대응
--- 사전 정보보호대책 마련 및 보안조치 설계/구현 등
--- 정보보호 사전 보안성 검토
--- 중요 정보의 암호화 및 보안서버 적합성 검토
--- 그 밖의 정보보호를 위해 필요한 조치의 이행
- 정보보호관리체계(ISMS)(47조)
-- 미창부 장관은 ISMS를 수립/운영하고 있는 자에 대해 기준에 적합한지에 관하여 인증을 가능
-- 다음의 경우 중, 하나만 만족해도 무조건 ISMS 인증 받아야 해
--- 정보통신망서비스 제공하는 자
--- 직접정보통신시설 사업자
--- 전년도 매출액이 100억원 이상 / 전년도 말 기준 직전 3개월간 일일평균 이용자 100만명 이상
-- ISMS 인증의 유효기간은 3년임
-- 미창부장관은 KISA나 미창부장관이 지정한 기관(ISMS 인증기관)에게 인증을 수행하게 할 수 있음
--- ISMS 인증 심사 수행 기관 : KISA / 한국정보통신진흥협회
- 개인정보관리체계인증(PIMS)(47조 3)
-- ISMS와는 다르게 아직 의무사항이 아님(권고사항)
-- 이건 방통위가 인증하고, 따로 수행기관을 지정가능해
- 정보보호관리등급(47조 5)
-- ISMS 인증을 부여받은 기관이나 기업은 일괄적인 인증이 아니라, KISA로부터 정보보호 등급을 부여받을 수 있음
-- 미창부장관이 관리등급 부여하는거고, KISA가 대신 수행가능
(2) 정보통신 기반 보호법
1) 용어의 정의
- 정보통신기반시설
- 전자적침해행위
- 침해사고
2) 주요정보통신기반시설 보호체계
3) 주요정보통신기반시설의 지정과 취약점 분석
4) 주요정보통신기반시설의 보호 및 침해 사고의 대응
- 정보통신기반보호위원회(3조)
-- 정보통신기반시설의 보호에 관한 사항을 심의하기 위해, 국무총리 소속하에 정보통신기반보호위원회를 둠
-- 위원장 1인을 포함한 25인 이내의 의원으로 구성
--- 위원장은 국무조정실장
-- 효율적 운영을 위해, 공공분야와 민간분야를 각각 담당하는 실무 위원회를 둠
- 정보통신기반보호위원회의 기능(4조)
-- 주요 정보통신기반시설 보호정책 조정이나 제도개선에 대한 사항과 주요 정책
-- 위원장이 부의하는 사항을 심의
- 주요 정보통신기반시설보호대책의 수립(5조)
-- 주요 정보통신기반시설을 관리하는 기관은 정보통신기반시설보호대책을 수립/시행해야 함
--- 수립/시행의 결과를 관계주요행정기관의 장에게 제출해야 함
-- 관리기관의 장은 정보보호책임자를 지정해야 함
- 주요 정보통신기반시설보호대책 이행여부의 확인(5조 2)
-- 미창부장관과 국정원장은 관리기관에 대해 정보통신기반시설보호대책의 이행여부 확인가능
- 주요 정보통신기반시설 계획의 수립 등(6조)
-- 관계중앙행정기관의 장은 정보통신기반보호위원회에게 전년도 추진실적과 다음연도 계획을 제출하고 심의받아야 함
--- 취약성 평가분석 / 침해사고 복구대책 / 그 밖의 대책
- 주요 정보통신기반시설의 보호지원(7조)
-- 관리기관의 장은 미창부, 국정원장 등에게 정보통신시설의 대책, 침해사고 예방복구 등에 대한 기술지원 가능
--- 국정원장은 금융/정보통신기반시설에 개인정보가 저장된 모든 정보통신기반시설 기술지원은 X
---- 국정원도 안되는게 있구나
(3) 정보통신산업 진흥법
1) 지식정보보안컨설팅 전문업체
- 지식정보보안컨설팅 전문업체(33조)
-- 주요 정보통신기반시설의 취약점 분석/평가 업무나 보호대책 수립업무를 신뢰성 있게 수행할수있다고 인정받은 업체
-- 미창부장관이 지정하게 되네
-- 업체지정은 법인으로 한정되고, 3년간의 유효기간이 있음(재지정 받을수있지 당연히)
- 지식정보보안컨설팅 전문업체 결격 사유(34조)
-- 뭐...생략
- 지식정보보안컨설팅 전문업체의 양도/합병 등(35조)
-- 양수인이 자격도 있어야 되고, 미창부장관에게 신고해서 수리 받아야 지식정보보안컨설팅 전문업체의 지위를 승계받음
- 지식정보보안컨설팅 전문업체 휴/폐업, 재개(36조)
-- 휴업/폐업, 재개하려는 날의 30일전까지 미창부장관에게 신고
- 자료의 기록 보존(39조)
-- 주요 통신기반시설의 취약점 분석/평가 업무와 관련하여 작성한 기록 및 자료를 안전하게 보존해야함
--지식정보보안컨설팅 전문업체에서 취소되거나 폐업하면, 주요 통신기반시설의 장에게 자료를 반환하거나 폐기
- 지식정보보안산업협회 설립(40조)
-- 미창부장관의 인가를 받아 지식정보보안산업협회를 설립가능
-- 지식정보보안산업협회는 법인으로 함
(4) 전자서명법
1) 용어의 정리
- 전자문서
- 전자서명
- 공인전자서명
- 전자서명생성정보
- 전자서명검증정보
- 인증
- 인증서
- 공인인증서
- 공인인증업무
- 공인인증기관
- 가입자
- 서명자
- 개인정보
2) 전자서명의 효력
- 전자서명의 효력(3조)
-- 공인전자서명이 있는 경우에는, 당해 전자서명이 [서명자의 서명, 서명날인 또는 기명날인이고], 당해 전자문서가 전자서명된 후 그 내용이 변경되지 아니하였다고 추정
3) 공인인증기관
- 공인인증기관의 지정(4조)
-- 미창부 장관이 공인인증기관을 지정할 수 있어
-- 공인인증기관으로 지정받을 수 있는 건 국가기관 / 지방자치단체 / 법인에 한해
-- 현재 : 한국정보인증(주), (주)코스콤, 금융결재원, 한국전자인증(주), 한국무역정보통신
- 공인인증업무 준칙(6조)
-- 공인인증기관은 업무 개시전에, 공인인증업무준칙을 작성해 미창부장관에게 신고해야 함
--- 인증업무종류 / 인증업무의수행방법및절차 / 공인인증역무의 이용조건 / 기타 인증업무 수행에관하여 필요사항
4) 공인인증서
- 공인인증서 발급(15조)
-- 공인인증서를 발급받고자하는 자의 신원을 확인해야 함
-- 공인인증기관이 발급하는 공인인증서에는 다음의 내용이 포함되어야 함
--- 가입자의 이름(법인명)
--- 가입자의 전자서명검증정보
--- 가입자와 공인인증기관이 이용하는 전자서명 방식
--- 공인인증서의 일련번호
--- 공인인증서의 유효기관
--- 공인인증기관의 명칭 등 공인인증기관을 확인할 수 있는 정보
--- 공인인증서의 이용범위 또는 용도를 제한하는 경우 이에 관한 사항
--- 가입자가 제 3ㅈ라를 위한 대리권 등을 갖는 경우 또는 직업상 자격 등의 표시를 요청한 경우 이에 관한 사항
--- 공인인증서임을 나타내는 표시
- 공인인증서 효력소멸(17조???)
-- 공인인증서 유효기관이 경과한 경우
-- 공인인증기관의 지정이 취소된 경우
-- 공인인증서의 효력이 정지된 경우
-- 공인인증서가 폐지 된 경우
- 공인인증서의 효력정지(17조)
-- 가입자 또는 대리인의 신청이 있을 경우, 공인인증서의 효력을 정지하거나 정지된 공인인증서의 효력을 회복해야 함
-- 공인인증서 효력 회복의 신청은, 공인인증서 효력이 정지된 날로부터 6개월 이내여야 함
(5) 개인정보보호법
0) 걍 설명
- 2011년 9월 30일 제정되어 공공과 민간을 아우르는 일반법
- 정보통신망 이용촉진 및 정보보호 등에 관한 법률이 개인정보보호법 보다 우선
-- 정보통신망법에 특별한 규정이 있지 않은 이상, 개인정보보호법에서 정하는 바에 따름(6조)
- 대부분 공공기관과 준용사업자에게 적용되는 법률로, 광범위하게적용되는 개인정보보호관련 일반법
- 전반적으로 망법이랑 내용겹치는게 있어(몇 개 더 추가되고 그런거만 있찌..)
1) 용어의 정리
- 개인정보
- 처리
- 정보주체
-개인정보파일
- 개인정보처리자
- 공공기관
- 영상정보처리기기
- ※ 망법이랑 비교하면서 보기
2) 개인정보 보호위원회
- 개인정보 보호위원회(7조)
-- 개인정보 보호에 관한 사항을 심의/의결하기 위해 대통령소속으로 개인정보보호위원회를 둠
-- 위원장 1명, 상임위원 1명을 포함한 15명 이내의 위원으로 구성
--- 위원장은 공무원이 아닌사람으로 대통령이 위촉 / 임기 3년(1번 연임가능)
--- 상임위원은 정무직 공무원으로 임명
- 개인정보 보호위원회 기능(8조)
-- 허허ㅓ..
3) 개인정보의 수집, 이용, 제공 등 단계별 보호기준
- 개인정보의 수집/이용(15조)
-- 개인정보처리자는 개인정보 이용을 위해 수집할 때, 알리고 동의받아야 하는 것
--- 개인정보의 수집 이용 목적
--- 수집하려는 개인정보의 항목
--- 개인정보의 보유이용기간
--- 개인정보보호법에서는, 거부할 권한이 있다는것과 이에 따른 불이익도 알리고 동의받아야해
---- 이건 망법에 없는내용
- 개인정보 수집 제한(16조)
-- 동의를 받고 개인정보를 수집하더라도 최소한으로 수집해야 함
--- 최소한이라는 걸 입증할 책임도 개인정보처리자에게 있지
- 개인정보제공(17조)
-- 개인정보를 제 3자에게 제공할 때, 다음의 내용을 이용자에 알리고 동의받아야 함
--- 개인정보를 제공받는 자
--- 개인정보를 제공받는 자의 개인정보의 이용목적
--- 제공하는 개인정보의 항목
--- 개인정보를 제공받는 자의 개인정보 보유 및 이용기간
--- 동의를 거부할 권리가 있다는 사실 및 동의거부에 따른 불이익이 있는 경우 그 불이익의 내용
---- 망법에 없는 내용
- 업무위탁에 따른 개인정보의 처리제한(26조) ; 순서는 뒤에있지만 끌어다 왔어
-- 업무위탁시에는 반드시 문서로 해야되고, 위탁계약서에는 개인정보보호에 대한 역할과 책임을 명시해야 함
-- 업무위탁시에는 개인정보처리방침을 공개해야 함
-- 손해배상책임에서는 수탁자를 위탁자의 소속직원으로 보기에 관리감독 철저히!
- 개인정보취급자에 대한 감독(28조)
-- 개인정보처리자는 개인정보취급자에 대하여 적절한 관리/감독을 이행해야함
--- 개인정보취급자는 임직원부터 파견근로자, 알바, 인턴까지 개인정보처리자의 지후 감독하에 개인정보를 처리하는 자 모두
--- 정기적인 교육을 실시
- 개인정보의 이용/제공 제한(18조)
-- 개인정보를 제공하더라도 최소한의 제공하고 이용목적의 범위를 벗어나서는 안됨
-- 제 3자 제공시에는 반드시 개인정보처리방침을 통해 공개
- 정보주체 이외에서 수집한 개인정보 수집 출저 등 고지(20조)
-- 개인정보 처리자가 정보주체 이외에서 수집한 경우
정보주체의 요구가 있으면 수집출저, 개인정보처리목적, 처리정지를 요구할 권라가 있음을 알려야함
- 개인정보의 파기(21조)
-- 개인정보의 처리목적을 달성하면 지체없이 파기
--- 다른 법령에 보존근거가 있으면 그거에 따라야지
-- 개인정보를 파기하지 않고 보존하는 경우는, 다른 개인정보와 분리하여 저장관리
4) 고유 식별정보 처리제한
- 민감정보처리제한(23조)
-- 사상, 신념, 노동조합, 정당의 가입탈퇴, 정치적견해, 건강, 성생활 등에 관한 정보를 처리 못하게 함
-- 망법보다 더 구체적이고 넓어졌지
- 고유식별정보처리제한(24조)
-- 개인정보처리자는 다음의 경우 제외해고 고유식별정보를 처리 불가
--- 정보주체에게 모든 사항알리고 별도로 동의를 받은경우
--- 법령에서 구체적으로 고유식별정보의 처리를 요구하거나 허용한 경우
-- 공유식별정보 : 주민등록번호 / 여권번호 / 운전자면허번호 / 외국인등록 번호 등
- 주민등록번호의 처리제한(24조의 2)
-- 다음의 경우를 제외하고 주민등록번호 처리 불가
--- 법령에서 구체적으로 주민등록번호의 처리를 요구하거나 허용한 경우
--- 정보주체나 제 3자의 급박한 생명,신체, 재산의 이익을 위해 명백히 필요하다고 인정되는 경우
--- 주민등록번호 처리가 불가피한 경우로서 행정자치부령으로 지정하는 경우
-- 개인정보처리자가 불가피하게 주민등록번호를 수집했다면, 분실/도난/유출 등을 막기 위해 암호화 조치를 통해 안전하게 보관해야됨
-- 개인정보처리자가 주민등록번호 처리 가능하더라도, 주민등록번호가 아닌 방법으로 가입할 방법 제공해야 됨
- 주민등록번호 유출시 과징금 5억(32조 2)
-- 행정자치부장관은 개인정보처리자가 처리하는 주민등록번호가 분실/도난/유출 등을 당하면 5억원 이하의 과징금을 부과/징수 가능
--- 물론 필요한 조치를 다했다면 그러지 아니하대
5) 영상정보처리기기의 설치 제한
- 영상정보처리기기의 설치/운영 제한(25조)
-- 법령에서 허용되는 경우를 제외하고는 공개된 장소에 영상정보처리기기를 설치해서는 안됨
-- 공공기관에서 설치/운영하려면 공청회 거쳐야하고, 이해관계자의 의견은 수렴하는 절차까지만 하면됨
-- 설치할때는 가장 잘 보이는 건물 중앙에 설치
-- 녹음은 해서는 안되
-- 다른용도로 사용하면 X
6) 개인정보 영향평가제도
- 개인정보처리방침의 수립 및 공개(30조)
-- 개인정보처리자는 홈페이지 첫 화면 아래에 개인정보처리방침을 공개해야함
-- 볼드체, 색상을 다르게
-- 홈페이지 없으면 사무실에 잘보이게 비치
- 개인정보 보호책임자 지정(31조)
-- 개인정보처리자는 개인정보의 처리에 관한 업무를 총괄해서 책임질 개인정보 보호책임자를 지정해야 함
-- ...하는일들 생략
- 개인정보파일 등록 및 공개(32조)
-- 공공기관의 경우, 개인정보파일에 대한 자세한사항들을 행정자치부장관에게 신고해야함
-- 행정자치부장관은 신고받은 개인정보파일에 대한 자세한 사항들을 누구나 열람가능하도록 공개해야 함
- 개인정보 영향평가(33조)
-- 공공기관은 특정한 요건을 충족할 경우 개인정보영향평가를 의무적으로 받아야 함
--- 5만명 이상의 정보주체에 대한 민감정보나 고육식별정보를 처리함
--- 다른 개인정보파일과의 연계할때, 50만명 이상의 정보주체에 관한 개인정보를 처리
--- 100만명 이상의 정보주체에 대한 개인정보파일의 처리함
-- 민간은 아직까지 권고사항
-- 공공기관은 영향평가의 결과를 행정자치부장관에게 제출해야 함
--- 행정자치부장관이 지정한 평가기관 중에서 의뢰해야 함
7) 개인정보 유출사실의 통지/신고제도
- 개인정보유출통지(34조)
-- 개인정보가 유출되었을 때에는 지체없이 정보주체에게 알려야 함
8) 정보주체의 권리보장
- 개인정보의 열람(35조)
-- 정보주체는 개인정보처리자에게 자신의 개인정보 열람을 요구할 수 있음
-- 이것도 보여줘야 되는기간이 따로 있어(대통령령)
-- 물론, 개인정보의 열람이 타인에게 해를 끼치는 등의 영향이 있을것 같으면 제한하거나 거부가능
- 손해배상 책임(39조 2항)
-- 정보주체는 개인정보처리자가 법을 윟반한 행위로 손해를 입으면 손해배상 청구가능
--- 개인정보처리자는 고의나 과실이 없음을 입증해야 해야 책임 면함
-- 물론, 개인정보처리자가 의무를 준수하고 최선을 다했다면 감경받을 수있긴해
9) 개인정보 분쟁조정위원회
- 개인정보 분쟁조정위원호의 설치 및 구성(40조)
-- 개인정보에 관한 분쟁의 조정을 위해 개인정보 분쟁조정위원회를 둠
-- 위원장 1명을 포함한, 20명 이내의 위원으로 구성(그 中 1명은 상임위원)
-- 개인정보와 관련한 분쟁의 조정을 원하는 자는 분쟁조정위원회에 분쟁조정을 신청가능
--- 분쟁조정위원회는 해당 내용을 상대방에 알려야 함
--- 공공기관이 경우 별다른 사유업승면 분쟁조정에 응해야 함
-- 분쟁조정을 신청받은 날로부터 60이내에 이를 심사해 조정안을 작성해야 함
--- 물론 의결로 처리기간 연장가능(연잔시 신청자에게 이유와 함께 알려야 함)
-- 조정전에 합의를 권고가능
- 집단조정분쟁조정(49조)
-- 정보주체의 피해 또는 권리침해가 다수의 정보주체에게 같은거나 비슷한 유형으로 발생하는 경우에 신청가능
(6) 개인정보의 안정성 확보 조치 기준(안행부고시 제2014-229호)
- 내부관리 계획수립.시행(3조)
-- 망법처럼 개인정보보호법에서도 안정성확보 조치를 위해 내부관리계획을 수립해야 함
--- 실행가능하고 / 구체적이고 / 맞춤형
-- 물론, 소상공인은 안해도되
- 접근권한 관리(4조)
-- 개인정보 수집시에는 최소화하여 수집
-- 개인정보처리시스템에 접근할 때에도 접근권한을 차등부여하고 최소한의 범위로 설정
-- 접근권한의 부여 기록은 3년간 보관
-- 개인정보 취급자의 사용 계정은 공유해서 사용해서는 안됨
- 접근통제(5조)
-- 정보통신망을 통한 불법적인 접근과 침해사고의 방지를 위해 다음과 같은 기능을 시스템에 설치/운영해야 함
--- 접속권한을 IP주소 등으로 제한하여 접근제어
--- 접속한 IP주소 등을 분석하여 불법적인 개인정보 유출시도 탐지
--- IDS / IPS / Firewall를 말하는것 같음
-- 외부망에서 개인정보처리시스템에 접근시 VPN이나 전용선등 안전한 접속수단 적용해야 함
-- 주민등록번호 이용해 본인인증 외에도 추가 인증수단을 마련해야함
-- 개인정보처리자는 연 1회이상 취약점을 점검해야 함
-- 개인정보취급자가 공개된 무선망을 통해 개인정보를 처리하는 경우, 보안프로그램이나 SSL, VPN 등을 적용해야함
-- 개인정보처리에 이용되는 모바일 기기의 분실/도난 등을 예비해 비밀번호나, 잠금 기능의 조치를 해야 함
- 개인정보의 암호화(6조)
-- 암호화 대상 : 고유식별정보, 비밀번호 및 바이오정보
--- 비밀번호및 바이오정보는 암호화하여 저장하되, 비밀번호는 일방향 암호화해서 저장(해쉬값)
-- 정보통신망을 이용해 개인정보를 송수신할 떄에도 암호화를 해야함(SSL 등 사용)
- 접속기록의 보관 및 점검(7조)
-- 개인정보처리시스템의 접근 기록은 6개월 이상 보관해야 함
-- 위/변조를 방지하기 위해 안전하게 보관
-- 반기별로 1회 이상 점검
- 악성프로그램 등 방지(8조)
-- 백신 소프트웨어 설치/운영
--- 자동 업데이트 기능 사용하거나, 일 1회 이상 엔진 업데이트 해야 됨
--- 악성 프로그램관련 경보가 떳을 때에는, 사용하는 백신의 보안 업데이트 공지가 뜨면 업데이틀 통해 최신상태 유지해야 함
- 물리적 접근 방지(9조)
-- 전산실이나 자료보관실에 개인정보를 보관시에는, 출입통제 절차를 수립/운영해야 함
-- 서류와 보조저장매체는 안전한 곳에 보관
- 개인정보의 파기(10조)
-- 완전파괴 / 전용소자장비를 이용한 삭제 / 복원안되게 포맷 또는 덮어쓰기
정보보안기사 기출문제 - 네트워크 보안 (0) | 2016.08.31 |
---|---|
정보보안기사 기출문제 - 어플리케이션 보안 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part1 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 4과목 정보보안 일반 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 3과목 어플리케이션 보안 정리 (0) | 2016.08.31 |
1. 정보보호 관리
(1) 정보보관리 개념
1) 정보보호의 목적 및 특성
- 정보보호의 정의 : 정보의 수집, 가공, 저장, 검색, 송신, 수신 중 발생할 수 있는 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적/기술적 수단(정보보호시스템)을 마련하는 것을 말한다.(국가정보화 기본법)
- 정보보호 ≠ 정보보안 : 정보보안이 Site(공간)이라는 개념이 더 들어간, 넓은 개념이라고 생각하자
- 정보보호의 목적 : 기밀성 / 무결성 / 가용성 / 인증 / 부인방지 / 신뢰성 등
2) 정보보호와 비즈니스
- 정보보호와 비즈니스 : IT 인프라에 대한 정보보호는 비즈니스의 보호뿐만이 아니라 비즈니스 가치의 증가로 이어 짐
-- 한 조직의 정보 자산뿐만이 아니라 고객의 정보(개인정보)까지 보호해야 할 법적인 의무도 있고, 고객의 신뢰로 이어지니까
-- 향후 조직의 비즈니스에 큰 도움이 될 것은 자명해
3) 정보보호관리의 개념
- 정보보호관리(Information Security Management)
-- 조직의 정보자산을 외부로 부터의 유(노)출과 오용, 유실으로 부터 방어하고, 정보나 정보 시설을 방어하는데 관련된 모든 일련의 활동
- 정보보호관리를 위한 6단계 활동
-- 정보보호 정책 및 조직 수립 → 정보보호 범위 설정 → 정보자산의 식별 → 위험관리 → 구현 → 사후관리
- 위의 활동들을 지속적으로 하기 위해 체계화해서 만든게 정보보호관리체계(ISMS ; Information Security Management)
-- 그냥 한 번 정보보호 솔루션을 만들고 끝내는게 아니라, 비즈니스의 연속성과 함께 계속 지속되어야 되
-- 최근에는 매출이 크거나 고객이 많은 조직은 법적으로 갖춰야해
(2) 정보보호 정책 및 조직
1) 정보보호 정책의 의미 및 유형
- 정책(Policy) : 최고 경영진의 전략적인 사고를 문서화한 것
-- 정책 中, 가장 핵심적인 걸 "정책서"라고 함
-- 하향식 유형(Top-Down) : 상위 정책으로 부터 하위수준의 정책을 도출하는 방식
-- 상향식 유형(Bottom-Up) : 기존의 정책들을 종합해 새로운 정책을 수립하는 방식
- 정책이 가지는 특징과 가져야할 특징
-- 여러 다른 지침과 하위 수준간의 정책들이 일관성과 연관성이 필요함
-- 최상위 정책은 전사적인 정책을 모두 포함해야 함
-- 간결하고 명확 / 정보보호의 목표와 회사의 비전을 포함해야 함
-- 영향을 받는 임직원들에게 정책에 대한 설명 해야 함 / 간단한 내용과 이해하기 쉬운 표현
- 정보보호 정책서의 구성
- 정보보호 선언문 : 보통 1장에 심플하게 작성 / 정보보호전반에 대한 경영자의 의지 및 실천을 다짐하는 선언문
- 정책서 목적과 구성 / 기본 방침 / 정보보호계획수립 / 보안에대한 역할과 책임 / 정보자산의 보안 / 등
2) 정보보호 정책수립 절차
- 정보보호 정책 수립 : 조직 전반에 걸친, 최상위 수준의 정보보호정책을 수립하고, 조직내 책임을 설정
-- 정보보호 정책서 안에 포함되는 개념인듯
- 정보보호 정책 수립 과정
-- 경영목표를 지원하는 법적/규제적인 요건을 파악
-- 위험관리에 따른 전략적 정보보호 정책 수립
- 정보보호 정책서 작성 방안(정보보호 정책 수립도 여기에 들어가)
-- 목적 : 중요한 정보자산이 무엇인지 식별하여 선언
-- 적용 범위 : 정책이 적용되는 범위(전사이냐, 특정 부서이냐)
-- 정책의 내용 : 간단하고 명료하게
-- 책임 : 정책을 수행하기 전에, 기본적으로 책임사항을 정의해야함(경영진의 책임, 일반직원의 책임 등)
-- 문서승인 : 정보보호 정책의 승인은 최고 경영자(CEO)가 이 정책을 승인하고 지원의지를 알리는 것(반드시 승인받아야 해)
-- 정보보호위원회의 구성 : 정보보호정책 수립의 이행을 위해 만든 위원회(형식적인 위원회 구성이 아닌 실직적 운영을 위한)
3) 조직 체계와 역할/책임
- 정보보호 조직 : 정보보호 정책을 잘 수립하여 수행해 나갈 수 있는, 체계적인 역할과 책임을 가지는 조직
-- 위에서 언급했듯이, 정보보호 정책서에 책임사항을 정의한거랑 연계해서 생각해
- 일반적인 정보보호 조직체계
-- 정보보호 심의위원회 : 정보보호 활동계획 및 예산 심의 / 정보보호 정책 및 규정의 최종승인
--- 위원장 : 대표이사 / 위원 : 정보보호책임자 / 간사 : 정보보호 관리자
-- 정보보호 책임자 : 정보보호 조직의 구성 및 운영 총괄 / 정보보호 방침 및 계획 실무지침 수립 및 승인
-- 정보보호 관리자 : 정보보호 롸동의 계획 및 관리 / 정보보호방침의 유지, 이행
-- 정보보호 담당자
--- 정보보호 운영 담당자
--- 정보보호 대응 담당자
(3) 위험관리
- 정보보호관리체계(ISMS)의 5단계에서 위험관리의 위치
-- [정보보호 정책 수립 → 관리체계 범위설정 → 위험관리 → 구현 → 사후관리] 를 계속 반복함
- 위험관리 : 조직이 정보자산에 대한 위험을 수용할 수 있는 수준으로 유지하기 위해
정보자산에 대한 위험을 분석하고 이에 대한 비용대비 효과적인 보호 대책을 마련하는 일련의 과정
- 위험관리과정(5단계로 구성)
-- 위험관리전략 및 계획수립 → 위험분석 → 위혐평가(처리) → 정보보호 대책수립 → 정보보호 계획수립(다이렇게표현하는데?)
-- 위험관리전략 및 계획수립 → 위험분석 → 위혐평가(처리) → 보호대책 선정 → 이행계획 수립(내가 배울때는 이렇게 배움)
-- 위 그림같이 3단계로도 표하기도 하네
- 위험(Risk) : 원하지 않는 사건이 발생해 손실 또는 부정적인 영향을 미칠 가능성
- 위험의 요소
-- 자산(Assets) : 조직이 보호해야할 대상
-- 위협(Threats) : 원치 않은 사건의 잠재적인 원인이나 행위자
-- 취약성(Vulnerability) : 자산의 잠재적인 속성으로, 위협의 이용 대상
-- 정보보호대책(Safeguard) : 위협에 대응하여, 자산을 지키기 위한 대책
1) 위험관리 전략 및 계획수립
- 위험분석 접근법
-- 베이스라인 접근법(Baseline Approach)
--- 위험분석을 수행하지 않는 대신, 모든 시스템에 대해 표준화된 보호대책을체크리스트형태로 제공
--- 소규모조직이나, 대규모조직의 중요치 않은 일반 자산에 대하여 사용하는 접근법(화장실 청소 체크리스트??)
-- 비정형 접근법(Informal Approach ; 전문가 판단법)
--- 구조적인 방법론에 기반하지 않고, 전문가의 지식과 경험에 따라 위험을 분석
--- 작은 조직에서는 효과적
-- 상세 위험분석(Detailed Risk Analysis)
--- 구조적인 방법론에 기반해서 위험을 분석하는 것
--- 많은 시간(돈)과 노력(돈)이 필요하고 비정형 접근법과 같이 고급인력이 필요함(돈)ㅋ
--- 자산분석 → 위협평가 → 취약성평가 → 정보보호 대책평가 → 잔여 위협평가
-- 복합 접근법(Combined Approach)
--- 상세 위험분석을 수행하고, 그 외 다른 영역은 베이스라인 접근법만을 사용하는 방식
- 위험분석 방법론의 선정
-- 정성적 분석방법(Qualitative) : 위험을 매우높은, 높은, 중간, 낮은 등으로 표현
--- 델파이법 : 전문가 집단에게 설문조사를 실시해 의견을 정리하는 분석방법
---- 짧은 시간에 도출할 수 있지만, 전문가의 추정이라 정확도는 낮지
--- 시나리오법 : 어떤 사실도 기대대로 발생되지 않는다고 치고, 특정 시나리오를 통해 발생 가능한 위협의 결과로 순위를 매겨 도출
---- 전반적인 가능성을 추론가능하지만, 발생 가능성의 이론적 추축에 불과해 정확성이 낮지
--- 순위결정법 : 비교우위 순위 결정표에, 위험 항목의 서술적 순위를 결정하는 방식
---- 이것도 정확도 낮네(다 낮어 ㅅㅂ ㅋㅋㅋ)
-- 정량적 분석방법(Quantitative) : 위험을 손실액과 같은 숫자값으로 표현 / 주로 미국에서 사용하는 방식
--- 연간예상손실액(ALE) = 단일예상손실액(SLE) X 연간발생률(ARO)
---- 단일 예상손실액(SEL) = 자산의가치(AV) X 노출계수(EF)
2) 위험분석
- 위험의 3요소인 자산 / 취약성 / 위협을 분석(식별과 분류)
-- 어떻게 할껀지 방법론과 접근방법은 위에서 제시 함
2-1) 위험평가(기출내용엔 없지만, 걍 내가 만들었어)
- 목표 위험 수준 및 우선순위 설정 : 수용가능한 위험수준를 기반으로 우선순위를 결정
-- 수용가능한 위험수준(DOA)은 사전에 정의해야 일관성이 유지됨(위험관리 전략 및 계획수립 단계)
3) 정보보호 대책 선정 및 계획서 작성
- 위험관리의 마지막 순서로, 위험을 분석하고 순위를 매겼으니까 그에 대한 위험처리 방법을 선택하고 계획서 짜는 단계
- 위험처리 방법
-- 위험수용(Acceptance) : 해당 위험의 잠재 손실 비용을 감수
-- 위험감소(Mitigation) : 위험을 감소시킬 수 있는 대책을 채택하여 구현하는 것
-- 위험회피(Risk Avoidance) : 위험이 존재하는 프로세스나 사업을 수행하지않고 포기
-- 위험전가(Risk Transfer) : 보험이나 외주 등으로 잠재적 비용을 제3자에게 이전하거나 할당
(4) 대책구현 및 운영
1) 정보보호 대책 구현
- 정보보호 대책 : 위험을 감소시키기 위한 정보보호조치를 의미(장치 / 절차 / 기법 / 행위 등을 포함)
2) 정보보호 교육 및 훈련
- 수업에서 교수님이 진짜 사실이게 핵심이랬는데 ㅋ(아무리 대책잘짜면 뭐하냐고 상놈들이 실천안하는데)
- 그냥 말단직원부터 임원, 최고경영자까지도 전사적으로 싹다 교육시켜야되
3) 컴퓨터/네트워크 보안운영
- PC보안 / 네트워크 보안 / 매체보안(데이터의 보관과 폐기)
(5) 업무연속성 관리(Business Continuity Management)
1) 업무지속성 관리체계
- 업무연속성 관리 : 재난이나 재해, 테러 같은 예기지 못한 위기상황에서도 적시에 복구해 업무를 계속수행할 수 있는 위기 관리 능력
- 업무연속성 관리 단계
-- 1단계 시작단계 : 업무연속성 관리에 대한 정책의 수립 및 범위설정을 하는 단계
-- 2단계 전략수립단계 : 재해가 업무에 미치는 잠재적인 연향과 위험을 평가 / 위험감소를 위한 사항들을 파악 / 효과적인 전략 수립
-- 3단계 구현단계 : 업무가 지속적으로 이루어지기 위한 프로그램을 수립하는 단계(설비 구현 / 계획을 문서화)
-- 4단계 운영관리단계 : 수립된 업무연속성 전략 및 계획, 절차를 계속적으로 테스트 및 검토, 유지 보수 / 이에 대한 교육과 훈련
2) 업무연속성 계획수립(BCP ; Business Continuity Plan)
- 업무연속성 계획 5단계 방법론(4단계 / 5단계 / 6단계로 종류가 있지만 5단계가 출제됬었어...)
-- 1단계 프로젝트 범위설정 및 계획
-- 2단계 사업영향평가(BIA ; Business Impact Assessment)
--- 각 사업단위가 받게될 재정적 손실의 영향도를 파악해서 문서화
--- 주요 취지 : 핵심우선순위결정(프로세스간의 구별) / 중단시간 산정(얼마만에 복구?) / 자원요구사항(어디에 얼마나 자원할당?)
-- 3단계 복구전략개발
--- 사업영향평가에서 수집된 정보를 기반으로 어떻게 복구를 할 것인지 전략을 세움
-- 4단계 복구계획수립
--- 사업을 지속하기 위한 실제 복구계획의 수립단계 / 문서화는 필수
-- 5단계 프로젝트수행 및 테스트
--- 유지보수 활동을 포함한 이후에 있을 테스트 절차 등을 수립
- 업무연속성 관리 단계에 BCP가 포함되는건가??? 자세히는 모르겠네
3) 업무연속성 유지관리
- 지속적으로 유지보수, 테스트
-- 체크리스트 / 구조적점검 / 시뮬레이션 / 병렬테스트 / 전체 중단테스트
4) 재난복구계획(DRP ; Disaster Recovery Plan)(기출내용엔없는데 책과 기출에있네??)
- BCP는 전사적인 복구계획이라면, DRP는 기업의 세부 시스템 별 복구 계획(카더라...?)
- 재난복구계획 프로세스
-- 데이터 지속처리 계획(DPCP ; Data Processing Continuity Planning) : 재해를 예측하고 그에 대처하기 위한 계획수립
--- 가장 많이 사용되는 대체 처리 사이트(Site ; 공간의개념) 방식
---- Hot Site : 모든 컴퓨터설비를 완전히 갖추고 있는 공간 / 실제로 운영되고 있는 환경과 동일한 상태로 관리)
---- Warm Site : Hot Site와 Cold Site의 절충안(전원/컴퓨터 등은 갖춰져있지만 어플리케이션이 설치되거나 구성되지 않음)
---- Cold Site : 비상시 장비를 가져올 준비만 할 뿐, 어떤 컴퓨터 하드웨어도 공간에 존재하지않음
-- 데이터 복구 계획 유지 보수(Data Recovery Plan Maintenance) : 계획이 항상 적적하게 최신버전을 반영하도록 유지하는 프로세스
(6) 관련 표준/지침
1) 국제/국가 표준
- OECD 정보보호 가이드라인
-- 인식 / 책임 / 대응 / 윤리 / 민주성 / 위험평가 / 정보보호의 설계와 이행 / 정보보호 관리 / 재평가
- TCSEC(Trusted Computer System Evaluation Criteria)
-- 미국에서 1985년 최초로 만들어짐 / 오렌지 북으라고도 함
-- 정보제품을 몇가지 요구사항을 만족하는 수준에 따라 보안등급을 매김(A1, B3, B2, B1, C2, C1)
-- 기밀성, 무결성, 가용성 中, 기밀성을 중시함(무결성, 가용성은 다소 취약)
- ITSEC
-- 1991년에 미국의 TCSEC를 참조해서 만든 유럽 공통 평가기준
-- 기밀성 뿐만아니라 무결성, 가용성에 대한 평가기준도 수용함
- 보안성평가(CC ; Common Criteria) : TCSEC, ITSEC같이 나라/지역별로 서로 다른 평가기준을 하나로 표준화한 결과
-- 현재 3.1버전까지 공개
-- CCRA(Common Criteria Recognition Arrangement) : 정보보호 제품의 안정성을 회원국가간에 상호인정하는 국제 협약
--- CAP(인증서발행국) : 국내에서 발행한 정보보호시스템 평가 인증서가 해외에서도 인정받게됨
--- CCP(인증서수용국) : 정보보호 평가 인증서를 발행은 않하고 수용만 하는 국가
-- 우리나라는 CAP에 2006년에 가입함
-- CAP에 가입한 국가는 5년마다 재심사(2012년 11월에 있었음(일본과 프랑스가 심사))
http://www.cybersecurity.my/mycc/mutual.html
- 보안성평가에 있어서 국내기관과 역할
-- 정책기관 : 행정자치부
-- 인증기관 : 미래창조과학부
-- 평가기관 : 한국인터넷진흥원 + 기타 등등
- 보안성평가의 결과
-- 국제적인 표준은 EAL(Evaluation Assurance Level) 1부터 7까지 있음
http://en.wikipedia.org/wiki/Evaluation_Assurance_Level
-- 우리나라는 가(EAL 4), 나(EAL 3), 다(EAL 2)로 분류
2) 인증체계
- BS7797
-- 조직의 정보를 체계적으로 관리하고 정보보안사고를 예방하기 위해 영국에서 제정된 규정
- ISMS(Information Security Management System)
-- BS7797을 기반으로 국내 환경에 적합하게 작성
-- 구성요소 : 정보보호관리과정 / 정보보호대책 / 문서화
--- 정보보호관리과정 : 정보보호 관리체계 인증심사시 요구되는 필수 항목 / 지속적으로 유지관리되는 순환 주기의 형태
---- 정보보호정책 수립 및 범위설정 → 경영진책임 및 조직구성 → 위험관리 → 정보보호대책구현 → 사후관리
--- 정보보호대책 : 총 13개분야 92개 통제항목으로 구성
---- 시스템개발보안 / 암호통제 / 접근통제 / 운영보안 / 정보보호정책 / 정보보호조직
---- 외부자보안 / 정보자산분류 / 정보보호교육 / 인적보안 / 물리적보안 / 침해사고관리 / IT재해복구
정보보안기사 기출문제 - 어플리케이션 보안 (0) | 2016.08.31 |
---|---|
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part2 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 4과목 정보보안 일반 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 3과목 어플리케이션 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 2과목 네트워크 보안 정리 (0) | 2016.08.31 |
1. 보안요소 기술(10문제+-/20문제)
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part2 (0) | 2016.08.31 |
---|---|
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part1 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 3과목 어플리케이션 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 2과목 네트워크 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 1과목 시스템보안 정리 (0) | 2016.08.31 |
1. 인터넷 응용보안(10문제/20문제)
(1) FTP 보안
1) FTP 개념
- FTP(File Transfer Protocol)
--TCP/IP 네트워크상에서 한 호스트에서 다른 호스트로 데이터 파일을 전송하는데 사용하는 표준 프로토콜(IETF RFC 959)
- Transfer Layer 프로토콜로로 TCP를 사용하며, 서버-클라이언트 모델을 구성하고 있음
- FTP 세션은 암호화되지 않기에, 사샐활 보호 또는 개인정보 보호기능을 제공하지 않음
-- 인증정보 또한 평문으로 전달되어 스니핑 당하면 인증정보가 유출될 수 있음
2) FTP 서비스 운영
- FTP는 제어를하기 위한 연결과 데이터 전송을 위한 연결을 따로 사용해서 효율적이고 신뢰성있는 데이터 전송을 제공
-- PI(Protocol Interpreter) : 제어 명령 송/수신하는 역할
-- DTP(Data Transmission Process) : 데이터를 송/수신하는 역할
- FTP는 제어를 위한 연결을 할 때엔 21번 포트를 사용 / FTP 세션 동안 계속 유지
- FTP는 데이터 전송을 위한 연결을 할 때엔 20번 포트를 사용 / 파일 전송하는 동안 유지
- Active Mode
-- 많이 쓰이는 방식으로, 클라이언트가 서버에게 자신이 어떤 포트로 데이터를 전송할지 알려주는 방식(클라이언트가 원하는 포트 사용)
-- 1) 클라이언트가 서버의 Command Port(21번)로 데이터전송을 위해 사용할 포트를 알려줘
-- 2) 서버가 Command Port(21번)에서 클라이언트로 ACK 신호를 보냄
-- 3) 서버가 Data Port(20번)에서 클라이언트가 알려준 포트로 연결을 시도
-- 4) 클라이언트가 서버의 Data Port(20번)로 ACK 신호를 보냄
-- ※ 클라이언트는 1024 이상의 임의의 포트를 사용
-- ※ 3)에서 서버가 클라이언트로 연결시도한다는 점에서 문제점이 발생(방화벽 등에 막힐 수 있음) → Passive Mode의 사용
http://learnwithrahul.blogspot.kr/
- Passive Mode
-- 방화벽과 같은 보안솔루션 때문에 방화벽을 통해 FTP를 사용해야하는 문제점을 해결
-- Active Mode와 달리, 서버가 클라이언트로 자신이 데이터를 보내고자하는 포트를 정하는 방식
-- 1) 클라이언트가 서버의 Command Port(21번)로 Passive Mode로 접속요청
-- 2) 서버가 Command Port(21번)에서 클라이언트에게 데이터전송을 위해 사용할 포트를 알려줌
-- 3) 클라이언트가 서버가 알려준 포트로 연결을 시도
-- 4) 서버가 클라이언트로 ACK신호를 보냄
-- ※ 클라이언트는 1024 이상의 임의의 포트를 사용
-- ※ 서버가 1024 이상의 포트를 열어둬야 된다는 점에서 보안적인 문제점이 있을 수 있음
http://learnwithrahul.blogspot.kr/
- Anonymous FTP(익명 FTP)
-- 사용자들이 할당 받은 ID 없이도 FTP 서버에 접근하고 서비스를 이용할 수 있게 해줌
-- FTP 서버에 접속 후, 사용자 아이디에는 Anonymous, 패스워드에는 아무내용 넣어도 상관없으나 자신의 이메일적는게 예의
- TFTP(Trivial File Transfer Protocol)
-- FTP보다 간단하고 최소한의 기능만 제공해주는 프로토콜
-- FTP는 TCP를 이용하는반면, TFTP는 UDP를 사용함
-- 디렉토리나 파일의 목록을 보는 명령이 없기에, 파일명을 모르는 사용자는 해당 파일 다운받지 X
--- 물론, Brute Force Attack 등으로 가능하긴 함
-- 인증절차가 없기에, 설정이 잘못되어 있으면 누구나 파일에 접근이 가능
- Unix/Linux에서 사용자 별로 FTP Server에 접근 제어를 하려면 /etc/ftpusers에 등록함(등록되면 접근이 거부됨)
- Windows에서는 FTP Server를 만드려면 IIS가 설치되어야 함
3) FTP 공격 유형
- FTP Bounce Attack
-- FTP 서버가 데이터를 전송할 때, 목적지를 검사하지 않는 설계상의 문제점을 이용한 공격
-- 공격자가 FTP 서버를 거쳐 간접적으로 임의의 호스트에 접근하거나 존재 여부를 파악가능
-- 포트 스캐닝에 쓰일 수 있음
-- 대응 방법
--- FTP의 설계상의 문제이므로, 원래 규약을 어느정도 제한하는 방법
--- 공격에 사용되는 FTP 서버는 주로 Anonymous FTP 서버이기에, 꼭 필요한 경우가 아니면 Anonymous FTP는 사용하지 X
--- FTP 서버에 접속가능한 IP주소를 필터링 / 익명 사용자는 파일 업로드 못하도록 제한
http://www.networkuptime.com/nmap/page3-20.shtml
- Anonymous FTP Attack
-- Anonymous 계정 허용하는게 위험해
-- Anonymous 계정을 위한 디렉토리 따로 만들고 / 소유자는 관리자 / 읽기 권한만 줌
-- 로그 파일 정기적으로 확인
- TFTP Attack
-- 위에서 언급했드시, Brute Force Attack이나 Dictionary Attack등으로 파일명 알아내 다운로드
-- TFTP 데몬을 Secure Mode로 작동하게 설정
-- TFTP 데몬을 필요없으면 제거해
4) FTP 보안대책
- FTP 서버 접속 시, /(Root)로 접속하는 것을 차단
- Anonymous FTP 서버의 경우, 디렉토리 소유자와 퍼미션 관리를 철저히
- 불필요한 TFTP는 제거
- FTP 자체의 취약점은 없는지 주기적으로 업데이트
(2) MAIL 보안
1) MAIL 개념
- 인터넷에 연결되어 있는 서버를 통해 메시지를 보내거나 받은 메시지 교환 방식
2) MAIL 서비스 운영
- MUA(Mail User Agent) : 사용자가 메일을 송수신하기 위해 사용하는 프로그램
- MTA(Mail Transfer Agent) : MUA로 부터 전달받은 메일을 다른 MTA로 전송하는 서버프로그램(목적지는 수신자의 MTA)
-- MTA는 STMP(TCP 25)를 이용해 다른 MTA로 메일을 전달함(STMP 서버라고도 함)
- MDA(Mail Delivery Agent) : 최종 MTA에 도착한 후, 수신된 메일을 사용자의 메일함에 저장하는 프로그램(POP과 IMAP방식)
-- 최종 MTA가 MDA의 역할을 한다고 생각하면될 듯
- MRA(Mail Retrieval Agent) : MDA가 저장한 메일을 MUA로 가져오는 프로그램(및에 사진엔 없네) / 아이디와 패스워드로 사용자 인증도함
-- POP3(Post Office Protocol 3 ; TCP 110)
--- 기본적으로 MRA가 가져간 메일은 서버에서 삭제됨
--- 추가적인 옵션을 통해, 삭제를 안시킬 수는 있음
--- 선택적으로 메일을 가져올 수가 X
-- IMAP(Internet Message Access Protocol ; TCP 143)
--- POP3와 유사한 역할을 하지만, 더 많은 기능을 제공
--- 기본적으로 MRA가 메일을 가져가도 서버에 계속 존재
--- 메일의 제목 / 본문의 일부 등의 내용만 볼 수 있음
--- 메일함이 폴더 형태로 구성되어 있어서, 모바일 장치에서도 사용하기 편함
http://en.kioskea.net/contents/116-how-email-works-mta-mda-mua
- MIME(Multipurpose Internet Mail Extensions)
-- 이메일을 위한 인터넷 표준 포맷
-- STMP가 7Bit ASCII 문자만을 지원하기에, 이 외의 형태를 가지는 데이터는 제대로 전송되지 X
-- 8Bit 이상의 코드를 가지는 문자나 파일들은, 이메일 프로그램이나 서버에서 자동으로 MIME형식으로 변환해 전달
3) MAIL 서비스 공격유형
- Active Contents Attack(기출 빈도 높대!)
-- 메일 열람시, CSS(Client Side Script)가 실행되 컴퓨터 정보를 유출하거나 악성프로그램을 실행시키는 공격
-- 대응 : 스크립팅 기능을 제거 / 스크립트 태그를 다른 이름으로 바꾸어 저장
- Malware Attack
-- 이메일 첨부파일을 실행하도록 유도해서 악성 프로그램이 실행되도록 하는 공격
-- 자극적이거나 업무와 관련된 파일인척 문서파일을 열람하게 만듬
-- 대응 : 걍 보지ㅁ마
- 딴거도 많은데 딱히... 특별한 공격은 아니라 생략
4) SPAM 대책 / 5) 악성 MAIL 및 웜 대책
- ※ SPAM의 유형
-- Incoming SPAM : 자신의 메일 서버를 이용해 전송
-- Relay SPAM : 중계 메일 서버를 이용해 전송
- 메일 서버 자체의 보안 및 보호
-- 하나의 서버에 메일 서버, 웹 서버 등을 같이 운영을 많이 하는데, 규모가 커지면 메일 서버를 따로 두는게 바람직함
-- 메일 서버를 따로두고, 리눅스나 윈도우즈의 취약점 제거에 힘쓰는게 좋음
- access DB의 활용
-- 위에 SPAM의 유형에서 Relay SPAM이라는게 있는데, 메일 서버를 Relay 서버(중계 서버)로 사용할 것이냐에 대한 정책임
-- /etc/mail/access 파일에 기술하면됨
-- 특정 호스트나 도메인에 대한 접근제어를 해서, 무조건 적인 허용은 피하는게 좋음
- SPAM Assassin
-- 메일의 헤더와 내용을 실시간으로 분석해 스팸메일여부를 판단
-- 판단 기준은 RBL(차단 리스트)를 참고해 몇 가지 룰에 매칭될 때마다 점수를 줘서, 기준 점수이상이면 스팸메일이됨
- Inflex
-- 메일 서버에, 로컬이나 외부로 나가는 이메일을 검사하여 Inbound, Outbound 정책을 세워 필터링 해주는 도구
-- 2004년 이후 업데이트가 안되고 있음
6) Mail 보안 기술
- 전자메일에서 필요로 하는 보안 기술
-- 기밀성 / 메시지 인증 / 사용자 인증 / 송수신 부인방지 / 메시지 재전송 방지
- PGP(Pretty Good Privacy)
-- MIME 포멧에 암호화와 전자서명을 추가
-- 전자메일에 기밀성 / 메시지 무결성 / 사용자 인증/ 송신 부인방지를제공(수신 부인방지는 X !!!!!!!!!!!!!!!!!!!!)
-- 메시지의 암호화 : IDEA / RSA / 등
--- 메시지를 IDEA(대칭키 암호화)로 암호화
--- IDEA의 키를 수신자의 공개키로 암호화
--- 암호화된 메시지와 암호화한 IDEA키를 함께 보냄
-- 메시지 인증과 사용자 인증(디지털 인증) : RSA / MD5
--- 메시지의 해시값을 송신자의 공개키로 암호화해서
-- 압축 : 전자서명 후, 메시지를 압축함(옵션적인 요소라 필수는 X)
-- 키관리 : RSA
-- 볼품 없게 정리했지만 알짜배기 : http://math88.com.ne.kr/crypto/text/chap10/10-4.htm
http://en.wikipedia.org/wiki/Pretty_Good_Privacy
- PEM(Privacy Enhanced Mail)
-- IETF에 의해 만들어진 인터넷 표준안으로 PGP보다 보안 능력이 뛰어난 편
-- 전송하기 전 자동으로 암호화하여 전동 도중 스니핑당해도 내용은 확인 불가능한 방식(PGP도 그러한데???)
-- 중앙집중식 키 인증 방식으로 널리 사용되기에 어려움
- S/MIME(Secure/MIME)
-- Application Layer에서 보안을 제공하는 대표적인 프로토콜
-- MIME 객체에 암호화와 전자서명을 기능을 추가함
-- PKI 인증서를 사용(인증기관에서 공개키를 보증하는 인증서 발급받아야한다는 의미)
-- S/MIME v2, S/MIME v3의 비교는 생략
- PGP, PEM, PGP/MIME, S/MIME의 비교도 생략
(3) Web 보안
1) WEB 개념
- HTTP 프로토콜을 이용하는 정보 공유 시스템?
- 걍 생략
2) WEB 서비스 운영
- Linux Apache Web Server
-- 설치 방식
--- DSO(Dynamic Share Object) : 동적 모듈 적재 방식으로 Apache 설치 이후에 필요한 모듈 추가 설치
--- Static : Apache 설치할 때, 모든 모듈 설치
-- 주요 환경 설정 파일 경로 : /etc/httpd/conf/
--- 특히 /etc/httpd.conf에서 Web Server에 대한 설정 다 함
- Windows IIS Web Server
3) WEB 로그 보안
- Web Server의 로그는 대표적으로 access_log와 error_log로 나눠짐
- access_log : Web Service하면서 접속한 로그에 대한 내용
- error_log : Web Server의 요청 처리과정에서 발생하는 각종 에러에 대한 기록
-- 위험도에 따라 8가지로 분류
-- Emerg > Alert > Crit > Error > Warn > Notice > Info > Debug
-- 기본값은 Warn이며, Warn이상의 에러가 로그에 남음
4) WEB 서비스공격 유형
- OWASP TOP 10 2013
-- A1 Injection
-- A2 인증 및 세션 관리 취약점
-- A3 XSS
-- A4 취약한 직접 객체 참조
-- A5 보안 설정 오류
-- A6 민감한 데이터노출
-- A7 기능 수준의 접근통제 누락
-- A8 CSRF(크로스 사이트 요청 변조)
-- A9 알려진 취약점 있는 컴포넌트 사용
-- A10 검증되지 않은 리다이렉트 및 포워드
- Directory Listing
-- 웹 서버 설정만 해주면 대응이되(Apache는 httpd.conf / IIS는 걍 설정)
- SQL Inejction
-- 공격에 사용될수 있는 문자나 패턴을, 웹 방화벽이나 Secure Coding을 통해 필터링
-- 자세한 오류 메시지를 보내주지 않음으로 DB정보를 흘리지 않기
- XSS(Cross Site Scripting)
-- 공격자가 작성한 악성 CSS(Client Side Script)를 일반사용자가 읽음으로써 실행되게 하는 공격
-- 서버를 공격하는게 아니라, 서버를 경유해 클라이언트를 공격하는 것
-- 사용자로부터 입력된 데이터를 철저히 검증함( '<', '>' 이런걸 바꿔) 으로써 검증
- CSRF(Cross Site Request Forgery ; 크로스 사이트 요청 변조)
-- XSS와 공격과정은 동일하지만, 공격 타겟이 서버인게 다름
-- 웹 사이트에서 제공하는 모든 기능을 대상으로, 신뢰된 사용자의 권한으로 요청하도록 하는 공격
-- XSS 취약점을 없도록해야함 / 중요한 기능은 재인증을 요구하는게 좋음
5) WEB 보안 개발
- Secure Coding : 개발 단계에서 보안을 고려하는 것 / [정보시스템 구축/운영 지침]으로 법제화 되어있음
6) WEB 방화벽
- WebKnight : Windows IIS Web Server용 Web 방화벽
- mod_security : Apache 보안 모듈로써, 침입탐지 및 차단 기능을 가짐
(4) DNS 보안
1) DNS 개념
- DNS(Domain Name Service)
- 계층구조를 가지는 분산 데이터베이스
-- 각 영역을 구분해 주는 도메인 이름을 관리하는 DNS Server들이 모여서 하나가 됨
- FQDN(Fully Qualified Domain Name) : DNS에서 사용되는 이름 표기 법
-- FQDN : www.nvaer.com
2) DNS 서비스 운영
- DNS 요청
-- Recursive Query : 로컬 DNS 서버에 이름 분석 결과만 달라고 요청
-- Iterative Quer
--- Query에서 요구하는 IP주소가 있으면, 질의한 호스트에게 결과를 반환
--- 없으면, 해당 도메인을 관리하는 DNS Server에게 같은 Query를 보냄
- DNS Zone
-- Zone은 DNS Server가 관리하는 Domain에 대한 정보가 저장되어 있는 DNS Database
-- 정방향 조회 영역 : FQDN으로 IP주소 알아올 때
-- 역방향 조회 영역 : IP주소로 FQDN알아올 때
- Zone의 종류
-- 주 영역 : 해당 DNS가 직접 관리하며 모든 권한을 가지고 있는 영역
-- 보조 영역 : 다른 DNS Server의 주 영역을 읽기 전용 데이터로 복사 해온것
--- 복사해 오는 행위를 Zone Transfer라고 함
-- 스텁 영역 : 다른 DNS Server의 정보가 있는 영역(해당 영역에 대한 권한은 없음)
- Resource Record Type(RR) : 각 Zone은 Resource Record Type으로 정의된 데이터를 가짐
-- SOA(Start Of Authority) : 주 DNS Server 와 Zone에 대한 정보
-- A(Host Address) : IPv4 주소
-- AAAA : IPv6 주소
-- CNAME : 별칭으로써 IP 하나에 여러 개의 별칭을 부여하기 위해 사용
-- MX(Mail eXchanger) : 메일 시스템에 대한 정보
-- PTR(Pointer) : 역방향 조회 영역에서 사용됨(A 레코드의 반대)
- DNS Server Caching
-- 다른 DNS Server로 부터 알아 온 정보는, 버리지 않고 DNS Server Cache에 임시로 저장
-- SOA Record의 TTL에서 지정한 기간 만큼
3) DNS 보안 취약성
- DNS Spoofing
-- 공격자가 호스트의 Query를 스니핑하고, DNS Server보다 먼저 조작된 IP주소가 담긴 응답을 보냄
-- DNS는 Query에 대한 인증을 수행하지 않기에, 피해자는 조작된 IP주소로 접속하게 됨(UDP를 사용함)
- DNS Cache Poisoning
-- DNS Server에 조작된 응답을 전송하는 것으로, 조작된 정보를 DNS Server가 Cache에 저장하게 됨
-- DNS Query시 부여되는 Transaction ID와 출발지/목적지 포트가 예상하기 쉬운 값을 사용하게 되면 공격이 가능
-- 강력한 난수 생성기 써도, 공격시간을 지연시킬 뿐
4) DNSSEC 기술
- DNSSEC(DNS Security Extentions) : 기존의 DNS를 대체하는게 아니라, DNS에 공개키 암호화 방식의 전자서명을 추가 부여하는 역할
- DNS 프로토콜 자체가 데이터의 위조 변조에 취약함
- DNSSEC으로 인해, DNS Data 원본을 가지고 있는 DNS Server는, 각 DNS Data에 대한 서명데이터가 추가됨
-- IPv4인 경우, A 레코드에 대한 전자서명으로 RRSIG 레코드가 생성되 함꼐 설정
- DNSSEC으로 인해, DNS Query의 응답으로 A 레코드와 함께 RRSIG 레코드도 함께 응답됨
- ※ 피싱(Phishing), 파밍(Pharming), 스미싱(Smishing)
-- 피싱(Phishing) : 실제 도메인과 비슷한 가짜 도메인 명을 사용해 공격
-- 파밍(Pharming) : DNS Server나 사용자 컴퓨터의 DNS Cache를 변조해서 공격
--- DNSSEC으로 예방가능한건 파밍
-- 스미싱(Smishing) : 문자메시지를 이용하는 공격
(5) DB 보안
※ DB보안은 크게 DB 데이터 보안과 DB 관리자 권한 보안으로 나뉨
※ 세세하게 외울게 아니라 이런게 있다고만 알고있어도 될듯(워낙 DB 보안이란게 DBMS에 따라서도 다르고 넓어서 다루기 힘들듯)
1) DB 데이터보안 / 2) DB 관리자 권한 보안
- DB 보안 유형
-- 물리적 보호 : 말 그대로 물리적인 위험으로부터 DB를 보호하는 것
-- 권한 보호 : 권한을 가진 사용자만이 특정 접근 모드로 DB에 접근할 수 있도록
-- 운영 보호 : DB 무결성에 대한 사용자 실수의 영향 최소화하거나 제거
- DB 보안 요구 사항
-- 부적절한 접근 방지 : 인가된 사용자에게만 접근이 허락 / 모든 접근 요청은 DBMS가 검사
-- 추론 방지 : 기밀이 아닌 데이터로부터 기밀 정보를 얻어내는 가능성을 막는 것
-- 데이터 무결성 : 의도치 않은 데이터 변경이나 삭제, 시스템 오류, 고장으로 부터 DB를 보호하는 것
-- 감사 기능 : DB에 대한 모든 접근에 대해 감사 기록으 생성되어야 함
-- 사용자 인증 : 별도의 엄격한 사용자 인증 방식이 필요
-- 다단계 보호 : 데이터를 등급으로 분류함을 통해 기밀성과 무결성을 보장
- DB 관리자 보안
-- DBA들은 보다 더 안전한 인증 과정을 받는게 안전
--- 운영 시스템에 의한 인증 / 네트워크 인증 서비스(커버로스 등)에 의한 인증
3) DBMS 운영 보안
- DBMS 보안 기능
-- 접근 제어(Access Control) : 로그인 과정을 통제하기 위해 ID/PW를 관리함
-- 보안 및 권한관리 : 특정 사용자와 그룹이 지정된 DB 영역만 접근하게 통제
- DB 보안 통제 : 접근제어, 추론통제, 흐름통제를 통해 인가된 사용자에게 암호화된 DB를 가용하게 하여 제공하는 것
-- 접근제어 : 인가된 사용자에게만 허가된 범위 내에서 접근을 허용하는 것
--- 접근 제어 정책과 규칙 집합 : 접근 제어를 어떻게 할껀지 정의
--- 접근 제어 메카니즘 : 정의된 내용으로, 접근 요청에 대해서 수락할껀지 거부할 껀지 판단
-- 추론통제 : 일반적인 데이터를 이용해 비밀정보나 민감한 정보를 획득하는 걸 제어
--- 예를 들어, 레코드 삽입 시 동일한 키를 가진 레코드가 있으면 에러가 나는걸 통해서 키의 값을 추론가능
--- 데이터의 암호화 등을 통해 해결해야 함(컬럼단위로 암호화)
-- 흐름통제 : 접근 가능한 객체들 간의 정보의 흐름을 조정
--- 예를 들어 보안등급이 높은 객체에서 낮은 객체로의 정보흐름을 제어
- DBMS마다 제공하는 보안기능이 다 다르기에 나머진 생략
4) DB 보안 개발
- Secure Coding이 의무화 되면서 개발 초기부터 보안을 고려한 개발을 해야 함
- DB 어플리케이의 개발(Web을 통한 SQL Injection 공격 방지에 대해서)
-- 원시 ODBC 에러를 띄우지 않음(물론 개발 과정에서는 쓰는게 편하겠지?)
-- DB 어플리케이션에 최소한의 권한만 줌
-- DB 내장 프로시저를 사용
-- 테이블 이름 / 칼럼 이름 / SQL 구조 등이 외부 HTML에 포함되어 나타나서는 X
2. 전자상거래 보안(5~6문제/20문제)
(1) 전자상거래 보안
1) 지불게이트웨이
- Payment Gateway(지불게이트웨이/지불중계기관)
-- 가맹점 및 다양한 금융시스템의 거래 사이에서, 중재자 역할
-- SET에서는 판매자가 요청한 고객의 카드정보로, 금융기관에 승인 및 결재를 요청하는 자로 쓰임
2) SET 프로토콜
- SET(Secure Electronic Transaction) Protocol
-- VISA와 Master Card에서 공동 개발한 신용카드 기반의 전자지불 프로토콜
-- 지불시스템에 대한 기술 표준
- SET Protocol의 구성 요소
-- 고객(Customer/Card Holder)
-- 상점(Merchant)
-- 지불게이트웨이(Payment Gateway)
-- 발급사(Issuer) : 고객의 계좌를 개설하고 카드를 발행하는 금융기관
-- 매입사(Acquirer) : 상점의 계좌가 개설된 금융기관
-- 인증기관(CA) : 전자적인 인증서를 발급하는 기관
- SET의 동작과정
-- 1) 상점과 지불게이트웨이, 금융기관은 인증기관으로부터 인증서를 발급받음
-- 2) 고객이 상점의 웹 사이트에서 물건을 고르고 결재를 위해 전자지갑 S/W를 다운받고 실행함
-- 3) 전자지갑에 자신의 신용카드를 등록하고 인증기관으로부터 인증서를 발급받고 결재를 함
-- 4) 전자지갑을 통해 결재정보가 상점으로 감
-- 5) 상점에서 지불게이트웨이로 결재정보를 넘겨줌(상점은 주문정보만 확인함 ; 이중서명)
-- 6) 지불게이트웨이는 결재정보를 금융기관에 전달
-- 7) 금융기관이 상점에 대금 결제를 함
-- 8) 상점은 고객에게 상품을 줌
-- 9) 금융기관이 고객에게 나중에 돈을 요구
-- ※ 아래 사진이랑 쫌 다르지만 전반적인 내용은 동일
http://wiki.cas.mcmaster.ca/index.php/File:Wikiimage1.jpeg
- SET에서의 암호화
-- 전자봉투(Digital Envelope)
--- 전자서명에 대칭키 암호화를 넣어 기밀성 까지 얻는 방식
---- 전자서명 : 문서의 해시값을 송신자의 사설키로 암호화해서 문서, 공개키와 함께 보냄
----- 문서의 해시값을 암호화한걸 전자서명이라고도 하는듯
---- 전자서명을 대칭키로 암호화하고, 대칭키를 수신자의 공개키로 암호화해서 같이 보냄
----- 대칭키를 수신자의 공개키로 암호화한걸 전자봉투라고도 하는듯
--- 대칭키 암호화(DES) + 공개키 암호화(RSA) + 전자서명(RSA) + 해쉬 함수(SHA-1)
-- 이중 서명(Dual Signature)
--- ( (주문정보의 해쉬값) + (지불정보의 해쉬값) )의 해쉬값을 고객의 개인키로 암호화한 것
--- 어디서는 주문정보를 상점의 공개키로, 지불정보는 금융기관의 공개키로 암호화 한다고 하는데, 이중 서명에 대한 설명은 아닌듯??
- 특징
-- 현재 쓰이고 있진 않지만, 신용카드 지불 시스템의 기반이 됨
-- 너무 복잡하고 RSA, 알고리즘이 전체적인 속도를 저하 시킴
-- 고객이 전자지갑 S/W를 설치해야 함
-- 상점 또한 별도의 S/W를 설치해야 함
-- 고객(카드소지자)와 상인(상점)에 대한 인증
-- 지불 정보에 대한 비밀성 / 무결성 / 부인방지 기능
3) SSL 프로토콜
- SSL(Secure Socket Layer ; TCP 443)
-- 인터넷을 통한 메시지 전송을 안전하게 하기 위해, Netscape에서 개발한 암호화 통신 프로토콜
-- SSL 3.0에 대한 수정 보완을 거쳐 TLS(Transparent Layer Security)라는 이름으로 표준화
-- 암호화 통신을 위한 세션키 생성을 위해 인증서 기반의 공개키 알고리즘을 이용
-- OSI 7 Layer 기준으로, TCP 위에 위치(4 ~ 7 Layer)(실제로 지원 가능한 프로토콜은 별로 없음 ; HTTP, IMAP, NNTP 등)
--- 주로 HTTP와 같이 쓰이며, 이 경우에 SSL-enabled HTTP를 표시하기 위해 HTTPS라고 표기함
- SSL의 기능 : 사이트 인증(Site Authentication) / 데이터 기밀성 / 메시지 무결성 (※ 부인방지는 없어)
- SSL Handshake Protocol : 서버와 클라이언트 사이의 인증 / 암호화 알고리즘, 암호키, 무결성 알고리즘 등의 보안 협상
-- SSL Protocol에서 가장 복잡한 부분
http://blogs.msdn.com/b/kaushal/archive/2013/08/03/ssl-handshake-and-https-bindings-on-iis.aspx
- SSL 버전별 비교
-- SSL 2.0
--- MITM 공격에 매우 취약 / 취약한 MAC / 수출용은 40bit Key
--- 연결 초기에만 Handshake 가능
-- SSL 3.0
--- 해시값으로 메시지를 유지하며 MITM 방어 가능 / 수정한 MAC 사용 / 수출용은 128bit Key
--- 연결 이후에도 Handshake 가능
-- TLS 1.0은 SSL 3.1과 같음
4) OTP(One Time Password)
- 무작위로 생성되는 난수의 일회용 패스워드를 이용하는 사용자 인증방식
- 원격 사용자 인증시 패스워드의 재사용 공격을 사전에 방어하기 위한 방법
- 일반 적으로 H/W 장치로 많이 사용
- OTP 생성 원리
-- 1) 연계 정보 생성 : 시간, 이벤트 정보 등의 난수를 이용해 연계 정보를 생성
--- 정보를 수집할 때마다, 다른 정보를 수집할 수 있어야 함
--- 특정한 조건에서 생성되는 연계 정보는 동일해야 함(인증서버와 동일한 값 얻기 위해서)
-- 2) 생성 알고리즘 : 연계 정보를 생성알고리즘을 통해 암호문을 생성함
--- 동일한 연계 정보로 부터 동일한 암호문 생성해야 함
-- 3) 추출 알고리즘 : 암호문에서 일회용 패스워드를 추출함
--- 동일한 암호문으로부터 동일한 일회용 패스워드 추출해야 함
--- 정적 추출 알고리즘 / 동적 추출 알고리즘
- OTP 구현 방식에 따른 분류
-- 동기화 방식
--- OTP 토큰과 인증 서버 간의 미리 공유된 비밀정보와 동기화 정보에 의해 OTP 생성
--- 반드시 OTP 토큰과 인증 서버 간의 동기화가 이루어져 있어야 됨
--- 비동기화 방식에 비해 호환성이 전반적으로 높음(호환성이란 기존의 ID/PW 어플리케이션과의 호환이 잘되느냐에 대한 것)
--- 시간 동기화 방식
---- 시간을 이용해 OTP를 생성 / 특정 시간 간격으로 OTP를 생성함
--- 사건 동기화 방식(계수기 방식)
--- 시간 정보 대신 카운터를 이용해 OTP를 생성 / OTP 토큰과 인증 서버간의 카운터 값이 동기화 되어야 함
--- OTP 값을 생성한 후, 다음번 OTP 생성 요청까지 재생성이 없기에 사용자에게는 편리함
---- 실수로, 여러번 OTP값을 생성시키고나면 다시 동기화를 시켜야한다는 단점
--- 조합 방식
---- 시간 동기화 방식과 사건 동기화 방식을 조합하여 구성항 방식
---- 시간 동기화 중심의 조합 방식
----- 특정 시간간격으로 OTP가 생성되며, 같은 시간 간격내에 재시도시에 카운트 값을 증가시켜 OTP를 변경되도록 하는 방식
----- 시간 동기화 방식과는 다르게 특정 시간 간격 이내에도 계속 다른 OTP를 생성 가능
---- 사건 동기화 중심의 조합 방식
----- 특정 시간에 발생한 카운터 값을 기준으로 OTP가 생성
----- 사용자가 생성 요청을 할 때마다 매번 OTP가 변경
-- 비동기화 방식
--- 질의 응답 방식을 사용 / 인증 서버가 제시한 질의 값에 대한 응답값을 전달하는 방식
--- 구조가 비교적 간단하고, OTP 토큰과 인증 서버 간의 동기화가 필요 없음
--- 사용자가 질의에 대한 응답값을 직접 입력해야 하므로 번거로움
--- 매번 다른 질의값을 생성하는건 인증 서버에게 부담이 될 수 있음
(2) 전자상거래 프로토콜
1) 전자지불 방식별 특징
- 전자 지불 시스템
-- 전자지갑, 신용카드, 전자화폐, 인터넷 뱅킹 등을 이용해 전자상거래에서 발생하는구매 대금을 안전하고 효과적으로 지불, 결재하는 시스템
- 전자화폐(Electronic Cash) 시스템
-- 독립적인 신용구조를 가지고 현금과 유사한 개념의 전자적 지불 수단(실제 화폐를 대치할 수 있음)
-- IC카드형-Mondex, E-Cash, Milicent, Net Cash, Proton 등
-- 사용자의 프라이버시를 보호 / 기밀정보의 노출 위험성의 제거
-- 몇 가지 이론적인 문제좀도 남아있고, 전자화폐 시스템을 지원할 수 있는 H/W기술이 부족
- 지불브로커(Payment Broker) 시스템
-- 독립적인 신용구조 없이 신용카드나 은행계좌를 이용한 전자적 지불 수단
-- 미리 신용카드나 은행계좌 정보등을 지불브로커에 등록하고, 거래가 성립될 때 지불브로커를 통해 대신 지불을 처리
-- SET, Cyber Cash, First Virtual 등
-- 현실적인 전자지불 시스템이지만, 사용자의 거래 추적 가능성으로 프라버시 침해의 우려와 기밀정보의 노출 위험성이 있음
2) 전자지불/화폐 프로토콜
- 전자 화폐 : 은행의 전자서명을 수행한 화폐가치를 가지는 디지털 데이터
-- 독립적인 신용 구조를 가지며,거래 시 제3기관으로 부터 거래 승인이 없음
- 전자 화폐의 분류
-- 지불 시점
--- 후불형 : 거래가 이루어지고 난 후, 그 시점에 은행 계좌로 부터 인출되는 방식
--- 선불형 : 거래가 이루어지기 전에, 미리 은행 계좌에서 인출해 거래가 일어나면 지불
-- 거래 방식
--- IC카드형 : IC카드에 화폐가치를 저장함 / Mondex, Visa Cash, PC pay
---- 기술개발과 이용이 활발한 유럽에서 활성화
--- 네트워크형 : S/W전자지갑을 다운로드 받아서 사용하는 방법(네트워크를 이용해 화폐를 주고 받음) / ECash, NetCash, PayWord
---- 컴퓨터의 높은 보급률과 통신망이 잘 발달한 미국에서 활성화
-- 유통 형태
--- 폐쇄형 : 이용자가 상점에서 이용 후, 즉시 발행기관으로 돌아가는 형태 / 대부분의 전자화폐
--- 개방형 : 화폐가치가 이용자로 부터 다른 이용자로 유통되는 형태 / 대표적으로 Mondex
- 전자 화폐의 종류
-- Mondex : IC카드형 전자화폐 / Off-Line 시스템 / 현금 지불의 장점과 카드 지불의 편리함을 결합
--- 5개국 화폐를 동시에 저장하며 거래 내역의 기록이 가능
--- 은행을 거치지 않고 카드와 개인 간의 화폐 교환이 가능
-- Visa Cash : Visa에서 개발한 선불카드 개념의 화폐
-- PC pay : 스마트 카트와 카드리더기로 구성된 전자 화폐
-- Millicent : 브로커, 상점, 고객으로 구성
--- 브로커는 상점과 고객의 계정의 관리하며 실제로 돈을 취급함
--- 상점은 고객으로부터 스크립을 받고 정보나 서비스를 제공하고, 거스름 스크립을 발행
--- 고객은 스크립을 구매해서, 스크립으로 상점에서 거래를 함
--- ※ 스크립이 화폐 가치를 말하는 것 같음
-- Bitcoin : 통화를 발행하고 관리하는 중앙 기관이 없는 대신, P2P 기반 분산 데이터베이스에 의해 거래가 이루어짐
--- 공개키 암호 방식을 사용함
--- 익명성과 공개성을 지니며, 화폐가 컴퓨터에 파일 형태로 보관된다는 취약점을 가짐
3) 전자입찰 프로토콜
- 전자입찰 : 말 그대로 입찰을 네트워크를 통해 하겠다라는 개념
-- 전자입찰 시스템 / 입찰공고자 / 입찰자로 구성
- 전자입찰의 문제점 : 네트워크를 이용하기에 정보의 유출과 누락 변조 등으로 인해 생김
-- 네트워크상에 메시지 유출 : 입찰자와 입찰공고자의 정보가 유출될 수 있음 / 암호화하거나 도청에 대응
-- 입찰자와 서버 사이의 공모
-- 입찰자와 입찰공고자간의 공모
-- 입찰자간의 공모
-- 서버의 독단 : 서버가 특정 입찰자를 위해 나머지 입찰자의 정보를 누락하거나 변조할 가능성 / 서버의 모든 정보가 투명해야됨
- 전자입찰 시스템을 구축하는데 있어서 해결해야할 것(위의 문제점을 해결하는 데 초첨 / 하나라도 해결못하면 안전성 보장X)
-- 독립성 : 입찰자와 입찰공고자로 부터 독립해야 함(공모 등을 막기 위해 ; 삼권 분립??ㅋ)
-- 비밀성 : 네트워크 상의 각 구성 요소들의 정보는 누출되면 X
-- 무결성 : 누락 및 변조여부를 막음
-- 공평성 : 입찰이 수행될 때, 모든 정보가 공개되어야 함
-- 안정성 : 각 구성 요소들의 공모와 서버의 독단 등이 일어나서는 X
- 전자입찰 프로토콜 방식(일단 생략 정보가 검색도 안되고ㅋ)
-- LKR 방식 : 안전한 전송로를 구축함으로써 도청과 변조를 방지하고, 입찰자의 전자서명으로 무결성과 부인방지
-- PL 방식 : ??
4) 전자투표 프로토콜
- 선거인이 투표소에 직접안가고 온라인 시스템으로 투표하는 방식
- 요구사항
-- 정확성(Accuracy)
-- 비밀성(Privacy) : 비밀투표
-- 위조 불가능성(Unforgeability)
-- 단일성(Singularity) : 단지 한 번의 투표권만 행사
-- 합법성(Eligibility) : 합법적인 절차를 통해 투표권을 얻은 사람만 투표에 참여 가능
-- 공정성(Fairness) : 투표 진행과정에서, 다른 사람의 투표권 행사에 영향 끼치면 X / 중간 투표결과 같은거 비공개
-- 확인성(Verifiability) : 투표자가 올바르게 투표했는지 확인가능해야함
-- 투표권 매매방지(Untradability) : 투표권을 타인에게 매매할 수 없음
-- 완전성(Completeness) : 투표자들이나 집계자의 부정으로, 투표 시스템의 모든 투표 진행이 정지되거나 불완전한 결과 초래하면 X
- 전자투표 방식의 분류
-- PSEV(Poll SIte E-Voting)
--- 지정된 투표소에서 전자 투표를 하는 방식 / 기기를 선거인단이 관리하기에 안정성이 높고 국민투표 활용 가능성이 큼
-- 키오스크(Kiosk) 방식
--- 군중이 밀집한 지역에 키오스크 투표기기가 설치해서 유권자가 투표를 할 수 있는 무인 투표시스템
--- 편리성과 효율성만 만족시키지, 공공망을 통해 집계되기에 악의적인 공격의 가능성이 큼
-- REV(Remote E-Voting)
--- 인터넷 투표를 하는 방식으로 다양한 기술 수단을 통해 원겨으로 자유롭게 투표하는 방식
--- 가장 이상적이지만, 비밀투표를 충족하기 어렵고, 투표권의 매매 위험이 존재함
- 전자투표의 암호화 기법
-- 공개키/개인키를 이용한 암호화
-- 전자서명
-- 은닉서명 : 투표자와 투표결과 쌍을 이을 수 없도록 함
(3) 무선 플랫폼에서의 전자상거래 보안
1) 무선플랫폼에서의 전자상거래 보안
- WPKI(Wireless Public Key Infrastructure)
-- WAP(Wireless Application Protocol)에서 서버와 클라이언트 간의 인증을 위해 사용되는 무선 환경에서의 공개키 기반 구조
-- 인증기관 / 등록기관 / Client 시스템 / PKI 디렉토리
- 신용카드기반 전자지불 시스템
-- 보안프로토콜 : End-To-End 간의 발생하는 트랜젝션의 안정성
-- S-HTTP/ SSL / TSL
-- 지불프로토콜 : 전자상거래의 모든 구성원들 간의 트랜젝션 정의를 위한 별도의 프로토콜
-- SET / InstaBuy(cyber Cash)
- 전자화폐기반 전자지불 시스템
-- 네트워크형 프로토콜 : 인터넷 같은 네트워크 환경에서 사용자의 PC나 서버의 계좌 등에 전자화폐를 저장하고 사용
--- Milicent(DEC) / NetBill(CMU) / Payword(MIT) 등
-- 가치저장형 프로토콜 : 스카트카드 내에 전자화폐를 저장해서 사용(실생활의 화폐 대용이 목적)
--- Mondex(master Card) / Visa Cash(Visa International) / Proton(Banksys) / K-cash(국내)
- 전자수표 기반 전자지불 시스템
-- 실제 수표와 유사한 형태로, 전자서명 같은 암호화를 통해 배서(어음이나 증권의 양도) 등의 효과를 제공
-- Echeck(FSTC) / NetCheque(USC) / Paynow(CyberCash)
(4) 전자상거래 응용보안
1) e-biz를 위한 ebXML 보안
- ebXML(e-business using XML) : 비즈니스 데이터를 안전하게 교환하는데 XML을 사용한 개방형 표준
- 구성요소
-- 비즈니스 프로세스
--- 다양한 비즈니스 거래절차에 대한 내용을 표준화된 방법으로 모델링해서, 시스템이 자동으로 처리할 수있도록 표현하는 방법을 정의
-- 핵심 컴포넌트
--- 비즈니스에서 교환되는 전자문서를 이루는 항목을 미리 잘 정의해 재사용가능하도록 표준화 작업
-- 등록저장소
--- 거래 상대자들에 의해 제출된 정보를 저장하는 안전한 저장소(제일 중요)
-- 거래 당사자
--- 각종 정보 및 협업을 위한 프로파일을 통일된 규칙을 통해
--- CPP(협업 규약프로파일;거래당사자정보), CPA(협업규악약정서; 거래 당사자간의 협약)를 표현
-- 전송, 교환 및 패키징
--- ebXML 메시지 서비스를 제공하여, 메시지를 상호 운영성과 보안을 유지하면서 어떻게 전송할 것인가에 대한 표준
- ebXML의 개요
http://www.ibm.com/developerworks/library/x-ebxml/
- ebXML 보안 : XML에서 사용되는 보안의 대부분이 ebXML에서 사용됨
-- XML 전자서명 / XML 암호화 / XKMS / SAML / XACML 등
3. 기타 어플리케이션 보안(잘안나올껄?)
(1) 응용프로그램 보안개발방법
1) 취약점 및 버그방지 개발 방법
- 소프트웨어 개발생명주기(SDLC ; Software Development Life Cycle)
-- 소프트웨어를 개발하기 위한 계획부터 구현 및 폐기 까지 전과정을 단계적으로 분류하여 정의한 것
-- 한정된 예산과 자원으로 최선의 개발 환경과 방법을 찾아 높은 품질의 소프트웨어를 만들기 위한 개발 프로세스
- SDLC 모형의 종류
-- 폭포수 모델 : 각 단계 별로 개발 완료 한 후, 다음 단계를 실행 / 개발의 유연성이 떨어짐(개발과정 중의 새로운 요구 반영힘듬)
-- 원형 모델 : 사용자의 요구분석을 위해, 소프트웨어 모델을 사전에 만듬
-- 나선형 모델 : 폭포수 모델의 장점 + 원형 모델의 장점 + 위험 분석
-- 점증적 모델 : 개발되어 운영 중인 시스템과 개발이 진행 중인 시스템이 공존
- 보안이 강화된 SDLC(Secure SDLC)
-- 반복적인 위험 평가 / 영향분석 및 보안 모델링 / 구성요소의 보안 평가 / Secure Coding
- 취약점 및 버그 방지 개발
-- SUID/EUID 보안 프로그래밍
-- 새로운 프로세스 생성 보안
-- BufferOverflow 방지
(2) 보안기술
1) SSO(Single Sign On)
- 통합인증(SSO) : 사용자가 한 번의 로그인 인증으로, 다양한 서비스에 재 인증 절차없이 접근할 수 있도록 하는 통합 솔루션
-- 로그인 서버가 사용자 정보 저장소와 연동해 로그인 검증을 하고, 유효한 경우 토큰을 발급함
-- 사용자는 토큰을 기반으로한 인증 요청으로 다른 서비스를 사용가능함
--- 토큰을 받은 다른 서버들은 정책서버로 토큰 검증이라는 과정을 거치긴함
- SSO 보안 위협 : 사칭 위협 / 인증정보노출 / 인증정보 재사용 / 키관리 위협 / 세션관리 위협
- 장점 : 운영비용감소(한곳에 사용자정보 관리) / 보안성 강화 / 사용자 편의성 강화 / 중앙집중관리로 인해 효율적 관리
- 단점 : SSO 서버가 단일 실패지점 / SSO 서버가 침입당하면 모든 서버에 보안문제
- 커버로스(Kerberos) : SSO 인증방식
-- 대칭키 암호화 기법에 바탕을둔 티켓기반 인증 프로토콜
-- 유닉스와 윈도우 서버에서 기본으로 사용하는 인증기법
-- 인증과정
--- 1) 클라이언트는 KDC(Key Distribution Center)에 접속해 함
--- 2) KDC의 AS(Authentication Server)로 부터 인증을 받고 TGT(Ticket Granting Ticket)을 받음
--- 3) 클라이언트는 TGT를 이용해 KDC의 TGS(Ticket Granting Server)로 부터 세션키와, 세션키로 암호화된 서비스 티켓 받음
--- 4) 클라이언트는 접속을 원하는 서버에, 서비스 티켓을 이용해 인증 받음
--- 5) 티켓의 타임스탬프는 이용시간을 제한하는 용도로 사용하며 이는 제3자가 티켓을 복사해 사용하는 것을 방지함
http://www.zeroshell.org/kerberos/Kerberos-operation/
-- 장점 : 데이터의 기밀성(대칭키)과 무결성 / 재사용예방 / 이기종 간의 자유로운 서비스 인증
-- 단점 : 세션키가 단말에 임시로 저장되, 공격자에 의해 탈취 당할 수 있음 / 타임스탬프가 시간동기화가 필요 / KDC가 단일 실패지점
2) HSM(Hardware Security Module)
- 보안토큰으로써 암호화와 관련된 일련의 과정들을 빠르게 수행하고 생성 및 안전안 보관이 가능한 하드웨어 장치
-- 내부적으로 암호화, 복호화, 전자서명을 위한 프로세스 및 연산장치가 내장
- HSM의 분류
-- 인터페이스에 따른 분류 : 접촉식 / 비접촉식(유선, 안테나가 필요)
-- 매체에 따른 분류 : 스마트카트(따로 리더기가 필요) / USB방식(스마트카드칩을 내장)
- 특징
-- 인증서 보관을 PC가 아닌 HSM에 저장하기에 유출의 위험이 낮음
-- 전자서명을 PC가 아닌 HSM 내부에서 생성
-- HSM 비밀번호 설정과과 초기화, 비밀번호 오류 입력 횟수를 제한
-- HSM 구동 프로그램의 무결성 및 구현 적합성을 스스로 확인
3) DRM(Digital Right Management)
- 전자매체의 불법적이거나 비인가된 사용을 제한할 수 있는 정보보호기술
- DRM 구성요소
-- 콘텐츠(Content) : 암호화된 상태로 유통되는 데이터
-- 사용자(User) : 권한과 조건에 따라 컨텐츠를 사용하는 주체
-- 권한(Permission) : 콘텐츠별로 부여된 이용권리 범위를 명시하여, 사용자가 콘텐츠를 이용하는데 따르는사용 범위를 제한
-- 조건(Condition) : 권한이 수행되기 위한 요구 조건 및 제한 요소
- 자세한 DRM 세부 기술 내용은 다루지 않을래(구성요소정도만 알아도 될듯
정보보안기사 필기 준비 - 5과목 정보보안 관리 및 법규 part1 (0) | 2016.08.31 |
---|---|
정보보안기사 필기 준비 - 4과목 정보보안 일반 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 2과목 네트워크 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 1과목 시스템보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 (0) | 2016.08.31 |
1. 네트워크 일반(5문제/20문제)
(1) OSI 7 Layer
1) 각 레이어의 기능 및 역할
- OSI(Oepn System Interconnection)는 통신절차를 기능별로 구별해 놓은 국제 표준
- SDU(Service Data Unit) : 쉽게 말해, 해당 레이어에서 프로토콜을 이용하는 사용자의 데이터
- PDU(Protocol Data Unit) : SDU의 앞뒤에 Header나 Footer를 덧 붙이는 데이터 캡슐화(Encapsulation)과정의 결과물
-- PDU = Header + SDU + (Footer)
- 1 Layer(Physical Layer)
-- PDU : Bit Stream(0과 1의 연속 / 전기적신호)
-- Protocol : None.
-- Equipment : Repeater / Hub
- 2 Layer(Datalink Layer)
-- PDU : Frame
-- Protocol : Ethernet / HDLC / PPP / ...
-- Equipment : Bridge / L2 Switch
- 3 Layer(Network Layer)
-- PDU : Packet
-- Protocol : IP / ARP / ICMP
-- Equipment : Router / L3 Switch
- 4 Layer(Transport Layer)
-- PDU : Segment
-- Protocol : TCP / UDP
-- Equipment : L4 Switch
- 5 Layer(Session Layer)
- 6 Layer(Presentation Layer)
- 7 Layer(Application Layer)
-- PDU : Data or Message
-- Protocol : Telnet / HTTP / FTP / ...
-- Equipment : PC / Server / ...
2) 레이어별 네트워크 장비
- Physical Layer
-- Reapeater : 걍 전기신호 증폭
-- Hub : Reapeater 기능 + Hub에 붙은 모든 장비로 신호 전달(이 때문에 Hub에 붙은 모든 장비는 하나의 Collision Domain)
- Data Link Layer
-- Bridge : Frame의 MAC주소과 MAC Table을 참조해, 어떤 포트로 Frame을 재조립해 내보낼지 결정할 수 있는 장비
--- Frame을 S/W로 처리되는 방식이기에 Switch보단 느림
--- 모든 포트가 동일한 속도
--- Store-And-Forward 방식만 사용
-- Switch : 일단 Bridge를 기반으로 하고 있다고 생각하면될듯.
--- Frame 처리 절차를 칩에 구워서 H/W적으로 구현(ASIC ; Application Specific Integrated Circuit) 비교적 Bridge보다 빠름
--- 포트 별로 속도를 다르게 처리 가능(각각의 포트가 하나의 Collision Domain이라 그런가?)
--- Store-And-Forward / Cut-Through 방식 사용
※ 계속 기술이 발전함에 따라, 경계가 모호해지고 있기 때문에 딱히 뭐는 뭐다하기는 힘든것 같음
-- 참조 : http://tmdgus.tistory.com/87
- Network Layer
-- Router : Packet의 목적지 IP를 보고 목적지와 연결된 인터페이스로 전송해줌(경로결정) / 네트워크보안 / QoS
-- L3 Swtich
- Transport Layer
-- L4 Switch : 부하분산(트래픽 분산)
(2) TCP/IP 일반
※ TCP/IP Layer
- 1 Layer(Network Interface Layer)
- 2 Layer(Internet Layer)
- 3 Layer(Transport Layer)
- 4 Layer(Application Layer)
http://blog.naver.com/ssamba/125695893
1) IPv4, IPv6 Addressing
- IPv4
-- 네트워크 주소와 호스트 주소로 이루어진 32bit 주소 체계
--- 네트워크를 A, B, C, D Class로 나눠서 구분
-- IP주소의 고갈로 기형적인 기술인 NAT와 DHCP, Subnet같은 기술이 생김
--- NAT(Network Address Translation) : 사설IP와 외부IP(공인IP) 간의 변환
--- Subnet : 네트워크를 Class로 나누는 체계가 아닌, 임의대로 Classless하게 네트워크를 나누는 기술
--- DHCP : 동적으로 IP를 할당하고, 필요 없는 IP는 회수하는 기술
-- 사설 IP(다음과 같이 권고되고 있음 / 네트워크 장비도 이렇게 세팅되있더라)
--- Class A : 10.0.0.0 to 10.255.255.255
--- Class B : 172.16.0.0 to 172.31.255.255
--- Class C : 192.168.0.0 to 192.168.255.255
-- Classful : Subnet 개념이 없는 것. 대표적인 라우팅 프로토콜로 RIPv1, IGRP
-- Classless : Subnet 개념이 있는 것. 대표적인 라우팅 프로토콜로 RIPv2, EIGRP, OSPF, BGP 등
-- 데이터 전달 방법 : Unicast / Broadcast / Multicast
- IPv6
-- IPv4의 주소 고갈의 대응책으로써 128bit의 주소 체계
-- Header의 간소화로 라우팅이 빨라짐(IPv4와 IPv6의 Header가 다름)
-- 데이터 전달 방법 : Unicast / Anycast / Multicast
http://www.caribnog.org/articles/2013/3/9/addressing-ipv6-in-the-caribbean
2) 서브네팅 설계 및 활용
- Subnet Mask : IP주소에서 네트워크 주소와 호스트 주소를 구분하는 구별자 역할
-- 비트열이 1이면 네트워크 주소 부분, 0이면 호스트 주소 부분
-- CIDR(Classless Inter-network Domain Routing) : Subnet Mask 값을 십진수로 변환해 '/24' 같이 IP주소뒤에 붙여서 표현
-- VLSM(Variable Length Subnet Mask) : 어떤 네트워크에서 다양한 길이의 Subnet Mask를 사용하는 것
- Supernetting : 여러개의 네트워크를 하나의 네트워크의 주소로 묶는 것
- Subnetting : 하나의 네트워크 주소를 여러 개의 하위 네트워크 영역으로 분할하는 것 / 하위 네트워크를 Subnet이라 함
3) CIDR, LSM
- CIDR(Classless Inter-network Domain Routing) : Subnet Mask 값을 십진수로 변환해 '/24' 같이 IP주소뒤에 붙여서 표현
- LSM이 VLSM에서 V를 뺸건가??
-- VLSM(Variable Length Subnet Mask) : 어떤 네트워크에서 다양한 길이의 Subnet Mask를 사용하는 것
4) 데이터의 캡슐화
- 캡슐화(Encapsulation) :SDU에 Header나 Footer를 붙이는 행위
5) 포트주소 의미와 할당 원칙
- 포트 주소는 16bit의 정수 형태(0~65535)
-- Well-known Port(0~1023) : 잘 알려진 서비스에 할당된 포트 주소
--- FTP(TCP 20 / TCP 21)
--- SSH(TCP 22)
--- Telnet(TCP 23)
--- SMTP(TCP 25)
--- DNS(TCP 53 / UDP 53)
--- HTTP(TCP 80)
--- POP3(TCP 110)
--- NetBIOS(TCP 137 / TCP 138 / TCP 139)
--- HTTPS(TCP 443)
-- Registered Port(1024~49151) : 특정 프로그램에서 등록한 포트 주소
-- Dynamic Port(49152~65535) : 임의로 사용하는 포트 주소
6) IP, ARP, IGMP, ICMP, UDP, TCP 등 각 프로토콜의 원리 및 이해
- IP(Internet Protocol)
-- TCP/IP 네트워크에서 출발지, 목적지 IP 주소를 지정되는 프로토콜
-- Packet의 목적지 주소를 보고 최적의 경로를 찾아 패킷을 전송해주는게 주된 역할
-- 신뢰성이 없고 비연결 지향적임(신뢰성보다는 효율성에 중점을 줌)
http://en.wikipedia.org/wiki/IPv4#Flags
-- IHL(HLEN) : (Header의 길이/4)로써 Option이 없으면 20Byte이므로 5라는 값을 가짐
-- Flags(3 Bits) :
--- Reserved(Must be zero)
--- DF(Don't Flagement) : Datagram의 분할을 방지
--- MF(More Flagment) : Datagram이 분할될 때 마지막조각이면 0, 아니면 1
- ARP(Address Resolution Protocol)
-- IP주소를 MAC 주소로 변환하는 표준 프로토콜
--- 해당 IP주소가 동일 네트워크에 있음 : 해당 목적지의 MAC주소
--- 해당 IP주소가 외부 네트워크에 있음 : Router의 MAC주소
-- ARP Request는 Broadcast, ARP Reply는 Unicast
-- ARP는 한 번 찾은 MAC주소를 ARP-Cache에 일정 기간동안 IP주소-MAC주소 형태로 보관함
--- ARP-Cache확인 : arp -a
--- ARP-Cahce생성 : arp -s <IP주소> <MAC주소>
--- ARP-Cache삭제 : arp -d <IP주소>
-- 취약점 : 무조건 응답 수용함(요청하지 않은 응답도 수용해버림)
--- 이런 취약점을 노린 공격을 ARP Cache Posisoning이라 함
- RARP(Reverse ARP)
-- MAC주소를 IP주소로 변환하는 표준 프로토콜
- ICMP(Internet Control Message Protocol)
-- IP의 특징인 비신뢰성과 비연결성의 한계를 보완하기 위해, 노드 간의 에러사항이나 통신 제어를 위한 메시지를 보고 할 목적으로 만들어진 프로토콜
-- 에러를 Report할 뿐, 해결하는 기능은 없음 / 대표적인 프로그램으로 PING이 있음
-- ICMP는 TCP/UDP Header가 필요 없고 IP Header와 IP Data 부분에 ICMP 메시지를 포함해서 보냄
-- ICMP 메시지의 종류(일부만)
--- Type 8 : Echo Request
--- Type 0 : Echo Reply
--- Type 3 : Destination Unreachable(CODE영역에 원인 설명되)
--- Type 4 : Source Quench(Flow Control 할 때, 전송속도 줄이라는 의미)
--- Type 5 : Redirect ; Route를 변경하라는 메시지
--- Type 11 : Time Exceeded
- IGMP(Internet Group Management Protocol)
-- 멀티캐스트 그룹을 관리하기 위한 프로토콜(멀티 캐스트 멤버 가입, 수정, 탈퇴)
-- 멀티캐스트 호스트와 라우터 사이에서 동작하게 됨(같은 네트워크에서만 동작함 / TTL 1)
-TCP(Transmission Control Protocol)
-- Transport Layer의 프로토콜로써, 신뢰성과 연결지향적 특징을 가짐
-- 혼잡 제어와 흐름 제어 기능을 제공(Sliding Window) / 에러 제어도 가능(Checksum)
-- 클라이언트와 서버의 데이터 교환을 위해 TCP 3-Way Handshake를 통해 TCP Session을 확립해야 함
http://en.wikipedia.org/wiki/Transmission_Control_Protocol
-- TCP Header Flag는 잘 나와 시험에
--- URG : Urgent Pointer가 유효함
--- ACK : Ack Number가 유효함
--- PSH : 수신자보고 이거 빨리 응용프로그램으로 전달할 것을 지시
--- RST : 연결을 Reset하도록 지시
--- SYN : 연결 시작
--- FIN : 연결 종료
-UDP
-- Transport Layer의 프로토콜로써, TCP와 달리 비신뢰성과 비연결지향적인 특징을 가짐
-- Sequence Number와 Ack Number가 없어서 순서 제어와 흐름 제어가 불가능
-- 따로 연결하는 과정이 없어서 빠른처리와 실시간성을 요구하는 서비스에 적합
7) Broadcast 및 Multicast 이해
- Broadcast
-- Broadcast Domain(=Subnet) 범위 이내에 모든 시스템에 Frame을 보냄
--- 외부로 나가면 Router 단에서 Drop되
-- Broadcast를 받은 시스템은 CPU가 Packet을 처리하게 끔 함(Broadcast가 많아지면 네트워크트래픽도증가하고, CPU 성능도 낮아짐)
- Multicast
-- 네트워크에 연결되어 있는 시스템 중, 일부분에게만 정보를 전송할 수 있는 것
-- Router가 Multicast를 지원해야만 사용가능함
-- Multicast Group에 가입, 탈퇴시에 IGMP를 사용함
- Unicast
-- 정보 전송을 위해 Frame에 자신의 MAC와 목적지의 MAC를 첨부해 전송하는 방식
-- 가장 많이 사용되는 방식으로, Broadcast와 달리 CPU 성능에 문제를 주지 않음
- Anycast
-- IPv4의 Broadcast가 사라지고 IPv6에선 Anycast로 대체됨
(3) Unix/Windows 네트워크 서비스
1) DNS, DHCP, SNMP, Telnet, FTP, SMTP 등 각종 서비스의 원리 및 이해
- DNS(Domain Name Service)
-- Domain Name과 IP Address를 Mapping시켜주는 거대한 분산시스템
-- Server-Client기반으로 작동함
--- Server : Primary Name Server / Secondary Name Server
--- Client : Resolver
-- DNS Query 종류
--- Recursive Query : 요청받은 DNS Server에서만 Query 처리
--- Iterative Query : 요청받은 DNS Server에 정보가 없으면, 다른 DNS Server에 반복적으로 Query해서 처리
---- 이건 DNS Server들 끼리하는 Query라고 생각
-- DNS 동작 순서
--- Client : DNS Cache 확인 → Hosts 파일 확인 → Server로 Query
--- Server : DNS Cache 확인 → Zone File 확인 → Iteractive Query / 해석 실패
-- 취약점을 이용한 공격
--- DNS Cache Poisoning
--- DNS Spoofing
- DHCP(Dynamic Host Configuration Protocol)
-- 네트워크 상의 IP 주소를 중앙에서 관리하고 할당해도록 해주는 프로토콜
-- DHCP 동작과정(필요하면 나중에 더 정리함)
--- 1) Discover : Client가 DHCP Server을 찾음(Broadcast)
--- 2) Offer : DHCP Server가 Client에게 제공할 수 있는 정보를 줌(Broadcast, 물론 시스템에 따라 Unicast인 경우도 있음)
--- 3) Request : Offer받은 Client가 제공받은 정보를 사용하겠다고 DHCP Server로 알림
--- 4) Ack : DHCP Server가 확인 신호보냄
-- 공격 유형
--- DHCP Starvation : 공격자가 DHCP Server의 모든 IP를 할당 받아서 공격
--- DHCP Spoofing : 공격자가 가짜 DHCP Server를 만들어 잘못된 네트워크 정보를 할당하는 공격
---- DHCP Server를 인증할 수 없기 때문에 가능한 공격
---- 공격에 성공하면, Gateway주소를 속여 Sniffing하거나 Pharming 공격을 할 수 있음
- SNMP(Simple Network Management Protocol)
-- OSI 7 Layer에 속하며, TCP/IP 기반의 네트워크에서 네트워크상의 각 Host에게서 정기적으로 여러 정보를 수집해 네트워크를 관리하기 위한 프로토콜
-- Master와 Agent로 구성됨
--- Master : 관리영역의 네트워크상의 정보가 집중되는 장비(정보의 요청이 시작됨)
--- Agent : 관리영역의 네트워크상에서 관리되는 장비
-- MIB(Management Information Base) : 각 Agent들이 가지고 있으며, Agent의 정보의 집합
-- SMI(Structure of Management Information) : MIB 내의 변수들이 어떤것인지 정의한 것
-- 메시지 전달 방식
--- Poliing(UDP 161) : Manager to Agent
--- Trap(UDP 162) : Agent to Manager
-- 종류
--- SNMPv1
--- SNMPv2 : 현재 많이 사용(SNMPv1에다가 보안기능을 추가(DES/MD5)
--- SNMPv3 : 구현의 복잡성 때문에 잘 사용되지는 X
-- SNMP 통신이 가능하려면 다음과 같은 조건이 만족되어야 함
--- SNMP의 Version이 일치해야 함
--- 서로간의 Community 값이 일치해야 함(기본값 public ; 이걸 바꿔줘야 안전함(외부로 네트워크 정보 새어나갈위험이있음))
--- PDU type이 동일해야 함(값의 범위는 0~4)
- Telnet
-- 원격 접속 프로토콜로써, 데이터가 평문으로 전달되기에 보안성이 떨어짐(TCP 23 Port)
-- 보안성을 위해 SSH(Secure Shell ; TCP 22 Port)을 이용
- FTP(File Transfer Protocol)
-- 원격 파일 전송 프로토콜(TCP 20/21 Port)
-- 연결 방식(나중에 자세히 다루는 Part있는듯)
--- Active 방식 / Passive 방식
- SMTP(Simple Mail Transfer Protocl)
-- 메일 전송 프로토콜(TCP 25 Port)
-- 다른 형식의 데이터를 전달하기 위해 MIME을 이용함(HTTP와 구성이 비슷)
2) Workgroup과 Domain
- Microsoft에서 제공하는 효율적인 디렉토리 관리를 위한 네트워크 모델
- Workgroup
-- 개별적인 관리모델로써, Workgroup 내의 시스템에 접근하려면 해당 시스템에 생성되어 있는 계정으로 인증받아야함(Client-to-Client이라고 보면될듯)
-- 전체적인 관리가 어려우며 비효율적임
- Domain
-- 통합적인 관리모델로써, Workgroup의 크기 가 커지면 각 시스템마다 계정을 생성해야하는 문제점을 고침
-- Domain 내의 한 Server(DC; Domain Controller)로 Domain 내의 모든 시스템의 사용권한 및 보안의 제어가 가능
--- DC에서 계정을 관리하기에, 각 시스템마다 동일한 계정으로 접근이 가능해짐
-- Domain의 각 시스템들은 다른 로컬 네트워크에 있을 수 있음
3) 터미널서비스 등 각종 원격관리 서비스
- SSH(Secure SHell)
-- 안전하지 않은 네트워크를 통해 원격 로그인하거나, 기타 안전한 네트워크를 이용하는데 안전한 쉘 프로토콜
- Windows Terminal Service
-- mstsc(기본값으로 TCP 3389 Port)
--- 보안을 위해 Port를 변경하는게 좋음
--- GUI로 작업이 가능하다는게 특징(화면 동기화는 지원되지는 X)
--- 동시접근가능한 계정의 수가 존재(많이 붙으면 버벅거리긴하던데)
4) 인터넷공유 및 NAT 원리, 활용
- 인터넷 공유(ICS ; Internet Connection Service)
-- 한 시스템에 네트워크 인터페이스가 2개 이상 존재할 때, 인터넷에 연결된 하나의 네트워크 인터페이스를 통해 인터넷에 접속하는 방법
-- ICS를 제공하는 시스템에서, DHCP를 통해 나머지 시스템에게 IP를 할당하고 NAT로 외부와 연결가능하게 끔함
--- 즉, Windows 시스템을 하나의 Router로 이용하는 기술
- NAT(Network Address Translation)
-- 사설 IP를 공인 IP와 Mapping하여 변환하는 프로토콜
--- IP주소의 고갈 / 설계의 효율성 / 보안의 강화 등의 이유로 사용함
-- 종류
--- Static NAT : 사설 IP와 공인 IP를 1:1로 걍 할당
--- Dynamic NAT : 공인 IP의 범위가 정해져있는 Pool에서 자동으로 공인 IP를 선택해서 사설 IP에 Mapping
--- NAT-PAT(NAT-Port Address Translation) : NAT에 Port주소를 Mapping해서 변환시키는 방법(Port Forwarding)
2. 네트워크 활용(6문제/20문제)
(1) IP Routing
1) IP Routing 종류 및 프로토콜
- IP Routing : 주어진 IP Packet을 목적지 주소 까지 전달하는 것으로 전달 경로의 설정이 핵심
- Routing Table : 목적지 네트워크로 데이터를 전달하기 위한 경로 정보 Database
-- Routing Table을 채우는 방법
--- Connected : 직접 Interface에 연결된 장비의 정보를 학습
--- Static Route : 관리자가 수동으로 목적지 네트워크에 대한 경로 정보를 입력해서 학습
--- Dynamic Route : Routing Protocol을 이용해, 장비 간 경로 정보를 주고 받아서 정보를 학습
--- Redistributed : 다른 Router와의 정보 교환(Routing Protocol 간의 정보 교환)
- Static Routing
-- Router(config) # ip route <Destination Network IP> <Subnet Mask> <다음 Router IP>
- Default Routing : Routing Table에 없는 목적지의 경우 보내는 경로
-- Router(config) # ip route 0.0.0.0 0.0.0.0 <Default Router IP>
- Dynamic Routing
-- Routing 경로가 Router와 Routing Protocol에 의해 설정이 되는 형태
-- Unicast Routing Protocol
--- IGP(Interior Gateway Protocol) ; AS 내부
---- Distance Vector 방식(목적지 네트워크까지 갈 수 있는 경로 중, 최적의 경로 선택)
----- RIP
---- Link-State 방식(LSA를 통해 전체 토폴로지 구성 후에, 리크마다 값매겨서 최적의 경로선택)
----- OSPF
--- EGP(Exterior Gateway Protocol) ; AS 간의
---- Advanced Distance Vector 방식
----- BGP
------ iBGP : 외부 AS의 경로를 내부에서 Routing
------ eBGP : AS와 AS사이에서 경로를 Routing
-- Multicast Routing Protocol
--- DVMRP
--- MOSPF
--- PIM
--- Dense&Spares
- Routing Protocol의 우선순위
-- Connected > ICMP redirect > Static > OSPF > RIP
(2) 네트워크 장비 이해
1) 랜카드, 허브, 스위치 및 브리지 기능
- LAN Card(NIC ; Network Interface Card)
-- Point-to-Point 토폴로지 형태
-- 신호 전달 방식 : Full Duplex / Half Duplex
- Hub
-- 1계층 장비
-- 신호 전달 방식 : Half Duplex
--- CD(Collision Domain)의 확장시키지만, CSMA/CD기법을 사용해서 예방과 해결가능
- Switch
-- 2계층 장비(Frame 뜯어보기 가능)
-- 신호 전달 방식 : Half Duplex / Full Duplex(CD가 분리됨)
--- Port마다 다르게 설정가능
-- Bridge와는 달리 H/W방식으로 Switching을 함(ASIC ; 저 위에서 언급함)
-- Switching하는 방식
--- Stored and Forwarding : 전체 Frame 모두 받고 오류 검출 후 전달
--- Cut-Through : Frame에서 목적지 주소만 보고 바로 전달
--- Fragment-Free : Frame의 64Byte까지만 받고 검사 후, 바로 전달
-- Flooding : 목적지 MAC주소가 자신의 MAC Table에 없거나, MAC Table이 가득 차면 Hub처럼 동작
--- Switch jamming : MAC Table 가득 차게만들어서, Hub처럼 동작하게 만들어 Sniffing하는 방법
-- MAC Table
--- Learning : 출발지 MAC 주소 확인 후, MAC Table에 없으면 저장
--- Aging : MAC 주소 기억하는 시간
- Bridge
-- 2계층 장비
-- Switch와는 달리 S/W적으로 구현됨
-- Switching하는 방식
--- Store and Forward(이거만 지원)
2) VLAN 구성 및 관리
- VLAN(Virtual Local Area Network) : 물리적인 네트워크와 상관없이 논리적으로 네트워크를 분리하는 기술
- 기본적으로, VLAN 소속이 다르면 서로 통신이 불가능함(가능하게하려면 Router나 Routing Module이 필요)
-- Swtich 내부적으로 Frame에 VLAN정보가 있는 Tag를 붙여서 내보내는데, VLAN소속이 다르면 걍 버림
- Swtich의 모든 Port는 기본적으로 VLAN 1로 할당되어 있음
- VLAN이 설정된 Swtich의 각 Port의 구분
-- 그냥 Port(Access라고도 하는데??) : 지정된 VLAN Tag 정보만 허용되는 Port(Host로의 연결에 사용)
-- Trunk Port : VLAN Tag정보를 확인안하는 Port(다른 Switch와의 연결에 사용)
- Trunking Protocol(Tag를 어떻게 달것인가??)
-- 802.1Q : 표준 Protocol(Native VLAN 지원 O)
-- ISL : Cisco Only Protocol(Native VLAN 지원 X)
- Native VLAN
-- Trunk Port로 Frame이 나갈 때 특정 VLAN에 대한 정보를 Tagging하지 않고 전달
--- 예를들어 Native VLAN이 2라면, VLAN 2인 Frame은 걍 Tagging없이 걍 전달
- VTP(VLAN Trunking Protocol)
-- 이것도 Cisco Only Protocol
-- Trunk로 연결된 Switch들 간의 VLAN 설정 정보를 통합적으로 관리하기 위한 것
-- VLAN 정보가 공유되는 네트워크를 도메인이라고 지칭
-- VTP Mode
--- Server Mode : VLAN정보를 생성,변경,제거가 가능하며, 도메인 내에 퍼트리는 존재
--- Client Mode : VLAN정보를 받는 존재
--- Transparent Mode : 도메인 내에 있지만, 자신만의 VLAN정보를 생성하고 제거하는(말그대로 Server가 뿌리든말든 무시하고 내꺼만)
3) 라우터 설정
- User Mode (Router > )
↓ enable(en)
- Privileged Mode (Router # )
↓ configure terminal(conf t)
- Global Configuration Mode (Router(config)# )
-- 여기서 전체적인 설정 가능해
-- 걍 생략 할래 딱보면 알겠지뭐
4) 네트워크 장비를 이용한 네트워크 구성
- 네트워크의 구성은 안전성에 기반을 두어야 함
-- Hierarchical Model을 이용(안전성이 검증된 네트워크 모델이라네??)
--- Access : 말단에 직접 연결되는 계층으로 보통 L2 Swtich
--- Distribution : 네트워크 간의 연결(Router, L3 Switch 등)
--- Core(Backbone) : 한 네트워크 내부의 모든 트래픽을 연결하고 관리하는 성능 좋은 Router, Switch
- 전용선 연결
-- VPN(Virtual Private Network)
-- Leased Line : 물리적 Cable을 이용하는...
-- 등등
(3) 무선통신
1) 이동/무선통신 보안
- 무선랜 유형
-- WPAN(Wireless Personal Area Network)
--- 단거리 Ad-Hoc방식 / Peer to Peer방식 (노트북과 마우스 등)
-- WLAN(Wireless Local Area Network)
--- 일반적으로 우리가 말하는 Wi-Fi
--- Half Duplex방식으로 신호가 전달되므로 CSMA/CA로 충돌을 회피함(※ Hub의 CSMA/CD와는 다름)
-- WMAN(Wireless Metropolitan Area Network)
--- 도시규모의 지역에서 무선 광대역 접속기능(WiMAX)
- 무선랜 접속 방식
-- Infrastructure Network
--- 유선 네트워크와 무선 네트워크를 연결하는 AP(Access Point) 장비에 의해 외부통신이 지원되는 WLAN
-- Ad-Hoc Network
--- WLAN 장비 사이에서 직접 통신이 일어날 뿐, 외부와의 연결은 X(노트북과 마우스의 연결)
- WLAN 보안 설정
-- WEP(Wireless Equivalent Privacy)
--- RC4 암호화 알고리즘을 사용(RC4자체가 알고리즘 자체에 취약점이 존재)
--- 정적인 암호화 키를 사용하기에 도청 몇 만개 당하면 걍 끝
--- 요새 안써
-- WPA(Wi-fi Protected Access), WPA2
--- WEP의 문제점을 보완
--- WPA : 인증(802.1X/PSK), 암호화(TKIP)
--- WPA2 : 인증(802.1X/PSK), 암호화(CCMP) ; CCMP가 AES를 사용하는거
--- WPA2도 TKIP을 사용가능한데, 그렇게되면 WPA와 다르게 없어짐
(4) 네트워크기반 프로그램 활용
1) Ping, Traceroute 등 네트워크기반 프로그램의 활용
- Ping(Packet Internet Grouper)
- Traceroute(Windows는 tracert)
-- IP의 TTL값 1씩 늘려가며 Time Exceeded 에러 메시지를 통해 목적지 까지의 경로를 추적
-- Unix/Linux : traceroute(UDP 생성)
-- Windows : tracert(ICMP Echo Request 생성)
-- Firewalking : Linux의 traceroute를 이용해 방화벽에 도착하는 port 번호 조작하여 방화벽을 우회하는 기법
2) Netstat, Tcpdump 등 활용
- Netstat
-- 시스템에서 제공되고 있는 서비스 정보(현재 open되어 있는 port정보) 확인
-- netstat -an
- Tcpdump
-- NIC로 입출력되는 트래픽을 사용자에게 출력해주는 분석 도구
-- tcpdump -i eth0 -w tcpdump.txt
-- tcpdump -i eth0 -c 5 ; 패킷 5개 받기
-- tcpdump -i eth0 icmp
-- tcpdump -i any dst host 192.168.100.1
-- tcpdump -i any src host 192.168.100.1
-- tcpdump -i any host 192.168.100.1
3) 네트워크 패킷분석 및 이해
- Tcpdump / Wireshark 등
- Interface가 Promiscuous로 동작해야 함
-- Swtich 환경인 경우에는 Flooding 하게끔 Switch Jamming 등.. 조치가 필요
4) 네트워크 문제의 원인분석과 장애처리
3. 네트워크 기반 공격 이해(5문제/20문제)
(1) 서비스 거부(DoS) 공격
1) 각종 DoS 공격원리와 대처 방법
- DoS(Denial of Service ; 서비스 방해(거부) 공격
-- 시스템이 정상적으로 서비스를 하지 못하게 해서, 일반적으로 서버를 다운시키는 공격
-- TCP/IP Protocol의 구조적 취약점을 이용한 공격이 많음
-- 시스템에 과부하를 주는 공격 / 네트워크 서비스 방해하는 공격
2) SYN Flooding, Smurfing 등 각종 flooding 공격의 원리, 대처
- SYN Flooding
-- 공격자가 임의로 자신의 IP를 속인뒤, 서버로 다량의 SYN 패킷을 보내서 서버를 대기 상태(SYN+ACK Sent)로 만드는 공격
-- 서버는 계속 ACK 패킷을 기다리는데 모든 자원을 쏟아붇게 되고 정상적인 서비스가 불가능해짐
-- 탐지 방법
--- SYN 패킷을 받으면 카운트를 늘리고 ACK를 보내면 카운트를 줄여서, 특정 기간 내에 카운트가 높으면 SYN Flooding
-- 조치 방법
--- Connect Queue Size를 증가 시킴(일시적인 대처법) ; Backlog Queue라고도 표현하네
--- SYN Cookie Size를 늘림
---- L4에서 SYN패킷을 보내면, 세션 테이블 생성없이 SYN/ACK(syn=cookie)를 보내고
---- 이에 대한 ACK(ack=cookie+1) 패킷을 받으면 서버와 세션을 연결해주는 방법
---- 물론, L4가 아닌 서버단에서도 가능
--- Router단에서 서브넷 외의 주소를 가지는 소스IP를 가지는 패킷을 차단
- UDP Flooding
-- 공격자가 UDP로 서버에 가상의 데이터를 연속적으로 보내서, 서버의 부하 및 네트워크 오버로드를 발생시키는 공격
-- 조치 방법 : 불필요한 UDP 서비스를 차단
- Smurfing(=smurf)
-- Broadcast 주소로 ICMP_REQUEST로 보내서 이에대한 ICMP_ECHO_REPLY를 공격지로 보내는 방법
-- 조치 방법
--- Router에서 Direct Broadcast 패킷은 차단(외부 네트워크에 Broadcast를 Direct Broadcast라고 하는 듯)
--- Host에서 Broadcast로 전달된 ICMP에 대하서는 응답안하게 설정
- Teardrop 공격
-- Header가 조작된 일련의 IP 패킷조각들을 전송해서 공격이 이루어짐
-- Offset값을 일부로 이전 값보다 작게 음수로 만들어서 보내므로, 재조립과정에서 에러가 발생→블루스크린
- Ping of Death
-- IP 패킷 최대 사이즈보다 큰 ICMP Request를 보내는 공격
-- 패킷 재조립 과정에서 Buffer Overflow 및 시스템 충돌이 일어남
-- IP 패킷 사이즈를 검증하는 설정을 추가
- Land Attack
-- 목적지, 출발지 IP와 Port가 모두 동일하게 보내는 공격
-- 시스템 자원을 고갈시켜 서비스 장애를 유발 시킴
-- 방화벽 단에서 필터링하도록 설정(요샌 다 되어 있지)
(2) 분산 서비스 거부 공격
1) DDoS 공격 원리 및 대처 방법
- DDoS(Distributed DoS) : 공격 시스템을 분산배치해서 동시에 대량 트래픽을 발생시키는 공격(Zombie PC)
-- 툴 : TRINOO / TFN(TFN2K) / Stacheldraht(슈탁셀드라트)
- DRDoS(Distributed Reflection DoS)
(3) 네트워크 스캐닝
1) Remote Finger Printing
- 외부에서 물리적인 장치면, 운영체제 유형등을 알아내는 기법
2) IP 스캔, Port 스캔
- IP 스캔
-- Host Discovery를 말하는 것 같음. 운영되고 있는 시스템을 찾아내는 기술
-- ICMP ping과 TCP Ping(SYN 등을 보내서 반응보기) 등으로 알아냄
- Port 스캔
-- 스캐닝 기법
--- Opening Scanning : TCP Connect Scanning
---- 걍 세션 성립시키는 방법(로그 남아서 위험)
---- Open Port : SYN/ACK(이거받고 ACK 보내서 세션 성립시켜)
---- Close Port : RST/ACK
--- Half-Open Scanning : SYN Scanning
---- Open Port: SYN/ACK(이거받고 걍 RST보내서 세션 성립막아)
---- Close Port : RST/ACK
--- Stealth Scanning : FIN / X-MAS / NULL Scanning
---- Open Port : 응답 X
---- Close Port : RST/ACK 응답
--- More Advanced Scanning : Spoofed Scanning(??)
-- 포트 스캐닝의 구분
--- TCP 포트 스캐닝 : 특정 Flag값을 설정한 뒤, 패킷을 보내고 그에 대항 응답으로 확인
--- UDP 포트 스캐닝
---- 포트가 열린 상태 : 아무런 응답 X
---- 포트가 닫힌 상태 : ICMP Unreachable(UDP 패킷이 목적지에 도달하지 못했다는 메시지)
---- ※ 패킷이 유실되도 아무런 응답이 없기에 신뢰성이 떨어짐
(4) IP Spoofing, Session Hijacking
1) IP Spoofing과 Session Hijacking의 원리 및 실제
- IP Spoofing
-- Trust Relation을 악용한 것(IP만 일치하는지 확인만 하고 세션 성립시켜버리는)
-- Step 1) 공격자가 세션을 뺏고자하는 호스트에게 DoS공격
-- Step 2) 공격자가 호스트의 IP로 자신을 속여 서버로 SYN 패킷을 보냄
-- Step 3) 서버가 보낸 SYN/ACK패킷을 호스트는 받지못하고, 공격자가 Brute Forcing으로 Sequence Number 맞춰서 ACK패킷보냄
-- Step 4) Session성립
-- 현재는 Sequence Number가 랜덤하게 변경되기에 공격이 불가
-- 대응책
--- 일단 Trust를 사용하지 않는게 좋아(Trust는 TCP Wrapper가 처리한다네??)
--- 불가피하게 구성할 경우에는 MAC주소를 Static으로 고정해(물론 MAC주소도 수정가능하지만 뭐...)
- ARP Spoofing(ARP cache Poisoning와 미묘한 차이)
-- 자신이 게이트웨이인거처럼 속여 네트워크 내의 모든 패킷이 자신을 거쳐 가도록 하는 공격
-- Step 1) 스니핑이 선행되어야 하며 랜카드는 Promiscuous 모드로 동작해야 함
-- Step 2) ARP Request Broadcast로 네트워크 상의 모든 IP와 MAC주소를 알아냄
-- Step 3) 공격자가 자신의 MAC주소를 게이트웨이(HUB/Switch)의 MAC주소로 속여서, 네트워크 상의 호스트들의 ARP Cahce를 업데이트시킴
-- Step 4) 모든 패킷이 자신에게 옴
-- 대응책
--- ARP Table을 정적으로 고정(arp -s <IP> <MAC>)
--- Ingress Filtering : 외부에서 오는 패킷이, 내부인척 하는 걸 필터링
--- Egress Filtering : 내부에서 나가는 패킷이, 내부의 주소가 아니면 필터링
--- ARP Storm 확인 : 다량의 ARP Reply가 지속적으로 발생하는걸 확인해서
- Session Hijacking
-- 서버와 클라이언트 사이의 Session을 가로채는 기술
-- 대응책
--- 데이터 전송시 암호화하여 내용 못보게 함
--- 지속적인 인증 시스템 구축
--- Ack Storm의 탐지
(5) 스니핑 및 암호화 프로토콜
1) 스니핑 공격 원리와 대처 방법
- 스니핑(Sniffing) 원리
-- NIC 모드를 Promiscuous로 바꾸고 네트워크 상의 모든 트래픽을 다 받아들임으로 스니핑 가능
-- Passive Sniffing
--- Hub로 연결된 네트워크에서는 Hub가 Flooding하게 데이터를 뿌리므로 걍 NIC만 Promiscuous로 바꾸면 스니핑 가능
-- Active Sniffing
--- Switch의 경우에는 따로 공격을 통해 Flooding하게끔 공격해야 가능
--- 꼭 Flooding하게만 만드는게 아니라, MITM(Man In The Middle) 형태로 만들어야 함
---- Switch Jamming
---- ARP Spoofing(ARP Cache Poisoning)
---- ICMP Redirect : Router에게 올바른 경로를 알려주는 용도인데 악용해서 자신에게 오게끔 경로를 수정
- 스니핑의 대응
-- 일단 Switching 환경으로 네트워크 설계
-- ARP Cache Table을 정적으로 운영
-- 데이터의 암호화 : SSL / PGP, S/MIME / SSH / VPN / IPsec
(6) 원격접속 및 공격
1) 각종 공격의 인지 및 이해
- 원격 공격
-- 원격 네트워크의 공격자가 피해 시스템에 접근하여 명령을 전달할 수단을 획득하는 공격
-- Backdoor, Null Session Hacking 등의 기법으로 대상 시스템을 제어할 수 있는 권한 등을 획득
2) Trojan, Exploit 등 식별, 대처
- Trojan
-- 트로이목마 악성 프로그램 또는 악성코드를 의미
- Backdoor
-- 시스템에 접근할 수 있는 뒷문
-- Back Orifice를 시작으로 제작되었고 현재 다양한 종류가 있음
4. 네트워크 장비 활용 보안기술(2~3문제/20문제)
(1) 침입 탐지시스템(IDS)의 이해
1) 원리, 종류, 작동방식, 특징, 단점
- IDS(Intrusion Detection System ; 침입 탐지 시스템)
-- 시스템에 대한 인가 되지 않은 행위와 비정상적인 행동을 탐지해서 관리자에게 알림
-- 일반적으로 침입 차단시스템(Firewall)과 결합해서 많이 쓰임
- IDS의 유형 : 데이터 소스 기준 IDS 시스템 분류
-- 호스트 기반 IDS(HIDS)
--- 각 호스트 내에서의 운영체제 감사자료와 시스템 로그 등을 통해 침입탐지를 하는 시스템
--- 감시 대상이 되는 서버에 각각 설치해야 함
--- NIDS에서 탐지 불가능한 침입을 탐지 가능 / 추가적인 하드웨어의 구매가 필요없기에 상대적으로 저렴
--- 호스트의 자원을 점유 / 운영체제 자체가 취약하면 보장하기 힘듬
-- 네트워크 기반 IDS(NIDS)
--- Promiscuous로 동작하는 NIC를 통해 네트워크 패킷을 캡쳐 후, 분석을 통한 침입탐지를 하는 시스템
--- 보통 Switch에서 업링크된 포트에 미러링을 구성하는 방식 사용
- IDS의 유형 : 침입탐지 판정 원리에 따른 분류
-- 오용탐지(Misuse Detection) : 정해진 공격 모델과 일치하는 경우를 침입으로 간주 ; 지식기반 침입 탐지라고도 함
-- 비정상행위(Anomaly Based) : 정해진 모델을 벗어나는 경우를 침입으로 간주 ; 행위기반 침입 탐지라고도 함
2) False Positive / Negative 이해
- False Positive(오탐) : 정상을 악의적인 것으로 판단
- False Negative(미탐) : 악의적인 트래픽을 정상으로 판단
(2) 침입 차단시스템(Firewall)의 이해
1) 원리, 종류, 작동방식, 특징, 단점
- 외부의 불법적인 침입으로부터 내부를 보호하고 외부로 부터 유해정보의 유입을 차단하기 위한 정책과 이를 지원하는 하드웨어/소프트웨어
- 주요 기능 : 접근 통제(패킷 필터링) / 감사 및 로깅 / 프로시 기능 / 보안정책 구현 / 사용자인증
- 침입 차단시스템의 종류
-- 패킷 필터링(Packet Filtering) 방식
--- Network Layer와 Transport Layer에서 동작하는 방식
--- 일반적으로 스크린 라우터를 이용한 방화벽 방식
-- 어플리케이션 게이트웨이(Application Gateway) 방식
--- Application Layer에서 동작하는 방식
--- 침입 차단시스템의 Proxy를 이용해 사용 가능
--- 외부 네트워크와 내부 네트워크가 오직 Proxy를 통해서만 연결
--- Application Layer에서 동작하므로 네트워크에 많은 부하를 줄 수 있고 하드웨어에 의존적임
http://iorora.web-bi.net/tech/ETCnetwork/firewall/type.htm
-- 서킷 게이트웨이(Circuit Gateway) 방식
--- 하나의 일반 게이트웨이로 모든 서비스가 처리 가능한 방식
--- Session Layer, Presentation Layer, Application Layer에서 동작
--- 게이트웨이 사용을 위해 수정된 클라이언트 모듈이 필요함 / 지원불가능한 프로토콜이 있을 수 있음
http://iorora.web-bi.net/tech/ETCnetwork/firewall/type.htm
-- 상태 검사(Stateful Inspection) 방식
--- 기본적으로 패킷 필터링 방식을 사용
--- 서버-클라이언트 모델을 유지시키면서 모든 Layer의 전후 상황에 대한 문맥을 제공
--- 패킷 필터링 방식, 응용 게이트웨이 방식, 서킷 게이트웨이 방식의 단점을 보완
--- 현재 방화벽 업계 표준이 되어간다네??
- 침입 차단시스템의 구축 형태
-- 베스천호스트(Bastion Host)
--- 보호된 네트워크에서 유일하게 외부로 노출되면서 내외부 네트워크의 연결점으로 사용되는 호스트
--- 방화벽 S/W가 설치되어 있으며, 보안의 취약점이 완벽히 제거 되어 있는 시스템
--- 일반 사용자 계정이 없어야 되며, 방화벽 S/W 외의 모든 유틸리티는 삭제 되어야 함
--- 베스천호스트가 손상되면 내부 네트워크로 무조건적인 패킷 전송이 가능(즉, 내부 네트워크 보호 불가능)
--- 2계층 공격 등을 통한 방화벽 우회공격에 취약
http://dlrudwo.tistory.com/entry/Firewall
-- 스크린 라우터(Screen Router)
--- 일반적인 Router 기능 + 패킷 헤더를 보고 패킷 통과 여부를 제어할 수 있는 필터링(스크린) 기능
--- Network Layer와 Transport Layer의 IP주소, Port주소에 대해서만 접근 제어
--- 로깅과 감시가 힘듬 / 패킷 필터링 규칙에 대한 검증이 어려움
http://dlrudwo.tistory.com/entry/Firewall
-- 듀얼 홈 게이트웨이(Dual Home Gateway)
--- 두 개의 랜카드를 가진 베스천호스트구조(하나는 내부 네트워크, 나머지 하나는 외부 네트워크와 연결)
--- 베스천호스트가 손상되면 내부 네트워크는 외부 네트워크와 완전히 차단됨
http://dlrudwo.tistory.com/entry/Firewall
-- 스크린 호스트 게이트웨이(Screen Host Gateway)
--- 스크린 라우터 + 베스천호스트의 구조를 가짐
--- 1차적으로 스크린 라우터가 Network Layer와 Transport Layer에 대해 필터링하고, 2차적으로 베스천호스트가 Application Layer에 대해 점검
---- 외부에서 들어오는 패킷은 스크린라우터가 필터링 한 후 베스천호스트로 몰아줌(이 경로가 잘못되면 끝임)
--- 따라서 매우 안전하며, 가장 많이 사용되는 시스템
--- 구축 비용이 많이들며, 위에 설명했드시 스크린 라우터의 라우팅 테이블이 변경되면 끝임
http://dlrudwo.tistory.com/entry/Firewall
-- 스크린 서브넷 게이트웨이(Screen Subnet Gateway)
--- 스크린 호스트 게이트웨이 + 듀얼 홈 게이트웨이의 구조를 가짐
--- 두 개의 스크린 라우터와, 하나의 베스천 호스트로 구성되며 스키린 서브넷이 DMZ에 놓이게 되는 방식
--- 내부쪽의 라우터가 듀얼 홈 게이트웨이 구조라고보면될듯
--- 가장 강력한 보안이며 융통성이 띄어나지만 구축이 어렵고 비용이 많이들며 서비스 속도가 느림
http://dlrudwo.tistory.com/entry/Firewall
(3) 가상사설망(VPN)의 이해
1) 원리, 작동방식, 특징, 구성, 단점
- VPN(Virtual Private Network ; 가상사설망)
-- 공용망을 마치 전용선처럼 이용하기 위해 사용하는 기술
-- 전송되는 데이터에 암호화와 인증 등 보안기능을 제공
- VPN에 필요한 기술
-- 터널링 기술 : Ent-to-End 전용회선 연결과 같은 효과가 있고, 두 종단간 사이에 가상적 터널을 형성하는 기술로써 프로토콜로 구현
-- 키(Key) 관리기술 : VPN의 보안적 요소들에 사용되는 기술들. 대표적으로 ISAKMP, OAKLEY 등
-- VPN 관리기술 : 효과적이고 안정적으로 VPN 서비스를 지원하는 기술이며 QoS를 보장하는 기술
- 장/단점
-- 폐쇄망이기에 외부에 노출 X / 신규 노드 확장이 빠름 / 전송회선 비용 절감 / 네트워크 확장 용이
-- 공중망을 이용하기에 대역폭 보장X / 모든 장비가 호환되지 X
- 터널링 프로토콜
-- 용어 정리
--- 터널링 : 송수신자 사이의 전송로에 외부로부터의 침입을 막기위해 일종의 파이프를 구성하는 기술
---- 파이프는 터널링을 지원하는 프로토콜을 사용해 구현되며 보안기능을 지원
--- 페이로드(Payload) : 터널링 되는 데이터
-- PPTP(Point-to-Point Tunneling Protocol)
-- L2TP(Layer 2 Tunneling Protocol)
-- Sock v5
-- IPsec
--- Network Layer에서 동작하는 보안 매커니즘(프로토콜)(업계 표준)
--- 인증 / 접근제어/ 무결성/ 기밀성 / 재전송방지 등을 지원
--- 사용하는 프로토콜
---- AH(Authentication Header) : 데이터 무결성 보장과 IP 패킷의 인증에 사용되는 프로토콜
----- Transport Mode : 원래의 IP Header를 그대로 사용해서 전송
----- Tunnel Mode : 데이터 그램 전체를 AH로 캡슐화하고, 다시 새로운 IP Header를 캡슐화해서 전송
------ 새롭게 IP Header를 만드므로 송수신자를 새로 지정이 가능(주로 보안 게이트웨이끼리 지정)
http://www.amaranten.com/support/user%20guide/VPN/IPSec_Basics/Overview.htm
---- ESP(Encapsulating Security Payload) : AH와 동일한 인증 뿐만아니라 데이터의 기밀성 보장이 가능한 프로토콜
----- ESP단독으로 사용하거나 ESP + AH 조합된 형식으로 사용함
----- Transport Mode
----- Tunnel Mode
http://www.amaranten.com/support/user%20guide/VPN/IPSec_Basics/Overview.htm
---- IKE(Internet Key Exchange) : 키 관리 프로토콜로써, ISAKMP과 OAKLEY를 결합한 것(ISAKMP/OAKLEY라고 표현하기도함)
---- AH와 ESP의 비교
---- AH : 패킷 인증 기능 / 단독사용가능
---- ESP : 패킷 암호화 기능 + 패킷 인증 기능 / AH와 병행사용
--- SSL VPN : 근래들어 많이 쓰는 방법으로 저 저렴하고 보안을 강력하게 할 수 있다네??
- 너무 어렵다 나중에 따로 정리해야겠다(게다가 PPTP, L2TP 같은건 생략했어, 시험이라 비중높은 IPsec만 다뤄야겠다 여기서는)
(4) 라우터보안 설정
1) 라우터 자세 보안설정
- User Mode에서 enable로 Privilieged Mode 변경시 패스워드
-- Router(config)# enable {secret | password} 패스워드
-- Telnet 접속 시, 반드시 해야하는 작업
- Console로 접속시 패스워드
-- i) 패스워드로 인증
--- Router(config)#line console 0
--- Router(config-if)#login
--- Router(config-if)#password 패스워드
-- ii) Local User로 인증(ID/PW로 인증)
--- Router(config)#username 사용자ID {password | secret} 비밀번호 (계정생성)
--- Router(config)#line console 0
--- Router(config-if)#login local
- VTY(Telnet) 접근 인증
-- 위에서 한 enable 패스워드 걸어줘야함
-- i) 패스워드로 인증
--- Router(config)#line vty 0 4
--- Router(config-line)#loign
--- Router(config-line)#password 패스워드
-- ii) Local User로 인증(ID/PW로 인증)
--- Router(config)#username 사용자ID {password | secret} 비밀번호 (계정생성)
--- Router(config)#line vty 0 4
--- Router(config-line)#loign local
(5) 각 장비의 로그 및 패킷분석을 통한 공격방식의 이해 및 대처
1) 호스트, IDS, 방화벽, 라우터 등 각종 네트워크 장비 로그 및 패킷 분석
- 뭐 어찌해야될지 모르겠네 로그랑 패킷 분석은 여기저기서 다룰꺼라 걍 여기선 제껴
5. 네트워크 보안 동향(1~2문제/20문제)
(1) 최근 네트워크 침해사고 이해
1) 분산반사 서비스 거부 공격(DRDoS)
- DRDoS(Distributed Reflection DoS)
- DDoS와의 차이점
-- 출발지 주소를 속임(IP Spoof)
-- 공격의 근원지 추적하기가 힘듬
-- Bot을 이용할 필요가없음
-- 정상적인 서비스 응답 패킷으로 공격함
- 대응
-- ISP에서 출발지가 변조된 공격 패킷을 차단(Egress Filtering)
-- 짧은 시간 동안에 일어나는 연결 실패를 필터링해서, 해당 출발지 IP를 블랙리스트 처리(어차피 변조된 IP주소일텐데...?)
2) 봇넷을 이용한 공격
- Bot : RoBot의 약자로, 사용자나 다른 프로그램을 흉내내는 프로그램
- Zombie PC : Bot에 감염되어 공격자로 부터 제어되는 시스템
- Botnet : Zombie PC가 이루는 네트워크
-- 중앙집중형 구조 : Bot 관리자가 중앙에 위치해서, Bot에게 명령 제어하는 구성
-- 분산형 구조 : P2P방식으로 C&C 서버 없이 Zombie PC 끼리 상호 연결되어 동작하는 네트워크 구성
-- 서버 클라이언트 구조 : 서버측에 Bot 관리자가 있고, 클라이언트가 Zomebie PC인 구성
- 공격방식
-- 공격을 위해 Bot을 개발하고 다양한 경로로 Zombie PC를 만들어냄
-- 공격을 위한 C&C 서버를 통해 IRC 채널을 활성화해 Zombie PC의 접속을 기다림
-- Zombie PC가 IRC 채널에 접속하면, Zombie PC는 명령을 전달 받기 위해 대기함
(2) 최근 네트워크 보안 솔루션
1) 역추적시스템(Traceback)
- 공격을 시도하는 공격자의 네트워크 상의 실제 위치를 실시간으로 추적하는 기술
- 사람에 의한 역추적
-- 시스템에 남아 있는 Log를 분석해 역추적 / Log를 찾아내고 분석하는데 많은 시간과 인력이 필요
- TCP 연결 역추적
-- 호스트 기반 연결 역추적
--- 호스트에 역추적을 위한 모듈을 설치해, 호스트에서 발생하는 Log등 다양한 정보를 통해 역추적
--- 네트워크 상의 모든 호스트에 역추적 모듈이 설치되어야 함
--- 종류 : CIS(Caller Identification System), AIAA(Autonomous Intrusion Analysis Agent)
-- 네트워크 기반 연결 역추적
--- 네트워크상에서 전달되는 패킷에서 정보를 추출하여 역추적
--- 네트워크에서 발생하는 모든 연결정보를 지속적으로 보유해야 함
--- 종류 : Thumbprints Based Algorithm, Timing Based Algorithm, SWT(Sleepy Watermark Tracing)
- IP 패킷 역추적
2) 침입방지시스템(IPS)
- IPS(Intrusion Prevention System) : 침입 탐지와 차단을 함께 수행하는 실시간 보안 장비
- Firewall은 Network Layer와 Transport Layer를 검사하지만, IDS/IPS은 Network Layer부터 Application Layer까지 검사
- ※ 침입탐지시스템(IDS) / 침입차단시스템(Firewall ; 방화벽) / 침입방지시스템(IPS)
3) ESM(Enterprise Security Management)
- 전사적 보안관리 솔루션으로, IDS/IPS, Switch, Router등 각종 이기종 보안솔루션을 중앙에서 하나의 콘솔로 관리하는 보안솔루션
- 동일 제품의 경우에는 운영 관리 기능이 좋겠지만, 이기종 제품이나 타사 제품에 대해서는 원격관리나 로그분석 기능 정도 제공하는 수준
4) NAC(Network Access Control)
- 네트워크 접근제어
- 네트워크에 접근하는 모든 기기의 보안상태를 점검하여, 안전이 확인된 기기만 접근시키는 보안 솔루션
- 안전이 취약한 기기를 발생했다고 해서 능동적으로 제거를 하는 솔루션은 아님
- 백신의 설치 유무 / 업데이트 유무 등 강제적인 의무사항을 이행했는지만 확인함(강제성만 띔)
정보보안기사 필기 준비 - 4과목 정보보안 일반 정리 (0) | 2016.08.31 |
---|---|
정보보안기사 필기 준비 - 3과목 어플리케이션 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 1과목 시스템보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 (0) | 2016.08.31 |
CCNA 덤프 공유 (0) | 2016.08.31 |
1. 운영체제(6문제/20문제)
(1) 운영체제 개요
1) 운영체제의 주요 기능
- 운영체제
-- 시스템 자원을 효율적으로 사용하게 하는, 사용자와 컴퓨터 간의 인터페이스 역할
2) 운영체제의 구조(일반적으로 기능별로 5단계로 구분)
- 1단계 : 프로세서 관리(프로세서랑 프로세스는 다름)
- 2단계 : 메모리 관리
- 3단계 : 프로세스 관리
- 4단계 : 주변장치 관리
- 5단계 : 파일 관리
3) 운영체제의 기술발전 흐름
- 1세대
-- 일괄처리시스템(Batch Processing System)
- 2세대
-- 다중프로그램 시스템(Multi-Programming System)
--- I/O 장치와 CPU 사이의 속도 차이를 이용하여, 하나의 CPU와 주기억장치로 여러 프로그램을 동시에 처리하는 방식
--- I/O 장치의 조작으로 CPU 유휴시간이 발생하면, 다른 작업을 처리함
-- 시분할 시스템(Time Sharing System)
--- 라운드 로빈(Round Robin ; RR) 방식이라고도 함
-- 다중처리 시스템(Multi-Processing System)
--- 여러 개의 CPU와 하나의 주기억 장치를 이용해, 여러 프로그램을 동시에 처리 하는 방식
-- 실시간 시스템(Real Time Processing System)
- 3세대
-- 다중모드처리(Multi-Mode Processing)
--- 일괄처리 시스템, 시분할 시스템, 다중처리 시스템, 실시간 처리 시스템을 모두 제공하는 시스템
- 4세대
-- 분산처리 시스템(Distributed Processing System)
--- 여러 개의 컴퓨터(프로세서)를 통신회선으로 연결해서 하나의 작업을 처리하는 방식
--- 각 단말장치나 컴퓨터들은 고유의 운영체제와 CPU, 메모리를 가지고 있음
(2) 운영체제의 주요 구성 기술
1) 프로세스 관리
- 프로세스와 스레드의 개념(쉬우니까 생략)
- 프로세스 제어 블럭(PCB ; Process Control Block)
-- 운영체제가 프로세스에 대한 정보를 저장해 놓은 저장소
-- 다른 프로세스로 제어를 넘겨줄 때, 현재 실행중인 프로세스의 정보를 PCB에 저장하고 제어를 넘김
-- 각 프로세스가 생성될 때마다 PCB가 생성되고, 종료되면 제거됨
-- 부모 프로세스와 자식 프로세스는 PCB를 공유하지는 않음
- 프로세스 구성 요소
-- Code 영역 / Data 영역 / Stack 영역 / Heap 영역
- 프로세스 상태와 전이(그림설명 따윈 없다)
-- 프로세스 상태 : 생성 / 준비 / 실행 / 대기 / 종료
-- 프로세스 상태의 전이 : Dispatch(준비→실행) / Timer Runout(실행→준비) / Block(실행→대기) / Wake UP(대기→준비)
- 프로세스 스케쥴링 : 어떤 프로세스한테 CPU 사용권을 주는게 현명한가??
-- 선점형 스케쥴링 정책(Preemptive Scheduling Policy) : 처리 도중 뺏기 가능
--- SJF(Shortest Job First ; 최단작업 우선 처리)
--- SRT(Shortest Remaining Time First ; 최단 잔여 시간)
--- RR(Round Robin ; 순환할당 스케쥴링) : 시분할 시스템에 쓰이는거
--- MLQ(Multi Level Queue ; 다단계 큐)
--- MFQ(Multi level Feedback Queue ; 다단계 피드백 큐)
-- 비선점형 스케쥴링 정책(Non-Preemptive Scheduling Policy) : 일단 사용권 받으면 끝까지 쓰고 넘김
--- SJF(Shortest Job First ; 최단작업 우선 처리) ; 선점형, 비선점형 둘다 사용가능해
--- FIFO(First In First Out ; 선입선출)
--- FCFS(First Come First Service ; 선입 선출)
--- HRN(Highest Response Ratio Next) : CPU할당을 받을 시간과 기다린 시간으로 계산되는 우선순위로 결정
---- Priority = (Estimated_Run_Time + Waiting_Time) / (Estimated_Run_Time)
---- Priority가 큰 수를 먼저 실행
- 프로세스 교착 상태(Deadlock)
-- 발생 조건
--- 상호 배제(Mutual Exclusion) : 한 프로세스가 자원을 다른 프로세스가 사용못 하게 배제할 때
--- 점유와 대기(Wait) : 프로세스가 자신에게 할당된 자원을 해제 안하고, 다른 자원을 기다릴 때
--- 비중단 조건(비선점 조건 ; Non-Preemption) : 프로세스에 할당된 자원을 끝날 때까지 해제 할수 없을 때
--- 환형대기 조건(Circular Wait) : 상호 배제 조건이 환형을 이루고 있다고 생각하자
-- 해결방안
--- 예방 : 교착 상태의 필요조건을 부정함으로써, 교착 상태가 발생하지 않도록 하는 방법
--- 회피 : 교착 상태 가능성을 인정하고, 적절하게 피하는 방법(은행원 알고리즘)
--- 발견(탐지) : 교착 상태가 발생하면, 교착 상태의 프로세스와 자원을 발견하는 방법
--- 회복(복구) : 교착상태를 일으킨 프로세스를 종료하고 할당된 자원을 회수하는 방법
2) 기억장치 관리
- 주기억장치
-- 반입기법(Fetch) : 언제 보조기억장치의 데이터를 주기억장치로 옮기느냐??
--- 요구 반입 정책
--- 예상 반입 정책
-- 배치기법(Placement) : 보조기억장치의 데이터를 주기억장치의 어디로 위치시키느냐??
--- 최초 적합
--- 최적 적합
--- 최악 적합
-- 교체기법(Replacement) : 공간확보를 위해 어떤 데이터를 제거 하고 새로운 데이터를 위치할 것이냐??
--- FIFO(First In First Out)
--- LRU(Least Recently Used) : 가장 오랫동안 사용안한걸 바꿈
--- LFU(Least Frequently Used) : 가장 사용 횟수가 작은걸 바꿈
--- NUR(Not Used Recently) : 최근에 전혀 사용되지 않은걸 바꿈
- 가상기억장치
-- 구현 방식
--- 페이징(Paging) 기법 : 프로그램을 동일한 크기의 Page로 나누어 구현
---- 내부단편화의 원인
---- 스레싱(Thrashing) : 자주 페이지의 교체가 일어나는 현상(프로세스 처리 시간 < 페이지 교체 시간)
---- 워킹 셋(Working Set) : 자주 사용되는 페이지들을 묶어서 주기억장치에 계속 상주시키는방법, 스레싱의 대책
---- 페이지 교체 알고리즘
----- FIFO(First In First Out)
----- LRU(Least Recently Used) : 가장 오랜기간 사용하지 않은 페이지 교체
----- OPT(Optimal ; 최적교체) : 가장 사용되지 않을(?) 페이지를 교체 ;; 실현가능성 희박
----- SCR(Second Chance Replacement) : 참조 비트를 주고, 1이면 0으로 깍고, 0이면 교체
--- 세그먼테이션(Segmentation) 기법 : 프로그램을 가변적 크기의 Segment로 나누어 구현
---- 외부단편화의 원인
※ 단편화(Fragmentation)
- 내부 단편화(Internal Fragmentation) : 할당 받은 페이지를 다 사용 못했을 때 생기는 자투리 공간들(영향이 적긴적지)
-- 압축(Compaction)으로 해결 : 분산되어있는 단편화된 빈 공간들을 결합(Garbage Collection)
- 외부 단편화(External Fragmentation) : 할당과 제거를 반복하면서, 적재하기 얘매해진 공간들
-- 통합(Coalescing)으로 해결 : 인접해 있는 단편화된 공간을 하나의 공간으로 통합
- 보조기억장치
-- 디스크 스케쥴링
--- FIFO(=FCFS)
--- SSTF(Short Seek Time FIrst) : 탐색거리가 가장 짧은 요청을 먼저 처리
--- SCAN : 헤드가 한 방향으로 쭉가면서 처리하는 방법, 실린더 끝까지 가서 방향을 전환한다.
--- C-SCAN : 헤드가 실린더 끝에서 안쪽으로이동하며 처리
--- N-Step SCAN : 헤드의 방향이 전환될 때, 이미 대기 중이던 요청만 처리(도중에 생긴 요청은 무시)
3) 파일 시스템 관리
- 디렉터리의 구조(산업기사에 나온기억이..)
-- 1단계 디렉토리 구조 : 모든 파일이 같은 디렉토리에 존재하며, 파일 이름은 유일한 구조
-- 2단계 디렉토리 구조 : 중앙에 마스터 디렉토리(MDF)가 있고, 각 사용자의디렉토리(UFD)가 하위에 있는 구조
-- 트리 디렉토리 구조 : 하나의 루트 디렉토리와 다수의 하위 디렉토리로 구성되며, 포인터로 탐색(일반적으로 OS에서 사용)
-- 비주기 디렉토리 구조(Acyclic Graph Directory) : 파일과 디렉토리의 공유가 허용될 수 있는 사이클이 없는 구조
-- 일반 그래프 구조 : 사이클이 허용되고, 기본 트리 디렉토리 구조에 링크를 첨가한 구조
-- http://wingsofgod.tistory.com/entry/%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC-%EA%B5%AC%EC%A1%B0
- Windows File System
-- FAT(File Allocation Table)
--- DOS 때 부터 사용되고 있는 대표적인 File System. FAT16과 FAT32 등이 있다
--- 하드디스크에 FAT라는 영역을 만들어 파일의 실제 위치 등의 정보를 기록하고 이를 이용함
--- 저용량에 적합 / 보안에 취약 / 호환성이 우수
-- NTFS(NT File System)
--- MFT(Master File Table)를 사용하여 관리하며, Mirror와 파일로그가 유지되어 파일 복구가 가능함
--- FAT에다가 대용량 / 보안성 / 압축기능 / 원격저장소 등의 기 능을 추가해서 만든 윈도우 전용 File System
--- 대용량 지원 / 강력한 보안 / 자동 압축 및 안정성 / 호환성이 구림 / 저용량에선 FAT보다 느림
- Unix & Linux File System
-- EXT2 : FSCK(File System Check)으로 시스템 손상 복구 가능
-- EXT3 : 저널링(Journaling) 기술로 더욱 빠르고 안정적인 복구가 가능
-- EXT4 : 빨라진 FSCK / 하위 호환성 / 지연된 할당(Allocate-On-Flush ; 데이터가 디스크에 쓰이기전까지 블록 할당 지연)
- Partition
-- 주 파티션 : 기본 파티션을 의미 / 주 파티션의 수 + 확장 파티션의 수 <= 4
-- 확장 파티션 : 저장 공간을 없으며, 논리 파티션을 만들게 해주는 그릇의 역할 / 디스크에 하나만 생성 가능
-- 논리 파티션 : 최대 12개(NTFS에서는 제한이 없다네??)
4) 분산 시스템
- 개념 : 분산되어 있는 컴퓨터에서, 작업이 나누어 처리되고 그 결과가 서로 호환되도록 연결되어 있는 시스템
- 투명성(Transparency)를 보장해야 함
-- 위치 투명성 : 컴퓨터의 실제 위치를 몰라도 접근 가능
-- 이주 투명성 : 자원 이동에 제한이 X
-- 병행 투명성 : 사용자의 위치를 몰라도 다른 사용자와 자원의 공유 가능
-- 복제 투명성 : 사용자에게 통지할 필요 없이 자유롭게 복제 가능
(3) 운영체제 사례별 특징과 주요 기능
1) 유닉스
- 구성
-- 커널(Kernel)
--- OS의 핵심으로 주기억장치에 상주하여 자원을 관리함
--- 크게 입출력 / 메모리 / 프로세스 / 파일관리의 부분으로 나눔
--- 쉘에서 지시한 작업을 수행함
-- 쉘(Shell)
--- 커널과 사용자간의 인터페이스를 제공
--- 사용자가 입력하는 명령의 입/출력을 수행하며 프로그램을 실행시킴
--- 명령어 해석기/번역기라고 함
-- 파일 시스템(File System)
--- 계층적 트리 구조를 가지고 있고 다음과 같이 구성되어 있음
---- 부트 블럭(Boot Blocks) : 파티션의 첫 부분에 예약되어 있는 블럭들 / 부팅시 필요한 코드 저장(커널 적재 코드 등)
---- 슈퍼 블럭(Super Block) : 파일 시스템당 한 개씩 생성 / 전체 파일 시스템에 대한 정보 저장
---- 아이노드(I-Nodes) : 파일 이름을 제외한 모든 파일과 디렉토리에 대한 정보를 저장
---- 데이터 블럭(Data Blocks) : 실제 데이터가 저장
2) 윈도우
3) 리눅스
4) 보안운영체제 특징
- 접근 권한 통제(Authorization) ; Authorization = Authentication + Access Control
-- 사용자 인증(Authentication)
-- 접근 통제(Access Control)
- 침입 탐지 및 방어(Intrusion Detection & Prevention)
2. 클라이언트 보안(7문제/20문제)
(1) 윈도우 보안
1) 설치 및 관리
- 음... 정품 구입해서 쓰고, 사양에 맞춰서 설치하라는 내용
- 라이센스 모드
-- Per Server : 서버에 동접하는 클라이언트 숫자에 따라 라이센스를 구매하는 방식
-- Per Seat : 클라이언트 숫자에 따라 라이센스를 구매하는 방식
- 사용자 계정 관리
-- 암호 설정해주는게 좋지
-- 사용자 계정 컨트롤(UAC) : 관리자 수준의 권한이 필요한 변경 사항이 있을 때, 사용자에게 이를 알려주는 것
2) 공유자료 관리
- 공유 폴더
-- NTFS은 사용자계정이나 그룹에 대해서, 파일과 폴더에 퍼미션(Permission)을 줄 수 있음
-- Everyone 그룹에 대해서는 기본적으로 <읽기> 권한만 주어짐
--- 로컬에서 그냥 폴더 만들면 Everyone 그룹에 대해서 <모든 권한>이 주어짐
- 숨은 공유??(공유 폴더 이름 마지막에 $를 붙이는 폴더)
-- 네트워크 공유 목록에서 공유 폴더를 안보이게 함
-- 접근하기 위해서는 공유 폴더 이름을 통해 직접 접근해야 함
- 관리를 목적으로하는 기본적인 공유 폴더(ADMIN$, IPC$, C$, 등)
-- 이름에서 볼 수 있듯, 모두다 숨은 공유로 만들어져 있음
-- CMD에서 net share 명령어로 확인이 가능함
-- 네트워크 접근 사용만을 제한할 수 있고, 로컬 접속은 제한을 할 수 없음
-- 보안상 사용하지 않을 땐 비활성화 하는 게 좋음
--- 관리적 공유 폴더 제거 하기(C$, D$, 등)
---- 위치 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
---- AutoShareWks의 값을 REG_DWORD 타입의 0으로 바꿈
---- 걍 HKEY_LOCAL_MACHINE 및에다가 AutoShareWks만들어서 0넣어도 되는듯
--- 널 세션 제거하기(IPC$)
---- IPC$는 제거가 안되기에 널 세션을 제거하는 방법을 이용
---- 위치 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
---- restrictanonymous의 값을 REG_DWORD 타입의 1로 바꿈(기본값은 0)
3) 바이러스와 백신
- 바이러스(Virus)
-- 다른 프로그램에 기생해서 실행(독자적으로 실행X)
-- 파일 전송 기능이 없어서, 네트워크 대역폭에는 영향을 끼치지 않음
-- 대표적으로 1994년 4월 26일 CIH 바이러스
- 웜(Wrom)
-- 독자적으로 실행(기억장소에 코드나 실행파일로 존재)
-- 네트워크를 사용해서 자신을 복사하기에, 네트워크 대역폭을 잠식함
-- 대표적으로 2001년 9월에 발생한 님다(Nimda)
- 트로이목마
-- 자기 자신을 복제하지는 않지만, 악의적 기능을 포함하는 프로그램
-- 유틸리티 프로그램에 내장되거나, 그것으로 위장해 배포됨
-- 대표적으로 백오리피스같은 프로그램
- 스파이웨어(Spyware)
-- 사용자몰래 PC에 설치되어 정보를 수집하는 프로그램
4) 레지스트리 활용
- 시스템을 구성하기 필요한 정보를 저장한 중앙계층형 데이터베이스
- HKEY_CURRENT_USER(HKCU) : 현재 로그온 되어 있는 사용자에 관련된 정보 등
- HKEY_USERS(HKU) : 컴퓨터의 모든 사용자 프로필 정보 등
- HKEY_LOCAL_MACHINE(HKLM) : 하드웨어와 프로그램 설정 정보
- HKEY_CLASSES_ROOT(HKCR) : OLE데이터와 확장에 대한 정보 등
- HKEY_CURRENT_CONFIG(HKCC) : 시스템 시작시 컴퓨터에서 사용하는 하드웨어 프로필 등
- 악성코드 구동을 위해 주로 HKEY_CURRENT_USER와 HKEY_LOCAL_MACHINE이 이용됨
(2) 인터넷 활용 보안
1) 웹브라우저 보안
- 검색 기록 / 쿠키 삭제 / 임시파일 삭제
- 익스플로러에서는 보안 수준을 설정하기
-- 보통 이상으로 사용하고, 세부 설정 가능
- 브라우저에서 개인정보를 수집하는 기술
-- 쿠키(Cookie) & 슈퍼쿠키(Super Cookie)
-- 비콘(Beacon ; Web Bug)
-- History Stealing
-- Fingerprint
- HTTP(Hyper-Text Transfer Protocol) 프로토콜(이걸 여기서 다뤄야되는건가??)
--웹 상에서 파일(텍스트, 이미지, 등)을 주고 받기 위한 프로토콜로 TCP/IP와 관련된 프로토콜(80번 포트)
-- 한 번 접속해서, 정보 주고받고 접속을 끊어버리는 특이한 특징(그 때문에 세션과 쿠키라는 걸 이용하게 되지)
-- HTTP 요청 방식
--- GET 방식 : 클라이언트가 서버로 전송하는 정보를 URL에 담는 방법
--- POST 방식 : 요청사항을 HTTP 헤더 안에 넣어서 서버로 전송하는 방법
-- HTTP 1.0
--- 한 번에 한 종류의 데이터만 받을 수 있음(이미지와 텍스트라면 총 두 번의 접속이 필요)
--- 요청 방식
---- GET : GET 방식으로 서버에 리소스(정보)를 달라고 요청
---- HEAD : GET방식과 유사하지만, 요청한 리소스가 아닌 Header만 채워서 응답(해당 정보를 잘 처리하는지 테스트)
---- POST : POST 방식으로 서버에 리소스를 달라고 요청
-- HTTP 1.1
--- 한 번에 이미지와 텍스트까지 받을 수 있음
--- 요청 방식
---- GET
---- HEAD
---- POST
---- OPTION : 서버가 요청한 리소스에서 어떤 요청방식들을 처리해주는지 알려줌
---- PUT : 서버에 요청한 리소스를 저장함
---- TRACE : 루프백 메시지를 위한 요청을 함(이것도이해안가ㅠ)
---- CONNECT : ??이해안감
---- DELETE : 명시된 리소스를 서버가 삭제할 것을 요청
-- HTTP 상태코드(안보여주는게 이득 ; 시험 맨날 나와)
--- 2xx : 성공
---- 200 : OK
---- 201 : 서버가 성공적으로 요청된 새 리소스를 생성(PUT 메소드인듯)
--- 3xx : 재전송
--- 4xx : 클라이언트 측 에러
---- 401 : 유효한 요청에 대해 서버가 응답을 거부(권한이없는 401과는 다름)
---- 403 : Forbidden
---- 404 : Not Found
--- 5xx : 서버 측 에러
---- 500 : 내부 서버 오류
---- 501 : 해당 메소드 인식 못하거나 기능이 없음
2) 메일 클라이언트 보안
- PGP(Pretty Good Privacy)
-- 데이터 암호화와 복호화하는 프로그램인데, 전자 메일의 보안성을 높이기 위해 자주 사용되
-- IETF에서 표준으로 채택한 PEM과 비교되(나중에 또 나와)
-- 수신 부인방지와 메시지 부인 방지 기능이 없어
-- 메시지의 비밀성을 위해 공개키 암호기술을 사용(RSA, IDEA 등)
-- 메시지의 무결성을 위해 메시지 인증을 사용
-- 메시지의 생성, 처리, 전송, 저장, 수신 등을 위해 전자서명을 사용
(3) 공개 해킹도구에 대한 이해와 대응
1) 트로이목마 S/W
- 대표적인 툴 : AOL4FREE.COM / Shark2 / NetBus / Back Orific
2) 크래킹 S/W
- 루트킷(RootKit) : 서버 내에 침투해서 백도어를 만들고 로그를 삭제하는 등의 패키지들
-- 대표적으로 lrk5
-- 루트킷을 찾아내는 프로그램은 안티루트킷(Anti-RootKit) : 대표적으로 Icesword
- 패스워드 크랙(Password Crack)
-- Brute Force Attack / Dictionary Attack / Password Guessing / Rainbow Table 등의 공격 방법으로 크랙
-- 대표적인 툴 : John the Ripper / pwdump / LOphtCrack / ipccrack / chntpw(to reset pw) / ERD Commander
- 포트 스캐닝(Port Scanning) (SAINT와 Nmap 정도만 알고 있어도 될듯)
-- 다중 취약점 스캔 : SAINT / sscan2k / vetescan / mscan 등
-- 특정 취약점 스캔 : cgiscan / winscan / rpcsan
-- 은닉 스캔 : Nmap / stealthscan
-- 네트워크 구조 스캔 : firewalk / Nmap
-- 스캐닝 기법
--- Openning Scanning : TCP Connect Scanning
--- Half-Open Scanning : SYN Scanning
--- Stealth Scanning : FIN / X-MAS / NULL Scanning
--- More Advanced Scanning : Spoofed Scanning(??)
-- 포트 스캐닝의 구분
--- TCP 포트 스캐닝 : 특정 Flag값을 설정한 뒤, 패킷을 보내고 그에 대항 응답으로 확인
--- UDP 포트 스캐닝
---- 포트가 열린 상태 : 아무런 응답 X
---- 포트가 닫힌 상태 : UDP 패킷이 목적지에 도달하지 못했다는 메시지
---- ※ 패킷이 유실되도 아무런 응답이 없기에 신뢰성이 떨어짐
- Nmap 사용법(잘 나와)
-- 스캔 타입(이름잘보면 딱 보여)
--- -sS : TCP Syn Scan
--- -sF / -sX / -sN : FIN / X-Mas / NULL Scan
--- -sU : UDP Scan
--- -sP : Ping Sweep
--- -b : FTP Bounce Attack
--- 등등
-- 스캔 옵션
--- -P0 : Don't ping before scanning ; ping으로 사전 조사 하는 과정을 뺌(네트워크에 살아있음을 알고있을 때 씀)
--- -PT <PORT_NUMBER>: ICMP Request Packet 보내고, 응답기다리는 대신에 TCP ACK를 보내 응답 기다림. 살아있으면 RST받음
--- -PS
--- -PB
--- -O : 운영체제 확인
--- -p <PORT_NUBMER>
--- -S <IP_ADDRESS> : Spoofing
--- 등등
-- 예
--- #./Nmap -p 1-30,110,65535 203.x.x.x
---- 203.x.x.x의 1~30번, 110번, 65535를 스캔한다.
3) 키로그 S/W
- 대표적인 툴 : Winhawk, Key~~로 시작되는 툴들
(4) 도구활용 보안관리
1) 클라리언트 보안도구 활용
- BlackICE
-- 일종의 방화벽이라고 보면될 듯
-- 외부에서 자신의컴퓨터에 접근하는 것을 탐지 / 제어하는 프로그램
-- 침입 차단 / 어플리케이션 보호 / IDS 기능 제공
- Snort
-- 공개 네트워크 IDS
-- 다양한 OS 지원 / Rule 설정가능
2) 클라이언트 방화벽 운영
- Windows 방화벽(ipsec)
- Linux/Unix 방화벽(iptables)
-- iptables는 뭐 생략 쉬우니까
3. 서버보안(8-10문제/20문제)
(1) 인증과 접근통제
1) 계정과 패스워드 보호
- Linux Server
-- 계정 생성, 수정, 삭제 : useradd / usermod / userdel
-- 계정과 패스워드에 관련된 파일
--- /etc/passwd : 사용자 계정 정보
--- /etc/shadow : 사용자 패스워드
--- /etc/group : 그룹 ID / 목록
--- /etc/gshadow : 그룹 정보
--- /etc/login.defs : 사용자 전체에 자동 할당되는 UID, GID 범위, 패스워드 유효 기간, useradd 설정사항
--- /etc/default/useradd : useradd 명령어로 계정 생성 시, 어떤 환경과 파일을 참조할 것인가에 대한 정보
--- /etc/skel : 계정 생성시 필요한 파일, 디렉토리를 저장하고 있는 디렉토리, 새 계정 생성시 그 대로 해당 계정의 홈디렉토리로 복사
-- /etc/passwd 구성
--- 사용자계정이름 : x(패스워드가 암호화되어 저장됨을 의미) : UID : GID : 계정정보 : 홈디렉토리 : 쉘
--- root : x : 0 : 0 : root : /root : /bin/bash
--- ※ Linux에서 사용자 계정 잠구는 법
---- /etc/passwd에서 쉘 정보에다가 /bin/false 또는 /bin/nologin을 기술함
---- passwd -l <계정명>
-- /etc/shadow 구성
--- root : $1$F9FBAJKWEBKF4A30AJWNFKE : 15551 : 0 : 99999 : 7 : : : :
--- 사용자계정 : 암호화된 패스워드 : 패스워드 바꿔진 日수: 패스워드 변경할수있는 최소 日수 : 패스워드 만료 日수 : 패스워드 만료 경고日수 : 사용자 제한 이후 계정 정지까지 日수 : 계정만기일 : (사용안함)
- Windows Server
-- 컴퓨터 관리나 net user 명령어로 계정 생성, 수정, 삭제
-- 계정 생성 시 옵션
--- 다음 로그온시 반드시 암호 변경
--- 암호 변경 불가
--- 암호 사용기간 제한 없음
--- 계정 사용 안 함(사용할 때까지 로그인 X)
-- 기본 제공 계정인 Administrator는 계정 사용 안함으로 설정하거나 이름을 변경하는게 보안상 이득
-- Guest 계정은 불필요하면 계정 사용 안함으로 설정(기본 값은 사용안함)
-- 암호 정책
--- 암호의 복잡성
--- 최근 암호 기억 : 비슷하게 못 만들게 하기 위해서
--- 최대 암호 사용기간
--- 최소 암호 사용 기간
--- 최소 암호 길이
--- 해독 가능한 암호화를 사용해 암호 저장 : 왜있을까??
-- 계정 잠금 정책
--- 계정 잠금 기간 : 0으로 하면 명시적으로 잠금 해제 할때 까지 유지(0부터 99999까지 ; 분 단위)
--- 계정 잠금 임계값 : 실패한 로그인 시도 최대 횟수를 설정(0부터 999까지 적용가능 ; 0이면 잠금 적용 X)
--- 다음 시간 후, 계정 잠금 임계값을 0으로 설정(1에서 99999까지 ; 분 단위)
2) 파일 시스템 보호
- Windows
-- FAT12 / FAT16 / VFAT / FAT32
-- NTFS
-- 관리 공유 폴더 제거 / 마지막에 로그인한 계정 숨김 / 예약작업 수시로 체크 / 이동식 디스크의 자동실행방지 / 원격 레지스트리 서비스 중지
- Linux
-- minix / ext2 / ext3 /ext4
- 클라우드 파일시스템
-- Ceph
-- GlusterFS(글러스터)
-- Google 파일시스템(GFS)
-- Hadoop 분산파일시스템(하둡)
-- Lustre 파일시스템
-- Panasa 파일시스템
-- PVFS2
-- OASIS : 한국전자통신연구원 저장 시스템 연구팀에서 개발한 객체 기반 클러스터 파일 시스템
3) 시스템 파일 설정과 관리
- 리눅스 디렉토리 구조(트리 구조)
-- /bin : 필수 바이너리 파일, 시스템 기본 명령어
-- /sbin : 관리자가 사용하는 시스템 운영에 필요한 명령어
-- /boot : 부팅에 필요한 커널과 핵심 파일
-- /dev : 장치 파일
-- /mnt : CD-ROM과 플로피의 마운트 포인트를 제공하는 디렉토리
-- /lib : 시스템 운영 및 프로그램 구동시 필요한 공유 라이브러리
-- /var : 내용이 자주 변경되는 가변 자료를 저장하는 디렉토리
-- /usr : 각종 서드 파티 응용 프로그램이 설치되는 프로그램
-- /proc : 시스템 상태를 제공하기위한 디렉토리와 파일들이 존재
- Mount 하기
-- 디바이스와 디렉토리의 연결
-- # mount <디스크나 파티션> <마운트될 디렉토리>
-- 재부팅시 마운트가 풀리기에, /etc/fstab에 기술해서 자동 마운트
- Shell 설정 변경
-- /etc/profile에 설정된 값대로 shell에 적용
-- /root/.bashrc : 시스템 전체에 적용되는 함수와 alias
--- 파일 안에 alias rm='rm -i' 처럼 기술하면, rm이란 명령어는 rm-i와 동일하게 처리하라는 의미
-- /root/.bash_profile : 사용자 환경 설정과 시작프로그램
-- /root/.bash_history : 사용자 최초 로그인 후 생성, 사용자가 쉘에 입력한 명령어를 기록함
- 쿼타(Quota)
-- 디스크에 사용량을 체크 감시하고, 한 파티션에 너무 많은 디스크를 사용하게 되면 관리자에게 알리도록 제한함
- 파일 시스템 점검(File System Check & Recovery) : FSCK를 사용함
-- 저널링 파일시스템으로 자동 복구가 되지만, 복구가 불가능한 경우 수동으로 복구해주어야 할때 씀
-- 많은 시간을 필요로하는 경우가 많음
-- 반드시 검사하고자 하는 파일시스템은 unmount하고 검사해야 함
- 퍼미션(Permission)
-- umask : 파일은 666에서 빼고, 디렉토리는 777에서 뺌
-- setuid(s, 4000) / setgid(s, 2000) / sticky bits(t, 1000)
-- setuid, setgid는 해당 파일이 실행될 때에만, 실행한 사용자에게 소유자(그룹)의 권한을 부여함
--- sticky bits는 주로 공유 디렉토리에 지정하는데, 파일을 root와 소유자만이 삭제, 수정이 가능하게 함
-- ※ setuid 파일 찾기 : find / -user root -perm -4000 -print -xdev
4) 시스템 접근통제 기술
- Linux의 iptables
-- 생략 쉬우니까
- Windows의 ipsec
-- 생략 걍 GUI로 세팅하는거
- 통제 방식(뒤에도 나오는것 같은데)
-- 강제적 접근통제(MAC)
--- 주체의 권한을 기준으로 객체에 대한 접근을 제어
-- 임의적 접근통제(DAC)
--- 주체가 속한 그룹의 권한을 기준으로 객체에 대한 접근을 제어
-- 역할기반 접근통제(RBAC) : 역할을 미리 설정하고, 주체를 역할에 할당한 후, 역할에 접근 권한 부여
--- 최근에 많이 사용되는 통제방식으로 관리자에게 편리함
(2) 보안관리
1) 운영체제 설치
2) 시스템 최적화
- CPU
-- top : CPU와 Memory, swap에 대한 전체적인 모니터링 가능
-- ps aux : CPU와 Memory 사용량이 큰 PID를 확인 가능
-- pstree : 시스템에서 프로세스간의 연결구조를 트리 구조로
- Memory
-- free : 사용되는 메모리와 여유가 있는 메모리가 얼마인지 알려주는 간단한 명령어
-- vmstat : 가상 메모리 상태를 확인(Swap-Out과 Swap-In을 봐)
- Disk I/O
-- df : 파일 시스템의 상태를 기초로 용량을 출력(df -k(KB단위) / df -h(다양한 단위))
-- du : 실제 디렉토리와 파일의 크기를 확인해서 용량을 출력
-- iostat : 디스크에 I/O가 얼마나 나타나는 모니터링
- Network
-- netstat : 포트 정보
-- ping
-- traceroute
-- tcpdump
3) 시스템 로그 설정과 관리
- 시스템 로그는 시스템의 정확한 시간이 필수
-- #rdate -s time.bora.net
- Linux의 /var/log 디렉토리
-- messages
--- 로그인 기록에서 디바이스에 관련된 정보와 네트워크 등등 다양한 정보
--- 콘솔에 출력되는 메시지들이 저장된다. 시스템 장애가 생기면 이 파일을 점검해서 취약점 점검
-- pacct
--- 로그인부터 로그아웃까지 입력한 명령과 시간, 작동된 tty 등에 대한 정보 수집 ; binary
--- 명령어 : lastcomm
-- history
--- 사용자별로 실행한 명령을 기록하는 로그
-- lastlo
--- 사용자별로 최근 로그인 시간 ; binary
--- 명령어 : lastlog
-- wtmp
--- 전체 로그인기록 (최근에 사용자 로그인 및 로그아웃한 정보) / utmp의 기록이라고 보면될듯; binary
--- 명령어 : last
-- utmp
--- 현재 로그인 되어 있는 사용자에 대한 정보(/var/run/utmp에 있다) ; binary
--- 명령어 : w / who / users / finger
-- btmp
--- 로그인이 실패한 경우에 ; binary
--- 명령어 lastb
-- sulog
--- Su 명령와와 관련된 로그
-- dmesg
--- 부팅부터 HW적인 에러
-- secure
--- 보안과 관련된 중요한 로그(사용자 인증관련된 로그; FTP나 SSH 같은 것)
-- httpd access_log, error_log
--- 웹서버에 대한 로그
-- xferlog
--- FTP로 어떤 자료가 오갔는지 보여주는 로그
4) 서버 해킹 원리의 이해
- 1) 정보수집단계
-- 포트스캐닝 등
- 2) 시스템 침입단계(root권한 획득이 목적)
-- exploit(root계정 따내는 여러 프로그램)
-- 서버 설정 오류 / 원격 버퍼 오버플로우 취약점 / 계정 도용 / 패스워드 파일 획득 / 기타 취약점을 이용해 침입함
-- 가장 단순하지만 강력한 대책은 업데이트(패치)
- 3) 공격 경유지나 혹은 거점 마련
-- 백도어 등을 설치하거나, 또다른 공격의 공유지로 삼음
5) 서버관리자의 업무
- 시스템의 시작과 종료 및 재시작
- 사용자 계정관리
- 프로세스 및 디스크, 메모리
- 네트워크 연결 및 상태관리
(3) 서버보안용 S/W 설치 및 운영
1) 시스템 취약점 점검도구
- NESSUS : 서버-클라이언트 구조로 작동하는 취약점 점검 도구
- SARA(SATAN기반) : 서버, IDS, 라우터 등의 보안 분석도구
- nikto2 : 웹 서버 스캔해서 취약점 점검(오픈 소스)
2) 시스템 침입 탐지 시스템
3) 무결성 점검도구
- trpwire : 가장 대표적인 무결성 점검도구로써, 시스템의 모든 파일에 대해 DB를 만들어서 추후 변동사항을 점검
- Fcheck : tripwire보다 조금 더 간편한 설치와 설정
4) 접근통제 및 로깅도구
- TCP Wrapper
-- 슈퍼데몬(Xinetd)의 영향을 받는 데몬들은 TCP Wrapper로 접근 제어와 로깅이 가능
-- 도식화 : 클라이언트의요청 → Xinetd → TCP Wrapper → 데몬 실행
-- /etc/host.deny파일과 /etc/host.allow파일을 통해 접근 통제를 할 수 있음
--- Deny 정책 적용 시, host.deny에 ALL:ALL을 적어 놓고, host.allow에 데몬종류:클라이언트 주소를 적음
-- 접근 통제기록은 secure나 messgae 파일 등에 기록됨
5) 스캔 탐지도구
- 방어적인 관점에서, 스캔 탐지가 일어나면 이에 따란 방어 대책을 세워야 할 듯
- portsentry
-- 포트스캔을 실시간으로 탐지하고 TCP_Wrapper와 결합해, host.deny파일에 자동으로 등록해 방어함
- 실시간 네트워크 불법 Scan 자동탐지 도구(RTSD ; Real Time Scan Detector)
-- KISA에서 과거에 개발한건데 오래되서 업데이트 안되고 있지
6) 로깅 및 로그분석도구
- syslog
-- 백그라운드 프로세스로 돌면서, 로그 메시지를 하나 이상의 개별 파일에 기록하는 데몬
-- /etc/syslog.conf에 각종 로그 환경 설정을 추가, 변경, 삭제할 수 있음
--- 형식 : Facility.Priority Logfile-Location
---- Priority : Emerg > Alert > Crit > Err > Warn > Notice > Info > Debug > None
- webalizer
-- 아파치 웹로그를 분석해주는 멀티 웹로그 분석도구
정보보안기사 필기 준비 - 4과목 정보보안 일반 정리 (0) | 2016.08.31 |
---|---|
정보보안기사 필기 준비 - 3과목 어플리케이션 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 - 2과목 네트워크 보안 정리 (0) | 2016.08.31 |
정보보안기사 필기 준비 (0) | 2016.08.31 |
CCNA 덤프 공유 (0) | 2016.08.31 |