✅ 핵심 키워드
SW 개발 보안
- 소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동을 말한다.
시큐어코딩 가이드
- 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법이다.
보안 취약점(Vulnerability)
- 해킹 등 외부 공격으로 시스템의 보안정책을 침해하는 보안사고의 실제 원인이 되는 시스템상의 보안 허점이다.
보안 약점(Weakness)
- 보안 취약점의 근본적인 원인이 되는 SW의 결함, 실수, 버그 등의 오류를 뜻한다. 개발 단계의 보안 리스크이다.
기밀성(Confidenfally)
- 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성이다.
무결성(Integrity)
- 인가된 사용자에 대해서만 자원 수정이 가능하며 전송 중인 정보는 수정되지 않아야 하는 특성이다.
가용성(Availability)
- 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야 하는 특성이다.
✅ 24. 소프트웨어 개발 보안 설계
💡 소프트웨어 개발 보안 설계
- 소프트웨어를 개발할 때 보안 취약점을 최소화하는 방식으로 설계한다.
- 보안 위협과 취약점을 식별하고, 해결할 수 있는 보안 대책을 수립한다.
- 소프트웨어를 안전하게 개발하고, 보안 사고를 예방한다.
💡 기출
[단답형] 2020년 1회
공격자가 패킷의 출발지 주소나 포트를 임의로 변경해서 출발지와 목적지 주소를 동일하게 함으로써 공격 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법은 무엇인가?
- 랜드 어택(Land Attack)
[해설]
랜드 어택(Land Attack)
- 공격자가 자신의 IP 주소를 대상 컴퓨터의 IP 주소와 동일하게 만든 후, 목적지 포트와 출발지 포트에도 같은 값을 입력하는 공격 방법
- 대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 방법
- 과거에는 많이 사용되었으나, 현재는 대부분의 운영체제에서 방어 기능이 내장되어 있어서 성공하기 어렵다.
[단답형] 2020년 1회
RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년 로널드 라이베스트(Ronald Rivest)가 예전에 쓰이던 MD4를 대체하기 위해 고안된 128비트 암호화 해시 함수는 무엇인가?
- MD5
[해설]
MD5
- 해시 함수이다.
- 입력받은 임의의 길이의 메시지를 128비트의 고정된 길이의 해시값으로 출력한다.
- 데이터 무결성 검사, 비밀번호 저장, 디지털 서명 등 보안적인 요구사항이 있는 다양한 분야에서 사용된다.
[약술형] 2020년 4회
스니핑(Sniffing)에 대하여 서술하시오.
- 공격대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법이다.
[해설]
스니핑(Sniffing)
- 네트워크 상에서 데이터를 가로채어 볼 수 있는 공격 기술이다.
- 용자 아이디와 패스워드, 중요한 정보를 탈취하거나, 불법적인 정보 수집한다.
- 스니핑 방지를 위해서 암호화된 통신 방식을 사용하거나, 가상 사설망(VPN)을 사용한다.
[단답형] 2020년 2회
무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 프로토콜로 네트워크 계층(Network Layer)인 인터넷 프로토콜(IP)에서 보안성을 제공해 주는 표준화된 기술에 대해서 작성하시오
- IPSec, lnternet Protocol Security
[해설]
IPSec, lnternet Protocol Security
- 인터넷 프로토콜(IP)을 사용하는 네트워크에서 보안성을 제공하기 위한 프로토콜이다.
- 데이터의 기밀성, 무결성, 인증 등의 보안적 요구사항을 충족시키기 위한 프로토콜이다.
- 가상 사설망(VPN)에서 사용한다.
- 헤더와 페이로드를 암호화하고, 인증하는 과정을 거치며, 데이터를 안전하게 전송한다.
[약술형] 2020년 2회
SQL Injection이 무엇인지 서술하시오.
- 응용 프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스(DB)의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격기법이다.
[약술형] 2020년 4회
정보보안에서 가용성(Availability)에 대하여 서술하시오
- 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성이다.
[단답형] 2021년 1회
시스템 객체의 접근을 개인 또는 그룹의 식별자에 기반을 둔 방법으로, 어떤 종류의 접근 권한을 가진 사용자가 다른 사용자에 자신의 판단에 따라 권한을 허용하는 접근제어 방식은?
- 임의적 접근통제(DAC, Discressionary Access Control)
[해설]
- 임의적 접근통제(DAC, Discressionary Access Control): 사용자나 그룹에 의해 자원에 대한 접근 권한이 설정되는 접근 통제 방식
- 강제적 접근통제(MAC, Mandatory Access Control): 시스템이 자원에 대한 접근 권한을 강제로 설정하는 접근 통제 방식
- 역할 기반 접근통제(RBAC, Role Based Access Control): 사용자의 역할에 따라 자원에 대한 접근 권한이 부여되는 접근 통제 방식
[단답형] 2021년 1회
괄호 안에 공통으로 들어갈 공격기법을 적으시오.
- (세션 하이재킹(Session Hijacking))은/는 세션을 가로채다'라는 의미로 정상적 연결을 RST패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결한다.
- (세션 하이재킹(Session Hijacking))은/는 세션 관리 취약점을 이용한 공격 기법이다.
[해설]
세션 하이재킹(Session Hijacking)
- 네트워크상에서 데이터를 주고받을 때, 가로채서 해커가 공격자가 원하는 대로 조작하는 기술이다.
- 사용자 인증 후 세션이 생성된 후 세션을 탈취하여 해당 세션을 통해 공격자가 악의적인 행동을 한다.
- 암호화 통신 프로토콜의 사용, 타임스탬프를 이용한 인증, HTTPOnly 플래그 사용, SSL 인증서를 이용한 인증 등의 방법을 사용한다.
[단답형] 2021년 3회
IBM에서 개발한 블록 암호화 알고리즘으로 블록의 크기는 64비트, 키 길이는 56비트, 16라운드 암호화 알고리즘은 무엇인가?
- DES, Data Encryption Standard
[단답형] 2021년 2회
미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘으로 DES의 성능문제를 극복하기 위해 개발된 128비트의 블록 크기를 갖는 보안 알고리즘은 무엇인가?
- AES, Advanced Encryption Standard
[해설]
DES, Data Encryption Standard
- 대칭키 암호화 알고리즘이다.
- 블록 암호화 방식으로, 64비트 블록 크기를 가지며, 블록 단위로 데이터를 처리하여 암호화하거나 복호화한다.
1977년 미국 국립표준기술연구소(NBS)에서 제정하였으며, 현재는 안전성에 대한 우려로 사용하지 않는다.
AES, Advanced Encryption Standard
- 미국 표준기술연구소(NIST)에서 채택한 대칭키 암호화 알고리즘이다.
- 128비트 블록 크기를 가지며, 128비트, 192비트, 256비트의 키 길이를 지원한다.
- 가장 많이 사용되고 있는 암호화 알고리즘이다.
[단답형] 2021년 3회
아래는 3A에 대한 설명이다. 각각이 설명하는 3A의 구성요소를 쓰시오
- 인증(Authentication):: 접근을 시도하는 가입자 또는 단말에 대한 식별 및 검증
- 권한부여(Authorization): 검증된 가입자나 단말에게 어떤 수준의 권한과 서비스를 허용
- 계정관리(Accounting): 리소스 사용에 대한 정보를 수집하고 관리하는 서비스
[단답형] 2021년 3회
특정 호스트의 MAC 주소를 자신의 MAC 주소로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 가로채는 공격기법은 (ARP) Spoofing이다.
[해설]
ARP Spoofing
- ARP 프로토콜을 악용하여 공격자가 자신의 MAC 주소를 다른 주소로 위장하여 타깃 머신에 전송하는 공격 기법이다.
- 공격자는 네트워크 상에서 중간자 공격을 수행하여 패킷을 가로채고 조작한다.
[단답형] 2022년 2회
다음은 블록 암호화 알고리즘에 대한 설명이다. 괄호 안에 들어갈 암호화 알고리즘을 쓰시오.
- Xuejia Lai와 James Messey가 초기에 제시한 블록 암호화 알고리즘으로 PES, IPES를 거쳐 (IDEA, International Data Encryption Algorithm)로 명명되었다. (IDEA, International Data Encryption Algorithm)은/는 128bit의 키를 사용하여 64bit의 평문을 8라운드에 거쳐 64bit의 암호문을 만든다.
- (Skipjack)은/는 미 국가안보국(NSA, National Security Agency)에서 개발한 Clipper 칩에 내장된 블록 알고리즘으로, 소프트웨어로 구현되는 것을 막고자 Fortezza Card에 칩 형태로 구현되었으며 전화기와 같이 음성을 암호화하는 데 주로 사용된다. 64비트의 입출력, 80비트의 키, 총 32라운드를 가진다.
[해설]
IDEA, International Data Encryption Algorithm
- 대칭키 암호화 알고리즘이다.
- 128비트 블록 단위로 암호화를 수행하며, 128비트 또는 192비트 또는 256비트의 키를 사용한다.
Skipjack
- 64비트 블록 암호화 기법을 사용하며, 80비트의 키를 이용해 암호화와 복호화를 수행한다.
- 특허 문제로 인해 현재는 사용되지 않는 알고리즘이다.
[단답형] 2022년 3회
괄호 안에 들어갈 용어를 쓰시오.
- (사회공학 공격기법(Social Engineering))은/는 사람들의 심리와 행동 양식을 교묘하게 이용해서 원하는 정보를 얻는 공격기법이다.
- (다크 데이터(Dark Data))은/는 정보를 수집한 후, 저장만 하고 분석에 활용하고 있지 않은 다량의 데이터이다.
[단답형] 2022년 3회
다음 주요 IT 기술에 대한 용어 설명이다. 괄호 안에 들어갈 용어를 보기에서 골라서 쓰시오. [트러스트존(Trustzone), 타이포스쿼팅(Typosquatting), 키로거 공격(Key Logger Attack), 레이스 컨디션 공격(Race Condition Attack), APT, 공급망 공격(Supply Chain Attack), 악성 봇(Malicious Bot), 사이버 킬체인(Cyber Kill Chain), 랜섬웨어(Ransomware)]
- (트러스트존(Trustzone))은/는 프로세서(Processor) 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM 사에서 개발한 보안 기술로 프로세서(Processor) 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 하드웨어 기반의 보안 기술이다.
- (타이포스쿼팅(Typosquatting))은/는 네티즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 이와 유사한 유명 도메인을 미리 등록하는 일로, URL 하이재킹(Hijacking)이라고도 부른다.
[단답형] 2022년 3회
다음에서 설명하는 용어를 쓰시오.
- 커버로스(Kerberos)에서 사용되는 기술로 한 번의 인증 과정으로 여러 컴퓨터상의 자원을 이용할 수 있도록 해주는 인증 기술이다.
- SSO, Single Sign-On
✅ 25. 소프트웨어 개발 보안 구현
💡 SW 개발 보안 구현
- 소프트웨어 보안 위협 분석 및 평가를 수행하여 보안 취약점을 파악하고 보완한다.
- 보안 정책을 수립하고 이를 개발 생명주기에 적용하는 것이 필요하며, 보안 교육과 훈련을 통해 보안 인식을 향상한다.
- 적극적인 보안 테스트와 코드 리뷰를 수행하고 보안 감사를 진행하여 보안성을 강화한다.
💡 시스템 보안 구현
- 시스템에 있는 취약점을 분석하고 대응책을 마련한다.
- 스템 로그를 주기적으로 모니터링하여, 보안 위반 사례를 조기에 발견하고 대처한다.
- 보안 업그레이드를 수행하여, 취약점을 제거하고 새로운 보안 위협을 대비한다.
💡 SW 개발 보안 테스트와 결함 관리
- 소프트웨어의 보안 취약점을 탐지하고 해결한다.
- 테스트 유형으로는 정적 테스트와 동적 테스트가 있으며, 보안 취약점 분석, 페네트레이션 테스트 등을 수행한다.
💡 비즈니스 연속성 계획(BCP)
- 기업이 재해, 사고, 장애 등의 상황에서도 업무 연속성을 유지하기 위한 계획이다.
- 재해 발생 시의 대응 방안, 비상 연락처 및 경로, 비상 대처조직, 업무 연속성을 위한 대안적 업무 방법 등을 포함한다.
- 기업의 핵심 시스템과 데이터에 대한 백업 및 복원 방안, 비상 대응 절차 등을 구체적으로 포함한다.
💡 보안 용어
- 암호화(Encryption): 데이터를 안전하게 보호하기 위해 알고리즘을 사용하여 암호화한다.
- 취약점(Vulnerability): 시스템 또는 네트워크에서 보안 위협이 발생할 수 있는 약점이나 결함이다.
- 침해(Breach): 인가되지 않은 사용자가 시스템 또는 데이터에 접근하여 개인 정보를 노출하거나 훼손한다.
- 인증(Authentication): 사용자가 자신이 주장하는 신원을 증명한다.
- 인가(Authorization): 인증된 사용자가 특정한 자원에 접근할 수 있는 권한을 가지고 있는지 확인한다.
- 로그(Log): 시스템 또는 네트워크에서 발생한 모든 이벤트를 기록하한다.
- 키(Key): 암호화 및 복호화를 수행하는 알고리즘에서 사용되는 값이다.
- 위협(Threat): 시스템이나 데이터를 손상한다.
- 적발(Detection): 보안 위협을 검출하고 통지한다.
- 방화벽(Firewall): 네트워크와 외부 간의 연결을 제어하여 불법적인 액세스를 방지한다.
- 보안 감사(Security Audit): 정보 시스템의 보안 상태를 검토하고 위협 및 취약점을 발견한다.
- 접근 제어(Access Control): 인가되지 않은 사용자의 접근을 제한하기 위해 시스템 또는 자원에 대한 권한을 관리한다.
- 악성 코드(Malware): 컴퓨터 시스템이나 네트워크를 감염시키기 위해 설계된 악의적인 소프트웨어이다.
💡 기출
[단답형] 2020년 2회
정보시스템 운영 중 서버가 다운되거나 자연재해나 시스템 장애 등의 이유로 고객에게 서비스가 불가능한 경우가 종종 발생한다. 이와 같은 상황에서 비상사태 또는 업무 중단 시점부터 업무가 복구되어 다시 정상 가동될 때까지의 시간을 의미하는 용어가 무엇인지 쓰시오.
- 재해 복구 시간(RTO, Recovery Time Objective)
[해설]
재해 복구 시간(RTO, Recovery Time Objective)
- 재해 발생 후 시스템이나 비즈니스 프로세스 등을 정상적으로 복구하는 데 걸리는 시간이다.
- 비즈니스 연속성 계획(BCP)에서 중요한 지표이다.
- 재해 발생 시 시스템 복구 시간을 계획하는 데 사용한다.
- 최소한으로 설정한다.
[단답형] 2022년 1회
다음은 분석 도구에 대한 설명이다. 각 항목에 해당하는 도구를 보기에서 골라서 쓰시오. (Static Analysis, Running Analysis, Requirements Analysis, Dynamic Analysis, React Analysis)
- 정적 분석(Slalic Analysis): 소프트웨어의 코드를 분석하여 버그, 취약점 및 디자인 문제를 찾는 분석 방법
- 동적 분석(Dynamic Analysis): 소프트웨어를 실행하여 프로그램의 동작을 모니터링하고 버그 및 취약점을 발견하는 분석 방법
[단답형] 2022년 1회
정보보호관리체계의 영문 약자는 무엇인가?
- ISMS, Information Security Management System
[해설]
정보보호관리체계(ISMS, Information Security Management System)
- 정보보호를 위한 체계적이고 지속적인 접근 방법을 제공하는 경영 체제
- 정보 자산의 기밀성, 무결성, 가용성을 보호하고 위협으로부터 예방하는 프레임워크
- 국제 표준인 ISO/IEC 27001을 기반으로 구축한다.
- 정보 보호를 위한 정책, 절차, 기술, 인력 등을 포함한다.
[단답형] 2022년 1회
임시 키 무결성 프로토콜의 약자를 쓰시오.
- TKIP, Temporal Key Inlegrity Prolocol
[해설]
임시 키 무결성 프로토콜(TKIP, Temporal Key Inlegrity Prolocol)
- 무선 네트워크에서 사용되는 암호화 프로토콜
- WEP의 보안 취약점을 보완한다.
- 패킷마다 임시 키를 생성한다.
- 현재는 보안성이 취약하다는 이유로 더 이상 권장되지 않으며, AES 암호화 프로토콜을 사용한다.
[단답형] 2022년 1회
공격대상이 방문할 가능성이 있는 합법적 웹사이트를 미리 감염시켜 놓고, 피해자가 방문했을 때 피해자의 컴퓨터에 악성 프로그램을 배포하는 공격기법을 보기에서 골라서 쓰시오. (Pharming, Drive by Download, Watering Hole, Business SCAM, Phishing, Cyber Kill Chain, Ransomware)
- 워터링 홀(Watering Hole)
[해설]
- 파밍(Pharming): 악성 코드를 사용하여 DNS 서버를 위조하거나 변조하여 사용자를 피싱 사이트로 유도한다.
- 드라이브 바이 다운로드(Drive-by Download): 웹사이트에 삽입된 스크립트를 통해 악성 코드를 자동으로 다운로드한다.
- 비즈니스 스캠(Business SCAM): 사업자들을 대상이다.
- 피싱(Phishing): 사기 이메일을 통해 사용자의 개인정보를 탈취한다.
- 사이버 킬체인(Cyber Kill Chain): 사이버 공격 과정을 7단계로 나누어 분석하고 대응하는 프레임워크이다.
- 랜섬웨어(Ransomware): 파일을 암호화하여 복원키를 요구하는 악성 소프트웨어이다.
[단답형] 2022년 2회
괄호 안에 공통으로 들어갈 용어를 쓰시오.
- 여러 공중 인터넷망을 하나의 사설망처럼 사용할 수 있는 기술로 공중망과 사설망의 중간단계이고 방식으로는 SSL 방식과 IPSec 방식이 있다.
- SSL (VPN, Virtual Private Network)은/는 4 계층에서 소프트웨어적으로 동작하므로 별도의 장치가 필요 없으며 가격이 저렴하다.
- IPSec (VPN, Virtual Private Network)은/는 3 계층에서 동작하므로 IP 헤더를 조작해야 하므로 별도의 하드웨어 장치가 필요하나 보안성이 뛰어나다.
[해설]
VPN, Virtual Private Network
- 인터넷을 통해 원격지와 안전하게 통신하기 위해 가상의 사설 네트워크를 구성한다.
- 가상의 터널을 통해 데이터를 암호화하고 전송하므로 보안성이 높다.
- 인터넷을 통해 연결되므로 지리적 제약이 없어 원격지에서도 내부망에 접속이 가능하다.
[단답형] 2022년 3회
다음에서 설명하는 보안 장비는 무엇인가?
- 다양한 보안 장비와 서버, 네트워크 장비 등으로부터 보안 로그와 이벤트 정보를 수집한 후 정보 간의 연관성을 분석하여 위협 상황을 인지하고, 침해사고에 신속하게 대응하는 보안 관제 솔루션(solution)이다. 특히, 기업에서 생성되는 테라바이트(terabyte)급의 정형 · 비정형 데이터와 빅데이터 기반의 로그 분석을 통하여 보안의 위협 징후를 빠르게 판단 · 대응할 수 있도록 해준다.
- SIEM, Secunity Information and Event Management
[해설]
- SEM, Security Event Management: 보안 이벤트를 수집, 분석하고, 관련된 정보를 통합하여 보안 위협을 탐지하고 대응하는 솔루션
- ESM, Enterprise Security Management: 기업의 전체적인 보안 상태를 관리하고, 위협을 탐지하고 대응하기 위한 종합적인 보안 관리 솔루션으로, SEM과 SIEM을 포함한다.