정보처리기사 · SQL 5분 읽기

정보보안 3요소와 웹 취약점: 기밀성·무결성·가용성·SQLi·XSS·CSRF

도청, 데이터 변조, 디도스(DDoS) 공격은 각각 어떤 보안 속성을 침해할까요? 정보보안 3요소(CIA)와 대표 웹 취약점(SQL 인젝션·XSS·CSRF), 암호화 기술을 비교합니다.

이 글에서 익힐 것보안 침해 사례에 대응하는 정보보안 3요소와 웹 공격 유형·방어 대책을 정확히 연결하기개념 설명 → 핵심 용어

보안 3요소·취약점 카드 8장

핵심 짚어보기

정보보안 3요소(CIA): 누가 읽었나(기밀성), 바뀌었나(무결성), 멈췄나(가용성)

기밀성(Confidentiality)은 인가된 사용자에게만 정보 열람을 허용하는 속성입니다. 패킷 도청(스니핑)이나 개인정보 유출은 기밀성 침해이며, 암호화(Encryption)와 접근 통제로 보호합니다.

무결성(Integrity)은 인가되지 않은 방법으로 데이터가 위조·변조되지 않도록 보장하는 속성입니다. 송금 금액 변조가 대표적인 침해 사례이며 해시값(SHA-256 등) 비교와 전자서명으로 검증합니다. 가용성(Availability)은 권한 있는 사용자가 필요할 때 언제든 서비스를 이용할 수 있는 속성으로, DDoS 공격이나 서버 다운에 의해 침해되며 이중화(Redundancy)와 백업으로 대비합니다.

웹 3대 취약점 구별: SQL 인젝션 vs XSS vs CSRF

SQL 인젝션(SQL Injection)은 로그인 창이나 검색창에 악의적인 SQL 구문(' OR '1'='1 등)을 입력해 데이터베이스 인증을 우회하거나 테이블 데이터를 유출하는 공격입니다. 사용자 입력값이 SQL 명령어 구조로 해석되지 않도록 Prepared Statement(바인드 변수)를 사용해 방어합니다.

XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)는 이름이 비슷해 자주 섞여 출제됩니다. XSS는 공격자가 게시글 등에 악성 스크립트(<script>)를 심어 두어 '글을 읽는 피해자의 브라우저'에서 스크립트가 실행되게 하는 공격이고, CSRF는 이미 로그인된 피해자의 세션 권한을 도용해 피해자 모르게 서버로 위조된 요청(비밀번호 변경·송금 등)을 보내게 하는 공격입니다.

대칭키·공개키 암호화와 일방향 해시 함수의 차이

양방향 암호화는 복호화가 가능한 방식입니다. AES·SEED·ARIA 같은 대칭키(비밀키) 암호화는 암호화와 복호화에 같은 키를 써서 속도가 빠르지만 키 전달 문제가 있고, RSA 같은 공개키(비대칭키) 암호화는 공개키로 암호화하고 개인키로 복호화해 키 교환이 안전하지만 연산이 상대적으로 느립니다.

반면 해시 함수(Hash Function, 예: SHA-256)는 복호화 키가 없는 일방향 함수입니다. 임의 길이 입력을 고정 길이의 해시값(다이제스트)으로 축약하며, 역산이 불가능한 일방향성과 서로 다른 입력이 같은 해시값을 내기 어렵게 하는 충돌 저항성을 이용해 비밀번호 저장과 파일 무결성 검증에 사용합니다.

네트워크 계층 장비와 ARP 프로토콜

OSI 7계층 중 3계층(네트워크 계층)은 논리적 주소인 IP 주소를 기반으로 최적 경로를 찾는 라우팅(Routing)을 수행하며 대표 장비는 라우터(Router)입니다.

실제 로컬 네트워크에서 프레임을 전달하려면 IP 주소에 대응하는 물리적 하드웨어 주소(MAC 주소)를 알아야 하는데, 이때 IP 주소를 MAC 주소로 변환해 주는 프로토콜이 ARP(Address Resolution Protocol)입니다.

한눈에 정리

웹 취약점 3종과 암호화·해시 기술 핵심 비교

웹 취약점 3종과 암호화·해시 기술 핵심 비교
구분공격/기술 원리핵심 피해 대상대표 방어/특징
SQL 인젝션입력창에 악의적 SQL 구문 주입데이터베이스(DB) 서버Prepared Statement(매개변수화 쿼리)
XSS (크로스 사이트 스크립팅)게시글 등에 악성 스크립트(<script>) 삽입열람하는 사용자의 웹 브라우저입출력 필터링 · HTML 엔티티 인코딩
CSRF (사이트 간 요청 위조)로그인된 사용자의 세션으로 위조 요청 전송서버의 권한 있는 상태 변경 기능CSRF 토큰 검증 · SameSite 쿠키 · 재인증
공개키 암호화 (RSA 등)공개키와 개인키 쌍을 사용하는 양방향 암호화네트워크 키 교환 · 전자서명암호화 키와 복호화 키가 서로 다름
해시 함수 (SHA-256 등)고정 길이 다이제스트를 만드는 일방향 함수비밀번호 저장 · 파일 무결성 검증복호화 불가 · 솔트(Salt) 결합 사용

직접 풀어보기

예제로 확인하기

01XSS와 CSRF 공격 시나리오 구분하기

시나리오 A: 공격자가 자유게시판 본문에 쿠키를 탈취하는 자바스크립트 코드를 몰래 적어 두었고, 이를 클릭해 읽은 다른 회원의 세션 쿠키가 공격자 서버로 전송되었습니다.
시나리오 B: 관리자가 은행 사이트에 로그인한 상태에서 공격자가 보낸 이메일 속 이미지 링크를 열었더니, 관리자 권한으로 비밀번호 변경 요청이 서버에 전달되었습니다.

시나리오 A와 시나리오 B는 각각 어떤 웹 취약점 공격인가요?

정답과 풀이 근거
A: XSS (Cross-Site Scripting), B: CSRF (Cross-Site Request Forgery)

피해자의 브라우저에서 악성 스크립트가 실행되면 XSS이고, 피해자의 로그인 세션을 이용해 서버로 위조된 상태 변경 요청이 전송되면 CSRF입니다.

02침해 사례로 정보보안 3요소(CIA) 찾기

공격자가 수많은 좀비 PC를 동원해 쇼핑몰 서버에 대량의 트래픽(DDoS)을 발생시켜 일반 고객들이 3시간 동안 쇼핑몰에 접속하지 못했습니다.

정보보안 3요소(기밀성·무결성·가용성) 중 무엇이 직접 침해된 사례인가요?

정답과 풀이 근거
가용성 (Availability)

인가된 사용자가 필요한 시점에 정보 시스템이나 서비스를 정상적으로 이용할 수 없게 만드는 서비스 거부 공격은 가용성 침해에 해당합니다.

마지막 점검

스스로 확인하기

답을 떠올린 뒤 해설을 펼쳐 보세요.

1인가되지 않은 사용자가 데이터를 몰래 변조하지 못하도록 보장하는 정보보안 요소는?
무결성 (Integrity)

기밀성은 비인가 열람 방지, 무결성은 비인가 변조 방지, 가용성은 서비스 중단 방지입니다.

2사용자 입력값이 SQL 쿼리 구문 자체로 해석되어 발생하는 공격은?
SQL 인젝션 (SQL Injection)

바인드 변수(Prepared Statement)를 적용해 입력값이 쿼리 구조를 바꾸지 못하게 막습니다.

3암호화할 때 쓰는 키(공개키)와 복호화할 때 쓰는 키(개인키)가 서로 다른 암호화 방식은?
공개키 암호화 (비대칭키 암호화)

RSA 등이 대표적이며, 대칭키 방식과 달리 비밀키를 사전에 공유할 필요가 없습니다.

4임의 길이 데이터를 고정 길이의 해시값(다이제스트)으로 바꾸는 일방향 함수로 비밀번호 저장에 쓰이는 기술은?
해시 함수 (Hash Function)

SHA-256 등이 대표적이며 복호화가 불가능한 단방향 특성과 충돌 저항성을 가집니다.

읽기에서 연습으로

이어서 연습하기

보안 3요소·취약점 카드 8장

개념 설명 → 핵심 용어. 본문과 연결된 8개 문항을 순서대로 확인합니다. 카드의 알아요·몰라요는 자기평가이며 같은 뜻의 다른 답도 해설과 비교해 주세요.

보안 3요소·취약점 카드 8장 시작

아래는 전체 세트의 첫 10개를 여는 넓은 범위 복습입니다. 위의 선별 연습과 시작 문항이 다를 수 있습니다.

전체 메뉴