1. SW개발 보안
1) 3대 요소
- 기밀성 : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단
- 무결성 : 정당한 방법을 따르지 않고선 데이터가 변경X, 데이터의 정확성 및 완전성 보장
- 가용성 : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장
2) 개발 보안 용어
- 자산 : 조식의 데이터 또는 조직의 소유자가 가치를 부여한 대상
- 위협 : 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위
- 취약점 : 위협이 발생하기 위한 사전 조건, 시스템의 정보 보증을 낮추는데 사용
- 위험 : 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성
2. Dos 공격
- 죽음의 핑 : ICMP 패킷을 정상적인 크기보다 아주 작게 만들어 전송해 IP단편화를 유발, 수신측에서는 단편화 패킷 조합 과정에서 많은 부하 or 재조합 버퍼의 오버플로우 발생
- 랜드어택 : 출발지와 목적지가 같은 패킷을 만들어 공격 대상이 자기 자신에게 응답하도록 부하 유발
- 스머프 : 출발지를 공격대상 IP로 위조한 ICMP 패킷을 브로드캐스트하여 공격 대상이 자기 자신에게 응답하도록 부하 유발
- 티어드롭 : 하나의 IP패킷이 분할된 IP 단편의 Offset 값을 서로 중첩되도록 조작하여 이를 재조합하는 대상 시스템에 에러와 부하 유발
- 봉크/보잉크 : 프로토콜 오류 제어를 이요한 공격 기법으로 시스템의 패킷 재전송과 재조립 과부하 유발
- SYN-Flooding : 다량의 TCP SYN 패킷을 전송하여 공격 대상 시스템 마비
- UDP-Flooding : 다량의 UDP 패킷을 전송하여 네트워크 자원 고갈
3. 기타 보안 공격
1)세선 하이재킹 : 세션을 가로채다는 의미로 세션 관리 취약점을 이용한 공격 방법
2) 애플리케이션 공격
- HTTP GET Flooding :과도한 GET 메시지를 이용하여 웹서버에 과부하 일으키는 공격
- Slow HTTP Header Dos : HTTP GET 메서드를 사용하여 해더의 끝을 알리는 개행 문자열을 전송하지 않아 대상 웹 서버와 장시간 연결상태 유지로 연결 자원 소진 시키는 공격
- Slow HTTP POST Dos : 요청 해더의 Content-Length를 비정상적으로 크게 설정해 메시지 바디 부분을 매우 소량을 보내 계속 연결 유지시키는 공격
- Slow HTTP Read Dos : TCP 윈도 쿠기와 데이터 치리율을 감소시킨 상태에서 다수 HTTP패킷을 지속적으로 전송하여 대상 웹 서버 연결 상태 장시간 유지시키는 공격
- Hulk Dos : 공격자가 공격대상 웹사이트 웹페이지 주소를 지속적으로 변경하면서 다량으로 GET요청을 발생
- Hash Dos : 웹 서버는 클라이언트 HTTP 요청을 통해 전달되는 파라미터를 해쉬 테이블로 저장하고 관리하는데 공격자가 수많은 파라미터를 POST방식으로 전달하여 해쉬 충돌 유발
3) 네트워크 공격
- 스니핑 : 직접 공격하지 않고 데이터만 몰래 들여다 보는 수동적 공격 기법
- 네트워크 스캐너, 스니퍼 : 네트워크 취약점 파악을 위해 공격자가 취약점ㅇ르 탐색하는 공격 도구
- IP스푸핑 : 침입자가 인증된 컴퓨팅 시스템인 것처럼 속여 타깃 정보 빼내는 기법
- ARP스푸핑 : 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송해 특정 호스트의 MAC 주소로 변경
- ICMP Redirect : ICMP 리다이렉트 메시지를 공격자가 원하는 형태로 만들어서 특정 목적지로 가는 패킷을 스니핑, 3계층에서 스니핑 시스템을 또 다른 라우터라고 알려서 패킷 흐름을 바꾸는 기법
- 트로이 목마 : 겉보기엔 정상, 실행하면 악성코드 실행되는 프로그램
- 패스워드 크래킹 : 사전 크래킹, 무차별 크래킹, 패스워드 하이브리드 공격, 레인보우 테이블 공격
4. 시스템 보안 위협
1) 버퍼 오버 플로우 : 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 프로세스 흐름 변경, 악성코드 실행
- 스택 가드 : '카나리'라는 무결성 체크용 값을 두고 오버플로우 발생시 '카나리'값 체크
- 스택 쉴드 : 함수 시작시 복귀주소를 Global RET라는 특수 스택에 저장, 함수종료시 비교
- ASLR : 메모리 공격 방어하기 위해 주소 공간 배치 난수화, 리눅스에서 설정 가능
2) 백도어 : 어떤 제품이나 시스템 혹은 알고리즘에서 정상적인 절차를 우회하는 방법
3) 주요시스템 보안 기본 공격
- 포맷 스트링 공격 : 포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격
- 레이스 컨디션 공격 : 둘 이상의 프로세스나 스레드가 공유자원을 동시에 접근할 때 접근 순서에 따라 비정상적인 결과가 발생하는 조건/상황을 레이스 컨디션이라 하고 실행되는 프로세스가 임시파일을 만드는 경우 그 실행 중에 끼어들어 임시파일을 심볼릭 링크하여 악의적인 행위 수행
- 키로거 : 컴퓨터 사용자의 키보드 움직임 탐지해서 정보 빼가는 공격
- 루트킷 : 시스템 침입 후 침입 사실을 숨긴채 차후 침입을 위한 백도어, 트로이목마, 원격 접근 등 불법적인 해킹에 사용되는 기능을 제공하는 프로그램 모음
5. 보안 관련 용어
- 스피어 피싱 : 특정 대상 선정후, 일반적인 메일로 위장한 메일을 계속 보내어 클릭을 유도, 사용자의 개인정 보탈취
- 스미싱 : SMS와 Phishing의 합성어로 문자메시지를 이용해 개인정보 탈취 or 소액결제 유도
- 큐싱 : QRcode와 Phishing의 합성어로 큐알코드를 이용해 악성 앱 내려받도록 유도
- 봇넷 : 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들의 네트워크
- APT공격 : 특수목적의 조직이 하나의 표적에 대해 다양한 IT기술을 이용하여 지속적으로 정보를 수집하고, 취약점을 분석하여 피해를 주는 공격
- 공급망 공격 : 소프트웨어 개발사의 네트워크에 침입, 소스코드에 악의적인 코드 삽입 or 배포 서버에 접근해 악의적인 파일로 바꿔서 공격
- 제로 데이 공격 : 보안 취약점이 개선되기 전에 악용하여 공격, 공격의 신속성 의미
- 웜 : 스스로 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램
- 악성 봇 : 스스로 실행되지 못하고, 해커의 명령에 의해 원격으로 제어되는 프로그램 or 코드
- 사이버 킬 체인 : 공격형 방위 시스템으로 지능적, 지속적 사이버 공격에 대해 7단계 대응을 체계화한 모델
- 랜섬웨어 : 악성코드의 한 종류로 감염된 시스템의 파일을 암호화하여 인질로 잡고 몸값 요구하는 소프트웨어
- 이블 트윈 공격 : 무선 wifi 파싱 기법으로 합법적인 와이파이 제공자처럼 속여 정보 탈취
6. 서버 접근 통제
1) 접근 통제 용어
- 주체 : 객체나 객체 내의 데이터에 대한 접근을 요청하는 능동적인 개체
- 객체 : 접근 대상이 수동적인 개체, 혹은 행위가 일어나는 아이템
- 접근 : 읽고, 만들고, 삭제하거나 수정하는 등의 행위를 하는 주체의 활동
2) 접근 통제 기법
- 식별 : 객체에게 주체가 자신의 정보를 제공하는 행위
- 인증 : 주체의 신원을 객체가 인정해주는 행위
- 인가 : 인증된 주체에게 접근을 허용하는 행위
- 책임 추적성 : 주체의 접근을 추적하고 행동을 기록하는 행위
3) 서버 접근 통제 유형
- 임의적 접근 통제 : 신분 기반 접근통제 정책
- 강제적 접근 통제 : 규칙 기반 접근통제 정책
- 역할 기반 접근 통제 : 혁할 기반 접근 통제 정책
7. 암호 알고리즘
1) 일방향 방식
- MAC : 키를 사용하는 메시지 인증 코드로 메시지 무결성과 송신자의 인증 보장
- MDC : 키를 사용하지 않는 변경 감지 코드로 메시지의 무결성 보장
2) 대칭키 암호화 알고리즘
- DES : 대칭키 기반 블록 암호화기법, 블록크기는 64bit 키길이는 56bit인 페이스텔 구조, 16라운드 암호화 알고리즘
- SEED : 1993년 한국 KISA에서 개바한 블록 암호화 기법, 128bit 비밀키에 생성된 16개의 64bit 라운드키 활용
- AES : 2001년 미국 NIST에서 개발한 블록 암호화 기법, 3DES 성능 문제 극복, 블록크기 128bit
- ARIA : 2004년 국정원과 산학 연구회가 합작한 블록 암호화 기법, 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발
- IDEA : DES 대체하기 위해 스위스에서 개발, 128bit키 사용, 64bit 평문을 8라운드에 거쳐 64bit 암호문 만듬
- LFSR : 선형 되먹임 시프트 레지스터, 선형함수로 계산되는 스트림 암호화 기법
3) 비대칭키 암호화 알고리즘
- 디피-헬만 : 최초의 공개키 알고리즘
- RSA : 3명의 MIT 교수가 고안한 큰 인수의 곱을 소인수 분해하는 수학적 알고리즈을 이용한 공개키 알고리즘
- ECC : RSA 대안으로 개발, 타원 곡선 암호는 유한체 위에서 정의된 타원 곡선군의 이산대수 문제에 기초함
- EIGamal : 이산 대수의 계산이 어려운 문제를 기본 원리로 하는 공개키 암호화 알고리즘
4) 해시 암호화 알고리즘
- MD5 : MD4를 개선, 프로그램이나 파일의 무결성 검사에 사용, 각각의 512bit짜리 메시지 블록에 등장해 128bit 해시값 생성
- SHA-1 : NSA에서 미 정부 표준 지정, DSA에서 사용, 10bit 해시값 생성
- SHA-256/384/512 : SHA알고리즘의 한 종류로서 256bit의 해시값 생성, AES에 대응하도록 출력길이 늘림
- HAS-160 : 국내 표준 서명 알고리즘, MD5와 SHA-1의 장점 취합
- HAVAL : 메시지를 1024bit 블록으로 나누고 128, 160, 192, 224, 256bit인 메시지 다이제스트 출력
8. 안전한 전송을 위한 데이터 암호화 전송
1) IPSec : IP계층에서 무결성과 인증을 보장하는 인증 해더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜
2) SSL/TSL : 전송계층과 응용계층 사이에서 클라이언트와 서버 간의 우베데이터 암호화(기밀성), 상호인증 및 전송시 데이터 무결성을 보장하는 보안 프로토콜
3) S-HTTP : 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나, 클라이언트와 서버 간에 전송되는 모든 메시지 암호화하여 전송, 메시지 보호는 HTTP를 사용한 애플리케이션에 대해서만 가능
9. 입력데이터 검증 및 표현 취약점
1) XSS : 검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹 페이지에 포함된 부적절한 스크립트 실행
2) SQL Injection : 사용자의 입력값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
3) CSRF : 사이트간 요청 위조, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
10. 콘텐츠 유출 방지 위한 보안 솔루션
- 보안 USB : 정보 유출 방지등의 보안 기능을 갖춘 USB메모리, 사용자 식별/인증, 데이터 암/복호화, 임의 복제 방지, 분실시 데이터 삭제 기능
- 데이터 유출 방지 : 조직 내부 중요 자료가 외부로 유출되는 것을 탐지하고 차단하는 솔루션, 정보 흐름에 대한 모니터링과 실시간 차단 기능
- 데이터 저작권 관리 : 파일 자체에 암호를 걸어 권한 없는 사용자 사용 못하게 함
11. 비즈니스 연속성 계획 관련 주요 용어
- BAI : 장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실 평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석
- RTO : 업무 중단 시점부터 업무가 복구되어 다시 가동될 때 까지의 시간, 재해 시 복구 목표 시간의 선정
- RPO : 업무 중단 시점부터 데이터가 복구되어 다시 정상 가동될 때 데이터의 손실 허용 시점, 재해 시 복구 목표 지점의 선정
- DRP : 재난으로 장시간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획
- DRS : DRP의 원활한 수행을 위해 평상시 확보해두는 인적, 물적 자원 및 관리체계