glossary

용어 사전

CVE, CVSS, RCE, SSRF, XSS, SPF/DKIM/DMARC — 용어마다 한 줄 정답과 쉬운 설명을 함께 담았습니다.

2026-10-05

섀도 AI란? 회사가 파악하지 못한 AI 사용의 위험과, 조직·개인이 할 일

섀도 AI는 회사가 승인하지 않았거나 관리하지 않는 AI 도구(챗봇, AI 브라우저 확장, 코딩 어시스턴트, 회의록 AI, 업무 계정에 연결된 AI 에이전트)를 직원이 업무에 쓰는 것이다. 섀도 IT의 AI판이다. 주된 위험: 입력한 기밀·개인정보가 제공자에게 저장…

2026-09-05

백도어란: 공격자가 다시 들어오는 숨은 경로와 찾아내는 법

백도어는 공격자가 정상적인 인증을 우회해 다시 들어올 수 있도록 심어 둔 숨은 진입 경로입니다. 보통 최초 침입 뒤에 설치되어 한 번의 침입을 지속적인 접근으로 바꾸며, 오염된 의존성 안에 섞여 들어오기도 합니다. 정당한 원격 유지보수와의 차이는 누…

2026-07-04

GDPR란: EU의 개인 데이터 보호 규칙과, 유출 시의 통지 의무

GDPR(General Data Protection Regulation)은 EU 역내 사람들의 개인 데이터를 보호하는 EU의 포괄적 규칙으로, EU 이용자에게 서비스를 제공하는 EU 밖의 사업자에게도 미칠 수 있다. 적법한 근거(동의 등), 명확한 목적, 데이터 최소화, 본인의 권리(열람·…

2026-07-04

OWASP Top 10이란: 웹 앱에서 가장 중대한 10대 리스크의 표준 목록

OWASP Top 10은 비영리 단체 OWASP가 몇 년마다 공개하는 '웹 앱에서 가장 중대한 리스크' 목록으로, 개발자와 운영자의 공통 언어다. 최신 2025년판(2025년 11월 발표)도 1위는 접근 제어 미흡(Broken Access Control)이며, 보안 설정 오류가 2위로 올라섰고…

2026-07-04

PCI DSS란: 신용카드 정보를 다루기 위한 보안 기준

PCI DSS(Payment Card Industry Data Security Standard)는 카드 정보를 저장·처리·전송하는 사업자를 위한 국제 기준이다. 카드 브랜드가 정하며, 네트워크 보호, 저장 데이터 암호화, 최소 권한의 접근 제어, 모니터링·로그, 취약점 관리를 요구한다. 실무…

2026-07-04

공개키 암호란: 공개키와 개인키 쌍으로 암호화·서명하는 구조

공개키 암호='공개키(누구에게 나눠줘도 되는 것)'와 '개인키(본인만 가지는 것)'의 쌍을 사용하는 방식. 공개키로 암호화한 것은 대응하는 개인키로만 복호화할 수 있고, 개인키로 만든 서명은 공개키로 검증할 수 있다. 이 비대칭성이 TLS(HTTPS)의 키 교…

2026-07-02

악성코드란 — 종류, 감염 경로, 그리고 기본 방어

악성코드(Malicious Software)는 기기나 데이터에 해를 끼칠 목적으로 만들어진 악성 소프트웨어의 총칭입니다. 바이러스·웜·트로이 목마·랜섬웨어·스파이웨어·봇은 모두 그 일부입니다. 종류마다 겉모습은 달라도 방어는 공통된 세 가지 — 감염을 막고(업데…

2026-07-02

일회용 비밀번호(OTP)란? — TOTP/HOTP/SMS의 차이와 한계

일회용 비밀번호(OTP)는 한 번 쓰면 무효가 되는 짧은 수명의 일회성 코드다. 인증 앱의 TOTP(시간 기반), HOTP(카운터 기반), SMS-OTP가 있다. 고정 비밀번호의 유출·재사용에 강하고 2단계 인증의 '가지고 있는 것'으로 자주 쓰인다. 다만 중간자 피싱(AiTM…

2026-07-02

2단계 인증(2FA)이란? — 2단계 검증과의 차이와 방식별 강약

2단계 인증(2FA)은 '알고 있는 것(비밀번호)'에 '가지고 있는 것' 또는 '본인 자체'(코드, 키, 생체)라는 다른 범주의 증명을 더해 본인 확인을 강하게 하는 구조다. 2단계 검증(두 번 확인하지만 반드시 다른 범주는 아님)과는 엄밀히 다르다. 강도는 방식으…

2026-06-29

Let's Encrypt란 무엇인가 — HTTPS를 자동화하는 무료 인증 기관(CA)

Let's Encrypt는 무료의 자동화된 TLS 인증 기관(CA)입니다. ACME 프로토콜이 도메인 통제 여부를 자동으로 검증하므로 발급과 갱신이 모두 무인화됩니다. 인증서는 설계상 단기(90일)이며, 키 유출의 노출 기간을 줄이고 자동화를 강제하기 위함입니다. 현실…

2026-06-29

OpenSSL이란? HTTPS 암호화를 처리하는 라이브러리와 안전하게 유지하는 법

OpenSSL은 HTTPS(TLS/SSL)와 암호화를 떠받치는 오픈소스 라이브러리입니다. 대부분의 사람은 직접 작성하지 않고 웹 서버, OS, 언어 런타임을 통해 물려받습니다. 그래서 버그 하나의 영향 범위가 매우 넓습니다(Heartbleed가 전형적인 사례). 방어법은 자신…

2026-06-28

패스키란: 공개 키 로그인·피싱 저항·동기화의 차이

패스키는 개인 키의 서명으로 인증하고 로그인 서비스는 공개 키를 보관한다. 동기화 패스키는 암호화된 인증 정보를 기기 사이에 동기화할 수 있으며 기기 고정형은 동기화하지 않는다. MFA 여부는 요구되는 사용자 확인에 달려 있고 기기·동기화 계정·복구…

2026-06-27

비밀번호 해싱이란? 단방향 변환으로 비밀번호를 안전하게 저장하기

비밀번호 해싱은 비밀번호를 되돌릴 수 없는 단방향 변환으로 저장하는 것입니다. 평문으로 저장하지 마세요. 암호화와 달리 복호화해 되돌릴 수 없으며, 그것이 바로 목적입니다. 그러나 평범한 MD5/SHA-256은 레인보우 테이블과 무차별 대입에 무너집니다.…

2026-06-27

솔트란? 비밀번호를 해싱할 때 더하는 사용자별 무작위 값

솔트는 비밀번호를 해싱하기 전에 더하는 사용자별 무작위 값입니다. 그러면 같은 비밀번호도 사용자마다 다르게 저장되어, 미리 계산된 레인보우 테이블을 무력화하고 한 번의 크래킹으로 여러 계정을 깨는 것을 막습니다. 솔트는 비밀이 아니므로 해시와 함…

2026-06-13

피싱이란? 공격 유형과 알아채기보다 믿을 수 있는 방어법

피싱은 신뢰하는 상대를 사칭해 가짜 로그인 페이지로 유인하여 자격 증명이나 데이터를 훔치거나 악성코드를 실행시킵니다. 소프트웨어 결함이 아닌 사람의 판단을 노리며, 랜섬웨어와 정보 유출의 최대 진입 경로입니다. 현대의 중간자(AiTM) 피싱은 일회용…

2026-06-12

JWT(JSON Web Token)란? 서명된 토큰의 작동 원리와 안전하게 쓰는 법

JWT는 변조를 감지할 수 있도록 서버가 서명해 발급하는 토큰입니다. header.payload.signature 세 부분으로 이루어지며, 서버가 서명을 검증해 진위를 확인합니다. 주의: (1) 항상 서명을 검증하고 기대하는 alg를 고정(alg:none 거부); (2) 누구나 내용을…

2026-06-12

랜섬웨어란? 동작 원리, 침투 경로, 그리고 몸값을 내지 않는 법

랜섬웨어는 파일을 암호화하고 되돌려주는 대가로 지불을 요구하는 악성코드입니다. 현대의 공격은 이중 갈취를 더합니다 — 먼저 데이터를 훔치고 유출하겠다고 협박하므로, 복호화만으로는 침해가 멈추지 않습니다. 주요 진입 경로: 피싱, 약하거나 MFA가 없…

2026-06-11

BitLocker란: 분실·도난된 기기의 데이터를 지키는 Windows 디스크 암호화

BitLocker는 Windows에 내장된 디스크 암호화입니다. PC가 꺼져 있거나 드라이브가 분리된 상태의 데이터를 보호해, 도난·분실을 암호문으로 바꿉니다. 가장 주의할 점은 복구 키입니다. 잃어버리면 본인조차 잠겨 버립니다. 켜져 있고 로그인된 PC는 보호하…

2026-06-11

C2(명령 제어)란: 침해 후 공격자가 기기를 조종하는 통로

C2는 감염된 기기가 공격자 서버로 콜백(비콘)하여 명령을 받고 데이터를 빼내는 통로로, 침해 이후 단계입니다. 주된 단서는 의심스러운 주기적 아웃바운드 트래픽과 알려진 악성 목적지입니다. 방어: 이그레스 필터링, DNS 모니터링, IOC/IOA 대조, 최소 권…

2026-06-11

CORS란 — 작동 원리와 잘못된 설정이 노출하는 것

CORS는 다른 오리진의 JS가 내 API 응답을 읽을 수 있는지를 브라우저가 제어하는 방식입니다. 설정 오류 — 임의의 Origin 반사, 또는 자격 증명과 함께 Access-Control-Allow-Origin:* — 는 제3자 사이트가 로그인된 데이터를 읽게 합니다. 기본 방어: 허용…

2026-06-11

EDR이란: 엔드포인트의 활동을 기록해 안티바이러스를 통과한 공격을 탐지·대응하는 방식

EDR은 엔드포인트의 행위를 지속적으로 기록하고, 의심스러운 활동을 탐지(IOA 방식)하며, 대응(격리, 조사)을 돕습니다. 시그니처·IOC 기반 안티바이러스가 놓치는 파일리스·정상 도구 악용 공격을 행위와 타임라인으로 잡아냅니다. 소규모 팀은 풀 EDR이 필…

2026-06-11

IOA(Indicator of Attack)란: 흔적이 아니라 행위로 침해를 알아채기

IOA(Indicator of Attack)는 진행 중인 공격의 행위(권한 상승 → 측면 이동 → 탈취)로 침해를 알아챕니다. 사후의 IOC와 짝을 이루는 개념입니다. 공격자는 해시와 IP를 즉시 바꾸지만, 기법(행위)은 바꾸기 어려워 IOA는 더 오래 유효합니다. 소규모 팀도 '…

2026-06-11

IOC(Indicator of Compromise)란: 침해를 드러내는 흔적

IOC(Indicator of Compromise)는 침해가 남긴 흔적 — 알려진 악성 파일 해시, 공격자 IP/도메인, URL, 이상한 프로세스 — 입니다. 가치는 알려진 악성을 기계적으로 탐지·차단하는 것입니다. 하지만 공격자가 값싸게 바꿀 수 있는 사후적 단서이므로, IOC 대…

2026-06-11

세션 고정(Session Fixation)이란 — 공격자가 이미 아는 ID로 피해자를 로그인시키는 공격

세션 고정은 공격자가 아는 세션 ID를 피해자가 쓰게 만든 뒤, 그 ID로 로그인하면 피해자를 가장하는 공격입니다. 주된 방어법: 로그인 시(그리고 권한 변경 시) 세션 ID를 재생성하는 것. URL의 ID를 받지 말고, 쿠키에 HttpOnly/Secure/SameSite를 설정하…

2026-06-10

클릭재킹이란? 다른 페이지 위에 겹친 투명한 페이지의 버튼을 누르게 만드는 공격

클릭재킹은 진짜 사이트를 공격자 페이지 위에 투명하게 겹쳐, 사용자가 의도치 않은 행동(송금, 설정 변경, 동의)을 하게 만듭니다. 주된 방어는 프레임에 삽입되는 것을 거부하는 것으로, CSP frame-ancestors와 X-Frame-Options를 함께 씁니다.

2026-06-10

IDOR이란: ID를 바꾸면 다른 사람의 데이터가 보이는 결함

IDOR은 사용자가 ?id=124를 125로 바꿔 남의 청구서나 개인 데이터를 읽게 만드는 — 취약한 접근 제어입니다. 주된 방어: 매 접근마다 서버 측에서 로그인된 사용자가 이 객체에 권한이 있는지 검사하기. 추측하기 어려운 ID는 해결책이 아닙니다.

2026-06-10

오픈 리디렉션이란: 신뢰받는 URL에서 사용자를 다른 사이트로 넘겨 보내는 결함

오픈 리디렉션은 ?next= 형태의 파라미터가 사용자를 임의의 외부 사이트로 넘겨 보내, 신뢰받는 도메인을 피싱에 빌려주는 취약점입니다. 주된 방어법: 외부 URL을 리디렉션 대상으로 절대 받지 않고, 상대 경로와 허용 목록만 허용하는 것.

2026-06-10

경로 탐색(Path Traversal)이란 — ../ 로 서버가 절대 내주면 안 되는 파일을 읽는 취약점

경로 탐색은 파일명 입력에 ../ 를 섞어 기준 디렉터리를 빠져나가 .env, 설정, 키를 읽거나 쓰는 취약점입니다. 주된 방어법: 사용자 입력을 날것의 파일 경로로 절대 쓰지 말고, 정규화한 뒤 허용된 기준 디렉터리 안으로 가두는 것.

2026-06-08

CSRF(사이트 간 요청 위조)란: 로그인된 사용자가 의도하지 않은 요청을 보내게 만드는 공격

CSRF는 브라우저가 쿠키를 자동으로 붙이는 습성을 악용해, 로그인된 사용자의 브라우저가 의도치 않은 행동을 보내게 만듭니다. 주된 방어는 CSRF 토큰과 SameSite 쿠키입니다. 상태 변경에 GET을 절대 쓰지 마세요.

2026-06-08

SPF / DKIM / DMARC란: 도메인을 위장 메일로부터 지키는 세 가지 DNS 설정

SPF/DKIM/DMARC는 수신 측이 당신 도메인의 메일을 검증할 수 있게 하는 세 가지 DNS 설정입니다. SPF = 어느 서버가 보낼 수 있는가, DKIM = 암호학적 서명, DMARC = 정책과 보고서. 함께 쓰면 당신의 이름을 사칭한 위장을 막습니다. DMARC는 p=none에서 위…

2026-06-08

SQL 인젝션(SQLi)이란: 입력이 데이터베이스 명령을 바꿔 쓰게 되는 결함

SQLi는 입력이 데이터가 아니라 '명령의 일부'로 읽혀 쿼리의 의미를 바꾸는 취약점으로, 곧장 읽기/변경/삭제로 이어집니다. 주된 방어법은 SQL을 문자열로 이어 붙이기를 멈추고, 값을 플레이스홀더(프리페어드 스테이트먼트)로 넘기는 것입니다.

2026-06-08

XSS(Cross-Site Scripting)란: 공격자의 스크립트를 다른 사용자의 브라우저에서 실행시키는 결함

XSS는 공격자가 제공한 문자열을 다른 사용자의 브라우저에서 '스크립트로' 실행시켜, 곧장 세션 탈취와 가장으로 이어집니다. 주된 방어법은 출력 시 이스케이프입니다. 프레임워크의 자동 이스케이프를 끄지 마세요.

2026-06-07

CVE란? 공용 취약점 식별 체계의 작동 원리

CVE는 취약점에 부여되는 전 세계 공용 식별자입니다(예: CVE-2025-12345). CVE = 이름, CVSS = 심각도, KEV = 실제로 악용되는가. 모니터링의 기준점입니다. 손이 아니라 기계로 추적하세요.

2026-06-07

CVSS란? 취약점 심각도 점수와 그 계산 방식

CVSS는 심각도를 0.0–10.0으로 평가합니다. 점수는 정의된 지표(공격 벡터, 복잡도, 권한, 사용자 상호작용, 범위, CIA 영향)를 공개 공식으로 계산한 값이며 — 추측이 아닙니다. 기준을 알면 10.0이 무엇을 뜻하는지 읽을 수 있습니다. 그래도 우선순위는 KE…

2026-06-07

.env란 — 환경 파일이 유출되면 무슨 일이 일어나는가

.env는 앱의 시크릿(DB 인증, API 키, 암호화 키)을 담습니다. 키가 한 파일에 모여 있어, 노출되면 모든 시크릿이 한꺼번에 새어 나갑니다. 앱은 문서 루트 바깥에 두고, git에 절대 커밋하지 말며, 유출되면 전부 교체하세요.

2026-06-07

RCE(원격 코드 실행)란 — 왜 최악의 취약점 부류인가

RCE는 공격자가 당신의 서버에서 임의의 코드를 실행하게 합니다 — 곧장 장악으로 이어지는 최악의 부류입니다. 피해가 어디까지 퍼지는지는 실행 중인 프로세스의 권한으로 결정됩니다. 핵심 방어는 빠른 패치, CVE 모니터링, 최소 권한입니다.

2026-06-07

SSRF(Server-Side Request Forgery)란

SSRF는 외부 입력 URL을 악용해 서버가 내부 자원(내부 IP, 클라우드 메타데이터)에 접근하게 만듭니다. URL을 가져오는 기능이 있다면, 목적지 허용 목록, 내부 대상 차단, 그리고 리디렉션/DNS 리바인딩 우회에 대한 대책이 필요합니다. Capital One 침해의…