일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 게시글 목록 api
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch1
- 스프링 db1 - 스프링과 문제 해결
- 타임리프 - 기본기능
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch2
- jpa 활용2 - api 개발 고급
- 스프링 입문(무료)
- 2024 정보처리기사 수제비 실기
- 스프링 mvc2 - 로그인 처리
- 스프링 mvc1 - 스프링 mvc
- 스프링 mvc2 - 타임리프
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch14
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch11
- @Aspect
- 코드로 시작하는 자바 첫걸음
- 자바의 정석 기초편 ch5
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch6
- 스프링 mvc2 - 검증
- 스프링 고급 - 스프링 aop
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch4
- Today
- Total
나구리의 개발공부기록
CHAPTER 02 - 소프트웨어 개발 보안 구현(2) 본문
CHAPTER 02 - 소프트웨어 개발 보안 구현(2)
소소한나구리 2024. 7. 7. 20:592024년도 수제비 실기책(6판) 내용 정리
2. 시스템 보안 구현
1) 유닉스/리눅스 주요 로그 파일
- 유닉스/리눅스 로그가 저장되는 경로는 시스템마다 조금씩 다름, 일반적으로 유닉스의 경우 /usr/adm 디렉토리에 저장되며 리눅스의 경우 /var/log 디렉토리에 주로 저장됨
- 리눅스 에서는 /var/log 디렉토리에서 시스템의 모든 로그를 기록 및 관리하고 있으며 시스템의 /etc/syslog.conf 파일에서 시스템 로그 파일들의 위치를 지정하고 있음
- 다양한 로그를 바탕으로 해커를 추적하는 것이 가능함
[1] 유닉스/리눅스 주요 로그 파일
리눅스 | 유닉스 | 설명 | 내용확인 명령어 |
wtmp | wtmpx | - 사용자 로그인/로그아웃 정보 - 시스템 shutdown/reboot 정보 |
last 명령어 |
utmp | utmpx | 현재 시스템에 로그인한 사용자 정보 | who, w, users, finger 명령어 |
btmp | btmpx | 로그인에 실패한 정보 | lastb 명령어 |
lastlog | 사용자별 최근 로그인 시간 및 접근한 소스 호스트에 대한 정보 | lastlog 명령어 | |
sulog | su(Switch user) 명령어 실행 성공/실패 결과에 대한 정보 | text파일(별도 명령어 없음) | |
acct | pacct | 사용자별로 실행되는 모든 명령어에 대한 로그 | lastcomm, acctcom명령어 |
xferlog | FTP 서비스 데이터 전송 기록 로그 | text파일(별도 명령어 없음) | |
messages | 부트 메세지 등 시스템의 가장 기본적인 시스템 로그파일로 운영에 대한 전반적인 메세지를 저장 | ||
secure | 보안과 관련된 부요 로그를 기록, 사용자 인증과 관련된 로그를 기록 |
2) 보안 솔루션
(1) 네트워크 보안 솔루션(실무에서는 약어를 중심으로 활용함, NAC, VPN ...)
솔루션 | 설명 |
방화벽(Firewall) | 기업 내부, 외부 간 트래픽을 모니터링 하여 시스템의 접근을 허용하거나 차단하는 시스템 |
웹 방화벽(WAF; Web Application Firewall) |
- 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안장비 - SQL 인젝션, XSS 등과 같은 웹 공격을 탐지하고 차단하는 기능 |
네트워크 접근 제어 (NAC; Network Access Control) |
- 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션 - 바이러스나 웜 등의 보안 위협으로부터 네트워크 제어 및 통제 기능을 수행 |
침입 탐지 시스템 (IDS; Intrusion Detection System) |
네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원접근과 보안정책 위반 행위(침입)을 실시간으로 탐지하는 시스템 |
침입 방지 시스템 (IPS; Intrusion Prevention System) |
네트워크에 대한 공격이나 침입을 실시간적으로 차단하고, 유해트래픽에 대한 조치를 능동적으로 처리하는 시스템 |
무선 침입 방지 시스템 (WIPS; Wireless Intrusion Prevention System) |
인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템 |
통합 보안 시스템 (UTM; Unified Threat Management) |
방화벽, 침입 탐지 시스템(IDS), 침입 방지 시스템(IPS), VPN, 안티 바이러스, 이메일 필터링 등 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공하는 시스템 |
가상사설망 (VPN; Virtual Private Network) |
인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션 ** VPN은 여러 공중 인터넷망을 하나의 사설망 처럼 사용할 수 있는 기술로 공중망과 사설망의 중간 단계이고 방식으로는 SSL 방식와 IPSec 방식이 있음 ** SSL VPN은 4계층에서 소프트웨어적으로 동작하므로 별도의 장치가 필요없으며 가격이 저렴하고 IPSec VPN은 3계층에서 동작하므로 IP헤더를 조작해야하므로 별도의 하드웨어 장치가 필요하나 보안성이 뛰어남 |
SIEM(Security Information and Event Management) |
- 다양한 보안 장비와 서버, 네트워크 장비 등으로부터 보안 로그와 이벤트 정보를 수집한 후 정보 간의 연관성을 분석하여 위협 상황을 인지하고, 침해사고에 신속하게 대응하는 보안 관제 솔루션 - 기업에서 생성되는 테라바이트급의 정형/비정형 데이터와 방화벽, 안티바이러스 시스템, 서버, 네트워크 장비 등으로부터 수집한 다양한 데이터 등을 빅데이터 기반의 로그 분석을 통하여 보안의 위협 징후를 빠르게 판단/대응 할 수 있도록 해주는 보안 관제 솔루션 |
ESM(Enterprise Security Management) |
- 방화벽(Firewall), 침입 탐지 시스템(IDS), UTM, 가상 사설망 등의 여러 보안 시스템으로부터 발생한 각종 이벤트 및 로그를 통합해서 관리, 분석, 대응하는 전사적 통합 보안 관리 시스템 - ESM은 서로 다른 기종의 보안 장비들을 통합 관리하는 기능과 네트워크 자원 현황의 보안 모니터링 기능이 있고 주로 이벤트 위주의 단시간 위협 분석 및 DBMS 기반의 보안 관리 솔루션 |
(2) 시스템 보안 솔루션
솔루션 | 설명 |
스팸 차단 솔루션 (Anti-Spam Solution) |
- 메일 서버 앞단에 위치하여 프록시(Proxy) 메일 서버로 동작하는 솔루션 - 메일 바이러스 검사, 내부 -> 외부 본문 검색 기능 통한 내부 정보 유출 방지 |
보안 운영체제 (Secure OS) |
- 컴퓨터 운영체제의 커널에 보안 기능을 추가한 솔루션 - 운영체제에 내재된 결함으로 인해 발생할 수 있는 각종 해킹 공격으로부터 시스템을 보호하기 위해 보안 기능이 통합된 보안 커널을 추가한 운영체제 |
**스팸 : 이메일이나 휴대폰 등 정보통신 서비스를 이용하는 이용자에게 본인이 원치 않음에도 불구하고 일방적으로 전송되는 영리목적의 광고성 정보를 말함
(3) 콘텐츠 유출 방지 보안 솔루션
솔루션 | 설명 |
보안 USB | - 정보 유출 방지 등의 보안 기능을 갖춘 USB메모리 - 사용자 식별/인증, 데이터 암/복호화, 임의복제 방지, 분실 시 데이터 삭제 기능 |
데이터 유출 방지 (DLP; Data Loss Prevention) |
- 조직 내부의 중요 자료가 외부로 빠져나가는 것을 탐지하고 차단하는 솔루션 - 정보 유출 방지를 위해 정보의 흐름에 대한 모니터링과 실시간 차단 기능을 제공 |
디지털 저작권 관리 (DRM; Digital Right Management) |
- MP3, E-Book과 같은 디지털 저잘물에 대한 보호와 관리를 위한 솔루션 - 파일 자체에 암호를 걸어 권한 없는 사용자는 사용하지 못함 - 문서 보안 솔루션으로도 사용할 수 있고 문서를 저장할 때 암호화하여 저장하여 권한이 없는 사용자가 문서를 읽지 못하도록 함 |
3) 취약점 분석(중요도 낮음)
(1) 취약점 분석의 개념
- 자산이 가지고 있는 보안상의 결점 또는 취약한 속성을 파악하여 위험을 낮추는 활동
(2) 취약점 분석의 대상
- 환경 및 시설 : 문, 창문 등 물리적 보호 결여, 불안정안 전원 설비, 재해를 입기 쉬운 입지 조건 등 -> 도난, 정전/오작동, 천재지변 발생으로 인한 기능고장 등
- 하드웨어 : 온/습도의 변화, 기억매체의 유지보수 부족 등 -> 고장/오작동, 데이터 유실 증
- 소프트웨어 : 명세서의 미준비, 부적절한 패스워드, 백업 부족 등 -> 소프트웨어 장애, 정보유출, 데이터 소실 등
(3) 취약점 분석 절차
- 자산 조사 및 분석 : 어떤 자산에 대해 수행할지 선정
- 진단 대상 선정 : 자산규모가 작으면 전수 조사 수행, 자산규모가 크면 샘플링 수행
- 제약사항 확인 : 진단 수행하는 시간의 제약사항 확인 및 일정분배
- 진단 수행 : 체크리스트를 이용하여 취약점 진단 수행[기술적 관점(수동,자동진단), 관리적관점(담당자 인터뷰), 물리적 관점(내부 실사)]
- 결과 분석/보고서 작성 : 점검 항목에 대해 취약점 점수 지정 및 결과 값 산출, 결과 분석 및 보고서 작성 통해 진단 완료
3. SW 개발 보안 테스트와 결함 관리
1) 소프트웨어 개발 보안 테스트의 개념
- 소프트웨어 보안 요구사항이 반영되어 있음을 보증하고, 취약점을 발견하고 개선하여 안전한 소프트웨어를 개발하기 위한 활동
2) 소프트웨어 개발 보안 테스트의 유형
(1) 정적 분석 : SW를 실행하지 않고 보안 약점 분석, SW 개발 단계에서 주로 사용
- 취약점 초기 발견으로 수정 비용 절감
- 컴포넌트 간 발생할 수 있는 통합된 취약점 발견에 제한적
- 설계/구조 관점의 취약점은 식별 가능
(2) 동적 분석 : SW를 실행 환경에서 보안 약점 분석, SW 시험 단계에서 주로 사용
- 소스 코드 필요 없음
- 정확도와 커버리지 향상
- 구조 관점의 보안 약점은 식별 불가
4. 비즈니스 연속성 계획(BCP)
1) 비즈니스 연속성 계획(BCP; Business Continuity Plan)의 개념
- 각종 재해, 장애, 재난으로부터 위기관리를 기반으로 재해복구, 업무복구 및 재개, 비상계획 등을 통해 비즈니스 연속성을 보장하는 체계
- 비즈니스 연속성 계획을 위한 비즈니스 영향 평가(BIA)가 선행 되어야 함
2) 비즈니스 연속성 계획 관련 주요 용어
주요 용어 | 설명 |
BIA(Business Impact Analysis) |
장애나 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석 |
RTO(Recovery Time Objective) |
- 업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간 - 재해 시 복구 목표 시간의 선정 |
RPO(Recovery Point Objective) |
- 업무중단 시점부터 데이터가 복구되어 다시 정상가동 될 때 데이터의 손실 허용 시점 - 재해 시 복구 목표 지점의 선정 |
DRP(Disaster Recovery Plan) |
재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획 |
DRS(Disaster Recovery System) |
재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보하여 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터 |
유형 | 설명 |
Mirror Site | - 주 센터와 데이터복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해복구 센터 - 재해 발생 시 복구까지의 소요 시간(RTO)은 즉시(이론적으로 0) |
Hot Site | - 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태를 유지하고 있는 재해 복구 센터 - 재해 발생 시 복구까지의 소요시간은 4시간 이내 |
Warm Site | - Hot Site와 유사하나 재해복구센터에 주 센터와 동일한 수준의 자원을 보유하는 대신 중요성이 높은 자원만 부분적으로 재해복구센터에 보유하고 있는 센터 - 데이터 백업 주기가 수 시간 ~ 1일 - 재해 발생 시 복구까지의 소요 시간은 수일 ~ 수주 |
Cold Site | - 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요 자원을 조달하여 복구 할 수 있는 재해복구센터 - 재해 발생 시 복구까지의 소요시간은 수주 ~ 주개월 - 구축 비용이 저렴하나 복구 소요 시간이 길고 신뢰성이 낮음 |
5. 보안용어
1) 보안 공격 관련 용어
(1) 부 채널 공격(Side Channel Attack)
- 암호화 알고리즘의 실행 시기의 전력 소비, 전자기파방사 등의 물리적 특성을 측정하여 암호 키 등 내부 비밀 정보를 부 채널에서 획득하는 공격기법
(2) 드라이브 바이 다운로드(Drive By Download)
- 악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격기법
(3) 워터링홀(Watering Hole)
- 특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격기법
(4) 비즈니스 스캠(SCAM)
- 기업 이메일 계정을 도용하여 무역 거래 대금 등을 가로채는 사이버 범죄
(5) 하트 블리드(HeartBleed)
- OpenSSL 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메세지를 처리할 때 데이터 길이에 대한 검증을 수행하지 않는 취약점을 이용하여 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있도록 하는 취약점
(6) 크라임 웨어(Crimeware)
- 중요한 금융정보 또는 인증정보를 탈취하거나 유출을 유도하여 금전적인 이익 등의 범죄행위 목적으로 하는 악성코드
(7) 토르 네트워크(Tor Network)
- 네트워크 경로를 알 수 없도록 암호화 기법을 사용하여 데이터를 전송하며 익명으로 인터넷을 사용할 수 있는 가상 네트워크
(8) MITM 공격(Man in the Middle)
- 네트워크 통신을 조작하여 통신 내용을 도청 및 조작하는 공격기법
- 통신을 연결하는 두 사람 사이 중간에 침입하여 두 사람의 정보를 탈취하는 중간자 공격
(9) DNS 스푸핑 공격(Spoofing)
- 공격 대상에게 전달 되는 DNS 응답(IP 주소)을 조작하거나 DNS 서버의 캐시(Cache) 정보를 조작하여 희생자가 의도하지 않은 주소로 접속하게 만드는 공격기법
- DNS 캐시 포이즈닝(Cache-Poisoning)이라고도 함
(10) 포트 스캐닝(Port Scanning)
- 공격자가 침입 전 대상 호스트에 어떤 포트(서비스)가 활성화 되어 있는지 확인하는 기법으로 침입 전 취약점을 분석하기 위한 사전 작업
(11) 디렉토리 리스닝(Directory Listing)
- 웹 애플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화되어 있을 경우, 공격자가 강제 브라우징을 통해서 서버 내의 모든 디렉토리 및 파일 목록을 볼 수 있는 취약점
(12) 리버스 쉘 공격(Reverse Shell)
- 타깃 서버가 클라이언트(공격자)로 접속해서 클라이언트가 타깃 서버의 쉘을 획득해서 공격하는 기법
(13) 익스플로잇(Exploit)
- 소프트웨어나 하드웨어의 버그 또는 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드 또는 그러한 행위
(14) 스턱스넷 공격(Stuxnet)
- 독일 지멘스사의 SCADA 시스템을 공격 목표로 제작된 악성코드로 원자력, 전기, 철강, 반도체, 화학 등 주요 산업 기반 시설의 제어 시스템에 침투해서 오작동을 일으키는 악성코드 공격기법
(15) 크리덴셜 스터핑(Credential Stuffing)
- 사용자 계정을 탈취해서 공격하는 유형 중 하나로, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출시키는 기법
(16) 스피어피싱(Spear Phising)
- 사회 공학의 한 기법으로 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도하여 사용자의 개인정보를 탈취하는 공격기법
(17) 스미싱(Smishing)
- SMS(문자메세지)와 Phising(피싱)의 합성어
- 문자메세지를 이용하여 신뢰할 수 있는 사람 또는 기업이 보낸 것처럼 가장 하여 개인 비밀정보를 요구하거나 휴대폰 소액 결제를 유도하는 피싱 공격(사이버 사기)
(18) 큐싱(Qshing)
- 큐알 코드(QR)와 피싱의 합성어
- 스마트폰을 이용하여 금융 업무를 처리하는 사용자에게 인증 등이 필요한 것처럼 속여 QR코드(Quick Response code)를 통해 악성 앱을 내려받도록 유도, 금융 정보 등을 빼내는 피싱 공격(사이버 사기)
- 최근 제로페이 확산에 따라 피해가 증가
(19) 봇넷(Botnet)
- 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태
(20) APT 공격(Advanced Persistent Threat)
- 특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격기법
- 특수목적의 조직이 하나의 표적에 대해 다양한 IT 기술을 이용하여 지속적으로 정보를 수집하고 취약점을 분석하여 피해를 주는 공격기법
(21) 공급망 공격(Supply Chain Attack)
- 소프트웨어 개발사의 네트워크에 침투하여 소스 코드의 수정 등을 통해 악의적인 코드를 삽입하거나 배포 서버에 접근하여 악의적인 파일로 변경하는 방식으로 사용자 PC에 소프트웨어를 설치 또는 업데이트 시에 자동적으로 감염되도록 하는 공격기법
(22) 제로데이 공격(Zero Day Attack)
- 보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 보안 공격기법
- 공격의 신속성을 의미하는 것으로, 일반적으로 컴퓨터에서 취약점이 발견되면 제작자나 개발자가 취약점을 보완하는 패치를 배포하고 사용자가 이를 다운받아 대처하지만 제로데이 공격은 대응책이 공표되기도 전에 공격이 이루어지기 때문에 대처 방법이 없음
(23) 바이러스(Virus)
- 사용자 컴퓨터(네트워크로 공유된 컴퓨터 포함) 내에서 프로그램이나 실행 가능한 부분을 변형해서 감염(Infect)시키는 프로그램
- 자신 또는 자신의 변형을 복사하는 프로그램으로 가장 큰 특성은 다른 네트워크의 컴퓨터로 스스로 전파되지는 않음
(24) 웜(Worm)
- 스스로를 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램
- 컴퓨터 바이러스와 비슷하지만, 바이러스가 다른 실행 프로그램에 기생하여 실행되는 데 반해 웜은 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않은 특징이 있음
(24) 악성 봇(Malicious Bot)
- 스스로 실행되지 못하고 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 혹은 코드
- 주로 취약점이나 백도어 등을 이용하여 전파되며, 스팸 메일 전송이나 분산 서비스 거부 공격(DDoS) 등에 악용
- 사용자들에게 잘 알여진 좀비PC는 악성 봇에 의해 감염된 PC를 뜻함
(25) 랜섬웨어(Ransomeware)
- 악성 코드의 한 종류로 감염된 시스템의 파일들(문서, 사진, 동영상 등)을 암호화하여 복호화할 수 없도록 하고, 피해자로 하여금 암호화된 파일을 인질처럼 잡고 몸값을 요구하는 악성 소프트웨어
- 현금이나 비트코인 등을 받고 복호화해주는 범죄행위에 이용되고 있음
(26) 이블 트윈(Evil Twin) 공격
- 무선 Wifi 피싱 기법으로 공격자는 합법적인 Wifi 제공자처럼 행세하며 노트북이나 휴대 전화로 핫스팟에 연결한 무선 사용자들의 정보를 탈취하는 무선 네트워크 공격기법
(27) 타이포스쿼팅(Typosquatting)
- 네티즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠트리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록하는 일로 URL 하이재킹이라고도 부름
(28) 사회공학(Social Engineering)
- 사람들의 심리와 행동 양식을 교모하게 이용해서 원하는 정보를 얻는 공격 기법
- ex) 상대방의 자만심이나 권한을 이용하는 공격 및 도청
2) 주요 시스템 보안 공격 기법
(1) 포맷 스트링 공격(Format String Attack)
- 포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격으로 외부로부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생하는 취약점 공격기법
- printf(argv[1])등 포맷 스트링을 인자로 하는 함수 사용시 포맷 스트링을 지정하지 않고 사용자 입력값을 통해 (argv[1]) 포맷 스트링이 지정된다면 공격자는 이를 조작하여 메모리 내용을 참조하거나 특정 영역의 값을 변경 가능
(2) 레이스 컨디션 공격(Race Condition Attack)
- 레이스 컨디션이란 둘 이상의 프로세스나 스레드가 공유자원을 동시에 접근할 때 접근 순서에 따라 비정상적인(원하지 않는) 결과가 발생하는 조건/상황을 말함
- 레이스 컨디션 공격은 실행되는 프로세스가 임시파일을 만드는 경우 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼어들어 임시파일을 심볼릭 링크하여 악의적인 행위를 수행하게 하는 공격기법
(3) 키로거 공격(Key Logger Attack)
- 컴퓨터 사용자의 키보드 움직임을 탐지해서 저장하고 ID나 패스워드, 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹공격
- 키보드 활동을 기록하는 것을 키로깅 또는 키스트로크 로깅이라함
(4) 루트킷(Rootkit)
- 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램 모음
3) 보안 공격 대응 관련 용어
(1) 보안 체계 및 모델
[1] CC(Common Criteria) : 정보기술의 보안 기능과 보증에 대한 평가 기준(등급), 정보보호 시스템의 보안 기능 요구사항과 평가를 위해 공통으로 제공되는 국제 평가 기준
[2] ISMS(Information Security Management System) : 조직의 주요 정보자산을 보호하기 위하여 정보보호 관리 절차와 과정을 체계적으로 수립하여 지속적으로 관리하고 운영하기 위한 종합적인 체계
[3] PIMS(Personal Information Management System) : 기업이 개인정보보호 활동을 체계적/지속적으로 수행하기 위해 필요한 보호조치 체계를 구축했는지 여부를 점검, 평가하여 기업에게 부여하는 인증제도
[4] PIA(Privacy Impact Assessment) : 개인정보를 활용하는 새로운 정보 시스템의 도입이나 개인정보 취급이 수반되는 기존 정보 시스템의 중대한 변경 시, 동 시스템의 구축/운영/변경 등이 프라이버시에 미치는 영향에 대하여 사전에 조사 및 예측 검토하여 개선 방안을 도출하는 체계적인 절차
[5] 사이버 킬체인(Cyber Kill Chain) : 록히드 마틴의 사이버 킬체인은 공격형 방위시스템으로 지능적, 지속적 사이버 공격에 대해 7단계 프로세스별 공격분석 및 대응을 체계화한 APT 공격 방어 분석 모델
(2) 취약점 식별
[1] OWASP Top 10 : 웹 애플리케이션 취약점 중 공격 빈도가 높으며, 보안상 큰 영향을 줄 수 있는 10가지 취약점에 대한 대응 방안을 제공하는 웹 보안 기술 가이드
[2] CVE (Common Vulnerabilities and Exposures) : 미국 비 영리회사인 MITRE 사에서 공개적으로 알려진 소프트웨어의 보안취약점을 표준화한 식별자 목록, 규칙: CVE - 연도 - 순서
[3] CWE (Common Weakness Enumeration) : 미국 비 영리회사인 MITRE 사가 중심이 되어 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록으로, 소스 코드 취약점을 정의한 데이터베이스,
소프트웨어 약점은 SDLC 과정에서 발생할 수 있기 때문에 설계, 아키텍처, 코드 단계 등에 대한 취약점 목록을 포함
(3) 기술 및 시스템
[1] 핑거프린팅(Finger Printing) : 멀티미디어 콘텐츠에 저작권 정보와 구매한 사용자 정보를 삽입하여 콘텐츠 불법 배포자에 대한 위치 추적이 가능한 기술(저작권 정보구매자 정보)
[2] 워터마킹(Water Marking) : 디지털 콘텐츠에 저작권자 정보를 삽입하여, 불법 복제 시 워터마크를 추출, 원소유자를 증명할 수 있는 콘텐츠 보호 기술
[3] 트러스트존(Trustzone) : ARM사에서 개발한 보안 기술로 프로세서 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 하드웨어 기반의 보안 기술
[4] 장착형 인증 모듈(PAM; Pluggable Authentication Module): 리눅스 시스템 내에서 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리
[5] 허니팟 (Honey pot) : 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템으로 일부러 허술하게 만들어서 해커에게 노출하는 유인시스템
[6] 이상금융거래탐지시스템(FDS; Fraud Detection System) :전자금융거래에 사용되는 단말기 정보, 접속 정보, 거래 정보 등을 종합적으로 분석하여 의심 거래를 탐지하고 이상 거래를 차단하는 시스템
[7] 사이버 위협정보 분석 공유 시스템(C-TAS; Cyber Threats Analysis System) : 사이버 위협정보를 체계적으로 수립해서 인터넷진흥원(KISA) 주관으로 관계 기관과 자동화된 정보공유를 할 수 있는 침해 예방 대응 시스템
[8] TKIP (Temporal Key Integrity Protocol) :임시 키 무결성 프로토콜, IEEE 802.11i 의 암호화 방식으로 초기 Wi-Fi 장비에서 널리 사용되었던 안전하지 않은 WEP(Wired Equivalent Privacy) 암호화 표준을 대체하기 위한 암호 프로토콜
'2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비) > 실기 9강 - 소프트웨어 개발 보안 구축' 카테고리의 다른 글
CHAPTER 04 - 단원종합문제 (0) | 2024.07.09 |
---|---|
CHAPTER 03 - 소프트웨어 개발 보안 구현(기출문제, 예상문제) (0) | 2024.07.08 |
CHAPTER 02 - 소프트웨어 개발 보안 구현(1) (0) | 2024.07.07 |
CHAPTER 01 - 소프트웨어 개발 보안 설계(예상문제) (0) | 2024.07.06 |
CHAPTER 01 - 소프트웨어 개발 보안 설계(기출문제) (0) | 2024.07.06 |