📌소프트웨어 개발 보안의 3대 요소
SW 개발 보안의 3대 요소는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)입니다. 이를 합쳐서 CIA 삼각형이라고도 부릅니다.
- 기밀성(Confidentiality) :
- 인가되지 않은 사용자나 시스템이 정보에 접근하지 못하도록 하는 보안 원칙입니다. 데이터 암호화, 접근 제어 등이 이에 해당합니다.
- 인가된 사용자만 정보 자산에 접근할 수 있다.
- 기밀성을 보장하기 위한 기술과 방법으로 방화벽과 암호가 사용될 수 있다.
- 무결성(Integrity) :
- 정보가 인가되지 않은 방식으로 변경되거나 손상되지 않도록 보호하는 원칙입니다. 데이터의 정확성, 일관성을 보장하며, 데이터 변조 방지를 위해 체크섬, 해시 함수 등이 사용됩니다.
- 시스템 내의 정보는 오직 인가된 사용자가 인가된 방법으로만 수정(접근)할 수 있다.
- 가용성(Availability):
- 인가된 사용자가 필요할 때 정보에 접근할 수 있도록 보장하는 원칙입니다. 시스템의 안정성, 성능을 유지하고, DDoS 공격 방지 등으로 보장합니다.
- 사용자가 필요할 때 데이터에 접근할 수 있는 능력을 말한다.
📌 서비스 공격
서비스 공격은 네트워크나 시스템에서 제공하는 서비스를 방해하거나 중단시키기 위한 사이버 공격입니다.
주로 웹사이트나 서버, 네트워크 장비 등에 과도한 트래픽이나 잘못된 요청을 보내 시스템의 자원을 고갈시키고, 정상적인 사용자가 서비스를 이용하지 못하게 하는 것을 목적으로 합니다. 즉, 가용성을 해치는 보안 공격입니다.
서비스 공격의 대표적인 유형으로는 DoS (Denial of Service, 서비스 거부 공격)와 DDoS (Distributed Denial of Service, 분산 서비스 거부 공격)가 있습니다.
이 두 공격 유형은 모두 소프트웨어 개발 보안의 3대 요소 중 하나인 서비스의 가용성을 방해하지만,
DoS는 단일 공격자, DDoS는 다수의 공격자가 동시에 공격을 수행한다는 차이가 있습니다.
DDoS가 더 강력하고 방어하기 어렵습니다.
- DoS: 공격자가 단일 시스템에서 직접 공격을 수행합니다.
- DDoS: 여러 공격 시스템(봇넷)을 사용하여 동시에 공격을 수행함으로써 더 큰 영향을 미칩니다.
1️⃣ DoS (Denial of Service, 서비스 거부 공격)
DoS 공격은 특정 서버나 네트워크에 과도한 요청을 보내 시스템의 자원을 고갈시키고, 정상적인 서비스가 불가능하게 만드는 공격입니다.
이 공격의 주요 목적은 서버나 네트워크의 가용성을 떨어뜨려 정상 사용자들이 서비스를 이용하지 못하게 하는 것입니다.
- 특징 :
하나의 공격 주체가 공격을 수행합니다. - 공격 방식 :
- 시스템에 비정상적인 양의 트래픽을 보내서 시스템 자원을 소모하게 만들어 다운되거나 응답 불능 상태가 되도록 합니다.
- 대량의 패킷을 서버로 보내서 과부하를 일으키는 경우 - 예시 :
- Smurf Attack, SYN 플러딩, UDP 플러딩, Ping 플러딩, Ping of Death, Teardrop Attack, Land Attack
- 1. 랜드 어택 (Land Attack) :
출발지 IP와 목적지 IP를 동일하게 설정한 패킷을 서버로 보내는 방식입니다. 공격 대상 서버는 자신에게 응답을 계속 보내게 되어 자원이 소모되고, 결국 서버 가용성이 파괴됩니다. 방화벽에서 출발지와 목적지 IP가 동일한 패킷을 차단함으로써 이를 방어할 수 있습니다.
- 1. 랜드 어택 (Land Attack) :
- Smurf Attack, SYN 플러딩, UDP 플러딩, Ping 플러딩, Ping of Death, Teardrop Attack, Land Attack
2️⃣ DDoS (Distributed Denial of Service, 분산 서비스 거부 공격)
DDoS 공격은 여러 대의 시스템을 분산하여 동시에 특정 서버를 공격하는 방식입니다.
다수의 컴퓨터(보통 해킹된 봇넷 등)를 이용하여 대량의 트래픽을 특정 서버로 보내서 서비스 중단을 유도합니다.
DoS 공격의 분산형으로, 더 대규모의 공격이 가능해 방어가 어렵습니다.
- 특징:
여러 대의 시스템이 동시에 공격을 수행합니다.
공격자는 여러 대의 감염된 시스템(봇넷)을 사용하여 공격을 수행합니다
- 봇넷(Botnet) : 악성 프로그램에 감염된 다수의 컴퓨터들이 네트워크로 연결된 형태로, C&C 서버의 제어를 받아 공격자에게 다양한 명령을 수행합니다. 봇넷은 DDoS 공격, 스팸 메일 발송, 데이터 절도 등 다양한 악의적인 행위에 사용됩니다.
- 공격 방식:
- 감염된 다수의 장치들이 동시에 공격 대상 서버에 트래픽을 전송해 자원을 고갈시킵니다. 공격자는 여러 출처에서 트래픽을 발생시켜 방어 시스템을 우회할 수 있습니다.
- 수천 대의 봇이 동시에 서버에 접속하여 네트워크 대역폭을 소진시키는 경우. - 예시:
- 봇넷 공격: 수천 대의 봇이 동시에 서버에 접속하여 네트워크 대역폭을 소진시키고 서버가 정상적으로 요청을 처리할 수 없게 만듦.
📌 이 외의 대표적인 보안 공격 기법
1️⃣ 스니핑 (Sniffing)
네트워크상에 통과되는 패킷들의 내용을 엿보는 행위이다.
스니핑(Sniffing)은 네트워크에서 전송되는 데이터를 몰래 가로채는 보안 공격 기법으로, 공격자가 패킷 분석 도구를 사용해 민감한 정보를 탈취할 수 있습니다. 주로 비암호화된 네트워크에서 발생하며, 로그인 정보나 개인 데이터를 노출시킬 위험이 있습니다.
2️⃣ SQL 삽입 (SQL Injection)
응용 프로그램의 취약점을 이용해 악의적인 SQL 구문을 삽입, 실행하여, 데이터베이스에 접근하거나 데이터를 조작하는 공격 기법
웹프로그램에 SQL 구문을 삽입하여, 서버의 데이터베이스를 공격할 수 있는 공격방식
▼ [참고] 2024.10.14 - [코딩일기/자격증] - [정보처리기사] SQL Injection이란? | 정보처리기사 실기 기출문제 ▼
[정보처리기사] SQL Injection이란? | 정보처리기사 실기 기출문제
2020년 2회 정보처리기사 실기 기출문제문제보안의 취약점 중 하나인 SQL Injection이 무엇인지 서술하시오.정답- SQL Injection(인젝션) 은 응용 프로그램의 취약점을 이용해 악의적인 SQL 구문을 삽
august-jhy.tistory.com
3️⃣ 세션 하이재킹(Session Hijacking)
세션(Session)은 웹에서 사용자와 서버 간의 상태를 유지하기 위한 기술입니다. 서버는 사용자가 로그인하거나 특정 작업을 수행할 때 세션 ID를 생성하고, 이를 통해 사용자를 식별합니다.예를 들어, 로그인 후에도 사용자가 페이지를 이동하며 계속 인증된 상태를 유지하거나, 쇼핑몰에서 장바구니 내용을 저장하는 것이 세션을 통해 이루어집니다.
세션 하이재킹(Session Hijacking)은 사용자가 웹 서버나 애플리케이션과 통신하는 동안, 공격자가 세션 식별 정보를 가로채어 사용자의 세션을 탈취하는 공격 기법입니다. 공격자는 클라이언트와 서버 간의 세션을 가로채 권한을 탈취해 공격합니다. 이는 TCP 연결을 조작하거나 세션 관리의 취약점을 이용해 세션 ID를 탈취함으로써 이루어집니다. 예를 들어, 공격자는 네트워크에서 패킷을 스니핑하여 세션 정보를 가로채거나, 악성 스크립트를 통해 세션 ID를 탈취할 수 있습니다.
3️⃣ 스푸핑(Spoofing)
스푸핑(Spoofing)은 공격자가 신뢰할 수 있는 시스템이나 사용자로 위장하여 공격을 수행하는 기법입니다. 즉, ‘속임수 공격’이라고도 하며, 네트워크 보안에서 자주 등장하는 위협 요소 중 하나입니다.
🔎 IP 스푸핑 (IP Spoofing)
IP 자체의 보안 취약성을 악용한 것으로 공격자가 자신의 IP 주소를 변조하여 자신의 IP주소를 속여 공격 대상 시스템에 신뢰받는 IP처럼 가장하는 방식입니다. 주로 서비스 거부 공격(DoS)과 함께 사용되며, 네트워크 패킷을 가로채 세션을 중단시킬 수도 있습니다.
- 예시 공격 기법:
- Smurf Attack: 공격자가 네트워크 브로드캐스트 주소로 대량의 ICMP 패킷을 전송하여 특정 시스템을 마비시키는 공격.
- Man-in-the-Middle (MITM) 공격: 공격자가 클라이언트와 서버 간의 통신을 가로채는 방식.
- 방어 방법:
- 패킷 필터링을 통해 내부 네트워크에서 나가는 패킷이 내부 IP에서만 출발하도록 제한
- 종단 인증(End-Point Authentication) 적용
🔎 ARP 스푸핑 (ARP Spoofing)
ARP(Address Resolution Protocol) 메시지를 변조하여 통신 흐름을 조작하는 공격입니다. 공격자는 네트워크에서 특정 IP의 MAC 주소를 속여 자신을 신뢰할 수 있는 장치처럼 보이게 만듭니다. 이 공격을 통해 공격자는 데이터를 가로채거나, 세션 하이재킹(Session Hijacking)을 수행할 수 있습니다.
- 공격 원리:
- 공격자가 가짜 ARP 응답을 보내 공격 대상의 ARP 캐시 테이블을 변조
- 공격 대상은 정상적인 IP 주소를 사용하지만 공격자의 MAC 주소로 데이터를 전송
- 공격자는 트래픽을 감청하거나 변조 가능
🔎 DNS 스푸핑 (DNS Spoofing)
공격자가 DNS 응답을 변조하여 사용자를 악성 사이트로 유도하는 공격입니다. 피해자는 정상적인 도메인(URL)을 입력했지만, 실제로는 공격자가 설정한 피싱 사이트(가짜 사이트)로 접속하게 됩니다.
2020년 정보처리기사 실기 기출문제
문제
다음에 가장 부합하는 네트워크 공격 유형을 쓰시오.
- 출발지IP와 목적지 IP가 같은 패킷을 만들어 보내는 공격방법
- 수신자가 응답을 보낼 때, 목적지 주소가 자기 자신이므로 SYN 신호가 계속 자신의 서버를 돌게 되어 서버의 자원을 고갈 시켜 가용성을 파괴한다.
- 방화벽에서 출발지와 목적지가 같은 패킷은 모두 제거하여 대응한다.
- 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써 공격 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법
정답
랜드 어택 (Land Attack)
해설
랜드 어택 (Land Attack)은 특정 네트워크 보안 공격 기법으로, 다음과 같은 방식으로 작동합니다
1. 출발지 주소 위조 :
공격자는 패킷의 출발지 주소와 목적지 주소를 동일하게 설정합니다. 즉, 공격 대상의 IP 주소를 출발지IP와 목적지IP 주소 모두로 입력합니다.
2. 위조된 패킷 전송 :
이렇게 위조된 패킷을 공격 대상 시스템으로 전송합니다.
3. 시스템의 동작 마비 :
공격 대상 시스템은 수신한 패킷을 처리하는 과정에서 출발지와 목적지 주소가 동일하다는 것을 확인하고, 무한 루프에 빠지거나 처리 중 오류를 발생시킵니다. 이로 인해 시스템 자원이 소모되거나 동작이 마비되며, 결국 서비스 거부 상태 (Denial of Service, DoS)에 빠지게 됩니다.
4. 랜드 어택의 영향
- 성능 저하: 공격 대상 시스템의 CPU와 메모리 자원이 소모되며, 시스템의 처리 속도가 느려질 수 있습니
- 시스템 마비: 심각한 경우, 시스템이 완전히 멈추거나 응답하지 않게 되어, 서비스가 전반적으로 마비될 수 있습니다.
2020년 4회 정보처리기사 실기 기출문제
문제
스니핑(Sniffing)에 대하여 간략히 서술하시오.
정답
네트워크상에 통과되는 패킷들의 내용을 엿보는 행위이다.
해설
스니핑(Sniffing)은 네트워크 보안 공격 기법 중 하나로, 다음과 같은 방식으로 작동합니다.
1. 패킷 가로채기 :
공격자는 네트워크상에서 이동하는 데이터 패킷을 몰래 가로채기 위해 패킷 분석 도구(예: Wireshark)를 사용합니다.
2. 비인가된 데이터 엿보기 :
스니핑은 네트워크 트래픽을 엿보며, 특히 암호화되지 않은 데이터에서 민감한 정보를 추출하는 데 사용됩니다. 이는 비밀번호, 금융 정보 등 민감한 데이터를 탈취할 위험이 있습니다.
3. 스니핑의 영향
- 정보 유출 : 공격자가 비인가된 데이터에 접근해 개인정보나 인증 정보를 탈취할 수 있습니다.
2020년 4회 정보처리기사 실기 기출문제
문제
정보보안의 3요소 중 가용성에 대해서 서술하시오.
정답
인가된 사용자가 정보를 요구할 때 적시에 제공되어야 하는 원칙
해설
가용성(Availability)은 정보보안의 3요소 중 하나로, 인가된 사용자가 필요할 때 정보나 시스템에 접근할 수 있도록 보장하는 원칙입니다. 정보보안 3요소는 다음과 같습니다
정보보안 3원칙
- 기밀성(Confidentiality) :
- 인가된 사용자만 정보 자산에 접근할 수 있다.
- 무결성(Integrity) :
- 시스템 내의 정보는 오직 인가된 사용자가 인가된 방법으로만 수정할 수 있다.
- 가용성(Availability):
- 사용자가 필요할 때 데이터에 접근할 수 있는 능력을 말한다.
2021년 1회 정보처리기사 실기 기출문제
문제
다음 문장에서 공통으로 들어갈 보안 공격 기법을 적으시오
- ( )은/는 '세션을 가로채다'라는 의미로, 정상적인 연결을 RST 패킷을 통해 강제로 종료한 뒤 재연결 시 공격자가 연결을 가로채는 방식으로 이루어집니다.
- ( )은/는 세션 관리의 취약점을 악용하여 인증된 사용자와 서버 간의 세션을 탈취하거나 조작하는 공격 기법입니다.
정답
세션 하이재킹(Session Hijacking)
해설
세션 하이재킹(Session Hijacking)은 사용자가 웹 서버나 애플리케이션과 통신하는 동안, 공격자가 세션 식별 정보를 가로채어 사용자의 세션을 탈취하는 공격 기법입니다.
이를 통해 공격자는 사용자의 권한을 도용하거나 민감한 데이터를 탈취할 수 있습니다.
- '세션을 가로채다'라는 의미
- 공격자가 클라이언트와 서버 간의 정상적인 연결을 RST 패킷을 사용해 강제로 종료합니다.
- 이후, 재연결 과정을 조작해 클라이언트 대신 공격자가 서버와 연결되도록 합니다.
- 이는 TCP/IP 프로토콜에서 세션을 가로채는 대표적인 방법입니다.
- 세션 관리 취약점을 이용
- 세션 하이재킹은 주로 세션 관리의 취약점을 공격하는 방식으로 이루어집니다.
- 예를 들어, 세션 ID가 암호화되지 않았거나 HTTPS가 아닌 HTTP를 사용하는 경우, 공격자는 네트워크를 통해 세션 ID를 쉽게 탈취할 수 있습니다.
2021년 1회 정보처리기사 실기 기출문제
문제
괄호 안에 공통적으로 들어갈 공격 기법을 쓰시오
- ( )은/는 시스템 간 연결이 활성화된 상태, 즉 로그인된 상태를 가로채는 것을 뜻한다.
- ( )은/는 TCP의 고유한 취약점을 이용해 정상적인 접속을 빼앗는 방법이다. 서버와 클라이언트 통신 시 TCP의 시퀀스 넘버를 제어하는 데 발생하는 문제를 공격한다. TCP는 클라이언트와 서버 간 통신을 할 때 패킷의 연속성을 보장하기 위해 각각 시퀀스 넘버를 사용한다. 이 시퀀스 넘버가 잘못되면 이를 바로잡기 위한 작업을 하는데, ( )은/는 서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 위조해서 연결된 세션에 잠시 혼한을 준 뒤 자신이 끼어들어 가는 방식이다.
정답
세션 하이재킹(Session Hijacking)
해설
세션 하이재킹(Session Hijacking)은 시스템 간의 연결이 활성화된 상태, 즉 클라이언트가 서버에 로그인된 세션을 공격자가 가로채는 공격 기법입니다. 이 공격은 TCP 프로토콜의 고유한 취약점을 악용하며, TCP 통신 시 사용되는 시퀀스 넘버를 조작해 이루어집니다. 서버와 클라이언트 간의 패킷 흐름에서 시퀀스 넘버를 위조하여 정상적인 연결을 빼앗거나 공격자가 중간에 끼어들어 통신 내용을 가로채거나 수정할 수 있습니다. 이를 통해 공격자는 인증된 세션에서 권한을 탈취하거나 민감한 데이터를 탈취할 수 있습니다.
이 기법은 TCP의 설계적 한계와 초기 설정값의 예측 가능성을 이용하므로, 이를 방지하기 위해 암호화된 통신(TLS/SSL) 사용, 강력한 세션 관리, 그리고 난수화된 시퀀스 넘버를 적용하는 것이 중요합니다.
2021년 3회 정보처리기사 실기 기출문제
문제
다음은 특정 보안위협에 대한 설명이다. 괄호에 들어갈 알맞은 답을 쓰시오
- (__________) 스푸핑은 MAC 주소를 속여 랜에서의 통신 흐름을 왜곡시키는 공격이다. 공격 대상 컴퓨터와 서버 사이의 트래픽을 공격자의 컴퓨터로 우회시켜 패스워드 정보 등 원하는 정보를 획득할 수 있다
- (__________) 스푸핑은 근거리 통신망 하에서 (__________) 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다. 이 공격은 데이터 링크 상의 프로토콜인 (__________) 를 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격이다.
정답
ARP
해설
이 문제는 네트워크 보안 공격 기법 중 ARP 스푸핑(ARP Spoofing) 에 대한 설명입니다.
ARP 스푸핑은 MAC 주소를 속여 LAN(근거리 통신망)에서의 통신 흐름을 왜곡하는 공격입니다. 공격자는 가짜 ARP 응답을 전송하여 특정 IP 주소에 대한 MAC 주소를 자신의 MAC 주소로 속이고, 이를 통해 피해자의 데이터 패킷을 가로채거나 조작할 수 있습니다. 이러한 방식으로 공격자는 중간자 공격(Man-in-the-Middle, MITM)을 수행하여 로그인 정보, 세션 쿠키 등의 민감한 데이터를 탈취할 수 있습니다.
이 공격은 ARP(Address Resolution Protocol) 를 이용하기 때문에 주로 같은 네트워크 내에서 발생하며, 스위치 환경에서도 보안 설정이 취약할 경우 영향을 받을 수 있습니다. 이를 방지하기 위해서는 정적 ARP 테이블 설정, ARP 감시 기능(DAI, Dynamic ARP Inspection), VPN 사용 등의 보안 조치가 필요합니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'코딩일기 > 자격증' 카테고리의 다른 글
[정보처리기사] ] 애플리케이션 테스트 유형 | V-모델 | 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트 (0) | 2024.07.29 |
---|---|
[정보처리기사] 모듈의 결합도(Coupling)와 응집도(Cohesion) | 정보처리기사 기출문제 (0) | 2024.07.26 |
[정보처리기사] 데이터베이스 키의 종류와 개념 (0) | 2024.07.26 |
[정보처리기사] UML 다이어그램 | 구조적 다이어그램, 행위적 다이어그램 | 정보처리기사 실기 기출문제 (1) | 2024.07.24 |
[정보처리기사] 화이트박스 테스트와 블랙박스 테스트 | 애플리케이션 테스트 유형 (1) | 2024.07.22 |