1. OWASP(Open Web Application Security Project)
신뢰성 있는 웹 어플리케이션 개발 및 운영을 위한 웹 취약점의 우선순위와 위험도 기준의 정보보안 가이드라인을 제시하는 프로젝트로, 웹 사이트에서 가장 취약한 부분을 분석하여 2013년부터 발표하고 있다.
1) A1 - Injection
- SQL, OS, XXE, LDAP 인젝션 취약점으로 신뢰할 수 없는 데이터가 명령이나 쿼리문의 일부분으로 Interpreter되어 전송될 때 발생하는 취약점
- 공격자가 입력값을 악의적으로 변조하여 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근할 수 있는 보안 취약점이 발생
2) A2 - Broken Authentication
- 인증 및 세션 관리와 관련된 애플리케이션 기능이 잘못 구현되어 공격자에게 취약한 암호, 암호키, 세션 토큰 제공
- 일시적 혹은 영구적으로 다른 사용자의 권한 획득을 위해 구현한 결함을 악용하여 Exploit 함
3) A3 - Sensitive Data Exposure
- 중요한 정보를 제대로 보호하지 않는 경우가 있는데, 공격자는 이러한 보호가 취약한 데이터를 훔치거나 수정함
- 중요한 데이터를 저장, 전송할 때 암호화 같은 보호조치가 없으면 탈취당할 수 있음
4) A4 - XML External Entities
- 설정이 잘못된 XML 프로세서들은 XML 문서 내에서 외부 개체를 참조함
- 외부 개체는 파일 URI 처리기, 내부 파일 공유, 내부 포트스캔, 원격코드 실행과 서비스 거부 공격을 사용하여 내부파일을 공개하는데 사용될 수 있음
5) A5 - Broken Access Control
- 인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되지 않은 경우 발생
- 공격자는 결함을 악용하여 다른 사용자의 계정에 접근하거나 중요한 파일을 열람, 수정, 접근권한 변경 등 가능
6) A6 - Security Misconfiguration
- 취약한 기본설정, 임시설정 등 잘못 구성된 HTTP 헤더 및 민감한 정보가 포함된 정확한 에러 메시지 제공
- 모든 운영체제, 프레임워크, 라이브러리와 애플리케이션을 안전하게 설정하고 패치를 진행해야 함
7) A7 - Cross-Site Scripting
- 애플리케이션에 적절한 유효성 검사를 하지 않거나 Escape 처리 없이 신뢰할 수 없는 데이터를 포함
- 공격자는 피해자의 웹브라우저에서 세션을 도용하거나 웹 사이트를 변조하여 악성 사이트로 리다이렉션 할 수 있음
8) A8 - Insecure Deserialization
- 안전하지 않은 역직렬화는 원격 코드를 실행할 수 있음
- 원격 코드를 실행하지 못하더라도 권한 상승 공격, Injection 공격 등 다양한 공격 수행이 가능
9) A9 - Using Components with Known Vulnerabilites
- Library, Framework, Software module 같은 컴포넌트는 애플리케이션과 같은 권한으로 실행
- 취약한 컴포넌트가 악용된 경우, 심각한 데이터 손실 발생이나 서버 장악이 가능
- 알려진 취약점이 있는 컴포넌트를 사용한 애플리케이션, API는 보안을 악화시키거나 공격에 영향을 줌
10) A10 - Insufficient Logging & Monitering
- 불충분한 로깅, 모니터링은 공격자가 시스템을 더 공격하고 지속하며 더 많은 시스템을 중심으로 공격할 수 있도록 함
2. 소프트웨어 개발 보안
안전한 소프트웨어 개발을 위해 소스코드 등에 존재할 수 있는 잠재적인 보안 약점을 제거하고 보안을 고려한 기능 설계, 구현 등 SDLC 전반에서 수행하는 일련의 보안 활동을 말한다.
(기존 구현 중심의 활동에서 분석/설계 단계부터 보안을 강화하는 것으로 변경됨)
1) SDLC 단계별 소프트웨어 개발 보안 활동 (SDLC: Software Development Life Cycle)
① 요구사항 분석 | ② 설계 단계 | ③ 구현 단계 |
보안 항목 요구사항 식별 - 암호화해야 할 중요 정보 - 중요 기능에 대한 분류 보안 구 항목 20개 목록화 - 내부 54개로 세분화 |
위협원 도출 - 위협 모델링: 보안 전문가, 개발 전문가 필요 - MS 등에서 전문 방법론 제공 - 분석/설계 20개, 구현 54개의 위협원이 반영될 수 있게 설계 |
표준 코딩, SW 개발 보안 가이드 준수 -구현 단계에서 준수할 수 있도록 설계단계에서 가이드 개발 가이드 제공 - 개발 보안 가이드를 래퍼런스로 하여 개발 환경에 적합하도록 구축 소스코드 보안 약점 진단 (도구 활용) |
2) Secure SDLC
방법론 | 내용 |
CLASP | - OWASP의 보안 약점을 고려한 개발 보안 방법론 - 개념, 역할 활동을 정의한 모델 |
MS-SDL | - PreSDL 단계에서 위협 분석을 수행하고 SDLC 단계에서 보안을 고려한 모델링 수행 - Microsoft의 자동화 진단 도구 활용 |
7-Touch Point | - 위협 분석, 코드 리뷰, 자동화 진단 등의 활동 정의 |
Cf) 포맷 스트링 (Format String)
- 데이터에 대한 포맷 스트링을 정확하게 정의하지 않아서 발생되는 취약점
- 포맷 스트링 문자를 사용한 메모리 열람, 변조, Shell Code 삽입 등 보안 취약점 발생
ex) C 언어에서 문자열에 '%X'를 입력하면 문자열의 메모리 주소를 알 수 있음
3. SSO(Single Sign On)
다수의 서비스를 한번의 login으로 기업의 업무 시스템이나 인터넷 서비스에 접속할 수 있게 해주는 보안 시스템이다.
중앙집중형 접근 관리, 보안 기능 PKI(Public Key Infrastructure), 암호화 기능 등이 있다.
- 장점: ID/PW 개별 관리의 위험성 해소, 사용자 편의성 증가
- 단점: 구축 비용이 비싸고 시스템 복잡도 증가
Cf) SSO 종류
종류 | 상세 내용 |
Delegation 방식 | - 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용 - 대상 애플리케이션의 인증 방식을 변경하지 않고, 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행 |
Propagation 방식 | - SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰을 발급 - 애플리케이션에 사용자가 접근할 때 토큰을 자동으로 전달해 사용자를 확인할 수 있도록 하는 방식 |
Delegation & Propagation 방식 | - 애플리케이션의 특성들이 다양한 경우, 각 애플리케이션에 두가지 방식을 혼용해서 전체 시스템의 SSO를 구성 |
Web 기반 One Cookie Domain SSO | - SSO 서비스와 애플리케이션들이 하나의 Cookie Domain 안에 존재할 경우 사용 - 통합 인증을 받은 사용자는 토큰을 발급받고, 이 토큰은 Cookie Domain에 Cookie로 설정되어 Cookie Domain 내 다른 서비스로 접근할 때 자동으로 토큰 제공 - 서비스에서 동작하는 SSO 에이전트는 토큰으로부터 사용자 신원확인 |
4. DRM(Digital Rights Management)
디지털 컨텐츠를 안전하게 보호할 목적으로 암호화 기술을 이용하여 허가되지 않은 사용자로부터 컨텐츠 저작권 관련 당사자의 권리 및 이익을 지속적으로 보호, 관리하는 시스템이다.
저작자 및 유통업자의 의도에 따라 디지털 컨텐츠가 안전하고 편리하게 유통될 수 있도록 제공되는 모든 기술과 서비스 절차 등을 포함하는 개념이다.
Cf) DRM 요소 기술
- 암호화: 대칭키, 비대칭키 암호화 기술
- 인증: 정당한 사용자 식별을 위한 인증
- Watermarking: 원저작권 정보 삽입 및 식별 수행
- 사용자 Repository: 정당한 사용자 및 라이선스 정보 저장
- 사용자 권한 관리: 열람 및 배포에 대한 권리, 편집, 복사, 다운로드 등의 권한 관리
- Temper Proofing: 불법 수정 여부 검증, Cracking 방지
5. Watermarking
디지털 정보에 사람이 인지할 수 없는 마크를 삽입하여 디지털 컨텐츠에 대한 소유권을 추적할 수 있는 기술이다. (저작권자에 대한 정보를 은닉함으로써 저작권자를 확인시켜주고 불법 복제, 유통여부를 확인하는 기술)
'정보은닉기술'로 오디오, 비디오 이미지 등의 디지털 데이터에 삽입되는 또 다른 디지털 데이터로 Steganography 기법 중 하나이다.
* Steganography 기법: 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술
Cf) Watermarking 공격 기법
- Filtering Attack: 워터마크를 노이즈로 보고 노이즈 제거 방법을 활용
- Copy Attack: 임의의 신호를 추가하여 워터마크를 사용하지 못하게 함
- Mosaic Attack: 워터마크가 검출되지 않도록 작은 조각으로 분해하여 다시 합침
- Template Attack: 워터마크의 패턴을 파괴하여 검출되지 않도록 함
Cf) Fingerprint
- 워터마킹 기법 중 하나로, 디지털 컨텐츠에 원저작자 정보와 함께 디지털 컨텐츠 구매자 정보도 삽입
- 디지털 컨텐츠가 불법으로 유통될 때 유통시킨 구매자를 확인할 수 있는 디지털 컨텐츠 추적 기술
- 원저작자 정보와 구매자 정보를 같이 삽입하기 때문에 Dual Watermarking 라고도 함
6. Digital Forensic
디지털 기기를 대상으로 발생하는 특정 행위의 사실관계를 법정에서 증명하기 위한 방법 및 절차로, 과학수사 및 수사과학 분야에서 디지털기기를 대상으로 하는 기술이다.
- 디지털 증거 휘발성
용어 | 내용 |
디지털 증거 | - 디지털 저장매체에 저장되거나 네트워크를 통해 전송중인 자료 - 조사 및 수사 업무에 필요한 증거자료를 말함 |
디지털 증거분석 | - 디지털 저장매체에 남아있는 자료에 대한 원본 보존과 사건 관련 증거를 과학적인 절차를 통해 추출, 검증, 판단하는 조사 및 수사과정 |
휘발성 증거 | - 컴퓨터 실행 시 일시적으로 메모리 또는 임시파일에 저장되는 증거 - 네트워크 접속 상태, 프로세스 구동 상태, 사용중인 파일 내역 등 컴퓨터 종료와 함께 삭제되는 증거 |
비휘발성 증거 | - 컴퓨터 종료 시에도 삭제되지 않고 남아있는 디지털 증거 |
- 디지털 포렌식 원칙
기본 원칙 | 내용 |
정당성 원칙 | - 증거가 적법절차에 의해 수집되었는가? - 위법수집 증거 배제법칙: 위법절차를 통해 수집된 증거는 증거 능력이 없음 - 독수 독과 이론: 위법하게 수집된 증거에서 얻어진 2차 증거도 증거 능력이 없음 |
재현 원칙 | - 같은 조건과 상황 하에서 항상 같은 결과가 나오는지? - 불법 해킹 용의자의 해킹 Tool이 증거능력을 가지기 위해서는 같은 상황의 피해 시스템에 툴을 적용할 경우 피해결과와 일치하는 결과가 나와야 함 |
신속성 원칙 | - 디지털 포렌식의 전 과정이 신속하게 진행되었는가? - 휘발성 데이터의 특성 상 수사 진행의 신속성에 따라 증거수집 가능 여부가 달라짐 |
절차 연속성 원칙 | - 증거물 수집, 이동, 보관, 분석, 법정제출의 각 단계에서 담당자 및 책임자가 명확해야 함 - 수집된 저장매체가 이동단계에서 물리적 손상이 발생하였다면, 이동 담당자는 이를 확인하고 해당 내용을 정확히 인수인계하여 이후의 단계에서 적절한 조치가 취해지도록 해야함 |
무결성 원칙 | - 수집된 증거가 위변조되지 않았는가? - 일반적으로 해시 값을 이용하여 수집 당시 저장매체의 해시 값과 법정 제출 시 저장매체의 해시 값을 비교하여 무결성을 입증해야 함 |
Cf) 휘발성 데이터 수집 우선순위
- Register 및 Cache 정보
- Routing Table, ARP Cache, Process Table, Kernal Statistics
- Memory
- Temporary File Systems
- Disk
- Remote Logging, Monitoring Data
- Physical Configuration, Network Topology
- Archival media
Cf) 비휘발성 데이터 수집 우선순위
- Registry, 시간정보, Cache, Cookie, History, E-Mail
- 암호화된 파일, 윈도우 로그 등
# 참고
해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.
'자격증 > 정보보안기사(필기)' 카테고리의 다른 글
정보보안기사(필기) - 정보보안 일반(접근 통제) (0) | 2021.08.15 |
---|---|
정보보안기사(필기) - 정보보안 일반(보안 요소 기술) (0) | 2021.08.14 |
정보보안기사(필기) - 애플리케이션 보안(전자상거래 보안) (0) | 2021.08.01 |
정보보안기사(필기) - 애플리케이션 보안(인터넷 응용 보안) (0) | 2021.07.30 |
정보보안기사(필기) - 네트워크 보안(네트워크 대응 기술) (0) | 2021.07.30 |