티스토리 뷰

728x90
반응형

소프트웨어 개발 보안 설계

: 정보보안의 세가지 요소인 기밀성, 무결성, 가용성을 지키고 서버취약점을 사전방지, 위협으로부터 위험 최소화

 

1) 기밀성: 비인가자 노출차단

2) 무결성: 불법 변경 불가. 정확성, 완전성

3) 가용성: 권한자만 지속적 사용가능 보장

 

SW 개발 보안 용어

1) 자산: 조직 데이터, 가치

2) 위협: 자산에 악영향끼치는 행위

3) 취약점: 위협발생 사전조건. 약점.

4) 위험: 위협이 취약점을 이용해 자산 손실 피해 가능성

 

SW 개발 보안을 위한 공격기법 이해

1) DoS: 과도한 데이터 전송(시스템 자원을 부족하게함)

DoS 공격기법 설명
SYN 플러딩 TCP프로토콜 구조적 문제 이용한공격
서버 동시가용 사용자수를 SYN패킷만 보내 점유해 사용못하게 함.
UDP 플러딩 대량의 UPP패킷을 전송해 응답메시지 생성하게 해 지속적 자원 고갈
스머프/스머핑 출발지주소를 공격대상 IP로 설정해 네트워크 전체에게 ICMP Echo패킷을 직접브로드캐스팅하여 마비시킴.
바운스 사이트라고 불리는 제3의 사이트를 이용해 공격.
죽음의핑 PoD ICMP 패킷(Ping)을 정상크기보다 더크게 만들어 전송해 부하발생시킴.
랜드어택 출발지IP와 목적지IP를 같은 패킷주소로 만들어보내 수신자가 자기자신에게 응답보내게 가용성 침해
티어드롭 IP패킷 재조합과정에서 잘못된 Fragment Offset정보로 수신시스템이 문제발생하도록 만드는 DoS공격.
봉크/보잉크 프로토콜의 오류제어를 이용한 공격기법으로서 시스템의 패킷 재전송과 재조립이 과부하를 유발
봉크: 같은 시퀀스번호를 계속 보냄
보잉크: 일정간격으로 시퀀스 번호에 빈 공간 생성

*직접 브로드캐스팅: IP 주소의 호스트 ID비트를 모두 1로 설정해 브로드캐스트하는 방식.

2DDoS공격

: DoS는 직접공격하고, DDoS는 공격을 하도록 지시함. DoS는 한사람에 의해 공격을 감행하나, DDoS는 수많은 감염호스트를 통해 공격을 감행함.

구성요소 설명
핸들러 마스터시스템의 역할을 수행하는 프로그램
에이전트 공격대상에 직접 공격가하는 시스템
마스터 공격자로부터 직접 명령받는 시스템.
여러 대의 에이전트를 관리하는 역할
공격자 공격을 주도하는 해커의 컴퓨터
데몬프로그램 에이전트 시스템의 역할을 수행하는 프로그램
DDoS 공격도구 설명
Trinoo -많은 소스로부터 통합된 UDP flood 서비스 거부 공격을 유발하는데 사용되는 도구
-몇개의 서버들(or 마스터들)과 많은 수의 클라이언트(데몬들)들로 이루어짐
Tribe Flood Network(TFN) -trinoo와 유사한 분산도구로, 많은 소스에서 하나 혹은 여러 목표시스템에 대해 서비스 거부공격을 수행.
-공격자가 공격명령을 TFN 서버들에게 보냄으로써 이루어짐
-UDP flood 공격, TCP SYN flood 공격, ICMP echo 요청공격, ICMP 브로드캐스트공격(Smurf) 등 가능
Stacheldraht -분산서비스 거부 에이전트역할을 하는 Linux Solaris 시스템용 멀웨어 도구
ICMP flood, SYN flood, UDP flood, Smurf 등 공격에 의해 DDoS공격 가능.

-DDoS 공격 대응 방안

1) 차단 정책 업데이트

2) 좀비PC IP확보

3) 보안 솔루션 운영

4) 홈페이지 보안 관리HN95016

5) 시스템 패치

 

-DDoS 공격 종류

구분 종류 상세공격유형
대역폭 소진공격(3~4계층) UDF/ICMP traffic flooding -UDF/ICMP traffic flooding
-DNS Query Flooding
TCP Traffic Flooding -SYN Flooding
-SYN+ACK Flooding
IP Flooding -LAND Attack
-Teardrop
서비스() 마비 공격(7계층) Http Traffic Flooding -GET Flooding
-GET with Cache-Control
Http Header/Option Spoofing -slowris
-slowloris
slow HTTP Read DoS
Other L7 Service Flooding -Hash DoS
-Hulk DoS
-FTP/SMTP Attack

 

3) DRDoS 공격:

: 출발지IP를 공격대상IP로 위조해 다수의 반사 서버로 요청 정보 전송, 공격대상자는 반사서버로부터 다량응답받아 서비스 거부(DoS)되는 공격. DDoS보다 공격근원지 파악이 어렵고, 공격 트래픽 생성효율이 훨씬 큼.

DRDoS 공격 절차

(1) 출발지 IP 변조: 출발지 IP를 공격대상자 IPSpoofing하여 SYN패킷을 공격 경유지 서버로 전송

(2) 공격대상자 서버로 응답: SYN패킷 받은 경유지서버는 공격대상자서버(SpoofingIP)SYN/ACK 전송

(3) 서비스 거부: 공격대상자서버는 서비스거부가 됨.

DRDoS 대응방안

: ISP(인터넷 서비스 사업자)가 직접 차단

: 반서서버에서 연결완료하지 않은 SYN출처 IP를 조사해 블랙리스트로, 공격서버를 사전에 차단.

: 공격대상서버 IPPort변경, 필터링하여 운영

 

 

4) 애플리케이션 공격

: DDoS 서비스(애플리케이션) 마비공격임.

공격기법 설명
HTTP GET 플러딩 -Cache Control Attack
-과도한 Get메시지로 과부하 유발
-HTTP 캐시 옵션 조작해 캐싱서버가 아닌 웹서버가 직접 처리하도록 유도, 웹 서버 자원을 소진시킴
Slowloris
(Slow HTTP header DoS)
-HTTP GET메서드를 사용해 헤더 최종 끝을 알리는 개행문자열을 전송하지 않아 웹서버와 연결상태 장시간 지속으로 연결자원 모두 소진시킴.
RUDY (Slow HTTP POST DoS) 요청 헤더의 Content-Length를 비정상적으로 크게 설정해 메시지 바디 부분을 매우 소량으로 보내 연결유지
Slow HTTP Read DoS -TCP윈도크기와 데이터 처리율을 감소시킨 상태에서(zero Packet) 다수 HTTP패킷을 지속전송해 웹서버 연결상태 장시간지속
Hulk DoS -공격대상 웹주소를 지속적 변경하며 다량으로 GET요청을 발생시킴
URL를 변경하는이유: 임계치 기반의 디도스 대응 장비를 우회
Hash DoS -웹서버는 클라이언트 HTTP요청을 통해 전달되는 파라미터(매개정보)를 효율적 저장하고 검색하기위한 자료구조로 해시테이블 사용
-공격자는 이러한 특성을 악용해 조작된 파라미터를 POST방식으로 웹서버에 전달해 해시충돌 발생시킴

5) 네트워크 공격

공격기법 설명
스니핑 직접공격안하고 데이터만 몰래보는 수동적공격
네트워크 스캐너,스니퍼 넽웤 HW,SW 구성 취약점 파악해 공격자가 취약점탐색하는 공격도구
패스워드 크래킹 -사전(dictionary) 크래킹 공격:pw될 가능성있는 단어를 파일로 만들어놓고 대입함
-brute force 크래킹공격
-패스워드 하이브리드공격:사전공격+brute force 결합공격
-레인보우 테이블공격: pw별로 해시값 생성해 테이블에 모아놓고, 크래킹하고자하는 해시값을 테이블에서 검색해 역으로 pw찾는 공격기법
IP 스푸핑 -침입자가 인증된컴시스템처럼 속여서 본인 패킷 헤더를 인증된 호스트의 ip로 위조
ARP 스푸핑 공격자가 특정호스트의 MAC주소를 자신의 MAC주소로 위조한 ARP Reply를 만들어 지속적 전송하여 희생자의 ARP Cache Table에 특정호스트의 MAC정보를 공격자의 MAC정보로 변경, 희생자로부터 나가는 패킷을 공격자가 스니핑함.
ICMP Redirect공격 -3계층에서 스니핑시스템을 넽웤에 존재하는 또다른 라우터라고 알려 패킷흐름을 바꿈.
특정목적지로 가는 패킷을 공격자가 스니핑함
트로이목마 악성루틴이 숨은 프로그램. 정상적으로보이나 실행하면 악성

6) 시스템 보안 위협

(1) 버퍼 오버플로우 공격

: 메모리에 할당된 버퍼크기 초과하는양의 데이터를 입력해 프로세스 흐름을 변경시켜 악성코드 실행시킴.

유형 설명
스택 버퍼 오버플로우 스택영역에 오버플로우
복귀주소를 변경하고 임의코드 실행하는 공격기법
힙 버퍼 오버플로우 동적할당되는 힙영역에 버퍼크기초과하는 데이터 입력해 메모리의 데이터와 함수주소등 변경, 공격자가 원하는 임의코드 실행.
-인접한메모리(linked list) 데이터가 삭제될 수 있고, 관리자 권한 파일 접근가능.

버퍼 오버플로우 공격 대응 방안

a. 스택가드: 카나리(canary)라고 불리는 무결성 체크용 값을 복귀주소와 변수사이에 삽입해두고, 버퍼오버프로우 발생시 카나리값을 체크, 변할 경우 복귀주소를 호출하지 않음.

b. 스택쉴드: 함수시작시 복귀주소를 global RET라는 특수스택에 저장, 함수종료시 저장값과 스택의 RET값 비교해 다를 경우 중단.

c. ASLR(address space layout randomization): 메모리공격 방어위해 주소공간 배치를 난수화하고, 실행마다 메모리주소변경시켜 특정주소호출 차단.

d. 안전한 함수 활용

버퍼오버플로우에 안전한함수: strncat(), strncpy(), fgets(), fscanf(), vfscanf(), snprint(), vsnprint()

e. 실행제한: 스택에서의 쓰기 권한 제한, 스택에서 프로그램 실행금지, 가능성있는 SUID 프로그램 제한

 

(2)백도어

:정상적인 인증절차 우회기법

-백도어 탐지기법

1) 프로세스 및 열린 포트 확인: TCPView로 열린 포트 확인하고 백도어 감지. ps ef(실행중인 프로세스 확인), netstat an(열린포트 확인)

2) Setuid 파일 검사

3) 백신 및 백도어 탐지 툴 활용

4) 무결성 검사: Tripwire 툴을 이용한 무결성 검사

5) 로그분석

 

(3) 주요시스템 보안 공격기법

포맷 스트링 공격: 포맷 스트링을 인자로 하는 함수 취약점을 이용한 공격.

2. 레이스 컨디션 공격:

레이스컨디션: 둘 이상의 프로세스, 스레드가 공유자원 동시 접근 할 때 접근 순서에 따라 비정상적 결과가 발생하는 조건, 상황.

레이스컨디션공격: 실행되는 프로세스가 임시파일을 만드는 경우 악의프로그램 통해 끼어들어 임시파일을 심볼릭링크하여 악의적 행위를 수행.

3. 키로거 공격: 키보드 움직임 탐지해 저장하여 pw, 계좌번호 등 개인정보 빼감. =키스트로크 로깅

4. 루트킷: 침입후 침입사실 숨기고 불법적 해킹에 사용되는 기능을 제공함.

 

 

7) 보안 관련 용어

(1) 스피어피싱

: 사회공학적 기법. 대상에게 메일 발송해 링크클릭하도록 유도하여 개인정보탈취

(2) 스미싱

: SMS+피싱. 문자메세지를 이용해 신뢰자처럼 가장, 개인정보 요구, 소액결제 유도하는 피싱공격(사이버사기)

(3) 큐싱

: QR코드+피싱. 인증필요한것처럼 속여 QR코드통해 악성앱 받게함. 금융정보 빼내는 피싱공격.

(4) 봇넷

: 악성에 감염되어 악의적 의도로 사용될 수 있는 다수의 컴퓨터들이 넽웤으로 연결된 상태

(5) APT 공격

: 특정 타깃 목표로 다양한 수단을 지속적으로 지능적인 맞춤형 공격을 함.

(6) 공급망 공격

: SW개발사 넽웤에 침투해 소스코드 수정등을 통해 악의적 코드 삽입, 악의적 파일 변경통해 sw설치 또는 업데이트 시에 자동 감염

(7) 제로데이 공격

(8) (Worm)

: 스스로 복제하여 넽웤 등 연결통해 전파하는 악성 SW.

(9) 악성봇

: 스스로 실행되지 못함. 해커명령에 의해 원격제어, 실행됨. 취약점이나 백도어 등을 이용해 전파되며, 스팸메일전송이나 DDoS 등에 악용됨. 좀비PC는 악성봇에 의해 감염된 PC.

(10) 사이버 킬체인

: 록히드 마틴의 사이버 킬체인은 공격형 방위시스템으로 지능적, 지속적 사이버 공격에 대해 7단계 프로세스별 공격분석 및 대응을 체계화한 APT공격 방어 분석모델

(11) 랜섬웨어

: 감염된 파일을 암호화하여 복호화할수 없게 하고, 암호화된 파일을 인질처럼 잡고 몸값을 요구.

(12) 이블 트윈 공격

: 무선 wifi 피싱기법. 합법적 wifi 제공자처럼 행세, 무선 사용자 정보 탈취하는 무선 넽웤 공격기법

(13) 난독화

: 소스코드 난독화, 바이너리 난독화로 나뉨

(14) Tripwire

: 크래커가 침입하여 백도어 만들어 놓거나, 설정파일 변경해놓았을 때 이러한 사실을 알 수 있는 분석 도구. 중요파일에 DB생성후, 나중에 비교해 차이 체크하여 감지

(15) Ping

: 원격 호스트가 정상운영되고있는지 확인 진단 목적

(16) Tcpdump

: 넽웤 인터페이스를 거치는 패킷 내용을 출력하는 프로그램. 스니핑 도구의 일종. 모든 패킷의 내용을 도청

서버인증 및 접근 통제

서버인증: 접속자 로그인정보 확인하는 보안 절차.

기능 설명
스니핑 방지 SSL 인증서를 설치하면 정보유출되어도 모든정보가 암호화됨
피싱 방지 SSL 인증서 발급
데이터 변조 방지 SSL 보안서버 구축
기업 신뢰도 향상 기업 인증을 받고 보안인증마크 설치.

 

서버인증 기술의 유형

1) 지식기반인증: id, pw

2) 소지기반 인증: 공인인증서, OTP

3) 생체기반 인증: 홍채, 정맥, 얼굴, 지문

4) 특징기반 인증: 서명, 발걸음, 몸짓

 

서버 접근 통제

: 접근여부 허가/거부 기능

: 비인가자로부터 객체의 기밀성, 무결성, 가용성을 보장

 

접근통제 용어

1)주체: 객체나 객체 내 데이터 접근 요청하는 능동적 개체(행위자)

2)객체: 접근대상이 수동적인 개체, 행위가 일어나는 아이템(제공자)

3)접근: 행위하는 주체의 활동

 

접근통제 기법

1)식별: 객체에게 주체가 자기정보 제공

2)인증: 신원검증. 주체의 신원을 객체가 인정해줌

3)인가: 인증된 주체에게 접근 허용.

4)책임추적성: 주체 접근을 추적하고 행동을 기록.

 

서버접근 통제 유형

1) 임의적 접근통제(DAC): 신분기반으로 제한. ACL(Access Control List)로 권한 부여

2) 강제적 접근통제(MAC): 허용등급을 기준으로 접근허가권한에 근거해 접근을 제한함. MAC에서 사용자들은 자원에 대한 권한을 관리자로부터 부여. 관리자만이 시스템 자원에 대한 권한을 할당할 수 있음.

3) 역할기반 접근통제(RBAC): 중앙 관리자가 사용자와 시스템의 상호관계를 통제하며 조직 내 맡은 역할에 기초해 자원 접근 제한함. RBAC에서 자원에 대한 접근은 사용자에게 할당된 역할에 기반. 관리자는 사용자에게 특정한 권리와 권한이 정의된 역할을 할당.

정책 DAC MAC RBAC
권한부여 데이터소유자 시스템 중앙관리자
접근결정 신분(Identity) 보안등급(Label) 역할(Role)
정책변경 변경용이 고정적
(변경어려움)
변경용이
장점 구현용이
유연함
안정적
중앙집중적
관리용이

접근통제보호 모델

1) -라파듈라 모델

: 미 국방부 지원 보안 모델로 보안 요소 중 기밀성을 강조하며 강제적 정책에 의해 접근 통제하는 모델

속성 설명
No Read Up -보안수준 낮은객체는 보안수준 높은 객체를 읽으면 안됨
-주체는 객체와 동일한 등급이거나 객체가 낮은 등급일 때 읽음
No Write Down -보안수준 높은 주체는 보안수준낮은 객체에 기록하면 안됨
-주체등급이 객체와 동일하거나 객체보다 낮아야 기록 가능

2) 비바모델

: -라파둘라 모델의 단점을 보완한 무결성을 보장하는 최초의 모델

속성 설명
No Read Up - 높은등급주체는 낮은등급 객체를 읽을 수 없음
No Write Down 낮은 등급주체는 상위등급 객체를 수정할 수 없음

 

SW 개발 보안을 위한 암호화 알고리즘

암호알고리즘: 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법.

-스트림암호: 평문과 같은 길이의 키 스트림을 연속적 생성하여 평문과 이진 수열을 비트 단위로 XOR 연산하여 암호문을 생성하는 대칭키 암호화기법

-블록암호: 평문을 일정한 블록단위로 나누어서 각 블록마다 암호화과정을 수행하여 고정된 크기의 블록단위의 암호문을 생성하는 대칭키 암호화 기법임.

 

암호알고리즘 방식

1) 양방향방식

(1) 대칭 키 암호 방식

블록 암호화 방식

: 긴 평문을 암호화하기 위해 고정길이의 블록을 암호화하는 블록 암호 알고리즘을 반복하는 방법.

ex) DES, AES, SEED, 3DES, ARIA, IDEA, LFSR

DES: 56bit 키를 이용, 평문블록을 64bit의 암호문 블록으로 만드는 블록암호방식의 미국표준(NIST) 암호화 알고리즘. 페이스텔 구조.

AES: 고급암호화 표준. DES를 대체함. 암호화와 복호화 과정에서 동일한 키를 사용하는 대칭키 암호화알고리즘.

SEED: KISA, ETRI에서 개발하고 TTA에서 인증한 안전성, 신뢰성 우수한 고속블록단위의 128비트 대칭 키 암호화알고리즘.

ARIA: 국가정보원과 산학연구협회가 개발한 블록 암호화알고리즘. 학계(Academy)+연구기관(R)+정부(Agency) 앞글자. 128bit. 경량환경 및 HW에서의 효율성 향상을 위해 개발됨. 대부분의 연산은 XOR같은 단순 바이트단위연산.

IDEA: DES대체. 스위스연방기술기관에서 개발. 128bit 키 사용해 64bit 평문을 8라운드에 걸쳐 64bit암호문으로

LFSR: 선형 되먹임 시프트 레지스터. 레지스터에 입력되는 값이 이전상태 값들의 선형함수로 계산되는 구조. 사용되는 선형함수는 배타적논리합(XOR)이고, LFSR의 초기비트값은 Seed.

스트림 암호 방식

: 매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식

ex) RC4

(2) 비대칭 키 암호 방식(=공개키 암호 방식)

: 사전에 개인키를 나눠가지지 않은 사람들이 안전하게 통신하는 방식.

: 공개키로 암호화된 메시지는 반드시 비밀키로 복호화해야함.

: 공개키와 비밀키가 존재하며, 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알수있어야 함.(공개키는 보안타협없이 공개적으로 배포가능)

ex) RSA, ECC, Elgamal, 디피-헬만 등.

RSA: 현재 비대칭 키 암호방식 중 가장 널리쓰임. 소인수분해의 어려움을 이용함. MIT 수학교수(rivest, shamir, adleman)가 만듦.

디피-헬만: 최초의 공개키 알고리즘. 유한필드내에서 이산대수의 계산이 어려운 문제를 기본원리로 함. 공개키 암호화방식의 개념을 이용. 최초의 비밀키 교환 프로토콜. 암호키를 교환하는 방법으로써 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀키를 공유할 수 있도록하는 방식임.

ECC: 코블리치와 밀러가 RSA암호방식에 대한 대안으로 제안. 타원곡선암호(ECC)는 유한체 위의 타원곡선 군에서의 이산대수 문제에 기초한 공개키 암호화 알고리즘. PKI기반의 RSA의 문제점인 속도와 안전성 해결하기 위해 타원 기반 구조체의 안정성과 효율성을 기반으로 생성되었고 RSA보다 키의 비트 수를 적게하면서 동일한 성능을 제공하는 것이 가장 큰 특징.

ElGamal: 이산대수 계산이 어려운 문제를 기본원리로함. RSA와 유사히 전자서명과 데이터 암/복호화에 함께 사용가능.

 

(3) 대칭 키 암호 방식 및 비대칭 키 암호 방식 비교

구분 대칭키암호방식 비대칭키암호방식
대칭키(비밀키) 비대칭키(공개키, 사설키)
키의관계 암호화키=복호화키 암호화키복호화키
암호알고리즘 공개 공개
장점 계산속도빠름 암호화키사전공유불필요.
관리할 키 개수 적음
단점 키분배/관리 어려움
기밀성만 보장
계산속도 느림
알고리즘 DES,AES, SEED 디피-헬만, RSA

 

2) 일방향 암호 방식(해시 암호 방식)

: 임의길이 정보 입력받아 고정된 길이의 암호문(해시값)을 출력하는 암호 방식. 복호화불가.

해시함수를 기반으로 하는 일방향방식: MAC, MDC

종류 설명
MAC 키를 사용하는 메시지 인증코드로 메시지의 무결성과 송신자의 인증보장
ex) HMAC, NMAC
MDC 키를 사용안하는 변경감지코드로 메시지 무결성을 보장
MD5, SHA

(4) 해시 암호화 알고리즘

1) MD5: MD4를 개선. 프로그램/파일의 무결성검사에 사용. 512bit짜리 입력메시지 블록에 차례로 동작해 128bit의 해시값을 생성하는 해시알고리즘

2) SHA-1: NSA에서 미정부표준으로 지정됨. DSA에서 사용. 160bit

3) SHA-256/384/512: SHA알고리즘의 종류로, 256bit 해시값을 생성함. AES의 키 길이에 대응하도록 출력 길이를 늘림.

4) HAS-160: 국내 표준 서명 알고리즘 KCDSA를 위해 개발된 해시함수. MD5+SHA1의 장점을 취해 개발됨.

 

안전한 전송을 위한 데이터 암호화 전송

1) IPSec

: IP계층(3계층)에서 무결성과 인증 보장하는 인증헤더(AH)와 기밀성 보장하는 암호화(ESP)를 이용한 IP보안프로토콜.

기능 설명
기밀성 대칭암호화 통해 기밀성 제공
비 연결형 무결성 메시지 위변조되지않음을 보장
인증 데이터 원천 인증 및 송신처인증
재전송 공격방지 송신측에서 IP패킷별로 순서번호를 통해 재전송 공격방지
접근제어 security policy 통해 접근제어.
동작모드 설명
전송모드 ip패킷의 페이로드를 보호함
(ip 상위 프로토콜 데이터보호)
터널모드 ip패킷 전체를 캡슐화하여 보호
프로토콜 설명
인증(AH)프로토콜 메시지인증코드(MAC)을 이용해 인증 제공해줌. 기밀성(암호화)은 제공하지않음.
무결성, 인증제공
암호화(ESP)프로토콜 MAC와 암호화를 이용해 인증과 기밀성 제공
기밀성, 무결성, 인증제공
키관리(IKE)프로토콜 key 주고받는 알고리즘.
공개된 넽웤을 통해 key 어떻게할것인지 정의, IKE 교환 위한 메시지 전달하는 프로토콜.

 

2) SSL/TLS

: 전송계층(4계층)과 응용계층(7계층) 사이에서 클라이언트와 서버간 웹데이터 암호화(기밀성), 상호인증, 데이터 무결성 보장하는 보안 프로토콜.

: Netspace사가 개발.

: 다양한 암호통신 방법 활용(대칭키암호화, 공개키 암호화, 일방향해시함수, 메시지인증코드, 의사난수생성기, 전자서명을 조합해 암호화 통신 수행)

: 특정 암호기술에 의존하지않음. 암호도구목록을 변경해 강력한 알고리즘 사용.

보안기능 설명
기밀성 3DES, DES,AES 같은 대칭키 암호화 알고리즘 제공
상호인증 서버와 클라이언트간 신뢰할수 있도록 인증사용.
RSA, DSS, X.509 공개키 인증서 사용
메시지무결성 해시알고리즘 사용해 메시지인증코드 생성
구성요소 설명
Change Cipher Spec Protocol 협상끝난 Cipher Spec을 상대에 알림
Alert protocol SSL/TLS 관련 경고메시지 전달
Heartbeat protocol 서버와 클라이언트가 정상적인 상태인지 확인하기 위해 사용
handshake protocol 서버와 클라이언트가 서로 인증하고 암호화 키를 협상하는 프로토콜
record protocol 합의된 cipher suite로 암/복호화, 무결성, 압축/해제 등 수행

3) S-HTTP

: 웹상에서 넽웤 트래픽을 암호화하는 주요방법중하나. 클라이언트와 서버간 전송되는 모든 메시지를 암호화하여 전송.

sw 개발 보안 적용 사례

1) BSIMM: 미국 국토안보국의 지원받아 수행된 SW보증 플젝의 결과물 중 하나. 보안활동의 성숙도를 영역별로 측정해 보안능력향상을 목표로함.

2) Open SAMM: OWSAP에서 개발항 개방형 보완 프레임워크. //대규모로 점진적확대 가능한 융통성. 설계리뷰, 코드리뷰, 보안테스팅 검증활동으로 정의하여 연계성 강조.

3) Seven TouchPoints: SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론

4) MS SDL: 마이크로소프트가 자사 SW개발에 의무적용하도록 고안한 보안강화 프레임워크

5) OWASP CLASP: 개념관점, 역할기반관점, 활동평가 관점, 활동구현관점, 취약성 관점 등 활동중심, 역할기반 프로세스로 구성된 보안 프레임워크. 이미 운영중인 시스템에 적용하기 쉬운 보안 개발 방법론. 프로그램 설계나 코딩 오류 찾아내 개선위해 취약점목록 제공.

 

 소프트웨어 개발 보안 구현

-시큐어 코딩 가이드

:설계 및 구현단계에서 보안취약점을 사전에 제거해 안전 SW개발하는 기법.

-시큐어코딩가이드 보안약점

 

1)입력데이터검증및표현: 구현단계에서 검증.

- XSS

: 미검증 외부입력데이터가 포함된 웹페이지가 전송되는 경우, 페이지에 포함된 부적절한 스크립트가 실행됨.

Stored XSS: 방문자들이 악성스크립트 포함된 페이지를 읽음과 동시에 악성스크립트가 브라우저에 실행되며 감염

Reflected XSS: 악성URL생성 후 사용자에게 이메일로 전송, URL을 클릭하면 즉시 공격스크립트가 피해자로 반사됨

DOM XSS: DOM기반 XSS 취약점이 있는 브라우저를 대상으로 조작된 URL을 메일로 전송, URL클릭시 공격피해당함.

- CSRF

: 사용자가 공격자의 악행을 특정 웹사이트에 의도치않게 요청함.

- SQL injection

: 악의적 SQL 구문 삽입. DB접근 통해 정보탈취

Form SQL Injection: HTML Form 기반 인증에 취약점이 있는 경우 사용자인증 쿼리문 조작해 우회

Union SQL Injection: UNION 연산자 이용해 공격

Stored Procedure SQL Injection: 저장 프로시저 이용해 공격

Mass SQL Injection: 기존 SQL Injection의 확장개념. 1공격으로 대량의DB값 변조되어 치명적영향을 미침.

Error-Based SQL Injection: DB쿼리에 대한 에러값을 기반으로 한단계씩 점진적으로 DB정보 획득가능

Blind SQL Injection: 쿼리결과 참/거짓을 통해 의도치 않은 SQL문 실행함으로써 DB를 비정상적으로 공격함.

 

2)보안기능

: sw개발단계에서 인증, 접근제어, 기밀성, 암호화, 권한 관리를 적절히 구현함.

3)시간 및 상태 (세션 통제)

4)에러처리

5)코드오류 취약점

널포인터 역참조

정수를 문자로 변환

부적절한 자원해제 (자원을 반환하지 않음)

초기화되지 않은 변수 사용

6)캡슐화 취약점

7)API오용 취약점

: DNS Lookup에 의존한 보안 결정, 위험하다고 알려진 함수 사용, 널 매개변수 미검사

 

-시스템 보안 구현

(1) 유닉스/리눅스 주요 로그파일

: 유닉스 = /var/dam. 리눅스 = /var/log

시스템 로그파일들의 위치 지정: /etc/syslog.conf

다양한 로그로 해커 추적이 가능.

로그이름 설명 내용확인명령어
wtmp(x) login/logout
shutdown/reboot
last
utmp(x) 현재 로그인한 사용자 who, w, users, finger
btmp(x) 로그인실패정보 lastb
lastlog 사용자별 최근 로그인시간 및 접근소스 호스트에 대한 정보 lasglog
sulog switch suser 명령어 실행 성공/실패 결과 없음
acct/pacct 사용자별 실행명령어 lastcomm, acctcom
xferlog FTP서비스 데이터 전송 기록 로그 없음
messages 가장 기본적 시스템 로그파일. 운영에 대한 전반적 메시지저장
secure 사용자 인증 등 보안관련 기록.

(2) 보안 솔루션

1) 네트워크 보안솔루션

방화벽: 내외부 트래픽 모니터링해 접근 허용/차단함.

웹방화벽(WAF):웹앱 보안. 웹공격 탐지, 차단

넽웤접근제어(NAC): 네트워크 제어 및 통제,허용/차단

침입탐지시스템(IDS): 넽웤 모니터링, 비인가자 자원접근 침입 등 실시간 탐지

침입방지시스템(IPS): 넽웤 침입 실시간 차단, 유해트래픽 조치 능동적 처리

무선침입방지시스템(WIPS): 비인가 무선 단말기 접속 자동 탐지/차단. 보안에 취약한 무선공유기 탐지

통합보안시스템(UTM): 방화벽, IDS, IPS, VPN 등 다양한 보안 기능을 한 장비로 통합해 제공하는 시스템.

가상사설망(VPN): 인터넷같은 공중망에 인증, 암호화, 터널링기술 활용해 마치 전용망 사용하는 효과를 가지는 보안 솔루션.

2) 시스템보안 솔루션

스팸차단솔루션: 메일서버앞단에 프록시메일서버로 동작함. 메일 바이러스검사, /외부 본문 검색 기능 통한 내부 정보유출 방지

보안 운영체제(SecureOS):OS 커널에 보안기능 추가. OS 결함으로 인해 발생할 각종 공격으로부터 시스템 보호 위해 보안기능 통합된 보안 커널을 추가한 OS.

3) 콘텐츠 유출 방지 보안 솔루션

보안 USB: 사용자 식별/인증, 데이터 암/복호화, 임의복제방지, 분실 시 데이터 삭제 기능

데이터유출방지(DLP): 조직자료가 유출되는 것을 탐지, 차단. 정보의 흐름에 대한 모니터링과 실시간차단기능.

디지털저작권관리(DRM): MP3, E-Book 같은 디지털 저작물 보호. 파일자체에 암호를 걸어 비권한자는 사용불가, 문서보안솔루션으로도 사용가능함.

(3) 취약점 분석

사용자취약점<-방화벽->웹서버취약점<->웹앱취약점<->db취약점

분석대상 예시 결과
환경 및 시설 ,창문 물리적 보호
불안정한 전원설비
자연재해 입지조건
도난, 정전/오작동, 천재지변
HW /습도변화, 기억매체 유지보수 부족 고장/오작동, 데이터유실
SW 명세서 미준비, 부적절 PW, 백업부족 SW장애, 정보유출, 데이터 소실

 

- 취약점 분석 절차

1) 자산조사 및 분석

2) 진단 대상 선정

3) 제약 사항 확인

4) 진단 수행

5) 결과 분석/보고서작성

 

SW개발 보안 테스트와 결함 관리

: SW 보안 요구사항 반영 확인과 취약점발견 후 개선하여 안전한 SW 개발위한 활동임.

구분 설명 특징
정적분석 SW 실행안하고 보안약점분석 (개발단계에서) 취약점 초기발견으로 수정비용 절감
컴포넌트간 통합된 취약점 발견에 제한적
설계/구조 관점의 취약점은 식별불가
동적분석 SW 실행하며 보안약점분석 (시험단계에서) 소스코드필요없음
정확도와 커버리지 향상
구조관점의 보안 약점식별 불가

SW 개발 보안테스트 절차

1) 준비단계: 대상선정, 일정수립

2) 실행단계: 테스트 수행

3) 개선단계: 보고서 발행, 지적사항 해결

4) 관리단계: 결함해결 사항 보고, 점검된 소스코드 관리

5) 종료단계: 보안상황 보고

비즈니스 연속성 계획(BCP)

: 재해, 장애, 재난으로부터 위기관리 기반으로 복구, 비상계획을 통해 비즈니스 연속성을 보장하는 체계.

; 비즈니스영향평가(BIA)가 선행되어야 함.

주요 용어 설명
BIA(business import analysis) 시간흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축위한 비즈니스 영향분석
RTO(recovery time objective) 업무중단시점부터 업무복구되어 재가동될때까지의 시간. 재해시 복구 목표시간의 선정.
RPO(recovery point objective) 업무중단시점부터 업무복구되어 재가동될 때 데이터손실허용시점
재해시 복구 목표 지점의 선정
DRP(disaster recovery plan) 재난으로 장기간 운영불가시 대비한 재난복구계획
DRS(disaster recovery system) 재해복구계획 수행지원위해 평상시 확보하는 인/물적 자원 및 지속적 관리체계 통합된 재해복구센터

-DRS 유형

1) Mirror Site: 주센터, 데이터복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해복구 센터. 재해발생시 복구까지의 소요시간(RTO)는 즉시( 0 )

2) Hot Site: 주 센터와 동일수준의 자원을 대기상태로 원격지에 보유하며 동기/비동기 방식의 미러링 통해 데이터의 최신상태 유지하고있는 재해복구센터

3) Warm Site: 재해복구센터에 주센터와 동일수준의 자원 보유하는 대신, 중요성 높은 자원만 부분적으로 재해복구센터에 보유. 데이터 백업 주기가 수 시간~. 재해발생 시 복구까지의 소요시간(RTO)은 수일~수주

4) Cold Site: 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요자웡늘 조달하여 복구할 수 있는 재해복구센터. 재해발생시 복구까지의 소요시간(RTO)은 수주~수개월. 구축 비용이 저렴하나 복구소요시간이 길고 신뢰성이 낮음.

 

 

728x90
반응형
댓글